61
Vorlesung Kryptologie: Kapitel 1: Historische Chiffren von Peter Hellekalek Fachbereich Mathematik, Universit¨ at Salzburg Tel: +43-(0)662-8044-5310 Fax: +43-(0)662-8044-137 e-mail: [email protected] web: http://random.mat.sbg.ac.at/ Salzburg, 19. M¨ arz 2014

Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

Embed Size (px)

Citation preview

Page 1: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

Vorlesung Kryptologie:Kapitel 1: Historische Chiffren

von

Peter Hellekalek

Fachbereich Mathematik, Universitat Salzburg

Tel: +43-(0)662-8044-5310Fax: +43-(0)662-8044-137

e-mail: [email protected]: http://random.mat.sbg.ac.at/

Salzburg, 19. Marz 2014

Page 2: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

2

Page 3: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

Inhaltsverzeichnis

1 Grundlagen und historische Verfahren 5

1.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Verschiebeschiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4 Substitutionschiffre . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 Haufigkeitsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.6 Affine Chiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.7 Vigenerechiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.7.1 Der Kasiski-Test . . . . . . . . . . . . . . . . . . . . . . . 24

1.7.2 Der Friedman-Test . . . . . . . . . . . . . . . . . . . . . . 25

1.8 Hillchiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.9 Transpositionschiffren . . . . . . . . . . . . . . . . . . . . . . . . 33

1.10 Stromchiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

1.11 Einige Konzepte von Shannon . . . . . . . . . . . . . . . . . . . . 40

1.11.1 Perfekte Sicherheit . . . . . . . . . . . . . . . . . . . . . . 41

1.12 Zufallszahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3

Page 4: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

4 INHALTSVERZEICHNIS

Page 5: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

Kapitel 1

Grundlagen und historischeVerfahren

� InhaltIn diesem Kapitel klaren wir zunachst einige Begriffe und lernen dann beruhmteklassische Verfahren der Kryptographie kennen.

� ZielWir stellen zentrale Konzepte der Kryptographie an Hand klassischer Verfahrenvor. Auf den Erfahrungen, die man mit diesen Methoden im Laufe der Geschich-te machte, bauen die modernen kryptographischen Algorithmen auf.

� StichworterDie Stichworter zu diesem Kapitel lauten

• Verschlusselungsverfahren, Chiffre

• Casarchiffre und Verschiebechiffre

• Substitutionschiffre

• Haufigkeitsanalyse

• Vigenere- und Hillchiffre

• one-time pad

• Zufallszahlengeneratoren

� LiteraturDie folgenden Bucher sind besonders empfehlenswert.

Buchmann[Buc01], Ertel[Ert01], Stinson[Sti06], Trappe und Washington[TW06],Vaudenay[Vau06]

� Linkshttp://people.csail.mit.edu/rivest/crypto-security.html(Linksammlung von Ron Rivest; als Starthilfe gedacht)

5

Page 6: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

6 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

1.1 Einleitung

Seit der Antike ist die sichere Ubermittlung sensibler Daten eine Grundaufgabeder Gesellschaft. Bereits damals wurden Techniken ersonnen, um Nachrichtenzu verschlusseln und so deren Inhalt vor dem Gegner zu schutzen.

In der modernen Informationsgesellschaft besteht ein enormer Bedarf an si-cherem Datenaustausch, zum Beispiel beim Homebanking oder beim Online-Zahlungsverkehr, sowie bei der Gewahrleistung der Datenintegritat, etwa inZusammenhang mit der digitalen Signatur oder bei der elektronischen Uber-mittlung von Gesundheitsdaten.

Hinter dem kleinen Vorhangeschloss, das Sie in Ihrem Browser beim Aufruf vonbestimmten Seiten sehen, sowie bei den Zertifikaten zu diverser Software, dieSie in manchen Situationen uberprufen sollen, stehen mathematische Konzepte,die teilweise nicht alter als dreißig Jahre sind.

Von diesen modernen Konzepten und ihrer Vorgeschichte handelt diese Vorle-sung.

Bei diesen kryptographischen Vorgangen sind meist mehrere (Kommunikations-)Partner beteiligt, wie zum Beispiel der Sender und der Empfanger einer Nach-richt sowie ein fiktiver Angreifer. Es ist in der Kryptographie ublich, bei derBeschreibung derartiger Ablaufe den einzelnen Instanzen Namen zu geben.

Mit Alice und Bob werden die beiden Kommunikationspartner bezeichnet, dieverschlusselte und/oder signierte Nachrichten austauschen mochten. Eve be-zeichnet die dritte Partei, die dieses System attackiert und den Geheimtextoder die digitale Signatur knacken mochte. Manchmal wird dieser Gegner auchmit Mallory bezeichnet.

Eve besitzt mehrere Moglichkeiten, sich an der Kommunikation zwischen Aliceund Bob zu beteiligen:

1. unbefugtes Entschlusseln des Geheimtextes, z.B. durch Herausfinden desSchlussels,

2. unbefugtes Verandern des Geheimtextes auf eine Art, die Bob nicht er-kennen kann, und anschließendes Weitersenden an Bob,

3. Eve gibt sich Bob gegenuber als Alice aus und kommuniziert mit ihm,ohne dass er diesen Betrug merkt.

Es ist seit der Antike klar, dass die Schlussel fur die Ver- und Entschusselunggeheimer Botschaften moglichst sicher verwahrt werden mussen. Wie macht mandies auf einem Computer, angesichts von Bedrohungen wie Trojanern?

Wie ubermittelt man einen geheimen Schlussel uber das Internet, angesichts dervielen Moglichkeiten des Mitlauschens?

Wie verwaltet man große Netzwerke zum Austausch sicherer Nachrichten zwi-schen tausenden von Benutzern?

Dies sind einige der Aufgaben, die man mit der modernen Kryptographie zulosen versucht.

Page 7: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.2. DEFINITIONEN 7

Im folgenden Abschnitt legen wir die mathematischen Begriffe fest, mit denenwir kryptologische Prozesse beschreiben und analysieren werden.

1.2 Definitionen

1.1 Bemerkung (Ziele der Lehrveranstaltung)Die Ziele der Lehrveranstaltung lauten:

• Diskussion der grundlegenden kryptographischen Verfahren:

– historische Verfahren

– moderne symmetrische Verfahren (DES, AES)

– moderne asymmetrische Verfahren (RSA, DH, . . . )

– Hashfunktionen

• Hinweise auf das gesellschaftliche und technologische Umfeld:

– digitale Signatur

– e-commerce

– internet security

– cyber-warfare

1.2 Definition (Kryptologie)Kryptologie ist die Wissenschaft vom Geheimhalten von Information. Sie bie-tet Methoden an, sogenannte Geheimschriften, um die Vertraulichkeit von Da-ten sicherzustellen. Wir unterscheiden zwischen den folgenden Teilgebieten derKryptologie:

Kryptologie(Wissenschaft von der Geheimhaltung)

��� H

HHSteganographie

(versteckte Geheimschriften)eigentliche Kryptologie

(offene Geheimschriften)

��� HHH

Kryptographie Kryptanalyse

1.3 BemerkungIn dieser Vorlesung geht es fast ausschließlich um die eigentliche Kryptologie,und hier vor allem um die Kryptographie. Beispiele fur steganographische Ver-fahren gibt es seit der Antike (rasierte Schadel von Sklaven, Wachstafeln, etc.Genaueres in der Vorlesung). Effizientere Methoden sind unsichtbare Tinten,der Mikropunkt (Stichwort 2. Weltkrieg), sowie die modernen Verfahren, dieDaten in Bildern oder Sound- und Video-Dateien verstecken.� Link: http://www.jjtc.com/Steganography

Page 8: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

8 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

1.4 Definition (Verschlusselungsverfahren, engl.: cryptosystem)Unter einem Verschlusselungsverfahren oder Kryptosystem (oft auch kurz “Chif-fre”) verstehen wir ein Quintupel (P, C,K, E ,D) mit den folgenden Eigenschaf-ten:

1. P ist eine nichtleere endliche Menge und wird der Klartextraum genannt.Die Elemente von P heißen Klartextelemente (engl.: plaintext elements).

2. C ist eine nichtleere endliche Menge und wird der Chiffretextraum ge-nannt. Die Elemente von C heißen Chiffretextelemente (engl.: ciphertextelements). Oft sagt man auch: Geheimtextraum bzw. Geheimtextelemente

3. K ist eine nichtleere endliche Menge und wird der Schlusselraum genannt.Die Elemente von K heißen Schlussel (engl.: keys).

4. E = {ek : k ∈ K} ist eine Familie von Funktionen mit der Eigenschaft:

∀ k ∈ K : ek : P 7→ C injektiv.

Die Elemente von E heißen Verschlusselungsfunktionen (engl.: encryptionfunctions).

5. D = {dk : k ∈ K} ist eine Familie von Funktionen mit der Eigenschaft:

∃C′ ⊆ C : ∀ k ∈ K : dk : C′ 7→ P injektiv

Die Elemente von D heißen Entschlusselungsfunktionen (engl.: decryptionfunctions).

6. Es gilt folgende Beziehung zwischen den Elementen von E und D:

∀ k ∈ K ∃ k′ ∈ K ∀ c ∈ C′ : dk′ ◦ ek = idP , ek ◦ dk′ = idC′ .

1.5 BemerkungEin Klartextelement beziehungsweise ein Chiffretextelement kann aus einemeinzelnen Zeichen oder einem Zeichenblock bestehen, zum Beispiel:

1|0|1|0|0|1|1|0|1|1 . . . einzelne Zeichen01101010|0110110 . . . Zeichenblocke

Je nachdem, ob der Klartext nun Zeichen fur Zeichen oder blockweise ver-schlusselt wird, unterscheidet man zwischen Stromchiffren und Blockchiffren.

Bei der Klassifikation der Attacken auf ein kryptographisches System unter-scheidet man vier Grundformen:

1. Attacke nur mit Geheimtext: Eve besitzt nur einen Geheimtext und ver-sucht diesen zu entschlusseln.

2. Attacke mit bekanntem Klartext: Eve besitzt ein Stuck Geheimtext undden zugehorigen Klartext.

Page 9: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.3. VERSCHIEBESCHIFFRE 9

3. Attacke mittels wahlbarem Klartext: Eve erhalt fur begrenzte Zeit Zugangzum Verschlusselungsmechanismus. Sie kennt zwar den geheimen Schlusselnicht, kann aber die Klartexte frei wahlen. Aus den erhaltenen Klartext-Geheimtext-Paaren wird sie versuchen, den geheimen Schlussel herauszu-finden.

4. Attacke mittels wahlbarem Geheimtext: Eve erhalt fur begrenzte Zeit Zu-gang zum Entschlusselungsmechanismus. Sie kennt zwar den geheimenSchlussel nicht, kann aber die Geheimtexte frei wahlen. Aus den erhaltenenGeheimtext-Klartext-Paaren wird sie versuchen, den geheimen Schlusselherauszufinden.

1.3 Verschiebeschiffre

1.6 Beispiel (Verschiebechiffre)Wir identifizieren das Alphabet Σ = {a, b, c, . . . , x, y, z} mit der Menge derRestklassen modulo 26, Z26 = Z/26Z = {0, 1, . . . , 25}:

a↔ 0

b↔ 1...

z ↔ 25

Wir wahlen P = C = K = Z26 und definieren fur k ∈ K die folgenden Ver- undEntschlusselungsfunktionen:

ek(p) = p+ k

dk(c) = c− k

Hinweis: Beachten Sie, dass hier im Restklassenring (Z26,+, ·) gerechnet wird!

Das Quintupel (P, C,K, E ,D) ist ein Kryptosystem. Dazu ist nur zu zeigen:

∀ p ∈ P = Z26, ∀ k ∈ K = Z26 : dk(ek(p)) = (p+ k)− k = p.

1.7 Definition (Verschiebechiffre)Das Kryptosystem von Beispiel 1.6 heißt eine Verschiebechiffre.

1.8 BemerkungWir werden im Folgenden die Restklassen 0, 1, 2, . . . durch die Reprasentanten0, 1, 2, . . . ersetzen und an Stelle von Operationen wie

7 · 3 + 9 = 4

im Ring (Z26,+, ·) einfach modulare Arithmetik verwenden:

7 · 3 + 9 ≡ 4 (mod 26)

Also: Wir lassen die Querstriche weg, schreiben ≡ an Stelle von = und fugen(mod 26) an. Wenn dies zu umstandlich wird, Manchmal schreiben wir sogarnur 7 · 3 + 9 ≡ 4 (26).

Page 10: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

10 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

1.9 Bemerkung (Casar-Chiffre)Die spezielle Verschiebechiffre mit dem Schlussel k = 3 wird auf Grund ihrerGeschichte Casar-Chiffre genannt:

Klartext a v e c a e s a r . . .Zahlencode 0 21 4 2 0 4 18 0 17 . . .Schlussel 3 3 3 3 3 3 3 3 3 . . .Geheimtextcode 3 24 7 5 3 7 21 3 20 . . .Geheimtext D Y H F D H V D U . . .

1.10 Bemerkung (Sicherheit der Verschiebechiffre)Mit der Sicherheit der Verschiebechiffre ist es nicht weit her. Die Verschiebe-chiffre ist nicht sicher: durch Ausprobieren aller moglichen Schlussel konnen wirleicht auf den Klartext kommen.

1.11 Bemerkung (Allgemeine Sicherheitsaspekte)Bereits das einfache Beispiel der Verschiebechiffre zeigt einige grundlegende Tat-sachen auf:

1. Wenn der Schlusselraum zu klein ist, dann laßt sich das Verfahren schonmit Durchprobieren aller moglichen Schlussel knacken. Eine derartige bru-tale Methode heißt eine brute-force-Attacke.

� Erkenntnis: Wir mussen den Schlusselraum K moglichst groß machen.

2. Sender und Empfanger der Nachricht mussen bei derartigen Kryptosyste-men den gleichen Schlussel besitzen.

� Erkenntnis: Wir mussen den Schlussel auf einem sicheren Weg uber-mitteln (Kurier,. . . ) ubermitteln. Dies ist aufwandig.

3. Die Hintereinanderausfuhrung zweier Verschlusselungsfunktionen ergibtwieder eine Verschiebechiffre:

dk ◦ dl = dk+l (mod 26).

Man spricht in einem solchen Fall von der Gruppeneigenschaft des Chif-frierverfahrens.

� Erkenntnis Nochmalige Verschlusselung des Geheimtextes mit einerVerschiebechiffre erhoht die Sicherheit nicht.

1.4 Substitutionschiffre

1.12 Bemerkung (Permutationen)Sei S 6= ∅ eine beliebige endliche Menge und sei n = |S| die Anzahl der Elementein S. Eine Permutation von S ist eine bijektive Abbildung π : S 7→ S.

Jede Permutation von S kann in der Form

π =(

1 2 . . . nπ(1) π(2) . . . π(n)

)

Page 11: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.4. SUBSTITUTIONSCHIFFRE 11

geschrieben werden. Bezeichne Sn die Menge der Permutationen von S. Dannheißt Sn die symmetrische Gruppe (uber S), da –wie man leicht uberpruft– dasPaar (Sn, ◦) eine Gruppe bildet. Mit dem Symbol ◦ wird die Hintereinander-ausfuhrung von Funktionen bezeichnet. (Sn, ◦) ist fur n ≥ 3 nicht kommutativ.Dies ist am Beispiel der S3 (und damit fur alle n ≥ 3) leicht einzusehen.

Aus der diskreten Mathematik wissen wir, dass |Sn| = n! gilt.

1.13 BeispielWir betrachten den Fall n = 3 etwas genauer:

S3 ={ (

1 2 31 2 3

)︸ ︷︷ ︸

Identitat

auf {1, 2, 3}

,

(1 2 32 1 3

)︸ ︷︷ ︸

=:f

,

(1 2 32 3 1

)︸ ︷︷ ︸

=:g

, . . .

}

f ◦ g =(

1 2 31 3 2

)6=(

1 2 33 2 1

)= g ◦ f

g2 =(

1 2 33 1 2

)

f ◦ g2 =(

1 2 33 2 1

)= g ◦ f

Es gilt (nachrechnen!): S3 = {e, f, g, g2, f ◦ g, f ◦ g2}

Die Permutation π ∈ Sn heißt zyklisch, wenn es eine Teilmenge {i1, i2, . . . , ik}von S gibt mit

π(i1) = i2, π(i2) = i3, . . . π(ik) = i1

und die ubrigen Elemente von S fest bleiben. Man schreibt dann in der soge-nannten Zyklenschreibweise

