(Verschl\374sselungsverfahren und ihre Bedeutung f\374r die

Werbung
Georg Doll
Pädagogische Hochschule Karlsruhe
Wissenschaftliche Hausarbeit zum Thema:
Verschlüsselungsverfahren und ihre Bedeutung
für die mathematische Bildung
Fach:
Mathematik
Erstschrift ( )
Zweitschrift ( )
Referent:
Korreferent:
Prof. Dr. J. Ziegenbalg
Prof. Dr. U. Beck
Anlage:
Diskette
Abgabetermin:
11. Januar 1997
2
1 Einleitung.........................................................................................................................4
1.1 Von Goldkäfern, tanzenden Männern und Chipkarten..........................................................4
1.2 Zum Aufbau der Arbeit..............................................................................................................6
2 Begriffsbestimmungen und Begriffsabgrenzungen......................................................7
3 Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht... .11
3.1 Die Genesis - Am Anfang war der Code................................................................................11
3.2 Skytale - Die Anfänge der Kryptographie..............................................................................11
3.3 Die Cäsar-Chiffre - Der Urahn der modernen Kryptographie..............................................13
3.4 Die erste Blütezeit der Kryptologie im 16. und 17. Jahrhundert.........................................14
3.5 Die Enigma - Besser als ihr Ruf.............................................................................................17
3.6 Neue Aufgabenfelder - Kryptologie im Computerzeitalter..................................................18
4 Mathematische Grundlagen..........................................................................................21
4.1 Der größte gemeinsame Teiler...............................................................................................21
4.1.1 Der Euklidische Algorithmus..............................................................................................22
4.1.1.1 Anwendung des Algorithmus.....................................................................................23
4.1.2 Lineare diophanische Gleichungen mit zwei Variablen Vielfachsummen.........................24
4.1.2.1Ein verständliches Beispiel.........................................................................................24
4.2 Kongruenzen und Restklassen..............................................................................................26
4.3 Exkurs / Anwendung: Potenzieren modulo m......................................................................28
4.3.1 Schrittweises Vorgehen.....................................................................................................29
4.3.2 Schnelles Rechnen durch Verkettung...............................................................................29
4.4 Abbildungen - Funktionen......................................................................................................30
4.4.1 Einwegfunktionen ((trapdoor) one way functions).............................................................31
4.4.1.1 Ein einführendes Beispiel..........................................................................................31
4.4.1.2 Diskrete Exponentialfunktion modulo m - Diskrete Logarithmen modulo m.............32
4.4.1.3 Multiplikation von Primzahlen - Primfaktorzerlegung................................................33
4.4.1.4 Exkurs: Das Auffinden großer Primzahlen................................................................34
5 Symmetrische Verschlüsselungsverfahren.................................................................37
5.1 Mathematischer Hintergrund..................................................................................................37
5.1.1 Bitweise Verschlüsselung: Bitweise Addition - Die logische Verknüpfung XOR...............37
5.1.2Rechenoperationen bei zeichenweiser Verschlüsselung...................................................38
5.2Die Cäsar-Verschlüsselung ....................................................................................................38
5.2.1Der klassische und der allgemeine Cäsar..........................................................................38
5.2.2ROT13 - Der besondere Cäsar..........................................................................................40
5.2.3Die Sicherheit der Cäsar-Chiffren.......................................................................................40
5.2.3.1Entzifferte Geheimnisse.............................................................................................42
5.2.4Die Vigenère-Chiffre...........................................................................................................43
5.2.5Weiterentwicklungen der Vigenère-Chiffre.........................................................................45
6 Asymmetrische Verschlüsselungsverfahren ..............................................................47
6.1Das RSA-Verfahren...................................................................................................................48
6.1.1 Mathematischer Hintergrund: Der Satz von Euler ............................................................48
6.1.2 Praxis: Der Algorithmus im Einzelnen:..............................................................................49
3
6.1.2.1 Schlüsselerzeugung..................................................................................................49
6.1.2.2 Verschlüsseln von Nachrichten ................................................................................50
6.1.2.3 Entschlüsseln von Nachrichten.................................................................................51
6.2Das Verschlüsselungsverfahren von Rabin..........................................................................52
6.2.1 Mathematischer Hintergrund: Quadratwurzel modulo n
und Chinesischer Restsatz.........................................................................................................52
6.2.1.1 Der chinesische Restsatz..........................................................................................52
6.2.1.2 Quadratischer Rest und Quadratwurzel modulo n....................................................53
6.2.1.3 Das Verfahren von Rabin..........................................................................................53
7 Kryptologie im Mathematikunterricht - Zwei Vorschläge...........................................55
7.1 Die Darstellung von Buchstaben durch natürliche Zahlen (und umgekehrt) als
Möglichkeit der Selbstkontrolle / Die Cäsar-Chiffre als Anwendung der Division mit
Rest (Sekundarstufe I).............................................................................................................55
7.1.1 Codierteil............................................................................................................................55
7.1.1.1 Motivation: ................................................................................................................55
7.1.1.2 Erarbeitung:...............................................................................................................55
7.1.1.3 Anwendung / Transfer...............................................................................................56
7.1.2 Kryptographieteil - Anwendung und Transfer des unter 7.1.1 Gelernten..........................57
7.1.2.1 Motivation..................................................................................................................58
7.1.2.2 Erarbeitung................................................................................................................59
7.1.2.3 Transfer - Variabilität und Sicherheit der Cäsar-Chiffre............................................60
7.2 Kryptanalysen und Beurteilung der Sicherheit verschiedener Chiffren mittels
grundlegender kombinatorischer und statistischer Einsichten (Klassen 1035)................61
7.2.1 Vorbereitung (in Zusammenarbeit mit dem Fach Deutsch)..............................................61
7.2.2 Motivation...........................................................................................................................61
7.2.3 Erarbeitung .......................................................................................................................62
7.2.4 Transfer.............................................................................................................................63
8 Kryptologie - Der weiße Fleck im Curriculum?...........................................................64
9 Literatur zum Thema......................................................................................................65
9.1 Deutschsprachige Literatur, allgemein.................................................................................65
9.2 Deutschsprachige Kinder- und Jugendliteratur zum Thema..............................................68
9.3 Englischsprachige Literatur, allgemein.................................................................................68
9.4 Englischsprachige Kinder- und Jugendliteratur..................................................................71
10 Anhang..........................................................................................................................72
10.1 Programme zu den symmetrischen Verschlüsselungsverfahren....................................72
10.1.1 Das Programm SYMMETR.PAS.....................................................................................72
10.1.2 Das Programm STAT.BAS..............................................................................................72
10.1.3 Das Programm CAESAR.BAS........................................................................................73
10.2 Programme zu den asymmetrischen Verschlüsselungsverfahren..................................74
10.2.1 Das Notebook KEYS.......................................................................................................74
10.2.2 Das Notebook RSA..........................................................................................................75
10.3 Kopiervorlagen und Texte zu Kapitel 7...............................................................................77
10.2.1 Die Schatzkarte................................................................................................................77
10.2.2 Die Chiffrier-Scheibe nach Leon Battista Alberti.............................................................78
10.2.3 Edgar Alan Poe: Der Goldkäfer.......................................................................................79
10.4 Rechtlicher Hinweis...............................................................................................................80
Einleitung
4
1 Einleitung
1.1 Von Goldkäfern, tanzenden Männern und Chipkarten
„...»Doch ist es bekannt, daß Kidd ungeheure Schätze aufgespeichert hat.
Ich hielt deshalb für gewiß, daß sie noch immer in der Erde verborgen lägen
und Sie werden kaum noch überrascht sein, wenn ich Ihnen sage, daß ich
die Hoffnung, ja, fast die Gewißheit in mir aufsteigen fühlte, das unter so
sonderbaren Umständen gefundene Pergament enthalte die verlorene
Nachricht über den Ort, an dem der Schatz vergraben lag. (...) Dann legte
ich es, den Schädel nach unten, in eine zinnerne Pfanne über ein
Steinkohlenfeuer (...) und nahm es in dem Zustand heraus, in dem Sie es
jetzt hier erblicken.« Hier zeigte mir Legrand das Pergamentstück, das er
eben wieder erwärmt hatte. Zwischen dem Totenkopf und dem jungen Bock
erblickte ich folgende, anscheinend von ungeübter Hand geschriebene
Zeichen:
53 Ø Ø Å 305 ) ) 6 * ; 4826 ) 4 Ø . ) 4 Ø ) ; 806 * 48 Å 8 ]/ 60 ) ) 85 ; 1 Ø ( ; :
Ø * 8 Å 83 (88) 5 * Å ; 46 ( ; 88 * 96 * ? ; 8) * Ø ( ; 485 ) ; 5 * Å 2 : * Ø ( ; 4956 *
2 ( 5 * - 4 ) 8 ]/ 8 * ; 40 69 285 ) ; ) 6 Å 8 ) 4 Ø Ø; 1 ( Ø 9 ; 48 0 81 ; 8 : 8 Ø 1 ;
48 Å 85 ;4 ) 485 Å 52 8806 * 81 ( Ø 9 ; 4 8 ; ( 88 ; 4 ( Ø ? 34 ; 48 ) 4 Ø ; 161 ; :188 ; Ø ? ;
»Ich bin allerdings noch gerade so im unklaren wie früher«, antwortete ich
und gab Legrand das Blatt zurück. »Und verspräche mir jemand für die
Lösung des Rätsels alle Edelsteine von Golconda, ich könnte sie nicht
verdienen.«
»Und doch ist sie keineswegs so schwierig«, meinte Legrand, »wie diese
Zeichen auf den ersten Blick vermuten lassen. Sie bilden, wie leicht zu
erraten ist, eine Chiffre, das heißt, sie drücken einen Sinn aus. (...)“
aus: Edgar Allan Poe „Der Goldkäfer“, Quelle: http://gutenberg.aol.de
Wir unterbrechen an dieser Stelle den Fortgang der Geschichte und verschieben
die Entzifferung der Chiffre auf einen Zeitpunkt, an dem wir die erbrachte
Leistung Legrands besser zu würdigen wissen. Aber nicht nur Legrand, bzw.
sein Schöpfer Edgar Allan Poe verspürte den besonderen Reiz, geheime
Einleitung
5
Schriften zu entziffern, auch Sir Arthur Conan Doyle schuf einen literarischen
Helden, der solche Herausforderungen mit Bravour bestand:
aus: Arthur Conan Doyle „The Adventure of the dancing man“, entnommen aus: Bauer / Goos,
Informatik I
Und auch Joachim Ringelnatz gestand „Ibich habibebi dibich, Lobittebi, sobi
liebib. (...)“.
Ob die Angebetete die Nachricht verstand ist nicht überliefert, aber es ist klar,
dass nichts interessanter ist, als die Geheimnisse anderer, zumal, wenn es sich
so offensichtlich um Geheimnisse handelt. Und so gilt die Regel: Wo eine Chiffre
ist, ist auch ein Kryptanalytiker, der keine Ruhe geben wird, bis er nicht nur das
Geheimnis kennt, sondern auch den Schlüssel zu allen weiteren. Die Literatur ist
voll von fehlgeschlagenen Versuchen der Geheimhaltung.
Doch findet und fand Kryptologie nicht nur in der Literatur statt. Ursprünglich
hauptsächlich von militärischem Interesse, hat sie heute in viele Bereiche des
täglichen Lebens Einzug gehalten. So begegnen wir ihr am Geldautomaten bei
der Eingabe der Geheimzahl ebenso, wie - unbemerkt - beim Telefonat übers
Handy.
Aber was wissen wir darüber? - Warum sind z.B. --. . .... . .. -- und 01000111
01000101 01001000 01000101 01001001 01001101 Codierungen (Codes),
HFIFJN aber eine Chiffre von GEHEIM? Was waren die Anfänge der
Kryptologie? Was hat sich seitdem verändert? Gibt es überhaupt sichere
Verschlüsselungsverfahren, die auch ohne abgeschlossenes Studium
verstanden werden können und wenn ja: Kann ein Chiffrier-Algorithmus
überhaupt noch sicher sein, wenn man seine Funktionsweise überall nachlesen
kann? Und die Frage aller Fragen beim Lehrer: Wo und wie kann ich das in
meinen Unterricht einbauen, wenn es überhaupt möglich und nötig ist?
Einleitung
6
1.2 Zum Aufbau der Arbeit
Wir werden uns in den folgenden Kapiteln dieser Fragen annehmen und
versuchen, anwendbare Antworten zu finden. Dabei Kapitel 2 versuchen Licht in
das eben angerichtete Begriffswirrwar (Kursivstellungen) zu bringen. In Kapitel 3
werden wir erleben, wie sich die Kryptologie in den letzten 2500 Jahren als
Spezialdisziplin der Codierungstheorie entwickelt hat, die wesentlich älter ist. Wir
werden auch sehen, dass letztere, völlig unbemerkt, überall im Unterricht
verankert ist, was eine Eingliederung der Kryptologie zumindest vereinfacht.
Ab Kapitel 4 wenden wir uns dann der Mathematik in der Kryptologie und der
Kryptologie in der Mathematik zu. Dabei werden wir zunächst die Grundlagen für
das weitere Arbeiten schaffen und unter anderem z.B. einen Weg finden, wie
man bei einer Division mit Rest mit einem unverschämt großen Divisor den Rest
findet ohne bei der Berechnung mit dem Divisor selbst arbeiten zu müssen.
Kapitel 5 beschäftigt sich mit symmetrischen Verschlüsselungsverfahren, Kapitel
6 entsprechend mit asymmetrischen. Wir werden dabei die Verfahren an
Beispielen genau auf ihre Funktionsweise, ihren mathematischen Gehalt und
ihre Algorithmisierbarkeit hin untersuchen. Einige Verfahren liegen sogar in
Pascal oder Mathematica programmiert vor und können ausgiebig getestet
werden.
Kapitel 7 enthält zwei konkrete Vorschläge zur Behandlung kryptographischer
Inhalte im Mathematikunterricht. Als Nebenprodukt lernen wir ein Verfahren zur
Selbstkontrolle von Rechenaufgaben außerhalb der Kryptologie kennen.
Die Literaturliste enthält nicht nur die verwendete Literatur, sondern versucht
eine möglichst umfassende Sammlung themenspezifischer Bücher aus dem
deutsch- und englischsprachigen Raum. Bemerkenswert ist die große Auswahl
an englischsprachiger Kinder- und Jugendliteratur, die sich mit Kryptographie
und Kryptanalyse beschäftigen. Das empfohlene Lesealter liegt hier meist
zwischen 9 und 12 Jahren, was zeigt, dass ein Einstieg in die Thematik
durchaus nicht fortgeschrittene Mathematikkenntnisse voraussetzt.
Hinweis: In dieser Arbeit wurden die Regeln der neuen deutschen
Rechtschreibung angewandt.
Begriffsbestimmungen und Begriffsabgrenzungen
7
2 Begriffsbestimmungen und Begriffsabgrenzungen
Wir nehmen uns zunächst noch einmal ein Beispiel aus Kapitel 1 vor:
Klartext
G
E
H
E
I
M
Morse-Code
--.
.
....
.
..
-ASCII-Code 0100011 0100010 0100100 0100010 0100100 0100110
1
1
0
1
1
1
Cäsar-Chiffre
H
F
I
F
J
N
Zunächst wirken Codes und Chiffre unverständlich, aber sie haben
unterschiedliche Zielsetzungen:
Der Morse-Code diente der Übermittlung von Mitteilungen mittels Telegraphie,
d.h. durch elektrische Impulse. S. Morse1 übersetzte das uns bekannte Alphabet,
das 26 Zustände (Buchstaben) kennt, in eines mit nur zwei Zuständen, nämlich
kurze und lange elektrische Signale.
A
.H
....
O
--V
...B
-...
I
..
P
.--.
W
.-C
-.-.
J
.--Q
--.X
-..D
-..
K
-.R
.-.
Y
-.-E
.
L
.-..
S
...
Z
--..
F
..-.
M
-T
G
--.
N
-.
U
..Die 26 Buchstaben des Alphabets in Morse-Code übersetzt, Quelle: Bertelsmann, Discovery 97
Die Entwicklung des ASCII-Codes (American Standard Code for Information
Interchange) wurde notwendig, um Texte mit Computern, die ebenfalls nur ein
Alphabet mit zwei Buchstaben (an bzw. aus) beherrschen, verarbeiten zu
können. Der ASCII-Code war ursprünglich 7 Bit (Zeichen) lang, jedoch reichten
die dadurch darstellbaren 32 Zeichen bald nicht mehr den wachsenden
Ansprüchen, so dass er auf 8 Bit erweitert wurde.
1
Samuel Finley Breese Morse, US-amerikanischer Maler und Erfinder, * 27. 4. 1791 Charlestown,
Mass., + 2. 4. 1872 Poughkeepsie, N. Y.
Begriffsbestimmungen und Begriffsabgrenzungen
A
B
C
D
E
F
G
01000001
01000010
01000011
01000100
01000101
01000110
01000111
H
I
J
K
L
M
N
01001000
01001001
01001010
01001011
01001100
01001101
01001110
Die 26 Buchstaben des Alphabets im ASCII-Code
O
P
Q
R
S
T
U
8
01001111
01010000
01010001
01010010
01010011
01010100
01010101
V
W
X
Y
Z
01010110
01010111
01011000
01011001
01011010
Das heißt, der Morse-Code und ASCII ermöglichen erst die Weitergabe von
Information mittels bestimmter Medien. Dagegen benutzt die Cäsar-Chiffre einen
bereits bestehenden Code, unser Alphabet, und macht die damit übermittelte
Nachricht für Außenstehende unleserlich. Entsprechend ergeben sich zwei
Wissenschaftsbereiche die Codierungstheorie und die Kryptologie, die sich wie
folgt voneinander abgrenzen lassen:
Definitionen und Abgrenzung:
Die Codierungstheorie beschäftigt sich mit der Weitergabe von Informationen
(über verschiedene Medien) mittels geeigneter Alphabete, sogenannter Codes.
Der Vorgang der Übersetzung einer Information in die Code-Sprache, den
Wortschatz des Codes, wird Codierung genannt, meist auch die Übersetzung
selbst. Wir werden zur besseren Unterscheidung für die Übersetzung Codewort
bzw. Codewörter verwenden.
Aufgabengebiet der Kryptologie sind Verfahren zur Sicherung codierter
Informationen vor unbefugtem Zugriff (Verschleierung des Inhalts) mittels
spezieller
Chiffrier-Vorschriften
(Chiffrier-Verfahren,
Verschlüsselungsverfahren, -algorithmen, -Systeme) oder unbefugtem
Verändern (Integrität) und Verfahren, welche die Anonymität des Senders
(Verschleierung der Herkunft) sichern, bzw. umgekehrt die Urheberschaft einer
Nachricht beweisen (Authentifikation). Die Kryptologie teilt sich dabei in zwei
Teilbereiche: die Kryptographie, welche solche Verfahren entwickelt und die
Kryptanalyse, welche die Sicherheit der Verfahren überprüft. Dabei werden
jedoch Kryptologie und Kryptographie oft synonym verwendet.
Begriffsbestimmungen und Begriffsabgrenzungen
9
Solange die Existenz von Einwegfunktionen2 nicht bewiesen ist, kann die
Kryptanalyse jedoch bestenfalls die Unsicherheit eines Chiffrier-Systems
beweisen. Dank der sich rasant entwickelnden Computertechnologie gilt daher
bis zum Beweis die Regel: Ein Chiffrier-System ist solange sicher, bis es
geknackt ist.
Ein verständliches Beispiel zu Code und Chiffre:
Wenn ich vor mir eine ebene Platte von vier gleichlangen Stäben getragen sehe,
auf der sich ein wildes Chaos von verschiedenen Dingen ausbreitet, so ist dies
zunächst reine Information, die nur ich nutzen kann. Sollen auch andere an
diesem Wissen partizipieren, so muss ich diese Information in eine CodeSprache übersetzen, mit dem auch andere, die nicht die Möglichkeit haben,
dieses Objekt selbst zu betrachten, diese Information verarbeiten können. Eine
solche geeignete Code-Sprache ist z.B. die deutsche (Schrift-)Sprache (der
zugehörige Code ist der Wortschatz der deutschen Sprache), das Codewort für
das eben beschriebene Objekt lautet „Tisch“, mit Hilfe der Beschreibung der auf
dem Objekt vorherrschenden Ordnung kann ich die Information sogar noch
genauer codieren; nämlich zu „mein Tisch“ vervollständigen. Jeder, der den
verwendeten Code (er)kennt, wird die von mir übermittelten Codewörter
auswerten können.
Bezeichne ich dagegen das Objekt mit „Frosch der Sonne“ kann der Empfänger
mit dieser Information nichts mehr anfangen, solange ich nicht mit ihm
vereinbare, dass „Frosch“ in dieser Information „Tisch“ meint und „Sonne“ (das
Zentrum unseres Sonnensystems) meine eigene Person repräsentiert. Ohne
diese zusätzlichen Vereinbarungen kann kein Informationsaustausch stattfinden,
die Codewörter wurden zusätzlich chiffriert.
Wir können hier bereits die gegensätzlichen Zielsetzungen einer Codierung und
einer Chiffrierung erkennen:
Die Codierung soll den Informationsaustausch zwischen verschiedenen Parteien
ermöglichen, weshalb bevorzugt Codes mit einer ausreichenden Verbreitung
benutzt werden. Dagegen soll eine Chiffrierung den Informationsaustausch
einschränken, reglementieren.
2
siehe Kapitel 4 „Mathematische Grundlagen“
Begriffsbestimmungen und Begriffsabgrenzungen
10
Folgende Begriffe aus der Kryptologie spielen im Folgenden noch eine wichtige
Rolle:
Klartext meint die unverschlüsselte Nachricht / Information, Chiffre, ChiffreText oder Geheimtext entsprechend die verschlüsselte Botschaft. Mit Sender
ist, wie im herkömmlichen Sinne auch, der Absender einer Nachricht, mit
Empfänger der autorisierte Empfänger gemeint. Ein Angreifer versucht, einen
abgefangenen Geheimtext ohne Erlaubnis, also ohne Schlüssel, lesbar zu
machen. Gelingt ihm dies, so sagt man, die Chiffre sei geknackt (gebrochen,
komprimittiert). Der Schlüssel ist jene Information, mit der die Nachricht in
einem bestimmten Chiffrier-Verfahren verschlüsselt (chiffriert, verziffert)
wurde, und mit deren Kenntnis sie vom Empfänger (oder auch Angreifer) wieder
einfach und schnell lesbar gemacht (entschlüsselt, dechiffriert, entziffert)
werden kann.
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
11
3 Codierung und Kryptographie - Ein Streifzug durch
Geschichte und Unterricht
3.1 Die Genesis - Am Anfang war der Code
Codes und Codierungen sind in allen Schulfächern zu finden, man braucht nur
die Evolution und die technische Entwicklung vom Urknall bis heute verfolgen:
Der erste nachweisbare Code ist so alt, wie das Leben selbst; es ist die DNA,
die mit einem Alphabet mit nur vier „Buchstaben“ auskommt. Die DNA ist als
materielle Grundlage der Vererbungslehre dem Biologieunterricht zuzuordnen
(Hauptschule, Klasse 9, Lehrplaneinheit 1: Vererbung und Evolution;
Realschule, Klasse 9, Lehrplaneinheit 3: Grundlagen der Vererbung;
Gymnasium, Klasse 10, Lehrplaneinheit 4: Vererbung beim Menschen und weite
Teile des Biologieunterrichts der Klassen 12 und 13). Aber auch alle
Körperfunktionen basieren auf Codes, welche auf chemischer und physikalischer
Ebene permanent zwischen allen Körperzellen hin- und herlaufen.
Ein von allen Menschen zur Informationsübermittlung täglich und mit
wechselndem Erfolg benutzter Code ist die Sprache. Die Komplexheit dieses
Codes ist nicht zu überschätzen. Es gibt Bausteine, die bestimmte Informationen
über die Umwelt direkt übermitteln (Morpheme) aber auch andere, die
beispielsweise Zeitbezüge herstellen (Präfixe, Sufixe). Über die Grammatik
werden Einzelinformationen miteinander verbunden, es handelt sich also um die
Codierung einer Codierung. Schließlich sei auch noch die Rechtschreibung
erwähnt, ein Code, deren Beherrschung vorwiegend in Personalbüros bei
Einstellungstests von größter Wichtigkeit zu sein scheint.
3.2 Skytale - Die Anfänge der Kryptographie
Seit Informationen durch Sprache übermittelt werden, versuchen die Menschen
auch, diese vor Unbefugten geheim zu halten; zu diesem Zweck entwickelten sie
Geheimschriften und Verschlüsselungsverfahren. Das wohl älteste bekannte
Verschlüsselungsverfahren wurde nach der Überlieferung des griechischen
Historikers Plutarch3 vor ungefähr 2500 Jahren von den Spartanern entwickelt
3
Plutarch von Chäronea: griechischer Philosoph und Historiker der hellenistisch-römischen Zeit,
ca. 45 - 125 n. Chr.
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
12
und basiert auf der sogenannten Skytale. Eine Skytale ist nichts anderes als ein
runder Stab eines bestimmten Durchmessers (siehe Abb.)
Die Skytale von Sparta
aus: Beutelspacher, Kryptlogie
Der Sender wickelt einen Papierstreifen um den Stab und schreibt seine
Mitteilung ganz einfach von links nach rechts. Nach dem Abwickeln des
Papierstreifens bleibt von der Nachricht nur noch ein Buchstabensalat. Nur der
Besitzer eines Stabes mit identischem Durchmesser, und das ist hoffentlich nur
der autorisierte Empfänger, kann die Nachricht ganz leicht lesbar machen; er
wickelt den Streifen einfach auf seinen Stab und liest4.
Da der „Algorithmus“ vom Umfang des Stabes abhängig ist, ist er nicht nur für
den Geschichtsunterricht von Interesse (Hauptschule, Klasse 6, Lehrplaneinheit
4: Die Griechen - Nachwirkungen bis heute; Realschule, Klasse 7,
Lehrplaneinheit 3: Frühe Formen der Staatenbildung; Gymnasium, Klasse 7,
Lehrplaneinheit 4: Die griechische Poliswelt), er kann auch im
Mathematikunterricht analysiert werden (Hauptschule, Klasse 8, Lehrplaneinheit
2: Geometrie; Realschule, Klasse 9, Lehrplaneinheit 3: Kreis, Zylinder, Kugel;
Gymnasium, Klasse 10, mathematisch-naturwissenschaftlicher Zug,
Lehrplaneinheit 4: Kreisberechnungen, Darstellung und Berechnung von
Körpern).
3.3 Die Cäsar-Chiffre - Der Urahn der modernen Kryptographie
Sueton5 berichtet davon, dass auch der römische Feldherr C. Julius Cäsar6
kryptographische Techniken benutzt haben soll. Das Verfahren, bei dem Cäsar
jeden Buchstaben einfach durch den drittnächsten, A durch D, B durch E, ..., X
durch A, Y durch B, Z durch C, ersetzt haben soll und das nach ihm CäsarChiffrierung genannt wird, wurde in den sich immerhin bietenden 25 (!)
Möglichkeiten der Verschlüsselung noch bis in die Neuzeit benutzt. So wurde
4
5
6
vgl. BEUTELSPACHER, Kryptologie, S. 11f.
Gaius Suetonius Tranquillus, römischer Schriftsteller, ca. 70 - 140 n. Chr.
Gaius Iulius Cäsar, römischer Feldherr, Staatsmann und Schriftsteller, * 13. 7. 100 v. Chr., + 15.
3. (an den Iden des März) 44 v. Chr. Rom (ermordet)
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
13
1915 eine Cäsar-Chiffre in der russischen Armee eingeführt, nachdem sich
andere Verfahren als für die Stäbe zu kompliziert erwiesen hatten7. Ein früher
Chiffrierautomat, mit dem sich alle Cäsar-Chiffrierungen realisieren lassen
stammt aus dem Jahre 1466 von Leon Battista Alberti8, der wohl erkannte, dass
es sich bei der Cäsar-Chiffre um eine einfache Verschiebung handelte und
diesen Vorgang in Mechanik umsetzte. Der Automat sah etwa wie der folgende
aus:
Chiffrierautomat nach Leon Battista Alberti
aus: BEUTELSPACHER, Geheimsprachen, S.20
Auf zwei konzentrischen Scheiben wird jeweils das Alphabet in natürlicher
Reihenfolge angebracht. Wenn man nun die innere Scheibe gegen die äußere
verdreht, so zeigt die innere den zum Klartextbuchstaben auf der äußeren
Scheibe korrespondieren Geheimtextbuchstaben an. Giambattista della Porta9
verfeinerte um 1560 das Verfahren (ohne es nachhaltig zu verbessern!), indem
er das Geheimalphabet durch andere Zeichen austauschte. Er benutzte also
zusätzlich zur Chiffre auch noch eine andere Codierung für die Geheimzeichen.
Wir ersparen es uns ab hier, jede geschichtliche Epoche der entsprechenden,
gleichnamigen Lehrplaneinheit zuzuordnen. In Kapitel 7 werden wir an zwei
Beispielen sehen, wo und wie die Cäsar-Chiffrierung zum mathematischen
Problem gemacht werden kann.
7
8
9
vgl. BAUER, Kryptologie. Methoden und Maxime, S. 39
Leon Battista Alberti, italienischer Künstler und Wissenschaftler, * 18. 2. 1404 Genua, + April
1472 Rom
Giambattista della Porta, italienischer Naturforscher und Schriftsteller, * um 1535 Neapel, + 4. 2.
1615 Neapel; Naturforscher und Schriftsteller, Erfinder der Camera obscura
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
14
Die Chiffrierscheibe von Porta,
ursprünglich aus: KAHN, The Codebreakers, S. 14
3.4 Die erste Blütezeit der Kryptologie im 16. und 17. Jahrhundert
Die Namen Alberti und Porta im letzten Abschnitt deuteten schon an, dass es mit
dem ausklingenden 15. und dann im 16. und 17. Jahrhundert auf dem Gebiet
der Kryptologie rund geht. Der bedeutendste deutsche Kryptologe dieser Zeit ist
wohl der Abt Johannes Trithemius10, dessen beide mehrbändigen Werke
Steganographia und Polygraphia erst nach seinem Tod im Jahr 1518
(Polygraphia) bzw. 1531 (Steganographia). Dies sei nur am Rande erwähnt:
Trithemius war der William von Baskerville11 seiner Zeit und durch die durch ihn
in den Klostern Sponheim und St. Jakob in Würzburg aufgebauten für ihre Zeit
umfangreichen Bibliotheken und seine eigenen Bücher sicherlich eine
interessante Persönlichkeit in der Kirchengeschichte im Religionsunterricht
beider Konfessionen.
In der Polygraphia, dem wohl ersten gedruckten Buch über die Kryptographie,
befindet sich u.a. die von Kryptologen so genannte „Ave-Maria-Chiffre“, bei der
jeder Buchstabe durch ein lateinisches Wort ersetzt wird. Trithemius beachtet
bei diesen Ersetzungsregeln gleichzeitig die lateinische Grammatik, so dass sich
der Chiffre-Text zumindest für den ungeübten Lateiner wie ein Gebet liest:
10
11
Johannes von Trittenheim (Trithemius), * 1462 Trittenheim, + 1516 Würzburg
William von Baskerville ist Hauptperson in Umberto Ecos Roman „Der Name der Rose“
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
a
b
c
d
Deus
Creator
Conditor
Opifex
a
b
c
d
clemens
clementissimus
pius
pijissimus
a
b
c
d
creans
regens
conseruans
moderans
a
b
c
d
Der Anfang der „Ave-Maria-Chiffre“, Quelle: STRASSER, Lingua Universalis12, S. 45
15
celos
celestia
supercelestia
mundum
Dabei wird der erste Buchstabe durch ein Wort der ersten Spalte, der zweite
durch ein Wort der zweiten, ..., der fünfte schließlich wieder durch ein Wort der
ersten Spalte usw.
Aus abbas Trithemius wird so „Deus clementissimus regens celos [manifestet
optantibus lucem serphicam / cum omnibus / dilectis / suis in / perpetuum / amen
/ Suauitas potentissimi motoris deuotis / semper vbique / ...]“ schreibt G. F.
STRASSER in Lingua Universalis (S. 45) und fügt in einer Fußnote an: „Rechts
neben manche Spalte sind Präpositionen, Pronomen oder auch Adverbien
eingedruckt, die den syntaktischen Zusammenhang des Textes herstellen. Im
Beispiel sind sie kursiv zwischen Schrägstriche gesetzt, um erkennbar zu
werden.“ Wäre es nicht lohnend, sich neben Asterix, im Latein-Unterricht auch
einmal der Ave-Maria-Chiffre zu widmen?
In Steganographia befassen 31 Kapitel des I. Buches mit kryptographischen
Methoden. Strasser schreibt in Lingua Universalis, S. 39 ff, jedes der 31 Kapitel
stünde „unter dem Zeichen und Schutz eines Geisternamens, einem der
Kabbala entnommenen Wort. Dieser Geist verfügt über (...) einen Geheimcode.
(...) Für die Dechiffrierung aller 31 Codes hat Trithemius eine einzige Regel
aufgestellt: Das jeweils erste und letzte ‘Wort’ ist nicht signifikant (...) und kann
gestrichen werden; das zweite, vierte, sechste Wort (usw.) ist hintereinander zu
lesen, wobei daraus aber wiederum nur der zweite, vierte, sechste Buchstabe
signifikant ist.“. Im II. Buch der Steganographia verwendet Trithemius ein noch
komplizierteres Chiffriersystem, auf das an dieser Stelle aber nicht mehr
eingegangen werden soll13.
12
13
Den gesamten Code findet man in Trithemius: Polygraphia, Bl. A1r - A1v.
Genauere Informationen über die Kryptographie des Trithemius finden sich in: Herzog Augustus
Handbuch der Kryptographie: Apologie des Trithemius und wissenschaftliches Sammelwerk, in:
Wolfenbütteler Beiträge 8 (1988).
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
16
Titelseite (Holzschnitt) der Polygraphia,
ursprünglich aus: KAHN, The Codebreakers, S. 134
Mit der tabula transpositionis (Substitutionstabelle), entwickelt Trithemius im
Buch V der Polygraphia eine polyalphabetische Chiffre, deren Konzeption bereits
auf, die sich von der 1586 von dem französischen Diplomaten Blaise de
Vigenère veröffentlichten und nach ihm benannten Chiffre nur dadurch
unterscheiden, dass statt eines Schlüsselwortes einfach die Zeilen der
Substitutionstafel der Reihe nach verwendet werden. Auch der bereits erwähnte
Giambattista della Porta stellt bereits 1558 in seinem Buch Magia Naturalis ein
der Vigenère-Chiffre ähnliches Verschlüsselungsverfahren vor.
Die Entwicklung der Substitutionstabelle wird von vielen Kryptologen als der
Beginn der modernen Kryptologie betrachtet. Die Vigenère-Chiffre, eigentlich ja
nur eine raffinierte Weiterentwicklung der Cäsar-Chiffre, bleibt über dreihundert
Jahre sicher und kann erst von dem preußischen Infantriemajor Friedrich
Wilhelm Kasisky geknackt werden14. Allerdings lässt sich die Vigenère-Chiffre
zum perfekten Krypto-System ausbauen. Wählt man als Schlüsselwort eine
zufällige Buchstabenfolge, welche die selbe Länge hat wie der zu
verschlüsselnde Text, so hat man ein One-Time-Pad, das 1917 vom
14
siehe Kapitel 5
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
17
amerikanischen Ingenieur Gilbert S. Vernam vorgeschlagen wird. Mit diesem
Chiffrier-System gelingt es den Alliierten im Zweiten Weltkrieg vor den
Deutschen verbergen, dass sie die Chiffre der Enigma geknackt haben.
3.5 Die Enigma - Besser als ihr Ruf
Die Enigma, die Verschlüsselungsmaschine der Deutschen im Zweiten
Weltkrieg, sieht von außen aus wie eine altmodische Schreibmaschine. Ihr
Innenleben wird von drei bis fünf Rotoren (die deutsche Wehrmacht benutzte die
Variante mit drei Rotoren) zu je 26 Einheiten bestimmt, die miteinander
gekoppelt sind und nach jeder Eingabe um eine Einheit weitergedreht werden.
So ergibt sich eine sehr große Periode möglicher Einstellungen, bis die Enigma
wieder ihren Anfangszustand erreicht. Zusätzlich ist durch eine feste
Verdrahtung unter den Rotoren eine monoalphabetische Verschlüsselung
eingebaut. Die Verdrahtung kann nicht geändert werden, wohl aber der
Anfangszustand der Rotoren.
Wird nun ein Buchstabe eingetippt, so schließt sich ein Stromkreis, der zunächst
über Kontaktstellen von Rotor zu Rotor weitergeleitet wird. Der letzte Rotor wirkt
dabei wie ein Umlenkspiegel, der den Kontakt wieder über einen anderen Weg
bis zum ersten Rotor zurückleitet, wo schließlich ein Lämpchen den
entsprechenden Geheimtextbuchstaben anzeigt. Die Anfangseinstellung der
Rotoren wird durch Schlüsselwörter festgelegt und diese waren wohl auch einer
der Knackpunkte im System. Beliebte Schlüsselwörter waren nämlich so
phantasievolle wie „AAA“, „AAB“, „ABC“, ..., ein gefundenes Fressen für
Kryptanalytiker15. Dieses Verfahren zur Festlegung von Schlüssel- und
Passwörtern hat sich erstaunlicherweise bis heute gehalten (Internet-Zugang,
PINs für Online-Banking usw.) und sollte den Nutzern, mit dem eben Erfahrenen,
doch zu denken geben. „Beliebte Passwörter aus dem letzten Krieg“ wäre sicher
ein lehrreiches Kapitel im Fach Wirtschaftslehre/Informatik (Hauptschule Klasse
8, Lehrplaneinheit 4: Einsatz des Computers zur Bearbeitung und Darstellung
wirtschaftlicher Sachverhalte und Aufgaben, Datenschutz).
15
Das Drama um die Enigma ist ausführlich beschrieben an verschiedenen Stellen in BAUER,
Entzifferte Geheimnisse
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
Die Enigma, aus: BAUER, Entzifferte
Geheimnisse, Farbtafel G
18
Stromlaufplan einer Rotormaschine, wie der
Enigma, aus: W OBST, Abenteuer Kryptologie,
S. 40
3.6 Neue Aufgabenfelder - Kryptologie im Computerzeitalter
Das Computerzeitalter stellt neue Anforderungen an die Kryptologie. Die ständig
wachsende Arbeitsgeschwindigkeit der elektronischen Helfer ermöglichen es
dem Kryptanalytiker, einen abgefangenen Geheimtext binnen kurzer Zeit mit
vielen verschiedenen Schlüsseln zu dechiffrieren und bei begrenzter
Schlüsselzahl in erträglicher Zeit den ursprünglichen Text zu finden und so den
dazugehörigen
Schlüssel
zu
erraten.
Deshalb
müssen
Verschlüsselungsverfahren heute so beschaffen sein, dass die Anzahl der
Schlüssel auch für moderne Rechner immer noch zu gewaltig ist. Mehr denn je
gilt heute das Prinzip von Kerckhoffs:
„Die Sicherheit eines Kryptosystems darf nicht von der Geheimhaltung des
Algorithmus abhängen. Die Sicherheit gründet sich nur auf die Geheimhaltung
des Schlüssels.“ (BEUTELSPACHER, Kryptologie, S. 23)
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
19
In diesem Prinzip steckt bereits ein weiteres Aufgabenfeld der Kryptologen.
Wenn es nur eine Frage der Zeit ist, bis ein Schlüsselwort erraten werden kann,
so sollte dieses kurzfristig, am besten vor jedem Chiffriervorgang, geändert
werden. Damit steigt aber die Wahrscheinlichkeit, dass bereits das
Schlüsselwort abgefangen wird; die Kryptologie hat deshalb Verfahren,
sogenannte Protokolle, entwickelt, die den Passworttausch vor unbefugtem
Abhören sichern.
Passwörter spielen aber nicht nur beim Verschlüsseln von Botschaften, sondern
auch bei dem Nachweis der Authentizität einer Person (Authentikation) eine
Rolle. Dieser Nachweis wird nicht nur im Hochsicherheitstrakt sensibler
Forschungsabteilungen verlangt, sondern begegnet uns täglich, z.B. am
Geldautomat, wenn wir die geforderte Geheimzahl eingeben, um uns zu
identifizieren.
Weitere Aufgaben der Kryptologie sind die Sicherung der Integrität von
Mitteilungen, d.h. deren Sicherung vor Fälschung und die Sicherung der
Anonymität. Anwendungsfelder sind z.B. elektronische Wahlen und
elektronisches Geld.
Beim Verschlüsseln von Nachrichten spalten sich die Verfahren inzwischen in
die symmetrischen, also solche in denen Sender und Empfänger das
Schlüsselwort kennen (müssen) und die asymmetrischen, bei denen der
Schlüssel aus zwei Schlüsselwörtern besteht, einem (wirklich) geheimen zum
Entschlüsseln und einem allgemein zugänglichen zum Verschlüsseln von
Nachrichten (Public-Key-Cryptography).
Bei den symmetrischen hat sich das in den sechziger Jahren von Horst Feistel
entwickelte Lucifer-Verfahren, das mit einigen Veränderungen 1977 vom
National Bureau of Standards in den USA unter dem Namen DES (Data
Encryption Standard) genormt wurde, durchgesetzt. Es hat bis heute, allen
geäußerten Bedenken zum Trotz, allen Angriffen (bis auf einige Spezialfälle)
standgehalten.
Das Problem, das sich aus dem Prinzip Kerckhoffs’ ergibt, die Geheimhaltung
des Schlüsselwortes, blieb aber auch mit DES ungelöst. Absolute
Geheimhaltung ist nur dann möglich, wenn ich das Schlüsselwort niemandem
mitteile. Doch wie sollte damit eine sinnvolle und geheime Kommunikation
möglich sein? 1976 veröffentlichten nun Whitfield Diffie und Martin Hellman eine
Codierung und Kryptographie - Ein Streifzug durch Geschichte und Unterricht
20
Arbeit, in der sie das Problem der Verschlüsselung ohne Schlüsselaustausch
mathematisch genau spezifizierten. Sie kamen zu dem Schluss, dass die
Möglichkeit der Lösung des Problems von der Existenz einer „trapdoor
Einwegfunktion“16 abhängt.
Dies rief ein Forscherteam, bestehend aus Ronald Rivest, Adi Shamir und Len
Adleman auf den Plan, die zunächst beweisen wollten, dass es solche
Einwegfunktionen nicht geben kann. Der Versuch schlug fehl! Rivest, Shamir
und Adleman stießen bei ihren Forschungen auf trapdoor Einwegfunktionen und
erfanden - entgegen ihrer ursprünglichen Zielsetzung - ein KryptographieSystem ohne Schlüsseltausch (also asymmetrisch), den RSA-Algorithmus, der
zudem auf einem „uralten“ Satz des genialen schweizerischen Mathematikers
Leonhard Euler17 basiert.
Seither wurden zwar weitere asymmetrische Verfahren entwickelt, diese
erwiesen sich aber inzwischen als unsicher oder sind wesentlich komplizierter
als RSA18.
DES und RSA haben, wie alle modernen Verschlüsselungsverfahren, eine
Gemeinsamkeit. Sie verschlüsseln nicht mehr buchstaben-, sondern blockweise;
die Chiffre ergibt im allgemeinen keinen Buchstabensalat sondern
Zahlenkolonnen. Die Verschlüsselung erfolgt ausschließlich auf Zahlenebene,
was das Vorliegen des Klartextes in einem Zahlencode (ASCII) voraussetzt.
Damit schließt sich der Kreis und wir wären wieder am Ausgangspunkt dieses
Kapitels.
Der letzte Abschnitt demonstrierte wohl die überwältigende Bedeutung der
Kryptologie im Alltag, die eine genauere Betrachtung der Materie im Unterricht
rechtfertigt, wenn nicht gar fordert.
16
17
18
siehe Kapitel 4: Mathematische Grundlagen
Leonhard Euler, * 15. 4. 1707 Basel, + 18. 9. 1783 St. Petersburg;
vgl. BEUTELSPACHER, Geheimsprachen, S. 52f.
Mathematische Grundlagen 19
21
4 Mathematische Grundlagen 19
Die im Weiteren beschriebenen Verschlüsselungsverfahren basieren auf
Addition und Multiplikation über Restklassen („Division mit Rest“). Deshalb ist es
lohnend, vorweg die Begriffe zu definieren und die Eigenschaften von
Restklassen zu zeigen, die in den späteren Kapiteln immer wieder gebraucht
werden.
4.1 Der größte gemeinsame Teiler
Definition: Teiler
Die ganze Zahl t heißt Teiler von der ganzen Zahl a, wenn a von t ohne Rest
. Wir schreiben
geteilt wird, d.h. wenn es eine ganze Zahl m gibt mit
dann
.
Definition: größter gemeinsamer Teiler
Sei T(a) die Menge aller Teiler der natürlichen Zahl a und T(b) die Menge aller
Teiler der natürlichen Zahl b. Dann heißt d = max{T(a)∩T(b)} der größte
gemeinsame Teiler von a und b, kurz: ggT(a,b) := max{T(a)∩T(b)}.
Satz von der Division mit Rest:
Sind a, b ∈ N, so gibt es genau zwei Zahlen p, r ∈ N0 mit
und
0 ≤ r < b.
Anmerkung: In vielen Programmiersystemen sind mathematische Funktionen zur
Berechnung von p und r implementiert. Im allgemeinen erhält man p mit
p = DIV(a,b) und r mit r = MOD(a,b)
Beweis der Existenz mit vollständiger Induktion über a:
Für a = 1 und b = 1 ist q = 1 und r = 0, für a = 1 und b > 1 ist q = 0 und r = 1.
Unter der Annahme, dass der Satz für a = k gelte, folgt für
.
Beweis der Eindeutigkeit:
19
alle Sätze und Definitionen dieses Kapitels (soweit nicht anders angegeben): vgl. PADBERG,
Elementare Zahlentheorie, Kapitel III u. IV
Mathematische Grundlagen 19
Sei
und
22
mit 0 ≤ r1, r2 < b. Dann ist
. Da r1 - r2 < b folgt unmittelbar, dass q1 = q2 und
r1 = r2.
Hilfssätze:
(1) Aus t|a und t|b folgt dass t|ma+nb für alle ganzzahligen a,b,m,n.
Beweis: Sei t Teiler von a. Dann gibt es ein ganzzahliges p mit
, ebenso
ist
. Analog gelangen wir zu
. Es ist
und daraus folgt, dass t auch
teilt.
(2) Für
Beweis:
Wir
ist ggT(a, b) = ggT(b,r)
zeigen, dass T(a)∩T(b) = T(b)∩T(r)
für
t ∈ T(a)∩T(b). Dann gilt t|b und t|a und damit mit Hilfssatz (1)
:
Sei
und
damit t ∈ T(r) ∩T(b) . Sei nun umgekehrt t ∈ T(r) ∩T(b). Dann gibt es
ganzzahlige m und n mit
und
. Subtraktion ergibt
, also
und damit a ∈ T(a).
Somit folgt t ∈ T(a)∩T(b) und damit insgesamt T(a)∩T(b) = T(b)∩T(r).
Zum Schluss noch die triviale Eigenschaft:
(3) ggT(a,0) = a.
4.1.1 Der Euklidische Algorithmus
Der Euklidische Algorithmus bestimmt den größten gemeinsamen Teiler zweier
Zahlen und nutzt dabei die eben gewonnene Eigenschaften - ggT(a,b) = ggT(b,r)
für
und ggT(a,0) = a:
Mathematische Grundlagen 19
23
Euklidischer Algorithmus:
Seien a und b zwei natürliche Zahlen.
1. Setze r0 := a und r1 := b
2. Berechne q1, r2 ∈ N0, 0 ≤ r2 < b so, dass
3. Solange ri ≠ 0:
Berechne qi, ri+1 ∈ N0, 0 ≤ ri+1 < ri so, dass
4. ggT(a,b) = ri
(also der letzte von Null verschiedene Rest)
Die Korrektheit des Algorithmus wurde bereits in den obigen Hilfssätzen
bewiesen.
4.1.1.1 Anwendung des Algorithmus
Der Euklidische Algorithmus eignet sich sehr gut zum automatisierenden Üben
der (schriftlichen) Division mit Rest. Hier ein Beispiel:
Aufgabe: Wie lautet der größte gemeinsame Teiler von a = 2257 und b = 1739?
Üblicherweise bestimmt (errät) man hier die Primfaktoren und / oder stellt die
Teilermengen auf und bestimmt deren gemeinsames Maximum, man sucht also
die natürlichen Zahlen t, die a und b ohne Rest teilen. Der Leser versuche ruhig
einmal an dieser Stelle den ggT nach diesem Verfahren zu finden. Der
Euklidische Algorithmus fordert diese Kreativität nicht:
Mathematische Grundlagen 19
24
4.1.2 Lineare diophanische Gleichungen mit zwei Variablen /
Vielfachsummen
Definition:
Jede Gleichung ax + by = c mit a,b ∈ N und
diophanische Gleichung mit zwei Variablen.
c,x,y ∈ Z
heißt
lineare
Satz/Definition: Vielfachsummen
Für alle natürlichen Zahlen a, b gibt es nichtnegative ganze Zahlen x, y mit
. Diese Darstellung heißt Vielfachsummendarstellung
von a und b.
Beweis-Skizze: Durch eine Umstellung der Gleichungen im Euklidischen
Algorithmus gelangen wir zu
. Durch sukzessives Einsetzen
der errechneten ri von rn := ggT(a,b) rücklaufend bis r0 := a gelangt man
schließlich zu der gesuchten Vielfachsumme.
4.1.2.1 Ein verständliches Beispiel
Unter der Voraussetzung, dass der euklidische Algorithmus bereits
durchgenommen wurde, könnte eine Aufgabe in einer Mathematikstunde
(frühestens ab dem siebten Schuljahr) z.B. so lauten:
a) Bestimme den größten gemeinsamen Teiler d von 514 und 130.
b) Suche zwei ganze Zahlen a und b, so dass
Lösung von a) (mit dem euklidischen Algorithmus):
Antwort: Es ist d = 2
Mathematische Grundlagen 19
25
Lösung von b)
Wir schreiben die obigen Gleichungen anders auf:
In der letzten Zeile steht zumindest bereits eine Gleichung der Form „d gleich
irgendwas“. Wir ersetzen die 4 durch den Term gleichen Wertes in der Zeile
darüber:
Für die 6 steht eine Zeile darüber ein Term, den wir jetzt verwenden:
Mit der ersten Zeile gelangen wir schließlich zu:
Eine Probe ergibt, dass die Rechnung stimmt.
Antwort: Die gesuchten Zahlen sind a = -22 und b = 87.
Zum Abschluss dieses Abschnitts noch eine Verallgemeinerung des Satzes über
Vielfachsummen:
Satz:
Die lineare diophanische Gleichung ax + by = c ist lösbar, wenn
Beweis: Aus
Lösbarbkeit der Gleichung.
.
mit ganzzahligem u folgt unmittelbar die
Mathematische Grundlagen 19
26
4.2 Kongruenzen und Restklassen
Definition:
„Seien a, b ∈ Z, m ∈ N. Man sagt: a ist kongruent b modulo m, geschrieben
a ≡ b (mod m), genau dann, wenn m|a-b.(...) Die Zahl m ∈ N bezeichnet man
(...) als Modul.“ (PADBERG, Elementare Zahlentheorie, S. 57)
Satz:
Für a, b ∈ Z, m ∈ N gilt: a ≡ b (mod m) genau dann, wenn a und b bei Division
durch m den selben Rest 0 ≤ r < m, r ∈ N lassen.
Beweis: Sei a ≡ b (mod m). Für
und
mit 0 ≤ r1, r2 <
. Da b – a von m
m (Satz über Division mit Rest) ist
ohne Rest geteilt wird, und r1, r2 < m, muss r1 = r2 sein.
Gilt umgekehrt
und
, so ist
und damit a ≡ b (mod m).
Satz:
Die Kongruenz modulo m ist eine Äquivalenzrelation.
Beweis: Reflexivität und Symmetrie sind trivial. Wenn a ≡ b (mod m) und b ≡ c
(mod m) folgt mit obigem Hilfssatz (1) a ≡ c (mod m).
Definition: Restklasse
Jede Menge
x∈
sind Repräsentanten von
Restklassen modulo m.
heißt Restklasse modulo m, alle
. Mit Rm bezeichnen wir die Menge aller
Mathematische Grundlagen 19
27
Satz:
Bei festem m ist Rm eine Klasseneinteilung (Partition) von Z.
Beweis: Da wegen a ∈
∩
≠∅ ist, muss nur noch gezeigt werden, dass
,
=∅ und
.
(Achtung: Das Summenzeichen meint hier „Vereinigung
über”. Das Vereinigungszeichen war in diesem Kontext in StarOffice 6 nicht darstellbar.)
∩
Sei
≠∅. Dann existiert ein t mit t ≡ a (mod m) und t ≡ b (mod m) und
wegen Symmetrie und Transitivität der Kongruenzrelation a ≡ b (mod m), also
=
.
Die Vereinigung aller Restklassen ergibt Z, denn jedes z ∈ Z liegt in
(mindestens) einer Restklasse, nämlich
.
Satz:
, d.h. Rm besitzt genau m Restklassen.
Es ist
ist trivial. Umgekehrt gibt es für jedes a ∈ Z ein
Beweis:
q ∈ Z und ein r ∈ N, 0 ≤ r ≤ m-1 mit
a∈
und deshalb ist auch
, d.h. a ≡ r (mod m), also
. Der Beweis, dass
paarweise diskjunkt sind verläuft wie oben (Satz: Rm ist eine
Klasseneinteilung).
Definition: Restklassenaddition und Restklassenmultiplikation
Seien
,
zwei Restklassen aus Rm. Die Verknüpfung
⊕
:=
bzw.
⊗
:=
heißt Restklassenaddition
bzw. Restklassenmultiplikation.
Häufig schreibt man anstelle von
⊕
bzw.
⊗
auch a + b mod
m bzw.
.
Eigenschaften:
Kommunativität, Assoziativität und Gültigkeit des Distributivgesetzes lassen sich
direkt aus den entsprechenden Operationen in Z ableiten. Neutralelement ist
, Einselement ist
. Zu
∈ Rm ist
die additiv Inverse. Genau
dann gibt es für jedes
∈ Rm ein multiplikativ Inverses modulo m, wenn m
prim ist. Sind a und m teilerfremd (zueinander prim), so gibt es ein multiplikativ
Inverses modulo m.
Mathematische Grundlagen 19
28
Wir beweisen die beiden letzten Behauptungen unter Verwendung der
Vielfachsummendarstellung:
Ist m prim, so ist für alle 0 < a < m ggT(a,m) = 1 =
für geeignete
ganzzahlige x und y. Es ist
und daher
. Dagegen
besitzt z.B.
in R4 kein multiplikativ Inverses.
Der Beweis für die letzte Behauptung verläuft analog (ggT(a,m) = 1 !).
Satz:
Für natürliche Zahlen z, a, b, m gilt. Ist za ≡ zb mod m und ggT(z,m) = d, so ist
.
Beweis: Nach Voraussetzung ist m Teiler von z(b – a). Es gibt also ein p mit
z(b – a) = pm. Bei Division durch d erhält man
teilerfremd sein müssen, muss
. Da
und
Teiler von (b – a) sein und damit ist
.
Folgerung: Sind z ≠ 0 und m teilerfremd, dürfen wir durch z teilen.
4.3 Exkurs / Anwendung: Potenzieren modulo m
Zu lösen sei folgende
Aufgabe: Welchen Rest lässt a = 517 bei Division durch 47?
Gesucht ist also ein r ∈ N, r < 47 mit r ≡ 517 (mod 47).
Mathematische Grundlagen 19
29
4.3.1 Schrittweises Vorgehen
Wir wenden schrittweise die Restklassenmultiplikation an. Bei allgemeinen
natürlichen a und d ist
⊗
. Wir erhalten folgendes
Schema:
Für unsere Aufgabe rechnet man also in 17 Schritten:
1)
5 mod 47 = 5
2)
3)
4)
16)
17)
4.3.2 Schnelles Rechnen durch Verkettung
Zerlegt man d in eine Summe aus Zweierpotenzen -
, bi ∈ {0,1},
20
i ∈ {0,1,...,N}, gelangt man zu folgender Darstellung:
Diese, auf den ersten Blick unübersichtliche, Variablen-Wüste gibt uns bei
genauem Hinsehen ein sehr schnelles und handliches Verfahren zur
Berechnung des oben gesuchten Restes an die Hand. Sie sagt nämlich aus,
dass wir zum einen den Rest einer Zahl mit Potenz mit N Binärstellen (N Bit) in
N Schritten ausrechnen können. Darüber hinaus können wir den im i-ten Schritt
berechneten Rest qi im nächsten Schritt recyclen, denn es ist qi+1 = qi2 mod m.
20
d = bNbN-1...b1b0 im Dualzahlsystem
Mathematische Grundlagen 19
30
Die bi schließlich geben an, ob qi zum zu berechnenden Rest r modulo m
hinzumultipliziert wird oder nicht.
Wir erhalten folgenden auf Restklassen erweiterten - binären - Square-andMultiply-Algorithmus:
für i > 0
r = rN.
Die obige Aufgabe lösen wir nun wie folgt:
17 = 16 + 1 =
= 100012
(Für größere Zahlen lohnt sich hier das einmalige Anlegen einer Tabelle der
Zweierpotenzen, etwa bis N=10)
q0 = 5 mod 47 = 5
r 0 = q0 = 5
r1 = r0 = 5
r2 = r1 = 5
r3 = r2 = 5
4.4 Abbildungen - Funktionen
Wir werden der Vollständigkeit halber folgende Definitionen voranstellen:
Definitionen:
Seien X, Y zwei nicht Mengen. Wir bezeichnen eine Zuordnung, die jedem
Element x ∈ X genau ein Element y ∈ Y zuordnet, als Abbildung oder Funktion
f von X in Y (f: X → Y, y = f(x)).
Weist f unterschiedlichen x ∈ X auch unterschiedliche y ∈ Y zu, so ist f injektiv.
Gibt es für jedes y ∈ Y ein x ∈ X, so ist f surjektiv. Ist f injektiv und surjektiv, so
sagt man f ist bijektiv.21
Satz:
21
vgl. W INKLER, Mengen,Relationen, Abbildungen S. 124ff.
Mathematische Grundlagen 19
Genau dann ist
31
bijektiv, wenn ggT(k,n) = 1.
Beweis: Sei f(m) bijektiv und ggT(k,n) > 1. Dann lässt sich ein Widerspruch
ableiten: z.B. ist
. Sei nun umgekehrt ggT(k,n) = 1:
Injektivität: Für (k,m1), (k,m2), m1 ≠ m2 sei
Aus c1 = c2 folgt:
und
.
und damit m1 = m2 im
Widerspruch zur Annahme.
Surjektivität: Um von f(m) = c wieder auf m zu kommen braucht man die Inverse
von k modulo n. Diese exisiert aber immer, da ggT(k,n) = 1 ist. Trivialerweise ist
, d.h. jedes c ∈ Rn lässt sich als Produkt darstellen.
4.4.1 Einwegfunktionen ((trapdoor) one way functions)
4.4.1.1 Ein einführendes Beispiel
Einwegfunktionen gehören nicht gerade zur mathematischen Grundbildung,
deshalb wollen wir (ausnahmsweise) mit alltäglichen Beispiel beginnen:
Will man die Pädagogische Hochschule in Karlsruhe anrufen, so schlägt man
einfach das Telefonbuch auf und sucht unter „h“ wie Hochschulen oder „p“ wie
pädagogische Hochschule. (Wenn man nach der Nummer einer Familie Schmidt
sucht, kann es hilfreich sein, auch Straße und Hausnummer zu wissen.) Eine
Telefonnummer eines speziellen Teilnehmers im Telefonbuch zu finden, ist also
- gesunde Augen oder eine griffbereite Brille vorausgesetzt - keine große
Herausforderung.
Findet umgekehrt ein Familienmitglied unter dem Telefon einen Zettel mit der
Notiz: „Fax 06213 - 780614“ wird man die Frage, ob man die Nummer noch
braucht ohne das Wissen zu welchem Teilnehmer diese gehört höchst
wahrscheinlich nie beantworten können22.
Wenn das Lösen eines Problems in der einen Richtung sehr einfach, in der
umgekehrten aber unendlich schwer ist, hat dieses eine Einwegeigenschaft;
lässt sich das Problem mittels einer mathematischen Funktion lösen, so spricht
man von einer Einwegfunktion.
Wir unterscheiden Einwegfunktionen mit und ohne Falltür (trapdoor):
22
Die Nummer existiert wirklich. Der Zweifler möge selbst versuchen, den Teilnehmer mit Hilfe
eines normalen Telefonbuchs aufzuspüren.
Mathematische Grundlagen 19
32
Definition:
Sei f: X → Y eine injektive Funktion.
Hat f die Eigenschaft, dass sich für jedes x ∈ X der Funktionswert f(x) sehr leicht
berechnen, sich aber umgekehrt aus y = f(x) ∈ Y nur extrem schwer (mit extrem
hohem Aufwand) das Urbild x = f-1(y) ∈ X bestimmen lässt, so heißt f echte
Einwegfunktion (one way function).
Lässt sich das Urbild mittels einer zusätzlichen (geheimen) Information
bestimmen, so heißt f Einwegfunktion mit Falltüre (trapdoor one way
function).23
Einwegfunktionen
sind
die
Grundlage
eines
jeden
erfolgreichen
Verschlüsselungsverfahrens.
Mathematisch
ist
die
Existenz
von
Einwegfunktionen noch nicht einmal bewiesen, insbesondere durch die rasante
Entwicklung bei Rechnergeschwindigkeiten und den Verfall der Speicherpreise
muss die Aufwandsgrenze ständig neu gezogen werden. Auch den bisher
aussichtsreichsten Kandidaten, der Exponentialfunktion in endlichen
Zahlenkörpern dem Produkt von (sehr großen!) Primzahlen, rückt die moderne
Elektronik zunehmend zu Leibe.
Um noch einmal das obige Beispiel aufzugreifen: Ein inverses Telefonbuch
wäre eine Falltür. Telefonbücher auf CD-ROM mit umfangreichen
Suchfunktionen haben diese jedoch längst überflüssig gemacht und gezeigt,
dass dieses Problem inzwischen keine Einwegeigenschaft mehr besitzt.
4.4.1.2 Diskrete Exponentialfunktion modulo m Diskrete Logarithmen modulo m
Wir betrachten uns als Beispiel folgendes Problem in R251:
Für x = 3 ist
mod 251 = 64; das ist schnell berechnet. Welches Problem
darin steckt, aus
Schaubild, das
23
das x zu berechnen, zeigt das folgende
für alle x ∈ {1,2,...,100} abbildet:
vgl. BAUER, Entzifferte Geheimnisse, S. 159
Mathematische Grundlagen 19
33
Der diskrete Logarithmus springt in Rp scheinbar chaotisch hin und her. Zu
beachten ist auch, dass nicht alle diskreten Logarithmen Lösungen haben, z.B.
besitzt
keine Lösung. Hat das Modul p eine Länge von 512 Bit
(2512 < p ≤ 2511) oder gar 1024 Bit (21024 < p ≤ 21023), scheidet die Brute-ForceMethode zur Ermittlung von x endgültig aus; in vielen Fällen würde sie auch auf
den schnellsten heute verfügbaren Computern länger als die restliche
Lebensspanne unserer Sonne (230 Jahre) dauern.
4.4.1.3 Multiplikation von Primzahlen - Primfaktorzerlegung
Über die Multiplikation von Zahlen muss an dieser Stelle nichts mehr gesagt
werden. Wie schwierig es sich gestaltet, Zahlen ab einer bestimmten Größe in
Primfaktoren zu zerlegen, kennt jeder noch von der Bestimmung des größten
gemeinsamen Teilers in Schulmathematik, die auf die Verwendung des sehr
einfachen und effektiven Euklidischen Algorithmus meistens verzichtet.
F. L. BAUER ist in seinem Buch „Entzifferte Geheimnisse“ dennoch skeptisch, was
die Einweg-Eigenschaft angeht. Er verweist auf den Algorithmus von R.
Schroeppel, der zur Primfaktorzerlegung einer Zahl n „asymptotitsch von der
Größenordnung
Operationen“ (S. 157) benötigen soll.
Unter Berücksichtigung der Entwicklung bei der Rechenzeit moderner Computer,
kommt er zu dem Schluss, dass Zahlen mit 512 Dualstellen (beim RSAVerfahren benutzt man derzeit zur Schlüsselerzeugung zwei 512-Bit-Primzahlen)
ab 2004 keine Sicherheit mehr bieten. Hier zeigt sich aber bereits ein weiteres
Problem: Wie findet man (viele !) Primzahlen p mit 2512 < p < 2 513.
Mathematische Grundlagen 19
34
4.4.1.4 Exkurs: Das Auffinden großer Primzahlen
Am einfachsten findet man die Primzahlen bis zur Zahl n mit dem Sieb des
Eratosthenes:
(1) Schreibe alle Zahlen 1 bis n auf.
(2) Streiche die 1 durch.
(3) Schreibe die Zahl 2 auf ein anderes Blatt und streiche alle Vielfachen
von 2.
(4) Solange
finde die kleinste nicht durchgestrichene Zahl a,
schreibe a hinter die Zahlenliste auf dem anderen Blatt und streiche alle
Vielfachen von a durch.
Die so erhaltene Liste enthält alle Primzahlen zwischen 1 und n. Das Verfahren
lässt sich auch leicht auf jedem Rechner implementieren. Bei Suche nach einer
Primzahl mit einer Länge von 512 Bit mittels des Siebs sind allerdings sämtliche
verfügbaren Speicherressourcen überfordert.
Erzeugen von Pseudoprimzahlen / Primzahltests
In der Praxis begnügt man sich daher mit sogenannten Pseudoprimzahlen; das
sind beliebig gewählte Zahlen, die lediglich mit einer bestimmten
Wahrscheinlichkeit Primzahlen sind.
Für eine Pseudoprimzahl mit einer Länge von 512 Bit untersucht man also nicht
den gesamten Zahlenraum von 1 bis 2512-1, sondern man erzeugt einen
Zufallszahl der entsprechenden Länge und führt sogenannte Primzahltests
durch. Eine Zahl, die einen solchen Test besteht ist mit berechenbar großer
Wahrscheinlichkeit tatsächlich eine Primzahl. Als Primzahltests stehen z.B. die
Algorithmen von Solovay-Strassen, Lehmann und Rabin-Miller zur Verfügung.
Wir wollen uns hier den Rabin-Miller-Algorithmus genauer ansehen, da hier die
Wahrscheinlichkeit, dass eine zusammengesetzte Zahl den Test besteht
schneller abnimmt, als bei den beiden anderen.
„Wähle eine Zufallszahl p, die getestet wird. Berechne die Zahl b, die
angibt, wie oft 2 die Zahl p – 1 teilt, d.h. 2b ist die größte Zweierpotenz, die
p – 1 teilt. Bestimme m so, dass p = 1 + 2bm.
(1) Wähle eine Zufallszahl a, die kleiner ist als p.
Mathematische Grundlagen 19
35
(2) Setze j = 0 und z = am mod p.
(3) Falls z = 1 oder z = p – 1, besteht p den Test und ist
möglicherweise prim.
(4) Falls j > 0 und z = 1, so ist p nicht prim.
(5) Setze j = j + 1. Falls j < b und z ≠ p –1, setze z = z2 mod p und
gehe zurück zu Schritt (4). Falls z = p – 1, besteht p den Test und
ist möglicherweise prim.
(6) Falls j = b und z ≠ p – 1, so ist p nicht prim.“
(SCHNEIER, Angewandte Kryptologie, S. 304)
Der Test baut auf dem kleinen Satz von Fermat auf und ist sehr sicher. Die
meisten zusammengesetzten Zahlen würden bei 99,9 % aller möglichen Werte
für a durchfallen.
Im Algorithmus brauchen wir die zu testende Zahl p in der Form p – 1 = 2bm. Die
Parameter b und m lassen sich aber sehr leicht finden, denn es gilt der folgende,
triviale Satz:
Satz:
Sei d eine n Bit lange binäre Zahl der Form
, ai ∈ {0,1}
!
. Dann lässt sich d darstellen als d = 2bm.
Beweis durch Induktion über b:
Sei d eine beliebige binäre Zahl.
b = 0, d.h. d = 1an-1...a21 = m und 2bm = 20d = d
b = 1: d.h. d = 1an-1...a310, m = d / 2 und daher
Sei die Behauptung war für ein beliebiges b = k.
b = k + 1:
.
!
Um von d auf m zu kommen, muss d für jede zu streichende Null durch 2 geteilt
werden. Es ist also
und damit
.
In der Praxis wählt man im Allgemeinen eine Kombination von Brute-ForceMethode und Rabin-Miller-Algorithmus:
Mathematische Grundlagen 19
36
„(1) Erzeuge eine zufällige Zahl p der Länge n Bit.
(2) Setze das höchstwertige und das niederwertigste Bit auf 1. Das
höchstwertige Bit stellt sicher, dass die Zahl die gewünschte Länge hat,
das niederwertigste garantiert für eine ungerade Zahl.
(3) Stelle sicher, dass p durch keine kleine Primzahl teilbar ist: 3, 5, 7, 11
usw. Viele Implementierungen testen die Teilbarkeit von p durch alle
Primzahlen bis 256. Die effizienteste Variante bis 2000. (...)
(4) Führe den Test von Rabin-Miller für ein zufällig gewähltes a durch.
Besteht p, so erzeuge ein weiteres zufälliges a und führe den Test
erneut durch. Wähle einen kleineren Wert für a, um die Berechnung zu
beschleunigen, und führe fünf Tests durch. (...) Fällt p bei einem dieser
Tests durch, so erzeuge ein neues p und versuche es noch einmal.“
(SCHNEIER, Angewandte Kryptologie, S. 304f.)
Genaueres zum Rabin-Miller-Algorithmus findet man z.B.:
M.O. Rabin, „Probalistic Algorithms for Testing Pimality“ im Journal of Number
Theory, Jahrgang 12, Nr. 1, Februar 1980, S.128-138.
Symmetrische Verschlüsselungsverfahren
37
5 Symmetrische Verschlüsselungsverfahren
Die klassischen Verfahren der Verschlüsselung waren und sind symmetrisch,
d.h. Sender und Empfänger benutzen denselben Schlüssel. Es handelt sich im
Allgemeinen um Verschiebe- und Tauschverfahren, wobei die alten Verfahren
zeichenweise, moderne Algorithmen dagegen bitweise (blockweise)
verschlüsseln.
5.1 Mathematischer Hintergrund
5.1.1 Bitweise Verschlüsselung:
Bitweise Addition - Die logische Verknüpfung XOR
Wir interpretieren jedes Zeichen und damit jeden Text (jede Datei) als eine Folge
von Bits. Es sind nur zwei Operationen auf Bits möglich: entweder Verschieben
um 1 Bit oder nicht verschieben. Dies geschieht mit der bitweisen Addition oder
XOR-Verknüpfung.
Definition: XOR
Die logische Verknüpfung XOR (exclusive or) hat das Verknüpfungszeichen ⊕
und ist für die Wahrheitswerte 0 (False) und 1 (True) wie folgt definiert:
x
y x⊕y
0
0
0
0
1
1
1
0
1
1
1
0
In der Mathematik bezeichnet man die logische XOR-Verknüpfung oft als
bitweise Addition oder Addition modulo 2.
Aus der Definition lässt sich unmittelbar die für die bitweise Verschlüsselung
entscheidende Eigenschaft der bitweisen Addition ableiten:
Für alle x ∈ {0,1} gilt: x ⊕ x = 0.
Symmetrische Verschlüsselungsverfahren
38
5.1.2 Rechenoperationen bei zeichenweiser Verschlüsselung
In Verschiebe- und Tauschverfahren auf Zeichenebene kommen ausschließlich
Restklassenaddition und -multiplikation zum Einsatz. Deshalb sei an dieser
Stelle auf den entsprechenden Abschnitt in Kapitel 4 verwiesen.
Auch bei der zeichenweisen Verschlüsselung werden die Buchstaben durch
Zahlenwerte repräsentiert. Zweckmäßigerweise werden wir uns im Folgenden
bei konkreten Beispielen auf die Buchstaben A, B, ..., Z beschränken und diese
mit den Zahlen aus R26 = {0, 1, ..., 25} darstellen.
Üblicherweise setzt man A mit 1, B mit 2, usw. und Z mit 0 gleich. Dies ist im
Unterricht methodisch nicht besonders sinnvoll, da zum einen im „üblichen
Zählen“ die 0 vor der 1 kommt, also die erste natürliche Zahl (nach neuer
Definition) ist, ebenso ist A der erste Buchstabe im Alphabet. Ein weiteres
Problem
ergibt
sich
bei
der
Programmierung
symmetrischer
Verschlüsselungsverfahren. Diese würden bei üblicher Vereinbarung eine
Sonderbehandlung des Buchstaben Z erfordern. Wir weisen daher dem
Buchstaben A die 0, B die 1 usw. und schließlich Z die 25 zu.
5.2 Die Cäsar-Verschlüsselung
5.2.1 Der klassische und der allgemeine Cäsar
Der römische Feldherr und Staatsmann C. Julius Cäsar (100 bis 44 v. Chr.)
verschlüsselte, wie wir schon wissen, wichtige Nachrichten indem er jeden
Buchstaben durch den drittnächsten ersetzte. Aus der Einleitung wissen wir
noch, dass es sich bei der Cäsar-Chiffre um eine Verschiebung oder anders
ausgedrückt um eine Addition handelt. Somit erhält man, bezogen auf R26, aus
dem Klartextbuchstaben m den Geheimtextbuchstaben c durch Addition von 3
modulo 26, c = m + 3 mod 2624.
Allgemein bezeichnet man jede Verschlüsselung der Form c = m + s mod n als
(klassische) Cäsar-Verschlüsselung. Man sieht leicht ein, dass es bei einem
Alphabet mit n Zeichen n -1 sinnvolle (klassische) „Cäsaren“ gibt, der römische
Feldherr hatte also die Auswahl zwischen 25 verschiedenen Chiffren. Alle
24
Einen weiteren Zugang zu dieser etwas eigentümlichen Interpretation des Alphabets findet der
Leser in Kapitel 6.
Symmetrische Verschlüsselungsverfahren
39
Verschlüsselungsverfahren, bei denen jeder Klartextbuchstabe immer mit dem
selben
Geheimtextbuchstaben
verschlüsselt
wird,
nennt
man
monoalphabetisch.
"
Häufig werden auch Chiffrierungen der Form
mod n als
(allgemeiner) Cäsar bezeichnet. Dabei ist zu beachten, dass durch diese
Funktion jeder Klartextbuchstabe genau einem Geheimtextbuchstaben
zugeordnet sein muss. Dies ist nicht selbstverständlich. In unserem
Beispielalphabet R26, würde bei k = 2 z.B. sowohl der Buchstabe a, als auch der
Buchstabe n durch den gleichen Geheimtextbuchstaben ersetzt. Für die
Verschlüsselung mittels Multiplikation (und anschließender Addition) gilt der
folgende Satz:
Satz: Allgemeiner Cäsar
" mod n genau dann ein
Bei einem Alphabet mit n Buchstaben, ist
allgemeiner
Cäsar,
der
den
Klartextbuchstaben
m
durch
den
Geheimtextbuchstaben c ersetzt, wenn ggT(k,n) = 1 ist. Das Paar (k,s) ist der
Schlüssel des allgemeinen Cäsars. Einen klassischen Cäsar erhält man mit
k = 1, eine Verschlüsselung nur mit Multiplikation erhält man mit s = 0.
Als Beweis sei auf den korrespondierenden Satz über die Bijektivität der
Funktion
mod n in Kapitel 4 verwiesen.
Der Schlüssel für die Verschlüsselung und die Entschlüsselung ist zwar
derselbe, allerdings müssen sich daher die Funktionen, welche die beiden
Aufgaben erfüllen unterscheiden. Für die Umkehrfunktion zur Entschlüsselung
gilt:
Satz:
Sei
mod n, s < n, ein allgemeiner Cäsar. Dann entschlüsselt
"
die Funktion
Dabei ist
"
mod n den Geheimtext.
das multiplikativ Inverse von k modulo n und nicht
!
(Wer sich daran stört, dass evtl. c – s < 0 werden könnte, rechne
m = k–1(c + (n – s) mod n.)
Beweis: Die Existenz von k–1 ist wegen ggT(k,n) = 1 garantiert. Somit ist
trivialerweise
"
" "
.)
Symmetrische Verschlüsselungsverfahren
Beispiel:
Dem Schlüssel
Klartext
Zeichencode m
Zeichencode c
Geheimtext
(3,11) sei das Alphabet
,
.
H
A
L
L
O
7
0 11 11 14
6 11 18 18
1
G
L
S
S
B
40
R26
zugrunde
gelegt,
also
5.2.2 ROT13 - Der besondere Cäsar
Lange Jahre war in UNIX-Kreisen eine Verschlüsselung unter dem Namen
ROT13 in Gebrauch. ROT13 hat die besondere Eigenschaft, dass wiederholtes
Anwenden der Verschlüsselungsfunktion wieder der Klartext zu Tage befördert,
also ROT13(ROT13(m)) = m.
Bei ROT13 handelt es sich um einen einfachen (klassischen) Cäsar mit dem
Schlüssel (1,n/2), wobei n die Anzahl der Zeichen des Alphabets ist und gerade
sein muss. Seinen Namen erhielt das Verfahren aus der Tatsache, dass unser
Alphabet aus 26 Buchstaben besteht (26/2 = 13). ROT13 wird heute noch gerne
in Buchstabenrätseln eingesetzt.
5.2.3 Die Sicherheit der Cäsar-Chiffren
Wie wir gleich sehen werden, müsste die Überschrift „Die Unsicherheit der
Cäsar-Chiffren“ lauten. Wir haben schon gesehen, dass Cäsar fünfundzwanzig
verschiedene Schlüssel zur Verfügung standen. (Die sechsundzwanzigste, bei
der Klartextbuchstabe und zugehöriger Geheimtextbuchstabe identisch sind,
dürfte den römischen Feldherrn wohl kaum befriedigt haben.) Weiß ein
Angreifer, dass eine Mitteilung mit einer solchen Chiffre verschlüsselt wurde,
braucht er eigentlich keinen Computer mehr, um den Schlüssel herauszufinden.
Er nimmt einfach die ersten paar Wörter und probiert alle Schlüssel durch.
Durch Kombination mit einer multiplikativen Chiffre hätte Cäsar die Sicherheit
drastisch erhöhen können. Bei einem Alphabet mit 26 Buchstaben gibt es 12
multiplikative Schlüssel, also 312 Schlüssel insgesamt25, für ein Durchprobieren
aller Möglichkeiten ist dies doch schon etwas viel. Es wäre auch möglich, das
Geheimtextalphabet in beliebiger Reihenfolge festzulegen und damit 26!
mögliche Schlüssel zu erhalten. Trotzdem wäre die Herausforderung für einen
25
Die Herleitung dieser Zahl erfolgt, um an dieser Stelle nicht schon alles zu verraten, in Kapitel 6.
Symmetrische Verschlüsselungsverfahren
41
Angreifer nicht größer, als bei der Beschränkung auf 312 Schlüssel. Grund ist
die Tatsache, dass nicht alle Buchstaben gleich häufig benutzt werden, wie
folgende Tabelle belegt:
Die Buchstaben der deutschen Sprache nach Häufigkeit sortiert
Buchstabe
Häufigkeit in %
Buchstabe
Häufigkeit in %
e
17,40
m
2,53
n
9,78
o
2,51
i
7,55
b
1,89
s
7,27
w
1,89
r
7,00
f
1,66
a
6,51
k
1,21
t
6,15
z
1,13
d
5,08
p
0,79
h
4,76
v
0,67
u
4,35
j
0,27
l
3,44
y
0,04
c
3,06
x
0,03
g
3,01
q
0,02
Quelle: BEUTELSPACHER, Kryptologie, S. 18
Mit diesem Wissen lassen sich zumindest bei längeren Texten die Buchstaben e
und n mit großer Sicherheit isolieren und die Kandidaten für die Buchstaben i, s,
r, a, t feststellen. Um diese auch zu isolieren, muss der Angreifer etwas tiefer in
die Trickkiste greifen. Auch die Bigramme sind in der deutschen Sprache
unterschiedlich verteilt:
Buchstabenpaar
en
er
ch
te
de
Häufigkeit (in %)
3,88
3,75
2,75
2,26
2,00
Buchstabenpaar
nd
ei
ie
in
es
Häufigkeit (in %)
1,99
1,88
1,79
1,67
1,52
Häufigkeiten der Bigramme der deutschen Sprache, Quelle: Beutelspacher, Kryptologie, S. 18
Mit „en“ kann er nichts mehr anfangen, aber mit „er“ kann er den Buchstaben r
isolieren. Ein Zeichenpaar, das ebenso häufig in der einen wie in der anderen
Reihenfolge vorkommt ist in Indiz für „ei“ und „ie“ im Klartext, isoliert also den
Buchstaben i. Ein e, das sich im Klartext an der zweiten Stelle des Bigramms
befindet ist nun ein Hinweis auf d oder t (da beide Buchstaben ziemlich gleich
lautend sind, ist es aber zunächst nicht tragisch, sie nicht sicher unterscheiden
zu können. Befindet sich das e im Bigramm vorne, so folgt wahrscheinlich ein s.
Man beachte hier insbesondere das entsprechende Wort „es“. c und h kann er
herausfinden, da die Buchstaben einzeln nur sehr selten vorkommen, als Paar
Symmetrische Verschlüsselungsverfahren
42
aber sehr häufig. Der Angreifer hat nun die Buchstaben e, n, i, s, r, a, t/d, h, c
isoliert und kann damit knapp drei Viertel des Textes entschlüsseln. Nun sollte
es kein Problem mehr sein, aus fast vollständig entschlüsselten Wörtern weitere
Buchstaben zu isolieren, so dass der Text nun binnen relativ kurzer Zeit
entziffert werden kann.
5.2.3.1 Entzifferte Geheimnisse
Jetzt ist der richtige Zeitpunkt um die Geheimnisse aus Kapitel 1 zu lüften.
Legrand entschlüsselt die Botschaft auf dem Pergament wie folgt:
„Doch da die Worte eben nicht abgeteilt waren, beschränkte ich mich darauf,
die am häufigsten sowie die am seltensten vorkommenden Buchstaben
ausfindig zu machen. Als ich alle gezählt hatte, fertigte ich folgende Tabelle an:
Die Chiffre 8 kommt 35 mal vor
die Chiffre ; kommt 26 mal vor
die Chiffre 4 kommt 19 mal vor (...)
Nun kommt in der englischen Sprache der Vokal e am öftesten vor. (...) Unsere
vorherrschende Chiffre ist 8, und wir wollen damit beginnen, sie als das e des
natürlichen Alphabetes anzusehen. Um uns von der Richtigkeit unserer
Vermutung zu überzeugen, forschen wir noch nach, ob die Zahl 8 oft paarweise
vorkommt - ein doppeltes e findet man im Englischen sehr häufig, man denke
nur an meet, fleet, speed, seen, been, agree usw. Wir finden denn auch die Zahl
nicht weniger als fünfmal doppelt vor, obwohl die ganze Mitteilung nur sehr kurz
ist. (...)“ Legrand untersucht nun den Text nach häufigen Wörtern mit e, isoliert
so Buchstabe um Buchstabe und stellt schließlich fest:
„Doch müssen wir nun unseren Schlüssel, soweit wir ihn fanden, in einer Tabelle
ordnen, um größere Klarheit zu erhalten. Wir wissen, dass
5 = a , 4 = h , ( = r , å = d , 6 = i , ; = t , 8 = e , * = n , 3 = g , Ø = o ist.
Wir kennen also bis jetzt nicht weniger als zehn der wichtigsten Buchstaben, und
es ist unnötig, auf die Details der Lösung noch weiter einzugehen. (...)
Ich will Ihnen nun eine vollständige Übersetzung der Zeichen geben, die das
Pergament enthielt:
>A good glass in the bishop'
s hotel in the devil'
s seat forty-one degress and
thirteen minutes northeast and by north main branch seventh limb east side
shoot from the left eye of the death'
s head a bee line from the tree through the
shot fifty feet out.<
Symmetrische Verschlüsselungsverfahren
43
Ein gutes Glas im Bischofshotel in des Teufels Sitz einundvierzig Grad und
dreizehn Minuten nordöstlich und nördlich Hauptast siebenter Ast Ostseite
schieß von dem linken Auge des Totenkopfes eine kerzengerade Linie von dem
Baum durch den Schuss fünfzig Fuß hinaus.«
Wer an der Aussage der immer noch ziemlich wirren Nachricht interessiert ist,
sollte die ganze Geschichte lesen. Sie befindet sich als HTML-Datei und WordDokument auf der Diskette zu dieser Arbeit.
Die tanzenden Männer verbergen folgende Nachricht: „Am here Abe Slaney“
5.2.4 Die Vigenère-Chiffre
Wir haben gesehen, dass alle monoalphabetische Verschlüsselungsverfahren
relativ leicht zu knacken sind. Die Schwäche dieser Verfahren ist, dass die
Häufigkeitsverteilung der Buchstaben erhalten bleiben; Grund dieser Schwäche
ist, dass jeder Buchstabe immer mit dem selben Schlüssel und damit dem
selben Geheimzeichen chiffriert werden. Man sollte also einen Weg finden, den
Schlüssel innerhalb des Verschlüsselungsvorgangs - am besten nach jedem
Zeichen - zu wechseln. Dies leistet die Vigenère-Chiffre, benannt nach dem
französischen Diplomaten Blaise de Vigenère (1523 - 1596), der es 1586
veröffentlichte.
Er legte der Verschlüsselung eines Textes alle 26 möglichen „Cäsaren“
zugrunde, das sogenannte Vigenère-Quadrat, und legte den Schlüssel pro
Buchstaben durch ein Schlüsselwort fest. Zur Demonstration führen wir das
Verfahren nun an einem konkreten Beispiel durch:
Symmetrische Verschlüsselungsverfahren
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
!
Das Vigenère-Quadrat
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
44
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
'
(
)
*
+
,
.
/
0
1
2
3
4
5
(
)
*
+
,
.
/
0
1
2
3
4
5
!
! "
! " #
! " # $
! " # $ %
! " # $ % &
" # $ % & '
)
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
-
/
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
0
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
1
2
3
4
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
2 3 4 5
3 4 5
4 5
5
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
Über den zu verschlüsselnden Text schreibt man - fortlaufend - das
Schlüsselwort. Der Buchstabe des Schlüsselwortes entscheidet, mit welchem
Cäsar der darunterstehende Klartextbuchstabe verschlüsselt wird. Es ist jener,
der im Quadrat mit dem entsprechenden Buchstaben beginnt.
Zu verschlüsseln sei das Wort „GEHEIMBOTSCHAFT“, das Schlüsselwort laute
„MATHE“:
Schlüsselwort (S)
Klartext (M)
M
G
A
E
T
H
H
E
E
I
M
M
A
B
T
O
H
T
E
S
M
C
A
H
T
A
H
F
E
T
Wir gehen in die Zeile, die mit einem und suchen die Spalte, in der in der
obersten Zeile ein g steht; dort finden wir ein S, damit verschlüsseln wir das G.
Dann gehen wir in die Zeile, die mit A beginnt und chiffrieren analog zum ersten
Buchstaben das E mit einem E usw. Schließlich erhalten wir den Geheimtext
„SEALMYBHAWOTMX“.
Hat man gerade kein Vigenère-Quadrat zur Hand, genügt auch die
Verschlüsselungsmaschine von Albertini. Man muss nur immer den gerade
Symmetrische Verschlüsselungsverfahren
45
aktuellen Schlüsselwortbuchstaben als Geheimbuchstaben unter das Klartext-A
drehen und kann dann wie gewohnt ablesen.
Sowohl das Ablesen aus dem Vigenère-Quadrat als auch das Gefummel am
„Albertini-Automaten“ kann bei längeren Texten in Arbeit ausarten. Wir erinnern
uns deshalb an dieser Stelle an die mathematische Interpretation der
klassischen Cäsar-Chiffre. Sowohl Schlüsselwort, als auch Text lassen sich
auch als Zahlen im R26 darstellen und wir kommen zu folgender / folgendem:
Definition / Satz:
Sei S = {s0,s1, s2, ..., st} ⊆ R26 das Schlüsselwort der Vigenère-Chiffre und
M = {m0, ..., mL} ⊆ R26 der Klartext . Dann ist die Verschlüsselungsfunktion f wie
folgt definiert: f(mi) = ci := mi + sk mod 26 für i ≡ k mod t, i = 0, 1, ..., L.
Die Richtigkeit lässt sich leicht überprüfen.
Der zu „GEHEIMBOTSCHAFT“ gehörige Geheimtext lässt sich nun ganz einfach
berechnen:
Schlüsselwort (S)
Klartext (M)
mi
si
ci
Geheimtext (C)
M
G
6
12
18
S
A
E
4
0
4
E
T H E M
H E
I
M
7 4 8 12
19 7 4 12
0 11 12 24
A L M Y
A
B
1
0
1
B
T H E M
O T S C
14 19 18 2
19 7 4 12
7 0 22 14
H A W O
A
H
7
0
7
H
T H E
A F T
0
5 19
19 7
4
19 12 23
T M X
Natürlich lässt sich eine Vigenère-Chiffre analog über jedem beliebigen Alphabet
Rn erzeugen.
5.2.5 Weiterentwicklungen der Vigenère-Chiffre
Die Vigenère-Chiffre ist bereits deutlich sicherer als monoalphabetische
Verschlüsselungsverfahren und hielt über 300 Jahren allen Angriffen stand. Der
preußische Infantriemajor Friedrich Wilhelm Kasisiski (1805-1881) entdeckte
aber den Schwachpunkt und knackte das Verfahren über die
Schlüsselwortlänge, die sich zumindest bei kurzen Schlüsseln relativ leicht
ermitteln lässt. Hierin liegt aber bereits die Antwort für Verbesserungen. Wenn
das Verfahren besser wird, je länger das Schlüsselwort ist, dann ist die
bestmögliche Vigenère-Chiffre jene, deren Schlüsselwortlänge der Länge des
Symmetrische Verschlüsselungsverfahren
46
Textes entspricht. Dann spricht man allerdings nicht mehr von einer VigenèreChiffre, sondern von One-Time-Pad, das 1917 von dem amerikanischen AT&TIngenieur Gilbert S. Vernam (1890 - 1960) erfunden wurde. Diese
Verschlüsselungsart wurde von den Briten im Zweiten Weltkrieg benutzt, um die
abgefangenen und entschlüsselten Mitteilungen des Deutschen Reiches an den
Premierminister zu übermitteln. Auf diese Weise blieb den Deutschen bis zum
Ende des Krieges verborgen, dass die Engländer die ENIGMA-Chiffre geknackt
hatten.
In modernen Systemen wird heute das One-Time-Pad auf Bit-Ebene angewandt,
als Schlüssel dient hier eine (Pseudo-)Zufallsbitfolge. Diese Art der
Verschlüsselung ist theoretisch absolut sicher, problematisch ist aber die
Erzeugung hinreichend zufälliger langer Bitfolgen und deren Übermittlung.
In der Tat ist eine mit diesem Verfahren verschlüsselte Botschaft ohne Kenntnis
des Schlüsselworts nicht mehr zu entschlüsseln. Legt man nämlich z.B. dem
Geheimtext
TFZZGREDFYABXIFFHXY
den
Schlüssel
QXVHCAMDMZSJECBYDPM
zugrunde,
erhält
man
als
Klartext
DIESERSATZISTGEHEIM. Mit dem Schlüssel HAUIQHGBYFFTMXNQHFG wird
der selbe Geheimtext aber zu MATHEMACHTVIELSPASS. Man kann also jeden
Geheimtext in jeden beliebigen Klartext „entschlüsseln“. Darum hilft hier auch
der schnellste Computer mit der intelligentesten Software nicht mehr weiter. Der
Preis
für
die
absolute
Sicherheit
ist
ein
recht
aufwendiges
26
Schlüsselmanagement.
26
vgl. BEUTELSPACHER, Geheimsprachen, S. 37 ff.
Asymmetrische Verschlüsselungsverfahren
47
6 Asymmetrische Verschlüsselungsverfahren
Kennzeichen der symmetrischen Verschlüsselungsverfahren ist es, dass sich
aus dem Schlüssel für die Verschlüsselung der Schlüssel für die
Entschlüsselung einfach berechnen lassen muss; oft sind beide Schlüssel
identisch. In einer n-köpfigen Gruppe sind aber n(n – 1)/2 Schlüssel notwendig, da
jeweils zwei der Gruppe einen eigenen Schlüssel benötigen. Zur mit wachsendem
n immer aufwendigeren Schlüsselverwaltung, kommt noch das Problem des
sicheren Schlüsseltauschs.
Beide Probleme lassen sich auf einen Schlag mit asymmetrischen Verfahren
lösen. Die Idee ist folgende: Jeder Teilnehmer erhält zwei Schlüssel – E (zur
Verschlüsselung) und D (zur Entschlüsselung) – die folgende Eigenschaften
haben:
• Aus der Kenntnis nur eines Schlüssels, lässt sich der andere nicht (nur mit
sehr geringer Wahrscheinlichkeit) berechnen.
• Für jede Mitteilung m gilt: D(E(m)) = m, wobei E(m) die verschlüsselte
Mitteilung sei.
Jeder Teilnehmer veröffentlicht den Schlüssel E und hält Schlüssel D geheim.
Wegen der Veröffentlichung von Schlüsseln werden asymmetrische Verfahren
auch Public-Key-Verfahren genannt.
Will nun Teilnehmer B an A eine Mitteilung m schicken, so sucht er sich
zunächst in einem öffentlichen Verzeichnis den Schlüssel EA von A heraus und
verschlüsselt damit m. EA(m) schickt er an A, der aus EA(m) mittels DA
DA(EA(m)) = m, also die ursprünglich Klartext-Nachricht rekonstruiert.
Wir sehen, dass bei n Teilnehmern so nur noch 2n Schlüssel gebraucht werden.
Da die zur Kommunikation notwendigen Schlüssel öffentlich zugänglich sind,
entfällt das Problem des Schlüsseltauschs vollständig. Wir haben uns dafür ein
neues Problem eingehandelt: Aus der Kenntnis von E darf sich D nicht
berechnen lassen; hier kommen Einwegfunktionen zum Einsatz27.
27
siehe Kapitel „Mathematische Grundlagen“
Asymmetrische Verschlüsselungsverfahren
48
6.1 Das RSA-Verfahren
Der RSA-Algorithmus wurde 1977 von Ronald Rivest, Adi Shamir und Leonard
Adleman
entwickelt
und
ist
wohl
das
inzwischen
berühmteste
Verschlüsselungsverfahren. Das Besondere an diesem Algorithmus ist wohl die
Tatsache, dass er auf einem einfachen Satz von Leonhard Euler (1707 - 1783)
aus der Zahlentheorie aufbaut und die darin beschriebene Eigenschaft von
Potenzen in Restklassen konsequent ausnutzt.
6.1.1 Mathematischer Hintergrund: Der Satz von Euler
Für den Satz von Euler benötigen wir die ϕ-Funktion, die wir nachfolgend
definieren:
Definition: ϕ-Funktion
Sei n eine natürliche Zahl. Dann definieren wir ϕ(n) als die Anzahl der zu n
teilerfremden natürlichen Zahlen die kleiner als n sind.
Einige Eigenschaften der ϕ-Funktion:
(1) ϕ(p) = p – 1, für alle Primzahlen p. Diese Eigenschaft folgt unmittelbar aus
der Definition der Primzahlen.
(2) ϕ(pq) = (p – 1)(q – 1), für alle Primzahlen p und q, d.h. ϕ ist multiplikativ,
wenn p und q Primzahlen sind.
Beweis: Es gibt insgesamt pq – 1 Zahlen, die kleiner als pq sind. Davon sind die
q – 1 Zahlen 1 ≤ 1p, 2p, ..., (q - 1)p < pq durch p teilbar, ebenso sind die p – 1
Zahlen 1 ≤ 1q, 2q, ..., (p – 1)q < pq durch q teilbar. Die restlichen Zahlen
zwischen 1 und pq sind zu pq teilerfremd und damit ist
ϕ(pq) = pq – 1 – (p – 1) – (q – 1) = pq – p – q – 1 = (p – 1)(q – 1)
Asymmetrische Verschlüsselungsverfahren
49
Der Satz von Euler besagt nun folgendes:
Satz von Euler
Sind a und n teilerfremde, natürliche Zahlen, so ist
.
#
Beweis:
Seien r1, r2, ..., rϕ(n) nach Definition alle zu n teilerfremden Zahlen kleiner als n.
Dann sind auch ar1, ar2, ..., arϕ(n) zu n teilerfremd. Zusätzlich folgt aus
mod n , dass i = j sein muss
#
, d.h. alle ari lassen bei Division durch n einen
28
anderen Rest. Da es nur ϕ(n) Restklassen modulo n gibt folgt, dass jedes der
ar1, ar2, ..., arϕ(n) zu genau einem der r1, r2, ..., rϕ(n) modulo n kongruent sein muss.
Also
gilt
für
die
Produkte
Nach Division durch
#
$
#
#
#
29
erhalten wir schließlich
#
#
.30
Der RSA-Algorithmus basiert nun auf dem Sonderfall, dass n eine aus zwei
Primzahlen p und q zusammengesetzte Zahl, also n = pq, ist. Dann ist nämlich
.
6.1.2 Praxis: Der Algorithmus im Einzelnen:
6.1.2.1 Schlüsselerzeugung
Jeder Teilnehmer erhält von der Schlüsselvergabestelle einmal einen
öffentlichen und einen privaten Schlüssel. Dazu werden zwei große Primzahlen
p und q erzeugt und miteinander multipliziert (n = pq). Als nächstes wird
ϕ(n) = (p – 1)(q – 1) berechnet. Schließlich wird willkürlich eine zu ϕ teilerfremde
Zahl e festgelegt und eine weitere Zahl d bestimmt mit ed ≡ 1 mod ϕ(n). e ist der
öffentliche, d der entsprechende private (geheime) Schlüssel. Beide werden dem
Teilnehmer zugesandt. Für e wird gerne die vierte Fermat-Zahl
%
. Die Tatsache, dass hier nur zwei
Binärstellen besetzt sind, ermöglicht eine schnelle Verschlüsselung mit
28
29
30
siehe Kapitel 4: Mathematische Grundlagen
siehe Kapitel 4: Mathematische Grundlagen
Definition und Satz vgl. PADBERG, Elementare Zahlentheorie, S. 68f.
Asymmetrische Verschlüsselungsverfahren
50
minimaler Anzahl an Rechenoperationen31. Durch die für jeden Teilnehmer
unterschiedlichen Module n kann e ohne Bedenken mehrfach benutzt werden.
Der Teilnehmer hinterlegt nun e und n an einem allgemein zugänglichen Ort, d
hält er geheim. p und q werden im Weiteren nicht mehr benötigt und sollten, da
aus ihnen mit Kenntnis von e und n leicht d berechnet werden kann, gelöscht
werden.
Beispiel:
Um die Vorgänge besser verfolgen zu können, wählen wir relativ kleine
Primzahlen p und q. Es sei n = 845332 und ϕ(8453) = 8268. Als zu 8268
teilerfremdes e wählen wir
und erhalten durch Berechnung mit
dem erweiterten euklidischen Algorithmus33 d = 4697.
6.1.2.2 Verschlüsseln von Nachrichten
Die Nachricht m muss zunächst ist Zahlenblöcke mi umgewandelt werden, die um später wieder eindeutig entschlüsselt werden zu können - alle kleiner als n
sein müssen. Eine Codierung, in der Buchstaben durch Zahlenwerte
repräsentiert wird, ist z.B. ASCII (American Standard Code for Information
Interchange). Nun werden die Blöcke nacheinander mittels e und n
verschlüsselt. Für die Chiffre E(mi) gilt dabei:
.
Beispiel: (Fortsetzung)
Die zu verschlüsselnde, wichtige Botschaft laute:
Klartext
H
a
l
l
o
ASCII-Wert 072 097 108 108 111
Hieraus lassen sich nun die Blöcke bestimmen: m1 = 07209, m2 = 7108,
m3 = 1081, m4 = 11.
31
32
33
siehe Kapitel 4: Mathematische Grundlagen - Exkurs
Man versuche p und q selbst herauszufinden. Hinweis: ROT13(p) = ARHAHAQFVROMVT
siehe Kapitel 4: Mathematische Grundlagen.
Asymmetrische Verschlüsselungsverfahren
51
Hieraus lassen sich die Chiffre-Blöcke berechnen: E(mi) = mi257 mod 8453
mi
7209 7108 1081 11
E(mi)
5501 1429 6563 2925
Der erweiterte Square-and-Multiply-Algorithmus34 berechnet jedes E(mi) in 10
Multiplikationsschritten mit anschließender Modulo-Rechnung. Die E(mi) werden
nun zum Empfänger geschickt.
6.1.2.3 Entschlüsseln von Nachrichten
Der Empfänger wendet seinen geheimen Schlüssel d auf alle E(mi) an und erhält
D(E(mi)) = E(mi)d mod n = (mie mod n)d mod n =
mod n = mi ist:
zeigen, dass
e und d wurden so gewählt, dass
damit
Euler ist aber
mod n. Es ist nun zu
mod n = mi1+k(p-1) mod n =
#
, also
#
#
#
und
mod n ist. Nach dem Satz von
und daraus folgt unmittelbar
mod n = mi.
Beispiel: (Schluss)
Umrechnen der empfangenen Chiffreblöcke: D(E(mi)) = E(mi)4697 mod 8435
E(mi)
5501 1429 6563 2925
D(E(mi))
7209 7108 1081 11
Jetzt müssen aus der Zahlenkolonne 72017108108111 die ursprünglichen
Zeichencodes (ASCII) ermittelt und daraus die Buchstaben gewonnen werden:
Alle ASCII-Werte von 0 bis 255 sind erlaubt, wir müssen also mit dreistelligen
Codes rechnen. Die Zahlenkolonne hat 14 Ziffern, d.h., dass bei dreistelligen
Codes 5 Buchstaben codiert wurden, wobei beim ersten Buchstaben eine
führende Null verloren ging. Daraus ergibt sich
ASCII-Wert 72 097 108 108 111
Klartext
H
a
l
l
o
Im Anhang findet sich der komplette RSA-Algorithmus inklusive
Schlüsselerzeugung. Diese Implementierung weicht aber vom obigen Beispiel in
zwei Punkten ab:
34
siehe Kapitel 4 „Mathematische Grundlagen - Exkurs“
Asymmetrische Verschlüsselungsverfahren
52
1) Die mi bestehen immer aus kompletten Zeichenblöcken, d.h. wenn durch die
Hinzunahme des ASCII-Wertes des Zeichens c der Wert von mi größer als n
würde, so wird dieser Wert komplett zu mi+1 gerechnet.
2) Bei der Wiederherstellung des Textes aus den entschlüsselten
Zahlenblöcken, arbeitet sich der Algorithmus innerhalb jedes Blockes von
hinten nach vorne und dreht die ermittelte Zeichenkette anschließend um.
6.2 Das Verschlüsselungsverfahren von Rabin
Rabin benutzt die Quadratwurzel modulo einer zusammengesetzten Zahl als
Einwegfunktion für sein Verschlüsselungsverfahren. Für die Entschlüsselung
wird der Chinesische Restsatz benötigt.
6.2.1 Mathematischer Hintergrund: Quadratwurzel modulo n
und Chinesischer Restsatz
6.2.1.1 Der chinesische Restsatz
Der chinesische Restsatz basiert auf einer Entdeckung, die der chinesische
Mathematiker Sun Tse bereits im ersten Jahrhundert gemacht hat.
Chinesischer Restsatz:
Für
(alle
ni
paarweise
zueinander
prim)
besitzt
das
eine eindeutige ganzzahlige
Kongruenzensystem
Lösung x<n (d.h., sind x’ und x’’ Lösungen des Kongruenzensystems, dann ist
x’ ≡ x’’ (mod n)).
Verfahren:
1. Bestimme
für i = 1,2,...,t
2. Berechne die xi aus
immer und ist eindeutig (
für i = 1,2,...,t. Diese Lösung existiert
, die Inverse von ki existiert und
ist eindeutig, da nach 1. ggT(ki,ni) = 1 ist).
3. x = k1x1 + k2x2 + ... + ktxt ist eine Lösung, die modulo n eindeutig ist.
Asymmetrische Verschlüsselungsverfahren
53
Beweis:
kixi wird von allen nj geteilt, d.h. kixi ≡ 0 (mod nj), für alle i ≠ j. Damit bleibt in jeder
Zeile des Kongruenzensystems nur noch kixi ≡ ai (mod nj). Dies ist aber Lösung
nach 2; somit existiert eine Lösung.
Die Eindeutigkeit modulo n folgt aus ggT(ni,nj) = 1 für i ≠ j.
6.2.1.2 Quadratischer Rest und Quadratwurzel modulo n
Definition: Quadratischer Rest
Jede Zahl a ∈ Rn für die es mindestens ein w ∈ Rn gibt mit
&
heißt
quadratischer Rest modulo n. Jede andere Zahl heißt quadratischer
Nichtrest.
Definition: Quadratwurzel modulo n
Jede Zahl w ∈ Rn für die gilt
a.
& &
heißt Quadratwurzel modulo n von
Wir benutzen weitere folgende Eigenschaften:
(1) Ist a ein quadratischer Rest modulo p, p prim, so hat a genau zwei
Quadratwurzeln w1 ≤ w2 mit w2 = p – w1.
Beweis: Aus w2 ≡ a (mod p) folgt unmittelbar, dass (p – w)2 = p2 – 2pw + w2
≡ a2 (mod p)
Die Eindeutigkeit folgt aus der Transitivität der Kongruenzrelation.
(2) Sind die Primzahlen p und q kongruent 3 modulo 4, so besitzt jeder
quadratische Rest modulo n, n = pq, genau 4 Quadratwurzeln. (ohne Beweis)
6.2.1.3 Das Verfahren von Rabin
Für den privaten Schlüssel wählt man zwei Primzahlen p und q, die beide
kongruent 3 modulo 4 sind, als öffentlicher Schlüssel dient n = pq.
Das Verschlüsseln einer Nachricht M ist denkbar einfach: C := E(M) = M² mod n.
(Wie bei RSA muss natürlich auch hier M ein Zahlenwert kleiner als n sein.)
Zur Entschlüsselung benötigt man den Chinesischen Restsatz und die eben
beschrieben Eigenschaften von quadratischen Resten. Die vier möglichen
Lösungen erhält man nach Schneier mit folgendem Verfahren:
Asymmetrische Verschlüsselungsverfahren
54
„Berechne:
'
'
'
'
Wähle dann zwei ganze Zahlen a = q(q-1 mod p) und b = p(p-1 mod q). Die vier
möglichen Lösungen lauten:
(
(
(
$
(
$
Einer der vier Werte M1, M2, M3, M4 liefert M.“
(SCHNEIER, Angewandte Kryptologie, S. 542)
Handelt es sich bei M nicht um eine lesbare Mitteilung (z.B. Binärdateien), so
muss sie durch einen eindeutig identifizierbaren Kopf erweitert werden.
Genauere Informationen zum Verfahren von Rabin findet man in:
M.O. Rabin: „Digital Signatures and Public-Key Functions as Intractable as
Factorization“, im MIT Laboratory for Computer Science, Technical Report,
MIT/LCS/TR-212, Januar 1979.
Hugh Williams überarbeitete das Verfahren von Williams so, dass bei der
Entschlüsselung das Ergebnis eindeutig ist. Eine Beschreibung dieser und
Literaturhinweise auf weitere Varianten des Verfahren von Rabin findet man in
SCHNEIER, Angewandte Kryptologie, S. 542f.
Kryptologie im Mathematikunterricht - Zwei Vorschläge
55
7 Kryptologie im Mathematikunterricht - Zwei Vorschläge
7.1 Die Darstellung von Buchstaben durch natürliche Zahlen (und
umgekehrt) als Möglichkeit der Selbstkontrolle / Die Cäsar-Chiffre
als Anwendung der Division mit Rest (Sekundarstufe I)
Das nachfolgende Beispiel könnte beispielsweise in Klasse 5 in die
Lehrplaneinheit 1: Natürliche Zahlen eingebaut werden.
7.1.1 Codierteil
7.1.1.1 Motivation:
Wie wird aus „MATHE“ die Zahl 1.201.974 ?
7.1.1.2 Erarbeitung:
Schüler erfragen benötigte Informationen
Angabe weiterer „Zahlwörter“:
1 2 0 1 9
MATHE
1 2 4 8 1
MEINE
3 4 8 1
DEINE
1 8 4 8 1
SEINE
2 5 4 8 1
ZEILE
vom Lehrer. Hilfestellung des Lehrers:
7
3
3
3
1
4
4
4
4
4
Die Schüler sollten aus diesen Angaben selbstständig erarbeiten können, dass
der Buchstabe E durch die Zahl 4 ersetzt wurde (E ist letzter Buchstabe bei
jedem Wort, bei den Zahlen ist nur die letzte Stelle (4) immer gleich. Die
Stellenschreibweise, ebenfalls Inhalt dieser Lehrplaneinheit, erfüllt auch hier
gute Dienste, da sie den Code durchschaubarer macht.) Daraus ergibt sich
unmittelbar: M = 12, D = 3, S = 18, Z = 25 (jeweils erster Buchstabe). Durch
Eintragen der gefundenen Werte in eine Tabelle (siehe 1.), lässt sich der
„Schlüssel“ für das gesamte Alphabet finden.
Kryptologie im Mathematikunterricht - Zwei Vorschläge
56
Darstellung des Alphabets durch Zahlenwerte
{A,B,...,Z} → {0,1,...,25} =: Z26
A
0
B
1
C
2
D
3
E
4
F
5
G
6
H
7
I
8
J
9
K
10
L
11
M
12
N
13
O
14
P
15
Q
16
R
17
S
18
T
19
U
20
V
21
W
22
X
23
Y
24
Z
25
MATHE „=“ 12 0 19 7 4 „=“ 1.201.974
Lerninhalte: gemeinsame Entwicklung von Lösungsstrategien, Arbeiten mit
Tabellen, Vorbereitung auf andere Zahlsysteme / Zahlzeichen (in
Lehrplaneinheit 1 z.B. Römische Zahlzeichen)
7.1.1.3 Anwendung / Transfer
• Rechnen mit Buchstaben: z.B.: C + G = 7, W : L = 2, usw.
• Rechnen innerhalb von Z26 (ohne „Z-Übergang“):
B + F = 1 + 5 = 6 = G,
O - H = 14 - 7 = 7 = H
• Rechnen innerhalb von Z26 (mit „Z-Übergang“ - Division (durch 26) mit Rest):
K + W = ? => K + W = 10 + 22 = 32 = 1*26 + 6 = G
• Rechnen „modulo 26“: z.B. 12345 = 474*26 + 21 (12345 : 26 = 474 Rest 21)
21 = V
Direkter Nutzen der eben beschriebenen Einheit: Nun ist einfache
Selbstkontrolle bei „Rechenkästchen“ möglich. Die Ergebnisse ergeben, ggf.
nach erforderlicher Konvertierung, bei Division durch 26 immer ein
„Lösungswort“.
Kryptologie im Mathematikunterricht - Zwei Vorschläge
57
Konvertierung von Ergebnissen, die nicht aus N sind:
Zahlenraum Konvertierung
|y|
Z
Q
kürzen, und als zwei ganze Zahlen betrachten (ergibt zwei
R
C
Lösungsbuchstaben)
y auf n Stellen runden und mit
mit Re(z), Im(z) ∈ R
Lösungsbuchstaben)
weiterarbeiten
weiterarbeiten (ergibt
zwei
Die Zuordnung „Ergebnis der Rechenaufgabe → Lösungsbuchstabe“ ist
übrigens eine (fast) Einwegfunktion. Wer den Rechenweg der gestellten
Aufgabe kennt, wird von der richtigen Lösung leicht auf den richtigen
Lösungsbuchstaben schließen können, die Kenntnis der Lösungsbuchstaben
hilft aber umgekehrt beim Auffinden des richtigen Ergebnisses nicht weiter, da
sich jeder Buchstabe aus unendlich vielen natürlichen Zahlen modulo 26 ergibt.
Fast deshalb, weil ein Computer in kurzer Zeit Millionen möglicher Ergebnisse
einfach durchprobieren und so zumindest im ganzzahligen Bereich innerhalb von
Sekunden, wenn nicht Sekundenbruchteilen das richtige Ergebnis „erraten“
kann. Für „Klassenzimmerzwecke“ ist die Einwegeigenschaft aber ausreichend.
Lerninhalte: Wiederholung der Grundrechenarten, Division mit Rest,
Vorbereitung auf das Rechnen in anderen Zahlsystemen, (evtl. Einführung in die
Eigenschaft / Problematik von Einwegfunktionen (auch als Vorbereitung zu einer
späteren expliziten Behandlung))
7.1.2 Kryptographieteil - Anwendung und Transfer des unter 7.1.1
Gelernten
Einordnung der Anwendung: Lehrplaneinheit 1: Natürliche Zahlen;
Sachaufgaben (Realitätsbezogene Aufgaben zum Rechnen mit natürlichen
Zahlen); evtl. Lehrplaneinheit 4: Arbeiten am Computer
Kryptologie im Mathematikunterricht - Zwei Vorschläge
58
7.1.2.1 Motivation
Ausgangspunkt könnte folgende (oder eine ähnliche) Schatzkarte sein (Hinweis:
„Die Schatzinsel“ ist als Lektüre für die 5. Klasse vorgesehen!):
„GX ILQGHVW GHQ RUW EHL HLQKXQGHUWVLHEHQGVLHECLJ JUDG
RHVWOLFKHU ODHQJH XQG CZRHOI JUDG VXHGOLFKHU EUHLWH“ Die Koordinaten der „Schatzinsel“ (Rotuma (Fidschi)) in Cäsar-Chiffre mit Schlüssel 3
(Eine große Karte zur weiteren Verwendung findet sich im Anhang.)
Quelle der Originalkarte: http://www2.hawaii.edu/oceanic/rotuma/
Zwar ist auf der Karte der Weg von der Küste zum Schatz beschrieben, um
herauszufinden, wo sich die Schatzinsel befindet, muss aber der verschlüsselte
Text unter der Karte enträtselt werden. Der Lehrer fungiert hier weniger als
Trainer, denn als Quizmaster.
Achtung! Es handelt sich hier um einen einfachen Cäsar-Code, wie er heute
auch in Agenten-Spielen verwendet wird. Es kann also durchaus vorkommen,
dass sich „lokale Experten“ in der Klasse befinden. Diese sollten frühzeitig in
den Geheimdienst aufgenommen und zu absolutem Stillschweigen verpflichtet
werden.
Kryptologie im Mathematikunterricht - Zwei Vorschläge
59
7.1.2.2 Erarbeitung
Die Schüler dürfen Fragen stellen, der Lehrer lässt sich zu einem chosenplaintext-attack „überreden“, d.h. er verschlüsselt ein Wort, das ihm die Schüler
vorgeben (evtl. auch weitere Wörter). Diese werden in folgender Form an die
Tafel geschrieben:
Beispiel: Die Schüler lassen sich die Worte „THOMAS“ und „KERSTIN“
verschlüsseln:
Wort
T H
Geheimwort W K
O
R
M
P
A
D
S
V
K
N
E
H
R
U
S
V
T I
W L
N
Q
(Der Lehrer sollte darauf achten, dass einige Buchstaben in mehreren Wörtern
vorkommen und mehrere direkt aufeinander folgende Buchstaben, im Beispiel
MNO und RST, verschlüsselt werden.)
Die gewonnen Erkenntnisse können nun in eine Buchstabentabelle (wie oben)
eingetragen werden:
A B C D E F G H I J K L M N O P Q R S T U V WX Y Z
Thomas D
K
P
R
V W
Kerstin
H
L
N
Q
U V W
Das folgende sollte von den Schülern ohne weitere Hilfestellung des Lehrers
entdeckt (erarbeitet) werden können: Die Buchstaben S und T wurden zweimal
verschlüsselt und dabei jedes Mal in den selben Geheimtextbuchstaben. Wir
können daraus schließen, dass dies auch für die übrigen Buchstaben gilt. Der
bekannte Teil des Geheimalphabets kann in eine Zeile eingetragen werden:
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
H
K L
N
P Q R
U V W
Die Stellen „PQR“ und „UVW“ lassen auf fortlaufende Notation des
Geheimalphabets schließen und damit die Lücken füllen:
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 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
Kryptologie im Mathematikunterricht - Zwei Vorschläge
60
Damit kann der Text entschlüsselt werden. Dies wäre auch am Computer
möglich. Ein entsprechendes Programm in QuickBasic und als ausführbares
Programm befindet sich im Anhang.
Lerninhalt: gemeinsame Lösungsstrategien entwickeln
7.1.2.3 Transfer - Variabilität und Sicherheit der Cäsar-Chiffre
Man sollte nicht darauf verzichten, die Schüler auch mit den Chiffrierscheiben
(Albertini) arbeiten zu lassen. Diese sind - pro Schüler - mit etwas Karton und
einer Musterklammer leicht und schnell hergestellt (Kopiervorlage in der Anlage)
und erlauben den Schülern unmittelbar, die begrenzte Variabilität der CäsarChiffre (nur 25 (ohne die „identische“) verschiedene Chiffrierungen) und damit
deren Unsicherheit zu erkennen.
Kryptologie im Mathematikunterricht - Zwei Vorschläge
61
7.2 Kryptanalysen und Beurteilung der Sicherheit verschiedener
Chiffren mittels grundlegender kombinatorischer und statistischer
Einsichten (Klassen 1035)
7.2.1 Vorbereitung (in Zusammenarbeit mit dem Fach Deutsch)
Edgar Alan Poe: „Der Goldkäfer“; evtl. zusammenstellen einer Sammlung
häufiger Wörter in deutschsprachigen Texten (Statistik)
7.2.2 Motivation
Vorgelegt wird ein kurzer Auszug (max. 100 Buchstaben) aus einer bereits
gelesenen Pflichtlektüre der Klasse 10, verschlüsselt mit einer allgemeinen (!)
Cäsar-Chiffre oder einer Chiffre nach Porta (Verwendung von graphischen
Zeichen anstatt Buchstaben). Dabei sollten die Leerzeichen erhalten bleiben.
Aufgabe: Finde heraus, aus welcher Lektüre der Text stammt.
Als Hilfsmittel können ein Computerprogamm, das die Häufigkeit von
Buchstaben in Texten ermittelt, sowie einige Texte in elektronisch gespeicherter
Form zur Verfügung gestellt werden. Die Entwicklung eines entsprechenden,
einfachen Computerprogramms kann aber auch, bei entsprechender Vorbildung,
auch den Schülern überlassen werden oder sogar Bestandteil der Einheit sein.
7.2.3 Erarbeitung
Die Schüler ermitteln mit Hilfe des Programms die Häufigkeit von Buchstaben in
Texten deutscher Sprache und anwenden der Erkenntnisse auf den Chiffretext.
Das Verfahren funktioniert gut bei den Buchstaben E (häufigstes Vorkommen)
und N (zweithäufigstes Vorkommen), bei allen anderen wird es wahrscheinlich
versagen, da hier die Häufigkeiten zu dicht beieinanderliegen. Hier müssen
andere Techniken angewandt werden, die aber ebenfalls in „Der Goldkäfer“
beschrieben wurden:
35
Werkrealschule, Lehrplaneinheit 1: Sachrechnen und Statistik; Gymnasium, Lehrplaneinheit 3:
Wahrscheinlichkeiten; im Mathematikunterricht der Realschule ist weder Statistik noch
Wahrscheinlichkeitsrechnung vorgesehen.
Kryptologie im Mathematikunterricht - Zwei Vorschläge
62
• Ausnutzen häufig gebrauchter kurzer Wörter, die ein e oder ein n enthalten,
z.B. es, der, die, den, ein, und - Damit lassen sich die nächsten Buchstaben
isolieren. Diese lassen sich nun überall im Chiffretext dechiffrieren.
• Erraten von fast vollständig dechiffrierten Wörtern. Wieder lassen sich weitere
Buchstaben isolieren. Es versteht sich von selbst, dass auch diese wieder
überall im Chiffretext dechiffriert werden, wodurch sich wieder neue Wörter
erraten lassen.
• Sollte es den Schülern trotzt sorgfältiger Anwendung der ersten beiden
Techniken nicht möglich sein, den Text zu dechiffrieren, kann der Lehrer mit
einer Einführung in die Kryptanalyse monoalphabetischer Chiffrierungen, wie
in Kapitel 5 beschrieben, weiterhelfen. Die Motivation zur Aneignung dieses
zusätzlichen „Stoffs“ darf man in diesem Stadium der Ermittlungsarbeit wohl
als gegeben voraussetzen.
Kryptologie im Mathematikunterricht - Zwei Vorschläge
63
7.2.4 Transfer
• Ermittlung der Variabilität / Sicherheit des eben geknackten Verfahrens.
Hierbei sind folgende Fragen zu lösen:
• Welche Eigenschaften muss eine Chiffre erfüllen, um als solche
wenigstens technisch zu taugen? - Jedes Geheimtextzeichen muss
genau einem Klartextbuchstaben zugeordnet sein. Warum muss die
Umkehrung nicht gegeben sein?
• Wie viele Verschiebechiffren (additive Schlüssel) gibt es? - 26
Achtung! Bei Kombination mit einer multiplikativen Chiffre ist auch der
Schlüssel 0 (Null) sinnvoll!)
• Wie viele multiplikative Schlüssel gibt es? - 1, 3, 5, 7, 9, 11, 15, 17, 19,
21, 23 und 25 also 12 Schlüssel. Es sind dies übrigens die zu 26
teilerfremden Zahlen.
• Wie viele Chiffren gibt es also? Jeder der zwölf multiplikativen
Schlüssel kann mit jedem der 26 additiven Schlüssel kombiniert
werden,
• je nach zur Verfügung stehendem Zeitrahmen und Leistungsfähigkeit
des Kurses: Verbesserung des Verfahrens und Analyse der Sicherheit
des eigenen Chiffrierverfahrens:
Die Erhöhung der Anzahl der
möglichen Schlüssel, z.B. indem man die Geheimtextzeichen in
beliebiger Reihenfolge den Klartextbuchstaben zuordnet (26! mögliche
Schlüssel) erhöht die Sicherheit nur scheinbar, da die
Häufigkeitsverteilung der Buchstaben erhalten bleibt. Diese lässt sich
z.B. dadurch verschleiern, dass man den Klartextbuchstaben
entsprechend ihrer Häufigkeit eine unterschiedliche Anzahl von
Geheimtextzeichen zuordnet und darauf achtet, dass alle
Geheimtextzeichen eines Klartextbuchstaben mit gleicher Häufigkeit
verwendet werden.
Wieviele Stunden in 7.1 bzw 7.2 jeweils inverstiert werden müssten, hängt von der
Leistungsfähigkeit der Klasse ab, allerdings wären Doppelstunden wohl geeigneter
als Einzelstunden.
Kryptologie - Der weiße Fleck im Curriculum?
64
8 Kryptologie - Der weiße Fleck im Curriculum?
Wo eine Frage ist, beginnt Unterricht! Wir haben in den vergangenen Kapiteln
gesehen, dass die Kryptologie viele Fragen von allgemeinem Interesse aufwirft
und längst keine Wissenschaft der „Freaks“ mehr ist.
Was den Bedarf, unsere persönlichen Daten vor unbefugtem Zugriff zu schützen
angeht, sind wir von geeigneten Möglichkeiten umzingelt. Umzingelt deshalb,
weil wir zwar tagtäglich mit kryptographischen Methoden konfrontiert werden, wir
aber nur selten wissen, was diese leisten können und vor allen Dingen was
nicht. Dass sich immer wieder sogenannte Cracks Zutritt in geschützte
Datenbereiche verschaffen können, hängt oft nicht mit der Unsicherheit des
verwendeten kryptographischen Algorithmus zusammen, sondern mit dem
falschen Gebrauch von Passwörtern (Kerckhoffs’ Prinzip). Daher sollten heute
grundlegende Kenntnisse über die Kryptologie zur Allgemeinbildung gehören
und damit auch Bestandteil allgemeinbildenden Unterrichts an öffentlichen
Schulen sein.
Wir haben gesehen, dass die Bildungspläne Baden-Württembergs in vielen
Fächern Raum für die Behandlung dieser Thematik bieten, einige Aspekte der
Kryptologie sogar teilweise fächerübergreifend unterrichtet werden könnten
(Kapitel 3). Anregungen, wie dieser Raum - insbesondere im
Mathematikunterricht - genutzt werden kann, ziehen sich wie ein roter Faden
durch sämtliche Kapitel. Gerade dem Mathematikunterricht bietet die Kryptologie
die Möglichkeit, sonst eher trockene Theorie (Division mit Rest) auf
verschiedenen Ebenen des Spiralprinzips mit einer spannenden Anwendung zu
bereichern und mit anderer angewandter Mathematik (Statistik, Kombinatorik)
anschaulich zu verbinden.
Kryptologie und Kryptanalyse setzen Neugierde im Unterricht nicht voraus, sie
machen die Neugierde selbst zum Inhalt und sind daher von nicht zu
unterschätzender Bedeutung für die - nicht nur - mathematische Bildung!
Literatur zum Thema
65
9 Literatur zum Thema
9.1 Deutschsprachige Literatur, allgemein
AMMON, U. V. / TRÖNDLE, K.: Mathematische Grundlagen der Codierung;
Oldenburg Verlag, München 1974
BAUER, F. L. / GOOS G.: Informatik. Eine einführende Übersicht. Erster Teil;
Springer-Verlag, Berlin 1982
BAUER, F. L.: Entzifferte Geheimnisse. Methoden und Maximen der Kryptologie;
Springer-Verlag, Berlin 1997
BAUER, F. L.: Kryptologie. Methoden und Maximen; Springer-Verlag, Berlin 1994
BETH, TH. / HESS, P. / W IRL, K.: Kryptographie; Teubner Verlag, Stuttgart 1983
BEUTELSPACHER, A. / SCHWENK, J. / W OLFENSTETTER K.-D.: Moderne Verfahren der
Kryptographie; Verlag Vieweg, Braunschweig 1995
BEUTELSPACHER, A.: Geheimsprachen. Geschichte und Techniken; Beck,
München 1997
BEUTELSPACHER, A.: Kryptologie; Verlag Vieweg, Braunschweig 1994
Discovery 97. CD-ROM; Bertelsmann, Gütersloh 1997
DUSKE, J. / JÜRGENSEN, K. H.: Codierungstheorie; BI - Wissenschaftsverlag,
Mannheim 1977
FORNECK, H. J.: Bildung im informationstechnischen Zeitalter; Verlag
Sauerländer, Aarau 1992
FUHRBERG, K.: Internet - Sicherheit. Browser, Firewalls und Verschlüsselung;
Hanser Elektronik, München 1998
FUMY, W. / RIES, H. P.: Kryptographie; Oldenburg Verlag, München 1994
GARFINKEL, S.: PGP. Pretty Good Privacy. Verschlüsselung von E-Mail;
O’Reilly/VVA 1996
GIESEKE, W.: Hände weg von meinem PC; DATA Becker, Düsseldorf 1998
GOEBEL, J. W. / SCHELLER, J.: Elektronische Unterschriftsverfahren in der
Telekommunikation; Verlag Vieweg, Braunschweig 1991
GOLLMANN, D.: Algorithmenentwurf in der Kryptologie; Spektrum Akademischer
Verlag, Heidelberg 1994
GORSKI, H.-J.: Zum Einsatz des Computers als Werkzeug beim interaktiven
Programmieren im Mathematikunterricht der Hauptschule; Verlag
Barbara Franzbecker, Bad Salzdetfurth 1991
GRAMS, T.: Codierungsverfahren; BI Wissenschaftsverlag, Mannheim 1986
GRAUBNER, B.: ICD-10 Verschlüsselungsanleitung; Deutscher Ärzte-Verlag,
Köln 1997
HAMM, R. / MÖLLER, K. P.: Datenschutz durch Kryptographie - ein
Sicherheitsrisiko?; Nomos, Baden-Baden 1998
HARRIS, R.: Enigma; Heyne-Verlag, München 1995
Literatur zum Thema
66
HEISE, W. / QUATTROCCHI P.: Informations- und Codierungstheorie; Springer
Verlag, Berlin 1989
HENZE, E. / HOMUTH H. H.: Einführung in die Codierungstheorie; Verlag Vieweg,
Braunschweig 1974
HENZE, E. / HOMUTH H. H.: Einführung in die Informationstheorie; Verlag Vieweg,
Braunschweig 1970
HIRSEMANN, H. / HIRSEKORN, H. / KADERALI, F.: Kryptologie. Interaktives Training.
CD- ROM für Windows 3.1/95/ NT; Addison-Wesley, Bonn 1997
HIRZEBRUCH, F.: Codierungstheorie und ihre Beziehung zu Geometrie und
Zahlentheorie. Westdeutscher Verlag, Opladen 1989
HOLE, V.: Erfolgreicher Mathematikunterricht mit dem Computer. Methodische
und didaktische Grundfragen in der Sekundarstufe I; Auer - Verlag,
Donauwörth 1998
HORSTER, P. / SPERLING, R.: Das Kryptosystem von McEliece. Ein Public-KeyKryptosystem auf der Basis von Goppa-Codes. Hochschultexte
Informatik; Hüthig Verlag, Heidelberg 1989
HORSTER, P.: Kryptologie. Reihe Informatik. Band 47; BI Wissenschaftsverlag,
Mannheim 1985
JUNGNICKEL, D.: Graphen, Netzwerke und Algorithmen; BI Wissenschaftsverlag,
Mannheim 1990
KAMEDA T. / W EIHRAUCH K.: Einführung in die Codierungstheorie I; BI
Wissenschaftsverlag, Mannheim 1973
KIPPENHAHN, R.: Verschlüsselte Botschaften. Geheimschrift, Enigma und
Chipkarte; Rowohlt, Reinbeck 1997
KLIMANT, H. / PIOTRASCHKE, R. / SCHÖNFELD, D.: Informations- und
Kodierungstheorie; Teubner Verlag, Stuttgart 1996
KÖBLER, J.: Kryptologie; Spektrum Akademischer Verlag, Heidelberg 1998
MILDENBERGER, O.: Informationstheorie und Codierung; Verlag Vieweg,
Wiesbaden 1990
MINISTERIUM FÜR KULTUS UND SPORT (Hrsg.): Bildungsplan für das Gymnasium;
Neckar-Verlag, Stuttgart 1994
MINISTERIUM FÜR KULTUS UND SPORT (Hrsg.): Bildungsplan für die Hauptschule;
Neckar-Verlag, Stuttgart 1994
MINISTERIUM FÜR KULTUS UND SPORT (Hrsg.): Bildungsplan für die Realschule;
Neckar-Verlag, Stuttgart 1994
PADBERG, F.: Elementare Zahlentheorie; BI Wissenschaftsverlag, Mannheim
1993
PETERSON, N. W.: Prüfbare und korrigierbare Codes; Oldenburg Verlag,
München 1967
Literatur zum Thema
67
RADTZ, H. / SCHIPPER, W.: Handbuch für den Mathematikunterricht an
Grundschulen
REICHEL, H.-C. (Hrsg.): Computereinsatz im Mathematikunterricht; BI
Wissenschaftsverlag, Mannheim 1995
ROHLING, H.: Einführung in die Informations- und Codierungstheorie; Teubner
Verlag, Stuttgart 1995
SAUERBREY, J.: Langzahl-Modulo-Arithmetik für kryptographische Verfahren;
Deutscher Universitätsverlag, Wiesbaden 1993
SCHÄFER, G.: Mit Sicherheit erfolgreich; v. Deckers, Heidelberg 1997
SCHMEH, K.: Safer Net. Kryptografie im Internet und Intranet; dpunkt-Verlag,
Heidelberg 1998
SCHULZ, R.-H.: Codierungstheorie. Eine Einführung; Verlag Vieweg,
Braunschweig 1991
SMITH, R. E.: Internet- Kryptographie; Addison-Wesley, Bonn 1998
SPITZNAGEL, A.: Geheimnis und Geheimhaltung. Erscheinungsformen,
Funktionen, Konsequenzen; Hogrefe Verlag, Kornwestheim 1998
STALLINGS, W.: Datensicherheit mit PGP, Prentice Hall 1995
STEINACKER, A.: Anonyme Kommunikation in Netzen; BI Wissenschaftsverlag,
Mannheim 1993
STRASSER, F. G.: Lingua Universalis. Kryptologie und Theorie der
Universalsprachen im 16. und 17. Jahrhundert. Wolfenbütteler
Forschungen. Band 38; Harrassowitz Verlag, Wiesbaden 1988
VELTEN, P.: Befugnisse der Ermittlungsbehörden zu Information und
Geheimhaltung. Über Umfang und Kontrolle daraus resultierender
Macht; Duncker u. H., Berlin 1995
W EIKERT, A.: Kryptographie mit dem Computer; Pflaum, München 1996
W ELSCHENBACH, M.: Kryptographie in C und C++; Springer-Verlag, Berlin 1998
W ELSH, D.: Codes und Kryptographie; Wiley/VCH, Weinheim 1991
W INKLER, K.: Mengen, Relationen, Abbildungen. Skript zur Vorlesung B1
(Basiswissen) „Mengen, Relationen, Abbildungen“ WS 1995/96, 1996
ZIEGENBALG, J.: Algorithmen. Von Hammurapi bis Gödel; Spektrum
Akademischer Verlag, Heidelberg 1996
ZIEGENBALG, J.: Informatik und allgemeine Ziele des Mathematikunterrichts; In:
Zentralblatt für Didaktik der Mathematik, 1983, S. 215 - 220
ZIEGENBALG, J.: Programmiersprachen und Programmierstile. In: Allgemeine
Gesichtspunkte zum Computereinsatz im Mathematikunterricht.
Mathematik / Informatik. Computer im Mathematikunterricht. Heft CM 4.
Deutsches Institut für Fernstudien an der Universität Tübingen; Beltz
Verlag, Weinheim 1989
Literatur zum Thema
68
ZIMMERMANN, P.: PGP. Pretty Good Privacy; Art D'
Ameublement, Bielefeld 1997
9.2 Deutschsprachige Kinder- und Jugendliteratur zum Thema
BOIE, K. / BRIX-HENKER, S.: Alles total geheim; Oetinger, Heidelberg 1990
CREYNFELD, C. / FRORATH, G.: Streng geheim. Das Buch für Detektive und
Agenten; Edition moses, Kempen 1995
CRUMMENERL, R.: Streng geheim!; Arena-Verlag, Würzburg 1997
Die Knickerbocker-Bande. Geheim-Kalender; hpt Neuer Breitschopf Verlag
1998
FREY, J.: Achtung, streng geheim; Loewes Verlag, Bindlach 1998
Top Secret. Streng geheim. Wissen-, Witz- und Wunder- Mappe; Braun und
Schneider, München 1993
9.3 Englischsprachige Literatur, allgemein
ADAMEK, J.: Foundations of Coding. Theory and Applications of Error-Correcting
Codes With an Introduction to Cryptography and Information Theory;
Wiley 1991
Advances in Cryptology. ASIACRYPT '
94; Springer-Verlag 1995
Advances in Cryptology. CRYPTO '
96; Springer-Verlag 1995
Advances in Cryptology. EUROCRYPT '
94; Springer-Verlag 1995
Advances in Cryptology. EUROCRYPT '
96; Springer-Verlag 1996
BARKER, W. G.: Cryptanalysis of the Double Transposition Cipher. Includes
Problems and Computer Programs (Cryptographic Series , No 69);
Aegean Park Press 1996
BERNSTEIN, T. / BHIMANI, A. B. / SCHULTZ, E. / SIEGEL, C.: Internet Security for
Business; Wiley 1996
BIHAM, E. / SHAMIR, A.: Differential Cryptanalysis of the Data Encryption
Standard; Springer-Verlag TELOS 1993
CHOR, B.: Two Issues in Public Key Cryptography. RSA Bit Security and a New
Knapsack Type System; M I T Press 1986
CHRISTIANSON, B. / LOMAS, M.: Security Protocols. 5th International Workshop,
Paris, France, April 7-9, 1997. Proceedings (Lecture Notes in Computer
Science, 1361); Springer-Verlag TELOS 1998
DAM, K. W. / LIN, H. S.: Lin Cryptography'
s Role in Securing the Information
Society; National Academy Press 1996
DEAVOURS, C. A.: Selections from Cryptologia. History, People, and Technology
(The Artech House Telecommunications Library); Artech House 1998
DREW, G. N.: Using Set for Secure Electronic Transactions; Prentice Hall 1998
ELECTRONIC FRONTIER FOUNDATION: Cracking Des. Secrets of Encryption Research,
Wiretap Politics & Chip Design; O'
Reilly & Associates Inc. 1998
Literatur zum Thema
69
GAINES, H. F.: Cryptanalysis a Study of Ciphers and Their Solutions; Dover
Publications 1993
GARDNER, M.: Codes, Ciphers and Secret Writing; Dover Publications 1984
GLEASON, N.: Cryptograms and Spygrams; Dover Publications 1981
GOLDREICH,
O.:
Modern
Cryptography,
Probabilistic
Proofs
and
Pseudorandomness (Algorithms and Combinatiorics , Vol 17); SpringerVerlag TELOS 1999
GOLLMANN, D.: Fast Software Encryption; Springer-Verlag 1995
GREENFIELD, J. S.: Distributed Programming Paradigms with Cryptography
Applications; Springer-Verlag 1994
GUTHERY, S. / JURGENSEN, T. M.: Smart Card Developer'
s Kit; Macmillan 1997
HENDRY, M.: Smart Card Security and Applications (Artech House
Telecommunications Library); Artech House 1997
HINSLEY, F. H. / STRIPP, A.: Codebreakers. The Inside Story of Bletchley Park;
Oxford University Press 1994
HOFFMAN, L. J.: Building in Big Brother; The Cryptographic Policy Debate;
Springer-Verlag TELOS 1995
Information Hiding; Springer-Verlag 1996
JENKINS G. / W ILD, A.: Be a Code Breaker!; Mystery Messages to Puzzle Over
and
Decipher; Parkwest Publications 1997
KAHN, D.: The Codebreakers; The Comprehensive History of Secret
Communication from Ancient Times to the Internet; Scribner Book
Company 1996
KNUDSEN, J. B.: Java Cryptography; O'
Reilly & Associates Inc. 1998
KOBLITZ, N.: A Course in Number Theory and Cryptography (Graduate Texts in
Mathematics, No 114); Springer-Verlag TELOS 1994
KOBLITZ, N.: Algebraic Aspects of Cryptography (Algorithms and Computation in
Mathematics, Vol 3); Springer-Verlag TELOS 1998
KRIPPENHAHN, R.: Code Breaking. A History and Exploration; Overlook Press
1998
LUBY, M. G.: Pseudorandomness and Cryptographic Applications (Princeton
Computer Science Notes); Princeton University Press 1995
LUGER, J.: Code Making and Code Breaking; LoomPanics Unlimited 1990
MENEZES, A. J. / VAN OORSCHOT, P. C. / VANSTONE, S. A.: Handbook of Applied
Cryptography (CRC Press Series on Discrete Mathematics and Its
Applications); CRC Press 1996
MERLIN HUGHES M. / HUGHES, C.: Applied Java Cryptography; Manning
Publications 1998
MITCHELL, C.: Cryptography and Coding, II (The Institute of Mathematics and Its
Applications Conference Series. New Series, No 33); Oxford University
Press 1992
Literatur zum Thema
70
MOLL, L. B. / SHARPE, J.: Clever Cryptograms; Sterling Publishing 1994
MOLL, L. B.: Baffling Cryptograms; Sterling Publishing 1996
MOLL, L. B.: Cryptogram-A-Day Book; Sterling Publishing 1996
MOLL, L. B.: Literary Cryptograms; Sterling Publishing 1998
NASH, H. / MASTERSON, D.: Humorous Cryptograms; Sterling Publishing 1995
NASH, H.: Challenging Cryptograms; Sterling Publishing 1994
NEWTON, D. E.: Encyclopedia of Cryptology; ABC-CLIO 1997
NICHOLS, R. K.: ICSA Guide to Cryptography; McGraw-Hill Book Company 1998
NICKELS, H.: Secrets of Making and Breaking Codes; Carol Pub. Corp. 1994
PARKINSON, C. L.: Gospel Cryptograms (Quiz and Puzzle Books); Baker Book
House 1994
PRADOS, J.: Combined Fleet Decoded. The Secret History of American
Intelligence and the Japanese Navy in World War II; Random House
1995
RHEE, M. Y.: Cryptography and Secure Communications (McGraw-Hill Series
on Computer Communications); McGraw-Hill Book Company 1993
ROSENHEIM, S. J.: The Cryptographic Imagination. Secret Writing from Edgar
Poe to the Internet (Parallax (Baltimore, Md.).); The Johns Hopkins
University Press 1996
ROUSE BALL, W. W. / COXETER, H. S. M.: Mathematical Recreations and Essays;
Dover Publications 1987
SALOMAA, A.: Public- Key Cryptography; Springer-Verlag 1996
SCHNEIER, B. / BANISAR, D.: The Electronic Privacy Papers. Documents on the
Battle for Privacy in the Age of Surveillance; Wiley 1997
SCHROEDER, M. R.: Number Theory in Science and Communication. With
Applications in Cryptography, Physics, Digital Information, Computing,
and Self-Similarity (3rd Ed); Springer-Verlag TELOS 1997
SEXTON, D. J.: Signals Intelligence in World War II. A Research Guide
(Bibliographies of Battles and Leaders, No 18); Greenwood Publishing
Group 1996
SIMMONS, G. J.: Contemporary Cryptology. The Science of Information Integrity;
IEEE 1991
SMITH, L. D.: Cryptography the Science of Secret Writing; Dover Publications
1955
SMITH, R. E.: Internet Cryptography; Addison Wesley 1997
STALLINGS, W.: Practical Cryptography for Data Internetworks; Institute of
Electrical & Electronic Engineer 1996
STINSON, D. R.: Cryptography. Theory and Practice (Discrete Mathematics and
Its Applications); CRC Press 1995
STRIPP, A.: Codebreaker in the Far East; Oxford University Press 1995
VACCA, J. R.: Satellite Encryption; Academic Press Inc 1998
VAN DYKE, J.: Captivating Cryptograms; Sterling Publishing 1996
W AYNER, P.: Digital Copyright Protection; AP Professional 1997
Literatur zum Thema
71
W AYNER, P.: Disappearing Cryptography. Being and Nothingness on the Net;
AP Professional 1996
W ELSH, D.: Codes and Cryptography; Oxford University Press 1988
W ILLIAM STALLINGS, W.: Cryptography and Network Security. Principles and
Practice; Prentice Hall 1998
W RIXON, F. B.: Codes, Ciphers and Other Cryptic and Clandestine
Communication: 400 Ways to Send Secret Messages from Hieroglyphs
to the Internet; Black Dog And Leventhal Publishers 1998
ZIMMERMANN, P.: The Official PGP User'
s Guide; MIT Press 1995
9.4 Englischsprachige Kinder- und Jugendliteratur
BAILLY, S. / CANEVARI GREEN, A. C.: Pass It On!. All About Notes, from Secret
Codes and Special Inks to Fancy Folds and Dead Man'
s Drops; The
Millbrook Press 1995
DURRET, D.: Unsung Heroes of World War II. The Story of the Navajo Code
Talkers; Facts On File Publications 1998
FOWLER, M. / PAREKH, R.: Codes & Ciphers (Usborne Superpuzzles. Advanced
Level); Educational Development Center 1992
HUCKLE, H.: The Secret Code Book. With Press-Out Code-Busters; Dial Books
1995
JACKSON, R.: Secret Codes. Decipher Secret Codes and Create and Send Your
Own Hidden Messages and Cryptic Communications; Running Press
Book Publishers 1996
JAMES, E. / BARKIN, C. / JAME, E. / SCHICK, J.: How to Keep a Secret. Writing and
Talking in Code; Beech Tree Paperback Book 1998
JOHNSON, B. / DASTE, L.: Break the Code. Cryptography for Beginners; Dover
Publications 1996
LEDDEN, C. / MCLEOD, C.: The Snack Sneak. Logic Games, Mysteries and
Quests; Annick Press 1993
LOUISE B. MOLL, L. B. / JIM SHARPE, J.: The Great Book of Cryptograms; Sterling
Publishing 1993
MILLER, M. / FRAZIER, J.: How to Write and Decode Secret Messages
(Codemaster , No 1); Scholastic Professional Books 1998
MILLER, M. / FRAZIER, J.: How to Write and Decode Secret Messages
(Codemaster , No 2); Scholastic Professional Books 1998
O'
BRIEN, E. / RIDDELL, D.: The Usborne Book of Secret Codes (How to Make
Series); Usborne Books 1997
PALLAS, N.: Games With Codes and Ciphers; Dover Publications 1994
SCHWARTZ, A.: The Cat'
s Elbow and Other Secret Languages; Sunburst 1985
SMOOTHEY, M. / BAUM, A.: Codes and Sequences (Let'
s Investigate); Benchmark
Books 1995
Literatur zum Thema
72
W ELLER, J. / MIER, C.: Messages in Code (Hello Out There); Franklin Watts
1998
Anhang
73
10 Anhang
10.1 Programme zu den symmetrischen
Verschlüsselungsverfahren
10.1.1 Das Programm SYMMETR.PAS
Programmiersprache: Pascal
Dies ist ein sehr einfach gehaltenes Programm, das lediglich das Testen der
symmetrischen Verschlüsselungsverfahren Cäsar-Chiffre (klassisch), ROT13,
allgemeiner Cäsar und Vigenère-Chiffre ermöglichen soll. So werden nur
Buchstaben chiffriert und diese in Großbuchstaben umgewandelt, alle anderen
Zeichen werden nicht in den Text aufgenommen. Allerdings macht es sehr schön
deutlich, dass alle darin implementierten Verfahren, mit der Ausnahme allgemeiner
Cäsar, prinzipiell den selben Chiffrier-Schritt verwenden.
Über die Variable maxl kann die maximale Länge des einzugebenen Textes
geändert werden. Dies muss allerdings vor dem Programmstart geschehen.
Allerdings bestimmt maxl auch die Länge eines evtl. einzugebenden
Schlüsselwortes, so dass sich mit der Vigenère-Chiffre auch ein One-Time-Pad
realisieren lässt.
Im ASCII-Code hat das A den Wert 65 und nicht 0. So muss dieser Wert
immerwieder im Programm abgezogen werden. Um diese Besonderheit deutlich zu
machen, wurde der Wert in einer eigenen Variablen (Konstante), start, festgelegt.
Der Programmcode ist ausführbares Programm und als ASCII-Datei auf der
beiliegenden Diskette abgespeichert.
10.1.2 Das Programm STAT.BAS
Programmiersprache: BASIC
Das Programm zählt nach das Vorkommen der 256 verschiedenen ASCII-Zeichen
in einer gewöhnlichen ASCII-Text-Datei. Anschließend gibt es für jedes Zeichen die
absolute und die relative Häufigkeit aus. Sollen die Werte auf einem
Anhang
74
angeschlossenen Drucker ausgegeben werden, so muss jeder PRINT-Befehl durch
LPRINT ersetzt werden.
Das Programm
abgespeichert.
ist
als
ASCII-Text-Datei
auf
der
beiliegenden
Diskette
10.1.3 Das Programm CAESAR.BAS
Programmiersprache: BASIC
Dieses Programm kann nur einen eingegebenen Text in eine (klassische) CäsarChiffre verschlüsseln. Es soll als Beispiel für eine Implementierung in einer anderen
Programmiersprache dienen.
Das Programm ist als ASCII-Datei auf der beiliegenden Diskette abgespeichert.
Anhang
75
10.2 Programme zu den asymmetrischen
Verschlüsselungsverfahren
Für die asymmetrischen Verschlüsselungsverfahren sind zwei MathemticaNotebooks in der Version 2.x (*.ma) und 3.x (*.nb) auf der beiliegenden Diskette
abgespeichert. Dabei enthält das Notebook KEYS Module die zur
Schlüsselerzeugung gebraucht werden, RSA enthält die Module zum RSAAlgorithmus.
10.2.1 Das Notebook KEYS
Primes2000 ist kein Modul. Es enthält alle Primzahlen von 2 bis 1999,
gefunden mit dem Sieb des Eratosthenes.
test[p_] prüft, ob die Zahl p (k)eine Primzahl ist dem einem optimierten RabinMiller-Algorithmus. Dabei bei einer Zahl <2000 ein einfacher Brute-Force-Test
mit Primes2000 durchgeführt, erst bei größeren Zahlen wird der Algorithmus
aufgerufen. Das Programm kann nur feststellen, dass eine Zahl mit einer
gewissen (allerdings sehr großen) Wahrscheinlichkeit prim ist. Eine Zahl die den
Test nicht besteht ist aber garantiert keine Primzahl. Mehr zum Rabin-MillerAlgorithmus findet sich in Kapitel 4.
rabinmiller[p_] ist der originale Rabin-Miller-Algorithmus und wird von
test[p_] bei Bedarf aufgerufen.
rest[zahl_,potenz_,modul_] berechnet den Rest von zahlpotenz : modul
nach dem in Kapitel 4 beschriebenen Verfahren.
erzeuge[n_] erzeugt eine garantiert n Bit lange Pseudo-Zufallszahl
erzeugePrim[n_] erzeugt eine garantiert n Bit lange Pseudo-Zufalls-Primzahl.
Dabei werden die Module erzeuge[n_] und test[n_] gebraucht.
berlekamp[a_,b_] ist der Berlekamp-Algorithmus und berechnet eine
Vielfachsummendarstellung der Form ggT(a,b) = xa + yb mit ganzzahligen x und
Anhang
76
y. Er wird bei der Berechnung zur Berechnung der multiplikativen Inversen
modulo n gebraucht.
Mehr zum Berlekamp-Algorithmus kann man z.B. im Internet unter
http://www.online.de/home/Georg.Doll/berlekamp/ erfahren.
RInv[a_, m_] berechnet eine Zahl x mit dem Berlekamp-Algorithmus.
RSAKeys[n_,file_,oeff_,raten_] berechnet die für den RSA-Algorithmus
notwendigen Schlüssel. Dabei gibt n die Länge der beteiligten Primzahlen in Bit
an. Die Zahlen werden in der Datei file in einer von Mathematica verwendeten
Chiffre abgespeichert. (Das gemeinsame Abspreichern von öffentlichem und
geheimen Schlüssel in einer Datei ist aus Sicherheitsgründen nicht
empfehlenswert, tut aber dem Demonstrationscharacter der beiden Notebooks
keinen Abbruch. Wird für oeff der Wert 0 (oder kleiner) eingegeben, so erhält
der öffentliche Schlüssel e den standardmäßigen Wert 65365. Schließlich kann
man noch versuchen, aus der Angabe des Produktes der beiden Primzahlen p
und q, die Zahlen selbst zu errat. Dann gibt man für raten den Wert True ein.
guess[p_,q] wird von RSAKeys aufgerufen, wenn für raten True eingegeben
wurde.
10.2.2 Das Notebook RSA
In den Variablen d, e und n sind der geheime Dechiffrier-Schlüssel d, der
öffentliche Chiffrierschlüssel e und das Modul n (n ist 1023 Bit lang!)
abgespeichert. (Als Beispielwerte, falls das Berechnen eigner zu lange dauern
sollte)
GetKeys[file_] lädt evtl. selbst berechnete
abgespeicherte Schlüssel.
und in der Datei file
TextToNumbers[text_,nmax_] ermittelt die ASCII-Werte der in text
enthaltenen Zeichen und setzt diese zu Zahlenblöcken mit Maximalwert nmax
zusammen.
Anhang
77
NumersToText[CL_] macht aus den in der Liste CL enthaltenen Zahlencodes
wieder lesbaren Text. Da bei der Text-zu-Zahl-Konvertierung evtl. führende
Nullen verlorengegangen sind, arbeitet sich das Modul bei jeder Zahl von hinten
nach vorne, während es die Liste von vorne nach hinten abarbeitet.
Codiere[BL_,e_,n_] „codiert“ die in der Liste BL stehenden Zahlenkolonen.
Da sich beim RSA-Algorithmus das Ver- und Entschlüsseln im Verfahren nur
durch den Schlüsselwert (e oder d) unterscheidet wird Codiere in beide
Richtungen verwendet.
verschl[text_,e_,n_] organisiert die Verschlüsselung von text mit den
Schlüsseln e und n.
entschl[CL_,d_,n] organisiert die Entschlüsselung der Zahlenkollonnen der
Liste CL.
RSACode[file_, e_, n_] organisiert die Verschlüsselung einer in file
abgespeicherten Text-Datei. Vorausgesetzt, der Text ist in Anführungszeichen
eingeschlossen, kommt das Verfahren auch mit Satz- und Sonderzeichen klar.
RSADecode[file_,d_,e_] organisiert die Entschlüsselung
RSACode verschlüsselten und in file abgespeicherten RSA-Chiffre.
einer
mit
Code und Decode sind nach den in Kapitel 2 definierten Begriff Code nicht
korrekt gewählt, haben sicher aber im allgemeinen Sprachgebrauch so
eingebürgert. So nennt man das Gerät, welches Pay-TV-Programme
entschlüsselt ja auch Decoder und nicht Dechiffrierer.
Zur Demonstrationszwecken befinden sich auf der Diskette noch die Dateien
text.txt (ein Beispieltext), code.txt (eine Beispiel-Chiffre) und mai.txt (die
zugehörigen Schlüssel, identisch mit den oben genannten d, e und n.
Anhang
10.3 Kopiervorlagen und Texte zu Kapitel 7
10.3.1 Die Schatzkarte
Für eigene Schatzkarten hier noch eine Blanco-Karte:
78
Anhang
10.3.2 Die Chiffrier-Scheibe nach Leon Battista Alberti
79
Anhang
80
10.3.3 Edgar Alan Poe: Der Goldkäfer
Der vollständige Text befindet sich als HTML-Dateien, als Word-Dokument und
als ASCII-Text-Datei auf der Diskette. Nach Angabe des Gutenberg-Projekts
besteht auf dieses Werk kein Copyright mehr, da der Auto über 50 Jahre tot ist.
Anhang
81
10.4 Rechtlicher Hinweis:
Der vorliegende Text darf ausschließlich zu privaten und unterrichtlichen
Zwecken archiviert und vervielfältigt werden.!
Bei der Konvertierung von Word 97 nach StarOffice 6 und weiter nach PDF kann
es zu Fehlern insbesondere bei den math. Formeln gekommen sein. Für
entsprechende Hinweise oder bei Unklarheiten wenden Sie sich bitte direkt an
den Autor.
Mail: [email protected]
Feedback erwünscht!
Herunterladen