Eine Einführung in die elementare Zahlentheorie

stud.uni.hannover.de

Eine Einführung in die elementare Zahlentheorie

Eine Einführung in die elementare Zahlentheorie

Florian Modler

6. Juni 2010


Inhaltsverzeichnis

1 Einführung 5

2 Teilbarkeit 6

2.1 Eigenschaften der Teilbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Teilbarkeitsregeln im Dezimalsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Weiter in der Teilbarkeitstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4 Der euklidische Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 Diophantische Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.6 Teilbarkeit mittels vollständiger Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Primzahlen 14

3.1 Es gibt unendlich viele Primzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2 Fundamentalsatz der Zahlentheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Kryptographie 17

4.1 Einführung und Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2 Die Geschichte der Kryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3 Grundlagen und erste Erkentnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3.1 Wichtige Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3.2 Verschlüsselung und Entschlüsselung . . . . . . . . . . . . . . . . . . . . . . . . 20

4.4 Klassische Kryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.4.1 Transpositionschiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.4.2 Verschiebechiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.4.3 Monoalphabetische Chiffrierungen . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.4.4 Polyalphabetische Chiffrierungen . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.4.5 Das One-Time-Pad (OTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.5 Kryptoanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.5.1 Brute Force Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.5.2 Known Ciphertext Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.5.3 Known Plaintext Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.5.4 Chosten Plaintext Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.5.5 Chosen Ciphertext Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.5.6 Adaptive Chosen Plaintext Attack . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.5.7 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.6 Moderne Kryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.6.1 DES (Data Encryption Standard) . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.6.2 AES (Advanced Encryption Standard) . . . . . . . . . . . . . . . . . . . . . . . . 31

4.6.3 Public Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.6.4 RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2


Inhaltsverzeichnis

4.7 Ausblick: Der Quantencomputer - gibt es die absolute Sicherheit? . . . . . . . . . . . . . 35

5 Abschluss 37

Literaturverzeichnis 38

3


Vorwort

Wer würde nicht gerne eine Million Dollar gewinnen? Soviel gäbe es nämlich für den Beweis der Riemannschen

Vermutung, welche mit der Verteilung der Primzahlen zusammenhängt. Wenngleich wir diese

Vermutung nicht beweisen werden (schade eigentlich, oder? :-)), werdem wir uns in dieser AG mit dem

interessanten Gebiet der Zahlentheorie beschäftigen, ein paar elementare Begriffe einführen und recht

schöne Sätze beweisen, um bei euch Interesse zu wecken. Wir wünschen viel Spaß mit der „Königsdisziplin

der Mathematik„.

4


Kapitel 1

Einführung

In der Zahlentheorie beschäftigt man sich grob gesagt zum Beispiel mit

den Eigenschaften und Beziehungen von Zahlen (auch in der Algebra wichtig)

den natürlichen Zahlen und deren Eigenschaften (Teilbarkeitsregeln etc.)

der Kryptographie, also mit der Verschlüsselung bestimmter Prozesse als praktische Anwendung

resultierend aus der Zahlentheorie.

Wir wollen noch etwas zu den Teilgebieten der Zahlentheorie sagen: Zum einen gibt es dort die elementare

Zahlentheorie, die sich durch die Eigenschaften der ganzen Zahlen und vor allem mit der

Primfaktorzerlegung, Teilbarkeit und das Rechnen mit Kongruenzen beschäftigt. Sie wird es sein, auf die

wir unser Augenmerk in dieser AG legen werden. Wichtige Ergebnisse sind der kleine Satz von Fermat

und dessen Verallgemeinerung, der Satz von Euler, der Satz von Wilson und der euklidische Algorithmus.

Ein weiteres Teilgebiet ist die analytische Zahlentheorie, bei der man Methoden aus der Analysis und

der Funktionentheorie benutzt, um zahlentheoretische Fragestellungen zu lösen. Wichtige Probleme, die

mit analytischen Methoden gelöst wurden, betreffen meist statistische Fragen nach der Verteilung der

Primzahlen, wie zum Beispiel der von Gauß vermutete, aber erst Ende des 19. Jahrhunderst bewiesene

Primzahlsatz. Daneben dienten analytische Methoden auch dazu, die Transzendenz von Zahlen wie

der Kreiszahl π oder der eulerschen Zahl e nachzuweisen. Im Zusammenhang mit dem Primzahlsatz

tauchten auch die Zeta-Funktion auf, die heute Gegenstand sowohl analytischer als auch algebraischer

Forschung sind. Die wohl berühmteste Zeta-Funktion ist die Riemannsche Zeta-Funktion, Ausgangspunkt

der Riemannschen Vermutung. Ihr wisst schon: Die Vermutung, mit dessen Beweis ihr eine Million Dollar

erhalten könnt :-P. Weiteres Teilgebiet der Zahlentheorie ist die algebraische Zahlentheorie. Einen

der großen Meilensteine der Zahlentheorie bildete die Entdeckung des quadratischen Reziprozitätsgesetzes.

Es zeigte, dass man Fragen der Lösbarkeit diophantischer Gleichungen in den ganzen Zahlen durch

den Übergang zu anderen Zahlbereichen einfacher lösen kann. Auf solche Gleichungen werden wir auch

noch zu sprechen kommen. Ein letztes Gebiet wird als algorithmische Zahlentheorie bezeichnet. Dies

ist ein Zweig der Zahlentheorie, der mit dem Aufkommen von Computern auf breites Interesse stieß. Sie

beschäftigt sich damit, wie zahlentheoretische Probleme algorithmisch effizient umgesetzt werden können.

Auch die Anwendung der Zahlentheorie ist heute von enormer Bedeutung: Man denke dabei nur

an die modernen asymmetrischen Kryptographiesysteme, wie den RSA-Algorithmus, dessen Sicherheit

letztendlich auf dem Teilbarkeitsproblem basiert. Wir werden ihn uns am Ende der AG als Anwendung

des Gelernten anschauen.

5


Kapitel 2

Teilbarkeit

Teilbarkeit ist eine mathematische Beziehung zwischen zwei ganzen Zahlen. Eine ganze Zahl ist genau

dann durch eine andere ganze Zahl teilbar, wenn bei der Division kein Rest verbleibt, also die „Geteilt-

Rechnung“aufgeht. Mathematisch definiert man dies wie folgt.

Definition 2.1 (Teilbarkeit) Seien a, b ∈ N. Man sagt b teilt a (geschrieben b|a), wenn es ein c ∈ N gibt,

so dass a = b · c. b heißt Teiler von a und a heißt Vielfaches von b. Ab und an bezeichnen wir c als

Komplementärteiler von a bezüglich b.

Beispiel: Beispielsweise ist die Zahl 8 durch 4 teilbar, da 8 : 4 genau 2 ergibt. In diesem Fall ist c = 2.

Die Zahl 9 dagegen ist nicht durch 4 teilbar, weil die 4 zweimal in die 9 passt, aber der Rest 1 übrig bleibt.

Oder mathematisch formuliert. Es existiert kein c ∈ N, sodass 9 = c · 4 gilt.

2.1 Eigenschaften der Teilbarkeit

Wir wollen ein paar Eigenschaften der Teilbarkeit zusammenstellen. Zuvor eine Definition.

Jede Zahl besitzt mindestens ihre trivialen Teiler, insbesondere sind 1 und −1 Teiler jeder ganzen

Zahl.

Jede ganze Zahl (je nach Definition außer der Null) ist ein Teiler der 0.

Jede ganze Zahl (je nach Definition außer der Null) teilt sich selbst.

Der kleinste positive Teil ≠ 1 einer ganzen Zahl ist ein Primteiler.

Seien a, b, c und d ganze Zahlen. Dann gelten die folgenden Aussagen

Gilt a|b, so gilt auch −a|b und a| − b. Man kann sich also bei der Untersuchung des Teilbarkeitsbegriffes

auf natürliche Zahlen beschränken.

Gilt a|b und b|c, so folgt a|c.

Für k ∈ Z \ {0} gilt

a|b ⇔ ka|kb.

Gilt a|b und c|d, so gilt auch ac|bd.

Gilt a|b und a|c, so gilt auch a|kb + lc für alle ganzen Zahlen k und l.

Gilt a|b und b|a, so ist a = b oder a = −b.

Ein paar Beispiele.

Beispiel: Teilt beispielsweise die 2 die 4 und die 4 die 8, so teilt 2 auch die 8.

6


2.2 Teilbarkeitsregeln im Dezimalsystem

2.2 Teilbarkeitsregeln im Dezimalsystem

Zweierpotenzen

Eine Zahl ist genau dann durch 2 teilbar, wenn ihre letzte Ziffer gerade ist.

Eine Zahl ist genau dann durch 4 teilbar, wenn die Zahl, die aus ihren letzten beiden Ziffern gebildet

wird, durch 4 teilbar ist.

Eine Zahl ist genau dann durch 8 teilbar, wenn die Zahl, die aus ihren letzten drei Ziffern gebildet

wird, durch 8 teilbar ist.

Allgemein ist eine Zahl genau dann durch 2 n teilbar, wenn die Zahl, die aus ihren letzten n Ziffern

gebildet wird, durch 2 n teilbar ist.

Fünferpotenzen

Eine Zahl ist genau dann durch 5 teilbar, wenn ihre letzte Ziffer durch 5 teilbar ist (0 oder 5).

Eine Zahl ist genau dann durch 25 teilbar, wenn die Zahl, die aus ihren letzten beiden Ziffern

gebildet wird, durch 25 teilbar ist.

Eine Zahl ist genau dann durch 125 teilbar, wenn die Zahl, die aus ihren letzten drei Ziffern gebildet

wird, durch 125 teilbar ist.

Allgemein ist eine Zahl genau dann durch 5 n teilbar, wenn die Zahl, die aus ihren letzten n Ziffern

gebildet wird, durch 5 n teilbar ist.

Zehnerpotenzen

Eine Zahl ist genau dann durch 10 teilbar, wenn ihre letzte Ziffer eine 0 ist.

Eine Zahl ist genau dann durch 100 teilbar, wenn die Zahl mit 00 endet.

Eine Zahl ist genau dann durch 1000 teilbarm, wenn die Zahl mit 000 endet.

Allgemein ist eine Zahl genau dann durch 10 n teilbar, wenn ihre letzten n Ziffern jeweils 0 sind.

Produkte aus Zweier- und Fünferpotenzen

Eine Zahl ist genau dann durch 20 teilbar, wenn ihre vorletzte Ziffer gerade ist und ihre letzte Ziffer

eine Null ist.

Eine Zahl ist genau dann durch 40 teilbar, wenn die Zahl, die aus der drittletzten und vorletzten

Ziffer gebildet wird, durch 4 teilbar ist und die letzte Ziffer eine 0 ist.

Eine Zahl ist genau dann durch 50 teilbar, wenn die Zahl auf 00 oder 50 endet.

Allgemein ist eine Zahl genau dann durch 2 m 5 n teilbar, wenn die Zahl, die aus ihren letzten

max(m, n) Ziffern gebildet wird, durch 2 m 5 n teilbar ist.

7


2.2 Teilbarkeitsregeln im Dezimalsystem

Teilbarkeitsregeln basierend auf Quersummen

Eine Zahl ist genau dann durch 11 teilbar, wenn ihre nichtalternierende 2er-Quersumme durch 11

teilbar ist.

Eine Zahl ist genau dann durch 9 teilbar, wenn ihre Quersumme durch 9 teilbar ist.

Eine Zahl ist genau dann durch 11 teilbar, wenn ihre alternierende Quersumme durch 11 teilbar

ist.

Eine Zahl ist genau dann durch 101 teilbar, wenn ihre alternierende 2er-Quersumme durch 101

teilbar ist.

Weitere wichtige Regeln

Eine Zahl ist genau dann durch 6 teilbar, wenn sie durch 2 und durch 3 teilbar ist.

Eine Zahl ist genau dann durch 13 teilbar, wenn ihre alternierende 3er-Quersumme durch 13 teilbar

ist.

Eine Zahl ist genau dann durch 17 teilbar, wenn ihre alternierende 8er-Quersumme durch 17 teilbar

ist.

Eine Zahl ist genau dann durch 19 teilbar, wenn ihre alternierende 9er-Quersumme durch 19 teilbar

ist.

...

Zum Schluss noch ein kleines Rätsel:

Beispiel: Es gibt nur eine neunstellige Zahl, bei der jede Ziffer von 1 bis 9 genau einmal vorkommt,

und bei der die erste Ziffer durch 1, die Zahl aus den ersten beiden Ziffern durch 2, die Zahl aus den

ersten 3 Ziffern durch 3, . . . und die ganze Zahl durch 9 ohne Rest teilbar ist. Welche Zahl ist das? Die

gesuchte neunstellige Zahl ist immer durch 9 teilbar, weil die Quersumme immer 45 beträgt und durch 9

teilbar ist. Nur eine Zahl, die mit 5 endet, ist durch 5 teilbar. Also muss die fünfte Ziffer eine 5 sein. Die

Ziffern an den Plätzen 2, 4, 6 und 8 müssen gerade sein, weil die entsprechenden Zahlen durch gerade

Zahlen teilbar sein müssen. Die ungeraden Ziffern stehen dann an den 5 restlichen Plätzen. An Platz 4