π =(i1 i2 . . . ik

).

1.14 BeispielWir machen uns mit der Zyklenschreibweise vertraut:(

1 2 32 1 3

)=(1 2

)(

1 2 33 1 2

)=(1 3 2

)(

1 2 3 43 4 1 2

)=(1 3

) (2 4

)

Page 12: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

12 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Am Beispiel sehen wir, daß manche Permutationen ein Produkt von Zyklen sind,wobei diese Zyklen paarweise disjunkt sind. Diese Eigenschaft gilt ganz allge-mein, also fur beliebige Permutationen π ∈ Sn, n ∈ N.

1.15 Definition (Substitutionschiffre, Giovanni Battista Argenti, um 1580)Unter einer Substitutionschiffre versteht man ein Chiffriersystem der folgendenGestalt: sei P = C = Z26, sei K = S26 die Menge der Permutationen von26 Elementen, und seien die Verschlusselungs- und Entschlusselungsfunktionendefiniert durch

eπ(p) := π(p)

dπ(c) := π−1(c) (π ∈ S26)

1.16 Bemerkung (Kryptoanalyse der Substitutionschiffre)

1. Jedem Klartextelement p ist stets dasselbe Geheimtextelement c zugeord-net.

2. Gleiche Klartextblocke werden in gleiche Geheimtextblocke ubergefuhrt.

3. Die Hintereinanderausfuhrung von zwei Substitutionen steigert die Sicher-heit nicht. Sie ist gleichwertig zu einer einzigen Substitution, da (Sn, ◦)eine Gruppe bildet.

4. Auch wenn wir nur den Geheimtext kennen, also bei einer sogenanntenciphertext-only-Attacke, konnen wir uns bei ausreichend langen Textenauf statistische Methoden stutzen: Jedem Klartextelement ist ja stets dasgleiche Geheimtextelement zugeordnet.

Wir konnen daher in deutschen, englischen, . . . Texten rasch das Bild von–zum Beispiel– dem Buchstaben e unter der Substitution herausfinden unddann diese statistische Analyse fortsetzen, durch eine Haufigkeitsanalyseder Buchstaben, der Buchstabenpaare und der Buchstabentripel. Die sta-tistische Analyse langerer Tupel ist selten sinnvoll.

5. Wenn wir vermuten, daß im Klartext bestimmte Worter vorkommen (wiez.B. das Wort communication), dann fuhren wir eine sogenannte Muster-suche durch (siehe unten sowie die Bucher [Bau97, Sti06] fur ausfuhrlicheBeispiele).

6. Der große Schlusselraum K mit |K| = 26! ∼ 4 · 1026 bietet keinen aus-reichenden Schutz gegen das Brechen der Chiffre. Die Substitutionschiffrekann durch die beschriebene Haufigkeitsanalyse, verbunden mit einer Mu-stersuche, gebrochen werden.

� Erkenntnis: Große Schlusselraume sind fur die Sicherheit eines Chif-frierverfahrens notwendig, aber nicht hinreichend!

1.17 Beispiel Gegeben sei der folgende Geheimtext, von dem bekannt ist, dassder englische Klartext mit einer uns unbekannten Substitution erzeugt wurde(siehe Abbildung 1.1).

Durch die einfache Frequenzanalyse (Abbildung 1.2) erhalten wir eine erste Ver-mutung, wie der Buchstabe e verschlusselt wurde.

Page 13: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.4. SUBSTITUTIONSCHIFFRE 13

zhjeo ndize hicle osiol digic lmhzq zolyi zehdp zhjeo ndizehycdh hlpvs uczyc dhzhj eondi zehge moylk zhjpm lhylg gidizgizyd ppsdo lylzr losye nnmhz ydize hicle osceu lrloq lgyozvlgic lneol flhlo dpydg lzhuc zyciu eeone olzhj eondi zehgemoylg zhjpm lhyll dycei clogi dizgi zydpp siclq zolyi zehejiczgz hjpml hylzg lkaol gglqv sqzol yilqi odhgj eondi zehxmdhizi zlguc zycyd hehps vlqlo zrlqz jiclp duejy dmgdp ziszgevglo rlqqz gizhf mzgcz hficl ldopz loydm gljoe niclp diloljjlyi zhvze pefsd hqgey zepef syenn mhzyd izehi cleos gllngiecdr luzql daapz ydize hgqml ieicl jdyii cdipz rzhfv lzhfgdolvs iclzo dyize hggem oylge jzhje ondiz ehucz yczhj pmlhylldyc eiclo zhdpp aeggz vplqz olyiz ehgic laolg lhiad aloqlgyzvl gicly dglej vzqzo lyize hdpye nnmhz ydize hicle osdaapzlqi eiclg eyzdp vlcdr zemoe jneht lsg…

Abbildung 1.1: Der Geheimtext.

a b c d e f g h i j k l m n o p q r s t u v w x y z

20

40

60

80

Abbildung 1.2: Haufigkeiten im Geheimtext.

Page 14: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

14 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

p eeπ(p) l

Wir haben Grund zur Annahme, dass in diesem englischen Klartext das Wort“communication” vorkommt. Diese Information wird uns eine wichtige Hilfebeim Entschlusseln sein, wie sich gleich zeigen wird.

“communication” ist ein String der Lange 13 mit folgenden Eigenschaften:

1. = 8. Buchstabe2. = 12. Buchstabe3. = 4. Buchstabe6. = 13. Buchstabe7. = 11. Buchstabe

Wir fuhren nun im Geheimtext eine Mustersuche durch, indem wir alle Stringsmit dieser kombinatorischen Eigenschaft (1.=8. Buchstabe, 2.=12. Buchstabe,usw.) suchen. Durch Vergleich mit den entsprechenden Geheimtextstellen er-kennen wir:

p c o m u n i a teπ(p) y e n m h z d i

Wir erhalten damit folgenden partiell entschlusselten Text

I N O M A T I O N T E O T E A T T E

U N I I E C T I O N A I N O M A T I O N

C A N N E I C A N I N O M A T I

O N O U C E I N U E N C E T A T I

T I C A A E C E I E C O M M U N I

C A T I O N T E O O E E E C I

E T E M O E E N E A C A E I N I

C T O O M O E I N O M A T I O N O

U C E I N U E N C E E A C O T E T A

T I T I C A T E I E C T I O N O T

I I N U E N C E I E E E I E C T

E T A N O M A T I O N U A N T I T I

E I C C A N O N E E I E I T E

A O C A U A I T I O E E I T I N

U I I N T E E A I E C A U E O M T E

A T E E E C T I N I O O A N O C I O

O C O M M U N I C A T I O N T E O E

E M T O A E I E A I C A T I O N

U E T O T E A C T T A T I I N E I N

A E T E I A C T I O N O U C E O

I N O M A T I O N I C I N U E N C E

E A C O T E I N A O I E I E C T

I O N T E E E N T A E E C I E T

E C A E O I I E C T I O N A C O M M U N

I C A T I O N T E O A I E T O T E

O C I A E A I O U O M O N

Mit ein bisschen zusatzlichem Aufwand gelingt es schließlich, den Geheimtextkomplett zu entschlusseln. Wir geben den Schlussel an:

Page 15: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.5. HAUFIGKEITSANALYSE 15

a b c d e f g h i j k l m n o p q r s t u v w x y z� � � � � � � � � � � � � � � � � � � � � � � � � �d v y q l j f c z w t p n h e a x o g i m r u k s b

Abbildung 1.3: Der Schlussel.

1.5 Haufigkeitsanalyse

Wir haben bereits in Zusammenhang mit der Substitutionschiffre gesehen, dasseine Haufigkeitsanalyse sehr wirkungsvoll sein kann. In diesem Abschnitt gebenwir einige Beispiele fur diese Anwendung statistischer Methoden.

In den ersten Graphiken prasentieren wir die Buchstabenhaufigkeiten der deut-schen Sprache. Naturlich kann in einzelnen Texten die Verteilung der Haufigkeitenvon diesen gemittelten Werten abweichen.

a 0.0647 n 0.0984b 0.0193 o 0.0298c 0.0268 p 0.0096d 0.0483 q 0.0002e 0.1748 r 0.0754f 0.0165 s 0.0683g 0.0306 t 0.0613h 0.0423 u 0.0417i 0.0773 v 0.0094j 0.0027 w 0.0148k 0.0146 x 0.0004l 0.0349 y 0.0008m 0.0258 z 0.0114

Abbildung 1.4: Buchstabenhaufigkeiten im Deutschen, in Zahlen

Wir ordnen die Buchstaben nach ihrer Haufigkeit, beginnend mit dem haufigstenBuchstaben:

Wenn wir die Haufigkeiten alphabetisch ordnen, dann erhalten wir die folgendeGraphik:

Eine wichtige Rolle spielt die Analyse der Paarhaufigkeiten, denn schließlichtritt nicht jedes mogliche Paar von Buchstaben auf und unter jenen Paaren,die im Deutschen vorkommen, sind manche haufig anzutreffen und manche sindsehr selten. Wir geben die zehn haufigsten Paare an:

Dieselbe Art von Haufigkeitsanalyse kann man auch fur die Tripel durchfuhren:

Zwei Beispiele aus der Literatur (J. W. von Goethe: Iphigenie auf Tauris undHugo von Hofmannsthal: Reitergeschichte):

Die kleinen Unterschiede in den Haufigkeitsverteilungen sind deutlich zu erken-nen. Ganz ahnliche Aussagen erhalt man fur englische Texte und viele andere

Page 16: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

16 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

enirsatdhulgocmbfwkzpvjyxq

0.025

0.05

0.075

0.1

0.125

0.15

0.175

Abbildung 1.5: Buchstabenhaufigkeiten im Deutschen

abcdefghijklmnopqrstuvwxyz

0.025

0.05

0.075

0.1

0.125

0.15

0.175

Abbildung 1.6: Buchstabenhaufigkeiten im Deutschen

Sprachen.

In der Kryptanalyse geht man wesentlich mehr auf die Details einer Sprache ein,als wir es hier getan haben. Es wird dann zwischen verschiedenen Texttypenunterschieden, wie etwa militarischen Nachrichten, wissenschaftlichen Textenoder diplomatischen Mitteilungen, da sich zwischen all diesen Typen von Textendie Haufigkeitsverteilungen etwas andern. Geheimdienste verfugen seit langemuber umfangreiches Datenmaterial, um diese Art von Analyse durchfuhren zukonnen.

1.18 Bemerkung (Project Gutenberg)Project Gutenberg ist die erste und umfassendste Sammlung freier elektroni-scher Bucher. Ahnlich wie bei Wikipedia, so haben auch hier viele freiwilligeHelfer eine wichtige Informationsquelle fur die Allgemeinheit geschaffen.

Mit Hilfe der im Project Gutenberg verfugbaren Literatur konnen Sie selbstumfangreiche Textanalysen durchfuhren.

� Link: http://www.gutenberg.org

Page 17: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.6. AFFINE CHIFFRE 17

er 0.0409en 0.0400ch 0.0242de 0.0227ei 0.0193nd 0.0187te 0.0185in 0.0168ie 0.0163ge 0.0147

Abbildung 1.7: Die zehn haufigsten Paare im Deutschen

er en ch de ei nd te in ie ge

0.01

0.02

0.03

0.04

Abbildung 1.8: Die zehn haufigsten Paare im Deutschen

1.6 Affine Chiffre

Die Verschlusselungsfunktionen x 7→ x + b der Verschiebechiffre sind spezielleaffine Funktionen auf Z26. Die allgemeine Form einer affinen Funktion von Z26

in sich ist x 7→ a · x+ b, a, b ∈ Z26.

1.19 BeispielSei P = C = Z26. Fur welche Elemente a, b ∈ Z26 ist die Abbildung

x 7→ a · x+ b (x ∈ Z26)

eine injektive Abbildung?

Wir merken an, dass fur Abbildungen einer endliche Menge in sich die folgendeBeziehung gilt:

bijektiv ⇔ injektiv ⇔ surjektiv.

Page 18: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

18 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

einichndedieunddercheendgensch

0.002

0.004

0.006

0.008

0.01

0.012

Abbildung 1.9: Die zehn haufigsten Tripel im Deutschen

Daher ist klar, dass unsere Frage eine Frage nach den Bedingungen fur dieBijektivitat ist. Die Abbildung

y 7→ y + b (y ∈ Z26)

ist offensichtlich eine bijektive Abbildung auf Z26. Daher mussen wir nur nochuntersuchen, wann

x 7→ a · x (x ∈ Z26)

bijektiv auf Z26 ist.

Wegen der oben angesprochenen Aquivalenz zwischen injektiv, surjektiv undbijektiv untersuchen wir die Surjektivitat von x 7→ a · x:

x 7→ a · x ist surjektiv⇔ ∀ c ∈ Z26 : ∃ x mit a · x = c

⇔ ∀ c ∈ Z : ∃ x ∈ Z mit a · x ≡ c (mod 26)⇔ die Losbarkeitsbedingung muss fur alle c gelten⇔ (a, 26) = 1

Die Abbildung x 7→ a ·x+b, x ∈ Z26, ist eine Permutation von Z26 genau dann,wenn (a, 26) = 1. Sei nun

K = {(a, b) : (a, 26) = 1, b beliebig},

sei e(a,b) : P → C die Verschlusselungsfunktion zum Schlussel k = (a, b),

e(a,b)(p) = a · p+ b (a, b) ∈ K.

Die zugehorige Dechiffrierfunktion d(a,b) : C → P lautet:

d(a,b)(c) := a −1 · (c− b).

Page 19: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.6. AFFINE CHIFFRE 19

abcdefghijklmnopqrstuvwxyz

0.025

0.05

0.075

0.1

0.125

0.15

0.175

abcdefghijklmnopqrstuvwxyz

0.025

0.05

0.075

0.1

0.125

0.15

0.175

Abbildung 1.10: J. W. von Goethe und Hugo von Hofmannsthal

1.20 Definition (Affine Chiffre)Diese Chiffre heißt eine affine Chiffre.

1.21 Bemerkung

1. Die affine Chiffre ist ein Spezialfall der Substitutionschiffre.

2. Fur den Schlusselraum gilt:

|{a ∈ Z26 : (a, 26) = 1}| = ϕ(26) = 12.

Es folgt:|K| = ϕ(26) · 26 = 12 · 26 = 312.

3. Die Verschiebechiffre ist ein Spezialfall der affinen Chiffre, hier ist a = 1.

1.22 BeispielWir betrachten das Beispiel (a, b) = (15, 3). Die Verschlusselungsfunktion e(15,3)

Page 20: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

20 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

zum Schlussel k = (15, 3) lautet:

e(15,3) : p 7→ 15 · p+ 3

Die Entschlusselungsfunktion d(15,3) lautet:

d(15,3)(c) = 7 · (c− 3)

Diese Entschlusselungsfunktion wurde auf folgende Weise gefunden. Wir be-trachten als Erstes

15 · x = 115 · x ≡ 1 (mod 26) .

Fur die Losung dieser linearen Kongruenz untersuchen wir die linear diophan-tische Gleichung

15 · x+ 26 · y = 1.

Die Losbarkeitsbedingung dieser Gleichung lautet

(15, 26) = (3 · 5, 2 · 13) = 1.

Wir wenden den Euklidschen Algorithmus an, um eine Losung dieser Gleichungzu finden:

26 = 1 · 15 + 1115 = 1 · 11 + 411 = 2 · 4 + 34 = 1 · 3 + 13 = 3 · 1

1 = 4− 3= 4− (11− 2 · 4)= 3 · 4− 11= 3 · (15− 11)− 11= 15 · 3− 4 · 11= 15 · 3− 4 · (26− 15)= 15 · 7 + 26 · (−4)

Die modulo 26 eindeutige Losung der linearen Kongruenz 15 · x ≡ 1 (mod 26)lautet daher

x ≡ 7 (mod 26) .

1.23 Bemerkung (Kryptanalyse zur affinen Chiffre)Wir wissen, daß es sich um eine affine Chiffre handelt und mussen aus demGeheimtext den Schlussel (a, b) bestimmen. Auf Grund des Studiums der Haufig-keitsverteilungen vermuten wir

e 7→ L und i 7→ T(4 7→ 11) (8 7→ 19)

Wir erhalten zwei Gleichungen:

a · 4 + b = 11

a · 8 + b = 19

Als Kongruenzen geschrieben:

a · 4 + b ≡ 11 (mod 26)a · 8 + b ≡ 19 (mod 26)

Page 21: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.7. VIGENERECHIFFRE 21

