Grundlagen der Kryptographie Teil 2.



Ähnliche Dokumente
Primzahlen und RSA-Verschlüsselung

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Modul Diskrete Mathematik WiSe 2011/12

11. Das RSA Verfahren und andere Verfahren

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

10. Kryptographie. Was ist Kryptographie?

RSA Verfahren. Kapitel 7 p. 103

Lenstras Algorithmus für Faktorisierung

Computeralgebra in der Lehre am Beispiel Kryptografie

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008

Erste Vorlesung Kryptographie

Elliptische Kurven in der Kryptographie

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Informationsblatt Induktionsbeweis

1. Asymmetrische Verschlüsselung einfach erklärt

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Einfache kryptographische Verfahren

Was meinen die Leute eigentlich mit: Grexit?

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Informatik für Ökonomen II HS 09

Digitale Signaturen. Sven Tabbert

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Über das Hüten von Geheimnissen

Kryptographie eine erste Ubersicht

Der Zwei-Quadrate-Satz von Fermat

Mathematik ist überall

Zeichen bei Zahlen entschlüsseln

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Algorithmische Kryptographie

Professionelle Seminare im Bereich MS-Office

Kryptographie Reine Mathematik in den Geheimdiensten

10. Public-Key Kryptographie

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematik und Logik

Analysis I für Studierende der Ingenieurwissenschaften

1 Mathematische Grundlagen

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anleitung Thunderbird Verschlu sselung

Leichte-Sprache-Bilder

Lineare Differentialgleichungen erster Ordnung erkennen

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Verschlüsselung. Chiffrat. Eve

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Kapitel 3: Etwas Informationstheorie

Geld Verdienen im Internet leicht gemacht

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Approximation durch Taylorpolynome

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Zur Sicherheit von RSA

Probabilistische Primzahlensuche. Marco Berger

4 RSA und PGP. Die Mathematik von RSA an einem Beispiel

Public-Key Verschlüsselung

Anleitung über den Umgang mit Schildern

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Kreativ visualisieren

Authentikation und digitale Signatur

Was können Schüler anhand von Primzahltests über Mathematik lernen?

Kulturelle Evolution 12

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Beweisbar sichere Verschlüsselung

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Kryptographie mit elliptischen Kurven

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

Das Persönliche Budget in verständlicher Sprache

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Lineare Gleichungssysteme

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Codierungstheorie Rudolf Scharlau, SoSe

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Erklärung zu den Internet-Seiten von

7 Rechnen mit Polynomen

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Grundlagen der Verschlüsselung und Authentifizierung (2)

Algorithmische Kryptographie

3.2 Spiegelungen an zwei Spiegeln

8. Quadratische Reste. Reziprozitätsgesetz

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Kapiteltests zum Leitprogramm Binäre Suchbäume

Qualitätsbedingungen schulischer Inklusion für Kinder und Jugendliche mit dem Förderschwerpunkt Körperliche und motorische Entwicklung

Kap. 8: Speziell gewählte Kurven

Grundlagen der Theoretischen Informatik, SoSe 2008

A1.7: Entropie natürlicher Texte

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

6.2 Perfekte Sicherheit

Transkript:

Das Thema im Überblick Das bekannteste asymmetrische Verschlüsselungsverfahren ist die RSA-Verschlüsselung, die nach deren Entwicklern Rivest, Shamir und Adleman benannt ist. Dieses Verfahren ist ein Public-Key-Verfahren und beruht auf der Tatsache, dass es äußerst aufwendig ist, zwei große Primzahlen (p und q) aus der alleinigen Kenntnis des Produkts N = p q zurückzugewinnen. Die Sicherheit der RSA-Verschlüsselung stützt sich auf die Verwendung extrem großer Primzahlen (mit über 500 Bit Länge). Je größer die Primzahlen sind, desto schwieriger ist es, die Verschlüsselung zu brechen. Sind die Zahlen groß genug gewählt, können selbst leistungsfähige Computer die Verschlüsselung in einem überschaubaren Zeitraum nach heutigem Stand der Technik nicht knacken. Grundlagen der Kryptographie Teil 2. Der in Heft 10/2005 begonnene Beitrag über die Grundlagen der Kryptographie, der sich zunächst mit einführenden Fragen der Verschlüsselung auseinander setzte und das symmetrische Verfahren erläuterte, wird nachfolgend mit der Darstellung der asymmetrischen Verschlüsselung und ihrer mathematischen Zusammenhänge fortgesetzt. Der Autor Dr. Walter Eigenstetter arbeitet als Solution Architect bei T-Systems im Bereich Open Source/ Linux und Security in München. 3 Asymmetrische Verschlüsselung Im ersten Teil dieses Beitrages wurde erläutert, dass symmetrische Verschlüsselungsverfahren gut zu implementieren sind und schnell arbeiten. Allerdings sind auch die beiden fundamentalen Schwächen symmetrischer Verfahren herausgestellt worden: Alice und Bob müssen den gleichen Schlüssel kennen, d. h. irgendwie muss Alice Bob einen Schlüssel übermittelt und sich mit ihm dahingehend verständigt haben, für die bevorstehende Kommunikation diesen Schlüssel einzusetzen. Dass Trudy hier etliche Ansätze findet, in den Besitz des Schlüssels zu gelangen, ist offensichtlich. Das zweite Problem einer symmetrischen Verschlüsselung stellt sich folgendermaßen dar: Wenn Alice mit Bob und Jimi verschlüsselt kommunizieren möchte, und zwar so, dass Jimi nichts über den Inhalt der Kommunikation von Alice mit Bob erfahren soll und Bob nichts über die Kommunikation von Alice mit Jimi, dann benötigt Alice zwei verschiedene symmetrische Schlüssel. Lange Zeit herrschte die Meinung vor, bei einer Verschlüsselung lassen sich diese beiden Probleme grundsätzlich nicht umgehen, bis das Verfahren der asymmetrischen Verschlüsselung entwickelt wurde. In Bild 5 ist das Prinzip dargestellt: Bevor Bob seine Nachricht verschlüsselt an Alice schicken kann, benötigt er ihren Öffentlichen Schlüssel (Public Key). Mit diesem Schlüssel verschlüsselt nun Bob eine für Alice bestimmte Nachricht. Alice unternimmt keinerlei Anstrengungen, um ihren Public Key vor der betrügerischen Trudy geheim zu halten. Alice entschlüsselt Bobs Nachricht mit ihrem Privaten Schlüssel (Private Key). Da- 635

Bild 5 Prinzip der asymmetrischen Verschlüsselung Bob Dies ist meine Nachricht. 1. Hi Alice, bitte sende mir Deinen Öffentlichen Schlüssel. 2. OK, Bob! Hier ist mein Öffentlicher Schlüssel. Alice Dies ist meine Nachricht. Kasten 9 9^3 mod 11 = ( ( ( (9 mod 11) 9) mod 11) 9) mod 11 = ( ( ( 81 ) mod 11) 9) mod 11 = ( ( 4 ) 9) mod 11 = 36 mod 11 = 3 Dein Bob Bob verschlüsselt seine Nachricht, indem er den Öffentlichen Schlüssel von Alice verwendet. Alice entschlüsselt Bobs Nachricht, indem sie ihren Privaten Schlüssel benutzt. Dein Bob b) In G führen wir die Operation mod p q = mod 35 ein. Wir stellen die Operation durch o dar. Verschlüsselte Nachricht mit ist offensichtlich, dass Alices Public und Private Key irgendwie mathematisch in einer Wechselbeziehung (korreliert) stehen müssen. Bob hat keinerlei Kenntnis des Private Key von Alice. Alice besitzt den Private Key (35,29) und den Public Key (35,5), die sie sich ausgehend von den beiden Primzahlen 5 und 7 (5 7 = 35) errechnet hat. Alice sendet Bob ihren Öffentlichen Schlüssel (35,5). Bob möchte an Alice den Buchstaben q, den 17ten Buchstaben im deutschen Alphabet, verschlüsselt übermitteln. Er identifiziert den Buchstaben q mit der Natürlichen Zahl 17 und verschlüsselt q mit dem Public Key von Alice, indem er rechnet 17 5 mod 35 = 12. Er verschickt das Ergebnis an Alice. Alice entschlüsselt mit ihrem Private Key, indem sie rechnet: 12 29 mod 35 = 17. (Anmerkung: Wenn man der üblichen Terminologie dieses Verfahrens folgt, ist der Public Key (35,5) der Private Key 29.) Dieses asymmetrische Verschlüsselungsverfahren, das auf der Primzahlenzerlegung und dem Public-Key-Verfahren beruht, ist nach den offiziellen [1] Erfindern Ronald Rivest, Adi Shamir und Len Adlemann benannt und heißt RSA-Verfahren. (Für Leser, die nicht an der Mathematik interessiert sind, die hinter dieser Methode steht, sollte diese Einführung in das RSA-Verfahren genügen. Bitte dann im Abschnitt Erläuterungen zur gezeigten Methode auf Seite 639 weiterlesen.) 3.1 modulo-rechnung Es gilt: 35 mod 11 = 2 35 = 3 11 + 2 Beispiele: 9^3 mod 11 = 3 (wir schreiben auch 9^3 statt 9 3 ) 9^3 = 729 = 66 11 + 3 Um den Speicherüberlauf des Taschenrechners zu vermeiden, wenden wir einige Rechenregeln für modulo an (Kasten 9): 3.2 Algebraische Gebilde Es gilt: Primzahl p = 5, Primzahl q = 7; p q = 35 Verschlüsselte Nachricht a) G = {m m und p q teilerfremd und kleiner als p q } = {1,2,3,4,6,8,9,11,12,13,16,17,18,19,22, 23,24,26,27,29,31,32,33,34} Beispiel 1: 13 o 22 = 13 22 mod 35 = 6; 6 ist ein Element in (G,o) Beispiel 2: 13 o 27 = 13 27 mod 35 = 1; 1 ist ein Element in (G,o) Beispiel 3: 13 24 = 13 o 13 o... o 13 = 13 24 mod 35 = 1 - - - 24 mal - - - - - - - - - - Beispiel 4: 13 o 1 = 13 1 mod 35 = 13; 1 ist die Identität in (G,o) Wirft man nochmals einen Blick auf die Darstellung in Kasten 9, wo bewiesen wurde, dass 13 o 13 o... o 13 = 13 24 mod 35 ist, --- 24 mal --- so können wir jetzt folgern: (G,o) ist eine Algebraische Gruppe ([2], [3]) und G hat (p 1) (q 1) = (5 1) (7 1) = 24 Elemente. Anmerkung: Die Funktion Φ, welche (p q) die Anzahl aller Zahlen zuordnet, die teilerfremd zu (p q) sind, heißt Eulersche Φ-Funktion. (Φ wird fi gesprochen.) Somit gilt, Φ (p q) = ((p 1) (q 1)) = Anzahl der Elemente in G, wenn p und q Primzahlen sind = Anzahl der zu p q teilerfremden Zahlen < p q. Anmerkung: Die Überlegung, dass Φ (p q) = ((p 1) (q 1)) ist nicht besonders schwierig: Es gibt (p q) Zahlen zwischen 1 und (p q), davon p verschiedene Zahlen, die man 636