kann nur eine 2 oder 6 stehen, weil keine der verbleibenden Möglichkeiten durch 4 teilbar sein kann:

??14, ??34, ??74, ??94oder??18, ??38, ??78, ??98.

Die Summe der Ziffern an Platz 4, 5 und 6 muss durch 3 teilbar sein, da sonst nicht die Zahl aus den

ersten 3 Ziffern und gleichzeitig die Zahl aus den ersten 6 Ziffern durch 3 teilbar sein kann. Wenn an

Platz 4 eine 2 steht, muss an Platz 6 eine 8 stehen. Wenn an Platz 4 eine 6 steht, muss an Platz 6 eine 4

stehen. Es geht also nur ???258??? (Fall 1) oder ???654??? (Fall 2).

Fall 1: An Platz 8 kann keine 4 stehen, weil ???25814, ???25834, ???25874und???25894 nicht durch 8

teilbar sind. Es geht nur ?4?25816? oder ?4?25896?. Die Summe der ersten 3 Ziffern muss durch

8


2.3 Weiter in der Teilbarkeitstheorie

3 teilbar sein. Das geht neben der 4 nur mit den zusätzlichen Ziffern 1 und 7. Es bleiben also nur

147258963 und 741258963. Allerdings ist die aus den ersten 7 Ziffern gebildete Zahl nie durch 7

teilbar. Fall 1 scheidet also aus!

Fall 2: An Platz 8 kann keine 8 stehen, weil ???65418, ???65438, ???65478 und ???65498 nicht durch 8

teilbar sind. Es geht nur ?8?65432? oder ?8?65472?. Die Summe der ersten 3 Ziffern muss durch

3 teilbar sein. Es bleiben nur folgende Möglichkeiten:

183654729, 381654729, 189654327, 189654723, 981654327, 981654723, 789654321, 987654321

Allerdings ist nur einmal die aus den ersten 7 Ziffern gebildete Zahl durch 7 teilbar.

Die einzige Lösung lautet deshalb

381654729.

2.3 Weiter in der Teilbarkeitstheorie

Beispiel: Um den Teilbarkeitsbegriff aus Definition 2.1 etwas zu veranschaulichen, schauen wir uns

ein nicht unbedingt triviales Beispiel an. Wir wolle nämlich mittels vollständiger Induktion zeigen, dass

5 ein Teiler von 6 n + 4 für alle n ∈ N ist. Der Induktionsanfang ist für n = 1 klar, denn es ergibt sich

6 + 4 = 10 und 10 ist offensichtlich durch 5 teilbar. Der Induktionsschritt von n auf n + 1 unter der

Induktionsvoraussetzung, dass 6 n + 4 für ein n ∈ N durch 5 teilbar ist, ergibt

6 n+1 + 4 = 6 · 6 n + 4 = 5 · 6 n + 6 n + 4.

Damit ist alles gezeigt.

Definition 2.2 (gemeinsamter Teiler) Seien a, b ∈ N. Gilt d|a und d|b für ein d ∈ N, so heißt d gemeinsamer

Teiler von a und b.

Definition 2.3 (Größter gemeinsamer Teiler) Für eine Menge ganzer positiver Zahlen a 1 , . . . , a n ist der

größte gemeinsame Teiler die größte natürliche Zahl, die alle Zahlen teilt. Wir schreiben ggT(a 1 , . . . , a n ).

Beispiel: Die gemeinsamen Teiler von 12 und 18 sind die Zahlen 1, 2, 3, 6 und der größte von diesen

ist 6. In Zeichen ggT(12, 18) = 6.

Division mit Rest

Die Division mit Rest ist eines der entscheidenen Werkzeuge der Zahlentheorie. Wir wollen nun die

Aussage „Wir dividieren b durch a mit Rest...“ mathematisch präzisieren.

Satz 2.4 Seien a und b ganze Zahlen mit a ≠ 0. Dann gibt es eindeutig bestimmte ganze Zahlen q und r

mit

b = q · a + r

und 0 ≤ r < |a|.

9


2.4 Der euklidische Algorithmus

Beweis: Die Eindeutigkeit zeigt sich leicht: Wir nehmen an, dass es Zahlenpaare (q, r) und (q ′ , r ′ ) mit

b = q · a + r und 0 ≤ r < |a|, sowie b = q ′ · a + r ′ und 0 ≤ r ′ < |a| gibt. Wir müssen also nur zeigen,

dass q = q ′ und r = ′ ist. Es gilt

q · a + r = q ′ · a + r ′ .

Hieraus folgt leicht, dass

(q − q ′ )a = r − r ′ . (2.1)

Also teilt a die Zahl r − r ′ . Da aber sowohl r als auch r ′ zwischen 0 und |a| − 1 liegen, liegt die Zahl

r − r ′ zwischen −(|a| − 1) und |a| − 1. Mit der Tatsache, dass eine ganze Zahl zwischen −(a − 1) und

a − 1, die durch a geteilt wird, Null ist, folgt, dass r − r ′ = 0 und damit schon einmal r = r ′ . Da a ≠ 0,

ergibt sich aus Gleichung (2.1), dass q = q ′ . Die Existenz kann ebenfalls leicht bewiesen werden. Wir

wollen dies hier aber nicht ausführen, da es den Rahmen einer Schul-AG sprengen würde.

In vielen Fällen interessiert man sich nicht für den Divisor q, sondern für den Rest r. Gauß hat dafür

eine Bezeichnung eingeführt.

Definition 2.5 (Modulo) Seien a und b ganze Zahlen mit a ≠ 0. Seien q und r die eindeutig bestimmten

ganzen Zahlen mit b = q · a + r und 0 ≤ r < |a|. Dann wird die Zahl r mit b mod a bezeichnet. Wir

sprechen „b modulo a “.

Beispiel: Es gilt 43 mod 7 = 1 oder 13 mod 5 = 3, denn dividieren wir 13 durch 5, so passt

die 5 zweimal in die 13 und wir erhalten einen Rest von 2. Wer sich darunter noch nichts vorstellen

kann, dem hilft vielleicht die folgende Vorstellung: Stellt euch vor, ihr kauft eine Kiste Bier (oder lieber

etwas alkoholfreies :-)). In diese Kiste passen, sagen wir, 12 Flaschen. Wenn ihr also so einen Kasten mit

leerem Inhalt nehmt, in dem 12 Flaschen hereinpassen und euer Freund oder eure Freundin 14 Flaschen

mit bringt, dann könnt ihr einmal den Kasten voll machen, aber 2 Flaschen bleiben über, daher ist 14

mod 12 = 2.

2.4 Der euklidische Algorithmus

Es stellt sich natürlich die Frage, wie man den ggT zweier Zahlen (siehe Definition 2.3) ermitteln kann.

Nach dem Algorithmus von Euklid, den wir in diesem Kapitel behandeln wollen, geht man wie folgt vor:

Beispiel (Der euklidische Algorithmus an einem Beispiel): Gegeben seien die beiden Zahlen

a = 1050 und b = 390. Nun soll der ggT dieser beider Zahlen berechnet werden. Wir fragen uns,

wie oft die 390 in die 1050 hineinpasst und welchen Rest wir dabei erhalten. Es gilt

1050 = 2 · 390 + 270.

10


2.5 Diophantische Gleichungen

Das Gleiche machen wir mit der 390 und so weiter, bis wir keinen Rest mehr erhalten:

1050 = 2 · 390 + 270

390 = 1 · 270 + 120

270 = 2 · 120 + 30

120 = 4 · 30 + 0.

Immer der letzte vorhandene Rest zeigt den ggT der beiden Zahlen an. Es gilt demnach ggT(1050, 390) =

30.

Geben wir noch ein zweites Beispiel mit etwas größeren Zahlen an.

Beispiel: Wir geben den ggT der beiden Zahlen a = 152592 und b = 97020 an. Wir führen den

euklidischen Algorithmus wie eben durch und erhalten

152592 = 1 · 97020 + 55572

97020 = 1 · 55572 + 41448

55572 = 1 · 41448 + 14124

41448 = 2 · 14124 + 13200

14124 = 1 · 13200 + 924

13200 = 14 · 924 + 264

924 = 3 · 264 + 132

264 = 2 · 132 + 0.

Demnach gilt ggT(152592, 97020) = 132.

Beispiel: Wie würden wir den ggT dreier Zahlen a, b und c bestimmen? Führe dies einmal für die

Zahlen a = 1764, b = 1274 und c = 798 aus.

2.5 Diophantische Gleichungen

Definition 2.6 (diophantisch) Eine Gleichung, die in ganzen Zahlen gelöst werden kann, heißt diophantisch.

Beispiel: Ist die Gleichung 6x + 14y = 9 mit x, y ∈ Z diophantisch? Antwort etwas weiter unten :-).

Der folgende Satz hilft uns, die Frage zu beantworten.

Satz 2.7 (Satz zur Lösbarkeit von diophantischen Gleichungen) Seien a 1 , . . . , a n ∈ Z\{0}, b ∈ Z gegeben.

Die diophantische Gleichung

a 1 x 1 + . . . + a n x n = b

ist genau dann lösbar, wenn ggT(a 1 , . . . , a n )|b gilt.

Beweis: Für uns jetzt noch zu schwierig :-).

11


2.6 Teilbarkeit mittels vollständiger Induktion

Für unser obiges Beispiel gilt mit der Notation aus Satz 2.7 a 1 = 6 und a 2 = 14. Es gilt ggT(6, 14) = 2,

aber 2 ist kein Teiler von b = 9.Also hat die Gleichung keine ganzzahligen Lösungen nach dem Satz 2.7.

Also ist 6x + 14y = 9 nicht diophantisch.

Beispiel: Ist die Gleichung 6x + 14y = 10 diophantisch? Es gilt ggT(6, 14) = 2 und 2 ist auch Teiler

von 10. Also ist die Gleichung diophantisch, besitzt also nur ganzzahlige Lösungen. Die Frage ist jetzt,

wie wir die ganzzahligen Lösungen bestimmen können. Wir verwenden wir auf

6x + 14y = 10 ⇔ 3x + 7y = 5

den euklidischen Algorithmus an. Die vorletzte Zeile liefert

Abbildung 2.1: Lösen der diophantischen Gleichung mittels euklidischen Algoritmus.

1 · 7 − 2 · 3 ⇔ −2 · 3 + 1 · 7 = 1.

Dies multiplizieren wir mit 5, da bei der Gleichung 3x + 7y = 5 die Zahl 5 auf der rechten Seite steht. Es

ergibt sich

3 · (−2) · 5 + 7 · 1 · 5 = 5 ⇔ 3 · (−10) + 7 · 5 = 5.

Demnach ist x 0 = −10 und y 0 = 5 eine spezielle Lösung. Mit dieser speziellen Lösung können wir alle

weiteren (unendlich vielen) Lösungen erhalten und zwar durch eine Geradenschar mit

x = x 0 +

−b

ggT(a, b) · t und y = y −a

0 + · t, t ∈ Z.

ggT(a, b)

In unserem Fall gilt also ( ) ( ) ( )

x −10 −7

= + t · .

y 5 3

Spezielle Lösungen sind beispielsweise (−17, 8) für t = 1 oder (4, −1) für t = −2. Für t = 0 erhalten

wir unsere erste obige spezielle Lösung zurück.

2.6 Teilbarkeit mittels vollständiger Induktion

Weiter oben haben wir schon einmal mittels vollständiger Induktion Teilbarkeiten überprüft. Wir wollen

dies noch einmal an zwei Beispielen demonstrieren.

Beispiel: Wir zeigen, dass 3|(n 3 + 2n) für alle natürlichen Zahlen n gilt. Der Induktionsanfang ist

für n = 1 klar, denn es ergibt sich 1 3 + 2 · 1 = 3 und dies ist mit Sicherheit durch 3 teilbar. Zum

Induktionsschritt errechnen wir

(n + 1) 3 + 2(n + 1) = n 3 + 3n 2 + 5n + 3 = n 3 + 2n + 3n 2 + 3n + 3 = n 3 + 2n + 3(n 2 + n + 1).

12


2.6 Teilbarkeit mittels vollständiger Induktion

Da nach Induktionsvoraussetzung 3 ein Teiler von n 3 +2n 2 ist und 3 ebenfalls ein Teiler von 3(n 2 +n+1)

ergibt sich die Behauptung.

Beispiel: Für welche n ∈ N gilt (n + 1)|(n 2 + 3)? Dazu teilen wir n 2 + 3, aufgefasst als Polynom in

n, mittels Polynomdivision durch n + 1 und erhalten

(n 2 + 3) : (n + 1) = n − 1 + 4

n + 1 .

Damit gilt (n + 1)|(n 2 + 3) für n = 0, 1, 3. Denn 4

n+1

ist nur für diese n ganzzahlig. Fertig.

Als Übung der vollständigen Induktion zeigt noch einmal, dass 6|(n 3 − n) für alle natürlichen Zahlen

n gilt.

13


Kapitel 3

Primzahlen

Primzahlen sind so schön, dass es eine Menge guter Bücher dazu gibt. Wer also mehr über das Geheimnis

der Primzahlen erfahren möchte, der sei auf das Literaturverzeichnis verwiesen.

