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