⇒ 4 · a ≡ 8 (mod 26)⇒ 2 · a ≡ 4 (mod 13)⇒ a ≡ 2 (mod 13)

Kandidaten fur a ∈ Z26 sind daher die Restklassen 2 und 15. Wegen (2, 26) =2 6= 1 fallt der Kandidat a = 2 weg, wegen (15, 26) = 1 folgern wir, dass a = 15und somit b = 3 gilt. Damit lautet der gesuchte Schlussel

(a, b) = (15, 3).

1.24 Bemerkung (Sicherheitsaspekte)Die Linearitat der affinen Chiffre hat es uns ermoglicht, durch einfaches Glei-chungslosen das System zu knacken. Allgemein gilt in der Kryptographie dasPrinzip, dass lineare Verfahren durch das Losen linearer Gleichungssysteme ge-brochen werden konnen. Kennen wir das Bild von n linear unabhangigen Ele-menten unter der Verschlusselungsfunktion, so kennen wir die Funktion zurGanze (wenn die lineare Abbildung auf einem Vektorraum der Dimension nwirkt).

� Erkenntnis: Linearitat der Chiffre ist gefahrlich, wir benotigen nichtlineareVerfahren.

1.7 Vigenerechiffre

Das Grundubel der Substitutionschiffre ist die Tatsache, dass jedem Klartext-element genau ein Geheimtextelement zugeordnet wird und diese Zuordnungwahrend der Verschlusselung konstant bleibt. Daher reicht eine recht einfachestatistische Analyse aus, um solche Chiffren zu knacken.

Einen großen Fortschritt bei diesem Problem bedeutete die Vigenere-Chiffre,bei der die Haufigkeiten verschleiert werden.

1.25 Definition (Vigenere-Chiffre, ca. 16. Jahrhundert)Fur ein festes m ∈ N sei P = C = K = Zm26. Die Ver- und Entschlusselungsfunk-tionen seien wie folgt definiert:

ek(p) = p+ k = (p1 + k1, p2 + k2, . . . , pm + km),dk(c) = c− k = (c1 − k1, c2 − k2, . . . , cm − km),

wobei p = (p1, . . . , pm) ∈ P, c = (c1, . . . , cm) ∈ C und k = (k1, . . . , km) ∈ K.Das Tupel (P, C,K, E ,D) heißt eine Vigenere-Chiffre.

Die Verschlusselung wird in der Praxis mit Hilfe des Vigenere-Quadrates durch-gefuhrt.

Dabei geht man wie folgt vor. Man schreibt als Erstes unter den Klartext denSchlussel. Der Schlussel wird sooft wiederholt, wie der Klartext lang ist.

a n d e n v o r s t a n d d e r d e u . . .m o n e y m o n e y m o n e y m o n e . . .

Page 22: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

22 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

0 a b c d e f g h i j k l m n o p q r s t u v w x y z1 b c d e f g h i j k l m n o p q r s t u v w x y z a2 c d e f g h i j k l m n o p q r s t u v w x y z a b3 d e f g h i j k l m n o p q r s t u v w x y z a b c4 e f g h i j k l m n o p q r s t u v w x y z a b c d5 f g h i j k l m n o p q r s t u v w x y z a b c d e6 g h i j k l m n o p q r s t u v w x y z a b c d e f7 h i j k l m n o p q r s t u v w x y z a b c d e f g8 i j k l m n o p q r s t u v w x y z a b c d e f g h9 j k l m n o p q r s t u v w x y z a b c d e f g h i10 k l m n o p q r s t u v w x y z a b c d e f g h i j11 l m n o p q r s t u v w x y z a b c d e f g h i j k12 m n o p q r s t u v w x y z a b c d e f g h i j k l13 n o p q r s t u v w x y z a b c d e f g h i j k l m14 o p q r s t u v w x y z a b c d e f g h i j k l m n15 p q r s t u v w x y z a b c d e f g h i j k l m n o16 q r s t u v w x y z a b c d e f g h i j k l m n o p17 r s t u v w x y z a b c d e f g h i j k l m n o p q18 s t u v w x y z a b c d e f g h i j k l m n o p q r19 t u v w x y z a b c d e f g h i j k l m n o p q r s20 u v w x y z a b c d e f g h i j k l m n o p q r s t21 v w x y z a b c d e f g h i j k l m n o p q r s t u22 w x y z a b c d e f g h i j k l m n o p q r s t u v23 x y z a b c d e f g h i j k l m n o p q r s t u v w24 y z a b c d e f g h i j k l m n o p q r s t u v w x25 z a b c d e f g h i j k l m n o p q r s t u v w x y

Abbildung 1.11: Das Vigenere-Quadrat

Als nachstes wird der Klartext Zeichen fur Zeichen verschlusselt. Man suchtim Vigenere-Quadrat jene Spalte auf, die mit dem Klartextbuchstaben beginnt.Dann sucht man jene Zeile auf, die mit dem Schlusselbuchstaben beginnt. AmKreuzungspunkt von Zeile und Spalte findet man den zugeordneten Geheim-textbuchstaben.

In unserem Beispiel ergibt sich der folgende Geheimtext:

a n d e n v o r s t a n d d e r d e u . . .m o n e y m o n e y m o n e y m o n e . . .M B Q I L H C E W R M B Q H C D R R Y . . .

1.26 Bemerkung

1. Die Vigenere-Chiffre ist eine polyalphabetische Chiffre: ein Buchstabedes Klartextes wird in verschiedene Geheimtextbuchstaben ubergefuhrt.Damit wird die Haufigkeitsanalyse wesentlich erschwert.

(In Gegensatz dazu wird bei einer monoalphabetischen Chiffre jedemKlartextbuchstaben ist genau ein Geheimtextbuchstabe zugeordnet. Eintypisches Beispiel fur monoalphabetische Chiffren ist die Substitutions-chiffre)

2. Wie wir an den Beispielen zur Vigenere-Chiffre sehen, werden die Struk-turen im Klartext (wie Haufigkeiten, Muster, . . . ) umso besser zerstort, je

Page 23: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.7. VIGENERECHIFFRE 23

langer die Schlusselphrase ist. In Zusammenhang mit Stromchiffren wer-den wir auf den Einfluß des Schlusselwortes auf die Haufigkeitsverteilungenim Klartext zuruckkommen (siehe Kapitel 1.10).

Wir untersuchen nun an einem Beispiel, wie sich die Haufigkeitsverteilung andert,wenn wir mit dem (relativ kurzen aber doch recht “zufalligen”) Schlusselworthellekalek einen langeren Text verschlusseln.

Als Erstes die Haufigkeitsverteilung des Klartextes. Wir haben die Haufigkeitenalphabetisch geordnet, es ergibt sich folgende Graphik (Text: J. W. von Goethe,Iphigenie auf Tauris; siehe auch Abbildung 1.10):

abcdefghijklmnopqrstuvwxyz

0.025

0.05

0.075

0.1

0.125

0.15

0.175

Abbildung 1.12: Buchstabenhaufigkeiten im Klartext

Im Vergleich dazu andert sich die Haufigkeitsverteilung im Geheimtext drama-tisch, siehe Abbildung 1.13.

abcdefghijklmnopqrstuvwxyz

0.01

0.02

0.03

0.04

Abbildung 1.13: Buchstabenhaufigkeiten im Geheimtext

Die Kryptanalyse mittels Haufigkeitsverteilungen, die bei der Substitutionschif-fre so hilfreich war, versagt hier. Dieser Effekt ist aber beabsichtigt! Nicht nur beiden einzelnen Geheimtextbuchstaben wurde die Haufigkeitsverteilung deutlich

Page 24: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

24 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

sichtbar eingeebnet, sondern auch bei den Paaren und Tripeln im Geheimtext,siehe Abbildung 1.14.

mi te yn yf xd wp kk ia dw cb

0.001

0.002

0.003

0.004

ynluxwsdvqqpmuijfuianhmodwfaqd

0.0002

0.0004

0.0006

0.0008

0.001

Abbildung 1.14: Paare und Tripel im Geheimtext

Es ist damit klar, dass die Vigenerechiffre ihre Aufgabe, namlich die Haufigkeiteneinzuebnen, sehr gut erfullt (siehe Abbildung 1.8 und 1.9 fur die Verteilungenbei Klartexten).

In der Kryptoanalyse der Vigenerechiffre gab es zwei wichtige Schritte, die Ideevon Kasiski (1863), eine kombinatorische Uberlegung, und das Konzept des Ko-inzidenzindex von Friedman (1920), ein sehr weitreichender statistischer Ansatz.

1.7.1 Der Kasiski-Test

Die Idee von Kasiski beruht auf der folgenden Beobachtung. Bei langeren Klar-texten werden sich manche Buchstabenblocke wiederholen. Wird ein kurzesSchlusselwort verwendet, so kann es relativ leicht passieren, dass unter dem glei-chen Buchstabenblock der gleiche Block des Schlusselwortes zu liegen kommt.Man spricht in einem solchen Fall von Parallelstellen im Geheimtext. In einemsolchen Fall gilt daher:

Page 25: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.7. VIGENERECHIFFRE 25

• die entsprechenden Geheimtextblocke sind gleich.

• der Abstand zwischen diesen Parallelstellen ist ein Vielfaches der Langedes Schlusselwortes.

In unserem Beispiel tritt dieses Phanomen ebenfalls auf:

a n d e n v o r s t a n d d e r d e u . . .m o n e y m o n e y m o n e y m o n e . . .M B Q I L H C E W R M B Q H C D R R Y . . .

Der Klartextblock “a n” tritt im Abstand von 10 Zeichen wieder auf. Dies istnoch nichts Ungewohnliches. Was aber die Attacke erleichtert, ist die Tatsa-che, dass sich der Schlusselblock “m o” ebenfalls im Abstand von 10 Zeichenwiederholt. Daher sind die so entstehenden Geheimtextblocke gleich.

Beim sogenannten Kasiskitest geht man wie folgt vor:

1. Man sucht mehrere Parallelstellen im Geheimtext und bestimmt derenAbstande. Auf diese Weise erhalt man mehrere naturliche Zahlen.

2. Man bestimmt fur jede dieser Zahlen die Primfaktorzerlegung.

3. Man berechnet den großten gemeinsamen Teiler d dieser Zahlen.

Mit etwas Gluck ist die Lange des Schlusselwortes ein Teiler von d. Erschwertwird diese Schatzung der Schlusselwortlange durch die Tatsache, dass Parallel-stellen im Geheimtext auch zufallig entstehen und daher ihr Abstand nichts mitder Schlusselwortlange zu tun haben muss. Manchmal benotigt man also vielGluck fur den Erfolg dieser Attacke (siehe dazu Bauer[Bau97] fur illustrativeBeispiele zum Kasiskitest).

Was ist damit gewonnen, wenn wir die Lange des Schlusselwortes herausgefun-den haben? Sehr viel, denn wenn L die Schlusselwortlange ist, dann sind dieBuchstaben p1, pL+1, p2L+1, . . . des Klartextes alle mit demselben Buchstabendes Schlusselwortes verschlusselt worden. Mit anderen Worten, die Teilfolge c1,cL+1, c2L+1, . . . des Geheimtextes ist das Ergebnis einer Verschiebechiffre. MitHilfe einer Haufigkeitsanalyse ist der unbekannte Schlusselbuchstabe dann zubestimmen.

Mit Hilfe der Teilfolge c2, cL+2, c2L+2, . . . bestimmen wir dann den zweitenBuchstaben des Schlussels, und so weiter, bis alle L Buchstaben des Schlussel-wortes bekannt sind. Damit konnen wir dann den Geheimtext leicht entschlusseln.

1.7.2 Der Friedman-Test

Der Friedman-Test ist ein wesentlich grosserer Schritt in der Entwicklung derKryptoanalyse als der Kasiski-Test. Er geht auf einen der beruhmtesten Kryp-toanalytiker der Geschichte zuruck, den Amerikaner William F. Friedman.

1.27 Definition (Kappa-Wert)Seien a0, . . . , am−1 die m Buchstaben des Alphabets einer bestimmten Spra-che (Deutsch, Englisch, . . . ) und seien p0, . . . , pm−1 die zugehorigen relativenHaufigkeiten der m Buchstaben in dieser Sprache.

Page 26: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

26 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Dann versteht man unter dem Kappa-Wert (in Symbolen: κ) dieser Sprache dieZahl

κ =m−1∑i=0

p2i . (1.1)

1.28 BeispielDie Kappa-Werte einiger Sprachen:

Sprache ] Buchstaben κ

Arabisch 28 0.076Deutsch 26 0.076Englisch 26 0.066Franzosisch 26 0.076Russisch 33 0.056Schwedisch 29 0.064

Interessanterweise variieren die in der Literatur angegebenen κ-Werte. Die Un-terschiede beschranken sich auf die dritte Dezimalstelle. So wird in einigenBuchern der κ-Wert des Russischen mit 0.056, in anderen mit 0.053 angege-ben.

1.29 BemerkungWenn m = 26 Buchstaben gleichverteilt sind, so gilt fur den zugehorigen κ-Wert:

κ =25∑i=0

(126

)2

=126≈ 0.038

1.30 BemerkungEs ist offensichtlich, dass der κ-Wert fur m gleichverteilte Buchstaben gleich1/m ist. Wir interessieren uns nun dafur, welche Werte der κ-Wert uberhauptannehmen kann.

1.31 Bemerkung (Interpretation des κ-Wertes)Wir konnen uns den κ-Wert einer Sprache an Hand eines Urnenmodells veran-schaulichen. Der κ-Wert gibt jene Wahrscheinlichkeit an, mit welcher wir beimzweimaligen Ziehen mit Zurucklegen zwei gleichfarbige Kugeln (d.h. zwei gleicheBuchstaben) aus einer großen Grundgesamtheit ziehen.

In Zusammenhang mit einer Quadratsumme der Gestalt, wie sie in der Definitiondes κ-Wertes auftritt, fragen wir nach oberen und unteren Schranken. Wenn wireine obere und eine untere Schranke angeben konnen, dann interessieren wir unsfur jene Falle, in denen diese Schranken angenommen werden. Es gilt folgenderSatz.

1.32 SatzSei m ∈ N, m ≥ 2, und sei (p0, p1, . . . , pm−1) eine Wahrscheinlichkeitsverteilung.Dann gilt:

Page 27: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.7. VIGENERECHIFFRE 27

1. Eine allgemeine Ungleichung

1m≤m−1∑i=0

p2i ≤ 1.

2. Die linke Schranke wird genau im Fall der Gleichverteilung (1/m, . . . , 1/m)angenommen.

3. Die rechte Schranke wird genau dann angenommen, wenn es sich um einePunktverteilung (0, . . . , 0, 1, 0, . . . , 0) handelt.

Beweis. Die Behauptungen folgen aus den nachstehenden Darstellungen furdie Quadratsumme:

m−1∑i=0

p2i =

1m

+m−1∑i=0

(pi −

1m

)2

=m−1∑i=0

pi −m−1∑i=0

pi(1− pi) = 1−m−1∑i=0

pi(1− pi)

2

Fur einen gegebenen Geheimtext stellen sich zwei Fragen,

• Handelt es sich um eine monoalphabetische oder um eine polyalphabeti-sche Verschlusselung nach Vigenere?

• Wenn es sich um eine polyalphabetische Verschlusselung nach Vigenerehandelt, wie lange ist das Schlusselwort?

Bei der Beantwortung beider Fragen kann uns der κ-Wert helfen. Sei der Ge-heimtext c gegeben und sei die Sprache, in welcher der Klartext p geschriebenwurde, bekannt.

Wenn es sich um eine monoalphabetische Verschlusselung handelt, dann wirddie Summe der relativen Haufigkeiten, mit denen die 26 Buchstabenpaare aa,bb, . . . zz im Geheimtext c auftreten, nahe beim κ-Wert der Sprache liegen.

Wenn es sich um eine polyalphabetische Verschlusselung (nach Vigenere) han-delt, dann wird die Summe der relativen Haufigkeiten, mit denen diese 26 Buch-stabenpaare in c auftreten, vermutlich deutlich geringer als der κ-Wert der Spra-che sein, da die polyalphabetische Verschlusselung die Haufigkeitsverteilung derBuchstaben im Geheimtext c einebnet und wir daher in die Nahe der Gleichver-teilung kommen.

Wir beachten bei dieser Argumentation, dass der κ-Wert der deutschen Sprache0.076 betragt und der κ-Wert der Gleichverteilung mit 0.038 wesentlich kleinerist. Dieser deutliche Unterschied in den beiden κ-Werten ist die Grundlage furden Erfolg dieser Methode.