Definition 3.1 (Primzahl) Eine natürliche Zahl p > 1 heißt Primzahl, falls p nur die positiven Teiler p

und 1 besitzt.

Beispiel: Beispielsweise sind 2, 3, 5, 7, 11, 13, . . . Primzahlen. 9 ist zum Beispiel keine Primzahl, da 9

neben der Teilbarkeit von 1 und durch sich selbst auch noch durch 3 teilbar ist.

Satz 3.2 Seien x, y ∈ N, x > y. Dann gilt

z|x ∧ z|y ⇒ z|(x − y).

Beweis: z|x bedeutet nach Definition 2.1, dass ein c 1 ∈ N existiert mit x = c 1 · z. z|y bedeutet nach

Definition 2.1, dass ein c 2 ∈ N existiert mit y = c 2 · z. Aus diesen beiden Erkentnissen folgt

(x − y) = c 1 · z − c 2 · z = (c 1 − c 2 ) · z

3.1 Es gibt unendlich viele Primzahlen

Bricht die Menge der Primzahlen eigentlich irgendwann einmal ab? Das heißt gibt es nur endlich viele

oder unendlich viele Primzahlen? Euklid bewies schon vor mehr als 1000 Jahren den folgenden wichtigen

und elementaren Satz. Zuvor aber ein Lemma.

Lemma 3.3 Ist n > 1, so ist der kleinste Teiler von d von n mit d > 1 stets eine Primzahl.

Beweis: Annahme: Wäre d keine Primzahl, so gelte d = d 1 · d 2 mit echten Teilern d 1 , d 2 > 1. Also

würden sowohl d 1 als auch d 2 die Zahl d teilen. Damit wäre d nicht mehr der kleinste Teiler. Dieser

Widerspruch beweist das Lemma.

Satz 3.4 Es gibt unendlich viele Primzahlen.

Beweis: Wir führen einen sogenannten Widerspruchsbeweis. Angenommen, es gäbe endlich viele Primzahlen,

also beispielsweise

P := {p 1 , . . . , p n }.

Wir bilden eine neue Zahl

n := p 1 · . . . · p n + 1.

14


3.2 Fundamentalsatz der Zahlentheorie

Es ist sicherlich n ∈ N und n > 1. Also besitzt n nach Lemma 3.3 einen Primteiler von d, das heißt d|n.

Wenn d prim ist, dann ist d = p i für ein i ∈ {1, . . . , k}, da man ja alle Primzahlen in P gesammelt hat.

Insgesamt ergibt sich d|n und d|(n − 1), also

d|(n − n + 1) ⇒ d|1.

1 ist aber keine Primzahl. Dieser Widerspruch beweist den wichtigen Satz von Euklid, dass es doch unendlich

viele Primzahlen geben muss.

3.2 Fundamentalsatz der Zahlentheorie

Definition 3.5 (Primfaktorzerlegung) Sei n ∈ N und n > 1. Dann gibt es die eindeutige Darstellung

(siehe Satz 3.6) Darstellung

n = p e 1

1 · . . . · pe k

k

mit den Primzahlen p 1 < . . . < p k und e 1 , . . . , e k ∈ N. Wir nennen dies die Primfaktorzerlegung von

n. Wir schreiben auch

Der folgende Satz ist einer der wichtigsten Sätze aus der elementaren Zahlentheorie.

n =

k∏

i=1

Satz 3.6 Jede natürliche Zahl n > 1 besitzt eine, bis auf die Reihenfolge, faktoreindeutige Darstellung als

Produkt von Primzahlen (Primfaktorzerlegung).

Beweis: Werdet ihr dann in der Universität lernen oder lest einfach mal ein Buch zur Zahlentheorie. Hier

p e i

i .

würde der Beweis den Rahmen sprengen, da er für uns noch zu technisch ist.

Beispiel: 26 = 2 · 13

24 = 2 · 3 · 3 · 2 = 2 2 · 3 2

18 = 2 · 3 · 3 = 2 · 3 2

3508596 = 2 2 · 3 4 · 7 2 · 13 · 17

656680 = 2 4 · 3 · 5 · 7 · 17 · 23

Mit Hilfe der Primfaktorzerlegung kann man den ggT und den kgV (kleinstes gemeinsames Vielfaches)

leicht bestimmen. Es gelten

ggT(a, b) = ∏ p∈P

p min(ep) und kgV(a, b) = ∏ p∈P

p max(ep) .

15


3.2 Fundamentalsatz der Zahlentheorie

Beispiel: Es gilt beispielsweise für a = 3508596 und b = 656880

ggT(a, b) = ∏ p∈P

p min(ep) = 2 2 · 3 · 7 · 17 = 1428

kgV(a, b) = ∏ p∈P

p max(ep) = 2 4 · 3 4 · 5 · 7 2 · 13 · 17 · 23 = 1613954160

16


Kapitel 4

Kryptographie

4.1 Einführung und Motivation

Kryptographie - die Kunst des Verschlüsselns ist aus unserem Leben nicht mehr wegzudenken. Überall

taucht sie in unserem alltäglichen Leben auf. Sei es, wenn wir uns in unser E-Mailprogramm oder

bei ICQ einloggen, sei es beim Geld abheben am Bankautomaten oder beim Internetbanking an unserem

Computer. Aber was genau versteht man unter Kryptographie? Und viel interessanter: Wie funktioniert

Kryptographie? Welche Verschlüsselungsmethoden und- Verfahren gibt es? Und: Sind sie wirklich sicher?

Oder kann sich ein Dritter unbefugt mit meinen Bankdaten schundluder betreiben? Um die Idee

hinter der Kryptographie zu verdeutlichen, stellen wir uns folgendes vor: Angenommen ihr habt ein geheimes

Dokumenet irgendwo in eurem hauseigenen Sage versteckt. Ist es dort wirklich sicher? Mögliche

Angreifer würden natürlich euer Haus durchsuchen. Selbst wenn ihr den Safe an einem geheimen Ort

versteckt habt, gibt es genügend Gelegenheiten für die Angreifer, herauszubekommen, wo ihr das Dokument

versteckt habt. Man könnte euch ausspionieren, Freunde befragen usw. Denn um das Dokument

wiederzubekommen, müsst ihr an den geheimen Ort zurückkehren und das Dokument wieder aus dem

Safe holen. Hierbei könntet ihr beobachtet werden. Fazit: Verstecken ist nicht gerade effektiv. Wenn ich

jedoch das Dokument in den Safe lege, den Angreifern noch sämtliche Entwicklungspläne dieses Safes

und noch hundert anderer mitsamt ihren Kombinationen gebe, so dass alle neugierigen Menschen den

Mechanismus ausgiebig studieren können, aber immer noch nicht in der Lage sind, den Safe zu öffen,

dann ist das Sicherheit! Das Bild eines Safes ist ein sehr schönes und vor allem einfaches und anschauliches

Beispiel von Kryptographie. Wenn wir die Idee auf ein Verschlüsselungs-System übertragen, dann

ist der Safe das Verschlüsselungs-Verfahren. Dieses Verfahren sollte aber auch dann noch sicher sein,

wenn es von den weltbesten Kryptographen untersucht wurde. Die Sicherheit eines kryptographischen

Systems darf ausschließlich von der Geheimhaltung des Schlüssels abhängen, nicht von der Geheimhaltung

des Verfahrens (dies bezeichnet man als Prinzip von Kerckhoff). In den meisten Fällen stellt es ein

nicht unlösbares Problem dar, an das verwendete Verfahren zu gelangen. Und kennt man es erstmal, kann

man selber Tests daran durchführen und es möglicherweise knacken. Vielleicht kann die verschlüsselte

Nachricht sogar ohne Kenntnis des benutzten Verfahrens geknackt werden, falls ein außerordentlich

schlechtes Verfahren benutzt wurde. Im Beispiel unseres Safes könnte der Schlüssel eine bestimmte Zahlenkombination

sein. Natürlich muss auch der Schlüssel ausreichende Sicherheit bieten. Wenn ich z.B.

eine nur zweistellige Kombination wähle, ist der Safe aufgrund der geringen Kombinationsmöglichkeiten

recht witzlos. Lange Rede, kurzer Sinn: Kryptographie ist im digitalen Zeitalter und der sich hochrasend

entwickelten Internettechnologie nicht mehr wegzudenken. Ohne Kryptographie wären unsere gesamten

geheimen und vor allem vertaulichen Daten nicht sicher uns schutzlos Hackern und Angreifern ausgeliefert.

Und es gibt nun mal persönliche Dinge, die andere Menschen nicht zu interessieren haben. Sei es vom

einfachen Tagesbucheintrag bis hin zu streng geheimen Wirtschaftsdaten. Wir brauchen Kryptographie!

Früher war die Verschlüsselung größtenteils dem Militär vorbehalten. Als das Thema der Kryptographie

in der Öffenlichkeit populär wurde, wurde sie in einigen Ländern sogar verboten. Es kommt allerdings

17


4.2 Die Geschichte der Kryptographie

darauf an, was man verschlüsseln möchte. Es gibt Daten, die man vor seiner kleinen Schwester schützen

will und Daten, die man vor der einflussreichen Regierung fernhalten will. Dennoch spielt dies in der

Kryptographie keine allzu große Rolle. Jeder hat das Recht, dass seine Daten sicher sind.

4.2 Die Geschichte der Kryptographie

Kryptographie tauchte schon weit vor Christus auf. Schon 600 und 500 v. Chr. verschlüsselten die Palästiner

und Griechen ihre Nachrichten mit verschiedenen, recht einfachen Verfahren ihre Nachrichten.

Julius Caesar schrieb vertrauliche Botschaften in dem nach ihm benannten Caesar-Code. Seit Menschengedenken

gibt es das Bedürfnis, vertrauliche Mitteilungen so zu verbergen, dass sie für unbefugte Augen

unlesbar bleiben. Der einfachste Weg besteht darin, eine Nachricht an einem geheimen Ort zu verstecken,

doch dies kann ja nun nicht der Weisheit letzter Schluss sein; denn wenn jemand die Mitteilung findet,

ist das ganze „System“ bereits gebrochen. Dies dachte sich wahrscheinlich auch die Regierung von Sparta

vor 2500 Jahren und führte die sog. Skytale ein. Trotz der Einfachheit dieser Chiffrierung erfüllte die

Skytale zu damaligen Zeiten sicherlich ihren Zweck-heute wäre sie schlichtweg nutzlos (wenn man nicht

gerade seine Daten vor der kleinen Schwester schützen will...). Doch die Skytale weist bereits einen guten

kryptographischen Ansatz auf, und heute findet die Transposition, auf dessen Sicherheit sich die Skytale

gründet, in modernen Verfahren (in verbesserter Form, versteht sich) Verwendung. Wie die Substitution

ist sie ein grundlegender Baustein komplizierter Computeralgorithmen wie z.B. DES. Auch Imperator

Gaius Julius Caesar soll auf Verschlüsselung zurückgegriffen haben, als es um private Briefe an Cicero

und Bekannte ging. Ein guter Ansatz war die Chiffrierung Vigeneres aus dem Jahre 1586, auf der das

unknackbare One-Time-Pad aufbaut. Hier gilt: Je länger und „zufälliger“der Schlüssel ist, desto schwerer

wird ein Angriff auf das Verfahren. Sind Schlüssel und Klartext gleich lang und entstammt der Schlüssel

einem „echten“ Zufallsprozess, ist es unmöglich, das System zu brechen (vorausgesetzt, der Schlüssel wird

nur ein einziges Mal benutzt). Kryptographische Methoden kamen in zahllosen historischen Schlachten

zum Einsatz, und man bemühte sich, die bekannten Techniken zu verbessern. Der alte Kampf zwischen

Kryptographen und Kryptoanalysten motivierte dazu, neues Terrain auf dem Gebiet zu erforschen. Die

verwendeten Methoden waren jedoch fast ausnahmslos alle recht einfache Verfahren, und so ist es nicht

verwunderlich, dass sie oft geknackt werden konnten. Um den gnadenlosen Analysten ein Schnippchen

zu schlagen, modifizierte man bekannte Verfahren, indem man einige Variablen änderte, das Grundprinzip

jedoch beibehielt. Wegbereiter der modernen Kryptographie war Kerckhoffs von Nieuwenhof, welcher

bekundete, dass die Sicherheit eines kryptographischen Systems nicht von der Geheimhaltung des

Algorithmus abängen darf, sondern sich allein auf die Geheimhaltung des Schlüssels gründen muss.

Dies ist ein wichtiges Prinzip, das heute als selbstverständlich gilt. Damit sichergestellt werden kann, dass

ein Verfahren mit größter Wahrscheinlichkeit sicher ist, werden fast alle Algorithmen der Öffentlichkeit

zugänglich gemacht-angefangen bei DES 1977. So können alle Kryptographen der Welt das Verfahren

sorgfältig prüfen und testen. Werden nach einigen Jahren der Kryptoanalyse keine gravierenden Mängel

entdeckt, wird es vermutlich als sicher anerkannt. Das heißt natürlich nicht, dass die Chiffrierung absolut

sicher ist-irgendwann könnten bisher unentdeckte Schwachstellen gefunden werden, oder neuartige