WissenHeute Jg. 57 11/2004 durch q teilen kann und q verschiedene Zahlen, die man durch p teilen kann, d. h. dass (p + q) Zahlen nicht teilerfremd sind hinsichtlich (p q). Nun haben wir jedoch einen kleinen Fehler gemacht, weil wir (p q) zweimal zählten. (Es kann sowohl durch p als auch durch q geteilt werden). Korrigieren wir dies, so ergeben sich (p + q 1) Natürliche Zahlen, welche zu (p q) teilerfremd sind. Kasten 10 17 6 (5 1) (7 1) + 1 mod 35 = 17 und damit auch: 17 145 mod 35 = 17 (weil 6 (5 1) (7 1) + 1 = 145) 17 5 29 mod 35 = 17 (weil 5 29 = 145) 17 5 29 mod 35 = (17 5 ) 29 mod 35 = 12 29 mod 35 = 17 (weil 17 5 mod 35 = 12) Somit gilt, Φ (p q) = die Anzahl aller Zahlen, die zu (p q) teilerfremd sind = p q [p + q 1]. Eine Umformung liefert das Ergebnis: (p q) [p + q 1] = p (q 1) q + 1 = p (q 1) (q 1) = (p 1) (q 1) Man könnte die Definition der Eulerschen Φ-Funktion allgemeiner fassen, aber wir verzichten bewusst darauf. Ebenso ist weiter oben darauf zu achten, dass dort der Begriff bewiesen in Anführungsstrichen steht. 3.3 Kleiner Fermatscher Satz Wir formulieren den Kleinen Fermatschen Satz [2], [3] auf unser Beispiel bezogen: Sei m ein beliebiges Element aus (G,o) und (p 1) (q 1) die Anzahl der Elemente von (G,o) (G ist also endlich!). Dann gilt: m o... o m = 1 -- (p 1) (q 1) -- In unser anderen Schreibweise bedeutet die Behauptung: m (p 1) (q 1) mod p q = 1 bzw. m^((p 1) (q 1)) mod p q = 1 Wegen dieses Satzes gilt: 17 24 mod 35 = 1 Denn man erinnere sich, dass für p = 7 und q = 5 gilt: G = {m m und p q teilerfremd} = {1,2,3,4,6,8,9,11,12,13,16,17,18,19,22,23, 24,26,27,29,31,32,33,34} und diese Menge hat 24 = (p 1) (q 1) Elemente. Folgerung: Wir haben folgenden Zusammenhang bewiesen : Es seien p, q Primzahlen, a eine Natürliche Zahl mit a < p q, a teilerfremd zu p q. (Zwischenbemerkung: Damit ist natürlich a ein Element aus (G,o).) Dann gilt: a (p 1) (q 1) mod p q = 1 Nun haben wir uns alle Voraussetzungen erarbeitet, um eine trickreiche Ver- und Entschlüsselung zu präsentieren. 3.4 Ein Ver- und Entschlüsselungstrick Die Voraussetzungen sind bekannt, nämlich a < p q, a teilerfremd zu p q, k eine beliebige Ganze Zahl. Wir wissen bereits, dass a (p 1) (q 1) mod p q = 1. Und damit dürfen wir auch folgende Rechnung machen: a) a k (p 1) (q 1) mod p q = a (p 1) (q 1)... a (p 1) (q 1) mod p q = 1 k-mal Nochmals formuliert: a) a k (p 1) (q 1) mod p q = 1 Aus a) folgt aber nun: b) a k (p 1) (q 1) + 1 mod p q = a Gemäß b) gilt (Kasten 10). Zusammengefasst: 17 5 mod 35 = 12 12 29 mod 35 = 17 Übersetzung des obigen Tricks in die Sprache der Kryptographie (Asymmetrischen Verschlüsselung): Alice hat den Private Key (35,29) und den Public Key (35,5). Alice sendet Bob ihren Public Key (35,5). Bob möchte Alice den Buchstaben q verschlüsselt übermitteln. q ist der 17te Buchstabe im deutschen Alphabet. Wir identifizieren also q mit der Ganzen Zahl 17. Bob benutzt Alices Public Key (35,5) und rechnet 17 5 mod 35 = 12. Also hat Bob den Klartext 17 nach 12 verschlüsselt; diese Chiffre sendet er Alice. Nach Erhalt benutzt Alice ihren Private Key (35,29) zur Entschlüsselung, indem sie 12 29 mod 35 = 17 rechnet, was ihr Bobs Nachricht im Klartext liefert. Da die obigen Schritte möglicherweise für die Leser mit weniger mathematischem Hintergrundwissen nicht ganz einfach waren, machen wir nachfolgend den Versuch einer kleinen Zusammenfassung: Der Ausgangspunkt war a k (p 1) (q 1) + 1 mod p q = a mit p, q Primzahlen, a eine Ganze Zahl mit a < p q, a teilerfremd zu p q, k eine beliebige Ganze Zahl. Es seien d und e Ganze Zahlen mit d e = k (p 1) (q 1) + 1 (Die Frage, ob solche Zahlen überhaupt existieren, stellen wir für den Moment zurück.) 637