In der Sprache der mathematischen Statistik handelt es sich hier um einen Hy-pothesentest. Die Nullhypothese H0 besagt, dass der Geheimtext mit einem

Page 28: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

28 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

monoalphabetischen Verfahren erzeugt wurde. Die Alternativhypothese H1 ist,dass ein polyalphabetisches Verfahren die Quelle des Geheimtextes ist. Wir be-rechnen aus dem Geheimtext einen Schatzwert. Je nach Große des Schatzwertesakzeptieren wir H0 oder lehnen H0 ab.

Zur Durchfuhrung dieses Hypothesentests benotigen wir eine geeignete Schatz-funktion. Dieser Punktschatzer soll ein erwartungstreuer Schatzer fur den unbe-kannten Parameter κ sein. Weiters interessiert uns die Varianz dieses Schatzers.

Dieser Ansatz wurde von Friedman wie folgt prazisiert.

1.33 Definition (Koinzidenzindex)Sei ein Text der Lange N uber dem Alphabet a0, . . . , am−1 gegeben. Fur jedender m Buchstaben ai des Alphabets bezeichne fi, 0 ≤ i ≤ m − 1, die absoluteHaufigkeit des i-ten Buchstabens im Text. Dann heißt die folgende Zahl der(Friedmansche-) Koinzidenzindex, auf Englisch “index of coincidence”.

IC =m−1∑i=0

fiN

fi − 1N − 1

. (1.2)

Der folgende Satz gibt den Zusammenhang zwischen IC und κ an. Wir formu-lieren ihn fur den allgemeinen Fall mit m Buchstaben.

1.34 SatzSei eine Sprache mit κ-Wert κ gegeben und sei der Vektor (f0, f1, . . . , fm−1) derabsoluten Haufigkeiten der m Buchstaben in einem Text der Lange N multino-mialverteilt,

(f0, f1, . . . , fm−1) ∼ MN,(p0,...,pm−1)

Unter diesen Voraussetzungen ist IC ein erwartungstreuer Schatzer fur κ,

E[IC] = κ.

Beweis. Siehe die Diplomarbeit von Fischer[Fis96a]. 2

Aus Zeitgrunden werden wir nicht naher auf die konkrete Anwendung diesesZusammenhangs eingehen. Nur so viel sei hier erwahnt: da sich auch die Varianzvon IC angeben laßt, kann man zu vorgegebener Irrtumswahrscheinlichkeit denkritischen Bereich angeben und so eine numerische Bedingung fur die Ablehnungder Nullhypothese formulieren.

1.35 Bemerkung Fur die Bestimmung der Schlusselwortlange kann man wiefolgt vorgehen. Man testet die Nullhypothese H0, dass die Schlusselwortlangegleich 2 ist. Dazu berechnet man den IC fur die Teilfolge c(1) = c1, c3, c5, . . .und fur die zweite Teilfolge c(2) = c2, c4, c6, . . . des Geheimtextes. Wenn dasSchlusselwort tatsachlich Lange 2 hatte, dann werden diese beiden IC-Werte na-he beim κ-Wert der Sprache liegen. Wenn diese Nullhypothese verworfen werdenmuss, da die beiden κ-Werte zu klein sind, dann testet man fur Lange 3. Man hatnun 3 κ-Werte zu berechnen. Liegen diese drei Werte nahe beim κ-Wert der Spra-che, dann ist die Schlusselwortlange vermutlich 3 und man erhalt mittels ein-facher Frequenzanalyse der 3 Teilfolgen den jeweiligen Schlusselwortbuchstaben

Page 29: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.8. HILLCHIFFRE 29

(siehe dazu den Abschnitt uber den Kasiski-Test). Sind die 3 Werte zu klein,um die Nullhypothese “Schlusselwortlange=3” zu akzeptieren, dann fuhrt mandiese Analyse fur die Lange 4 durch, und so fort, bis sich ein aktzeptabler Wertvon IC fur die Teilfolgen ergibt.

1.36 Bemerkung (Erinnerung: Multinomialverteilung)Die Multinomialverteilung ist die Verallgemeinerung der Binomialverteilung.Anstelle von zwei moglichen Ergebnissen wie bei der Binomialverteilung werdenin einem Zufallsexperiment m mogliche Ergebnisse betrachtet.

Denken Sie dabei an ein Urnenmodell. In der Urne seien m Sorten von Kugeln,der Anteil der Kugeln des Typs i sei pi, 1 ≤ i ≤ m.

Wir ziehen N -mal mit Zurucklegen. Der Urne wird also N -mal jeweils eine Kugelentnommen, deren Typ festgestellt und anschließend die Kugel wieder in dieUrne zuruckgelegt.

Wir interessieren uns fur die Anzahl Xi der Kugeln eines jeden Typs i in dieserStichprobe der Große N . Die Zufallsvariablen Xi genugen der Multinomialver-teilung. Fur die Wahrscheinlichkeiten gilt:

P (X1 = x1 ∧X2 = x2 ∧ . . . ∧Xm = xm) =N !

x1! · x2! · ... · xm!px11 · p

x22 · ... · pxm

m .

1.8 Hillchiffre

In diesem Kapitel besprechen wir eine Chiffre, die fur die kryptographischePraxis zwar bedeutungslos war, jedoch viele klassischen Verfahren zu einemmathematisch sehr klaren und schonen Konzept zusammenfasst.

Dieses Verfahren geht auf Lester S. Hill (1929) zuruck.

1.37 Bemerkung (Matrizen uber Ringen)Sei (R,+, ·) ein kommutativer Ring mit Einselement. Typische Beispiele fursolche Ringe sind der Restklassenring Zm oder der Ring Z der ganzen Zahlen.

Sei A = (aij) eine n×n-Matrix uber R. Sei Aij jene (n−1)×(n−1)- Teilmatrix,die entsteht, wenn in A die i-te Zeile und die j-te Spalte gestrichen wird.

1.38 Bemerkung (Identitat von Lagrange)Fur jedes i ∈ {1, . . . , n} gilt die folgende Identitat:

detA =n∑j=1

(−1)i+j · aij · detAij .

Diese Identitat gilt in analoger Weise auch fur jedes j ∈ {1, . . . , n}.

Nach der Lagrangeschen Identitat gilt insbesondere die bekannte Regel

det(a11 a12

a21 a22

)= a11 · a22 − a12 · a21.

Page 30: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

30 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Aus diesem Beispiel und aus der vorangegangenen Identitat folgt:

A eine 2× 2-Matrix uber R⇒ detA ∈ R...A eine n× n-Matrix uber R⇒ detA ∈ R

Bezeichne M(n,R) die Menge der n × n-Matrizen uber dem Ring R und sei Idie n × n-Einheitsmatrix. Wir nennen A ∈ M(n,R) invertierbar uber R, wennes in der Menge M(n,R) eine Inverse zu A gibt:

A ·A−1 = A−1 ·A = I.

1.39 Bemerkung Aus der Identitat von Lagrange (siehe Bemerkung 1.38)folgt

A ∈M(n,R) ⇒ detA ∈ R.

1.40 Bemerkung (Teilbarkeit in Ringen)In einem Ring (R,+, ·) wird die Teilbarkeit von Elementen wie im Ring (Z,+, ·)definiert:

b teilt a⇔ ∃ c ∈ R : a = b · c (a, b, c ∈ R)

Bezeichnung: b |aDas Ringelement a heißt eine Einheit, wenn a |1. Dazu muß im Ring (R,+, ·)naturlich ein Einselement existieren!

1.41 PropositionSei (R,+, ·) ein kommutativer Ring mit Einselement und sei A ∈M(n,R). Danngilt:

A invertierbar uber R⇔ detA ist eine Einheit von R.

Beweis.Sei A invertierbar uber R.

⇒ ∃ A−1 ∈M(n,R) mit A ·A−1 = I

⇒ detA · detA−1︸ ︷︷ ︸∈R

= det(A ·A−1) = det I = 1

⇒ detA |1Umkehrung: es sei nun detA |1 vorausgesetzt.Die Adjunkte A∗ (engl.: adjoint) zu A ist eine Matrix in M(n,R), die folgen-dermaßen definiert ist:

A∗ =((−1)i+j · detAji

).

Wegen der Voraussetzung detA |1 folgt detA 6= 0. Fur die Matrix

B :=1

detA·A∗

gilt wegen detA |1, dass B ∈ M(n,R). Weiters ist aus der linearen Algebrabekannt, dass die Matrix B die inverse Matrix zu A ist, B = A−1. Somit liegtdie Matrix A−1 in der Menge M(n,R). Daher ist A invertierbar uber R. 2

Page 31: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.8. HILLCHIFFRE 31

Wir haben in dieser Vorlesung mit dem speziellen Ring (Z26,+, ·) gearbeitet.Wie sehen die Einheiten von Z26 aus?

1.42 Lemma Sei A ∈M(n,Z26). Die Matrix A ist invertierbar uber Z26 genaudann, wenn detA eine prime Restklasse ist, d.h. wenn detA ∈ Z∗26.

(Zur Erinnerung: eine prime Restklasse modulo 26 ist eine Restklassen a mitder Eigenschaft (a, 26) = 1. Allgemein ist die prime Restklassengruppe modulom definiert als die multiplikative Gruppe Z∗m = {a : (a,m) = 1}. Sie besitztϕ(m) Elemente.)

Beweis.

a Einheit von Z26

⇔ a |1⇔ die lineare Kongruenz a · x ≡ 1 (mod 26) ist losbar⇔ (Losbarkeitsbedingung!) (a, 26) = 1⇔ a ∈ Z∗26.

Die Einheiten des Ringes (Z26,+, ·) sind also genau die primen Restklassenmodulo 26. 2

1.43 Beispiel(1 00 2

)ist nicht invertierbar uber Z26 (denn: detA = 2, (2, 26) 6= 1)(

11 00 3

)ist invertierbar uber Z26 (denn: detA = 33 = 7, (7, 26) = 1)

1.44 Bemerkung (Matrizen modulo 26)In der Praxis rechnen wir nicht mit Restklassen, sondern mit ganzen Zahlenmodulo 26. Wann ist eine n × n-Matrix A mit Elementen aus Z invertierbarmodulo 26? Die Antwort lautet: wenn (detA, 26) = 1. Die Begrunung ist einfach:anstatt mit A modulo 26 zu arbeiten, verwenden wir die zugehorige Matrix uberZ26. So ist zum Beispiel

A =(

12 33 2

)invertierbar modulo 26 (da detA = 15, (15, 26) = 1), aber die Matrix

B =(

11 33 2

)ist nicht invertierbar modulo 26 (da detB = 13, (13, 26) 6= 1).

1.45 Definition (Hillchiffre, Lester S. Hill, 1929)Sei m ∈ Z, m ≥ 2. Sei P = C = Zm26 und sei

K = {A ∈M(m,Z26) : A invertierbar uber Z26} = GL(m,Z26).

Page 32: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

32 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Wir definieren die Verschlusselungsfunktionen:

ek(p) = k · p =

k11 . . . k1m

......

km1 . . . kmm

· p1

...pm

,

die Entschlusselungsfunktionen sind definiert als

dk(c) = k−1 · c =

k11 . . . k1m

......

km1 . . . kmm

−1

·

c1...cm

,

wobei k−1 die Inverse zu k in K ist.

1.46 BeispielUm ein Beispiel zu geben:

k =(

12 33 2

)⇒ k−1 = 15−1 ·

(2 −3−3 12

)(mod 26)

Was ist das Inverse zu 15 modulo 26?

15 · x ≡ 1 (mod 26) bzw. 15 · x+ 26 · y = 1

26 = 1 · 15 + 1115 = 1 · 11 + 411 = 2 · 4 + 34 = 1 · 3 + 13 = 3 · 1

1 = 4− 3= 4− (11− 2 · 4)= 4 · 3 + 11 · (−1)= (15− 11) · 3 + 11 · (−1)= 15 · 3 + 11 · (−4)= 15 · 3 + (26− 15) · (−4)= 15 · 7 + 26 · (−4)

⇒ x ≡ 7 (mod 26)

⇒ k−1 = 7 ·(

2 2323 12

)=(

14 55 6

)(mod 26)

1.47 Bemerkung (Schlusselraum der Hill-Chiffre)Die Frage nach der Große des Schlusselraums der Hill-Chiffre ist mathematischanspruchsvoll. Offensichtlich gilt

|K| = |GL(m,Z26)| = Anzahl der regularen m×m-Matrizen uber Z26.

Fur die Anzahl g(N,m) der regularen m×m-Matrizen uber ZN existieren fol-gende Resultate (siehe dazu Bauer[Bau97, Kap. 5.2]):

N = p prim:

g(p,m) = (pm − 1) · (pm − p) · (pm − p2) · . . . · (pm − pm−1)

= pm2· ρ(p,m),

Page 33: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.9. TRANSPOSITIONSCHIFFREN 33

mit

ρ(p,m) =m∏k=1

(1− 1

pk

).

Wir beachten in diesem Zusammenhang, dass die Zahl pm2

die Anzahl allermoglichen m×m-Matrizen uber Zp angibt.

Speziell gilt fur p = 2:

g(2, 1) = 1, g(2, 2) = 6, g(2, 3) = 168, g(2, 4) = 20160.

Sei nun N = pα eine Primzahlpotenz. Dann gilt die Beziehung

g(pα,m) = g(p,m) · (pα−1)m2

= (pα)m2· ρ(p,m) = Nm2

· ρ(p,m).

Sei nun N = pα11 · . . . · pαr

r eine beliebige naturliche Zahl. Dann gilt

g(N,m) = Nm2· ρ(p1,m) · ρ(p2,m) · . . . · ρ(pr,m).

Die Zahl ρ(p,m) kann naherungsweise uber eine lakunare Potenzreihe berechnetwerden (Euler 1760):

limm→∞

ρ(p,m) = h

(1p

),

wobei

h(x) = 1 +∞∑k=1

(−1)k ·(x(3k2−k)/2 + x(3k2+k)/2

)= 1− x− x2 + x5 + x7 − x12 − x−15 + x22 + x26 . . .

Fur p > 10 ist bereits 1− 1p− 1p2

eine gute Naherung fur h

(1p

). Details zu

dieser Darstellung sowie weiterfuhrende Literaturhinweise finden sich in [Bau97,Kap. 5.2].

Fur uns ist der Fall N = 26 interessant:

g(26, 1) = 12g(26, 2) = 157 248g(26, 3) = 1 634 038 189 056

Bauer[Bau97, Kap. 5.2] enthalt eine Diskussion zur Konstruktion regularer Ma-trizen uber ZN . Der Autor merkt an, dass selbstreziproke Matrizen uber ZN(d.h. A ·A = I) nicht so einfach abzahlbar sind wie die regularen Matrizen, furihre Anzahl ist keine Formel bekannt wie im Fall der regularen Matrizen!

1.9 Transpositionschiffren

Wir stellen eine weitere Idee der klassischen Kryptographie vor: die Klartext-zeichen werden nicht verandert, sie tauschen aber ihre Platze.

Page 34: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

34 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

1.48 Definition (Permutationschiffre, Transpositionschiffre)Sei P = C = Zm26 und sei

K = Sm = Menge der Permutationen von {1, 2, . . . ,m}.

Die Verschlusselungsfunktionen seien definiert durch

eπ(p1, . . . , pm) = (pπ(1), . . . , pπ(m)), π ∈ Sm,

die Entschlusselungsfunktion seien festgelegt durch

dπ(c1, . . . , cm) = (cπ−1(1), . . . , cπ−1(m)), π ∈ Sm.

Dann heißt das Chiffriersystem (P, C,K, E ,D) eine Permutations- oder Trans-positionschiffre.

1.49 BeispielKonkretes Beispiel: mit m = 6

π =(

1 2 3 4 5 63 4 6 1 2 5

)⇒ π−1 =

(1 2 3 4 5 64 5 1 2 6 3

)

Klartext a n d i e f r a u b u n . . .Geheimtext D I F A N E U B N R A U . . .

1.50 BemerkungDie Permutationschiffre- bzw. Transpositions-Chiffre ist ein Spezialfall der Hill-chiffre. Sei π ∈ Sm der Schlussel der Permutationschiffre mit P = C = Zm26.Dann konnen wir π eine eindeutig bestimmte Matrix A(π) ∈ M(m,Z2) zuord-nen, bei der in jeder Zeile und jeder Spalte genau eine Eins steht (und sonstlauter Nullen):

A(π) := (ai,j)mi,j=1,