Analyse-Methoden könnten ein Knacken des Verfahrens ermöglichen. In den zwanziger Jahren des 20.

Jahrhunderts wurden mit sog. Rotormaschinen Verfahren entwickelt, die Chiffrierung zu automatisieren.

Die Maschine besteht aus einer Tastatur und verschiedenen Walzen oder Rotoren, mit deren Hilfe

18


4.3 Grundlagen und erste Erkentnisse

man Substitution durchführen konnte. Die Anordnung der Walzen wurde ständig geändert, so dass Gegnern,

die der Maschine habhaft werden konnten, potentielle verschlüsselte Nachrichten immer noch nicht

zu knacken vermochten. Bekannt geworden ist z. B. der legend¨re „room 40“, in den britische Kryptologen

während des Ersten Weltkriegs einzogen. Als den Briten ein Signalbuch der deutschen Marine in die

Hände fiel und die USA in den Krieg eintraten, entwickelte sich die Kryptographie als kriegsentscheidend.

Auch im Zweiten Weltkrieg nahm die Kryptographie einen hohen Stellenwert ein und beeinflusste

den Ausgang des Krieges. Zur Verschlüsselung ihrer Kommunikation verwendeten die Deutschen die

sog. Enigma (griech.: Rätsel), eine aus mehreren Walzen zusammengesetzte Rotormaschine. Die englischen

Kryptologen waren nicht untätig und machten sich 1939-diesmal im Betchley Park-an die Arbeit,

allen voran der geniale Mathematiker Alan Turing. Er und seine Kollegen ersannen Methoden zum Brechen

der mit den Enigmas verschlüsselten Nachrichten. Der Erfolg der Briten hinsichtlich der Enigmas

währte jedoch nicht ewig, da ab 1943 neue Enigmas eingesetzt wurden und das Spiel von vorne begann.

Im Gegensatz zu den Deutschen und den Japanern, die übrigens mit der später von den Amerikanern

geknackten Purple ihre Nachrichten geheimzuhalten suchten, setzten die USA auf die Sprache der nordamerikanischen

Ureinwohner, der Navahos. Sie zogen damit Vorteil aus ihren natürlichen Ressourcen,

die allein ihnen zur Verfügung standen, da kein Deutscher oder Japaner der Sprache mächtig war. Zudem

ist die Sprache äußerst komplex und für Erwachsene schwierig zu lernen. So arbeiteten schließlich

über 400 Navahos in der amerikanischen Militärkommunikation. Seitdem hat sich die Kryptographie zur

eigenständigen Wissenschaft entwickelt. Sie mag wie ein bloßes Derivat der Mathematik anmuten (Korrelationen

lassen sich wohl kaum abstreiten), aber sie ist noch mehr als das: Sie ist auch mit Strategien und

„eiskalter Kalkulation“ verbunden. Man bemüht sich zwar redlich, sichere kryptographische Verfahren

zu entwickeln, aber es ist eben nicht nur das, was Kryptologie ausmacht: Wie kann ich Wege finden, ein

System zu brechen? Wie kann ich sichere Systeme entwickeln? Kryptologie zeichnet sich auch durch den

Versuch aus, Mittel und Wege zu finden, Krypto-Systeme vor Angriffen zu schützen-oder genau solche

Angriffe zu finden! Der Kampf zwischen Kryptographen und Kryptoanalysten bedarf einiger Strategien

und eiskaltem Kalkül. Denn sehr oft gestaltet sich die Praxis sehr viel schwieriger zu realisieren als von

der Theorie vorhergesagt. Sinnvolle Sicherheitskonzepte sind also vonnöten, die auch auf die Theorie Einfluss

nehmen sollten. Das alles ist auch Teil der Kryptologie-eben nicht nur Mathematik. Und schließlich

haftet dieser Wissenschaft auch der Hauch des Mysteriösen an-man denke nur an James Bond, Mission

Impossible und Konsorten. Ist es nicht das, was ihren wahren Reiz ausmacht?

4.3 Grundlagen und erste Erkentnisse

Zuerst die schlechte Nachricht: Jedes Verfahren (außer einem, nämlich dem One-Time-Pad) ist zu knacken.

Jetzt die Gute: Das dauert oftmals aber so lange, dass diese Attacke eher theoretischer Natur als praktischer

Natur ist. Man kann jedes noch so gute Verfahren knacken, indem man einfach alle möglichen

Schlüssel ausprobiert. Z.B. bei unserem Safe alle möglichen Kombinationen. Bei komplizierten Verfahren

ist dies aber natürlich nicht mehr praktikabel, da der Computer über Generationen mit dem Rechnen

beschäftigt wäre. Ein Beispiel zur Größenordnung: Um den veralteten DES (Data Encryption Standard)

Algorithmus zu knacken, bräuchte man mit einem Budget von 10 Billionen Dollar 1 Millisekunde. Um den

als sicher angesehenen IDEA-Algorithmus zu knacken, bräuchte man mit dem selben Budget hingegen

nach Stand 1995 (heute gibt es noch sichere Verfahren!) 100 Milliarden Jahre!

19


4.4 Klassische Kryptographie

4.3.1 Wichtige Grundbegriffe

Kryptographie ist die Wissenschaft von der Verschlüsselung von Daten. Kryptoanalyse beschäftigt sich

mit der Analyse von verschlüsselten Daten. Das Ziel eines Kryptoanalytiker ist es, eine verschlüsselte

Nachricht zu knacken. Er versucht Swachstellen in einem kryptographischen System zu finden und

diese für das „Knacken“ des Verfahrens auszunutzen. Ein Angriff auf ein kryptographisches System bezeichnet

ein Verfahren, mit dem Schwachstellen in diesem System ausgenutzt werden mit dem Ziel, eine

verschlüsselte Botschaft zu entschlüsseln, d.h. lesbar zu machen („knacken“). Angriffe sind das Ergebnis

einer erfolgreichen Kryptoanalyse. Ein Chiffre ist ein Synonym für ein Verschlüsselungs-Verfahren.

Chiffrierung ist ein Synonym für Verschlüsselung. Damit kann aber auch ein Verschlüsselungsverfahren

gemeint sein.

4.3.2 Verschlüsselung und Entschlüsselung

Daten, die ohne besondere Entschlüsselungsmethoden gelesen werden können, werden Klartext genannt.

Das Verfahren zum Chiffrieren von Klartext, so dass dessen Inhalt unerkannt bleibt, wird Verschlüsselung

genannt. Verschlüsseln von Klartext ergibt ein unleserliches Zeichengewirr, das dann Verschlüsselungstext

genannt wird. Mit der Verschlüsselung bleiben Informationen unbefugten Personen verborgen,

selbst wenn ihnen die Daten im verschlüsselten Zustand vorliegen. Das Verfahren des Zurückführens von

chiffriertem Text in den ursprünglichen Klartext wird als Entschlüsselung bezeichnet. Ein Verschlüs-

Abbildung 4.1: Verschlüsseln und Entschlüsseln

selungsalgorithmus oder Chiffriercode ist eine mathematische Funktion zur Ver- und Entschlüsselung.

Dieser Algorithmus wirkt in Kombination mit einem Schlüssel, beispielsweise einem Wort, einer Zahl

oder Wortgruppe zur Verschlüsserlung des Klartexts. Derselbe Klartext kann durch Verschlüsselung mit

unterschiedlichen Schlüsseln unterschiedlich chiffrierten Text ergeben. Die Sicherheit der verschlüsselten

Daten ist von den folgenden zwei Größen abhänging: der Stärke des Verschlüsselungsalgorithmus und

der Geheimhaltung des Schlüssels.

4.4 Klassische Kryptographie

In diesem Abschnitt geht es zunächst um sehr einfache kryptographische Verfahren. Diese Verfahren sind

nicht sicher, bilden aber ein wichtiges Fundament der modernen Kryptographie. Vielleicht kennt man

das ein oder andere aus seiner Kindheit. Diese Systeme sind natürlich einfach zu knacken und von ihrer

Verwendung wird dringend abgeraten. Dennoch stellen sie das Prinzip der Kryptographie sehr gut heraus.

Für Papier und Bleistift kann man sie zum Testen sehr gut gebrauchen. Computer dagegenen brauchen

nur wenige Sekunden für das Knacken.

20


4.4 Klassische Kryptographie

4.4.1 Transpositionschiffren

Bei dem sogenannten Transpositions-Algorithmus bleiben (salopp gesprochen) die Buchstaben was sie

sind, aber nicht wo sie sind! Ein Beispiel solch einen Algorithmus ist die Skytale von Sparta, die vor

ungefähr 2500 v. Chr. benutzt worden sein soll. Der Sender wickelte ein schmales Band aus Pergament

spiralförmig um die Skytale (ein Zylinder mit einem bestimmten Radius, der auch gleichzeitig der Schlüssel

ist) und schrieb dann der Länge nach seine Nachricht auf das Band. Diese Nachricht wurden dann

abgewickelt und an den Empfänger geschickt. Hatte dieser eine Skytale mit demselben Radius, konnte

er die Nachricht lesen. Betrachten wir ein Beispiel: HALLOLEUTEWIEGEHTESEUCH Wir verschlüsseln

nun diesen Text mit einer Skytale des Umfangs U = 5, indem wir den Text in 5 Spalten aufteilen:

Das Ergebnis ergibt sich nun, indem man jede Spalte dieses Textes von oben nach unten liest und alles

Abbildung 4.2: Beispiel des Transpositionschiffren

hintereinander aufschreibt: HLWHUAEITCLUEEHLTGSOEEE. Diese Art von Transposition wird auch

Spaltentransposition genannt. Um die Botschaft zu entschlüsseln geht man dann einfach wieder den umgekehrten

Weg, wobei man natürlich beachten muss, wie großder Umfang der Skytale ist. Hier hatte

man gute Einflussmöglichkeiten der Sicherheit des Verfahrens. Es gibt auch kompliziertere Transpositionschiffrierungen,

die jedoch fast ausnahmslos von Computern geknackt werden können. Die deutsche

ADFGVX-Chiffrierung, die im ersten Weltkrieg verwendet wurde, stellt solch eine Chiffrierung dar. Für

damalige Verhältnisse war dieser Algorithmus sehr komplex. Er wurde jedoch von dem französischen

Kryptoanalytiker Georges Painvin geknackt.

4.4.2 Verschiebechiffren

Die einfachsten Verfahren sind die Verschiebechiffren. Diese Art des Verschlüsselns soll schon Julius

Caesar benutzt haben. Man bezeichnet diese Methode daher auch als Caesar-Verschlüsselung. Wie funktioniert

die Methode? Man verschlüsselt dabei einen beliebigen Text, indem man das Klartextalphabet unter

das Geheimtextalphabet schreibt - aber um k Stellen nach links oder 26−k Stelle nach rechts verschoben.

Betrachten wir auch hier ein Beispiel: Hier wurde das Alphabet um 3 Stellen nach links verschoben.

Man chiffriert nun eine Nachricht, indem man den Klartextbuchstaben durch den darunterstehenden Geheimtextbuchstaben

ersetzt. Aus dem Wort „klartext“würde in unserem Fall „NODUWHAW“. Was wäre

21


4.4 Klassische Kryptographie

Abbildung 4.3: Beispiel des Verschiebechiffren

mit unserem Satz HALLOLEUTEWIEGEHTESEUCH? Probiert es aus! Und gebt es eurem Nachbarn zum

Knacken! Für k gibt es genau 26 Möglichkeiten. k wäre hier der Schlüssel. Man kann dieses äußerst simple

Verfahren knacken, indem man einfach alle Möglichkeiten ausprobiert. Ergänzung für Kenner: Solche

Chiffrierungen werden auch als additive Chriffrierungen bezeichnet, da wir eigentliche den Wert k zum

Klartextbuchstaben addieren, um den Geheimtextbuchstaben zu erhalten. Dazu nummerieren wir das

Alphabet von 1 bis 25 durch, wobei wir z mit 0 belegen

a = 1, b = 2, ..., y = 25, z = 0.

Um zu verschlüsseln, addieren wir k zu einem Buchstaben: a + 3 = D entspricht 1 + 3 = 4. Wenn die

Summe größer als 26 ist, mjuss man diese Summe durch 26 teilen und den entstandenen Divisionsrest in

einen Buchstaben zurückübersetzen. Dies nennt man auch modulo-Operation. Betrachten wir ein paar

Beispiele:

(y + 4) mod 26 = (25 + 4) mod 26 = 3 = C

Zur Dechriffrierung (Entschlüsseln) subtrahiert man k vom Geheimtextbuchstaben. Dann addiert man

26 hinzu und führt eine Modulo-Operation durch: Sei k = 3, dies entspricht dem Geheimtextbuchstabe

B Wir rechnen (B − 3 + 26) mod 26 = (2 − 3 + 26) mod 26 = 25 = y. Sei k = 19, dies entspricht

dem Geheimtextbuchstaben X. Wir rechnen

(X − 19 + 26) = (24 − 19 + 26) mod 26 = 5 = e.

4.4.3 Monoalphabetische Chiffrierungen

Unter monoalphabetischen Chiffrierungen versteht man Verfahren, bei denen jeder Buchstabe des Alphabets