Damit haben wir a = a k (p 1) (q 1) + 1 mod p q = a d e mod p q a e mod p q = b b d mod p q = (a e ) d mod p q = a d e mod p q = a Primzahlen 5 und 7, zu verschlüsselnder Klartext 17: 17 = 17 6 (5 1) (7 1) + 1 mod 5 7 = 17 5 29 mod 5 7 17 5 mod 5 7 = 12 12 29 mod 5 7 = 17 3.5 Euklidsche Algorithmus 3.5.1 Existenz der Zahlen d, e, k mit d e = k (p 1) (q 1) + 1 Es ist gelungen, den Ver- und Entschlüsselungstrick auf solide mathematische Grundlagen zu stellen ( Beweis ). Dieser Trick ließe sich nun beliebig anwenden, wenn es gelänge, Ganze Zahlen d, e, k zu finden, welche der oben genannten Anforderung genügen. Mit anderen Worten: Wenn wir d, e finden mit d e mod (p 1) (q 1) = 1, sind wir in der Lage, den Verschlüsselungstrick anzuwenden. (Genau dieses ist in den Abschnitten vorher erläutert worden.) Um dieses zu erreichen, wählen wir d, d teilerfremd zu (p 1) (q 1). (Dies darf man jedoch nicht als selbstverständlich ansehen. Möglicherweise findet man kein solches teilerfremdes d! In diesem Fall heißt es, mit neuen Zahlen einen neuen Versuch wagen.) Ist aber so ein d gefunden, können wir folgendes Theorem anwenden: Ist ggt(d, (p 1) (q 1)) = 1, so existiert eine Ganze Zahl e teilerfremd zu (p 1) (q 1) und d e mod (p 1) (q 1) = 1. Die Abkürzung ggt steht für größter gemeinsamer Teiler [2]. Alternativ könnte man den Beweis auch ohne das zitierte Theorem und stattdessen mit der Methode der Vollständigen Induktion über die Anzahl der Schritte des Euklidschen Algorithmus führen (s. Abs. 3.5.2). Wichtig ist in diesem Zusammenhang nur, dass gezeigt werden konnte, es gibt eine Ganze Zahl e mit e teilerfremd zu (p 1) (q 1) und d e mod (p 1) (q 1) = 1. Hieraus folgt aber, dass es eine Ganze Zahl k geben muss mit d e = k (p 1) (q 1) + 1. Dies bedeutet ja gerade d e mod (p 1) (q 1) = 1 Wir halten fest: Die Existenz der gewünschten Zahlen k, e unter der gegebenen Voraussetzung an d ist mathematisch gesichert. 3.5.2 Konstruktion der gesuchten Zahlen mit Hilfe des Euklidschen Algorithmus Nachfolgend wird ein Verfahren vorgestellt, mit dem die zur Anwendung des Verschlüsselungstricks notwendigen Zahlen gewonnen werden können. (Hinweis für Nicht-Mathematiker unter den Lesern: Ein besonderes Merkmal der Mathematik ist es, dass man häufig nur die Existenz von etwas beweisen kann, beispielsweise eines Integrals oder einer oberen Grenze, aber keine Aussagen über das Aussehen möglich ist. Beispielsweise bedeutet die Tatsache, dass die Existenz eines Integrals nachweisbar ist, noch nicht, dass man es ausrechnen kann. Mit Hilfe des Umgekehrten Euklidschen Algorithmus [2] ist es aber möglich, die gesuchten Zahlen bestimmen zu können. (Erklärung: Der berühmte Euklidsche Algorithmus wird benutzt, um den ggt zweier Ganzer Zahlen zu finden). Die nachfolgenden Beispiele, welche die gesuchten Zahlen d und e liefern, veranschaulichen den Euklidschen Algorithmus und den Umgekehrten Euklidschen Algorithmus. Die Beispiele beginnen bei der Wahl von d. Wir erinnern uns, d und (p 1) (q 1) müssen teilerfremd sein. p = 5, q = 7 p q = 35 (p 1) (q 1) = 24 Wir wählen d = 29 und wenden den Euklidschen Algorithmus an A) 29 = 1 24 + 5 24 = 4 5 + 4 5 = 1 4 + 1 4 = 4 1 + 0 reverse A) 1 = 5 1 4 = 5 1 (24 4 5) = 5 1 24 + 4 5 = 5 1 + 4 5 1 24 = 5 (1 + 4) 1 24 = 5 (29 1 24) 1 24 = 5 29 5 24 1 24 = 5 29 6 24 Somit erhalten wir 6 24 + 1 = 5 29 und damit 17 6 24 + 1 mod 35 = 17 5 29 mod 35 Die Ver- und Entschlüsselung ergibt sich aus diesem B) 17 5 mod 35 = 12 (Verschlüsselung) C) 12 29 mod 35 = 17 (Entschlüsselung) p = 5, q = 7 p q = 35 (p 1) (q 1) = 24 Wir wählen d = 31 und wenden den Euklidschen Algorithmus an: A) 31 = 1 24 + 7 24 = 3 7 + 3 7 = 3 2 + 1 3 = 3 1 + 0 reverse A) 1 = 7 3 2 = 7 (24 3 7) 2 = 7 2 24 + 6 7 = 7 (1 + 6) 2 24 638