wobei ai,j = 1 falls π(j) = i und 0 sonst.

Zur Illustration ein konkretes Beispiel:

m = 6 und π =(

1 2 3 4 5 63 4 6 1 2 5

): A(π) =

0 0 1 0 0 00 0 0 1 0 00 0 0 0 0 11 0 0 0 0 00 1 0 0 0 00 0 0 0 1 0

Allgemein gilt: die Matrix A(π) entsteht aus der Einheitsmatrix E ∈M(m,Z2)durch Zeilen- und Spalten-Vertauschungen

⇒ detA(π) ∈ {−1, 1}⇒ A(π) ist regular modulo 26⇒ A(π) definiert eine Hill-Chiffre

1.51 Definition (Permutationsmatrix)Sei A ∈ M(m,Z2) eine Matrix, die in jeder Zeile und jeder Spalte genau eineEins enthalt. Dann heißt A eine Permutationsmatrix.

Page 35: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.9. TRANSPOSITIONSCHIFFREN 35

Somit: Jedem Element π ∈ Sm ist genau eine Permutationsmatrix zugeordnet.Umgekehrt ist leicht zu sehen, daß jeder Permutationsmatrix A ∈ M(m,Z2)genau eine Permutation π ∈ Sm mit A(π) = A zugeordnet ist.

1.52 Lemma Es gilt folgender Zusammenhang:

∀ π ∈ Sm : A(π−1) = A(π)−1.

Beweis. Fur den Zusammenhang mit Ver- und Entschlusselungsfunktionengilt nach Definition:

dπ(c1, . . . , cm) = eπ−1(c1, . . . , cm)= eπ−1(eπ(p1, . . . , pm))= (p1, . . . , pm)

D.h.:(p1, . . . , pm) = eπ−1(eπ(p1, . . . , pm))

Weiters gilt:eπ(p1, . . . , pm)T = A(π) · (p1, . . . , pm)T

Aus diesen letzten beiden Identitaten schließen wir nun:

A(π−1) ·A(π) = A(π) ·A(π−1) = E

⇒ A(π−1) = A(π)−1.

Insbesondere ist A(π)−1 wieder eine Permutationsmatrix. 2

1.53 Bemerkung (Produktchiffren)Die Arbeit eines Kryptanalytikers wird durch die Kombination verschiedenar-tiger Chiffren erschwert. Die Kombination von Chiffren nennt man eine Pro-duktchiffre.

Sei zum Beispiel P = C = K1 = Z82 und K2 = S8. Wir verschlusseln zuerst

mittelse(1)k (p) = p+ k k ∈ K1

und dann mittels

e(2)σ (p′1, . . . , p′8) = (pσ(1), . . . , pσ(8)) σ ∈ K2

Sei zum Beispiel k = (1 0 0 1 0 1 1 0) und π =(

1 2 3 4 5 6 7 83 7 4 1 8 5 2 6

).

Fur p = (0 0 0 0 1 1 1 0) erhalten wir

e(1)k (p) = (1 0 0 1 1 0 0 0)

unde(2)π (1 0 0 1 1 0 0 0) = (1 0 1 0 0 0 0 1).

Page 36: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

36 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

1.10 Stromchiffren

1.54 Bemerkung (Block- und Stromchiffren)Die Chiffrierverfahren werden in zwei Typen aufgeteilt, je nachdem, wie sie denKlartext verschlusseln:

• BlockchiffrenSie fassen den Klartext zu Blocken zusammen und verschlusseln dann derReihe nach Block fur Block.

• StromchiffrenSie verschlusseln jedes Klartextelement einzeln, ublicherweise mit jeweilsverschiedenen Schlusseln.

Diese Unterscheidung ist oberflachlich und dient nur dazu, einen ersten Uberblickzu schaffen. Tatsachlich ist es in der Praxis so, dass Blockchiffren auch als Strom-chiffren eingesetzt werden konnen, je nach Betriebsmodus.

1.55 Definition (Stromchiffre)Fur eine endliche, nichtleere Menge A bezeichne A∗ die Menge der endlichen Fol-gen mit Elementen ausA. Eine Stromchiffre ist ein Chiffriersystem (P, C,K, E ,D)mit folgenden Eigenschaften:

1. P = C = K = A∗

2. Fur jedes k ∈ A existieren zwei eindeutig bestimmte bijektive Funktionenek : A 7→ A und dk : A 7→ A mit der Eigenschaft

dk ◦ ek = ek ◦ dk = Identitat

3. VerschlusselungSei p = (pi)i≥1 ∈ P und sei k = (ki)i≥1 ∈ K mindestens so lange wie p.Dann definieren wir die Verschlusselungsfunktion durch

ek(p) = (eki(pi))i≥1 .

Sei c = (ci)i≥1 ∈ C und sei k = (ki)i≥1 ∈ K mindestens so lange wie c.Dann definieren wir die Entschlusselungsfunktion durch

dk(c) = (dki(ci))i≥1 .

Die Folge p = (pi)i≥1 heißt der Klartextstrom, k = (ki)i≥1 heißt der Schlusselstromund c = (ci)i≥1 nennt man den Geheimtextstrom.

1.56 Definition (Synchrone Stromchiffre)Eine Stromchiffre heißt synchron, wenn der Schlusselstrom (ki)i≥1 unabhangigist vom Klartextstrom. Eine Stromchiffre heißt periodisch, wenn der Schlusselstrom(ki)i≥1 eine periodische Folge ist, wenn also eine Zahl d ∈ N existiert mitki+d = ki ∀ i ∈ N. Die kleinste naturliche Zahl d mit dieser Eigenschaft heißtdie Periode des Schlusselstroms.

Page 37: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.10. STROMCHIFFREN 37

1.57 BemerkungWir merken an:

1. Wir konnen die Vigenerechiffre als eine periodische Stromchiffre auffassen:Sei k = (k1, . . . , km) ∈ Zm26 das Schlusselwort. Dann setzen wir A = Z26

und betrachten als Schlusselstrom die periodische Folge

k1, k2, . . . , km, k1, k2, . . . , km, k1, k2, . . .

2. Fur moderne Stromchiffren verwendet man ublicherweise A = Z2.

Wir untersuchen nun den Einfluß, den die Lange und die Art des Schlusselwortesauf die Haufigkeitsverteilungen im Vigenereverfahren hat.

Zunachst verschlusseln wir mit einem kurzen Schlusselwort (siehe Abbildungen1.15 und 1.16). Als Klartext wurde “Der zerbrochene Krug” von Kleist verwen-det.

abcdefghijklmnopqrstuvwxyz

0.01

0.02

0.03

0.04

0.05

0.06

Abbildung 1.15: Vigenerechiffre, Schlusselwort: hellekalek

peloirsyxdmcvwthnkgbafqzuj

0.01

0.02

0.03

0.04

0.05

0.06

Abbildung 1.16: Vigenerechiffre, Schlusselwort: hellekalek

Page 38: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

38 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Der gleiche Text wird dann mit einem langen Schlusselwort (50 zufallige Zeichen)verschlusselt. Die Verteilung andert sich auffallend (siehe Abbildungen 1.17 und1.18).

abcdefghijklmnopqrstuvwxyz

0.01

0.02

0.03

0.04

0.05

Abbildung 1.17: Vigenerechiffre, Schlusselwort mit 50 Zeichen

izqmyvudcpehxrtlnjbfsogkwa

0.01

0.02

0.03

0.04

0.05

Abbildung 1.18: Vigenerechiffre, Schlusselwort mit 50 Zeichen

1.58 BemerkungWir haben das folgende Phanomen beobachtet: je langer und je “zufalliger”das Schlusselwort ist, desto mehr nahert sich die Verteilung der Haufigkeitender Gleichverteilung an. Umso schwieriger wird es dann, mit der Methode derHaufigkeitsanalyse dieses Chiffrierverfahren zu attackieren.

Page 39: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.10. STROMCHIFFREN 39

Im Folgenden bezeichne ⊕ die Addition auf Z2, also das wohlbekannte XOR inder Informatik.

1.59 Definition (Vernam-Chiffre, 1917)Sei A = Z2. Die Vernam-Chiffre ist eine Stromchiffre mit der Verschlusselungs-funktion

ek(p) = (pi ⊕ ki)i≥1

und der Entschlusselungsfunktion

dk(c) = (ci ⊕ ki)i≥1,

mit p = (pi)i≥1 ∈ P, c = (ci)i≥1 ∈ C und k = (ki)i≥1 ∈ K.

1.60 Definition (one-time pad)Ein one-time pad ist eine Vernamchiffre, in der der Schlusselstrom eine Zufalls-bitfolge ist.

1.61 BemerkungEine Zufallsbitfolge ist die Realisierung einer Folge unabhangiger, auf Z2 iden-tisch gleichverteilter Zufallsvariablen. Denken Sie dabei an das Ergebnis einerlangen Reihe von Munzwurfen mit einer gerechten Munze.

1.62 PropositionSeien P und K zwei diskrete Zufallsvariable mit Werten in {0, 1}. Sei Pr(P =0) = α, Pr(P = 1) = 1 − α, 0 ≤ α ≤ 1, die Verteilung von P und sei Kgleichverteilt auf {0, 1}, in Symbolen: K ∼ U({0, 1}).Wenn P und K unabhangig sind, dann gilt

P ⊕ K ∼ U({0, 1}).

Beweis. Es gilt wegen der Unabhangigkeit:

Pr(P ⊕K = 0) = Pr(P = 0,K = 0) + Pr(P = 1,K = 1)

= α12

+ (1− α)12

=12.

2

1.63 KorollarDas one-time pad gleicht ein Bias des Klartextes aus.

Wie arbeitet man mit one-time pads in der Praxis? Prinzipiell gibt es zweiMoglichkeiten, Zufallsbits und (uber die Binarentwicklung) Zufallszahlen zu er-zeugen:

• HardwaregeneratorenVerwenden elektronisches Rauschen, radioaktive Zerfallsprozesse, . . .� Link: www.mils.com� Link: www.protego.com

Page 40: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

40 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

• SoftwaregeneratorenSie verwenden deterministische Algorithmen, um aus einer kurzen Folge(dem seed) eine lange Folge von deterministisch erzeugten (Zufalls-)Zahlenzu produzieren. Man spricht in diesem Fall von Pseudozufallszahlengene-ratoren.� Link: random.mat.sbg.ac.at

Ein typisches Beispiel eines Hardwaregenerators ist der SG100, der elektroni-sches Rauschen verwendet, um Zufallsbits zu erzeugen (siehe Abbildung 1.19).

Abbildung 1.19: SG100 (Protego SA, Sweden)

Hardwaregeneratoren sind langsam, schwer portierbar, theoretisch nicht ana-lysierbar und ihr Ausgabestrom ist unvorhersagbar. In Gegensatz dazu sindSoftwaregeneratoren (in den meisten Fallen) sehr schnell, portierbar, in man-chen Fallen theoretisch analysierbar und der Ausgabestrom ist reproduzierbar.Je nach Anwendung kann die Unvorhersagbarkeit oder die Reproduzierbarkeitein Vor- oder ein Nachteil sein.

1.11 Einige Konzepte von Shannon

1.64 Bemerkung (Shannons Forderungen)Der beruhmte Mathematiker Claude E. Shannon, einer der Begrunder der Infor-mationstheorie, hat sich eingehend mit der theoretischen und praktischen Ana-lyse von Chiffriersystemen beschaftigt (siehe [Sha49]). Shannon hat fur ein Chif-friersystem die folgenden Forderungen aufgestellt. Sie haben bis heute ihre Be-deutung behalten:

1. SicherheitEin Chiffriersystem ware perfekt, wenn auch noch so viele abgefangeneGeheimtexte keinen Aufschluß uber den verwendeten Schlussel geben.(In der Praxis konnen wir diesen theoretischen Grad von Sicherheit nichterreichen. Wir werden aber auf jeden Fall anstreben, daß zu einem ab-gefangenen Geheimtext der Aufwand zur Bestimmung des verwendetenSchlussels und damit des Klartextes moglichst hoch ist.)

Page 41: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.11. EINIGE KONZEPTE VON SHANNON 41

2. SchlussellangeDer verwendete Schlussel sollte moglichst kurz sein, damit er leicht zuubersenden ist.(Hinweis: Durch die Public-Key Verfahren hat sich die Situation grundle-gend verandert)

3. Arbeitsaufwand fur Ver- und EntschlusselungDie Komplexitat dieser Operationen (entspricht der Rechenzeit) solltemoglichst gering sein.

4. FehlerfortpflanzungSie sollte moglichst gering sein.(Heutzutage lost man diese Aufgabe mit speziellen Betriebsmodi, wie etwabei den Blockchiffren, und auch mit Methoden der Kodierungstheorie,siehe [Hil86, TW06, Wel88].)

5. Expansion der NachrichtenSie sollte moglichst gering sein.(Um die Haufigkeitsverteilungen im Klartext zu verschleiern, wird oft aufFullzeichen zuruckgegriffen. Diese blahen die Nachrichten jedoch auf. Jelanger die Nachricht ist, desto aufwandiger wird dann die Ubertragung.)

In der Praxis ist es nicht moglich, alle diese Forderungen gleichzeitig zu erfullen.Ein in diesem Sinne perfektes System gibt es nicht.

1.65 Bemerkung (Konfusion und Diffusion)Ebenfalls von Claude Shannon stammen zwei beruhmte Konzepte, die bis heutedie wesentlichen Designkriterien fur Chiffrierverfahren darstellen:

• KonfusionDer Zusammenhang zwischen dem Klartext, dem Schlussel und dem Ge-heimtext sei so komplex wie nur irgendwie moglich beschaffen.

• DiffusionJedes Geheimtextzeichen soll von moglichst vielen Klartextzeichen undmoglichst vom gesamten Schlussel abhangen.

1.11.1 Perfekte Sicherheit

Sei (P, C,K, E ,D) ein gegebenes Verschlusselungsverfahren.

Das Sicherheitskonzept von Shannon beruht auf folgender, leicht verstandlicherForderung fur eine Chiffre: die Kenntnis des Geheimtextes soll keinen Aufschlussuber den dahinterliegenden Klartext liefern. Die Ungewissheit fur den Gegner,welcher Klartext P verwendet wurde, soll sich nicht vermindern, wenn der Ge-heimtext C bekannt ist.

Zum Studium dieser Frage verwendete Shannon die Sprache der Stochastik.Seien im Folgenden P,C und K Zufallsvariable. Die Werte von P sollen in derMenge P liegen, die Werte von C in C, und die Werte von K in K. Gegebensei weiters eine Wahrscheinlichkeitsverteilung {Pr(P = p) : p ∈ P} auf demKlartextraum P. Diese Verteilung heißt die a-priori Verteilung der Klartexte.

Page 42: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

42 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Weiters sei eine Wahrscheinlichkeitsverteilung {Pr(K = k) : k ∈ K} auf demSchlusselraum K gegeben.

1.66 Bemerkung (Annahme I)Wir nehmen im Folgenden an, dass die Zufallsvariablen P und K unabhangigsind. Es gilt also:

Pr(P = p, K = k) = Pr(P = p) ·Pr(K = k) ∀ p ∈ P,∀ k ∈ K.

Diese Annahme ist durch die kryptographische Praxis gerechtfertigt, da zuerstder geheime Schlussel k vereinbart wird und dann erst, zu einem spateren Zeit-punkt, die Klartexte damit verschlusselt werden.

Die Wahrscheinlichkeitsverteilungen auf P und auf K induzieren eine Wahr-scheinlichkeitsverteilung auf dem Geheimtextraum C:

Pr(C = c) =∑

(p,k): ek(p)=c

Pr(P = p, K = k) (1.3)

=∑

(p,k): ek(p)=c

Pr(P = p) ·Pr(K = k).

1.67 Bemerkung (Annahme II)Wir entfernen aus dem Mengen P, C undK alle Elemente mit WahrscheinlichkeitNull und setzen daher im Folgenden die Bedingungen

Pr(P = p) > 0 ∀ p ∈ P,Pr(C = c) > 0 ∀ c ∈ C,Pr(K = k) > 0 ∀ k ∈ K,

voraus. Diese Bedingungen sind gerechtfertigt. Es macht keinen Sinn, Klar-texte p oder Schlussel k zu betrachten, die mit Wahrscheinlichkeit 0 auftre-ten. Ebenso unnotig ist es Geheimtexte c zu betrachten, fur welche die Menge{(p, k) : ek(p) = c} leer ist, fur die daher wegen Identitat 1.3 Pr(C = c) = 0gilt.