zu demselben Geheimtextbuchstaben verschlüsselt wird. Man kann z.B. jedem Buchstaben ein

bestimmtes Zeichen (oder einen anderen Buchstaben) zuordnen. Beispiele: Für diese Art der Chiffrie-

Abbildung 4.4: Ein Beispiel einer monoalphabetische Chiffrierung

rung gibt es insgesamt 26 · 25 · ... · 3 · 2 · 1 = 26! ≈ 4 · 10 26 Möglichkeiten. Dieses Verfahren ist aber

leider relativ leicht zu knacken, wie wir gleich sehen werden. Wenn ein Buchstabe oder Zeichen durch

einen anderen Buchstaben bzw. Zeichen ersetzt wird, nennt man das auch Substitution. Wie die Transpositionsalgorithmen

sind auch die Substitutionsalgorithmen ein wesentlicher Bestandteil der modernen

Algorithmen.

22


4.4 Klassische Kryptographie

Multiplikative Chiffren

Bei dieser Chiffrierung verwendet man statt Addition die Multiplikation modulo 26. Wir multiplizieren

jeden Klartextbuchstaben mit dem Schlüssel k. Betrachten wir ein Beispiel für k = 2: Auffallend ist

Abbildung 4.5: Ein Beispiel einer multiplikativen Chiffrierung mit k = 2

hier, dass jeweils zwei unterschiedliche Buchstaben dasselbe Produkt ergeben. Daher können wir diese

Substitution nicht als Chiffre verwenden. Für jede Chiffrierung muss nämlich gelten: Der Klartext muss

mit Hilfe des Schlüssels eindeutig aus dem Geheimtext rekonstruierbar sein. War es vielleicht nur

Zufall? Probieren wir es noch ein zweites Mal, dieses Mal mit k = 3 aus: Diese Chiffrierung funktioniert!

Abbildung 4.6: Ein Beispiel einer multiplikativen Chiffrierung mit k = 3

Und sie funktioniert auch mit Zahlen 1, 3, 4, 5, 7, 9, 11, 15, 17, 19, 21, 23 und 25. Diese Zahlen haben die

Eigenschaft, dass sie keine gemeinsamen Teiler mit 26 haben. 26 ist das Produkt der beiden Primzahlen

2 und 13, wir dürfen also keine Zahlen verwenden, die ein Vielfaches von 2 oder 13 sind. Man sagt, die

Zahlen müssen teilerfremd zu 26 sein. Für diese Art der Chriffrierung gibt es somit exakt 12 Möglichkeiten.

Bei der additiven Chriffrierung gibt es immerhin 26 Möglichkeiten. Man kann diese beiden Typen

auch kombinieren, aber das bringt uns leider nicht alzu viel, wie wir ebenfalls im nächsten Abschnitt

sehen werden.

Kryptoanalyse

Betrachten wir einemal den Satz dieser text ist streng geheim. Verschlüsselt man diesen Text mit dem

ersten obigen Beispiel, dann erhalten wir WCSUSJ JSOJ CUJ UJNSGE ESDSCT. Auf den ersten Blick

scheint dieser Text ohne Probleme knackbar! Aber es lohnt sich genauer hinzuschauen: Es gibt Buchstaben,

die fallen wegen ihrer Häuffigkeit im Auftreten auf. Das sind z.B. S und J. Entschlüsselt sind das die

Buchstaben e und t. Und genau da liegt das Problem an dem Verfahren. Leider kommen in deutschen

Wörtern nicht alle Buchstaben mit gleicher Häufigkeit vor (siehe auch die nachfolgende Tabelle, Abbildung

7). Das e kommt mit einer Häufigkeit von durchschnittlich 17, 4 Prozent, das s mit 7, 3 Prozent, r

mit 7 Prozent und das a mit 6, 5 Prozent vor. Das klägliche Schlusslicht dieser Reihe ist übrigens das q, das

nur mit 0, 02 Prozent vertreten ist. Um einen verschlüsselten Text zu knacken, untersucht man zunächst

die Häufigkeiten von jedem Geheimtextzeichen und probiert dann verschiedene Buchstaben aus, die aufgrund

ihrer Häufigkeit passen könnten. Die Tatsache, dass sich die Häufigkeiten je nach Art des Textes

(wissenschaftlich, politisch, privat etc.) unterscheiden, stellt in der Regel kein großes Hindernis dar, da

der Angreifer, der den Text abgefangen oder gefunden hat, oft schon erraten kann, um was für eine Art

es sich handelt. Kurze Texte sind schwieriger zu knacken, aber Computer können viele Möglichkeiten in

kurzer Zeit durchprobieren (jeder normale PC zu hause vielleicht 1 Million pro Sekunde) und daher auch

Buchstaben ausprobieren, die normalerweise weniger häufig vorkommen.

23


4.4 Klassische Kryptographie

Abbildung 4.7: Die Häufigkeit der Buchstaben im Alphabet

4.4.4 Polyalphabetische Chiffrierungen

Bei den sogenannten polyalphabetischen Chiffrierungen wird derselbe Klartextbuchstabe nicht stets

mit demselben Geheimtextbuchstaben verschlüsselt. Bei dieser Technik kommen mehrere monoalphabetische

Chiffrierungen zum Einsatz. In diesem Kapitel werden wir sogenannte homophone Chiffren, welche

die Buchstabenhäufigkeiten verschleiert, und die wichtige polyalphabetische Chiffrierung, die Vigenere-

Chiffre, kennen lernen.

Homophone Chiffren

Der entscheidente Nachteil bei der monoalphabetischen Chiffren ist, wie wir eben gesehen haben, die

Tatsache, dass Buchstabenhäufigkeiten nicht verborgen werden. So wird die Kryptoanalyse (das Knacken)

kinderleicht. Wie kann man nun aber erreichen, dass eben diese Häufigkeiten verborgen werden, so dass

alle Geheimtextzeichen mit der gleichen Wahrscheinlichkeit auftreten? Das ist relativ einfach: Wir ordnen

einem Klartextbuchstaben einfach nicht (!) nur ein, sondern einfach mehrere Geheimtextzeichen zu. Die

Anzahl der Geheimtextzeichen sollte dabei der allgemeinen Häufigkeit des Klartextbuchstabens entsprechen.

Das bedeutet, dass z.B. das e (Häufigkeit ca. 17 Prozent) 17 Geheimtextzeichen von 100 Paaren 00

bis 99 zugewiesen bekäme. Ein Beispiel hierfür gestaltete sich wie folgt: Um eine Nachricht zu chiffrie-

Abbildung 4.8: Ein Beispiel einer homophonen Chiffrierung I

ren, ordnet man jedem Klartextbuchstaben ein zufällig gewähltes Zeichen aus der Menge der möglichen

24


4.4 Klassische Kryptographie

Abbildung 4.9: Ein Beispiel einer homophonen Chiffrierung II

Geheimtextzeichen für diesen Buchstaben zu. Da nun jeder Buchstabe mit etwa der gleichen Häufigkeit

auftritt, wird die Kryptoanalyse mit „herkömmlichen“Methoden nun viel schwieriger. Allerdings ist

auch bei dieser Chiffre eine Kryptoanalyse möglich: Zwar werden die Häufigkeiten einzelner Buchstab

en verschleiert, Buchstabengruppen wie st, sch, ch bleiben jedoch erhalten. Ein Kryptoanalytiker kann

den Geheimtext, z.B. daraufhin analysieren, welche Geheimtextzeichen ganz bestimmte Nachfolger oder

Vorgänger haben; z.B. das c mit Nachfolgern wie h und k, oder das e mit Nachfolger oder Vorgänger i (ei

oder ie). Diese Methoden sind natürlich noch keine richtige Kryptoanalyse, aber zeigen die Ansätze, wie

ein Kryptoanalytiker an einen solchen Text herangehen kann.

Die Vigenere-Chiffre

Diese Chiffrierung stammt vom Franzosen Blaise de Vigenere und wurde 1586 veröffentlicht. Um mit dem

Vigenere Algorithmus chiffrieren zu können, benötigt man (a) ein Schlüsselwort und (b) das Vigenere Quadrat.

Das Quadrat besteht aus 26 Alphabeten, wobei die erste Zeile das um 0 Stellen verschobene Alphabet

darstellt, die zweite das um 1 Stelle verschobene und die letzte um das um 25 Stellen verschobene Alphabet.

Das Schlüsselwort kann eine beliebige Buchstabenfolge sein, z.B. das Wort KRYPTO. Wir schreiben

nun dieses Schlüsselwort unter den Klartext und wiederholen es, wenn nötig: Der Schlüsselbuchstabe,

der unter einem Klartextbuchstaben steht, bestimmt das Alphabet. Um den ersten Geheimtextbuchstaben

zu erhalten, sehen wir nach, was in der Zeile „K “ (d.h. die Zeile, die mit K anfängt) und in der Spalte p

steht - es ist das Z. Allgemein ausgedrückt: Um einen Klartextbuchstaben p mit dem Schlüsselbuchstaben

k zu verschlüsseln, sieht man im Vigenere-Quadrat nach, was in der Zeile k und in der Spalte p steht.

Das isdt der Geheimtext-Buchstabe. Insgesamt ergibt sich bei uns also: Um den Geheimtext wieder zu

entschlüsseln, suchen wir in der Zeile k nach dem Geheimtextbuchstaben c. Nun schauen wir, in welche

Spalte dieses c steht. Dies ist der Klartextbuchstabe. Die Häufigkeit der Buchstaben ist jetzt viel gleichmäßiger

verteilt: Die beiden Buchstaben a im Klartext werden zu unterschiedlichen Geheimtextbuchstaben

verschlüsselt (nämlich T und Y).

Kryptoanalyse

Obwohl die Vigenere-Chiffrierung erheblich sicher gegenüber den anderen bereits besprochenen Chiffren

ist, ist auch dieses Verfahren mit heutigen Methoden zu knacken. Der Geheimtext weist immer noch

bestimmte Muster auf, die es oft ermöglichen, das Schlüsselwort zu erschließen. Die Tests von Kasiski

25


4.4 Klassische Kryptographie

Abbildung 4.10: Das Vigenere Quadrat

Abbildung 4.11: Ein Beispiel für die Vigenere-Chiffrierung

Abbildung 4.12: Wir verschlüsseln

und Friedman können die Länge des Schlüsselwortes bestimmen. Ist die Länge erst einmal bekannt, ist

es nicht mehr schwer, das gesamte Wort zu bestimmen. Dies gilt nicht, enn der Schlüssel lang genug

ist (exakt genauso lang wie der Klartext) und einige weitere Eigenschaften erfüllt. Dann handelt es sich

nämlich um ein sogenanntes One-Time-Pad, auf das wir im nächsten Abschnitt eingehen werden.

4.4.5 Das One-Time-Pad (OTP)

Es gibt tatsächlich ein Verfahren, das nicht nur praktisch, sondern auch theoretisch (man kann dies mathematisch

zeigen) unknackbar ist. Leider ist dieses One-Time-Pad, das 1917 von Major Joseph Mauborgne

und Gilbert Vernam erfunden wurde, in der Praxis schwierig umzusetzen. Folgende Bedingungen müssen

nämlich erfüllt sein: Der Schlüssel muss 1.) genauso lang sein wie der Klartext, 2.) muss streng zufällig

gewählt sein und 3.) darf nur ein einziges Mal verwendet werden. Verschlüsselt wird mit dem One-Time-

26


4.4 Klassische Kryptographie

Pad genauso wie mit der Vigenere-Chiffre. Oder so, indem wir die Buchstaben als Zahlen darstellen

(a = 1...y = 25, z = 0):

(o + T ) mod 26 = (15 + 20) mod 26 = 9 = I

Die Entschlüsselung lautet dann

(n + B) mod 26 = (19 + 2) mod 26 = 21 = P

(26 + I − T ) mod 26 = (26 + 9 − 20) mod 26 = 15 = o

(26 + P − B) mod 26 = (26 − 21 − 2) mod 26 = 19 = n

Nun stellen wir uns vor, wir würden einen sehr langen Brief verschlüsseln. Bedenke, dass jetzt der Schlüssel

genauso großsein muss, wieder Brief selbst. Die Entschlüsselung dieses Briefes setzt voraus, dass der

Schlüssel dem Empfänger bereits übermittelt wurde. Aber wie will man einen so langen Schlüssel sicher

übermitteln? Über einen Boten? Falls der überhaupt heil ankommt... Über das Internet? Dann können wir

auch gleich eine Postkarte schicken. Wir sehen: Diese Bedingung ist relativ schwer zu erfüllen. Ein weiteres

„Problem“ in der Praxis ergibt sich noch: Der Schlüssel muss einem echten Zufallsprozess entstammen.

Ein echter Zufallsprozess ist z.B. würfeln oder eine Münze werfen. Computer-Zufallsgeneratoren erzeugen

keine echten Zufallszahlen. Sie berechne nur die Zahlen mit Hilfe eines bestimmten Startwertes. Um

also einen „guten“ Schlüssel zu erhalten, müssen wir vielleicht sehr, sehr oft würfeln. Als Schlüssel wiederum

dürfen wir keinen richtigen Text benutzen, da dieser wieder bestimmte statistische Eigenschaften hat.