WissenHeute Jg. 57 11/2004 = 7 7 2 24 = 7 (31 1 24) 2 24 = 7 31 7 24 2 24 = 7 31 9 24 Somit erhalten wir, 7 31 = 1 + 9 24 und damit 3 9 24 + 1 mod 35 = 3 7 31 mod 35. Die Ver- und Entschlüsselung ergibt sich aus diesem B) 3 31 mod 35 = 17 (Verschlüsselung) C) 17 7 mod 35 = 3 (Entschlüsselung) p = 3, q = 11 Bob möchte den Klartext 31 verschlüsseln. Er wählt d = 3. Das Fortführen dieses Beispiels verbleibt als Übung für die Leser. (Hinweis: e berechnet sich zu e = 7). Erläuterungen zur gezeigten Methode Das Außerordentliche der gezeigten Methode, also des RSA-Algorithmus, liegt darin, dass Alice und Bob verschlüsselt kommunizieren können, ohne über einen gemeinsamen Secret Key verfügen zu müssen. Überlegen wir, was Alice und Bob unternahmen, um einen verschlüsselten Kanal aufbauen zu können: Alice errechnete ausgehend von zwei Primzahlen ihren Private Key und ihren Public Key. In einem der Beispiele waren dies (35,29) und (35,5). Diese Schlüssel waren folgendermaßen korreliert: Für eine Nachricht m, repräsentiert durch die Natürliche Zahl m, galt: m 5 mod 35 = r und r 29 mod 35 = m. Alice sandte ihren Öffentlichen Schlüssel (35,5) an Bob. Bob verschlüsselte den Buchstaben q, dargestellt durch 17, mit Hilfe des Public Key von Alice, indem er rechnete 17 5 mod 35 = 12 und dieses Ergebnis an Alice übermittelte. Alice benutzte dann ihren Private Key (35,29) zur Entschlüsselung, indem sie rechnete 12 29 mod 35 = 17. Man beachte, dass Bob keinerlei Kenntnisse des Private Key von Alice hatte. Aber muss Alice nicht darauf achten, dass ihr Public Key nicht der bösen Trudy in die Hände fällt? Nein! Stellen wir uns vor, Trudy ist im Besitz des Public Key von Alice (35,5) und hat obendrein noch Bobs Chiffriertext 12 abgefangen. Kein Problem! Sie hat nach dem gegenwärtigen Stand der Mathematik keinerlei Möglichkeiten, den Chiffretext 12 mittels des Public Key (35,5) zurück in den Klartext 17 zu verwandeln. Die einzige Möglichkeit dies zu tun, besteht in der Anwendung des Private Key von Alice, und den gibt diese natürlich niemals aus der Hand. Aber kann Trudy nicht aus der Kenntnis des Public Key von Alice auf deren Private Key schließen? Auch hier ist die Antwort: Nein, nicht nach dem gegenwärtigen mathematischen Erkenntnissen. Denn es lässt sich beweisen, dass das Herausfinden des Private Key von Alice etwa so aufwendig ist, wie das Herausfinden der Primfaktoren p und q. Und das ist äußerst schwierig, wie wir sofort sehen. (Für die Leser, die nicht der mathematischen Herleitung gefolgt sind, sei nochmals erwähnt, dass zu Beginn von Alices Bestimmung ihres Private/Public-Key-Paares zwei Primzahlen p und q standen, aus denen sie ihre modulo- Basis erzeugte.) Der tiefere Grund, der Trudy am Brechen der verschlüsselten Nachricht hindert, wird in der Mathematik mit Faktorisierungsproblem bezeichnet. Wir wissen zwar einiges über Primzahlen, z. B., dass man zu jeder Natürlichen Zahl N eine Primzahl p finden kann mit p > N, oder dass Primzahlen in den Natürlichen Zahlen irgendwie logarithmisch verstreut sind (N/logN) [4]. Sehr vieles über Primzahlen birgt jedoch Geheimnisse. So ist es zwar leicht, zwei große Primzahlen p und q zu multiplizieren, p q = N, es ist jedoch sehr aufwendig, die Primzahlen p und q zu bestimmen, wenn uns nur N bekannt ist. Man sagt, das Faktorisieren einer 500 Bit langen Zahl verlangt einen Aufwand von etwa 10 20 Jahren, ein Zeitraum der größer als das Lebensalter des Universums ist. Leider kann bis heute nicht die Sicherheit des RSA oder eines anderen Private/Public- Key-Verfahrens bewiesen werden. Es lässt sich lediglich beweisen, dass das Knacken des Private Key genauso aufwendig ist, wie das Lösen des zugehörigen Faktorisierungsproblems. Nach heutigen Kenntnissen müsste der Angreifer älter als das Universum werden, um das Faktorisierungsproblem für eine mehrere 100 Bit lange Zahl zu knacken. Ausblick: Hinsichtlich dieser Faktorisierungsaufwände sollte man sich nicht zu sicher fühlen. In einem der oberen Abschnitte berührten wir bereits die Quanteninformationstheorie. Mit Hilfe Paralleler Quantenzustände oder mit Hilfe des Shore Algorithmus, der auf Quanten-Superpositionen und dem Chinesischen Restsatz beruht, lässt sich das Faktorisierungsproblem in endlicher Zeit lösen. Damit würde eine Verschlüsselung, die sich des RSA (oder des im nächsten Kapitel gezeigten Diskreten Logarithmus) bedient, keine Sicherheit mehr bieten. All zu sehr aufregen brauchen wir uns jedoch nicht, denn die Quanteninformationstheorie hat uns (bereits jetzt!) eine neue unbreakable Methode gezeigt, unbreakable auf Grund der physikalischen Eigenschaften von Quantensystemen 21. 3.6 Wie man große Primzahlen findet Wir wissen bereits, dass man, unabhängig davon, wie hoch man die Leiter der Natürlichen Zahlen emporsteigt, stets wieder auf eine Primzahl stößt. Es gibt also genügend Primzahlen bis ans Ende der Zeit. Aber die Dinge stehen noch besser, denn wir wissen sogar, dass die Anzahl der 1024 Bit langen Primzahlen etwa 10 100 ist. Zum Verschlüsseln haben wir also auch ausreichend 1024 Bit lange Primzahlen. Aber noch haben wir nicht die Frage beantwortet, wie man sie findet. Die ersten kleineren Primzahlen, also etwa die Primzahlen innerhalb der ersten halben oder ganzen Million Zahlen, kann man recht effizient mit der Methode nach dem Sieb 21 Quantensysteme: hier: Informationssystem basierend auf quantenphysikalischen Eigenschaften wie Superposition und Verschränkung [5], [6], [7], [1]. 639