1.68 Definition (Perfekte Sicherheit)Die Chiffre (P, C,K, E ,D) heißt perfekt sicher, wenn Annahme I und II erfulltsind und wenn gilt:

Pr(P = p |C = c) = Pr(P = p) ∀ p ∈ P, ∀ c ∈ C. (1.4)

Die perfekte Sicherheit eines Kryptosystems bedeutet, dass die Kenntnis desGeheimtextes keinerlei Information uber den moglichen Klartext liefert. NachKenntnis des Geheimtextes sind wir so “klug” wie zuvor, es gab keinen In-formationsgewinn. Mit anderen Worten, die a-posteriori WahrscheinlichkeitenPr(P = p |C = c) sind gleich den a-priori-Wahrscheinlichkeiten.

1.69 Bemerkung (Entropie und bedingte Entropie)Die Entropie ist ein Maß fur die Ungewissheit des Ausgangs eines Zufallsex-periments. Mit Hilfe des Begriffs der bedingten Entropie kann man ebenfalls

Page 43: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.11. EINIGE KONZEPTE VON SHANNON 43

perfekte Sicherheit definieren. Es laßt sich leicht zeigen, dass beide Definitionenaquivalent sind.

1.70 LemmaFur die bedingte Wahrscheinlichkeit Pr(P = p |C = c) gilt folgende Identitat:

Pr(P = p |C = c) =Pr(P = p) ·

∑k: ek(p)=c Pr(K = k)∑

(q,k): ek(q)=c Pr(P = q) Pr(K = k)(1.5)

Beweis. Wir schreiben die bedingte Wahrscheinlichkeit Pr(P = p |C = c)wie folgt um:

Pr(P = p |C = c) =Pr(P = p, C = c)

Pr(C = c)

=Pr(C = c |P = p) ·Pr(P = p)

Pr(C = c)

Die bedingte Wahrscheinlichkeit Pr(C = c |P = p) gibt die Wahrscheinlichkeitan, mit der p in c verschlusselt wird. Da der “Startpunkt” p und der “Endpunkt”c der Verschlusselung gegeben sind, konnen wir nur den Schlussel variieren.Daher gilt:

Pr(C = c |P = p) =∑

k: ek(p)=c

Pr(K = k). (1.6)

Daraus und mit Hilfe von (1.3) folgt die behauptete Identitat (1.5). 2

1.71 LemmaSei die Chiffre (P, C,K, E ,D) perfekt sicher. Dann gilt:

∀ p ∈ P, ∀ c ∈ C : ∃k ∈ K : ek(p) = c (und Pr(K = k) > 0).

Beweis. Nach Definition der bedingten Wahrscheinlichkeit gilt:

Pr(P = p |C = c) ·Pr(C = c) = Pr(P = p, C = c)= Pr(C = c |P = p) ·Pr(P = p).

Aus der perfekten Sicherheit folgt fur alle p ∈ P und fur alle c ∈ C die Gleichung

Pr(P = p |C = c) ·Pr(C = c) = Pr(P = p) ·Pr(C = c).

Daher gilt die folgende Aquivalenz:

Pr(P = p |C = c) = Pr(P = p)⇔ Pr(C = c |P = p) = Pr(C = c).

Wegen Pr(C = c) > 0 gilt daher Pr(C = c |P = p) > 0. Aus der Gleichung(1.6) folgt die Existenz eines k ∈ K mit den Eigenschaften ek(p) = c undPr(K = k) > 0. 2

Page 44: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

44 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

1.72 LemmaEs gelten die folgenden Beziehungen zwischen der Große von Klartext-, Geheim-text- und Schlusselraum.

1. Fur jede Chiffre (P, C,K, E ,D) gilt die Ungleichung

|P| ≤ |C|.

2. Wenn die Chiffre (P, C,K, E ,D) perfekt sicher ist, dann gilt zusatzlich dieUngleichung

|C| ≤ |K|.

Beweis. Zu 1.Fur jedes k ∈ K ist die Abbildung ek : P → C, p 7→ ek(p) nach Voraussetzunginjektiv (siehe Definition 1.4). Aus der Injektivitat von ek folgt |P| = |ek(P)|.Aus ek(P) ⊆ C folgt |ek(P)| ≤ |C| und daraus die Behauptung.

Zu 2.Wir erinnern an die Voraussetzung Pr(C = c) > 0 ∀ c ∈ C. Aus Lemma 1.71wissen wir, dass zu beliebigem p und c ein k ∈ K existiert mit ek(p) = c. Somitgilt

K(p, c) := {k ∈ K : ek(p) = c} 6= ∅. (1.7)

Mit anderen Worten,|K(p, c)| ≥ 1.

Weiters gilt, dass bei festem p ∈ P und c, c′ ∈ C, c 6= c′, die beiden zugehorigenSchlusselmengen K(p, c) und K(p, c′) disjunkt sind,

K(p, c) ∩ K(p, c′) = ∅, falls c 6= c′. (1.8)

Diese Behauptung ist leicht einzusehen, mittels eines indirekten Beweises. Ange-nommen, k ∈ K(p, c) ∩K(p, c′). Dann gilt nach Definition der beiden Schlussel-mengen c = ek(p) = c′, also ein Widerspruch zur Voraussetzung c 6= c′.

Wir halten nun p ∈ P fest und lassen c die Menge C durchlaufen. Wegen|K(p, c)| ≥ 1 und der paarweisen Disjunktheit dieser Mengen folgt

|C| ≤∑c∈C|K(p, c)| = |

⋃c∈CK(p, c)|. (1.9)

Wegen⋃c∈C K(p, c) ⊆ K folgt

|C| ≤ |K|.

2

1.73 KorollarFur eine perfekt sichere Chiffre (P, C,K, E ,D) gilt

|P| ≤ |C| ≤ |K|.

Page 45: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.11. EINIGE KONZEPTE VON SHANNON 45

1.74 SatzSei (P, C,K, E ,D) eine Chiffre mit der Eigenschaft |K| = |C| = |P|. Dann istdiese Chiffre genau dann perfekt sicher, wenn die folgenden beiden Bedingungenerfullt sind:

1. ∀ p ∈ P, ∀ c ∈ C gilt:

∃ k ∈ K, k eindeutig: ek(p) = c.

(Zu jedem Paar (p, c) ∈ P ×C existiert ein eindeutig bestimmter Schlusselk, der p in c uberfuhrt.)

2. ∀ k ∈ K :Pr(K = k) =

1|K|

.

(Jeder Schlussel ist gleich wahrscheinlich.)

Beweis. Sei (P, C,K, E ,D) perfekt. Nach Lemma 1.71 existiert zu jedem p ∈ Pund jedem c ∈ C ein Schlussel k ∈ K mit ek(p) = c. Wir behaupten, dass dieserSchlussel eindeutig bestimmt ist. In der Bezeichnung von Lemma 1.72 heißt dies,dass wir die Behauptung

|K(p, c)| = 1

zeigen mussen.

Sei p ∈ P fest. Wenn ein c∗ ∈ C existiert mit |K(p, c∗)| > 1, dann folgt ausUngleichung (1.9), dass gilt:

|C| <∑c∈C|K(p, c)| = |

⋃c∈CK(p, c)|. (1.10)

Wegen der trivialen Ungleichung |⋃c∈C K(p, c)| ≤ |K| folgt |C| < |K|. Dies ist

ein Widerspruch zur Voraussetzung.

Somit gilt |K(p, c)| = 1, ∀ p ∈ P, ∀ c ∈ C. Wir bezeichnen den durch p ∈ P undc ∈ C eindeutig bestimmten Schlussel k ∈ K(p, c) mit k = ψp(c).

Sei p ∈ P fest. Dann ist die Abbildung

ψp : C → K, (1.11)c 7→ ψp(c)

bijektiv.

Aus der perfekten Sicherheit folgt, wie wir im Beweis von Lemma 1.71 gesehenhaben, die Beziehung

Pr(C = c |P = p) = Pr(C = c).

Aus der Identitat (1.6) und der soeben bewiesenen Tatsache, dass zu gegebenemp und c genau ein Schlussel k mit ek(p) = c existiert, namlich k = ψp(c), folgt

Pr(C = c |P = p) =∑

k: ek(p)=c

Pr(K = k)

= Pr(K = ψp(c)).

Page 46: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

46 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Somit gilt:

∀ p ∈ P,∀ c ∈ C : Pr(K = ψp(c)) = Pr(C = c). (1.12)

Wir behaupten: wenn wir c festhalten und wenn p die Menge P durchlauft, danndurchlauft ψp(c) den gesamten Schlusselraum K.

Dies ist leicht einzusehen: zu gegebenem c und p existiert genau ein k ∈ K mitek(p) = c. Wenn p, p′ ∈ P, p 6= p′, dann sind die zugehorigen Schlussel k und k′

mit ek(p) = c = ek′(p′) verschieden, denn die Funktionen ek, k ∈ K, sind nachDefinition injektiv. Daher ist der Fall ek(p) = ek(p′), p 6= p′, unmoglich und esmuss k = ψp(c) 6= k′ = ψp′(c) gelten.

Gleichung (1.12) besagt somit, dass gilt:

∀ k ∈ K : Pr(K = k) = Pr(C = c). (1.13)

Daraus folgt zunachst, dass zwei beliebige Schlussel k und k′ gleich wahrschein-lich sind, denn Pr(C = c) ist eine Konstante.

Es folgt aber noch mehr. Die Verteilung {Pr(K = k) : k ∈ K} ist eine Wahr-scheinlichkeitsverteilung. Daher muss gelten

Pr(K = k) =1|K|

.

Somit ist eine Richtung des Satzes bewiesen.

Die Umkehrung: seien die beiden Bedingungen 1. und 2. erfullt. Nach Identitat(1.6) folgt

∀ p ∈ P, ∀ c ∈ C : Pr(C = c |P = p) = Pr(K = ψp(c)) =1|K|

,

wobei wir den durch p und c eindeutig bestimmten Schlussel k mit der Eigen-schaft ek(p) = c wieder mit dem Symbol ψp(c) bezeichnet haben. Weiters giltin der Identitat (1.3) wegen der Eindeutigkeit von k mit ek(p) = c und derGleichverteilung Pr(K = k) = 1/|K| folgende Gleichungskette:

Pr(C = c) =∑

(p,k): ek(p)=c

Pr(P = p) ·Pr(K = k) (1.14)

=1|K|·∑p∈P

Pr(P = p)

=1|K|

, ∀ c ∈ C.

Wir haben hier verwendet, dass {Pr(P = p) : p ∈ P} eine Wahrscheinlichkeits-verteilung ist, dass also

∑p∈P Pr(P = p) = 1 gilt.

Aus der Gleichung

Pr(P = p |C = c) =Pr(P = p, C = c)

Pr(C = c)

=Pr(C = c |P = p) ·Pr(P = p)

Pr(C = c)

=1/|K| ·Pr(P = p)

1/|K|= Pr(P = p).

Page 47: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.11. EINIGE KONZEPTE VON SHANNON 47

folgt die gesuchte Gleichheit Pr(P = p |C = c) = Pr(P = p), also die perfekteSicherheit. 2

1.75 KorollarSei (P, C,K, E ,D) eine perfekt sichere Chiffre mit der Eigenschaft |K| = |C| =|P|. Aus der Identitat (1.13) folgt, dass nicht nur die Schlussel k, sondern auchdie Geheimtexte c gleichverteilt sind,

Pr(C = c) =1|C|.

1.76 Bemerkung (Erinnerung)Sei (P, C,K, E ,D) ein one-time pad, also eine Stromchiffre mit Alphabet A =Z2 = {0, 1}, P = C = K = A∗ und der Eigenschaft, dass jeder Schlusselstromk ∈ K eine Zufallsbitfolge ist.

1.77 DefinitionUnter einem one-time pad der Lange n verstehen wir ein one-time pad mit|p| = |k| = n fur alle p ∈ P und alle k ∈ K.

1.78 SatzSei (P, C,K, E ,D) ein one-time pad der Lange n. Dann ist dieses one-time padperfekt sicher:

Pr(P = p |C = c) = Pr(P = p) ∀ p ∈ P,∀ c ∈ C.

Beweis. Fur jedes one-time pad der Lange n gilt die Eigenschaft P = K =C = Zn2 . Es folgt |P| = |K| = |C| = 2n. Weiters sind die folgenden Bedingungenerfullt:

1. Zu jedem p ∈ P und jedem c ∈ C existiert genau ein Schlusselstrom k ∈ Kmit ek(p) = c.

2. Die Schlusselstrome sind gleichverteilt,

P (K = k) =12n.

Nach Satz 1.74 folgt aus diesen Eigenschaften die perfekte Sicherheit dieserChiffre. 2

1.79 BemerkungWir sollten uns angesichts dieses “Sicherheitsbeweises” zwei Aspekte des one-time pad vor Augen halten:

1. Der Nachweis der perfekten Sicherheit beruht auf der Annahme, dass dieSchlusselstrome Zufallsbitfolgen sind. Diese Annahme ist in der kryptogra-phischen Praxis nicht gerechtfertigt. Es existieren zwar theoretische Kon-zepte, um den Begriff einer “Zufallsbitfolge der Lange n” zu definieren,

Page 48: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

48 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

diese Konzepte sind fur die kryptographische Praxis aber leider nicht um-setzbar (Stichwort: Kolmogoroff-Komplexitat, siehe [Cal94]). Unabhangigvon der Art der Erzeugung ist es fur eine gegebene Bitfolge nicht moglichnachzuweisen, dass es sich um eine Zufallsbitfolge handelt. Der Sicher-heitsbeweis fur das one-time pad ist daher rein theoretischer Natur.

2. Das one-time pad erfordert Schlussel k, die gleich lang sind wie die Nach-richten p, die verschickt werden sollen. Fur die kryptographische Praxisbedeutet dies einen sehr großen Aufwand bei der Schlusselverwaltung, al-so beim sicheren Austausch der Schlussel zwischen berechtigten Benutzernund bei der sicheren Verwahrung der Schlussel beim jeweiligen Benutzer.

1.80 BemerkungDurch die Quantenkryptographie konnten one-time pads stark an Bedeutunggewinnen, siehe fur weitere Informationen

� Link: http://www.quantiki.org/

1.12 Zufallszahlen

Ob bei Lehman Bros. in London die Preisentwicklung von Optionen, am CERNin Genf Modelle der Atomphysik oder an der TH Darmstadt Klaranlagen simu-liert werden, ob diverse diplomatische Dienste den Schlusselvorrat fur hochge-heime Nachrichten mittels der Vernam-Chiffre erzeugen oder Sie bei PGP Ihrenprivaten und Ihren offentlichen Schlussel generieren, stets ist ein scheinbar rechtsimples und harmloses mathematisches Werkzeug im Einsatz, sogenannte Zu-fallszahlengeneratoren.

Es gibt zwei große Einsatzgebiete fur Zufallszahlengeneratoren, erstens die Mon-te Carlo Methode, sie wird zum Gebiet der stochastischen Simulation gezahlt,und zweitens die Kryptographie.

Standardwerke zur Monte Carlo Methode sind die Monographien von Sobol’[Sob83] sowie Fishman [Fis96b]. Online-Dokumente finden sich unter

� Link: http://csep1.phy.ornl.gov/CSEP/TEXTOC.html

sowie

� Link: http://www.ncsa.uiuc.edu/Apps/SPRNG/

Fur Zufallszahlen in der Kryptographie ist die Webadresse

� Link: http://random.mat.sbg.ac.at/links/crypto.html

ein geeigneter Startpunkt.

Das Ziel fur den Einsatz von Zufallszahlen in der Monte Carlo Methode lautet,“moglichst gute Naherungen” fur den unbekannten Parameter zu finden, alsomoglichst gute “Schatzwerte” im Sinne der Statistik.

In der Kryptographie geht es darum, sogenannte “sichere” Bitstrome zu erzeu-gen, zum Beispiel fur one-time pads.

Page 49: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.12. ZUFALLSZAHLEN 49

In beiden Anwendungsfallen mussen wir klaren, wie wir die vagen Bezeichnungen“moglichst gute Naherung” oder “sicherer Bitstrom” mathematisch definierenkonnen.