Die letzte Bedingung scheint auf den ersten Blick kein Problem zu sein. Aber das ist weit gefehlt! Selbst

wenn der Schlüsselblock mehrere Gigabytes umfasst, kann ein Kryptoanalytiker den Klartext rekonstruieren,

sofern er über mehrere Chiffretexte verfügt, deren Schlüssel sich überschneiden. Dazu verschiebt

er die Chiffretexte paarweise gegeneinander und zählt die Anzahl der Übereinstimmungen. Wenn alles

gut läuft, kann der Klartext möglicherweise mit den Methoden zum Knacken der Vigenere-Chiffrierung

erhalten werden. Eine Frage ist noch ungeklärt: Wieso ist dieses Verfahren für die heutigen Verhältnisse

so sicher? Die Frage ist relativ leicht zu beantworten: Ein bestimmter Chiffretext kann mit derselben

Wahrscheinlichkeit zu jedem der möglichen Klartexte gleicher Länge gehören. Da jede Schlüsselsequenz

gleich wahrscheinlich ist (der Schlüssel muss unbedingt zufällig sein!), besitzt ein Analytiker keinerlei

Informationen, mit denen der den Chiffretext einer Kryptoanalyse unterziehen könnte. Betrachte wir ein

Beispiel: Der Schlüssel könnte ebensogut POYYAEAAZX lauten, was entschlüsselt salamoneggs ergibt

Abbildung 4.13: Beispiel des One-Time-Pad

oder BXFGMTMXM, was dechiffriert greenfluid bedeutet. Im zweiten Weltkrieg wurde das One-Time-

Pad von der englischen Entschlüsselungstruppe von Bletchley Park benutzt, um dem Premierminister die

Nachrichten zu übermitteln, die von den Deutschen mit der Enigma verschlüsselt worden waren und die

Engländer geknackt hatten. Bis vor einigen Jahren sollen die Gespräche über den „heißen Draht“ zwischen

dem Weißen Haus und dem Kreml mit Hilfe eines One-Time-Pads verschlüsselt worden sein. Man

27


4.5 Kryptoanalyse

muss ganz ehrlich sagen, dass das One-Time-Pad zwar bewiesen unknackbar ist, leider aber sehr unpraktibal

und es wird selten eingesetzt. Ferner sind auch einige aktive Angriffe möglich: Alice schickt Bob eine

Nachricht. Der Angreifer kann in diesem Fall zum Beispiel die verschlüsselte Nachricht abfangen und den

Klartext raten, um sich so des Schlüssels zu bemächtigen. Verschlüsselt wird ja, wie oben erläutert, mit

der Vigenere-Chiffre oder einfacher Addition der Klartext- und Schlüsselbuchstaben. Zum Verschlüsseln

rechnet er demzufolge:

P + K = C,

wobei P (wie plaintext) der Klartect, K (wie key) der Schlüssel und C (wie ciphertext) der Chiffretext

oder Geheimtext ist (auf Buchstabenbasis geschieht das natürlich alles modulo 26). Der Angreifer rät

nun den Klartext C und erhält den Schlüssel K = C − P . Wenn er richtig geraten hat, ist er jetzt im

Besitz von K und kann den Geheimtext durch einen selbst erstellten Text ersetzen. Er greift also in das

System ein, ohne dass Alice und Bob davon etwas merken. Der Angreifer muss allerdings jedesmal erneut

raten, da bei jeder Verschlüsselung ein neuer Schlüssel verwendet wird. Dies ist aber eine zwingende

Voraussetzung fürs One-Time-Pad. Man kann solchen Angriffen entgegenwirken, indfem man sicherere

Verfahren einsetzt; moderne Algorithmen sind gegen diese Art von Angriffen gefeit. Nun haben wir uns

schon mit Angriffen auf Verschlüsselungsverfahren konzentriert, tun wir dies weiter. Wir werden nun

Code-Knacker.

4.5 Kryptoanalyse

In diesem Abschnitt wollen wir uns eine Kryptoanalysetechniken anschauen, von denen wir bereits einige

kennen und ein Fazit ziehen. Klar ist aber auch, dass wir euch nicht zum Codeknacken ausbilden möchten.

Es gibt verschiedene Grundtypen, die wir im Folgenden kurz, aber nicht detailliert, beschreiben wollen.

4.5.1 Brute Force Attack

Dies ist eine ziemlich plumpe, aber sehr gefährliche Attacke. Man greift das Verfahren mit „nackter Gewalt“

an, d.h. man probiert einfach alle möglichen Schlüssel aus. Früher, als DES veröffentlicht, war dieser

Angriff nicht besonders interessant. Heute jedoch ist Rechenleistung sehr billig geworden. Wenn der Gegner

Zeit und Geld hat, kann er einen Fuhrpark hochmoderner Rechner auffahren. Über das Internet gibt

es aber noch weitaus mehrere Möglichkeiten: Zum Beispiel kann er einen Virus verbreiten, der unbemerkt

im Hintergrund Schlüssel ausprobiert und über einen Server Ergebnisse austauscht. Heutzutage kann man

mit dieser Brute Force Attack DES innerhalb weniger Tage und sogar Stunden Systeme knacken. Moderne

Kryptographieverfahren sind aber gegen diese Art der Attacke durch ihre Schlüssellänge (≥ 128 Bit)

abgesichert.

4.5.2 Known Ciphertext Attack

Wenn dem Gegner ein größeres Stück Geheimtext zur Verfügung steht, kann er die Known Ciphertext

Attack anwenden. Dies ist durchaus realistisch, da es dem Angreifer möglich ist, auf einem nichtsicheren

(offenen) Kanal zu lauschen. Diesen Geheimtext kann man auf Muster hin untersuchen. Die Vigenere-

Chiffrierung lässt sich so knacken, gegen moderne (und sichere!) Verfahren ist diese Methode allerdings

so gut wie wirkungslos.

28


4.5 Kryptoanalyse

4.5.3 Known Plaintext Attack

Bei dieser Attacke erkennt der Gegner ein zusammenhöriges Paar Klartext/Geheimtext. Dabei kann es sich

bei dem Klartext auch um vermuteten Inhalt handeln. Z.B. Standardformulierungen wie „Mit freundlichen

Grüßen„ etc. Einige Verfahren wurden mit Hilfe dieser Attacke schon geknackt.

4.5.4 Chosten Plaintext Attack

Steht dem Gegner ein Verfahren mit integriertem (aber nicht bekannten) Schlüssel zur Verfügung, kann

er selbst Nachrichten bzw. Texte verschlüsseln. Er kann z.B. lauter binärer Nullen verschlüsseln und versuchen,

Rückschlüsse auf den verwendeten Schlüssel zu ziehen. Selbst wenn dem Gegner dieser Angriff

nicht gelingt, kann er möglicherweise selbst Nachrichten verschlüsseln und übermitteln. Verfahren, die

diesem und dem folgenden Angriff widerstehen, gelten als sicher.

4.5.5 Chosen Ciphertext Attack

Diese Attacke ist ähnlich zu der chosen plaintext attack, nur dass der Angreifer nun eine Auswahl von

Geheimtexten aussuchen kann und damit den Klartext finden kann. Dieser Angriff kann bei public-key-

Systemen eingesetzt werden.

4.5.6 Adaptive Chosen Plaintext Attack

Bei diesem Angriff wählt der Gegner den Klartext wiederholt aus, indem er den Klartext für die aktuelle

Analyse erst wählt, nachdem die Analyse des vorhergehenden Angriffs durchgeführt wurde. In diesem

interaktiven Verfahren basieren die ausgewählten Klartexte auf den bisherigen Ergebnissen. Unter dieser

Bezeichnung versteht man die sogenannte differential cryptanalysis. Ein Verfahren, das in den letzten

zwei Jahrzehnten zweimal erfunden wurde. Aus der Cryptology FAQ entnehmen wir Differential cryptanalysis

is a statistical attack that can be applied to any iterated mapping (i.e., any mapping which is

based on a repeated round function). The method was recently popularized by Biham and Shamir [BIH91],

but Coppersmith has remarked that the S-boxes of DES were optimized against this attack some 20 years

ago. This method has proved effective against several product ciphers, notably FEAL.. Auf deutsch: Differentielle

Kryptoanalyse ist ein Angriff, der auf jede iterierte Abbildung (d.h. jede Abbildung, die auf einer

wiederholten Rundenfunktion basiert) angewandt werden kann. Diese Methode wurde kürzlich [im Jahre

1990, Anm. d. übers.] von Biham und Shamir [beide anerkannte Kryptologen; Shamir war Mitentwickler

von RSA] veröffentlicht, allerdings hat Coppersmith [einer der Entwickler von DES] angemerkt, dass die S-

Boxen von DES gegen eben diese Attacke optimiert worden waren. Die Methode erwies sich als wirkungsvoll

gegenüber mehreren Produktchiffrierungen, insbesondere FEAL. [FEAL, gedacht als DES-ähnlicher

Algorithmus mit sträkerer Rundenfunktion und höherer Geschwindigkeit, ist ein besonders schwacher japanischer

Algorithmus von Akihiro Shimizu und Shoji Miyaguchi mit Block- und Schlüssellänge von 64

Bit; der Algorithmus in seiner ursprünglichen Version kann bereits mit wenigen bekannten Klartexten

gebrochen werden (ein Angriff gegen FEAL mit 4 Runden benötigt z.B. nur fünf (!) bekannte Klartexte).

Auch alle Varianten von FEAL, die das Konzept des Verfahrens retten sollten, wurden von Biham und

Shamir gebrochen. Aufgrund des beispielhaft unglücklichen Designs von FEAL scheint ein neuer Angriff

zuallererst immer an dieser Chiffrierung getestet zu werden.]

29


4.6 Moderne Kryptographie

4.5.7 Fazit

Daneben gibt es noch andere Attacken, wie zum Beispiel die Meet-In-The-Middle-Attacke, die jedoch

nur für bestimmte Verfahren in Frage kommt. Bei der sogenannten Playback Attack, einem recht plumpen

Angriff, reicht es dem Angreifer zu wissen, dass die abgefangene verschlüsselte Botschaft einen bestimmten

Inhalt hat, z.B. „Brauchen Verstärkung“. Man kann diese Nachricht aufbewahren und später

verschicken, um die Sender/Empfänger-Kommunikation empfindlich zu stören und ordentlich Verwirrung

zu stiften. Ein Verfahren gilt als sicher, wenn keine der oben genannten Attacken funktioniert. Gibt

es eine Attacke, die leichter ist als Brute Force, so gilt das Verfahren (zumindestens theoretisch) als gebrochen

oder geknackt. Beachte, dass ein Verfahren erst nach vielen Jahren erfolgloser Kryptoanalyse als

sicher angesehen werden kann. Selbst dann besteht noch ein gewisses „Restrisiko“, da es neue, schnellere

Analyse-Verfahren geben kann. Denn auch die Angreifer schlafen nicht. Außerdem verzehnfacht sich die

Rechenleistung alle fünf Jahre. Einige Angriffe sind eher nur theoretischer Natur und können in der Praxis

nicht umgesetzt werden; auch gibt es Angriffe, die sich nur auf einen bestimmten Einsatzbereich eines

