Arbeitsheft Kryptographie

Werbung
Bayerische
Julius – Maximilians – Universität
Würzburg
Erste Staatsprüfung für das Lehramt an Realschulen
Schriftliche Hausarbeit im Fach Mathematik
THEMA: Arbeitsheft Kryptographie
eingereicht von:
eingereicht am:
Dozent:
Sabine Hofmann
01.10.2010
Prof. Dr. Jörn Steuding
1
Skytale Euler Cäsar – Chiffre
Arbeitsheft
Schlüsselwort
=∙
Kongruenzen
Rose
Primzahltest Euler Eratosthenes
KRYPTOGRAPHIE
Gregory ≡ ( ) Satz von Euler
Euklidischer Algorithmus
() = ( ∙ ) = () ∙ () = ( − ) ∙ ( − )
Kryptographie Geheimtinte () = ( − ) Substitution
Phi – Funktion Chinesischer
Restsatz Mikropunkt
≡ 1 ( ()) Schlüsselwort Rose
Cäsar – Chiffre Primzahltest Steganographie
() = ( ∙ ) = () ∙ () = ( − ) ∙ ( − ) Transposition
Skytale Euler Cäsar – Chiffre
Schlüsselwort = ∙ Kongruenzen
Rose Primzahltest Euler Eratosthenes
Gregory ≡ ( ) Satz von Euler
Euklidischer Algorithmus
() = ( ∙ ) = () ∙ () = ( − ) ∙ ( − )
Kryptographie Geheimtinte () = ( − ) Substitution
Phi – Funktion Chinesischer
Restsatz Mikropunkt
≡ 1 ( ()) Schlüsselwort Rose
Euklidischer Algorithmus Skytale Euler Cäsar – Chiffre
2
Den Primzahlen gewidmet.
35 ist als Produkt geschrieben,
schlicht und einfach 5 x 7.
Beide Zahlen nennt man „prim"
und das ist wahrlich kein Klimbim.
Primzahlen, soviel steht fest,
sind nur teilbar ohne Rest,
durch sich selbst und durch die 1,
gilt rechts und links des Mains.
Primzahlen sind ungerade,
mit der Ausnahme, wie schade,
dass auch die 2 ne Primzahl ist,
das ist quasi eine List.
Dass gerade Zahlen teilbar sind,
nämlich durch 2, weiß jedes Kind,
so müssen Primzahlen ungerade sein,
sie enden auf 1, 3, 7 oder 9.
Die 5 als letzte Ziffer einer Zahl,
das ist schon wieder so ein Fall:
Durch 5 teilbar, Rest Nullkommanix
also 0 (mod 5), Ergebnis x.
Wie gut die Zahlentheorie auch blüht,
über Primzahlen weiß man seit Euklid,
es gibt unendlich viele davon,
nicht kennt man deren Produktion.
Eines gilt aber auf jeden Fall:
Jede natürliche, also positive ganze Zahl,
ist entweder Primzahl oder - man gucktvon Primzahlen ein Produkt.
3
VORWORT
Man glaubt es nicht, wenn man es nicht selbst erlebt hat: Mathematik kann begeistern!
Jeder Schüler beschäftigt sich von der ersten Klasse an mit Mathematik und leider ist es meistens
auch das gefürchtetste Fach. Man muss wirklich kein mathematisches Genie sein, und ich spreche
dabei aus Erfahrung, um dieser Disziplin etwas abgewinnen zu können, doch Unbefangenheit
und vielleicht auch ein wenig Neugierde können helfen, der Mathematik den Schrecken zu
nehmen. Neugierig war ich auf Primzahlen und wie sich nun herausstellte, zu recht. Schon lange
vor Christus beschäftigten sich griechische Mathematiker mit ihnen und die Faszination, die von
ihnen ausgeht, hält bis heute an. Ich war beeindruckt, als sich während der Recherchen
herauskristallisierte, wie aktuell sie doch für unser tägliches Leben, zum Beispiel in Bezug auf
unsere Privatsphäre sind, denn keine Geldüberweisung, keine Chipkarte, keine sicher versendete
Email kommt ohne Primzahlen aus. Dieses Arbeitsheft beschäftigt sich mit der Kryptographie,
also der Datenverschlüsselung und zeigt Schritt für Schritt auf, wieso Primzahlen die Helden
unserer modernen Zeit sind.
4
Inhaltsverzeichnis
1. GESCHICHTE DER KRYPTOGRAPHIE
6
1.1.
6
Steganographie
1.1.1.
1.1.2.
1.1.3.
1.1.4.
1.1.5.
1.1.6.
1.2.
Die geheimnisvolle Holztafel
Die Botschaft auf dem Haupt
Das Überraschungsei des Altertums
Geheimtinte
Der Mikropunkt
Der spannende Fall der Maria Stuart
Kryptographie: Transposition und Substitution
1.2.1.
1.2.2.
1.2.3.
1.2.4.
1.2.5.
1.2.6.
1.2.7.
Die Skytale
Cäsar-Chiffre
Schlüsselwort
Häufigkeitsanalyse
Das Vigenère-Verfahren
One-Time-Pad
Die ENIGMA
6
6
7
7
7
8
9
10
11
12
13
15
16
16
2. RENDEZ – VOUS MIT EULER UND CO
19
2.1.
Grundlagenmathematik: Modulare Arithmetik
19
2.2.
Der Euklidische Algorithmus. Oder: „Wie findet man den größten gemeinsamen
Teiler?“
26
2.3.
Die Euler’sche Phi – Funktion ()
28
2.4.
Der Satz von Euler
31
2.5.
Chinesischer Restsatz
31
2.6.
Lineare Kongruenzen der Form: ≡ ( )
34
3. RSA MIT ROSE UND GREGORY
35
4. PRIMZAHLTESTS
39
4.1.
Der Sieb des Eratosthenes
39
4.2.
Pseudoprimzahltest
40
5
1. GESCHICHTE DER KRYPTOGRAPHIE
Seit es Menschen auf der Welt gibt, gibt es Geheimnisse. Das können private Dinge sein, die
niemand anderes erfahren soll, vertrauliche Nachrichten, oder gar Informationen, die uns in
Gefahr bringen könnten, falls sie in falsche Hände geraten. Vor solchen Situationen haben die
Menschen Angst und genau deshalb entwickelte man schon vor Jahrtausenden zahlreiche
Methoden, sensible Informationen geheim zu halten. Dabei hat man mehrere Möglichkeiten:
Entweder,
man
versucht
zu
verbergen,
dass
überhaupt
eine
Nachricht
existiert
(Steganographie), man setzt alles daran, den Inhalt der Botschaft zu verschleiern
(Kryptographie), oder man kombiniert diese beiden Varianten miteinander.
Schon Cäsar
verschlüsselte seine Botschaften mit kriegerischem Inhalt und im Laufe der Zeit entwickelte man
immer stärkere Verschlüsselungsverfahren. Der Aufschwung der Kryptoanalyse, die Kunst der
Nachrichtenentschlüsselung, entfachte ein Machtgerangel zwischen Verschlüsslern und
Analytikern, denn natürlich wollten beide Seiten die Oberhand gewinnen und ihren Gegner
ausstechen. Der „Kampf“, der zwischen ihnen herrschte, spornte sie aber auch zu
Höchstleistungen an und so trug Anfang des 20. Jahrhunderts die Entschlüsselung der
Chiffriermaschine Enigma zur Entwicklung des programmierbaren Computers bei.
Im Folgenden beziehe ich mich ausschließlich auf das Buch von Simon Singh „Geheime
Botschaften. Die Kunst der Verschlüsselung von der Antike bis in die Zeiten des Internets“ und
stelle daraus die wichtigsten Methoden kurz vor.
1.1.
Steganographie
1.1.1.
Die geheimnisvolle Holztafel
480 v. Chr. gewann Griechenland die Schlacht gegen Persien aufgrund einer Warnung von
Demaratos. Er lebte in Persien, nachdem er seiner Heimat verwiesen wurde, trotzdem hing sein
Herz noch an Griechenland. Demaratos nahm eine mit Wachs beschichtete Holztafel, kratzte
dieses ab und ritzte die Nachricht über die rege Aufrüstung der Perser hinein. Danach überzog er
die Tafel mit der geheim zu haltenden Botschaft abermals mit Wachs und konnte sie, mit einem
harmlosen Text versehen, an den Wachen vorbei in seine Heimat versenden.
1.1.2.
Die Botschaft auf dem Haupt
In der Literatur wird von einem Diener berichtet, dem man den Kopf rasierte und die Nachricht
auf die Kopfhaut tätowierte. Diese Variante der Steganographie war sehr zeitraubend, da das
6
Haupthaar natürlich erst nachwachsen musste, bevor die betreffende Person die Botschaft
unerkannt an den Wachen vorbeischmuggeln konnte.
1.1.3.
Das Überraschungsei des Altertums
Im 15. Jahrhundert beschrieb der italienische Wissenschaftler Giovanni Porta ein Verfahren, wie
man eine Nachricht mit Hilfe eines hartgekochten Eis verbergen kann: Man mischt eine Unze
(entspricht etwa 28 Gramm) Alaun (Salz der Schwefelsäure) in einem Becher Essig und erhält
somit eine tintenähnliche Flüssigkeit. Nach dem Beschriften des Eis, durchdringt diese „Tinte“
die poröse Schale und hinterlässt das Geschriebene auf dem harten Eiweiß. Auf der Schale selbst
ist die Botschaft nicht lesbar.
1.1.4.
Geheimtinte
Schon 50 n. Chr. verwendete Plinius der Ältere die Milch der Thithymallus-Pflanze als Tinte, die
beim Erwärmen des damit beschriebenen Pergaments sichtbar wurde. Später im 17. und 19.
Jahrhundert war der Gebrauch solcher Geheimtinten sehr beliebt, vor allem beim Verfassen von
Liebesbriefen, wieso sie manchmal auch „Sympathetische Tinte“ genannt wird (griech.:
sympatheia = Zuneigung). Neben der Milch der Thithymallus-Pflanze gibt es zahlreiche andere
biologische Substanzen, die beim Erwärmen auf dem beschrifteten Papier sichtbar werden. Dazu
gehören zum Beispiel Essig, Milch, Zitronensaft und noch einige andere mehr. Aber auch die
Flüssigkeit im Tintenkiller, wie ihn jeder Schüler aus seinem Schulmäppchen kennt, färbt sich
beim Erhitzen bräunlich. Später entwickelte man synthetische Tinten, die mit UV-Licht oder
Säuren sichtbar gemacht werden können
1.1.5.
Der Mikropunkt
Oder auch: Der scheinbar harmlose Punkt in einer harmlosen Nachricht. In den 1920ern
entwickelte der jüdische Erfinder Emanuel Goldberg (1881-1970) die Technik des Mikropunktes,
die hauptsächlich bei den Nationalsozialisten im 2. Weltkrieg ihre Verwendung fand. Dabei
wurden die Nachrichten, die unerkannt bleiben sollten, fotographisch auf die Größe eines
gewöhnlichen i-Punktes verkleinert und danach in einem harmlosen Text als Satzzeichen oder
i-Punkt platziert. Erst 1941 machte das FBI den ersten Mikropunkt in abgefangenen Botschaften
ausfindig.
7
Ähnliche Beispiele vom Verbergen ließen sich theoretisch unendlich fortführen, allein unsere
Phantasie ist Quelle der Möglichkeiten. In China zum Beispiel, tauchte man beschriebene
Seidenkügelchen in Wachs und verschluckte sie, um sie dann unbemerkt an den Wachposten
vorbei zu schleusen. Eine Sache aber, haben all diese Methoden gemeinsam, sie sind versteckt in
einem unauffälligen Medium. Wer würde schon Verdacht schöpfen, wenn unter vielen
Lebensmitteln unter anderem ein geheimnisvolles Ei versteckt ist? Trotzdem birgt die
Steganographie eine große Schwäche: ist das Versteck erst einmal entdeckt, liegt die Botschaft offen
und kann von einer dritten Person ohne weiteres gelesen werden.
Neben der Steganographie, dem „Verbergen“ von Nachrichten, entwickelte sich zeitgleich auch die
Kryptographie, die „Verschlüsselung“ von Nachrichten. Wollte man die Sicherheit erhöhen,
kombinierte man beide Methoden. Oft wurden Nachrichten erst verschlüsselt, bevor sie als
Mikropunkt in einen Text eingefügt wurden. Das hatte den Vorteil, wenn der Punkt entdeckt und
wieder vergrößert wurde, der unbefugte Leser trotzdem erstmal nichts mit der Nachricht
anfangen konnte.
Auf die Kombination dieser beiden Methoden verließ sich 1586 schon Maria Stuart:
1.1.6.
Der spannende Fall der Maria Stuart
Maria Stuart, Königin von Schottland, war des Verrats an ihrer Cousine Elisabeth I. angeklagt.
Sie wurde beschuldigt, die Ermordung der englischen Königin beauftragt zu haben, um danach
selbst die englische Krone für sich zu beanspruchen. Ihre Verbündeten waren eine Gruppe
adeliger Katholiken aus England, die die katholische Maria Stuart gerne auf den englischen Thron
gewusst hätten. Die jungen Verschwörer waren schnell entlarvt, verhört und hingerichtet,
trotzdem konnte aus deren Geständnissen die Schuld Maria Stuarts nicht eindeutig nachgewiesen
werden. Maria und ihre Verbündeten korrespondierten über Briefe, die in Bierfässern versteckt
und für Nicht-Eingeweihte unleserlich gemacht wurden. Die Geheimschrift der Maria Stuart
beruhte darauf, dass fast alle Buchstaben des Alphabets durch Symbole ersetzt und sogar einige
gar nicht verwendet wurden. Dazu gesellten sich eine ganze Reihe von Zeichen, die ganze Wörter
verschlüsselten und wieder andere hatten rein gar keine Bedeutung, sie sollten die Sache
ausschließlich verkomplizieren. Die Königin von Schottland hegte großes Vertrauen in ihre
Geheimschrift und sie wusste, dass der Dreh- und Angelpunkt ihrer Verurteilung allein in der
Offenbarung der Korrespondenz liegt. Doch am Ende hatte sie zu hoch gepokert, denn
letztendlich konnte die Seite der Anklage die Briefe zwischen Maria Stuart und ihren
Verbündeten entschlüsseln und damit ihre Schuld nachweisen. Sie wurde zum Tode verurteilt.
8
Schon in der Geheimschrift der Maria Stuart fand man Techniken der Verschlüsselung, die noch
Jahrhunderte später ihren Platz innerhalb der Kryptographie einnahmen. Auf diese und weitere
will ich im Folgenden eingehen.
1.2.
Die
Kryptographie: Transposition und Substitution
Transposition
ist
neben
der
Substitution,
eine
der
beiden
grundlegenden
Verschlüsselungsverfahren innerhalb der Kryptographie. Bei dieser Form der Verschlüsselung
werden die Buchstaben einer Botschaft ausschließlich „verwürfelt“ (permutiert), so bleibt jedes
Zeichen des Klartextes unverändert erhalten und wechselt lediglich seinen Platz innerhalb der
Botschaft. Die Sicherheit der Transposition liegt in der Länge der Nachricht.
Zum Beispiel hat man bei einer Botschaft mit nur drei Buchstaben genau sechs Möglichkeiten
den Klartext zu verwürfeln, bei einer Botschaft mit vier Buchstaben immerhin schon 24
Möglichkeiten.
Beispiel „REH“:
• REH
• RHE
• ERH
• EHR
• HRE
• HER
Beispiel „FLOH“:
• FLOH
• FOLH
•
•
•
•
• FLHO
• FOHL
•
•
•
•
• FHLO
• LOHF
•
•
•
•
• FHOL
•
•
•
•
•
Aufgabe:
Vervollständige die Möglichkeiten.
9
1.2.1.
Die
Die Skytale
Skytale
(griech:
scytale=
Stock,
Stab)
ist
das
erste
bekannte
militärische
Kryptographieverfahren. Bereits im 5. Jahrhundert benutzten die Spartaner die Skytale, um ihre
kriegerischen Nachrichten zu verschlüsseln. Dabei wurde ein Stock mit einem festgelegten
Durchmesser mit Pergament oder einem Lederstreifen umwickelt, um ihn nachher der Länge
nach beschriften zu können. Durch das Umwickeln erreichte man eine Umordnung
Umo
der
Buchstaben, die erst nach dem Abwickeln des Pergaments erkennbar war. Die Nachricht konnte
also nicht mehr ohne weiteres entziffert werden. Der Empfänger der „Botschaft auf dem Band“,
benötigte nun eine eben solche Skytale mit demselben Durchmesser,
ser, um die Nachricht nach dem
Aufwickeln problemlos lesen zu können. Oft wurden die Lederbänder mit der beschriebenen
Seite zum Körper als Gürtel getragen, um die Nachricht unerkannt überbringen zu können (Siehe
Steganographie!).
Das Wesen der Substitution (lat.: substituere = ersetzen), liegt, wie der Name schon sagt, im
Ersetzen von Buchstaben oder Zeichen des Klartextalphabets durch andere Zeichen des
Geheimtextalphabets. Innerhalb der Substitution gibt es zwei Klassifizierungen der
Verschlüsselung, nämlich
ich die monoalphabetische und die polyalphabetische Substitution.
Substitution
Die monoalphabetische Verschlüsselung benutzt im Gegensatz zur polyalphabetischen Verschlüsselung, nur
ein einziges Alphabet zur Verschleierung von Botschaften. Ein einfaches Beispiel für eine
ei
monoalphabetische Verschlüsselung,, wäre das Ersetzen (Substituieren) der Buchstaben im Klartext
durch den Folgebuchstaben im Alphabet.
Klartextal.:
A B C D E F G H I J K L MNO P Q R S T U VWX Y Z
Geheimtextal.:
B C D E F G H I J K L MN O P Q R S T U V WX Y Z A
Beispiel:
Klartext:
S H E R L O C K
H O L M E S
Geheimtext:
T I F S M P D L
I P MN F T
Die Verschiebung um eine Stelle im Alphabet ist zwar das denkbar einfachste Beispiel für eine
monoalphabetische Substitution (Ich wünschte wirklich, es gäbe eine kürzere Bezeichnung für diese
kryptographische Disziplin.), das bekannteste ist dennoch die …
10
1.2.2.
Cäsar-Chiffre
Diese geht auf den römischen Staatsmann Julius Cäsar (100 – 44 v. Chr.) zurück, der diese
Verschlüsselungsmethode schon im Gallischen Krieg benutze. Bei der Cäsar-Chiffre ist das
Geheimtextalphabet gegenüber dem Klartextalphabet nicht nur um eine, sondern um drei Stellen
verschoben.
Klartextal.:
A B C D E F G H I J K L MNO P Q R S T U VWX Y Z
Geheimtextal.:
D E F G H I J K L MNO P Q R S T U V WX Y Z A B C
Beispiel:
Klartext:
S H E R L O C K
H O L M E S
Geheimtext:
V K H U O R F N
K R O P H V
Die monoalphabetische Verschlüsselung bietet uns 25 verschiedene Geheimschriften, da eine
Verschiebung zwischen einer und 25 Stellen möglich ist. Kombinieren wir diese 25 Möglichkeiten
zusätzlich mit
entstandene
der Transposition, ändern wir also nach der Substitution noch die dadurch
Zeichenfolge,
explodiert
die
Anzahl
der
Geheimschriften
auf
400 000 000 000 000 000 000 000 000.
Im Ersten Weltkrieg verwendete man die etwas kompliziertere ADFGVX-Chiffre, um Substitution
und Transposition miteinander zu verknüpfen. Wir allerdings beschäftigen uns nun mit einer
einfacheren Kombinationsmöglichkeit
der beiden Verfahren, die Verwendung eines
Schlüsselwortes. Der Vorteil in dessen Verwendung liegt eindeutig darin, dass sich Sender und
Empfänger kein kompliziertes Geheimtextalphabet notieren müssen, was auch immer die Gefahr
birgt gefunden zu werden.
11
1.2.3.
Schlüsselwort
Die Frage ist nun: Wie konstruiert man mit Hilfe eines beliebigen Schlüsselwortes aus dem
vorliegenden Klartextalphabet ein Geheimtextalphabet?
Beispiel mit dem Schlüsselwort PAUL:
Klartextal.:
A B C D E F G H I J K L MNO P Q R S T U VWX Y Z
Geheimtextal.:
P A U L MNO Q R S T V WX Y Z B C D E F GH I J K
Nach welchem Algorithmus lässt sich ein solches Geheimtextalphabet herstellen?
1. Schreibe ein beliebiges Schlüsselwort unter das Klartextalphabet. Aber Vorsicht! Auch im
Geheimtextalphabet darf jeder Buchstabe nur einmal vorkommen.
2. Endet wie im Beispiel, das Schlüsselwort auf den Buchstaben „L“, geht man chronologisch
weiter zu Buchstabe „M“.
3. Nun unterscheidet man 2 Fälle:
Fall 1: Ist „M“ nicht Teil des Schlüsselwortes, substituiere den nächsten „freien“
Buchstaben des Klartextalphabets mit „M“. Im Beispiel: E → M
Fall 2: Ist „M“ Teil des Schlüsselwortes, untersuche den nächsten Buchstaben, in
diesem Fall wäre das „N“. Wieder unterscheidet man die beiden Fälle.
4. Wiederhole dieses Verfahren so oft, bis alle Buchstaben des Klartextalphabets mit einem
Buchstaben des Geheimtextalphabets besetzt sind.
Aufgabe:
Benutze Deinen Vornamen als Schlüsselwort und stelle damit Dein
persönliches Geheimtextalphabet her.
Klartextal.:
A B C D E F G H I J K L MNO P Q R S T U VWX Y Z
Geheimtextal.:
12
1.2.4.
Häufigkeitsanalyse
Die Häufigkeitsanalyse ist eine Disziplin innerhalb der Kryptoanalyse. Schon islamische
Religionsgelehrte entdeckten beim Studium der Offenbarungen Mohammeds und des Korans
bahnbrechende Eigenschaften der Schriftsprache. Die Motivation dieser Gelehrten war
ursprünglich, die chronologische Reihenfolge der Offenbarungen zu rekonstruieren. Dabei
stolperten sie wie zufällig über eine außerordentlich hilfreiche Erkenntnis für die Kryptoanalyse:
Jeder Buchstabe des Alphabets kommt durchschnittlich mit einer bestimmten Häufigkeit im Text
vor. Im Deutschen zum Beispiel, finden wir den Buchstaben „e“ mit der Häufigkeit von etwa
17 %, gefolgt von „n“ mit 10 % usw. Dieses Wissen benutzte die Analyse zu ihrem Vorteil. Will
man einen Geheimtext decodieren, der monoalphabetisch verschlüsselt wurde, muss man sich
lediglich auf dieses Wissen beziehen und noch ein wenig Phantasie besitzen. Ein Geheimtext,
dessen Sprache zwingenderweise bekannt sein muss, soll analysiert werden, um dann die wahre
Botschaft offen zu legen. Dabei benötigt man einen unverschlüsselten Vergleichstext, um so die
Buchstabenhäufigkeit zu ermitteln. Wie funktioniert das? Man zählt einfach die Häufigkeit jedes
Buchstabens im Text und berechnet sodann die prozentuale Häufigkeit im Vergleich der
gesamten Buchstabenanzahl. Finden wir in einem Text mit insgesamt 100 Buchstaben, 17mal den
Buchstaben „e“, besitzt „e“ die Häufigkeit von 17%. Genauso geht man mit dem verschlüsselten
Text vor, dessen Botschaft man knacken will und erhält ebenfalls die prozentuale Häufigkeit
jedes Buchstabens. Jetzt müssen nur noch die Häufigkeiten in Klar- und Geheimtext verglichen
und durch die entsprechenden Buchstaben ersetzt werden. Das klingt alles recht logisch und
einigermaßen einfach durchführbar, doch etwas Phantasie oder Sprachgefühl ist trotzdem ab und
an gefragt. Die Genauigkeit bei der Ermittlung der Buchstabenhäufigkeit liegt dabei in der
Textlänge, was bedeutet, dass sich die Häufigkeit eines bestimmten Buchstabens in einem kurzen
Text im Vergleich zu einem längeren stark unterscheiden kann. So kann es passieren, dass bei der
Entschlüsselung etwas merkwürdige Worte zum Vorschein kommen, die der erfahrende
Analytiker dann durch sinnvolle ersetzt.
13
Buchstabe
Häufigkeit in %
Buchstabe
Häufigkeit in %
a
6.51
n
9,78
b
1,89
o
2,51
c
3,06
p
0,79
d
5,08
q
0,02
e
17,40
r
7,00
f
1,66
s
7,27
g
3,01
t
6,15
h
4,76
u
4,35
i
7,55
v
0,67
j
0,27
w
1,89
k
1,21
x
0,03
l
3,44
y
0,04
m
2,53
z
1,13
(vgl. SINGH: Häufigkeitstabelle der Buchstaben des deutschen Alphabets)
Aufgabe:
Entschlüssele folgenden Text mit Hilfe der Häufigkeitsanalyse.
WGDGP, WGDGP WPF PQEJOCNU WGDGP
EGT OGPUEJ – FGT YKUUGPUEJCHV XGTUEJTKGDGP –
FGT OCVJGOCVKM CWEJ DGVTKGDGP,
JVC UKFJ IGJKNHGP DCNF GTUQPPGP
WPF FCOKV PGWGP UEJYWPI IGYQPPGP.
XQP HQTOGNP, VCHGNP WPF OCUEJKPGP
NKGUBGT UKEJ KOOGT OGJT DGFKGPGP.
UKGCNNG JCNHGP WGDGTYKPFGP
FKG WPDGMCPPVGP CWHBWHKPFGP.
CNU MTQGPWPI ICNV PWP FGT EQORWVGT,
GKP UWRGTUEJPGNNGT TGEJGPDTWFGT,
FGT BWXGTNCGUUKI CNNG ITQGUBGP.
KP YKPFGUGKNG MQPPVG NQGUGP.
YCT GT CO CPHCPI ITQUB IGYCNVKI,
ICD’U KJP DCLF XKGN – WPF VCUEJGPHCNVKI.
WPF LGFGTOCPP YCT JGNN DGIGKUVGTV,
YCU FKGUGT DTWFGT HWGT KJP OGKUVGTV.
FQEJ YCUGT PKG WPF PKOOGT DTCEJVG,
FCUU GT GKPOCN UQ TKEJVKI NCEJVG.
FKGU UQNNG MGKPGP LG DGVTWGDGP,
OCP OWUU GU UGNDUV PWT YGKVGT WGDGP.
Ehrenfried Winkler
14
Die monoalphabetische Verschlüsselung war also geknackt. Mit der polyalphabetischen Substitution, gelang
Mitte des 16. Jahrhundert ein hohes Maß an Sicherheit, dessen Geheimrezept die Verwendung
mehrerer Geheimtextalphabete war.
1.2.5.
Das Vigenère-Verfahren
…geht auf Blaise de Vigenère zurück. Er entwickelte ein Verfahren der Verschlüsselung, das auf
insgesamt 26 Geheimtextalphabete basiert, wobei jedes zum vorhergehenden um genau eine
Stelle verschoben ist.
(vgl. SINGH: Vigenère – Quadrat)
Wie man mit diesem Quadrat umgeht, um am Ende einen Klartext in einen Geheimtext
transformiert zu haben, zeige ich nun anhand eines Beispiels.
Schlüsselwort:
F L O H F L O H F L O H F L O H F L
Klartext:
P R I M Z A H L E N S I N D T O L L
Geheimtext:
U
15
1. Schreibe das Schlüsselwort wie in der Abbildung gezeigt über den Klartext.
2. Der Klartextbuchstabe P, wird nun mit dem entsprechenden Buchstaben der mit F
beginnenden Zeile verschlüsselt. Kurz: Wir verschlüsseln P anhand Zeile 5.
3. Du findest den Geheimtextbuchstaben zu P, indem Du der Spalte unterhalb von P bis
zum Schnittpunkt mit Zeile F folgst: Du erhältst U.
4. Genauso verfährst Du mit dem Rest der Botschaft und erhältst am Ende den
Geheimtext.
1.2.6.
One-Time-Pad
Das One – Time – Pad, wörtlich übersetzt der „Einmal – Block“, ist ein Zettelstapel,
beschrieben mit willkürlichen Schlüsseln. Diese zufällig aneinander gereihten Zeichen, sollten der
Kryptoanalyse einen Streich spielen und für höchstmögliche Sicherheit sorgen. Das Besondere an
dieser Methode war, dass jedes Blatt nur ein einziges Mal verwendet werden durfte und natürlich
brauchten Sender und Empfänger ein identisches One – Time – Pad, um erhaltene Nachrichten
auch wieder entschlüsseln zu können. Dies kostete viel Zeit, Geld und Mühe solch große Mengen
an Schlüssel herzustellen und zu verteilen. Trotz der hohen Sicherheit, wog dies die genannten
Mängel nicht auf, woraufhin das One – Time – Pad nur sehr wenig genutzt wurde.
1.2.7.
Die ENIGMA
Die von Arthur Scherbius (1878 – 1929) entwickelte ENIGMA ist eine
Chiffriermaschine, die auf der polyalphabetischen Verschlüsselung basiert.
Während des 2. Weltkrieges, wurde sie vom deutschen Militär dazu
benutzt, ihren Nachrichtenverkehr zu codieren. Die Hauptarbeit leisteten
drei Walzen in ihrem Inneren, die die polyalphabetische Verschlüsselung
erledigten. Im Wesentlichen bestand sie weiter aus einer Tastatur und
einem Lampenfeld, das den Geheimtext Buchstabe für Buchstabe anzeigte,
bei der Entschlüsselung (nach entsprechender Einstellung) natürlich den Klartext. Die ENIGMA
bot 17576 verschiedene Grundeinstellungen zur Verschlüsselung, trotzdem wurde sie in
Zusammenarbeit polnischer und britischer Wissenschaftler mit Hilfe von sogenannten
„Bomben“ entschlüsselt.
Das Geheimnis der ENIGMA war nun gelüftet und die elektromechanische Ver – und
Entschlüsselung entwickelte sich kontinuierlich fort. Mit der Dechiffriermaschine „Colossus“
gelang es den Engländern, eine weitere Verschlüsselungsmaschine zu knacken – das
Computerzeitalter wurde ganz leise eingeläutet. Zu Beginn stand die computergestützte
16
Verschlüsselung nur dem Militär und den staatlichen Behörden zur Verfügung, doch das Netz
breitete sich immer mehr auf Wirtschaftsunternehmen, Banken etc. aus. Die Ver – und
Entschlüsselung ging nun durch die Mechanisierung bedeutend schneller, trotzdem war die
Verteilung der Schlüssel immer noch eine aufwändige Angelegenheit. Ein weiteres Problem lag in
der Standardisierung der computergestützten Chiffrierung, denn bisher verschlüsselte jeder
Konzern, jede Bank usw. nach ihrem eigenen System, ein Austausch war also nicht möglich. In
den 1970er gelang es endlich einen Standardalgorithmus zu entwickeln, doch das Problem der
Schlüsselverteilung blieb weiterhin ungelöst. Mehr Computer bedeuteten einen größeren Bedarf an
Schlüssel und eine Weile konnte man die Überbringung mit Botendiensten überbrücken, doch
auf Dauer war dies praktisch und finanziell nicht mehr realisierbar.
Der Mathematiker Whittfield Diffie war gefesselt von diesem Problem. Er war ein Visionär: Ihm
war klar, dass eines Tages sehr viele Haushalte einen Heimcomputer besitzen würden und ein
Teil der Kommunikation online ablaufen würde. Bankgeschäfte würden via Internet abgewickelt,
man würde elektronische Briefe verschicken und einiges andere mehr. Nur, wie sollte einem so
großen Bedarf an Schlüssel genüge getan werden? Es musste irgendeine andere Lösung für dieses
Problem geben. Zusammen mit Martin Hellman und Ralph Merkle, suchte Diffie nach einem
leichteren Weg der Verschlüsselung. Die drei ahnten, würden sie eine solche Lösung finde, wären
sie ihrem Ziel, den Aufwand der Verschlüsselung zu verringern und gleichzeitig die Sicherheit zu
erhalten oder gar zu erhöhen, ein großes Stück näher. Das Gedankenexperiment einer doppelt
verschlossenen Kiste, legte den Grundstein der RSA – Verschlüsselung:
Alice will Bob einen Brief schicken. Da er für Dritte nicht lesbar sein soll, legt sie ihn in eine
Kiste und verschließt diese mit einem Schloss. Den Schlüssel behält Alice. Der Brief ist
verschlüsselt und kann so, falls er abgefangen würde, nicht entziffert werden. Bob erhält die
Kiste, verschlossen mit Alice Schloss. Auch er kommt nicht an den Brief heran, aber Bob ist
clever und bedient sich eines Tricks: Bob verschließt die Kiste mit einem zweiten Schloss und
behält den Schlüssel bei sich. Die Kiste wird überbracht und so erhält Alice eine Kiste mit zwei
Schlössern, von einem sie den Schlüssel besitzt. Nun entfernt Alice mit ihrem Schlüssel, das von
ihr angebrachte Schloss. Die Kiste ist immer noch verschlossen – jetzt allerdings nur mit Bobs
Schloss - und Alice kann die Kiste unbesorgt an Bob zurücksenden. Mit diesem Trick erhält Bob
eine verschlossene Kiste, die, da nur er in Besitz des Schlüssels ist, auch nur von ihm geöffnet
werden kann.
Dieses Gedankenexperiment war der Beweis, dass es eine Möglichkeit der Verschlüsselung geben
muss, bei der man sich weder treffen, noch telefonieren muss, um vorher einen Schlüssel zur
Ver – und Entschlüsselung auszumachen. Der Kryptographie gelang auf der Grundlage dieser
Überlegung der entscheidende Durchbruch: dieses Verfahren, war das erste, bei dem man keinen
17
gemeinsamen Schlüssel benötigte und nicht einmal Kenntnis über den jeweils anderen haben
musste. Die Frage war nun: Wie kann man diese Idee in Mathematik verpacken?
Diffie, Hellman und Merkle interessierten sich für Funktionen und zerbrachen sich den Kopf
darüber, welche Funktion die Kriterien des Gedankenexperiments erfüllt, aber ihnen war klar, es
müsste eine Einwegfunktion sein (Irgendwie erinnert mich dieser Begriff immer an
Einbahnstraßen.). Der Clou an ihnen ist nämlich, sie sind asymmetrisch, das bedeutet „relativ
einfach“ errechenbar, aber nur sehr schwer umkehrbar ist. Umkehrungen in der Schule kennen
wir als „Probe“ einer berechneten Aufgabe, z.B. 18: 6 = 3, die Umkehrung wäre dann
3 ∙ 6 = 18. Bevor Diffie, Hellman und Merkle
eine passende Funktion fanden, entwickelten
1977 Ronald Rivest, Adi Shamir und Leonard
Adleman, den RSA – Algorithmus als erstes
asymmetrisches Verschlüsselungsverfahren.
Bei der nachfolgenden Darstellung dieses
Verfahrens,
beziehe
ich
mich
auf
das
„Handbuch der elementaren Zahlentheorie“
von David M. Burton und Heinz Dalkowski.
18
2. RENDEZ – VOUS MIT EULER UND CO
2.1.
Grundlagenmathematik: Modulare Arithmetik
Arithmetik (griechisch: „die Zahl“) klingt vielleicht erstmal befremdlich, aber sie ist uns weitaus
vertrauter als man zuerst glaubt. In der Grundschule ist sie unser einziges Rechenwerkzeug, das
uns zur Verfügung steht, denn Arithmetik ist nichts anderes als die Beschäftigung mit den
Grundrechenarten (Addition, Subtraktion, Multiplikation und Division) und den entsprechenden
Rechenregeln. Auf diesen Grundlagen ergeben sich fast natürlich die Gesetze der Teilbarkeit der
ganzen Zahlen sowie die Division mit Rest. Die Modulare Arithmetik (=Arithmetik der
Reste), man nennt sie zumeist die Theorie der Kongruenzen, bezeichnet die Mathematik, die
sich unter anderem hinter der RSA-Verschlüsselung verbirgt. Im Folgenden beschäftigen wir uns
also schwerpunktmäßig mit der Division und legen unser besonderes Augenmerk auf den
verbleibenden Rest.
Kongruenz
Der Begriff Kongruenz stammt von dem lateinischen Wort „congruentia“ und bedeutet
„Übereinstimmung“, kongruent demzufolge „übereinstimmend“. Die Mathematik verwendet für
diese Eigenschaft ein Symbol „≡“, das stark an die Gleichheit „=“ erinnert. Um diesen
Unterschied anschaulicher zu erklären und besser verstehen zu können, denken wir uns kurz
zurück in die Mittelstufe, wo uns der Begriff der Kongruenz schon einmal begegnet ist - zwar in der
Geometrie, aber davon wollen wir uns nicht irritieren lassen, sondern eher zu unserem Vorteil
ausnutzen.
19
Kongruenz von Dreiecken: Wann sind Dreiecke kongruent? Zwei Dreiecke sind zueinander
kongruent, wenn das eine entweder durch Parallelverschiebung, Drehung, Spiegelung oder durch
deren Nacheinanderausführung auf das andere abgebildet werden kann. Was bedeutet das? Die
Dreiecke scheinen einem im gewissen Sinne schon gleich, aber nur was ganz bestimmte
Eigenschaften angeht. Und genau darin liegt der Unterschied von Gleichheit und Kongruenz. Bei
der Überprüfung möglicherweise kongruenter Dreiecke, betrachtet man ausschließlich die
Größen und Längen von entsprechenden Winkeln und Seiten (Kongruenzsätze!). Das bedeutet,
Dreiecke müssen also nicht gleich sein, um kongruent zu sein, denn ihre Lage im Raum ist nicht
weiter von Bedeutung. Warum ist das so wichtig? Zwei Dreiecke sind nur dann wirklich gleich,
wenn sowohl alle Seiten, Winkel und ihre Lage im Raum identisch sind. Letzteres allerdings, ist
bei der Kongruenz von Dreiecken nicht zwingend notwendig.
Mit diesem Hintergrund lässt sich die Kongruenz innerhalb der Modularen Arithmetik vielleicht etwas
besser verstehen. Übertragen wir nun unser alterworbenes Wissen auf die Theorie der Kongruenzen,
können wir doch sagen, Zahlen sind genau dann zueinander kongruent, wenn sie bezüglich einer
bestimmten Eigenschaft übereinstimmen. Und welche Eigenschaft ist das wohl? Oben haben wir
erfahren, dass Modulare Arithmetik auch die Arithmetik der Reste genannt wird und damit bezieht
sich diese „neue“ Kongruenz auf die Reste, die bei Division durch eine bestimmte Zahl übrig
bleiben können. Nochmal ganz kurz: Wenn zwei Zahlen zueinander kongruent sind, dann weil
sie eine gemeinsame Eigenschaft besitzen, nämlich denselben Rest nach Division durch .
Einen weiteren wichtigen Begriff darf man bei dieser Rechenart nicht vergessen:
Restklassen
Teilt man eine beliebige natürliche Zahl z.B. durch 5, gibt es genau 5 mögliche Reste, die nach
dieser Division verbleiben können: 1, 2, 3, 4 und 0, falls die Rechnung „aufgeht“. Diese Menge
der möglichen Reste nach Division durch eine natürliche Zahl , nennt man Restklassen.
20
Anhand zweier Beispiele, sollen nun Satz 1 und Definition 1 deutlich gemacht werden. Wir
beschränken uns zuerst auf Eigenschaft
Eig
1.
Beispiel 1:
5?
Ist 12 27 Aus der Grundschule wissen wir:
12 * 5 2 +,-. 2
27 * 5 5 +,-. 2
Daraus ergibt sich:
12 2 · 5 / 2
27 5 0 5 / 2
Zu sehen ist, 12 und 27 hinterlassen bei Division durch 5 denselben Rest 2 und nach
Eigenschaft 1 folgt damit 12 27 5.
21
Beispiel 2:
Ist 11 ≡ 19 ( 5)?
Aus der Grundschule wissen wir wieder:
11 ∶ 5 = 2 +,-. 1
19 ∶ 5 = 3 +,-. 4
Daraus ergibt sich:
11 = 2 ∙ 5 + 1
19 = 3 ∙ 5 + 4
In diesem Fall hinterlassen 11 und 19 bei Division durch 5 verschiedene Reste und damit ist
die Bedingung für Kongruenz nach Eigenschaft 1 nicht erfüllt. Also ist 11 ≢ 19 ( 5).
Mit Hilfe von Eigenschaft 2 sollten wir dieselben Ergebnisse erhalten:
Beispiel 1:
Ist 12 ≡ 27 ( 5)?
27 – 12 = ∙ 5
Mit
27 = 3 ∙ 5 + 2
und
12 = 2 ∙ 5 + 2
ergibt sich
(3 ∙ 5 + 2) – (2 ∙ 5 + 2) = 3 ∙ 5 + 2 − 2 ∙ 5 − 2 = 5 ∙ (3 – 2) = 5 · 1
= 1 und mit (45- 1 ∙ 5) errechnet sich ein ganzzahliges Vielfaches von 5. Damit ist nach
Eigenschaft 2, 12 ≡ 27 ( 5).
Beispiel 2:
6-. 11 ≡ 19 ( 5)?
19 – 11 = · 5
Mit
19 = 3 · 5 + 4
und
11 = 2 · 5 + 1
ergibt sich
(3 · 5 + 4) – (2 · 5 + 1) = 3 · 5 + 4 − 2 · 5 – 1 = 5 · (3 – 2) + 3
Dies ist kein ganzzahliges Vielfaches von 5, also ist hier nicht aus der Menge der ganzen
Zahlen. Damit greift Eigenschaft 2 nicht und somit ist 11 ≢ 19 ( 5).
22
Aufgabe:
Untersuche unter Verwendung beider Eigenschaften des Satzes 1 und
Definition 1 folgende Kongruenzen auf ihre Richtigkeit und erläutere kurz Dein
Ergebnis.
a)
73 7 11
b)
51 1 4
c)
158 17 28
Beispiel zu (3):
17 22 5 und 22 32 5 8 17 32 5
Beispiele zu (6):
a) 9 2 7 8 99 29 7
9 0 9 2 0 2 7
Faktoren dürfen einzeln berechnet werden:
2 0 2 2 0 2 7
7
4 4 7 gilt nach (1).
23
b) 9 2 7 8
Potenzgesetze:
9;A 2;A 7
99 B 29 B 7
Aus vorhergendem Beispiel: 4B 4B 7
7
Potenzgesetze:
49 0 49 · 4 49 · 49 · 4 7
16 · 16 · 4 16 · 16 · 4 7
2 · 2 · 4 2 · 2 · 4 7
16 16 7
7 gilt nach (1)
2 2 7
Aufgabe: Überprüfe folgende Kongruenzen auf ihre Richtigkeit.
a) 31: 9 7;< 12
12
b) 2= 4 7
c)
52> 1 17
Da ich hier keine mathematischen Beweise führe, sondern ausschließlich anhand von Beispielen
versuche die Grundlagen zu verdeutlichen, wird folgender Satz im Weiteren nicht mehr explizit
vorkommen. Trotzdem möchte ich ihn, da er innerhalb des RSA-Algorithm
Algorithmus durchaus eine
Rolle spielt, nicht ganz außer Acht lassen.
Beispiel:
Aus der Kongruenz
2 0 21 2 0 3 18
42 6 18
folgt mit dem ??@
18;
??@
2 2
21 3 ;<
9
21 3 9
24
Dies folgt direkt aus Satz 3, aber trotzdem noch ein kleines Beispiel:
Aus der Kongruenz
5 · 21 5 · 3 18
105 15 18
folgt mit dem ??@
18; 5 1
21 3 ;<
;
21 3 18
Treiben wir es noch weiter auf die Spitze und rechnen mit einem primen Modul:
Mit
2 · 17 2 · 3 7
34 6 7
folgt
17 3 7
25
2.2.
Der Euklidische Algorithmus. Oder: „Wie findet man den größten
gemeinsamen Teiler?“
Auf der Suche nach dem größten gemeinsamen Teiler zweier
natürlicher Zahlen 4 und D (kurz: ??@(4; D)), ist uns bereits das
Verfahren der Primfaktorzerlegung bekannt: Man zerlegt beide
Zahlen in ihre Primfaktoren und multipliziert genau die Faktoren,
die beiden gemeinsam sind. Mit kleineren Zahlen ist diese
Methode durchaus praktikabel, allerdings gestaltet sich das bei
sehr großen Zahlen, wie sie hier bei der RSA-Verschlüsselung
gebraucht werden, ziemlich mühselig und zeitraubend. Um unser
mathematisches Leben etwas zu erleichtern, bedienen wir uns eines Tricks, der nach dem
griechischen Mathematiker Euklid benannt ist. In seinem Werk „Die Elemente“ beschreibt er ein
Verfahren, wie man mit Hilfe von Streckenlängen den größten gemeinsamen
natürlicher Zahlen
Teiler
zweier
sehr viel praktischer ermitteln kann:
Der Euklidische Algorithmus.
Primfaktorzerlegung:
Euklidischer Algorithmus:
69 = 3 · 23
12 = 3 · 2 · 2
??@ (69; 12) = 3
26
Wie funktioniert der Euklidische Algorithmus?
Denken wir wie Euklid und stellen uns die natürlichen Zahlen, deren ??@ wir ermitteln wollen,
als Strecken vor.
Der größte gemeinsame Teiler ist also das größte Maß, mit dem man beide Strecken ohne Rest
abdecken kann. Was wir auf den ersten Blick sehen, ist, dass dieses spezielle Maß 12 oder kleiner
sein muss. Probieren wir es aus und nehmen einfach mal an, 12 ist unser gesuchtes Maß.
69 = 5 · 12 + 9
12 war es schon einmal nicht, denn 69 lässt sich nicht restlos aus 12 darstellen. Aber das soll uns
nicht abschrecken, denn wir haben dadurch eine wichtige Erkenntnis gewonnen: Die Längen
12 und 9 stellen gemeinsam die Länge 69 dar. Deshalb genügt es jetzt zu untersuchen, welches
Maß 12, aber zugleich auch 9, angereiht ergibt. Testen wir die 9, denn entsprechend der
vorhergehenden Überlegungen muss das Maß kleiner oder gleich 9 sein.
12 = 1 · 9 + 3
War wohl wieder nichts und wir machen brav weiter, diesmal mit 9 und 3.
9 = 3 · 3 + 0
Haben es alle gesehen? 9 lässt sich tatsächlich ohne Rest als Aneinanderreihung von Längen mit
dem Maß 3 abbilden. Damit ist ??@ (69; 12) = 3.
Das war keine Zauberei, sondern: „The Oscar goes to Euklidischer Algorithmus.“
27
2.3.
Die Euler’sche Phi – Funktion Wir sehen uns ein Beispiel zur Berechnung einer Phi-Funktion mal etwas genauer an:
(3 mit 3
Prüfung auf Teilerfremdheit nach Definition 3 mit Hilfe des Euklidischen Algorithmus.
Algorithmus
??@
1; 3 1
3 301/0
1 0·0/1
0 0·1/0
??@
2; 3 1
3 102/1
2 2·1/0
1 0·0/1
0 0·1/0
??@
3; 3 3
3 1·3/0
3 0·0/3
0 0·3/0
28
Zwei der Zahlen zwischen 1 und 3 sind also teilerfremd, deshalb ist nach Definition 2
(3) = 2.
Dies lässt sich endlos (So endlos wie es Zahlen auf dieser Welt gibt.) weiterbetrieben und erhält
damit folgende Tabelle.
n
1
2
3
4
5
6
7
8
9
10
11
12
() 1
1
2
2
2
6
4
6
4
10
4
Aufgabe:
Vervollständige die Tabelle. Entdeckst Du eine Auffälligkeit?
(5) =
Man merkt sehr schnell, je größer die Zahlen werden, umso mehr Aufwand hat man bei der
Berechnung. Das kann unter Umständen ziemlich lästig werden und ist für sehr große Zahlen
eigentlich nicht mehr in einem annehmbaren Zeitraum zu bewältigen. Der RSA-Algorithmus
kann nur höchstmögliche Sicherheit gewährleisten, wenn
so große Zahlen wie möglich
verwendet werden und genau deshalb benötigen wir einen einfacheren Weg () zu berechnen.
Innerhalb der RSA – Verschlüsselung ist definiert als Produkt zweier Primzahlen E und F.
Die Primalität dieser beiden Faktoren wird uns gleich eine Menge Arbeit ersparen, aber zuerst
möchte ich folgendes verraten:
() = (E) ∙ (F) = (E − 1) ∙ (F − 1).
Um das verstehen zu können, beginnen wir etwas einfacher und nehmen uns folgende Gleichheit
vor:
(E) = (E − 1)
Wer aufmerksam war, hat bei genauer Betrachtung der obigen Tabelle bemerkt, dass für
prime , die Anzahl der zu teilerfremden Zahlen um eins geringer ist als selbst.
(2) = 1, (3) = 2 usw.
Die Erklärung ist sehr knapp: Da jede Primzahl E nur durch sich selbst und 1 teilbar ist, ist sie
sicher zu den Zahlen 1 bis (E − 1) teilerfremd.
Aus (E) = (E − 1) folgt somit auch (E) ∙ (F) = (E − 1) ∙ (F − 1).
29
Die Multiplikativität () = (E ∙ F) = (E) ∙ (F) dieser Funktion geht direkt aus dem
Chinesischen Restsatz hervor. Wir betrachten den Beweis an dieser Stelle (Dazu später allerdings
mehr.) als göttliche Eingebung und widmen uns einer anschaulichen Erklärung zu
() = (E − 1) ∙ (F − 1).
Ein Beispiel:
(35) = (5 ∙ 7) = (5 − 7) ∙ (7 − 1) = 4 ∙ 6 = 24
„Sieb des Eratosthenes“
Wir bedienen uns des Siebs des Eratosthenes und ermitteln alle, die zu 35 teilerfremden Zahlen:
Wir wissen, 35 ist das Produkt aus 5 und 7, damit sind 5 und 7 Teiler von 35 und folglich sind
auch alle Vielfache von 5 und 7 nicht teilerfremd zu 35. Wir streichen also 5, 7 und alle Vielfache
der beiden. Übrig bleiben also die, die teilerfremd zu 35 sind. Wie gehen wir weiter vor? Wir
können nun entweder alle teilerfremden Zahlen abzählen, was bei großen Zahlen wieder sehr
anstrengend wäre, oder wir überlegen uns etwas. Ich schlage vor (Natürlich nur, um uns für die
Zukunft die Sache zu erleichtern.), dass wir etwas nachdenken und versuchen die Angelegenheit
mathematisch zu lösen.
35 −
35 35
−
+ 1 = 35 − 7 − 5 + 1 = 24
5
7
Wir subtrahieren die Anzahl der Vielfache von 5 und 7 und addieren 1, da 35 ein Vielfaches von
5 und 7 ist und dadurch zweimal durch den Sieb gefallen ist.
30
Allgemein ausgedrückt:
E·F
2.4.
E·F E·F
/ 1 E · F F E / 1 F E / 1 E 1 · F 1
E
F
Der Satz von Euler
Wählen wir 4 5 und 12,
12 erhalten wir den ??@
5; 12 1.
Die Weichen zum Erfolg wären damit also gestellt.
12 4 suchen wir ganz frech aus der Tabelle von vorhin
und zeigen mit Hilfe
ilfe der Rechenregeln aus Satz 2,
2
dass 5G
;9 1 12.
5H 1 12
59 9 1 12
19 1 12
1 1 12
2.5.
Chinesischer Restsatz
I 1 5
I 3 7
Wer hat sich gerade gedacht: „Irgendwie erinnert mich das an ein lineares Gleichungssystem.“?
Und ja, Ihr habt recht, denn solche Kongruenzen-Systeme
Kongruenzen Systeme sind den linearen Gleichungssystemen
wirklich ähnlich. Gesucht ist hier ein I, das nicht nur eine, sondern
n gleich zwei Bedingungen
erfüllen soll: Bei Division durch 5, soll es den Rest 1 hinterlassen, bei Division durch 7, den
Rest 3.. Gehen wir den Weg einmal zu Fuß und probieren einfach aus, ob wir ein solches I
finden können.
31
I 1 5 J. I 1,,6,11,16,21,26,31,36, ….
I 3 7 J. I 3, 10, 17, 24, 31, 38, …
War das Glück? Nein, war es nicht! Warum das Auffinden eines x, das diese beiden Bedingungen
erfüllt, kein Glück war, zeigt der Chinesische Restsatz, der folgendes besagt:
Obwohl uns die Lösung des Beispiels nicht vom Himmel gefallen ist, musste das KongruenzenKongruenzen
System, um eindeutig gelöst werden zu können, eine wichtige Bedingung erfüllen: 5 und 7 sind
teilerfremd. Der Chinesische Restsatz sagt weiter, wenn ; und 9 (hier: 5 und 7)) also teilerfremd sind,
darf man „zaubern“ und aus zwei Kongruenzen, eine machen. Das bedeutet, man rechnet nicht
; und 9 getrennt voneinander, sondern man darf nach einem
mehr
bestimmten Schema ; 0 9 rechnen. Wie man auf dieses Schema kommt, soll uns hier
nicht weiter beschäftigen, wir betrachten es einfach als Geschenk des Himmels und wenden es
dankbar an.
System
Aus dem Kongruenzen-System
I 4 5
I D 7
wird so
I 4 · 7G
B / D · 5G
L 35.
Dass diese, ich nenne sie jetzt einfach mal „Hilfskongruenz“, wirklich taugt, zeige ich jetzt.
Die
große
Frage ist doch: Wieso darf man statt 5 und 7
einfach
32
( 5 · 7) = ( 35) rechnen? Oder anders gefragt: Warum darf ich die Anzahl der
Restklassen von ( 5) und ( 7) multiplizieren und erhält damit die Anzahl der Restklassen
( 35) (kurz: ℤ/5ℤ × ℤ/7ℤ ≅ ℤ/35 ℤ)? Diesen „Beweis“ am Beispiel, gehen wir am
leichtesten rückwärts, das heißt von unserer himmlischen „Hilfskongruenz“ ausgehend, schließen
wir auf das zugrunde liegende Kongruenzen-System. Dabei rechnen wir separat voneinander
( 5) und ( 7) und müssten, falls der Chinesische Restsatz auch wirklich richtig ist, unser
ursprüngliches Kongruenzen-System erhalten.
„Hilfskongruenz“:
I ≡ 4 ∙ 7G(B) + D ∙ 5G(L) ( 35)
I ≡ 4 ∙ 7G(B) + D ∙ 5G(L) ( 5)
Da D ∙ 5G(L) ein ganzzahliges Vielfaches von 5 und nach dem Satz von Euler 7G(B) ≡ 1( 5),
folgt I ≡ 4 ( 5).
I ≡ 4 ∙ 7G(B) + D ∙ 5G(L) ( 7)
Entsprechend der ersten Rechnung, ist hier 4 ∙ 7G(B) ein ganzzahliges Vielfaches von 7 und
nach dem Satz von Euler, folgt wieder 5G(L) ≡ 1 ( 7). So erhalten wir I ≡ D ( 7).
Die Richtigkeit des Chinesischen Restsatzes wäre somit gezeigt.
Mit dem Chinesischen Restsatz lässt sich jetzt auch endlich die Multiplikativität der Phi-Funktion
erklären.
() = (E ∙ F) = (E) ∙ (F)
Wir wissen, ϕ (n) ist die Anzahl, der zu n teilerfremden Zahlen. Stürzen wir uns noch einmal auf das
Beispiel
(35) = (5 ∙ 7) = (5) ∙ (7).
(ℤ/5ℤ) ≔ {0,1,2,3,4 ( 5)}
(5) = {1,2,3,4} = 4
(ℤ/7ℤ) ≔ {0,1,2,3,4,5,6 ( 7)}
(7) = {1,2,3,4,5,6} = 6
Sind 4 und D nicht teilerfremd zu 5 bzw. 7, dann auch nicht unser I. Sind hingegen 4 und D
teilerfremd zu 5 bzw. 7, dann ist auch I teilerfremd zu 35 = 5 · 7. Hierbei haben wir für 4
33
insgesamt 4 5 und für D insgesamt 6 7 Möglichkeiten, die also auf insgesamt
24 4 · 6 zu 35 teilerfremde I führen. Also folgt 35 5 · 7.
Lineare Kongruenzen der Form: 2.6.
Beispiel:
7I 1 11
Euklidischer Algorithmus:
11 1 · 7 / 4
7 104/3
4 1·3/1
3 3·1/0
1 4 1 · 7 4
4·1·7/1·4
2 · 11 1 · 7 1 · 7
2 · 11 2 · 7 1 · 7
2 · 11 3 · 7
1 2 · 11 3 · 7 11
1 3 · 7 11
8 I 3 11
8I8
Aufgaben:
a) 25I 1 29
b)
6I 1 21
34
3. RSA MIT ROSE UND GREGORY
Wer hätte gedacht, dass Primzahlen sogar als Gesprächsstoff bei einem ersten Rendez-Vous eine
gute Figur machen? Die amerikanische Liebeskomödie »The mirror has two faces« mit Barbra
Streisand und Jeff Bridges ist der Beweis: Rose, Literaturdozentin an der Columbia Universität,
lässt sich von Gregorys Schwärmereien über Primzahlzwillinge auf jeden Fall nicht abschrecken.
Er ist Mathematikprofessor, ebenfalls an der Columbia und lernt Rose über eine Kontaktanzeige
kennen. Es entwickelt sich eine romantisch-komische, vielleicht auch etwas schräge Beziehung
zwischen den beiden, die dann letztlich doch ein Happy End findet. Rose ist eine begeisterte und
mitreißende Lehrerin, Gregory der etwas kühlere, während seiner Vorlesungen ausschließlich an
seiner Mathematik interessierte Professor…
Stellen wir uns nun vor, Rose will Gregory vor seiner Vorlesung eine kleine Nachricht via
Internet zukommen lassen, als Motivation, die Vorlesung etwas ansprechender zu gestalten.
„Tschagga!“ denkt sich Rose, könnte Gregory etwas aufmuntern und Schaffensdrang in ihm
wecken. Aber wie stellt sie es nun an, dass diese Botschaft auch verschlüsselt bei Gregory
ankommt? In weiser Voraussicht hat der Matheprof vorgesorgt und Rose erklärt welche Schritte
sie zu beachten hat, damit die Nachricht auch wirklich für Dritte unlesbar bei ihm eingeht.
Bevor Rose loslegen kann, muss Gregory erst einige Vorbereitungen treffen.
Schritt 1:
Der Matheprof wählt zwei sehr große, voneinander verschiedene Primzahlen E und F und bildet
deren Produkt E ∙ F = (Verschlüsselungsmodul).
Er greift ins Volle und pickt sich
E = 2.038.074.743,
F = 2.038.074.751 und errechnet damit = 4.153.748.674.359.113.993
Schritt 2:
Er benötigt eine weitere Zahl (Verschlüsselungsexponent), die teilerfremd zu () sein muss,
denn andernfalls lässt sich bei der Decodierung der Entschlüsselungsexponent nicht finden.
Bevor Gregory ein entsprechendes aussuchen kann, muss er zuerst () berechnen. Aufgrund
der Multiplikativität der Phi – Funktion und der Primalität von E und F, gilt folgende Gleichheit:
() = (E − 1) ∙ (F − 1).
35
(4.153.748.674.359.113.993) = (2.038.074.743 − 1) ∙ (2.038.074.751 − 1)
(4.153.748.674.359.113.993) = 4.153.748.670.282.964.500
Jetzt
ist
Gregory
soweit einen
passenden
Verschlüsselungsexponenten mit
??@T; ()U = 1 zu bestimmen. Mit Hilfe des Euklidischen Algorithmus entscheidet er sich für
= 97, denn der ??@ (97; 4.153.748.670.282.964.500) = 1.
Schritt 3:
Diese beiden Zahlen und , Verschlüsselungsmodul und Verschlüsselungsexponent, stellt Gregory in
ein öffentliches Verzeichnis, was man sich ähnlich einem Telefonbuch vorstellen
kann.
Wichtig!
Die Primfaktoren E und F bleiben weiterhin geheim, Gregory veröffentlicht ausschließlich und
. Nicht auszudenken wäre auch, wenn () veröffentlich oder ausspioniert würde, denn auch
damit könnte man mit etwas Rechnerei und mathematischen Knowhow Rückschlüsse auf die
Faktorisierung von schließen. Die Primzahlen wären also indirekt bekannt und man hätte alle
nötigen Informationen, abgefangene Nachrichten zu entschlüsseln.
Schritt 4:
Rose verfasst die Nachricht „Tschagga!“ und will diese codieren. Dazu benutzt sie ein
numerisches Alphabet, was jedem Buchstaben, jeder Ziffer, jedem Satz - und Leerzeichen eine
bestimmte Zahl zuordnet:
A = 01
K = 11
U = 21
1 = 31
B = 02
L = 12
V = 22
2 = 32
C = 03
M = 13
W = 23
3 = 33
D = 04
N = 14
X = 24
4 = 34
E = 05
O = 15
Y = 25
5 = 35
F = 06
P = 16
Z = 26
6 = 36
G = 07
Q = 17
, = 27
7 = 37
H = 08
R = 18
. = 28
8 = 38
I = 09
S = 19
? = 29
9 = 39
J = 10
T = 20
0 = 30
! = 40
Leerzeichen = 0
36
Jedes Zeichen ihrer Nachricht muss Rose durch die entsprechende Zahl im numerischen
Alphabet ersetzen und erhält damit die Klartextzahl V.
TSCHAGGA!
wird so in die Klartextzahl
V = 201903080107070140
transformiert.
V ist also nichts anderes, als eine Aneinanderreihung von Buchstaben in Zahlen ausgedrückt.
Rose hat Glück und erhält ein V < . Dies ist wirklich von Bedeutung, denn bei einem V > ,
müsste die Klartextzahl V erst in kleinere Nachrichtenstücke „zerhackt“ werden, um sie danach
einzeln verschlüsseln zu können. Das klingt zuerst nicht weiter tragisch, aber durch das
Zerkleinern der Nachricht, büßt die Übermittlung an Sicherheit ein. Denken wir uns den
schlimmsten Fall und eine Email würde so zerhackt, dass jeder Buchstabe einzeln codiert werden
müsste, dann wäre es unter Verwendung der Häufigkeitsanalyse ein relativ Leichtes, die Email zu
dechiffrieren.
Rose hat ihre Nachricht nun in die Klartextzahl V transformiert, aber was geschieht jetzt?
V einfach zu verschicken, würde nicht sehr viel Sinn machen, denn jeder, der in Besitz des
numerischen Alphabets ist, könnte die Nachricht abfangen und ganz leicht rücktransformieren.
Mit Rose‘ V muss also noch etwas passieren.
Schritt 5:
Mit VY ≡ Z ( ) verwandelt Rose V in die Chiffretextzahl Z.
201.903.080.107.070.140:L ≡ Z ( 4.153.748.674.359.113.993)
Z ≡ 303.285.745.458.478.549 ( 4.153.748.674.359.113.993)
„Tschagga!“ ist nun verschlüsselt und Rose sendet das Z an Gregory.
Rose hat ihre Liste abgearbeitet, die Nachricht mit Hilfe des numerischen Alphabets in V
umgewandelt und V seinerseits mittels der Modularen Arithmetik in Z transformiert und
abgeschickt. Gregory, zum Glück der Mathematiker von den Beiden, erhält nun eine Email mit
der Chiffretextzahl Z und muss diese decodieren um Rose‘ Nachricht lesen zu können.
Klar, wie soll es auch anders sein, das funktioniert mit Mathematik!
37
Schritt 6:
Aus ≡ 1 ( ()) berechnet Gregory den Entschlüsselungsexponenten .
97 ∙ ≡ 1( 4.153.748.670.282.964.500)
Nach einiger Rechnerei mit dem Euklidischen Algorithmus, kommt Gregory zu diesem Ergebnis:
= 299.755.058.680.213.933.
Das „Knacken“ des Entschlüsselungsexponenten j scheint auf den ersten Blick kein großer
Durchbruch zu sein, aber Gregory weiß es besser: Der Matheprof kennt den Satz von Euler und
kann damit die Decodierung mit dem letzten Schritt abschließen.
Schritt 7:
Z [ ≡ V;\G(])^ = V(VG(]) )^ ≡ V ∙ 1^ = V ( )
Aus Schritt 5 ist bekannt: Z ≡ VY
Nach Satz 2 (6) erhalten wir dann: Z [ ≡ (VY )[
wegen = 1 + () ∙ . (J. . ∈ ℤ) aus ≡ 1 ( ())
folgt: VY[ = V;\G(])∙^
Potenzgesetze: V;\G(])∙^ = V ∙ VG(])∙^
Da V teilerfremd zu , greift der Satz von Euler mit VG(])^ ≡ 1( ) und erhält somit:
V ∙ VG(])^ = V ∙ 1^ = V ( )
Gregory kennt jetzt die Klartextzahl V und kann sie unter Verwendung des numerischen
Alphabets in „Tschagga!“ rücktransformieren.
38
4. PRIMZAHLTESTS
4.1.
Der Sieb des Eratosthenes
Eine Primzahl ist eine natürliche Zahl, die nur durch 1 und sich selbst teilbar ist. Eine Ausnahme
ist „Die traurige Eins“. Wieso die 1 nicht zu den Primzahlen zählt, obwohl sie doch Potenzial
hätte, ist schnell gesagt: Sie wurde ausgestoßen, weil sie die Eindeutigkeit der
Primfaktorzerlegung durcheinander bringen würde.
Eratosthenes entwickelte im 3. Jahrhundert v.Chr. einen Algorithmus Primzahlen zu bestimmen.
Nachdem man die 1 ignoriert, nimmt man sich die erste nachfolgende Zahl vor, auf die diese
Bedingungen für Primalität zutrifft und löscht alle ihre Vielfachen. Auf der Suche nach allen
Primzahlen bis genügt es, dieses Verfahren bis ≤ √ zu wiederholen:
1
11
21
31
41
51
61
71
81
91
2
12
22
32
42
52
61
72
82
92
3
13
23
33
43
53
63
73
83
93
4
14
24
34
44
54
64
74
84
94
5
15
25
35
45
55
65
75
85
95
6
16
26
36
46
56
66
76
86
96
7
17
27
37
47
57
67
77
87
97
8
18
28
38
48
58
68
78
88
98
9
19
29
39
49
59
69
79
89
99
10
20
30
40
50
60
70
80
90
100
Will man große oder sogar sehr große Primzahlen finden, kann man diesen Sieb gerne benutzen,
wenn man vor Langeweile fast umkommt. Alle Anderen kommen dann wohl beim „Sieben“ um.
39
4.2.
Pseudoprimzahltest
„Pseudo“ kommt aus dem Griechischen und bedeutet soviel
sovie wie „möchtegern“.
öchtegern“. Also ein
„Möchtegern – Primzahltest“? Dieser Test in ein Verfahren, das nicht zu 100 Prozent
wasserdicht ist. Das heißt, unter Umständen (und das passiert tatsächlich ab und an mal)
schmuggeln sich Zahlen durch, die eigentlich gar keine Primzahlen sind, aber trotzdem als solche
gehandelt werden. Einige werden sich jetzt denken, was ist das für ein komischer Test, wenn
Nicht – Primzahlen trotzdem als Primzahlen verkauft werden? Zum Glück gibt es nur relativ
wenige (relativ zur Gesamtheit aller Zahlen) solcher Pseudoprimzahlen und damit ist die
Wahrscheinlichkeit immer noch extrem hoch, dass die Zahlen, die dieser Test als prim einstuft,
auch tatsächlich Primzahlen sind. Folgender Satz spielt dabei die zentrale Rolle:
Mit diesem Satz bewaffnet, folgert der Pseudoprimzahltest:
Auf der Spur nach möglichen Primzahlen, beschränkt man sich wegen dem ??@
2;
??@ 1 für
ungerade ,, ausschließlich auf ungerade natürliche Zahlen und hofft das Beste.
Ein bekanntes Beispiel einer Pseudoprimzahl will ich noch erwähnen:
2>HA 1 341
341 ist trotz Bestehen des Tests keine Primzahl, da 341 11 · 31.
40
Skytale Euler Cäsar – Chiffre
Schlüsselwort = ∙ Kongruenzen
Rose Primzahltest Euler Eratosthenes
Gregory ≡ ( ) Satz von Euler
Euklidischer Algorithmus
() = ( ∙ ) = () ∙ () = ( − ) ∙ ( − )
Kryptographie Geheimtinte () = ( − ) Substitution
Phi – Funktion Chinesischer
Restsatz Mikropunkt
≡ 1 ( ()) Schlüsselwort Rose
Cäsar – Chiffre Primzahltest Steganographie
() = ( ∙ ) = () ∙ () = ( − ) ∙ ( − ) Transposition
Skytale Euler Cäsar – Chiffre
Schlüsselwort = ∙ Kongruenzen
Rose Primzahltest Euler Eratosthenes
Gregory ≡ ( ) Satz von Euler
Euklidischer Algorithmus
() = ( ∙ ) = () ∙ () = ( − ) ∙ ( − )
Kryptographie Geheimtinte () = ( − ) Substitution
Phi – Funktion Chinesischer
Restsatz Mikropunkt
≡ 1 ( ()) Schlüsselwort Rose
Euklidischer Algorithmus Skytale Euler Cäsar – Chiffre
41
Erklärung
Hiermit versichere ich, dass ich die Arbeit in allen Teilen selbstständig gefertigt und keine
anderen als die in der Arbeit angegebenen Hilfsmittel benutzt habe. Die Zeichnungen,
Kartenskizzen und bildlichen Darstellungen habe ich selbst gefertigt.
Würzburg, den 01.10.2010
Sabine Hofmann
42
Herunterladen