Was sind nun Zufallszahlen oder Zufallsbits? In beiden Fallen meint man da-mit, dass die generierten Folgen (xn)n≥0 in [0, 1[ (beziehungsweise {0, 1}) alsRealisierungen einer Folge von unabhangigen, identisch gleichverteilten Zufalls-variablen angesehen werden konnen.

Wann sieht man eine Folge (xn)n≥0 als solch eine Realisierung an? Sicherlichdann, wenn sie zum Beispiel durch das (sehr haufige) Werfen einer fairen Munzeentstanden ist. Aus Zeitgrunden wirft man in der Praxis nicht Munzen, sondernman startet entweder einen Hardware- oder Softwaregenerator. Bei den Hard-waregeneratoren verwendet man einen Zufallsprozess, um sogenannte “echte”Zufallszahlen zu erzeugen. Beispiele sind das Diodenrauschen oder radioaktiveZerfallsprozesse. Der Begriff echter Zufallszahlen ist naturlich schwammig, abersehr weit verbreitet. Wir werden spater noch darauf eingehen.

Bei Softwaregeneratoren, den sogenannten Pseudozufallszahlengeneratoren, han-delt es sich um deterministische Algorithmen, die auf dem Computer, also ei-ner Maschine mit endlich vielen Zustanden, ablaufen und deren Ausgabe diegewunschten Zufallszahlen sind. Sie erzeugen aus einem kurzen Bitstring, demsogenannten Startwert (E: seed, initial value) eine lange Folge von Zufallszahlenoder Zufallsbits.

1.81 Definition (Pseudozufallszahlengenerator)Unter einem Pseudozufallszahlengenerator verstehen wir ein Tupel

G = (S, T,O, g, s0) ,

wobei S undO endliche Mengen sind, T : S → S und g : S → O zwei Funktionenund s0 ∈ S ein festes Element ist. Die Menge S heißt der Zustandsraum, dieMenge O heißt der Ausgaberaum, die Funktion T heißt die Ubergangsfunktionund g nennt man die Ausgabefunktion des Generators G.

Der Generator G erzeugt Zufallszahlen beziehungsweise Zufallsbits nach demfolgenden Schema:

1. Wir wahlen den Startwert s0 im Zustandsraum S.In der Kryptographie ist es ublich, den Startwert zufallig zu wahlen. Inder Monte Carlo Methode arbeitet man mit fixen Startwerten, um dieReproduzierbarkeit der Zufallszahlen zu gewahrleisten. Man will auf dieseWeise eine zusatzliche Kontrolle uber die Berechnungen erhalten.

2. Wir erzeugen durch Iteration der Ubergangsfunktion T eine Folge (sn)n≥0

von Zustanden:sn = Tn(s0), n ≥ 0.

3. Wir erzeugen die Zufallszahlen mit Hilfe der Ausgabefunktion g:

xn = g(sn), n ≥ 0.

Page 50: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

50 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

Es ist zu beachten, dass die Folge (xn)n≥0 vom gewahlten Startwert s0 abhangt.Die Elemente dieser Folge heißen (Pseudo-) Zufallszahlen zum Pseudozufallszah-lengenerator G = (S, T,O, g, s0).

1.82 BeispielWir betrachten ein einfaches Beispiel zur Illustration der Begriffe. Die dabeiverwendeten Parameterwerte sind fur die Praxis viel zu klein, es geht hier nurum die Erlauterung des Konzeptes.

Sei Z7 der Ring der Restklassen modulo 7. Wir identifizieren Z7 mit der Menge{0, 1, 2, 3, 4, 5, 6}, wobei diese Elemente nach den Regeln von Z7 addiert undmultipliziert werden.

S Z7 = {0, 1, 2, 3, 4, 5, 6}T T (s) = 3 · sO [0, 1[g g(s) = s/7s0 s0 = 2

Der Generator G = (S, T,O, g, s0) heißt ein multiplikativer linearer Kongruenz-generator mit Modul 7, Multiplikator 3 und Startwert s0 = 2.

Wir untersuchen nun die Folge (sn)n≥0 der Zustande zum Startwert s0 = 2:

s0 = 2 , s1 = 6, s2 = 4, s3 = 5, s4 = 1, s5 = 3, s6 = 2 , . . .

Die Folge der Zustande ist offensichtlich periodisch mit Periode 6.

Wenn wir als Multiplikator das Element 2 wahlen, dann ergibt sich eine andereFolge von Zustanden zum gleichen Startwert s0:

s0 = 2 , s1 = 4, s2 = 1, s3 = 2 , . . .

Wieder ist die Folge der Zustande periodisch, aber mit einer wesentlich kurzerenPeriode, namlich 3. Dahinter steckt naturlich ein zahlentheoretisches Prinzip.Sei a der Multiplikator des Generators. Dann gilt

sn = Tn(s0) = a · Tn−1(s0) = an · s0, n ≥ 0.

Die Ordnung des Elementes a in der multiplikativen Gruppe Z∗7 bestimmt of-fensichtlich die Lange der Periode der Folge (sn)n≥0.

Dies war ein Baby-Generator. Wir haben aber mit seiner Hilfe ein Prinzip er-kannt und verallgemeinern nun.

1.83 BeispielSei m ≥ 2 eine (sehr große) ganze Zahl. Typische Werte fur m sind in derPraxis m = 216, 231 − 1, 248, . . . Sei Zm der Ring der Restklassen modulo m.Wir identifizieren Zm mit der Menge {0, 1, . . . ,m − 1}, wobei diese Elementenach den Regeln von Zm addiert und multipliziert werden. Seien a 6≡ 0 (mod m)und b zwei ganze Zahlen.

Page 51: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.12. ZUFALLSZAHLEN 51

S Zm = {0, 1, . . . ,m− 1}T T (s) = a · s+ bO [0, 1[g g(s) = s/ms0 s0 ∈ Zm, fest

Der Generator G = (S, T,O, g, s0) heißt ein linearer Kongruenzgeneratormit Modul m, Multiplikator 2, additivem Term b und Startwert s0. Er wird inder Monte Carlo-Literatur meist in der Form LCG(m, a, b, s0) geschrieben.

Wie im Trivial-Beispiel von Z7, so entscheidet auch hier die Ordnung von auber die Periodenlange, siehe Niederreiter [Nie92] fur eine genaue Analyse derzahlentheoretischen Bedingungen.

Der LCG ist der klassische Pseudozufallszahlengenerator. Wie steht es ganzallgemein um die Periodenlange eines beliebigen PseudozufallszahlengeneratorsG = (S, T,O, g, s0)?

Wir weisen an dieser Stelle auf die Tatsache hin, dass es nur bei relativ einfachenUbergangsfunktionen T moglich ist, konkrete Aussagen uber die Periodenlangefur alle moglichen Startwerte s0 zu machen. Gerade bei kryptographischen Ge-neratoren ist die exakte Analyse der Periodenlange meist nicht moglich. Dieswird im nachsten Kapitel am Beispiel von AES deutlich werden.

1.84 Satz Sei G = (S, T,O, g, s0) ein Pseudozufallszahlengenerator. Dann istfur jeden Startwert s0 ∈ S die Zufallszahlenfolge (xn)n≥0 eine periodische Folge.

Beweis. Die Menge S ist endlich. Nach dem Schubfachprinzip existieren zweiZahlen n0 und t, n0 ≥ 0, t > 0, in der Weise, dass

Tn(s0) = Tn+t(s0) ∀ n ≥ n0.

Daher ist die Folge (sn)n≥0 periodisch. Als Konsequenz ist auch die Folge(xn)n≥0, xn = g(sn), periodisch. 2

Diese unumgangliche Tatsache scheint es auf den ersten Blick aussichtslos zumachen, auf dem Computer brauchbare Zufallszahlen zu erzeugen. Die Losungdes Problemes mit der Periodizitat ist aber einfach. Man verwendet Genera-toren, bei denen die Periodenlange so groß ist, dass auch die anspruchvollstenAnwendungen nur einen kleinen Bruchteil der Periode ausschopfen. Die derzeitbesten Generatoren fur die Monte Carlo Methode haben eine Periodenlangeuber 2128.

Wie erzeugt man nun konkret Zufallszahlen auf dem Computer? Alle Program-mierumgebungen und Programmbibliotheken bieten dafur Routinen an, zumBeispiel die NAG Library der Numerical Algorithms Group in Oxford:

� Link: http://www.nag.co.uk/numeric.html

die CERNLIB des Cern in Genf:

� Link: http://wwwinfo.cern.ch/asd/index.html

Page 52: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

52 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

das RANPACK des Pittsburgh Supercomputing Centre:

� Link: http://www.psc.edu/general/software/packages/ranpack/

und die Linksammlung von David Wagner (Berkeley):

� Link: http://www.cs.berkeley.edu/$\sim$daw/rnd/index.html

Hinter diesen Programmen zur Erzeugung von Zufallszahlen verbergen sich wiebereits gesagt nicht physikalische Prozesse, sondern deterministische Algorith-men.

Wie erzeugt man nun unvorhersagbare Zahlen mit einem deterministischen Al-gorithmus, bei dem die Startwerte bereits eindeutig alle weiteren Zufallszahlenfestlegen? Bei Kenntnis der Startwerte und Kenntnis des Algorithmus sind dieso erzeugten Zufallszahlen ja jederzeit reproduzierbar.

Eine Losung, die zum Beispiel im GSM-Bereich gewahlt wurde, besteht inder Geheimhaltung des Verfahrens. Derartige geheime Algorithmen bleiben derOffentlichkeit bestenfalls einige Monate verborgen. Diese Vorgangsweise ist inder Kryptographie seit dem 19. Jahrhundert als vollig sinnlos bekannt und esist erstaunlich, wie oft dieser alte Fehler immer wieder neu begangen wird,selbst von sehr großen Firmen oder Organisationen. Es muß namlich immer da-von ausgegangen werden, dass der Feind das verwendete Verfahren kennt. DieSicherheit darf nicht auf der Geheimhaltung des Verfahrens beruhen, sondernauf der Geheimhaltung des Schlussels. Dies ist das sogenannte KerkhoffschePrinzip.

Wir mussen also realistischerweise voraussetzen, dass der Feind den Algorithmuskennt, in unserem Fall also zumindest den Typ unseres Zufallszahlengenerators.Damit bleibt uns nur mehr die Geheimhaltung der Startwerte.

Zur Sicherheitsanalyse von Zufallszahlengeneratoren stellt sich sofort eine Fra-ge: warum schrankt man sich hier auf die Praxis ein und verzichtet auf einetheoretische Analyse? Eine Bedingung wie “ Zufallszahlen sollten weder theore-tisch noch praktisch von Realisierungen . . . (siehe oben) zu unterscheiden sein”ware doch naheliegend. Derartige “Definitionen” von kryptographisch sicherenZufallszahlen finden sich in zahlreichen Publikationen zu diesem Thema. Tat-sache ist, dass fur die in der Praxis verwendeten Generatoren ein theoretischerNachweis der “Zufalligkeit” der erzeugten Zahlen nicht durchfuhrbar ist. Leiderzahlen fast alle kryptographischen Zufallszahlengeneratoren zu dieser Gruppe.Wir verfugen heute nicht uber die Methoden, bestimmte Algorithmen (wie zumBeispiel AES) bezuglich Zufalligkeit theoretisch zu untersuchen. Außerdem istanzumerken, dass ungeklart ist, was man unter “zufallig” verstehen soll. Eingeflugeltes Wort in diesem Gebiet lautet

“Randomness is in the eye of the beholder”.

Die Situation ist zwar ernst, aber nicht hoffnungslos. Sie gleicht der Situati-on in allen anderen angewandten Disziplinen. Selbst wenn eine theoretische(Korrelations-)Analyse fur manche Generatoren nicht moglich ist, so bleibt stetsnoch die empirische Korrelationsanalyse, das statistische Testen. Dieser empiri-schen Analyse liegt die berechtigte Hoffnung zugrunde, dass (wenn es um sto-chastische Simulation geht) gut gewahlte Tests viele Simulationsprobleme der

Page 53: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.12. ZUFALLSZAHLEN 53

numerischen Praxis reprasentieren, und andererseits (wenn es um die kryptogra-phische Sicherheit geht) diese Tests sehr zuverlassig Alarm geben werden, wennstatistisch aufallige Strukturen innerhalb der erzeugten Zufallszahlen vorliegen.Das Erkennen von (mathematischen) Strukturen in den Daten bedeutet ja dasErkennen von Korrelationen. Dies ware bereits ein moglicher Ansatzpunkt furdas Brechen des Chiffrierverfahrens, das diese Zufallszahlen verwendet. Eineder fruheren PGP-Versionen hatte das Problem, dass bei fur die Erzeugung derPrimzahlen, die man zur Generierung des Schlusselpaares benotigt, ein schlech-ter Zufallszahlengenerator verwendet wurde. Stellen Sie sich das Problem vor,das sich ergibt, wenn unter den vielen moglichen Primzahlen mit L Stellen(z.B. L = 500) bei dieser (Pseudo-) Zufallsauswahl nur immer einige wenigeausgewahlt werden. Derart katastrophal war das Problem bei PGP zwar nicht,aber es schrankte die Auswahl der Kandidaten doch so stark ein, dass es einSicherheitsproblem bedeutete.

Wir kehren nun zum linearen Kongruenzgenerator zuruck und fuhren an ihmeinige Phanomene vor. Der LCG ist das wichtigste Beispiel eines Zufallszahlen-generators fur die Monte Carlo Methode, also fur die stochastische Simulationauf dem Computer. An ihm laßt sich sehr gut demonstrieren, wie sich auf de-terministische Weise sehr gute und, falls man nicht vorsichtig ist, sehr schlechteZufallszahlen erzeugen lassen.

Die ubliche Art, einen LCG zu definieren, sieht wie folgt aus. Ein LCG wirddurch eine Rekurrenz erster Ordnung definiert:

yn+1 ≡ ayn + b (mod m), n ≥ 0,

wobei die Parameter m, a, b, und y0 nichtnegative ganze Zahlen sind. DieserGenerator wird dann mit LCG(m, a, b, y0) bezeichnet. Die zahlentheoretischeBeziehung zwischen dem Modul m, dem Multiplikator a, dem additiven Termb und dem Startwert y0 entscheidet uber die Lange der Periode der Folge(yn)n≥0 ganzer Zahlen und uber die statistische Qualitat der Zufallszahlenxn := yn/m ∈ [0, 1[. LCGs verhalten sich extrem sensibel gegenuber der Wahlder Parameter a und m. Typisch fur diesen linearen Typ von Generator sinddie linearen Punktstrukturen, die erzeugt werden. Wenn man zum Beispiel allemoglichen Vektoren der Gestalt

xn := (xn, xn+1, . . . , xn+d−1) ∈ [0, 1[d, n ≥ 0, (1.15)

betrachtet (“uberlappende” d-Tupel), dann erhalt man auf diese Weise sehr re-gelmaßig verteilte Punkte im d-dimensionalen Einheitswurfel, wie die folgendenbeiden Beispiele weit verbreiteter Generatoren in Dimension d = 2 zeigen (sieheAbbildung 1.20). Deutlich erkennbar ist der große Einfluß der Parameter auf diePunktverteilung.

Im nachsten Beispiel studieren wir die Verteilung einer Stichprobe von N =215 Punkten von “Randu”, dem Generator LCG(231,65539,0,1) in Dimensi-on zwei und drei, wobei die d-Tupel dieses Mal nach der Vorschrift xn :=(xnd, xnd+1, . . . , xnd+d−1) ∈ [0, 1[d, n ≥ 0, (“nichtuberlappende” Tupel) ge-bildet werden (siehe Abbildung 1.21). Wahrend die Stichprobe in Dimensi-on zwei zumindest fur das Auge unauffallig erscheint, enthullt die Darstel-lung in Dimension drei die starken Korrelationen zwischen den Zufallszahlen1.

1Diese beiden Graphiken stammen aus Hellekalek [Hel98a]

Page 54: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

54 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

0.4996 0.4998 0.5 0.5002 0.5004

0.4996

0.4998

0.5

0.5002

0.5004

0.4996 0.4998 0.5 0.5002 0.5004

0.4996

0.4998

0.5

0.5002

0.5004

LCG(231 − 1,16807,0,1) LCG(231,1103515245,12345,1)Minimal Standard ANSI C

Abbildung 1.20: Zwei LCGs

Trotz eindrucklicher Warnungen, zum Beispiel in der “Bibel” der Zufallszah-len Knuth[Knu98], halt sich dieser Generator weiterhin hartnackig in der Lehr-buchliteratur und damit auch in der Praxis.

0.46 0.48 0.5 0.52 0.54

0.46

0.48

0.5

0.52

0.54

LCG(231,65539,0,1) LCG(231,65539,0,1)Zoom in das Einheitsintervall Die 15 Ebenen von Randu in [0, 1[3

Abbildung 1.21: Randu im Dimension 2 und 3

Die vorhin skizzierten Regelmaßigkeiten in der erzeugten Punktstruktur sindtypisch fur den LCG und seine Verallgemeinerungen, die sogenannten mehrfach-rekursiven Generatoren, siehe L’Ecuyer et al. [L’E98].

Jeder Standardgenerator erzeugt also periodische Folgen von Zufallszahlen. Jenach dem verwendeten Algorithmus treten die Regelmaßigkeiten bereits bei klei-neren oder großeren Stichprobengroßen N auf, siehe dazu L’Ecuyer und Helle-kalek [LH98]. Eine gangige “Daumenregel” besagt, daß bei linearen Generatorenwie dem LCG oder MRG ab etwa N =

√T , T die Periode des Generators, zahl-

reiche Verteilungen nicht mehr genugend genau simuliert werden konnen. DieRegelmaßigkeiten dieser Generatortypen beginnen sich in vielen Simulationen abetwa dieser Stichprobengroße ungunstig auf die Ergebnisse auszuwirken. DiesesProblem laßt sich auf drei Arten losen. Zum einen kann man lineare Generato-

Page 55: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.12. ZUFALLSZAHLEN 55

ren mit extrem großen Perioden verwenden, siehe dazu L’Ecuyer [L’E98, LA97]und Matsumoto und Nishimura [MN98],

� Link: http://www.math.keio.ac.jp/$\sim$matumoto/emt.html

fur konkrete Beispiele. Diese Generatoren sind trotz ihrer extremen Periodensehr schnell. Nichtlineare, insbesondere inverse Zufallszahlengeneratoren bie-ten eine andere, zahlentheoretisch besonders reizvolle Alternative. Eichenauer-Herrmann und Niederreiter haben dieses Thema sehr umfassend behandelt, sie-he die Uberblicksartikel [EHHW97, Nie95, Hel95].

Wie beurteilt man die Qualitat eines Zufallszahlengenerators? Hier gibt es meh-rere Ebenen, als erste die theoretische Analyse des Generators, dann das empi-rische (statistische) Testen und schließlich die Bewertung praktisch relevanterEigenschaften wie numerische Effizienz, Verhalten bei Parallelisierungsstrategi-en oder Portabilitat.

Die Grundidee des theoretischen Testens ist einfach. Zur Uberprufung von Kor-relationen zwischen den Zufallszahlen xn ∈ [0, 1[ bildet man auf verschiedeneWeise d-Tupel xn ∈ [0, 1[d, zum Beispiel wie in (1.15) angegeben. Man erhaltauf diese Weise –wegen der Periodizitat des Generators– endliche Punktfolgenωd = (xn)N−1

n=0 im d-dimensionalen Einheitswurfel [0, 1[d, die annahernd gleich-verteilt sein sollten. Daruber, wie gut die Gleichverteilung angenahert werdensoll, gibt es zwei verschiedene Ansichten, siehe dazu die Darstellung in Hellekalek[Hel98a]. Im Fall linearer Generatoren kann man auf Grund ihrer Gitterstruktursehr interessante Methoden der Geometrie der Zahlen verwenden, um zu einemgegebenen Generator und gegebener Dimension d ein konkretes Gutemaß zu be-rechnen. Der wichtigste Gutebegriff in diesem Zusammenhang heißt Spektraltest,siehe Hellekalek [Hel98b] fur einen Uberblick.

Wahrend sich mit dem Spektraltest nur Generatoren mit Gitterstruktur beurtei-len lassen, erlaubt die aus der Theorie der Gleichverteilung von Folgen bekannteDiskrepanz zumindest theoretisch die Bewertung beliebiger Punktmengen ωdund damit beliebiger Generatoren. Es ist damit moglich, fast alle derzeit be-kannten Generatortypen im Monte Carlo Bereich sowie einige eher theoretischals praktisch interessante kryptographische Generatoren zu analysieren. Leiderist diese Art von theoretischer Korrelationsanalyse fur keinen der derzeit in derPraxis ublichen kryptographischen Generatoren bekannt.

Die theoretische Analyse der Monte Carlo Generatoren ist namlich deswegen er-folgreich, da diese Algorithmen auf sehr einfachen Rekursionen beruhen und da-mit zahlreiche zahlentheoretische Methoden anwendbar sind. Die Algorithmender Monte Carlo Methoden sind zwar raffiniert genug, um statistische Testszu tauschen, die innere Struktur dieser Zufallszahlen ist aber zu simpel, umkryptanalytischen Methoden zu widerstehen.

Kryptographische Generatoren werden so konstruiert, dass sie nicht nur die sta-tistischen Tests uberlisten, sondern dass die erzeugten Zufallszahlen moglichstkeine Struktur besitzen. Da also keine mathematisch einfach beschreibbarenStrukturen (wie Punkte auf Hyperebenen etc.) vorliegen, wird die theoretischeAnalyse unmoglich. Wir haben keine Regelmaßigkeiten in der Hand, mit denenwir mathematische Beweise fuhren konnten. Umgekehrt lassen sich aus genaudiesem Grund keine Beweise fur die praktische Sicherheit dieser Generatoren

Page 56: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

56 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

angeben. Ein Restrisiko bleibt trotz der ausgefeilten Konstruktionsprinzipienbestehen. Irgendwann in der Zukunft wird es moglich sein, einen neuen Typvon mathematischer Struktur in den Zufallszahlen zu entdecken, den wir heutenoch nicht kennen. Er konnte dann ein geeigneter Angriffspunkt sein.

Der Generator von Blum, Blum und Shub [BBS86] (BBS-Generator) gilt alseiner der wichtigsten kryptographischen Generatoren. Er ist aber vor allem vonrein theoretischem Interesse und fur die Praxis kaum relevant. Er ist wie folgtdefiniert. Seien p und q zwei verschiedene Primzahlen, beide kongruent 3 modulon, wobei n = pq. Fur eine nichtnegative ganze Zahl a bezeichne LSB(a) dasleast significant bit in der Binarentwicklung von a, also das Bit a0, falls a =∑j≥0 aj 2j . Die Komponenten des BBS-Generators lauten:

S Zn = {0, 1, . . . , n− 1}T T (s) = s2

O {0, 1}g g(s) = LSB(s)s0 s0 ∈ Zm \ {0}, zufallig

Die Periodenlange konkreter Ausgabestrome ist nicht bekannt, allerdings exi-stieren probabilistische Resultate.

Der RSA-Generator oder Power-Generator ist am RSA-Verfahren angelehnt.Seien p und q zwei verschiedene Primzahlen und sei n = pq. Sei e eine festeganze Zahl mit 1 < e < ϕ(n) und (e, ϕ(n)) = 1. Die Komponenten des RSA-Generators lauten:

S Zn = {0, 1, . . . , n− 1}T T (s) = se

O {0, 1}g g(s) = LSB(s)s0 s0 ∈ Zm \ {0}, zufallig

Auch fur diesen Generator kennt man keine exakten Resultate zur Periodenlangekonkreter Ausgabestrome, jedoch konnte eine Reihe von schonen zahlentheore-tischen Aussagen bewiesen werden (siehe [NS02]).

Unter der Adresse http://www.ecrypt.eu.org/stream/index.html finden Siefolgenden Text:

This is the home page for eSTREAM, the ECRYPT Stream CipherProject. This is a multi-year effort to identify new stream ciphersthat might become suitable for widespread adoption. All informationon the stream cipher project can be found on this site.

Mit anderen Worten, eSTREAM ist ein europaisches Projekt, in dem Vorschlagefur neue Stromchiffren diskutiert werden. Einerseits wurden aus der ganzen Weltdiverse Stromchiffren vorgeschlagen, andererseits treffen aus der ganzen WeltAnalysen und manchmal sogar Attacken auf diese Algorithmen ein.

Wir werden aus den Vorschlagen fur Stromchiffren den Algorithmus CryptMTin der Version 2 vorstellen. Diese Stromchiffre stammt von Matsumoto, Saito,

Page 57: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

1.12. ZUFALLSZAHLEN 57

Nishimura und Hagita [MSNH06]. Die Autoren stellen im Abstract zur Arbeitfest:

As a pseudorandom number generator (PRNG) for a stream cipher,we propose a combination of (1) an F2-linear generator of a wordsi-ze integer sequence with huge state space, and (2) a filter with onewordsize memory, based on the accumulative integer multiplicationand extracting some most significant bits from the memory. We pro-posed CryptMT as an example. Merits of this type of generators are(1) the strength against various attacks assured by the huge state, (2)assurance on the period and the distribution, and (3) high algebraicdegree and nonlinearity obtained by the integer multiplication.

In ihrer Sicherheitsanalyse des eigenen Generators CryptMT behaupten die Au-toren (siehe [MSNH05]):

CryptMT (Cryptographic Mersenne Twister) is an 8-bit pseudoran-dom integer generator for a stream cipher. It combines an F2-lineargenerator of period 219937−1 and a multiplicative filter with 32-bitmemory. We analyze its security against some standard cryptanaly-tic attacks for filter generators. It is proved that CryptMT has strongresistance against them: CryptMT has a period of 219937−1, the cor-relations among the consecutive 624-bytes of outputs are of order2−19937, the algebraic degree of the output bits with respect to thebits in Key and IV is expected to near to the size of Key and IV.The Key size and IV size are variable, up to 2048-bit for each. Weclaim that CryptMT has the same security level with the minimumof the key size and the IV size. CryptMT is 1.52.0 times faster thanthe optimized AES CTR mode with 256-bit security level.

Wir beschreiben nun den Algorithmus, der CryptMT zugrunde liegt.

1.85 Definition (CryptMT)Das Konzept:Sei S ein Vektorraum und sei T : S → S eine lineare Abbildung und sei s0, s1, . . .die Folge si+1 = T (si), i ≥ 0. Sei Y eine endliche Menge. Y sei die Mengeder moglichen Zustande des Speichers des Filters. Sei y0 ein Startzustand imSpeicher und sei f folgende Ubergangsfunktion fur Y :

f : Y ×X → Y,

yi+1 = f(yi, si).

Die Ausgabefunktion g operiere auf Y , g : Y → O.

Die Details:

S = F322

T = Mersenne Twister

f(y, x) = y · (x|1) (mod 232)g(y) = 8 MSB von y,

Page 58: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

58 KAPITEL 1. GRUNDLAGEN UND HISTORISCHE VERFAHREN

wobei (x|1) jene ganze Zahl bezeichnet, die aus x hervorgeht, wenn das LSBgleich 1 gesetzt wurde, und “8 MSB von y” die acht MSB der ganzen Zahl ybezeichnet. Zum Start wird der IV (initial value) y0 als eine beliebige ungeradeZahl gewahlt.

Fur die weitere Diskussion von CryptMT wird auf die eSTREAM-Webseiteverwiesen:

� Link: http://www.ecrypt.eu.org/stream/index.html

Fur jene Leser, denen (Pseudo-)Zufallszahlen weiterhin suspekt sind und die“echte” Zufallszahlen bevorzugen (Was ist hier mit “echt” eigentlich gemeint?Siehe dazu Kac [Kac83]), empfehle ich einen Blick auf die “HOT BITS” von JohnWalker. Es handelt sich hier um Bits (und Bytes), die aus einem radioaktivenZerfallsprozeß stammen. Sie sind von der folgenden Seite zu beziehen:

� Link: http://www.fourmilab.ch/hotbits/

Page 59: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

Literaturverzeichnis

[Bau97] F. L. Bauer. Decrypted Secrets. Springer, Berlin, 1997.

[BBS86] L. Blum, M. Blum, and M. Shub. A simple unpredictable pseudo-random number generator. SIAM J. Comput., 15:364–383, 1986.

[Buc01] J. Buchmann. Einfuhrung in die Kryptographie. Springer Verlag,2nd edition, 2001.

[Cal94] C. Calude. Information and Randomness. Springer Verlag, 1994.

[EHHW97] J. Eichenauer-Herrmann, E. Herrmann, and S. Wegenkittl. A sur-vey of quadratic and inversive congruential pseudorandom numbers.volume 127 of Springer Lecture Notes in Statistics, pages 66–97.Springer, New York, 1997.

[Ert01] W. Ertel. Angewandte Kryptographie. Vieweg, Braunschweig, 2001.

[Fis96a] G. Fischer. Casarcode, Vigenerecode und Shannons Zugang zurKryptographie. Master’s thesis, University of Salzburg, 1996. [Sehrempfehlenswerte Arbeit!].

[Fis96b] G.S. Fishman. Monte Carlo: Concepts, Algorithms, and Applicati-ons. Springer, New York, 1996.

[Hel95] P. Hellekalek. Inversive pseudorandom number generators: concepts,results, and links. In C. Alexopoulos, K. Kang, W.R. Lilegdon, andD. Goldsman, editors, Proceedings of the 1995 Winter SimulationConference, pages 255–262, 1995.

[Hel98a] P. Hellekalek. Good random number generators are (not so) easy tofind. Mathematics and Computers in Simulation, 46:485–505, 1998.

[Hel98b] P. Hellekalek. On the assessment of random and quasi-random pointsets. In Hellekalek and Larcher [HL98], pages 49–108.

[Hil86] R. Hill. A First Course in Coding Theory. Clarendon Press, Oxford,1986.

[HL98] P. Hellekalek and G. Larcher, editors. Random and Quasi-RandomPoint Sets, volume 138 of Springer Lecture Notes in Statistics.Springer, New York, 1998.

[Kac83] M. Kac. What is random? American Scientist, 71:405–406, 1983.

59

Page 60: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

60 LITERATURVERZEICHNIS

[Knu98] D.E. Knuth. The Art of Computer Programming, Vol. 2. Addison-Wesley, Reading, Mass., third edition, 1998.

[LA97] P. L’Ecuyer and T.H. Andres. A random number generator basedon the combination of four LCGs. Mathematics and Computers inSimulation, 44:99–107, 1997.

[L’E98] P. L’Ecuyer. Random number generation. In Jerry Banks, editor,The Handbook of Simulation, pages 93–137. Wiley, New York, 1998.

[LH98] P. L’Ecuyer and P. Hellekalek. Testing random number generators.In Hellekalek and Larcher [HL98], pages 223–265.

[MN98] M. Matsumoto and T. Nishimura. Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number ge-nerator. ACM Trans. Modeling and Computer Simulation, 8:3–30,1998.

[MSNH05] M. Matsumoto, M. Saito, T. Nishimura, and M. Hagita. Crypt-analysis of CryptMT: effect of huge prime period and multiplica-tive filter. eSTREAM, ECRYPT Stream Cipher Project, Report2005/083, 2005. http://www.ecrypt.eu.org/stream.

[MSNH06] M. Matsumoto, M. Saito, T. Nishimura, and M. Hagita. CryptMTVersion 2.0: A large state generator with faster initialization.eSTREAM, ECRYPT Stream Cipher Project, Report 2006/023,2006. http://www.ecrypt.eu.org/stream.

[Nie92] H. Niederreiter. Random Number Generation and Quasi-MonteCarlo Methods. SIAM, Philadelphia, 1992.

[Nie95] H. Niederreiter. New developments in uniform pseudorandom num-ber and vector generation. In H. Niederreiter and P.J.-S. Shiue,editors, Monte Carlo and Quasi-Monte Carlo Methods in ScientificComputing, volume 106 of Lecture Notes in Statistics, pages 87–120.Springer, New York, 1995.

[NS02] H. Niederreiter and I. E. Shparlinski. Recent advances in the theoryof nonlinear pseudorandom number generators. In K.-T. Fang, F.J.Hickernell, and H. Niederreiter, editors, Monte Carlo and Quasi-Monte Carlo Methods 2000, pages 86–102. Springer, New York,2002.

[Sha49] C. E. Shannon. Communication theory of secrecy systems. BellSys. Tech. J., 28:656–715, 1949.

[Sob83] I.M. Sobol. Die Monte-Carlo-Methode. VEB Deutscher Verlag derWissenschaften, 1983.

[Sti06] D. R. Stinson. Cryptography. Chapman and Hall/CRC Press, BocaRaton, 3rd edition, 2006.

[TW06] W. Trappe and L. Washington. Introduction to Cryptography withCoding Theory. Pearson Prentice Hall, 2nd edition, 2006.

Page 61: Vorlesung Kryptologie: Kapitel 1: Historische Chiffren

LITERATURVERZEICHNIS 61

[Vau06] S. Vaudenay. A Classical Introduction to Cryptography. Springer,2006.

[Wel88] D. Welsh. Codes and Cryptography. Oxford Science Publ., 1988.