Verfahrens (z.B. dem Einsatz als Einweg-Hashfunktion beziehen: Dort sollte der Algorithmus dann nicht

mehr verwendet und durch geeignete Lösungen ersetzt werden.

4.6 Moderne Kryptographie

Zum Abschluss noch etwas über die moderne Kryptographie. Leider reicht die Zeit nicht aus, um hierauf

noch genauer einzugehen. Vielleicht gibt es hier noch Möglichkeiten in Hinblick eines zweiten Vortrags.

Als es die ersten Computer gab, erkannte man, dass die bisher benutzten Verfahren, vor allem die

Vigenere-Chiffre, keine ausreichende Sicherheit mehr boten. Man wollte also computergestützte, komplexere

Verfahren entwickeln. Bis dahin war wenig über Kryptographie bekannt, da international nicht sehr

viel Forschung auf diesem Gebiet betrieben wurde. Irgendwann dann, in den späten Siebzigern, war er

da: Der DES, entwickelt von IBM, unter Mithilfe der NSA. DES steht für „Data Encryption Standard“ und

ist ein recht komplizierter Computer-Algorithmus, der für den Einbau in Hardware (DES-Chips) gedacht

war. DES benutzt die bereits besprochenen Techniken wie Transposition (Permutation) und Substitution.

Obwohl DES wegen möglicher Brute-Force Angriffe nicht mehr als sicher angesehen werden kann, war

er zu damaliger Zeit ein Meilenstein im Bereich der Kryptographie, die er nachhaltig beeinflusst hat. Weil

sich die verwendeten Techniken in DES bewährt haben, bauen viele Algorithmen auf ihm auf. Um die

folgenden Ausführungen zu verstehen, benötigen wir ein wenig Grundwissen aus der Informatik. Wichtig

ist, dass Algorithmen keine Zahlen oder Buchstaben verarbeiten, sondern Bits. Bit ist eine Abkürzung

für Binary Dight (binäre oder zweiwertige Zahl). Ein Bit ist die kleinstmögliche Informationseinheit und

kann entweder den Wert 1 (wahr) oder 0 (falsch) annehmen. Berechnungen mit Bits beruhen auf dem

Zahlensystem zur Basis 2. Spezialitäten sind die Und-Operation, (0 und 0 = 0, 0 und 1 = 0, 1 und

0 = 0 und 1 und 1 = 1), die Oder-Operation (0 oder 0 = 0, 0 oder 1 = 1, 1 oder 0 = 1, 1 oder

1 = 1) und die sogenannte xor-Operation (exklusives Oder, d.h. 0 xor 0 = 0, 0 xor 1 = 1, 1 xor 0 = 1,

1 xor 1 = 0). xor steht für Addition modulo 2. Das Schöne ist, dass eine xor-Operation umkehrbar ist:

17(10001)xor5(101) = 20(10100), 20xor5 = 17, 20xor17 = 5. Moderne Chiffrierungen arbeiten außerdem

meistens mit 16-Bit-Ganzzahlen, d.h. Zahlen von 0 bisn 65535(2 16 − 1) oder 32-Bit-Ganzzahlen,

d.h. Zahlen von 0 bis 4.294.967.295(2 32 − 1). Alles Weitere wird sich schon ergeben.

30


4.6 Moderne Kryptographie

4.6.1 DES (Data Encryption Standard)

Die Einzelheiten von DES sind sehr informatiklastig. Daher verzichten wir hierauf und erzählen nur etwas

über dessen Sicherheit. Bis 1990 gab es keine erfolgreiche Methode zum Knacken der DES. Doch

dann führten Eli Biham und Adi Shamir, zwei israelische Kryptologen, die sogenannte differentielle

Kryptoanalyse vor, die effizienter als ein Brute-Force-Angriff ist. Gleichwohl stellte sich heraus, dass

DES äußerst widerstandsfähig gegenüber dieser Attacke war, so dass der Verdacht aufkam, man habe

diesen Angriff schon vorher gekannt. Und tatsächlich: Donald Coppersmith, einer der Mitentwickler von

DES, gab zu, das Verfahren natürlich schon vorher gekannt zu haben, aber an ein Schweigegebot gebunden

war. Obwohl die differentielle Kryptoanalyse auf DES angewandt werden kann, ist der Angriff

praktisch dagegen sehr schwer durchzuführen, wenn nicht sogar unmöglich. Der Angriff benötigt sehr

viel Geheimtext und viel Speicherplatz, und ein Angriff gegen DES mit 16 Runden ist sowieso ineffizienter

als Brute Force. Heutzutage kann DES nicht mehr als sicher angesehen werden. Mit genug Geld zur

Verfügung wäre DES bereits innerhalb weniger Millisekunden knackbar. Die Frage ist, ob die NSA DES

schon bei der Veröffentlichung knacken konnte. Fakt ist, dass die Schlüssellänge ursprünglich auf 112 Bit

angesetzt war, dann jedoch, vermutlich auf Anraten der NSA, verkürzt wurde, obwohl sich viele Kryptographen

für die längere Variante einsetzten. Heute wird DES nur noch als sogenannten Triple-DSE

eingesetzt. Von Triple-DSE gibt es mehrere Varianten, die von dem Kryptologen Tuchman vorgestellt

wurden. Die grundlegende Idee ist, einen Klartextblock dreimal mit zwei unterschiedlichen Schlüsseln zu

verschlüsseln: Zuerst verschlüsseln mit Schlüssel 1, dann entschlüsseln (!) mit Schlüssel 2 und schließlich

noch einmal verschlüsseln mit Schlüssel 1. Dieses System wurde so gewählt, dass es nict anfällig

für einen sogenannten meet-in-the-midddle-Angriff ist. Übrigens bezeichnet man dieses Verfahren auch

als EDE (Encryption-Decryption-Encryption). Weitere moderne Verfahren sind RC4 (Rons Code 4),

AES (Advanced Encryption Standard) oder RSA. Zum Abschluss wollen wir zur AES noch eine kleine

Geschichte erzählen:

4.6.2 AES (Advanced Encryption Standard)

Im Jahre 1997 rief das National Institute of Standards and Technology, kurz NIST, einen Wettbewerb für

einen neuen Verschlüsselungs-Standard ins Leben. Die Aufgabe bestand darin, öffentlich einen symmetrischen

128-Bit-Blockalgorithmus mit mind. 128 Bit Schlüssellänge zu entwickeln, der nicht nur höchste

Sicherheit, sondern auch gute Performance in Soft- und Hardware bieten sollte. Der AES ist der offizielle

Nachfolger des obsoleten DES, der ja bereits aufgrund des zu kleinen Schlüsselraumes gebrochen werden

konnte. Bis zur Frist im Juni 1998 wurden 15 Vorschläge eingesandt, darunter auch MAGENTA von der

Deutschen Telekom. Nun begann die erste Runde, die „Qualifikationsphase“; da der Wettbewerb öffentlich

stattfand, konnte jeder, der etwas von der Materie verstand, die Kandidaten auf Herz und Nieren prüfen.

Viele bekannte Kryptologen machten sich also an die Arbeit, die Algorithmen zu analysieren. Und es dauerte

auch nicht lange, da wurden erste Schwächen gefunden und erste Verfahren erbarmungslos geknackt

(unter diesen Unglückskandidaten befand sich leider auch MAGENTA). Diese erste Runde endete am 9.

August 1999 mit der Bekanntgabe von fünf Kandidaten für die Endausscheidung:

MARS, IBM

RC6, RSA Laboratories (Ronald L. Rivest et al.)

31


4.6 Moderne Kryptographie

Rijndael, Joan Daemen, Vincent Rijmen

Serpent, Ross Anderson, Eli Biham, Lars Knudsen

Twofish, Bruce Schneier et al.

Während dieser zweiten Runde wurde noch einmal viel analysiert, getestet und Meinungen ausgetauscht.

Die Entscheidung war nicht einfach, da sich alle fünf Algorithmen als sicher erwiesen hatten (einige forderten

gar mehrere Verfahren als Gewinner)-das Performance-Kriterium gewann an Bedeutung. Am 2.

Oktober 2000 war der große Tag gekommen-endlich! Das NIST verk¨ndete Rijndael als Sieger des AES-

Wettbewerbs. Die Juroren begründeten ihre Entscheidung mit den Argumenten, Rijndael sei sicher, verhältnismäßig

leicht zu implementieren und schnell sowohl in Soft- als auch in Hardware; es biete somit

ausreichenden Schutz für die nächsten 100 Jahre. (Das ist natürlich eine grobe Schätzung.) Der belgische

Algorithmus wurde zur FIPS-Standardisierung vorgeschlagen und trat schon bald (2001) in die Fußstapfen

seines inzwischen betagten „großen Bruders“DES.

Das US-Handelsministerium hat 2001 offiziell den Einsatz des Advanced Encryption Standards (AES)

gebilligt. AES beruht auf dem Krypto-Algorithmus Rijndael, der den vom National Institute of Standards

und Technology (NIST) ausgeschriebenen Wettbewerb um die Nachfolge des in die Jahre gekommenen

Data Encryption Standards (DES) gewann.

4.6.3 Public Key

Bisher haben wir uns nur mit Verfahren beschäftigt, die nach dem folgenden Schema arbeiten: Alice übermittelt

Bob eine Botschaft, die mit einem bestimmten Schlüssel verschlüsselt ist. Die Übertragung erfolgt

über einen unsicheren Kanal-denn stände den Beiden ein sicherer Kanal zur Verfügung, bedürften sie

auch keiner Verschlüsselung. Das heißt, sie nehmen durchaus in Kauf, dass möglicherweise ein Lauscher

die Kommunikation abhört, hoffen aber, dass er die Verschlüsselung nicht brechen kann (wenn das Passwort

gut gewählt ist und eine sichere Chiffrierung verwendet wird, sinkt die Wahrscheinlichkeit drastisch,

dass er die Botschaft tatsächlich in annehmbarer Zeit-falls überhaupt-brechen kann). Wenn alles gut geht,

erhält Bob die Nachricht und ist dann hoffentlich in der Lage, die Botschaft mit Hilfe des vorher vereinbarten

Schlüssels zu entschlüsseln. Aber genau dort lauert das Problem: Alice und Bob verfügen lediglich

über einen unsicheren Kanal. Der Schlüssel muss unbedingt geheim bleiben, die Übertragung also über

einen sicheren Weg erfolgen. Allerdings sind Kanäle dieser Art äußerst rar. Die Beiden könnten sich ja

irgendwo treffen und dort einen geeigneten Schlüssel vereinbaren. Aber das geht nun mal nicht immer.

Ein Beispiel: Alice wohnt in Deutschland, Bob in Amerika, sie schicken sich gegenseitig E-Mails. Wie soll

das Problem in diesem Fall gelöst werden? Sie können sich schließlich nicht so „ohne Weiteres“ treffen,

das erfordert schon etwas mehr Planung und kostet zudem auch noch recht viel Geld. Und vielleicht wollen

sie das auch gar nicht. Es müsste eine andere Möglichkeit geben, sich auf sicherem Wege E-Mails zu

schicken: Bob entschlüsselt die Nachricht mit einem anderen Schlüssel, d.h., die Schlüssel zur Ver- und

Entschlüsselung sind nicht identisch. Diese Art von Kryptographie nennt man asymmetrische Kryptographie.

Sie kommt in vielen E-Mail-Verschlüsselungs-Programmen zum Einsatz.

Das Konzept: Alice möchte Bob eine verschlüsselte Nachricht schicken. Diesmal verschlüsselt sie die

Daten jedoch nicht wie gewohnt mit einem bereits festgelegten Schlüssel, sondern mit Bobs öffentlichem

32


4.6 Moderne Kryptographie

Schlüssel. Bob selbst hat seinen eigenen, nichtöffentlichen (privaten) Schlüssel. Nur mit diesem gelingt

es ihm, die verschlüsselten Daten zu lesen. Bob hat also zwei Schlüssel: einen öffentlichen (public key)

und einen privaten, geheimen (private key). Aufgrund dieses Konzepts bezeichnet man asymmetrische

Kryptographie häufig auch als Public-Key-Kryptographie. Dies wollen wir nun genauer untersuchen und

fassen die Idee nochmals zusammen. Ein weiterer wichtiger Fortschritt war die Veröffentlichung des Artikels

New Directions in Cryptography von Whitfield Diffie und Martin Hellman. Dieser Aufsatz stellte

eine radikal neue Methode der Schlüsselverteilung vor und gab den Anstoßzur Entwicklung von Public-

Key-Verfahren. Der Schlüsselaustausch ist eines der fundamentalen Probleme der Kryptographie. Vor

dieser Entdeckung waren die Schl

üssel symmetrisch, und der Besitz eines Schlüssels erlaubte sowohl das Verschlüsseln als auch das Entschlüsseln

einer Nachricht. Daher musste der Schlüssel zwischen den Kommunikationspartnern über

einen sicheren Weg ausgetauscht werden, wie beispielsweise durch einen vertrauenswürdigen Kurier oder

beim direkten Treffen der Kommunikationspartner. Diese Situation wurde schnell unüberschaubar, wenn

die Anzahl der beteiligten Personen anstieg. Auch wurde ein jeweils neuer Schlüssel für jeden Kommunikationspartner

benötigt, wenn die anderen Teilnehmer nicht in der Lage sein sollten, die Nachrichten

zu entschlüsseln. Ein solches Verfahren wird als symmetrisch oder auch als Secret-Key- oder „Shared-

Secre“-Verfahren bezeichnet. Bei der Public Key Cryptography wird ein Paar zusammenpassender Schlüssel

eingesetzt. Der eine ist ein öffentlicher Schlüssel, der-im Falle eines Verschlüsselungsverfahrens-zum

Verschlüsseln von Nachrichten für den Schlüsselinhaber benutzt wird. Der andere ist ein privater Schlüssel,

der vom Schlüsselinhaber geheim gehalten werden muss und zur Entschlüsselung eingesetzt wird.

Ein solches System wird als asymmetrisch bezeichnet, da für Ver- und Entschlüsselung unterschiedliche

Schlüssel verwendet werden. Mit dieser Methode wird nur ein einziges Schlüsselpaar für jeden Teilnehmer

benötigt, da der Besitz des öffentlichen Schlüssels die Sicherheit des privaten Schlüssels nicht aufs Spiel

setzt. Ein solches System kann auch zur Erstellung einer digitalen Signatur genutzt werden. Die digitale

Signatur wird aus den zu signierenden Daten oder ihrem Hash-Wert und dem privaten Schlüssel berechnet.

Die Korrektheit der Signatur- und damit die Integrität und Authentizität der Daten- kann durch entsprechende

Operationen mit dem öffentlichen Schlüssel überprüft werden. Public-Key-Verfahren können

auch zur Authentifizierung in einer interaktiven Kommunikation verwendet werden. Wie es bei heimlichen

Techniken oft der Fall ist, wurde auch die Public-Key-Kryptographie zuerst vom Militär entwickelt,

bevor die öffentliche Forschung dies erreichte. Am 17. Dezember 1997 veröffentlichte das britische GCHQ

(Government Communications Headquarter in Cheltenham) ein Dokument, in welchem sie angaben, dass

sie bereits vor der Veröffentlichung des Artikels von Diffie und Hellman ein Public-Key-Verfahren gefunden

hätten. Verschiedene als geheim eingestufte Dokumente wurden in den 1960ern und 1970ern u. a. von

James Ellis, Clifford Cocks und Malcolm Williamson geschrieben, die zu Entwürfen ähnlich denen von

RSA und Diffie-Hellman führten. Die Sicherheit der faktorisierungsbasierten Public-Key-Kryptographie

liegt in der Verwendung eines Produkts aus großen Primzahlen, welches als öffentlicher Schlüssel dient.

Der private Schlüssel besteht aus den dazugehörenden Primfaktoren bzw. davon abgeleiteten Werten. Die

Zerlegung eines hinreichend großen öffentlichen Schlüssels gilt aufgrund der mathematisch sehr aufwendigen

Faktorisierung als nicht praktikabel.

33


4.6 Moderne Kryptographie

4.6.4 RSA

Wie funktioniert nun RSA? Zunächst musst ein öffentlicher und privater Schlüssel (Schlüsselpaar; Idee

siehe oben) erzeugt werden. Dies kann z.B. durch eine Schlüsselvergabestelle erfolgen. Diese wählt zufällig

zwei große Primzahlen p und q mit n = p · q. Dann wird Φ(n) berechne. Dies dient der Berechnung der

Anzahl teilerfremden Zahlen zu n. Z.B. ist Φ(15) = 8, da 1, 2, 4, 7, 8, 11, 13, 14 keinen gemeinsamen

Teiler mit 15 haben (die 1 zählt man auch dazu. Da eine Primzahl nur durch 1 und sich selbst teilbar ist,

sind alle Zahlen, die unterhalb von ihr liegen, zu ihr teilerfremd. D.h. Φ(p) = p − 1 bzw. Φ(q) = q − 1.

Folglich erhalten wir für Φ(n) = (p − 1) · (q − 1). Schließlich bestimmen wir zwei Zahlen e und d so,

dass edmodΦ(n) = 1 ist. Das bedeutet nichts anderes, als dass sich e und d auf heben, genauso wie 4 und

1

1

4

bezüglich der Multiplikation (4 ·

4

= 1). Man sagt auch, d ist der Kehrwert von e modulo Φ(n). e und

n bilden nun den öffentlichen Schlüssel und d und n den privaten Schlüssel. Es ist nicht nötig, dass die

Teilnehmer die Paramter p und q erfahren; am besten ist sogar, wenn p und q nach der Berechnung von

e, d und n vernichtet werden, da sie nicht mehr benötigt werden und nur einen unnötigen Risikofaktor

darstellen. Denn wer p und q kennt, kennt auch n und die Sicherheit des Systems wäre dahin! Wie wählt

man aber d und e ? Zunächst sucht man sich eine beliebige Zahl e, die teilerfremd zu Φ(n) ist, das kann

z.B. eine Primzahl sein, die großer als Φ(n) ist. Für e wurde beispielsweise die vierte Fermat-Zahl F 4

(2 24 + 1 = 2 16 + 1 = 65537) vorgeschlagen, da Berechnungen mit dieser Zahjl relativ einfach sind.

Die Bestimmung von d (d.h. vom Kehrwert oder modularem Inversen) ist ziemlich schwer, sie erfordert

mehr oder weniger komplizierte Verfahren. d kann z.B. mit Hilfe des euklidischen Algorithmus ermittelt

werden. Ver- und Entschlüsselung: Um eine beliebige Nachricht m zu verschlüsseln, die kleiner oder

gleich n ist, führen wir folgende Berechnung durch

c = m e mod n.

Das heißt, m (die Nachricht) wird mit e potenziert, und der Rest, der sich bei der Division durch n ergibt,

bildet den Chiffretect oder Geheimtext c. Wenn n beispielsweise 512 Bit lang ist, muss m kleiner oder

gleich 512 Bit sein. Um den Geheimtext wieder umzuwandeln, berechnet der Empfänger

m = c d mod n.

Damit das Verfahren reibungslos über die Bühne geht, muss gewährleistet sein, dass sich e und d „aufheben“

e · d mod (p − 1)(q − 1) = 1

Alles zu kompliziert? Betrachten wir ein Beispiel: Zunächst wählen wir zwei Primzahlen p und q, sagen

wir 7 und 13 (normalerweise sollten diese Zahlen natürlich mehrere hundert Stellen haben, aber das

ist hier ja schwer möglich, sonst können wir die Rechenschritte nicht mehr ohne Weiteres mit einem

einfachen Taschenrechner durchführen.) p = 7 und q = 13 liefern n = 7 · 13 = 91 und damit Φ(n) =

Φ(91) = (7−1)(13−1) = 6·12 = 72 Jetzt müssen wir noch e und d bestimmten. Für e wählen wir eine

zu Φ(n) teilerfremde Zahl > Φ(n), z.B. 77. Mit Hilfe des erweiterten euklidischen Algorithmus berechnen

wir d = 29. Das heißt nun e = 77 und d = 29. Wir sehen ebenfalls, dass diese Zahlen der Bedingung

ed mod Φ(n) = 1 genügen, denn (77 · 29) mod 72 = 1. Nun besteht der öffentliche Schlüssel aus e

34


4.7 Ausblick: Der Quantencomputer - gibt es die absolute Sicherheit?

und n, der private aus d und n. So, nun möchten wir gerne die Nachricht m = 10 (m muss kleiner oder

gleich n, also 91 sein). Also berechnen wir c = 10 77 mod 91 = 82. Der Geheimtext lautet demzufolge

82. Jetzt lasst uns mal schauen, ob wir auch wieder den ursprünglichen Klartext erhalten 5

m ′ = 82 29 mod 91.

Es ergibt sich m ′ = 10 und m ′ = m. Es hat also geklappt. Aber wichtig ist: So ist das in der Praxis

natürlich nicht aus. Wegen der Größe der Zahlen lässt sich die Nachricht nicht so leicht bestimmten.

Sicherheit von RSA:RSA stützt seine gesamte Sicherheit darauf, dass aus dem Modulus n und dem öffentlichen

Schlüssel e keine Rückschlüsse auf den geheimen Schlüssel d gezogen werden können und dass

die Faktorisierung von n (d.h. die Zerlegung von n in die Primzahlfaktoren p und q) so schwierig bleibt

wie sie heute ist. Unglücklicherweise kann man jedoch nicht einmal beweisen, dass es sich bei der Faktorisierung

von n um ein solch komplexes Problem handelt (man nimmt allerdings an, dass es so ist).

Wie bereits gesagt, benötigt man für RSA lange Schlüssel. Das sind nicht etwa Zahlen im Milliardenoder

Billionen-Bereich, sondern riesengroße Zahlen mit mehreren hundert Stellen. Das Problem ist, dass

a) die Rechenleistung stark ansteigt und b) man neue Möglichkeiten zur Faktorisierung der Zahlen finden