des Erathostenes bestimmen. Man listet dazu alle Natürlichen Zahlen, etwa von 1 bis 500 000 auf: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17...500 000 Wir beginnen mit 2: Der einzige Vorgänger von 2, durch den sich 2 teilen lässt, ist 1. Also ist 2 prim. Wir streichen nun alle Zahlen größer als 2, die durch 2 teilbar sind. 1 2 3 5 7 9 11 13 15 17...499 999 Der einzige Vorgänger von 3, durch den sich 3 teilen lässt, ist 1. Also ist 3 prim. Wir streichen alle Vielfachen von 3, welche größer als 3 sind. 1 2 3 5 7 11 13 17...499 999 usw. Genügend Speicherkapazität vorausgesetzt, stellt Erathostenes Sieb eine effiziente Methode zur Gewinnung der ersten Primzahlen dar. Bei den riesigen Primzahlen (512 oder 1024 Bit lang), welche man heute zur Verschlüsselung verwendet, reicht das Sieb des Erathostenes nicht aus. Zudem ist die Herausforderung häufig, eine zufällige Primzahl zu erzeugen. Man bedient sich hier der Wahrscheinlichkeitstheorie: Man erzeugt eine ungerade Zufallszahl mit Bits von unabhängiger Wahrscheinlichkeit [1] und überprüft sie zunächst deterministisch, indem man testet, ob sie bereits durch bekannte Primzahlen bis zu einer bestimmten Größenordnung teilbar ist. Hat unsere Zahl diesen Test bestanden, prüfen wir sie mit Methoden, die uns mit einer gewissen Wahrscheinlichkeit sagen, ob diese Zufallszahl prim ist. Durch iteratives Anwenden dieser Methode kann die beurteilende Wahrscheinlichkeit sehr groß, also sehr gut werden. Stellt sich jedoch heraus, dass die Zufallszahl mit großer Wahrscheinlichkeit keine Primzahl ist, beginnt das Verfahren mit der Erzeugung einer neuen Zufallszahl von vorne. 22 Rabin-Miller-Test: Michael Rabin und Gary Miller [8], [9]. Der meistgenutzte und wohl auch beste Algorithmus zum Auffinden von Primzahlen ist der Rabin-Miller-Test 22 [11]. Ein anderer Test, den z. B. GnuPG, eine Open Source- Implementierung von Pretty Good Privacy (PGP) verwendet, ist der Fermat-Test, der auf dem Kleinen Fermatschen Satz beruht [12], [3], [2]. Der Fermat-Test kann unter bestimmten Umständen zeigen, dass eine Zahl keine Primzahl ist. Er kann jedoch nicht zeigen, dass eine Zahl eine Primzahl ist. Dies muss implizit geschlossen werden. Im Rahmen dieses Artikels können wir auf die gar nicht mal so schwer verständliche Mathematik der verschiedenen Tests nicht eingehen. Wir begnügen uns daher mit einem allgemeinen Verständnis von der Gewinnung großer Primzahlen und der Nennung einiger Stichworte aus diesem Bereich: Carmichael-Zahlen Pseudoprimzahlen Rabin-Miller-Test Fermat-Test n-primteiler (Implementierungen von Primzahlerzeugungen in Libraries hinterlegt findet man unter [10].) 4 Hybrid-Verschlüsselung Der erste Teil dieses Beitrags erläuterte die symmetrische Verschlüsselung und zeigte dabei die wesentlichen Schwachstellen dieser Methode auf. Bei der Beschreibung der asymmetrischen Verschlüsselung wurde deutlich, dass diese Schwachstellen wegfielen. Nun könnte man auf die Idee kommen, die symmetrische Verschlüsselung zu Gunsten der asymmetrischen nicht mehr einzusetzen. Leider hat aber die asymmetrische Verschlüsselungsmethode ebenso ihre Schwachstellen. Zwar liegen diese nicht im konzeptionellen Bereich, wohl aber im Bereich der Rechnerleistung. Hier muss der Computer richtiggehend rechnen, im Gegensatz zur symmetrischen, bei der er mit etwas Registerschieberei auskommt. Es liegt deshalb nahe, die Vorteile beider Methoden miteinander konzeptionell zu verknüpfen: Bob möchte mit Alice verschlüsselt kommunizieren. Er teilt dies Alice mit. Alice erzeugt ihren Private/Public Key, (dies macht sie nur ein einziges Mal in ihrem Leben, d. h. vielleicht alle zwölf oder sechs Monate), und schickt ihren Public Key an Bob. Bob erzeugt einen symmetrischen Schlüssel (den so genannten Session Key und/oder Secret Key), verschlüsselt diesen mit dem Public Key von Alice und schickt diese Chiffre an Alice. Alice entschlüsselt die Chiffre und erhält damit den Secret Key. Von nun an benutzen Bob und Alice für ihre Verschlüsselung während einer Kommunikationssitzung (Session) nur noch diesen Secret Key, also die symmetrische Methode der Verschlüsselung, und schonen damit die Rechenleistung ihrer Computer. Nach einer gewissen Zeit oder beim Aufbau einer neuen Session einigen sie sich auf einen neuen Secret Key. Daher lautet eine andere Bezeichnung für Secret Key auch Session Key. In der Praxis laufen nahezu alle gängigen Verschlüsselungs-Implementierungen im Prinzip so ab, wie in diesem Absatz geschildert, wobei meist der symmetrische Schlüssel mit Diffie-Hellmann-Methode ausgetauscht wird, was im nächsten Teil des Beitrages erläutert wird. (He) Der Beitrag wird fortgesetzt. Literaturhinweise [1] Singh, Simon: The Code Book, Four Estate. [2] Gigler, Johann: Körper, Ringe, Gleichungen, Spectrum, Akademischer Verlag. [3] Schwichtenberg, Helmut: Vorlesungsskript Algebra Ludwig Maximilians Universität, 19981. [4] Rudin, Walter: Real and Complex Analysis., McCraw Hill. [5] Feynman. Richard: Six easy pieces, Helix Book. [6] Zeilinger, Anton: Einsteins Schleier, C. H. Beck Verlag. [7] www.quantenphysik.net [8] rhlx01.rz.fht-esslingen.de/projects/krypto/prtm/prtm-3.html [9] www.mat.univie.ac.at/~oemg/imn/imn186.pdf [10] www.informatik.tu-darmstadt.de [11] Wobst, Reinhard: Abenteuer Kryptologie, Addison Wesley. [12] F. L. Bauer: Entzifferte Geheimnisse. Springer Verlag Berlin, Heidelberg, New York. 640

WissenHeute Jg. 57 11/2004 Berichtigung es muss heißen: Im ersten Teil des Beitrages Grundlagen der a Kryptographie, Heft 10/2004 sind folgende 1,1 a 1,j a M ij = 1,n... Korrekturen zu berücksichtigen: (auf CD berichtigt) a i,1 a i,j a i,n... a n,1 a n,j a n,,n Seite 543 (linke Spalte): Es heißt: und dann bei Abs. 2.8. wieder es muss heißen: und dann bei Abs. 2.7 wieder Seite 543 (rechte Spalte): Es heißt: Seite 544 (rechte Spalte): Es heißt: a i,j 0,,m 1 es muss richtig heißen: a j 0,,m 1 Es heißt: mit a ij 0,,m 1 es muss richtig heißen: a ij 0,,m 1 M i,j = a 1,1 a 1,j a 1,n a i,1 a i,j a i,n a n,1 a n,j a n,n Seite 545 (mittlere Spalte): Es heißt: Aus Abs. 1.7.11 wissen wir, es muss heißen: Aus Abs. 2.6.11 wissen wir, 641