könnte. Das beste Verfahren für Zahlen mit mehr als ca. 110 Stellen ist momentan das allgemeine

Zahlkörpersieb. Die Schwere dieses Problems wird dann deutlich, wenn man sich einmal vor Augen hält,

welche Aussagen über die Faktorisierung gemacht wurden. 1977 sagte Ron Rivest, die Faktorisierung einer

125-stelligen Zahl dauere 40 Billiarden Jahre. 17 Jahre später, 1994, wurde eine 129-stellige Zahl faktorisiert!

Das zeigt nur, wie schwer es ist, auch nur annähernd genaue Aussagen zu treffen. Auf jeden Fall

kann man wohl mit Gewissheit sagen, dass 512-Bit-Schlüssel schon l¨ngst nicht mehr ausreichen. 1024 Bit

sollten das absolute Minimum sein. Man sollte aber mindestens 2048 Bit verwenden, um noch über einen

längeren Zeitraum euren Schlüssel verwenden zu können.

4.7 Ausblick: Der Quantencomputer - gibt es die absolute Sicherheit?

Auf Grundlage der Forschung im Bereich der Quantenmechanik sind nicht nur Protokolle zur absolut

sicheren (One-Time-Pad-ähnlichen) Ver- bzw. Entschlüsselung möglich geworden, sondern auch sogenannte

Quantencomputer, die zum Brechen von modernen Verfahren wie RSA eingesetzt werden. RSA

findet mittlerweile in unzähligen Computer-Applikationen Verwendung. Die Sicherheit von RSA beurht

bekanntlich auf der Schwierigkeit, das Produkt zweier Primzahlen p und q zu faktorisieren; das heißt,

die Entschlüsselung ohne Kenntnis der Faktoren p und q ist ungleich schwerer als die nur relativ wenige

Rechenoperationen erfordernde Verschlüsselung. Gebe ich z.B. die Zahl 221 müsstet ihr erstmal überlegen,

wie die Primfaktorzerlegung davon aussieht. (es stecken die Primzahlen 13 und 17 dahinter) Je

größer die Zahl, desto schwieriger ist es. Und Computer müsstet ewig lang rechnen, um alle möglichen

Kombinatione auszuprobieren. Mit Hilfe der Quantenkryptographie versucht man nun, einen Algorithmus

zu entwerfen, der eine Primzahl genauso leicht ermitteln kann wie zwei Faktoren, deren korrekte

Multiplikation eben diese Zahl ergeben würde. Gelänge es, eine derartige Möglichkeit zu finden, wären

Verfahren wie RSA, denen das Faktorisierungs-Problem zugrunde liegt, nicht mehr ausreichend für

das Verschlüsseln geheimer Botschaften. Ein solcher Quantencomputer, wenn er denn je gebaut würde,

macht sich ebenfalls die Prinzipien der Quantenmechanik zunutze. Ein Quanten-Teilchen wie ein Photon

35


4.7 Ausblick: Der Quantencomputer - gibt es die absolute Sicherheit?

z.B. kann sich gleichzeitig in einer Vielzahl von Zuständen befinden; es verhält sich sowohl als Welle

als auch als Teilchen, jedoch kann immer nur ein Zustand gemessen werden, da die Messung selbst das

Photon beeinflusst. Ein Quantencomputer besitzt nun eine interne Wellenfunktion, die eine Überlagerung

einer Kombination der möglichen Grundzustände ist. Berechnungen wandeln die Wellenfunktion um,

wobei die gesamte Menge der Zustände in einer einzigen Operation geändert wird. Um das ganze Prinzip

und die gesamte Theorie bis ins kleinste Detail verstehen zu können, muss man schon eine Vorlesung

zur Quantenphysik besuchen; dies heben wir uns mal für später auf. Den ersten praktisch anwendbaren

Algorithmus für den Quantencomputer entwickelte 1994 Peter Shor. Dieser Algorithmus vermag eine

Zahl schneller in ihre Primfaktoren zu zerlegen als herkömmliche Faktorisierungs-Algorithmen. Bei diesem

Algorithmus werden alle möglichen Werte aus einem Register in einer Superposition aller möglichen

Werte berechnet. Zwar kann das Ergebnis nun nicht durch eine Messung ermittelt werden-diese würde

nur zufällige Werte zurückliefern-, mit der sog. Diskreten Fourier-Transformation kann jedoch das

korrekte Ergebnis ermittelt werden. Die Berechnungszeit dieses Algorithmus nimmt deutlich langsamer

zu als die des besten klassischen Verfahrens. Während sich herkömmliche superschnelle Computer, die

vielleicht eine Billion (10 12 ) Divisionen pro Sekunde berechnen können, bräuchten mit dem Verfahren

der versuchsweisen Division (der einfachste Faktorisierungs-Algorithmus, d.h. man probiert alle Zahlen

von 1 bis √ N) für eine 100-stellige Zahl weitaus länger als die geschätzte Dauer des Universums. Der

Quantencomputer hingegen könnte diese Zahl in einer verhältnismäßig kurzen Zeit faktorisieren. Somit

leuchtet ein, dass der Quantencomputer die Sicherheit von RSA und allen Verfahren, deren Sicherheit

auf dem Faktorisierungsproblem beruht, bedroht. Warten wir ab, ob er irgendwann einmal gebaut wird.

Interessant wäre es schon!

36


Kapitel 5

Abschluss

Dies soll es nun gewesen sein. Wir hoffen, ihr hattet eine Menge Spaß und habt auch ein wenig gelernt.

Wer mehr über die spannende Zahlentheorie erfahren möchte, der sei auf das Literaturverzeichnis verwiesen.

37


Literaturverzeichnis

[B¨01] Christian Bär. Elementare Differentialgeometrie. 2 Sub. Gruyter, 2001.

[O’S07]

Donal O’Shea. Poincarés Vermutung: Die Geschichte eines mathematischen Abenteuers. 4. Aufl.

Fischer (S.), Frankfurt, 2007.

[Spi79] Michael Spivak. Comprehensive Introduction To Differential Geometry, 2nd Edition, Volume 5.

PUBLISH OR PERISH INC, 1979.

[Szp08]

George G. Szpiro. Das Poincaré-Abenteuer: Ein mathematisches Welträtsel wird gelöst. 2. Aufl.

Piper, 2008.

38

Weitere Magazine dieses Users
Ähnliche Magazine