Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen"

Transkript

1 Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 1

2 Das heutige Programm: Organisatorisches Vorstellung Ablauf der Vorlesung und der Übungen Einordnung & Prüfung Literatur & Folien Einführung und Motivation: Formale Aspekte der Software-Sicherheit und Kryptographie Inhalt der Vorlesung Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 2

3 Vorstellung Dozentin: Prof. Barbara König Raum LF barbara Sprechstunde nach Vereinbarung Übungsleitung: Sebastian Küpper, M.Sc. Raum LF Web-Seite: Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 3

4 Vorlesungstermine Termine: Montag, 10:15-11:45, Raum LE 120 Donnerstag, 12:15-13:45, Raum LE 120 Die Übung findet an dem Termin Mo, 10-12, in (normalerweise) zweiwöchigem Rhythmus im Wechsel mit der Vorlesung statt. Die erste Übung findet am statt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 4

5 Übung und Hausaufgaben Das Übungsblatt wird spätestens am Montag in der Vorwoche der Übung auf der Webseite bereitgestellt. Verteilt über das Semester gibt es drei Testat-Blätter. Die Lösungen zu den Testatblättern werden in der darauffolgenden Woche direkt in der Übung abgegeben. Die anderen Blätter werden nicht korrigiert, aber natürlich in der Übung besprochen. Es gibt eine Bonusregelung: der Bonus (eine Notenstufe besser in der Prüfung, z.b. 1,7 statt 2,0) wird erzielt, wenn 50 % der Testat-Punkte erzielt, alle Testat-Blätter bearbeitet wurden und mindestens einmal eine Aufgabe an der Tafel vorgerechnet wurde. Gruppenabgabe ist nicht erlaubt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 5

6 Einordnung Diese Vorlesung ist folgendermaßen eingeordnet... MAI Informatik für den Anwendungsbereich Katalog Verteilte, Verlässliche Systeme Stundenzahl: 4 SWS (3V + 1Ü), 6 Credits Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 6

7 Einordnung Voraussetzungen Für diese Veranstaltung sollten Sie vorher möglichst die folgenden Vorlesungen gehört haben: Berechenbarkeit und Komplexität Wahrscheinlichkeitstheorie und Stochastik Logik oder äquivalente Veranstaltungen. Das wird keine Komplexitätstheorie-Veranstaltung, aber wir benötigen einige Grundlagen aus der Komplexitätstheorie. Gleiches gilt für die Wahrscheinlichkeitstheorie und Logik. Die Grundlagen werden auch noch einmal kurz wiederholt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 7

8 Prüfung Diese Vorlesung wird mündlich geprüft. Der Prüfungstermin ist voraussichtlich der 24./25. August. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 8

9 Literatur John Talbot, Dominic Welsh: Complexity and Cryptography An Introduction. Cambridge, Christos H. Papadimitriou: Computational Complexity. Addison Wesley, Oded Goldreich: Foundations of Cryptography (Basic Tools). Cambridge University Press, Oded Goldreich: Foundations of Cryptography (Basic Applications). Cambridge University Press, Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 9

10 Literatur William Stallings: Cryptography and Network Security: Principles and Practice. Prentice-Hall, Martín Abadi: Security Protocols: Principles and Calculi Tutorial Notes. FOSAD 2006/07 Tutorial Lectures, Springer, 2007, p Martín Abadi: Security Protocols and their Properties. 20th International Summer School on Foundations of Secure Computation, IOS Press, 2000, p Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 10

11 Literatur Bruno Blanchet: Using Horn Clauses for Analyzing Security Protocols. Formal Models and Techniques for Analyzing Security Protocols. IOS Press, BlanchetBook09.html Martín Abadi and Bruno Blanchet: Analyzing Security Protocols with Secrecy Types and Logic Programs. Journal of the ACM, 52(1): , AbadiBlanchetPOPL02.html Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 11

12 Folien Folien werden im Web bereitgestellt und regelmäßig aktualisiert. Die Folien werden sehr ähnlich zu den Folien aus dem Sommersemester 2013 sein (erhältlich über Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 12

13 Inhalt der Vorlesung Inhalt Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 13

14 Inhalt der Vorlesung Kryptographie ist... die Wissenschaft von der Verschlüsselung von Informationen. Kryptographie ist inzwischen für sicheren Nachrichtenaustausch (Online-Bezahlungssysteme, Online-Banking, etc.) unverzichtbar geworden. Ein Teil der Informatik ist der Entwurf von sicheren Verschlüsselungssystemen und die Analyse existierender Verschlüsselungssysteme. Dabei möchte man möglichst weitreichende Garantien über deren Sicherheit erhalten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 14

15 Inhalt der Vorlesung Kryptographische Protokolle... sind Protokolle, die Nachrichten nach bestimmten vorher festgelegten Regeln austauschen und dabei kryptographische Verfahren verwenden (hauptsächlich zum Verschlüsseln, aber auch zum Signieren von Nachrichten). Solche Protokolle sind sehr fehleranfällig. Beispielsweise sind zahlreiche falsche Authentifizierungsprotokolle im Umlauf. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 15

16 Motivation: Entschlüsselung Wir beginnen mit einigen motivierenden Beispielen. Als erstes entschlüsseln wir einen Text, von dem wir wissen, dass er durch Permutation von Buchstaben verschlüsselt wurde. Ein solches Verfahren nennt man auch monoalphabetische Verschlüsselung. Monoalphabetische Verschlüsselung Sei A die Menge aller 26 Buchstaben des Alphabets und sei π : A A eine beliebige bijektive Abbildung. Dann wird ein Wort m 0... m n A dadurch verschlüsselt, dass jeder Buchstabe m i durch π(m i ) ersetzt wird. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 16

17 Motivation: Entschlüsselung Wir haben nun einen (längeren) Text abgefangen, der auf diese Weise entschlüsselt wurde, die Permutation π (= der Schlüssel) ist jedoch nicht bekannt. Wie kann dieser Text entschlüsselt werden? DPGASUPF UPQ ZQRTGSIQXTAOP ZQRTGSIQXTAOEYAP JPQLXAQPF KPQUPF HFGPQGPOVG OF UOP ZVXEEOEYAPF HFU DSUPQFPF JPQLXAQPF. UOPEP POFGPOVHFI ZSQQPETSFUOPQG OD KPEPFGVOYAPF DOG UPQ HFGPQGPOVHFI OF ERDDPGQOEYAP HFU XERDDPGQOEYAP JPQLXAQPF. DPGASUPF UPQ ZVXEEOEYAPF ZQRTGSIQXTAOP: ESVXFIP LHPQ UOP ZQRTGSIQXTAOP FSYA ZPOFP PVPZGQSFOEYAPF QPYAFPQ POFIPEPGNG KHQUPF, PQEPGNGP DXF CPO UPQ JPQEYAVHPEEPVHFI (NH UOPEPQ NPOG UOP POFNOIP XFKPFUHFI UPQ ZQRTGSIQXTAOP) ODDPQ JSVVEGXPFUOIP CHYAEGXCPF SUPQ CHYAEGXCPFIQHTTPF. ESVYAP JPQLXAQPF EOFU APHGP JPQXVGPG HFU HFEOYAPQ. [...] Vollständiger Text unter Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 17

18 Motivation: Entschlüsselung Wieviele mögliche Schlüssel gibt es? Kann man alle diese Schlüssel durchprobieren? Gibt es eine andere Methode, den Text zu entschlüsseln? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 18

19 Motivation: Entschlüsselung Ein durch monoalphabetische Verschlüsselung kodierter Text kann im Allgemeinen einfach durch Häufigkeitsanalyse von Buchstaben und Suche nach bekannten Wörtern entschlüsselt werden. Dabei wird insbesondere ausgenutzt, dass e der bei weitem häufigste Buchstabe im Deutschen ist, dass dreibuchstabige Wörter mit einem e in der Mitte im Allgemeinen Artikel sind (der, den, dem,... ), usw. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 19

20 Motivation: Entschlüsselung Eine solche Entschlüsselung ist sehr schön in der Kurzgeschichte The Gold Bug (dt. Der Goldkäfer ) von Edgar Allan Poe beschrieben. In Englisch unter: In Deutsch unter: Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 20

21 Motivation: Entschlüsselung Häufigkeit der Buchstaben im Deutschen: Platz Buchstabe Häufigkeit Platz Buchstabe Häufigkeit 1. E 17,40 % 15. O 02,51 % 2. N 09,78 % 16. B 01,89 % 3. I 07,55 % 17. W 01,89 % 4. S 07,27 % 18. F 01,66 % 5. R 07,00 % 19. K 01,21 % 6. A 06,51 % 20. Z 01,13 % 7. T 06,15 % 21. P 00,79 % 8. D 05,08 % 22. V 00,67 % 9. H 04,76 % 23. ß 00,31 % 10. U 04,35 % 24. J 00,27 % 11. L 03,44 % 25. Y 00,04 % 12. C 03,06 % 26. X 00,03 % 13. G 03,01 % 27. Q 00,02 % 14. M 02,53 % Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 21

22 Motivation: Entschlüsselung Bemerkungen: Ein gutes Verschlüsselungsverfahren muss nicht nur sicherstellen, dass es Fälle gibt, in denen ein Text nicht entschlüsselt werden kann. Es muss darüber hinaus garantieren, dass das Entschlüsseln eines Textes immer schwer ist und dass es auch nicht möglich ist, den Ursprungstext mit einer bestimmten Wahrscheinlichkeit zu ermitteln. Dem Entschlüssler stehen randomisierte Verfahren zur Verfügung, die Wahrscheinlichkeitsverteilungen ausnutzen können. Ein Kryptosystem muss solchen Angriffen standhalten! Um die Sicherheit eines Kryptosystems zu analysieren, benötigt man Wahrscheinlichkeitsrechnung. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 22

23 Motivation: Schlüsselaustausch Eine weitere Fallstudie: Schlüsselaustausch Angenommen, wir haben ein hinreichend sicheres Kryptosystem. Zwei Partner können sicher miteinander kommunizieren, wenn sie einen gemeinsamen geheimen Schlüssel vereinbart haben. Wir betrachten nun ein offenes System mit n Teilnehmern: Wieviele Schlüssel müssen ausgetauscht werden, damit jeder mit jedem sicher kommunizieren kann? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 23

24 Motivation: Schlüsselaustausch Antwort: es müssen ( ) n 2 = n(n 1) 2 Schlüssel ausgetauscht werden! Das ist ein großer Verwaltungsaufwand, selbst wenn man eine zentrale Stelle zur Schlüsselverteilung hat. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 24

25 Motivation: Schlüsselaustausch Lösung des Schlüsselaustausch-Problems: Man verwendet sogenannte asymmetrische Verschlüsselungsverfahren. Dabei gibt es Schlüsselpaare bestehend aus einem öffentlichen Schlüssel, der nur zur Verschlüsselung, jedoch nicht zur Entschlüsselung verwendet werden kann und einem privaten Schlüssel, der zum Entschlüsseln dient. Jeder Teilnehmer erzeugt sein eigenes Schlüsselpaar und gibt nur den öffentlichen Schlüssel bekannt. Demnach werden nur n Schlüsselpaare benötigt. Außerdem können die öffentlichen Schlüssel ohne Bedenken über das Netz verschickt werden, ohne dass die Kommunikationspartner sich persönlich treffen müssen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 25

26 Motivation: Schlüsselaustausch Analogie: Die Geheimnisse werden in Kisten verschickt, die mit einem Schloss verschlossen werden können. Jeder Partner hat seinen eigenen (privaten) Schlüssel und eine unbegrenzte Anzahl dazu passender Schlösser. Die Schlösser entsprechen den öffentlichen Schlüsseln. Die Schlösser können beliebig an die Kommunikationspartner verteilt werden und dienen dazu, die Kisten vor dem Versenden zu verschließen. Das ist System ist sicher, wenn man durch den Besitz eines Schlosses nicht herausfinden kann, wie der dazugehörige Schlüssel aussieht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 26

27 Motivation: Schlüsselaustausch Verschlüsselungsverfahren, die auf dem Prinzip von privaten und öffentlichen Schlüsseln beruhen, nennt man asymmetrisch. Bei klassischen symmetrischen Verfahren teilen sich jeweils zwei Partner einen Schlüssel. In der Analogie bedeutet das, dass die beiden Kommunikationspartner jeweils eine Kopie desselben Schlüssels haben. Die Kopien müssen jedoch zunächst ausgetauscht werden! Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 27

28 Motivation: Authentifizierungs-Protokolle Eine wichtiges (Teil-)Problem bei Protokollen ist es, einen Nachweis zu führen, dass der entsprechende Kommunikationspartner auch derjenige ist, für den er sich ausgibt. Die Führung dieses Nachweises nennt man Authentifizierung. Szenario: es gibt zwei Kommunikationspartner Alice und Bob. Außerdem gibt es den bösartigen Eindringling Eve, die alle Nachrichten abfangen kann und neue Nachrichten produzieren kann. Sie kann jedoch keine Nachrichten entschlüsseln, wenn sie den passenden Schlüssel nicht besitzt. Eve möchte sich Alice gegenüber als Bob ausgeben (und sie dazu überreden, ihr EUR zu überweisen... ) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 28

29 Motivation: Authentifizierungs-Protokolle Angenommen, die Parteien benutzen eine Variante des Needham-Schroeder-Protokolls. Dabei wird symmetrische Verschlüsselung eingesetzt und der Schlüsselaustausch findet über einen Server statt. (Es gibt auch eine asymmetrische Variante.) Das Protokoll benutzt sogenannte Nonces: Nonce (number used once) Zufällige Zahlen oder Bit-Kombinationen, die nur einmal verwendet werden und die garantieren sollen, dass eine Nachricht frisch und neu erzeugt ist. Sie sollen verhindern, dass eine alte Nachricht als Replay geschickt wird. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 29

30 Motivation: Authentifizierungs-Protokolle Konventionen: Ein symmetrischer Schlüssel der Form K AB wird für die Verschlüsselung von Nachrichten zwischen A und B verwendet. Mit {M} K bezeichnen wir eine Nachricht M, die mit dem Schlüssel K verschlüsselt ist. Nur derjenige, der K besitzt, kann die Nachricht M lesen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 30

31 Motivation: Authentifizierungs-Protokolle Needham-Schroeder-Protokoll (fehlerhaft) 1 A S: A, B, N A 2 S A: {N A, K AB, {K AB, A} KBS } KAS 3 A B: {K AB, A} KBS 4 B A: {N B } KAB 5 A B: {N B 1} KAB Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 31

32 Motivation: Authentifizierungs-Protokolle Graphische Darstellung: S 2. {N A, K AB, {K AB, A} KBS } KAS 1. A, B, N A 3. {K AB, A} KBS A 4. {N B } KAB B 5. {N B 1} KAB Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 32

33 Motivation: Authentifizierungs-Protokolle Erläuterung der einzelnen Schritte: 1. A S: A, B, N A Alice fordert beim (vertrauenswürdigen) Server einen Sitzungsschlüssel für die Kommunikation mit Bob an. Sie schickt einen Nonce N A mit, um sicherzugehen, dass die Antwort sich wirklich auf ihre Anforderung bezieht. Diese Nachricht ist unverschlüsselt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 33

34 Motivation: Authentifizierungs-Protokolle 2. S A: {N A, K AB, {K AB, A} KBS } KAS Der Server schickt den Sitzungsschlüssel K AB an Alice. Dieser wird mit Hilfe von K AS (dem gemeinsamen Schlüssel von Alice und dem Server) verschlüsselt. Der Server fügt auch den Nonce N A hinzu, um Alice gegenüber zu beweisen, dass die Nachricht die Antwort auf Alice Anfrage war. Des weiteren wird eine für Bob bestimmte Nachricht mitgeschickt: {K AB, A} KBS. Damit wird Bob mitgeteilt, wie der Sitzungsschlüssel lautet und wer (A = Alice) mit ihm kommunizieren will. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 34

35 Motivation: Authentifizierungs-Protokolle 3. A B: {K AB, A} KBS Alice entschlüsselt die Nachricht des Servers und schickt die enthaltene Nachricht {K AB, A} KBS an Bob weiter. Sie selbst kann mit diesem Teil der Nachricht nichts anfangen, nur Bob kann sie entschlüsseln. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 35

36 Motivation: Authentifizierungs-Protokolle 4. B A: {N B } KAB Bob entschlüsselt die erhaltene Nachricht und stellt fest, dass Alice mit ihm kommunizieren möchte. Außerdem erhält er dadurch den Sitzungsschlüssel K AB. Da Bob dem Server vertraut, kann er davon ausgehen, dass der Sitzungsschlüssel K AB ansonsten nur Alice mitgeteilt wurde. Er möchte jetzt jedoch noch testen, ob sein Kommunikationspartner tatsächlich Alice ist. Dazu generiert er eine Testnachricht, die den Nonce N B enthält und mit K AB verschlüsselt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 36

37 Motivation: Authentifizierungs-Protokolle 5. A B: {N B 1} KAB Alice weist sich Bob gegenüber aus, indem sie die Nachricht entschlüsselt und den Nonce um eins dekrementiert. Damit kann Bob feststellen, dass sein Gegenüber den entsprechenden Schlüssel besitzt und daher Alice ist. Leider ist das Protokoll so fehlerhaft und kann von Eve angegriffen werden. Warum? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 37

38 Motivation: Authentifizierungs-Protokolle Szenario: Alice möchte eine Verbindung mit Bob aufbauen. Eve hört mit und fängt geeignete Nachrichten ab bzw. modifiziert sie. Damit gelingt es ihr, sich Alice gegenüber als Bob auszugeben. Angriff 1 A S: A, B, N A E ersetzt diese Nachricht durch: A, E, N A 2 S A: {N A, K AE, {K AE, A} KES } KAS 3 A B: {K AE, A} KES Eve fängt diese Nachricht ab und erhält damit den Sitzungsschlüssel K AE. 4 E A: {N B } KAE 5 A B: {N B 1} KAE Eve fängt auch diese Nachricht ab. Alice ist jetzt überzeugt mit Bob zu kommunizieren, spricht aber mit Eve! Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 38

39 Motivation: Authentifizierungs-Protokolle Das Problem kann unter anderem dadurch gelöst werden, indem der Server in die zweite Nachricht den Namen des Kommunikationspartners (B = Bob) einfügt: Needham-Schroeder-Protokoll 1 A S: A, B, N A 2 S A: {N A, B, K AB, {K AB, A} KBS } KAS 3 A B: {K AB, A} KBS 4 B A: {N B } KAB 5 A B: {N B 1} KAB Damit erkennt Alice, wenn sie die Nachricht {N A, E, K AE, {K AE, A} KES } KAS erhält, dass dies die falsche Nachricht sein muss. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 39

40 Motivation: Authentifizierungs-Protokolle Die fehlerhafte Variante des Needham-Schroeder-Protokolls, wie wir sie betrachtet haben, wurde so nie benutzt. Im Netzwerkauthentifizierungsprotokoll Kerberos wurde jedoch das Needham-Schroeder-Protokoll mit asymmetrischer Verschlüsselung verwendet, das einen ähnlichen Fehler enthielt. (Die Variante mit asymmetrischer Verschlüsselung ist etwas komplizierter, daher betrachten wir sie im Moment nicht.) Dieser Fehler wurde erst im Jahr Jahre nach der Entwicklung des Protokolls entdeckt! Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 40

41 Motivation: Authentifizierungs-Protokolle Ein anderes Problem besteht darin, dass Eve die dritte Nachricht später wieder einspielen kann. Falls Eve bis dahin in den Besitz von K AB gekommen ist, kann sie sich diesmal für Alice ausgeben. Lösung: Zeitstempel in der dritten Nachricht Solche Angriffe nennt man man-in-the-middle attacks. Ähnliche Probleme gibt es auch bei der sogenannten SMB reflection attack und bei vielen anderen bekannten Angriffen auf Sicherheitsprotokolle. (SMB = Server Message Block: Protokoll zum Sharing von Dateien, Druckern, etc. in einem Netwerk; wird vor allem unter Windows benutzt). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 41

42 Motivation: Informationssicherheit Mit der zunehmenden Vernetzung von Computern wird die Informationssicherheit immer wichtiger. Daten müssen gegenüber Dritten, d.h., vor möglichen Angreifern geschützt werden. Im Englischen: security (im Gegensatz zum allgemeineren Begriff safety, der sich auf die Abwesenheit von Fehlern oder den Schutz vor Fehlern in der Software bezieht). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 42

43 Motivation: Informationssicherheit Bei Informationssicherheit sind unter anderem folgende Aspekte relevant: Vertraulichkeit Daten dürfen lediglich von autorisierten Benutzern gelesen bzw. modifiziert werden, dies gilt sowohl beim Zugriff auf gespeicherte Daten wie auch während der Datenübertragung. Integrität Daten dürfen nicht unbemerkt verändert werden, bzw. es müssen alle Änderungen nachvollziehbar sein. Authentizität/Authentifizierung Echtheit und Glaubwürdigkeit einer Person oder eines Dienstes müssen überprüfbar sein. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 43

44 Motivation: Informationssicherheit Zurechenbarkeit (engl. accountability) Eine durchgeführte Handlung kann einem Kommunikationspartner eindeutig zugeordnet werden. Verbindlichkeit/Nichtabstreitbarkeit (engl. non-repudiation) Verbindlichkeit erfordert, dass kein unzulässiges Abstreiten durchgeführter Handlungen möglich ist. Sie ist unter anderem wichtig beim elektronischen Abschluss von Verträgen und kann durch digitale Signaturen erreicht werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 44

45 Motivation: Informationssicherheit Einige der oben genannte Ziele kann man durch den Einsatz von Verschlüsselungsverfahren erreichen. Wie wir am Beispiel des Needham-Schroeder-Protokolls gesehen haben, ist es aber auch sehr wichtig, dass nicht nur die kryptographischen Verfahren, sondern auch die eingesetzten Protokolle korrekt und nicht angreifbar sind. In beiden Fällen ist es wichtig zu definieren, was es überhaupt bedeutet, ein Verschlüsselungsverfahren oder Protokoll erfolgreich anzugreifen und zu analysieren, dass die eingesetzten Verfahren korrekt sind. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 45

46 Inhalt der Vorlesung Kyptographie Grundlagen der Kryptographie Spezielle Verschlüsselungsverfahren (historische Verschlüsselungsverfahren, One-Time-Pad, Blockchiffre DES/AES, RSA) Bedingungen an die Sicherheit von Kryptosystemen (randomisierte Komplexitätsklassen, Einwegfunktionen, Falltür-Funktionen) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 46

47 Inhalt der Vorlesung Kyptographische Protokolle Digitale Unterschriften Zero-Knowledge-Proofs: Wie überzeuge ich meinen Partner davon, dass ich ein Geheimnis kenne, ohne das Geheimnis zu verraten? Secure Multi-Party Computations: Gemeinsame Berechnung eines Ergebnisses durch mehrere Teilnehmer, ohne dass die einzelnen Parameter bekanntgegeben werden müssen. Verifikation von kyptographischen Protokollen Eindringlingsmodell nach Dolev-Yao Sicherheitslücken in kryptographischen Protokollen Verifikation kryptographischer Protokolle (mit Prozesskalkülen, Resolution, Model-Checking) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 47

48 Ver- und Entschlüsselung Wir beschreiben jetzt formal, was es bedeutet, eine Nachricht zu verschlüsseln und zu entschlüsseln. Komponenten eines Kryptosystems (Definition) M: eine Menge von möglichen Nachrichten CM: eine Menge von verschlüsselten Nachrichten K e : eine Menge von Schlüsseln, die zum Verschlüsseln verwendet werden K d : eine Menge von Schlüsseln, die zum Entschlüsseln verwendet werden K K e K d : eine Menge von gültigen Schlüsselpaaren Eine Verschlüsselungsfunktion E : M K e CM Eine Entschlüsselungsfunktion D : CM K d M Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 48

49 Ver- und Entschlüsselung Hinweis: E steht für encryption und D für decryption. Sei (e, d) K ein Schlüsselpaar. Die Ver- und Entschlüsselungsfunktionen müssen folgende Eigenschaft haben: Für alle m M gilt D(E(m, e), d) = m. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 49

50 Ver- und Entschlüsselung Symmetrisches Kryptosystem Bei einem symmetrischen Kryptosystem gilt K e = K d und für ein (e, d) K gilt immer e = d. D.h., es wird derselbe Schlüssel zum Ver- und Entschlüsseln benutzt. Sowohl Alice, als auch Bob müssen zur Kommunikation diesen Schlüssel kennen. (e, e) (e, e) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 50

51 Ver- und Entschlüsselung Asymmetrisches Kryptosystem Bei einem asymmetrischen Kryptosystem gilt für ein (e, d) K normalerweise e d. D.h., es werden verschiedene Schlüssel zum Ver- und Entschlüsseln benutzt. Wenn Alice eine Nachricht an Bob schickt, dann reicht es aus, wenn Alice e kennt. Dieser Schlüssel wird auch der öffentliche Schlüssel von Bob genannt. Daneben kennt Bob noch seinen privaten Schlüssel d. e (e, d) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 51

52 Ver- und Entschlüsselung Sicherheitsaspekte: die bisherigen Definitionen sagen nichts über die Sicherheit der Kryptosysteme. Im Fall der symmetrischen Verschlüsselung sollte es einfach sein, m aus E(m, e) zu bestimmen, wenn man d = e kennt. Ohne Kenntnis des Schlüssels sollte die Bestimmung von m schwierig sein. Ebenso sollte es im Fall des asymmetrischen Verschlüsselung einfach sein, m aus E(m, e) zu bestimmen, wenn man d kennt. Die Bestimmung von m sollte jedoch schwierig sein, wenn man nur e kennt. Wir werden im weiteren Verlauf der Vorlesung klären, was genau mit schwierig gemeint ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 52

53 Historische Verschlüsselungsverfahren Wir betrachten zunächst einige einfache symmetrische Verschlüsselungsverfahren. Caesar-Verschlüsselung Bei der Caesar-Verschlüsselung (nach Julius Caesar) wird jeder Buchstabe durch den Buchstaben ersetzt, der drei Stellen weiter im Alphabet vorkommt. (Statt drei kann auch ein anderer Zahlenwert verwendet.) Beispiel: aus CAESAR wird FDHVDU Spezialfall der monoalphabetische Verschlüsselung, der durch Häufigkeitsanalyse sehr leicht entschlüsselt werden kann. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 53

54 Historische Verschlüsselungsverfahren Monoalphabetische Verschlüsselung Gegeben ist eine Permutation π : A A des Alphabetes und jeder Buchstabe a der Nachricht wird durch sein Bild π(a) ersetzt. (Siehe Beispiel im Einführungsteil.) Auch die monoalphabetische Verschlüsselung kann durch Häufigkeitsanalysen einfach entschlüsselt werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 54

55 Historische Verschlüsselungsverfahren Vigenère-Verschlüsselung Bei der Vigenère-Verschlüsselung (nach Blaise de Vigenère, 16. Jhdt.) wird ein Schlüssel e = e 0... e m 1 A über dem Alphabet gegeben. Eine Abbildung z : A N 0 ordnet jedem Buchstaben einen Zahlenwert zu (z(a) = 0,..., z(z) = 25). Dann werden die Buchstaben des zu verschlüsselnden Textes m = m 0... m n A der Reihe nach verschlüsselt, indem der Zahlenwert des jeweils nächsten Buchstabens des Schlüssels addiert und und das Ergebnis modulo 26 genommen wird. Insbesondere gilt für den verschlüsselten Text c = c 0... c n A, dass c i = z 1 ((z(m i ) + z(e i mod m )) mod 26) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 55

56 Historische Verschlüsselungsverfahren Beispiel: e = CAESAR, wobei z(c) = 2, z(a) = 0, z(e) = 4, z(s) = 19, z(r) = 18 DASISTDERGEHEIMTEXT + CAESARCAESARCAESARC FAWBSLFEVZEZGIQMEPV Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 56

57 Historische Verschlüsselungsverfahren Bei der Vigenère-Verschlüsselung nützt eine Häufigkeitsanalyse über den gesamten Text wenig. Entschlüssselungsverfahren: Zunächst muss die Länge des Schlüssels e ermittelt werden. Das kann man machen, indem man verschiedene Längen k ausprobiert und die Häufigkeitsverteilung der Buchstaben ermittelt, deren Stelle kongruent zu einem festen i modulo k ist. Manchmal kann die Länge auch durch das periodische Auftreten bestimmter Zeichenfolgen im Text bestimmt werden. Sobald die Länge k gefunden wurde, kann dann der Schlüssel, Stelle für Stelle, mit Hilfe der Häufigkeitsanalyse ermittelt werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 57

58 Historische Verschlüsselungsverfahren Ein besonderer Fall ergibt sich jedoch, wenn der Schlüssel genau so lang ist wie der zu verschlüsselnde Text. One-Time-Pad Beim One-Time-Pad wird ein Text mit einem zufällig gewähltem Schlüssel gleicher Länge verknüpft. Die Verknüpfung kann wie beim Vigenère-Schlüssel passieren. Alternativ können auch zwei Bitstrings durch (xor) verknüpft werden. Voraussetzungen: der Einmalschlüssel muss geheim bleiben, der Einmalschlüssel muss zufällig gewählt sein und der Einmalschlüssel darf nur einmal verwendet werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 58

59 Historische Verschlüsselungsverfahren Der One-Time-Pad wurde so von Geheimdiensten im 20. Jahrhundert verwendet. Dabei wurde zunächst der Schlüssel ausgetauscht, beispielsweise kann er auf Papier oder in digitaler Form einem Agenten mitgegeben werden. Claude Shannon hat gezeigt, dass der One-Time-Pad informationstheoretisch sicher ist und damit ein perfektes Verschlüsselungsverfahren darstellt. Insbesondere hat er gezeigt, dass Die Kenntnis des verschlüsselten Textes keine zusätzlichen Informationen über den Inhalt der Nachricht liefert. bzw. Jeder Nachrichteninhalt hat die gleiche Wahrscheinlichkeit, unabhängig davon, ob man den verschlüsselten Text kennt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 59

60 Wahrscheinlichkeitrechnung Um dieses (nicht sehr schwierige) Ergebnis formalisieren und beweisen zu können, benötigt man (diskrete) Wahrscheinlichkeitstheorie. Wahrscheinlichkeitsraum (Definition) Ein Wahrscheinlichkeitsraum besteht aus einer Ergebnismenge Ω, bestehend aus den Elementarereignissen, und einer Funktion P : Ω R, die jedem Elementarereignis eine Wahrscheinlichkeit zuordnet. Dabei muss gelten: Für jedes x Ω gilt 0 P(x) 1. (Die Wahrscheinlichkeit für ein Elementarereignis liegt zwischen 0 und 1.) P(x) = 1. (Die Summe aller Wahrscheinlichkeiten ist 1.) x Ω Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 60

61 Wahrscheinlichkeitsrechnung Falls Ω endlich ist und alle Elementarereignisse in Ω gleich wahrscheinlich sind, so gilt P(x) = 1 Ω für jedes x Ω Beispiel: Würfeln mit einem fairen Würfel. Dann gilt Ω = {1, 2, 3, 4, 5, 6} und P(x) = 1 6 für alle x Ω. Diese Annahme, dass alle Elementarereignisse gleich wahrscheinlich sind, gilt jedoch nicht immer. (Beispiel: manipulierter Würfel) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 61

62 Wahrscheinlichkeitsrechnung Das Würfeln einer 1 oder 6 bezeichnet man als (zusammengesetztes) Ereignis, im Unterschied zu Elementarereignissen. Ereignis, Wahrscheinlichkeit eines Ereignisses (Definition) Wir betrachten einen Wahrscheinlichkeitsraum, bestehend aus Ω und P : Ω R. Eine Menge E Ω heißt Ereignis. Die Wahrscheinlichkeit des Ereignisses E wird folgendermaßen berechnet: P(E) = x E P(x) Beispiel: Ereignis E = {1, 6} mit P(E) = P({1, 6}) = P(1) + P(6) = = 1 3 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 62

63 Insbesondere folgt daraus Barbara P(A König B) Form. = P(A) Asp. der + Software-Sicherheit P(B), fallsund Kryptographie 63 Wahrscheinlichkeitsrechnung Bemerkung: Für unsere Zwecke können wir alle Teilmengen von Ω als Ereignisse ansehen. Im allgemeinen Fall (insb. für nicht-diskrete Wahrscheinlichkeitsräume) beschränkt man sich auf die Ereignisse, die Elemente einer Ereignisalgebra (oder σ-algebra) sind. Rechnen mit Wahrscheinlichkeiten (Satz) Seien A, B Ω Ereignisse: P(Ω\A) = 1 P(A) P(A B) = P(A) + P(B) P(A B) P( ) = 0

64 Wahrscheinlichkeitsrechnung Unabhängigkeit von Ereignissen (Definition) Zwei Ereignisse A, B Ω heißen unabhängig, falls gilt: Beispiel Würfel: P(A B) = P(A) P(B) Die Ereignisse A = {1, 3, 5} (Ergebnis ist ungerade) und B = {2, 4, 6} (Ergebnis ist gerade) sind nicht unabhängig. Es gilt: P(A B) = P( ) = = = P(A) P(B) 2 Die Ereignisse {1, 3, 5} (Ergebnis ist ungerade) und {1, 2, 3, 4} (Ergebnis ist kleiner gleich vier) sind unabhängig. Es gilt: P(A B) = P({1, 3}) = 1 3 = = P(A) P(B) 3 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 64

65 Wahrscheinlichkeitsrechnung Bedingte Wahrscheinlichkeit (Definition) Die bedingte Wahrscheinlichkeit ist definiert durch P(A B) = P(A B), P(B) falls P(B) 0. Die Wahrscheinlichkeit P(A B) ist intuitiv die Wahrscheinlichkeit, dass das Ereignis A eintritt, unter der Bedingung, dass man bereits weiß, dass das Ereignis B eintritt. Sprechweise: Wahrscheinlichkeit von A, vorausgesetzt B. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 65

66 Wahrscheinlichkeitsrechnung Beispiel Würfel: A = {1, 3, 5} (Ergebnis ist ungerade) und B = {1, 2, 3} (Ergebnis ist kleiner gleich drei). Dann gilt: P(A B) = P(A B) P(B) = P({1, 3}) P({1, 2, 3}) = 2 3 Unabhängigkeit und bedingte Wahrscheinlichkeit (Satz) Zwei (nicht-leere) Ereignisse A, B sind unabhängig genau dann, wenn: P(A B) = P(A) und P(B A) = P(B) D.h., die Kenntnis, dass das Ereignis B eintreten wird, ändert die Wahrscheinlichkeit von A nicht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 66

67 Wahrscheinlichkeitsrechnung Zufallsvariable (Definition) Eine Zufallsvariable ist eine Abbildung X : Ω S. Sei y S. Man definiert: P(X (ω) = y) = P({ω Ω X (ω) = y}) Analog werden P(X (ω) y), P(X (ω) y), P(X (ω) R) (für R S), etc. definiert. (Im ersten und zweiten Fall muss eine partielle Ordnung auf S definiert sein.) Bemerkungen: Trotz des Namens hat eine Zufallsvariable mit einer Variablen relativ wenig zu tun. Es handelt sich einfach um eine Funktion. Manchmal schreibt man statt P(X (ω) = y) einfach nur P(X = y). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 67

68 Wahrscheinlichkeitsrechnung Sei S eine endliche Menge. Eine Zufallsvariable X : Ω S heißt gleichverteilt, falls P(X (ω) = s) = 1 S für alle s S Bemerkungen: Die Ereignismenge Ω muss hier nicht notwendigerweise endlich sein. Es gibt noch weitere (diskrete) Wahrscheinlichkeitsverteilungen: geometrische Verteilung, Binomialverteilung, Poisson-Verteilung Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 68

69 Wahrscheinlichkeitsrechnung Wir wenden nun die Wahrscheinlichkeitstheorie auf den One-Time-Pad an. Wir nehmen an, dass M = {0, 1} n (= Menge der Nachrichten) eine Menge von Bitstrings der Länge n ist. Genauso ist K e = K d = {0, 1} n und E(m, e) = m e D(c, d) = c d Die Menge der Elementarereignisse Ω sieht wie folgt aus: Ω = M K e = {0, 1} n {0, 1} n D.h. Elementarereignisse sind Paare von Nachrichten und Schlüsseln. Die Nachrichten sind nicht alle gleich wahrscheinlich, für die Schlüssel gilt dies jedoch. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 69

70 Wahrscheinlichkeitsrechnung Wir betrachten folgende Zufallsvariable: msg : Ω M, msg(m, e) = m (Projektion auf die erste Komponente) E : Ω CM (die bereits vorher definierte Verschlüsselungsfunktion) Wir setzen p m = P(msg = m) (die Wahrscheinlichkeit dafür, dass Nachricht m verschickt wird). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 70

71 Wahrscheinlichkeitsrechnung Nach Shannon muss ein perfektes Kryptosystem folgende Eigenschaft erfüllen: Perfektes Kryptosystem Die Wahrscheinlichkeit, dass eine Nachricht m geschickt wird, ist gleich der bedingten Wahrscheinlichkeit, dass m geschickt wird, vorausgesetzt dass die Kodierung c bekannt ist. Für den One-Time-Pad bedeutet das für feste m, c {0, 1} n : P(msg = m E = c) = P(msg = m) ( ) Oder (etwas informeller): P(m wurde geschickt c wurde empfangen) = P(m wurde geschickt) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 71

72 Wahrscheinlichkeitsrechnung Beweis: Wir zeigen nun, dass der One-Time-Pad die Eigenschaft (*) erfüllt. Es gilt, dass P(msg = m E = c) = P(msg = m E = c) P(E = c) Es gilt: P(msg = m E = c) = P({(m, e ) e K e, E(m, e ) = c}). Es kann nur einen Schlüssel e = c m geben, der m zu c verschlüsselt. Also handelt es sich bei der Menge um ein Elementarereignis und es gilt: P({(m, c m)}) = p m Die letzte Beziehung gilt, da m und der Schlüssel unabhängig voneinander gewählt werden. 1 2 n Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 72

73 Wahrscheinlichkeitsrechnung Außerdem gilt: P(E = c) = Zusammengefasst: m M = m M P(msg = m E = c) p m 1 2 n = 1 2 n m M p m = 1 2 n 1 = 1 2 n P(msg = m c wurde empfangen) = p m 1 2 n 1 2 n = p m = P(msg = m) und damit ist der One-Time-Pad ein perfektes Kryptosystem. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 73

74 Symmetrische Verschlüsselung: DES und AES Wir betrachten nun moderne symmetrische Verschlüsselungsverfahren. (e, e) (e, e) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 74

75 Symmetrische Verschlüsselung: DES und AES Die zwei wichtigsten symmetrischen Verschlüsselungsverfahren sind: DES (Data Encryption Standard): war ab 1976 lange Zeit der de-facto-standard für symmetrische Verschlüsselungsverfahren und wird immer noch in großem Maßstab eingesetzt. Allerdings ist die Schlüssellänge (56 Bit) heute zu kurz und nur noch die Variante Triple DES gilt als sicher. AES (Advanced Encryption Standard): 2002 wurde bei einem Wettbewerb des US-amerikanischen NIST (National Institute of Standards and Technology) das Kryptosystem Rijndael als Nachfolger für DES ausgewählt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 75

76 Symmetrische Verschlüsselung: DES und AES Sowohl DES als auch AES sind Blockchiffre, die nach folgendem Prinzip funktionieren: Eine Nachricht wird in Blöcke der Länge n Bits (typischerweise n = 128, 192, 256) aufgespalten und jeder Block wird einzeln verschlüsselt. Wir können also im Folgenden davon ausgehen, dass M = {0, 1} n Es gibt einen symmetrischen Schlüssel der Länge m (typischerweise m = 128, 256). D.h., K e = K d = {0, 1} m. Ein Block der Länge n wird durch die Verschlüsselung wieder zu einem Block der Länge n, d.h., CM = {0, 1} n. Aus der gleichen Länge von Nachricht und verschlüsseltem Text kann man schließen, dass die Verschlüsselungsfunktion für einen festen Schlüssel bijektiv sein muss. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 76

77 Symmetrische Verschlüsselung: DES und AES Die Verschlüsselungsfunktion E : {0, 1} n {0, 1} m {0, 1} n wird wie folgt realisiert: eine Nachricht m {0, 1} n wird mit einem Schlüssel e {0, 1} m in k Runden verschlüsselt. Zu Beginn gilt m 0 = m, man bestimmt m i+1 durch m i+1 = E i (m i, e i ), wobei e i der Schlüssel der i-ten Runde ist. Der Rundenschlüssel e i wird mit Hilfe eines festgelegten Verfahrens aus e berechnet. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 77

78 Symmetrische Verschlüsselung: DES und AES Die Verschlüsselungsfunktion E i wird durch Aneinanderreihung verschiedener Transformationen berechnet, wobei eine Transformation folgendes sein kann: xor-verknüpfung des zu verschlüsselnden Textes mit dem Rundenschlüssel (AddRoundKey) Jedes Byte der Nachricht wird durch ein anderes Byte substituiert (diese Substitionen werden in sogenannten S-Boxen tabelliert). (SubBytes) Die Bytes der Nachricht werden tabellarisch angeordnet und (spalten- oder zeilenweise) permutiert. (ShiftRows) Die Bytes der Nachricht werden untereinander auf bestimmte Weise mit xor verknüpft. (MixColumns) Die in Klammern angegebenen englischen Bezeichnungen stammen aus AES. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 78

79 Symmetrische Verschlüsselung: DES und AES Bemerkungen: Ähnliche Operationen wie sie zur Verschlüsselung einer Nachricht verwendet werden, können auch dazu benutzt werden, die Rundenschlüssel aus dem Schlüssel (bzw. aus Teilen der bisher verschlüsselten Nachricht) zu gewinnen. Bei AES stellt man sich ein Byte auch als Polynom über dem zweielementigen Körper, bestehend aus den Elementen {0, 1}, vor. D.h. b 7 b 6... b 0 {0, 1} 8 entspricht b 7 x 7 + b 6 x b 0 Dann kann xor durch Addition solcher Polynom und S-Boxen durch Bildung des multiplikativen Inversen (bezüglich Multiplikation modulo eines irreduziblen Polynoms m(x)), gefolgt von einer affinen Transformation, beschrieben werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 79

80 Symmetrische Verschlüsselung: DES und AES AES benutzt genau eine S-Box, die folgendermaßen funktioniert: S-Box bei AES (Teil 1) Fasse das zu substituierende Byte als Polynom p(x) vom Grad 7 über dem Körper {0, 1} auf. Bestimme das Inverse q(x) von p(x) modulo m(x) = x 8 + x 4 + x 3 + x + 1. D.h., es muss p(x) q(x) mod m(x) = 1 gelten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 80

81 Symmetrische Verschlüsselung: DES und AES S-Box bei AES (Teil 2) Angenommen q(x) = c 7 x 7 + c 6 x c 0. Dann bestimme das Ergebnis-Byte d 7 d 6... d 0 durch folgende affine Transformation: d c 0 1 d c 1 1 d c 2 0 d 3 d 4 = c 3 c d 5 d 6 d c 5 c 6 c Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 81

82 Symmetrische Verschlüsselung: DES und AES Beispiel: Zu substituierendes Byte: , entspricht x 5 + x 4 + x + 1 Inverses: , entspricht x 6 + x 5 + x 3 + x 2 Test: (x 5 + x 4 + x + 1) (x 6 + x 5 + x 3 + x 2 ) = x 11 + x 10 + x 8 + x 7 + x 10 + x 9 + x 7 + x 6 + x 7 + x 6 + x 4 + x 3 + x 6 + x 5 + x 3 + x 2 = x 11 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 2 x 11 +x 9 +x 8 +x 7 +x 6 +x 5 +x 4 +x 2 x 8 + x 4 + x 3 + x + 1 x 11 +x 7 +x 6 +x 4 +x 3 = x 3 + x + 1 x 9 +x 8 +x 5 +x 3 +x 2 Rest: 1 x 9 +x 5 +x 4 +x 2 +x x 8 +x 4 +x 3 +x x 8 +x 4 +x 3 +x+1 1 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 82

83 Symmetrische Verschlüsselung: DES und AES Affine Transformation: = Ergebnis: (Vektoren werden von unten nach oben gelesen!), entspricht x 7 + x 6 + x + 1 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 83

84 Symmetrische Verschlüsselung: DES und AES Bemerkungen: Die Subsitution mittels einer S-Box entspricht einer monoalphabetischen Verschlüsselung. Das Inverse zu einem Polynom kann mit Hilfe des euklidischen Algorithmus berechnet werden. (Dazu später mehr bei RSA.) Zur Entschlüsselung gibt es eine inverse S-Box, die dazu da ist, die Substitution wieder rückgängig zu machen. Die gesamte S-Box ist tabelliert. Siehe S-box. D.h., in der Praxis muss das Inverse nicht berechnet werden. Durch die algebraische Darstellung kann aber das Kryptosystem besser analysiert werden, um zu zeigen, dass es gegen bestimmte Arten von Angriffen geschützt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 84

85 Symmetrische Verschlüsselung: DES und AES AES S-Box a b c d e f c 77 7b f2 6b 6f c b fe d7 ab ca 82 c9 7d fa f0 ad d4 a2 af 9c a4 72 c0 20 b7 fd f f7 cc 34 a5 e5 f1 71 d c7 23 c a e2 eb 27 b c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 60 d0 ef aa fb 43 4d f9 02 7f 50 3c 9f a a3 40 8f 92 9d 38 f5 bc b6 da ff f3 d2 80 cd 0c 13 ec 5f c4 a7 7e 3d 64 5d f dc 22 2a ee b8 14 de 5e 0b db a0 e0 32 3a 0a c c2 d3 ac e4 79 b0 e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 c0 ba e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a d0 70 3e b f6 0e b9 86 c1 1d 9e e0 e1 f d9 8e 94 9b 1e 87 e9 ce df f0 8c a1 89 0d bf e d 0f b0 54 bb 16 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 85

86 Symmetrische Verschlüsselung: DES und AES Kriterien bei symmetrischen Verschlüsselungsverfahren (informell): Konfusion Der Zusammenhang zwischen Schlüssel und verschlüsseltem Text sollte so komplex wie möglich sein. Diffusion Jedes Bit der verschlüsselten Nachricht sollte von jedem Bit der ursprünglichen Nachricht auf möglichst komplexe Weise abhängig sein. Insbesondere sollte sich der verschlüsselte Text vollständig ändern, sobald ein Bit der ursprünglichen Nachricht verändert wird. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 86

87 Asymmetrische Verschlüsselung Wir betrachten nun asymmetrische Verschlüsselungsverfahren: e (e, d) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 87

88 Asymmetrische Verschlüsselung Geschichte: 1976: Diffie-Hellman-Schlüsselaustauschprotokoll Beschreibt wie Alice und Bob einen geheimen Schlüssel über ein offenes Netzwerk austauschen können. 1977: RSA (benannt nach Rivest, Shamir, Adleman) Asymmetrisches Verschlüsselungsverfahren (mit Verwendung öffentlicher Schlüssel) Erst viel später wurde bekannt, dass ganz ähnliche Verfahren bereits 1973 von Williamson, Cock und Ellis beim GHCQ (Government Communications Headquarters, Teil des britischen Geheimdiensts) entwickelt wurden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 88

89 Asymmetrische Verschlüsselung: RSA Für RSA benötigen wir Voraussetzungen aus der Zahlentheorie: die Eulersche ϕ-funktion, der Satz von Euler-Fermat und der euklidische Algorithmus. Eulersche ϕ-funktion Die Eulersche ϕ-funktion ϕ: N 0 N 0 ist folgendermaßen definiert: ϕ(n) mit n N 0 ist die Anzahl der Zahlen zwischen 1 und n, die zu n teilerfremd sind. ϕ(n) = {m N 0 1 m n und ggt (m, n) = 1} Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 89

90 Asymmetrische Verschlüsselung: RSA Beispiele (Eulersche ϕ-funktion): n ϕ(n) n ϕ(n) Für eine Primzahl p gilt ϕ(p k ) = p k p k 1, insbesondere ϕ(p) = p 1. Für zwei Zahlen m, n N 0 mit ggt (m, n) = 1 gilt ϕ(m n) = ϕ(m) ϕ(n). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 90

91 Asymmetrische Verschlüsselung: RSA Satz von Euler-Fermat Für zwei Zahlen m, n Z mit ggt (m, n) = 1 gilt: m ϕ(n) mod n = 1 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 91

92 Asymmetrische Verschlüsselung: RSA Lösen diophantischer Gleichungen Gegeben seien a, b, c Z. Wir suchen Lösungen x, y Z der Gleichung a x + b y = c Diese Gleichung hat genau dann eine Lösung, wenn ggt (a, b) c. Lösungen für solche Gleichungen können mit Hilfe des erweiterten euklidischen Algorithmus bestimmt werden. Dieser bestimmt nicht nur ggt (a, b), sondern auch Werte für x und y. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 92

93 Asymmetrische Verschlüsselung: RSA 1. Schritt: Schlüsselerzeugung Bob generiert zwei große Primzahlen p, q mit p q und setzt n = p q. Bob bestimmt ϕ(n) (in diesem Fall gilt ϕ(n) = (p 1) (q 1)). Bob bestimmt d, e {0,..., ϕ(n) 1} mit (d e) mod ϕ(n) = 1 (d.h., d, e sind modulo ϕ(n) zueinander invers) (e, n) ist der öffentliche Schlüssel, den Bob bekanntgibt. (d, n) ist der private Schlüssel, den Bob geheimhält. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 93

94 Asymmetrische Verschlüsselung: RSA 2. Schritt: Verschlüsselung Alice will eine Nachricht M an Bob verschlüsseln. Sie kodiert diese Nachricht als eine Zahl m {0,..., n 1} (z.b. durch Binärkodierung). Alice rechnet c = m e mod n und schickt c an Bob. 3. Schritt: Entschlüsselung Bob empfängt c. Er rechnet m = c d mod n und erhält damit wieder die ursprüngliche Nachricht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 94

95 Asymmetrische Verschlüsselung: RSA Rechenbeispiel RSA p = 5, q = 11, n = 5 11 = 55 ϕ(n) = (p 1) (q 1) = 4 10 = 40 Wähle e = 3 und berechne das Inverse d = 27: Löse 3 x + 40 y = 1, dies ergibt Lösungen x = 13, y = 1 Das ergibt d = x mod 40 = ( 13) mod 40 = 27 Nachricht m = 9 soll übertragen werden. Alice berechnet die Kodierung c = 9 3 mod 55 = 729 mod 55 = 14. Code c = 14 kommt an. Bob rechnet mod 55 = (14 3 mod 55) 9 mod 55 = (2744 mod 55) 9 mod 55 = 49 9 mod 55 = (49 3 mod 55) 3 mod 55 = ( mod 55) 3 mod 55 = 4 3 mod 55 = 64 mod 55 = 9 = m Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 95

96 Asymmetrische Verschlüsselung: RSA Warum funktioniert RSA? Korrektheit: Warum erhält Bob wieder die ursprüngliche Nachricht? Das kann mit dem Satz von Euler-Fermat nachgewiesen werden. Es gilt (e d mod ϕ(n)) = 1 und damit gibt es eine Zahl z Z mit e d = z ϕ(n) + 1. Also ergibt sich beim Verschlüsseln und anschließenden Entschlüsseln: (m e mod n) d mod n = m e d mod n = m z ϕ(n)+1 mod n = (m (m ϕ(n) ) z ) mod n = m 1 z mod n = m mod n = m Diese Argumentation funktioniert nicht, falls m, n nicht teilerfremd sind. In diesem Fall kann man aber mit Hilfe des Chinesischen Restsatzes nachweisen, dass man trotzdem das richtige Ergebnis erhält. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 96

97 Asymmetrische Verschlüsselung: RSA Warum funktioniert RSA? (Fortsetzung) Sicherheit: Warum ist es für andere schwierig, die Nachricht zu entschlüsseln? Das liegt (im Wesentlichen) daran, dass man d nur dann leicht aus e berechnen kann, wenn man ϕ(n) kennt. Um ϕ(n) zu berechnen, müsste man die Primfaktorzerlegung von großen Zahlen (ca Bits) bestimmen, was sehr schwer ist. Wir werden uns das noch genauer ansehen und uns überlegen, welche Voraussetzungen erfüllt sein müssen, damit RSA sicher ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 97

98 Asymmetrische Verschlüsselung: RSA Weitere Bemerkungen: Auch bei einer sinnvollen Implementierung der Potenzierung bei der Ver- und Entschlüsselung ist RSA kein sehr effizientes Verfahren. Daher wird im Allgemeinen RSA nur zum Schlüsselaustausch verwendet. Sobald ein geheimer Sitzungsschlüssel vereinbart ist, kann ein symmetrisches Verschlüsselungsverfahren (z.b. AES) verwendet werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 98

99 Sicherheit von Kryptosystemen Bisher ist noch nicht klar, warum die bisher vorgestellten Kryptosysteme sicher sind. Wir wissen noch nicht einmal, was sicher überhaupt bedeutet. Wir betrachten zunächst einmal, welche Arten von Angriffen auf ein Kryptosystem möglich sind: Ciphertext-only attack Nur die verschlüsselte Nachricht oder mehrere verschlüsselte Nachrichten sind bekannt. (Je mehr Nachrichten bekannt sind, desto besser.) Known-plaintext attack Nicht nur eine verschlüsselte Nachricht, sondern auch die dazugehörige unverschlüsselte Nachricht sind bekannt. Das Ziel ist es, den verwendeten Schlüssel zu ermitteln. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 99

100 Sicherheit von Kryptosystemen Chosen-plaintext attack Der Angreifer hat die Möglichkeit, dem Verschlüsseler eine bestimmte Nachricht unterzuschrieben, die verschlüsselt wird. Beispiel: Im 2. Weltkrieg wurden von den Alliierten bestimmte Bereiche des Meeres vermint, damit die Kryptoanalytiker in Bletchley Park Nachrichten mit dem Wort Minen abfangen konnten, um damit den Code der Enigma zu entschlüsseln. Chosen-ciphertext attack Der Angreifer hat die Möglichkeit eine unter einem unbekannten Schlüssel verschlüsselte Nachricht zu wählen und die dazugehörige entschlüsselte Nachricht zu erhalten. Dies ist beispielsweise möglich, wenn ein Schlüssel auch zum Signieren verwendet wird. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 100

101 Sicherheit von Kryptosystemen Wir betrachten hier nicht die folgenden Arten von Angriffen (die aber in der Praxis auch sehr wichtig sind!): Side channel attack Angriff auf eine bestimmte physikalische Implementierung eines Kryptosystems, indem das kryptographische Gerät während der Verschlüsselung beobachtet wird. Beispiel: aus der Laufzeit des Verschlüsselungsalgorithmus können Rückschlüsse auf die Schlüssellänge gezogen werden (sogenannte timing attack). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 101

102 Sicherheit von Kryptosystemen Bei früheren Verschlüsselungsverfahren setzte man oft darauf, dass der Angreifer das Verschlüsselungsverfahren nicht kannte (Security by Obscurity). Heute fordert man, dass ein Verschlüsselungsverfahren auch dann sicher sein muss, wenn der Algorithmus bekannt ist. (Der Schlüssel selbst muss natürlich unbekannt sein.) Um diese Sicherheit zu gewährleisten, muss ein Kryptosystem einer mathematischen Analyse unterzogen werden. Der Begriff schwierig zu entschlüsseln wird heutzutage insbesondere mit Mitteln der Komplexitätstheorie definiert und untersucht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 102

103 Wiederholung Komplexitätstheorie Daher nun eine kurze Wiederholung der wichtigsten komplexitätstheoretischen Begriffe. Kurze Vorausschau: leider wird sich herausstellen, dass der Begriff NP-hart bzw. NP-vollständig nicht ausreichend sein wird, um ein Kryptosystem als schwierig zu entschlüsseln zu klassifizieren. Wir müssen daher im Laufe der Vorlesung auf andere Begriffe ausweichen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 103

104 Wiederholung Komplexitätstheorie Wir definieren zunächst die Klasse aller Sprachen, die von einer deterministischen Turingmaschine mit Zeitbeschränkung akzeptiert werden können. Zeitbeschränkte det. TM und akz. Sprachen (Definition) Sei f : N 0 N 0 eine (totale) Funktion. Die Klasse TIME(f (n)) besteht aus allen Sprachen A, für die es eine deterministische Mehrband-Turingmaschine M gibt mit A = T (M) und time M (x) f ( x ) für alle Wörter x. Dabei gibt time M (x) die Anzahl der Rechenschritte von M bei Eingabe x an. Das heißt, die Anzahl der Schritte der Turingmaschine ist beschränkt und die Beschränkung ist abhängig von der Länge der Eingabe. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 104

105 Wiederholung Komplexitätstheorie definieren, die von deterministischen Turingmaschinen mit polynomialer Laufzeitbeschränkung erkannt werden. Komplexitätsklasse P (Definition) P = {A es gibt eine det. Turingmaschine M und ein = Polynom p mit T (M) = A und time M (x) p( x )} TIME(p(n)) p Polynom Intuitiv umfasst P alle Probleme, für die effiziente Algorithmen existieren. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 105

106 Wiederholung Komplexitätstheorie Analog zur Komplexitätsklasse P kann man auch eine Klasse FP von Funktionen definieren, die in polynomieller Zeit berechnet werde können. Funktionsklasse FP FP ist die Klasse aller Funktionen der Form f : Σ Σ, für die es eine deterministische Turingmaschine M und ein Polynom p gibt, so dass M berechnet die Funktion f und time M (x) p( x ) für alle Wörter x Σ. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 106

107 Wiederholung Komplexitätstheorie Ähnlich wie bei deterministischen Turingmaschinen kann man auch zeitbeschränkte nichtdeterministische Turingmaschinen und die dazugehörigen Sprachklassen definieren. Zeitbeschränkte nichtdet. TM und akz. Sprachen (Definition) Sei f : N 0 N 0 eine (totale) Funktion. Die Klasse NTIME(f (n)) besteht aus allen Sprachen A, für die es eine nichtdeterministische Mehrband-Turingmaschine M gibt mit A = T (M) und ntime M (x) f ( x ) für alle Wörter x. Dabei gilt min{länge akzeptierender ntime M (x) = Rechnungen von M auf x} falls x T (M) 0 falls x T (M) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 107

108 Wiederholung Komplexitätstheorie Komplexitätsklasse NP (Definition) NP = NTIME(p(n)) p Polynom Offensichtlich gilt P NP. Aber gilt auch P NP? P NP-Problem (ungelöst) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 108

109 Wiederholung Komplexitätstheorie Analog zum Begriff der Reduzierbarkeit in der Berechenbarkeitstheorie definieren wir nun den Begriff der polynomialen Reduzierbarkeit. Polynomiale Reduzierbarkeit (Definition) Gegeben seien Sprachen A Σ, B Γ. Dann heißt A auf B polynomial reduzierbar (in Zeichen A p B), falls es eine totale und mit polynomialer Laufzeit (deterministisch) berechenbare Funktion f : Σ Γ gibt, so dass für alle x Σ gilt: x A f (x) B. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 109

110 Wiederholung Komplexitätstheorie Anschaulich bedeutet Reduktion, dass wir mit Hilfe von f aus einer Maschine M B für das Problem B immer eine Maschine M A für das Problem A konstruieren können. Dabei hat die Vorverarbeitungsfunktion f polynomielle Laufzeit. x f f (x) M B Ja Nein M A Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 110

111 Wiederholung Komplexitätstheorie NP-hart, NP-vollständig (Definition) Eine Sprache A heißt NP-hart, falls für alle Sprachen L NP gilt: L p A. Eine Sprache A heißt NP-vollständig, falls A NP-hart ist und A NP gilt. Das bedeutet: eine NP-vollständige Sprache ist mindestens so schwierig wie jedes andere Problem in NP. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 111

112 Wiederholung Komplexitätstheorie Beispiel: Erfüllbarkeitsproblem SAT Eingabe: eine aussagenlogische Formel F Ausgabe: Hat F eine erfüllende Belegung? Das heißt, gibt es eine Belegung der atomaren Aussagen mit 0 bzw. 1, so dass F unter dieser Belegung den Wert 1 hat? SAT ist das klassische Beispiel für ein NP-vollständiges Problem. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 112

113 Wiederholung Komplexitätstheorie Sobald man von einer NP-vollständigen Sprache (wie beispielsweise SAT) zeigen könnte, dass sie in P (nicht) enthalten ist, wäre das P NP-Problem gelöst. NP-Vollständigkeit und P Sei A NP-vollständig. Dann gilt A P P = NP Bemerkung: Daraus folgt unmittelbar, dass auch A P P NP für jedes NP-vollständige Problem A gilt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 113

114 Wiederholung Komplexitätstheorie Neben NP ist oft auch die Klasse aller Komplemente von NP-Problemen interessant. Komplexitätsklasse co-np (Definition) Die Komplexitätsklasse co-np enthält genau die Sprachen, deren Komplement in NP liegt. SAT = {F F ist eine erfüllbare aussagenlogische Formel} liegt in NP; das Komplement von SAT, nämlich UNSAT = {F F ist eine unerfüllbare aussagenlogische Formel} liegt per Definition in co-np. Ebenso liegt das Gültigkeitsproblem in co-np. Man weiß weder, ob NP co-np, noch ob co-np NP. Es gilt jedoch P NP co-np. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 114

115 Kryptographie und die Komplexitätsklasse NP Wir machen nun einen ersten Versuch, um den Begriff der Schwierigkeit für das Entschlüsseln von Kryptosystemen zu definieren. Wir betrachten ein asymmetrisches Verschlüsselungsverfahren, bei dem der öffentliche Schlüssel bekannt ist. Die Verschlüsselungsfunktion E : M K e CM und die Entschlüsselungsfunktion D : CM K d M liegen in FP. Jede Funktion D : CM K e M mit E(D (c, e), e) = c für alle c CM, e K e liegt nicht in FP. Bemerkung: Falls die Verschlüsselung eindeutig rückgängig gemacht werden kann, könnte man hier auch D (E(m, e), e) = m für alle m M fordern. Aber vielleicht ist die Forderung, dass D nicht in FP liegt, noch etwas zu schwach... Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 115

116 Kryptographie und die Komplexitätsklasse NP Entschlüsselungsproblem liegt in NP (Satz) Wir betrachten ein asymmetrisches Kryptosystem, für das gilt: M, CM Σ Die Verschlüsselungsfunktion E : M K e CM liegt in FP. Falls E(m, e) = c gilt, so ist m höchstens polynomiell größer als c (D.h., p( c ) m für ein Polynom p.) Dann liegt die Sprache in NP. L E = {(m, c, e) u Σ : E(m u, e) = c} Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 116

117 Kryptographie und die Komplexitätsklasse NP Beweis: Die nichtdeterministische Turingmaschine, die L E entscheidet, rät u und überprüft, ob E(m u, e) = c. Da höchstens p( c ) Zeichen geraten müssen und E in Polynomzeit berechenbar ist, arbeitet die Turingmaschine in polynomieller Zeit. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 117

118 Kryptographie und die Komplexitätsklasse NP Bemerkungen: Die Forderung, dass m höchstens polynomiell größer ist als c, ist sehr natürlich. Normalerweise sind Codewörter genauso lang oder länger als die dazugehörigen Nachrichten. Wenn L E in Polynomzeit berechenbar wäre, dann könnte man D einfach berechnen: seien c und e gegeben. Setze m 0 = ε. Angenommen m i Σ i und wir wissen, dass m i ein Anfangsstück der gesuchten Nachricht m ist. Dann bestimme m i+1, durch Abfragen (m i a, c, e) L E? für jedes a Σ. Falls eine solche Abfrage erfolgreich ist, setze m i+1 = m i a. Falls eine Nachricht m n nicht mehr verlängert werden kann, dann setze D (c, e) = m. (Die Iteration terminiert, da m beschränkt ist.) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 118

119 Kryptographie und die Komplexitätsklasse NP Andererseits: wenn D in FP läge (und außerdem Verschlüsselung eindeutig rückgängig gemacht werden kann), dann liegt L E in P: man muss gegeben ein Tupel (m, c, e) D (c, e) bestimmen und überprüfen, ob m ein Präfix von D (c, e) ist. D.h., die Berechnung von L E und D ist gleich schwierig. Da sich Begriffe wie NP-Vollständigkeit nur auf Sprachen beziehen, nicht auf Funktionen, ist es günstiger mit dem Entscheidungsproblem, nämlich L E, zu arbeiten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 119

120 Kryptographie und die Komplexitätsklasse NP Um die Berechnung von D so schwierig wie möglich zu machen, könnte man jetzt folgendes fordern: Mögliche Forderung an Kryptosysteme Für ein asymmetrisches Kryptosystem mit Verschlüsselungsfunktion E muss die Sprache L E NP-vollständig sein. Kann man dann unter der Voraussetzung, dass P NP wirklich schließen, dass das Kryptosystem sicher ist? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 120

121 Kryptographie und die Komplexitätsklasse NP Selbst wenn P NP gelten würde, reicht diese Forderung nicht aus. Dafür gibt es zwei Gründe: NP-Vollständigkeit und Kryptographie Wir müssen miteinbeziehen, dass der Angreifer auch randomisierte Berechnungen durchführen kann. Die Funktion D muss für jedes Element schwer zu berechnen sein. Die NP-Vollständigkeit von L E garantiert nur, dass es Elemente gibt, für die D schwer zu berechnen ist (worst-case vs. average-case). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 121

122 Kryptographie und die Komplexitätsklasse NP Bemerkungen: Für SAT ist bekannt, dass es nur relativ wenige Formeln gibt, für die es wirklich schwer ist, nachzuweisen, dass sie unerfüllbar sind bzw. eine erfüllende Belegung zu finden. Daher sind Werkzeuge für SAT (sogenannte SAT-Solver) sehr erfolgreich. Das bedeutet auch, dass SAT ungeeignet ist als Problem, das als Grundlage für ein Kryptosystem dienen soll. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 122

123 Kryptographie und die Komplexitätsklasse NP Man hat versucht, Kryptosysteme auf NP-vollständigen Problemen aufzubauen, beispielsweise auf SUBSET-SUM (Merkle und Hellman): SUBSET-SUM Eingabe: eine endliche Menge A N 0 und t N 0 Ausgabe: gibt es eine Teilmenge A A, deren Summe genau t ist? D.h., gilt a A a = t? Leider hat sich inzwischen herausgestellt, dass es doch effiziente Lösungsverfahren für die in dem Kryptosystem verwendeten Instanzen von SUBSET-SUM gibt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 123

124 Kryptographie und die Komplexitätsklasse NP Interessanterweise sind nach derzeitigem Kenntnisstand Probleme besser geeignet, von denen nicht bekannt ist, ob sie in P liegen und die auch nicht als NP-vollständig bekannt sind. Dazu gehören insbesondere: Faktorisierung Diskreter Logarithmus Wir werden beide Probleme und die dazugehörigen Funktionen später noch genauer betrachten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 124

125 Randomisierung Wir betrachten zunächst randomisierte Berechnungen. Eine interessante Feststellung ist, dass Randomisierung bei Berechnungen helfen kann! Dazu zunächst ein einfaches Beispiel: Berechnung von π Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 125

126 Randomisierung Bestimme Zufallspunkte in einem Quadrat und überprüfe, ob sie innerhalb des eingeschriebenen Kreises liegen: Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 126

127 Randomisierung Randomisierte Berechnung von π Wähle zufällig Punkte (x, y) in einem Quadrat mit Seitenlänge 1. D.h., x, y [0, 1]. Bestimme, ob (x, y) innerhalb des Kreises liegt, der in das Quadrat einbeschrieben ist. Teste dazu, ob (x 1 2 )2 + (y 1 2 )2 r 2 = 1 4. Sei n die Gesamtanzahl der Punkte und k die Zahl der Punkte innerhalb des Kreises. Dann gilt für die Fläche F des Kreises: F = r 2 π = π 4 und F k n. Dadurch erhalten wir eine Näherung für π. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 127

128 Randomisierung Bemerkungen: Um π wirklich genau berechnen zu können, benötigt man einen guten Zufallszahlengenerator! Eine andere (klassischere) Möglichkeit, π zu berechnen, ist es den Grenzwert einer Reihe zu bestimmen. Ein weiteres Beispiel für ein Problem, bei dem Randomisierung helfen kann, ist das Sortierproblem: für eine feste Eingabe hat Quick-Sort eine erwartete Laufzeit von O(n log n), wenn das Pivotelement zufällig gewählt wird. (Gegenüber einer worst-case-laufzeit von O(n 2 ) im deterministischen Fall.) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 128

129 Probabilistische Turingmaschinen Klassische Turingmaschinen können im Allgemeinen keine Zufallszahlen erzeugen. Daher betrachten wir nun probabilistische Turingmaschinen. Turingmaschine (Definition) Eine (deterministische) Turingmaschine M ist ein 7-Tupel M = (Z, Σ, Γ, δ, z 0,, E), wobei Z die endliche Menge der Zustände, Σ das Eingabealphabet, Γ mit Γ Σ das Arbeitsalphabet oder Bandalphabet, δ : Z Γ Z Γ {L, R, N} die Überführungsfunktion, z 0 Z der Startzustand, Γ\Σ das Leerzeichen oder Blank und E Z die Menge der Endzustände ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 129

130 Probabilistische Turingmaschinen Klassische Turingmaschinen haben intuitiv folgendes Aussehen: Kopf kann sich nach links und rechts bewegen und Zeichen überschreiben e i n g a b e Automat mit endlich vielen Zuständen Signal für Endzustand Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 130

131 Probabilistische Turingmaschinen Bei probabilistischen Turingmaschinen erhält die Maschine zusätzlich ein Band mit Zufallsbits, auf dem sie sich beliebig bewegen darf. Diese Bits beeinflussen die Zustandsübergänge. Kopf kann sich nach links und rechts bewegen und Zeichen überschreiben e i n g a b e Automat mit endlich vielen Zuständen Signal für Endzustand Band mit Zufallsbits Coin-Tossing Tape Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 130

132 Probabilistische Turingmaschinen Nach der Wiederholung von herkömmlichen Turingmaschinen führen wir nun probabilistische Turingmaschinen ein. Dabei modifizieren wir die Definition leicht. Probabilistische Turingmaschine (Definition) Eine probabilistische Turingmaschine M ist ein 7-Tupel M = (Z, Σ, Γ, δ, z 0,, E), wobei alle Komponenten mit Ausnahme von δ wie bei einer herkömmlichen Turingmaschine definiert sind. Die Überführungsfunktion δ hat folgendes Aussehen: δ : Z Γ {0, 1} Z Γ {L, R, N} {L, R, N} Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 131

133 Probabilistische Turingmaschinen Dabei hat δ(z, a, b) = (z, c, x, y) mit z, z Z, a, c Γ, b {0, 1}, x, y {L, R, N} folgende Bedeutung: Wenn die Turingmaschine im Zustand z ist, a auf dem Arbeitsband liest und das Bit b auf dem Band mit Zufallsbits steht, dann wechselt sie in den Zustand z, schreibt ein c, geht auf dem Arbeitsband in die Richtung x und auf dem Zufallsbit-Band in die Richtung y. Wir gehen davon aus, dass der Turingmaschine zu Beginn der Berechnung entsprechende Zufallsbits bereitgestellt werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 132

134 Probabilistische Turingmaschinen Laufzeitbeschränkung von probabilistischen Turingmaschinen Wir sagen, dass eine probabilistische Turingmaschine hält, wenn sie auf jeder Eingabe unabhängig von den verwendeten Zufallsbits hält, d.h., einen Endzustand erreicht. Außerdem hat eine probabilistische Turingmaschine eine polynomiale Laufzeit, wenn sie auf jeder Eingabe x unabhängig von den verwendeten Zufallsbits höchstens p( x ) Schritte macht, wobei p ein Polynom ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 133

135 Probabilistische Turingmaschinen Wir betrachten die verwendeten Zufallsbits als Elementarereignisse. Falls die Turingmaschine auf einem festen Wort der Länge n arbeitet, ist die Menge der Elementarereignisse wie folgt definiert: Ω = {0, 1} p(n) Mehr Zufallsbits werden in p(n) Schritten nicht benötigt. Jedes dieser Elementarereignisse ist gleich wahrscheinlich. Die Tatsache, ob eine Maschine M ein Wort x der Länge n akzeptiert, ist eine Zufallsvariable a M (x): Ω {0, 1}. Für b Ω gilt a M (x)( b) = 1 genau dann, wenn M das Wort x unter Verwendung der Zufallsbits b akzeptiert. Die Laufzeit einer Maschine M auf einem Wort x ist ebenfalls eine Zufallsvariable t M (x): Ω N 0. Für b Ω gibt t M (x)( b) die Anzahl der Schritte an, die die Berechnung auf x mit den Zufallsbits b in Anspruch nimmt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 134

136 Probabilistische Turingmaschinen Bemerkung: Probabilistische Turingmaschinen sind nur eine Möglichkeit, den Begriff der randomisierten Berechnung präzise zu fassen. Wie das oft in der Berechenbarkeitstheorie der Fall ist, gibt es auch andere analoge Berechnungsmodelle. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 135

137 Probabilistische Komplexitätsklassen Wir können un die erste probabilistische Komplexitätsklasse definieren. Komplexitätsklasse RP (Randomized polynomial time) Eine Sprache L Σ gehört zu der Klasse RP genau dann, wenn es eine probabilistische Turingmaschine M mit polynomialer Laufzeit gibt, so dass für jede Eingabe x Σ gilt: 1 falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) = 0. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 136

138 Probabilistische Komplexitätsklassen Frage: Kann man auch eine höhere Wahrscheinlichkeit als 1 2 erhalten, wenn das Wort in der Sprache liegt? Antwort: Ja! Man muss die Maschine nur mehrmals (mit jeweils anderen Zufallsbits) laufen lassen. Sei M die Maschine, die M k-mal ausführt und akzeptiert, sobald M einmal akzeptiert. Da die jeweils verwendeten Zufallsbits unabhängig voneinander sind, gilt für x L: ( ) 1 k P(M akzeptiert x nicht) 2 und damit P(M akzeptiert x) 1 ( ) 1 k 2 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 137

139 Probabilistische Komplexitätsklassen Wir wollen nun mit Wahrscheinlichkeit größer gleich p akzeptieren. Es gilt p 1 ( ) 1 k p 1 2k k log 2 1 p Dann reicht es, die Maschine M log p = log 2(1 p)-mal laufen zu lassen. Das ist für eine feste Wahrscheinlichkeit p nur ein konstanter Faktor. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 138

140 Probabilistische Komplexitätsklassen Beispiel: wir betrachten ganzzahlige Polynome mit n Variablen, d.h., Polynome über den Variablen x 1,..., x n, bei denen alle Koeffizienten ganzzahlig sind. Gegeben sei nun ein solches ganzzahliges Polynom p, dargestellt durch einen arithmetischen Ausdruck. Dieses Polynom ist nicht notwendigerweise in ausmultiplizierter Form, d.h., als Summe von Termen der Form a x i 1 1 xn in, gegeben! Beispielsweise wird es als Produkt von Summen p(x) = (x 1 + x 2 ) (x 3 + x 4 ) (x 2n 1 + x 2n ) dargestellt. Auf jeden Fall haben wir eine Berechnungsverfahren für p, welches in Polynomzeit ausführbar ist. Der Grad eines Polynoms (in ausmultiplizierter Form) ist die maximale Summe der Exponenten in einem Summanden. Beispielsweise hat p(x 1, x 2 ) = 3x 3 1 x x x x 2 1 x 2 den Grad 5. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 139

141 Probabilistische Komplexitätsklassen Wir betrachten folgendes Problem: NON-ZERO-POLY Eingabe: ein Polynom p mit Grad kleiner gleich k Ausgabe: ist p nicht identisch zu Null, d.h., gibt es a 1,..., a n Z, so dass p(a 1,..., a n ) 0 gilt? Bemerkung: Sobald man NON-ZERO-POLY effizient lösen kann, können auch zwei Polynome p, q effizient auf Ungleichheit getestet werden. Dazu überprüft man, ob (p q) NON-ZERO-POLY. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 140

142 Probabilistische Komplexitätsklassen Idee zur Berechnung von NON-ZERO-POLY: wähle beliebige ganze Zahlen a 1,..., a n Z und setze sie in p ein. Das Polynom wird akzeptiert, falls p(a 1,..., a n ) 0 gilt. Dieser Test läuft sicherlich in Polynomzeit, aufgrund des gegebenen arithmetischen Ausdrucks bzw. polynomialen Verfahrens. Das Verfahren akzeptiert niemals ein Polynom, das identisch zu Null ist. D.h., die zweite Bedingung in der Definition von RP ist auf jeden Fall erfüllt. Wir müssen uns nun noch überlegen, ob auch die erste Bedingung erfüllt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 141

143 Probabilistische Komplexitätsklassen Wahrscheinlichkeit für Nullstellen (Schwartz-Zippel-Lemma) Sei p ein ganzzahliges Polynom mit n Variablen und Grad kleiner gleich k. Sei außerdem p nicht identisch zu Null. Wenn a 1,..., a n unabhängig und gleichverteilt aus {1,..., N} gewählt werden, so gilt: P(p(a 1,..., a n ) = 0) k N Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 142

144 Probabilistische Komplexitätsklassen Beweis: die Menge der Elementarereignisse ist Ω = {1,..., N} n, wobei alle Elementarereignisse gleich wahrscheinlich sind. Wir führen eine Induktion über n durch. n = 1: in diesem Fall haben wir Polynom mit nur einer einzigen Variable x 1. Ein solches Polynom kann höchstens k Nullstellen haben und die Wahrscheinlichkeit, eine davon aus der Menge {1,..., N} auszuwählen ist kleiner gleich k N. n 1 n: In diesem Fall lässt sich p schreiben als p = p 0 + p 1 x n + p 2 x 2 n + + p t x t n, wobei die p i die Variable x n nicht enthalten. Außerdem ist p t nicht identisch zum Nullpolynom und hat höchstens Grad k t. Wir können davon ausgehen, dass t > 0 ist, denn ansonsten hätte p nur Variablen aus {x 1,..., x n 1 }. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 143

145 Probabilistische Komplexitätsklassen Wir definieren nun folgende Ereignisse: Es gilt: PN = {(a 1,..., a n ) Ω p(a 1,..., a n ) = 0} PTN = {(a 1,..., a n ) Ω p t (a 1,..., a n 1 ) = 0} P(PN) = P(PN PTN) P(PTN) + P(PN PTN) P(PTN) P(PTN) + P(PN PTN) Dabei ist PTN = Ω\PTN. Wir schätzen nun noch die beiden Wahrscheinlichkeiten in der Summe ab: P(PTN) k t N, denn p t ist ein Polynom vom Grad k t mit weniger Variablen, so dass die Induktionsvoraussetzung zutrifft. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 144

146 Probabilistische Komplexitätsklassen P(PN PTN) t N, denn es wird vorausgesetzt, dass p t (a 1,..., a n 1 ) 0 gilt. Dies ist der höchste Koeffizient des Polynoms q definiert durch: q(x n ) = p(a 1,..., a n 1, x n ) Dieses Polynom ist nicht identisch mit Null, da der höchste Koeffizient ungleich 0 ist. Die Wahrscheinlichkeit, dass unter dieser Voraussetzung p(a 1,..., a n ) = 0 gilt, ist die Wahrscheinlichkeit, dass wir eine Nullstelle von q wählen. Und diese Wahrscheinlichkeit ist kleiner gleich t N, da q Grad t hat. Insgesamt ergibt sich: P(p(a 1,..., a n ) = 0) k t N + t N = k N Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 145

147 Probabilistische Komplexitätsklassen NON-ZERO-POLY liegt in RP NON-ZERO-POLY RP Beweis: aufgrund der Vorüberlegungen müssen wir uns nur noch überlegen, dass man die Zahlen a 1,..., a n so wählen kann, dass p(a 1,..., a n ) = 0 mit Wahrscheinlichkeit kleiner 1 2 gilt, falls p nicht identisch Null ist. Nach dem vorherigen Satz müssen wir a 1,..., a n zufällig aus der Menge {1,..., 2k} wählen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 146

148 Probabilistische Komplexitätsklassen Für das Problem NON-ZERO-POLY gibt es noch keinen bekannten deterministischen Polynomzeitalgorithmus. Falls das Polynom als arithmetischer Ausdruck gegeben ist, dann nützt es auch nichts, den Ausdruck mit Hilfe des Distributivgesetzes auszumultiplizieren und das Polynom als Summe von Termen der Form a x i 1 1 xn in darzustellen. Diese Darstellung ist im Normalfall exponentiell größer als der ursprüngliche Ausdruck. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 147

149 Probabilistische Komplexitätsklassen Es ist relativ leicht, P und RP miteinander zu vergleichen: P vs. RP Es gilt P RP. Begründung: jede deterministische Turingmaschine kann auch als probabilistische Turingmaschine aufgefasst werden, die ihren Zufallsbit-Bandinhalt ignoriert. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 148

150 Probabilistische Komplexitätsklassen Außerdem gilt folgende Beziehung zwischen RP und NP: NP vs. RP Es gilt RP NP. Beweis: falls L RP gilt, so gibt es eine probabilistische Turingmaschine, die ein Wort w L mit Wahrscheinlichkeit größer gleich 1 2 akzeptiert und ein Wort w L nie akzeptiert. Dies kann durch eine nicht-deterministische Turingmaschine simuliert werden, die ihre Zufallsbits selbst rät. Falls w L, so gibt es eine Folge von Zufallsbits, die zur Akzeptanz von w führt. Falls w L, so gibt es eine solche Folge nicht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 149

151 Probabilistische Komplexitätsklassen Wir betrachten noch weitere Komplexitätsklassen: Komplexitätsklasse BPP (bounded-error probabilistic polynomial time) Eine Sprache L Σ gehört zu der Klasse BPP genau dann, wenn es eine probabilistische Turingmaschine M mit polynomialer Laufzeit gibt, so dass für jede Eingabe x Σ gilt: 1 falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) 1 4. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 150

152 Probabilistische Komplexitätsklassen Bemerkungen: Es macht wenig Sinn in obiger Definition P(M akzeptiert x) 1 2 und P(M akzeptiert x) 1 2 zu fordern. Dann würde ein einfacher Münzwurf, bei dem mit Wahrscheinlichkeit 1 2 akzeptiert oder nicht akzeptiert wird, den Anforderungen an die Turingmaschine genügen. Wie bei RP kann die Wahrscheinlichkeit für eine falsche Antwort vermindert werden, indem man die Maschine mehrfach laufen lässt. Jedes andere Paar von Zahlen p, q [0, 1] mit p > 1 2 und q < 1 2 kann statt 3 4 und 1 4 verwendet werden. ( Übungsaufgabe) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 151

153 Probabilistische Komplexitätsklassen Über das Verhältnis von RP und BPP weiß man folgendes, was daraus folgt, dass man die Akzeptanzwahrscheinlichkeit einer RP-Turingmaschine beliebig erhöhen kann. RP vs. BPP Es gilt RP BPP. Es ist unbekannt wie sich NP und BPP zueinander verhalten. Bisher ist weder NP BPP noch BPP NP bekannt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 152

154 Probabilistische Komplexitätsklassen Zuletzt betrachten wir noch folgende Komplexitätsklasse: Komplexitätsklasse ZPP (zero-error probabilistic polynomial time) Eine Sprache L Σ gehört zu der Klasse ZPP genau dann, wenn es eine probabilistische Turingmaschine M gibt, so dass der Erwartungswert der Laufzeit polynomial beschränkt ist und für jede Eingabe x Σ gilt: 1 falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) = 1. 2 falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) = 0. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 153

155 Probabilistische Komplexitätsklassen Was bedeutet der Erwartungswert der Laufzeit ist polynomial beschränkt? Erwartungswert Für eine Zufallsvariable X : Ω R ist der Erwartungswert E[X ] = ω Ω P(ω) X (ω) = y Y P(X = y) y, wobei Y = {X (ω) ω Ω} R die Werte sind, die X annehmen kann. Für die Turingmaschinen in der Definition von ZPP heißt das, dass für jedes Wort x gelten muss: die Zufallsvariable t M (x), die die Laufzeit von M in Abhängigkeits der Zufallsbits beschreibt, erfüllt E[t M (x)] p( x ), wobei p ein Polynom ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 154

156 Probabilistische Komplexitätsklassen Für Probleme in ZPP gilt also: Es gibt Algorithmen für diese Probleme, die immer die richtige Antwort geben. Aber: es ist unklar, ob diese Algorithmen immer polynomiale Laufzeit haben. Im Mittel, wenn man den Erwartungswert betrachtet, ist die Laufzeit aber polynomial. Intuitiv bedeutet das, dass die Algorithmen nur sehr selten lange Laufzeiten haben. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 155

157 Probabilistische Komplexitätsklassen Bemerkungen: Algorithmen, die arbeiten wie die Turingmaschinen, die ZPP-Probleme entscheiden, nennt man Las-Vegas-Algorithmen: die Laufzeit, aber nicht die Ausgabe des Algorithmus ist randomisiert. Insbesondere ist der Erwartungswert der Laufzeit polynomial beschränkt, die Ausgabe ist unabhängig von den Zufallsbits. Verfahren, bei denen auch die Ausgabe randomisiert ist, nennt man Monte-Carlo-Verfahren. Sie entsprechen den Turingmaschinen für RP- und BPP-Probleme. Hier ist die Laufzeit immer polynomial beschränkt, die Ausgabe ist aber abhängig von den Zufallsbits. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 156

158 Probabilistische Komplexitätsklassen ZPP und RP Ein Problem L liegt in ZPP genau dann, wenn L und sein Komplement in RP liegen. Zum Beweis dieser Aussage benötigen wir die Markow-Ungleichung: Markow-Ungleichung Für eine Zufallsvariable X : Ω R + 0 und t R mit t > 0 gilt: P(X t) E[X ] t Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 157

159 Probabilistische Komplexitätsklassen Beweis: Zunächst beobachten wir, dass ZPP unter Komplement abgeschlossen ist (einfach Ja- und Nein-Ausgänge der Turingmaschine vertauschen). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 158

160 Probabilistische Komplexitätsklassen : Wir zeigen nun, dass ZPP RP gilt. Damit haben wir die Richtung von links nach rechts gezeigt. Sei L ZPP und sei M eine probabilistische Turingmaschine, die L akzeptiert. Der Erwartungswert der Laufzeit von M ist durch das Polynom p beschränkt. Wir konstruieren eine neue Turingmaschine M, die bei Eingabe von x mit n = x folgendes macht: sie simuliert M 2p(n) Schritte lang und akzeptiert nur dann, wenn M bis dahin akzeptiert hat. Es ist klar, dass P(M akzeptiert x) = 0 gilt, falls x L. Außerdem gilt, falls x L: P(M akzeptiert x) = P(M akzeptiert x in höchstens 2p(n) Schritten) 1 2. Denn nach der Markow-Ungleichung überschreitet eine Zufallsvariable das Doppelte ihres Erwartungswertes nur mit Wahrscheinlichkeit kleiner gleich 1 2. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 159

161 Probabilistische Komplexitätsklassen : Für die Richtung von rechts nach links sei nun L eine Sprache die in RP liegt und deren Komplement auch in RP liegt. D.h., wir haben zwei Turingmaschinen M 1, M 2, so dass M 1 Wörter immer korrekt akzeptiert und M 2 Wörter immer korrekt zurückweist. Wir nehmen an, dass die Laufzeit beider Maschinen durch das Polynom p beschränkt ist. Wir lassen M 1 und M 2 immmer wieder solange parallel laufen bis entweder M 1 akzeptiert oder M 2 das Wort zurückweist. Bei einem Durchlauf ist die Wahrscheinlichkeit für das Eintreten dieses Ereignisses mindestens 1 2. D.h., die erwartete Laufzeit ist kleiner gleich: ( ) 1 i 1 1 2p(n) = 2p(n) 2 2 i = 2p(n) 1 1 = 4p(n) 2 i=0 i=0 wobei n die Länge des betrachteten Wortes ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 160

162 Probabilistische Komplexitätsklassen Dabei ist p(n) die Anzahl der Schritte eines Durchlaufs einer Turingmaschine und 2p(n) die Zahl der Schritte für beide Maschinen. Ein Durchlauf für jede Maschine wird mindestens durchgeführt. Die Wahrscheinlichkeit dafür, dass der (i + 1)-te Durchlauf benötigt wird, ist kleiner gleich ( 1 i 2) (alle vorherigen Durchläufe brachten kein definitives Ergebnis). Die Reihe konvergiert zu 2 und damit haben wir wiederum polynomiale Laufzeit. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 161

163 Probabilistische Komplexitätsklassen Analog zu co-np kann man auch co-rp definieren: Komplexitätsklasse co-rp (Definition) Die Komplexitätsklasse co-rp enthält genau die Sprachen, deren Komplement in RP liegt. Damit kann man den obigen Satz auch folgendermaßen notieren: ZPP = RP co-rp Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 162

164 Probabilistische Komplexitätsklassen Es gelten folgende Beziehungen zwischen probabilistischen Komplexitätsklassen: P ZPP = RP co-rp RP BPP RP NP Es ist jedoch nichts über das Verhältnis zwischen BPP und NP bekannt. Außerdem gibt es Vermutungen, dass P und ZPP gleich sein könnten, aber auch das ist nicht bewiesen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 163

165 Primzahltests Wir betrachten nun den Miller-Rabin-Primzahltest, ein probabilistisches Verfahren, das einer RP-Turingmaschine entspricht. Primzahltests sind wichtig, um für Verschlüsselungsverfahren wie beispielsweise RSA große Primzahlen zu finden. Wenn die eingegebene Zahl eine Primzahl ist, dann gibt der Algorithmus dies auch immer aus. Wenn die Zahl zusammengesetzt, d.h., keine Primzahl, ist, dann irrt er sich mit Wahrscheinlichkeit kleiner gleich 1 2. Das bedeutet auch, dass man sich auf den Test verlassen kann, wenn er behauptet, dass eine Zahl zusammengesetzt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 164

166 Primzahltests Wir zeigen also, dass folgendes Problem in RP liegt: COMPOSITE Eingabe: eine natürliche Zahl n > 1 Ausgabe: ist n zusammengesetzt, d.h., gibt es natürliche Zahlen k, l > 1 mit n = k l? Das Komplement von COMPOSITE ist das Problem PRIMES, das auch in RP (und sogar in P) liegt. Allerdings werden wir das hier nicht zeigen. PRIMES Eingabe: eine natürliche Zahl n > 1 Ausgabe: ist n eine Primzahl? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 165

167 Primzahltests Die erste Idee, die hinter dem Miller-Rabin-Primzahltest steckt, ist die folgende: Fermat-Zeugen Sei n > 1 eine natürliche Zahl und a {1,..., n 1}. Falls a n 1 mod n 1 gilt, so ist n zusammengesetzt. Man nennt a dann auch einen Fermat-Zeugen dafür, dass n zusammengesetzt ist. Diese Behauptung folgt unmittelbar aus dem Satz von Euler-Fermat (siehe weiter oben im Abschnitt über RSA). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 166

168 Primzahltests Idee: Für ein gegebenes n wähle ein zufälliges a {1,..., n 1} und teste, ob a n 1 mod n 1. Falls ja, gebe zusammengesetzt zurück, ansonsten prim. Dieser extrem einfach Test funktioniert sogar beinahe. Er schlägt nur für sogenannte Carmichael-Zahlen fehl, das sind zusammengesetzte Zahlen, die sehr wenige Fermat-Zeugen haben. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 167

169 Primzahltests Carmichael-Zahlen Eine zusammengesetzte Zahl n heißt Carmichael-Zahl, falls alle Fermat-Zeugen dieser Zahl nicht teilerfremd zu n sind. D.h., jedes a {1,..., n 1} mit ggt (a, n) = 1 erfüllt a n 1 mod n = 1. Bemerkung: Für alle n gilt: ein Nicht-Fermat-Zeuge a für n ist immer teilerfremd zu n. Die kleinste solche Carmichael-Zahl ist 561 = Es ist außerdem bekannt, dass jede Carmichael-Zahl ungerade ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 168

170 Primzahltests Wenn eine Zahl keine der relative seltenen Carmichael-Zahlen ist, dann gibt es sogar sehr viele Fermat-Zeugen. Anzahl der Fermat-Zeugen Sei n eine zusammengesetzte Zahl, die keine Carmichael-Zahl ist. Dann ist die Anzahl der Fermat-Zeugen in {1,..., n 1} größer gleich n 2. Beweis: Zur Erinnerung: die Elemente von Z n = {a {1,..., n 1} ggt (a, n) = 1} bilden eine Gruppe bezüglich der Multiplikation. Wir betrachten nun B = {a Z n a n 1 mod n = 1}. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 169

171 Primzahltests Man kann leicht zeigen, dass B eine Untergruppe von Z n ist (1 B und B ist abgeschlossen unter Multiplikation und Inversenbildung). B ist eine Untergruppe von Z n ist aber nicht gleich Z n, denn da n keine Carmichael-Zahl ist, enthält Z n mindestens einen Fermat-Zeugen. Nach dem Satz von Lagrange ist die Anzahl der Elemente einer Untergruppe ein Teiler der Anzahl der Elemente der gesamten Gruppe. Daher gilt B Z n 2 < n 2. Außerdem sind alle Elemente von Z n \Z n Fermat-Zeugen. Daher ist die Zahl der Nicht-Fermat-Zeugen durch n 2 beschränkt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 170

172 Primzahltests Für Carmichael-Zahlen benötigen wir nun noch ein zusätzliches Kriterium. Miller-Zeuge Sei n > 1 und sei b {1,..., n 1} mit b 1 b n 1 b 2 mod n = 1 Dann ist n eine zusammengesetzte Zahl. Die Zahl b heißt auch Miller-Zeuge für n oder nicht-triviale Quadratwurzel von 1. Beweis: es gilt n (b 2 1) = (b 1)(b + 1), jedoch n b 1 und n b + 1. Damit kann n keine Primzahl sein, denn wenn eine Primzahl ein Produkt teilt, teilt sie auch einen der Faktoren. Bemerkung: b mod n n 1 ist äquivalent zu b 1 (mod n). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 171

173 Primzahltests Man kann nun folgendes zeigen: Wahrscheinlichkeit für einen Miller-Zeugen Gegeben sei eine Carmichael-Zahl n, insbesondere ist damit n ungerade. Sei außerdem n 1 = 2 k m mit m ungerade und k 1. Für ein zufällig gewähltes a ist die Wahrscheinlichkeit, dass sich in 2i der Menge {a m mod n 0 i < k} ein Miller-Zeuge für n befindet, größer gleich 1 2. Der Beweis ist recht technisch, ist jedoch ähnlich zu dem Nachweis, dass eine Zahl n, die keine Carmichael-Zahl ist, mehr als n 2 Fermat-Zeugen hat. Auch hier wird der Satz von Lagrange verwendet. Bei Zahlen, die keine Carmichael-Zahlen sind, ist die Wahrscheinlichkeit, einen Miller-Zeugen zu finden, viel geringer. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 172

174 Primzahltests Man sucht nun nicht zufällig nach solchen Miller-Zeugen, sondern nutzt folgende Tatsachen aus: Angenommen, n ist ungerade und der Test für den Fermat-Zeugen schlägt fehl, d.h., a n 1 mod n = 1. Sei nun n 1 = 2 k m für k 1 und m ungerade. Falls a m mod n = 1 gilt, dann geben wir auf und geben (evtl. zu Unrecht) aus, dass die Zahl eine Primzahl ist. Ansonsten (a m mod n 1) quadrieren wir die Zahl a m immer wieder, bis a 2k m erreicht ist. Da letztere Zahl kongruent 1 modulo n ist, erreichen wir irgendwann den ersten Index i mit a 2i m mod n = 1 (und dies gilt auch für Indizes größer als i). Falls nun a 2i 1 m mod n n 1 gilt, so haben wir einen Miller-Zeugen b = a 2i 1 m gefunden ( Zahl ist zusammengesetzt!). Ansonsten geben wir wieder auf und geben prim aus. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 173

175 Primzahltests Bemerkung: in der Folge a m mod n,..., a 2i m mod n,..., a 2k m mod n = a n 1 mod n können nur folgende Muster auftauchen. 1, 1,..., 1 Primzahl??,...,?, 1,..., 1 zusammengesetzte Zahl!?,...,?, n 1, 1,..., 1 Primzahl??,...,? bzw.?,...,?, n 1 zusammengesetzte Zahl! (kann nur auftreten, falls a n 1 mod n 1 und damit a ein Fermat-Zeuge ist) Dabei steht? für eine Zahl ungleich 1 und ungleich n 1. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 174

176 Primzahltests Beispiel: Sei n = 561. Wir wählen zufällig a = 5 und testen, ob a ein Fermat-Zeuge für n ist: mod 561 = 1. D.h., 5 ist kein Fermat-Zeuge. Es gilt 560 = Wir berechnen 5 35 mod 561 = mod 561 = 23 2 mod 561 = mod 561 = mod 561 = mod 561 = mod 561 = mod 561 = 67 2 mod 561 = 1 (Das wurde vorher schon berechnet!) Also ist b = 67 ein Miller-Zeuge und das Verfahren gibt aus, dass 561 zusammengesetzt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 175

177 Primzahltests Das Verfahren kann effizient so implementiert werden, dass zunächst a m mod n berechnet wird und dann sukzessive Quadrate genommen werden. Miller-Rabin-Primzahltest Eingabe: eine ungerade natürliche Zahl n 3 Wähle zufällig ein a {1,..., n 1} falls ggt (a, n) 1, gebe zusammengesetzt aus sei n 1 = 2 k m mit m ungerade falls a m mod n = 1, gebe prim aus for i = 0 to k 1 do falls a 2i m mod n = n 1, dann gebe prim aus end gebe zusammengesetzt aus Gerade natürliche Zahlen müssen separat getestet werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 176

178 Primzahltests Zusammenfassung (Miller-Rabin-Primzahltest): Es gibt ein Verfahren, das bei Eingabe einer natürlichen Zahl n prim oder zusammengesetzt ausgibt, wobei mit einer Wahrscheinlichkeit größer gleich 1 2 zusammengesetzt ausgegeben wird, wenn n zusammengesetzt ist. immer prim ausgegeben wird, wenn n eine Primzahl ist. Das Verfahren hat außerdem polynomiale Laufzeit. Daher folgt COMPOSITE RP. Man kann auch PRIMES RP nachweisen, daher gilt COMPOSITE RP co-rp = ZPP und auch PRIMES ZPP. Inzwischen wurde sogar gezeigt, dass PRIMES P gilt (Agrawal, Kayal, Saxena). Dennoch wird der probabilistische Test noch bevorzugt, da er wesentlich effizienter ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 177

179 Primzahltests Weitere Bemerkungen: Ein wichtiges Konzept in der Komplexitätstheorie sind sogenannte Zeugen oder Zertifikate, die garantieren, dass ein Wort x in einer Sprache L liegt. Für probabilistische Komplexitätsklassen ist die Situation wie folgt: Gibt es für jedes Wort x ausreichend viele Zeugen für x L und x L, so liegt L in ZPP. Gibt es für jedes Wort x ausreichend viele Zeugen für x L, so liegt L in RP. Gibt es keine Zeugen, aber erhält hat man trotzdem ausreichend hohe Wahrscheinlichkeiten dafür, dass x L bzw. x L gilt, so liegt L in BPP. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 178

180 Einwegfunktionen Wir betrachten nun sogenannte Einwegfunktionen, das sind intuitiv Funktionen, die leicht zu berechnen sind sie liegen in FP und deren Umkehrung fast immer schwer zu berechnen ist. Zusätzlich fordert man im Allgemeinen auch noch, dass die Umkehrung sogar dann schwer zu berechnen ist, wenn man ein probabilistisches Verfahren verwendet. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 179

181 Einwegfunktionen Wir betrachten im Folgenden nur ehrliche Funktionen. Das sind Funktionen, die ihre Eingabe nicht zu stark verkürzen. Denn wenn die Größe des Urbildes nicht polynomial in der Größe des Bildes ist, dann kann das Urbild sowieso nicht in polynomialer Zeit gefunden werden. Damit gäbe es triviale Einwegfunktionen, an denen wir aber nicht interessiert sind. Ehrliche Funktionen Eine Funktion f : Σ Γ heißt ehrlich, falls es ein Polynom q gibt, so dass für alle x Σ gilt: x q( f (x) ) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 180

182 Einwegfunktionen Außerdem benötigen wir um ausdrücken zu können, dass die Wahrscheinlichkeit ein Kryptosystem zu entschlüsseln vernachlässigbar gering ist den Begriff einer vernachlässigbaren Funktion. Vernachlässigbare Funktion Eine Funktion r : N 0 R + 0 heißt vernachlässigbar, wenn es für jedes Polynom p (mit p : N 0 N 0 ) eine Zahl C N 0 gibt mit für n > C. r(n) < 1 p(n) Anschaulich: wenn der Funktionswert n groß genug ist, dann fällt r schneller als jedes Polynom. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 181

183 Einwegfunktionen Einwegfunktion Eine Funktion f : {0, 1} {0, 1} heißt Einwegfunktion, falls f liegt in FP, f ist ehrlich und für jede probabilistische polynomzeitbeschränkte Turingmaschine M ist die Wahrscheinlichkeit vernachlässigbar, dass M ein korrektes Urbild für f (x) berechnet, falls x zufällig aus der Menge {0, 1} n gewählt wird. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 182

184 Einwegfunktionen Wir betrachten den dritten Punkt der Definition noch etwas genauer: Notation: M(y) sei eine Zufallsvariable, die die Ausgabe der probabilistischen Turingmaschine M bei Terminierung angibt, wenn die Turingmaschine mit Eingabe y gestartet wurde. f (M(f (x))) = f (x) bedeutet, dass die Turingmaschine M korrekt ein Urbild von f (x) berechnet hat. Da f nicht bijektiv sein muss, können wir nicht erwarten, dass dieses Urbild auch gleich x sein muss. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 183

185 Einwegfunktionen Welche Wahrscheinlichkeit genau ist vernachlässigbar? Elementarereignisse: die Elementarereignisse stammen aus der Menge Ω = {0, 1} n {0, 1} q(q (n)), wobei q das Polynom ist, das die Laufzeit von M beschränkt und q das Polynom ist, das die Laufzeit der Maschine beschränkt, die f berechnet. D.h., ein Elementarereignis ist ein Paar bestehend aus einem Wort x {0, 1} n und einem Zufallsbit-String b. Alle Elementarereignisse sind gleich wahrscheinlich. Wir betrachten nun folgende Zufallsvariable XM n : XM n (x, b) 1 falls M bei Eingabe f (x) und mit Zufallsbits b = ein Urbild von f (x) bestimmt 0 sonst Beschränkt wird also die Wahrscheinlichkeit r(n) = P(X n M = 1) = P(f (M(f (x))) = f (x)), wobei n die Länge von x ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 184

186 Einwegfunktionen Warum fordert man nicht sogar, dass P(f (M(f (x))) = f (x)) für jedes x {0, 1} n vernachlässigbar ist? Die Elementarereignisse würden in diesem Fall nur aus den Zufallsbit-Strings bestehen. Solche Einwegfunktionen kann es gar nicht geben! Man kann nie verhindern, dass der Entschlüsselungsalgorithmus auf bestimmten verschlüsselten Nachrichten korrekt funktioniert. Beispielsweise könnte die Turingmaschine immer eine feste Nachricht ausgeben. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 185

187 Faktorisierung Wir betrachten nun einige mögliche Kandidaten für Einwegfunktionen, zunächst die Funktion pmult: Primzahlmultiplikation pmult pmult(p, q) = p q, wobei p, q beide k-bit Primzahlen sind. Die Funktion pmult liegt in FP. Die Umkehrfunktion müsste die Faktorisierung eines Produkts von Primzahlen bestimmen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 186

188 Faktorisierung Als Entscheidungsproblem kann man das Faktorisierungsproblem folgendermaßen darstellen: Faktorisierung Eingabe: Zwei Zahlen n, r N 0, wobei n das Produkt von zwei k-bit Primzahlen ist. Ausgabe: Besitzt n einen Faktor p 1, der kleiner als r ist? Eine andere Variante des Entscheidungsproblems fragt, ob das i-te Bit des kleineren Faktors gleich 1 ist. Beide Probleme liegen in NP, es ist jedoch nicht bekannt, ob sie NP-vollständig sind. Auch aus dem Beweis der NP-Vollständigkeit und aus P NP kann man nicht notwendigerweise schließen, dass pmult eine Einwegfunktion ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 187

189 Faktorisierung Auch wenn nicht klar ist, ob pmult wirklich eine Einwegfunktion ist, so ist dies durch den RSA Factoring Challenge zumindest empirisch überprüft worden: Factoring Challenge Es gibt darin immer noch zahlreiche Produkte von Primzahlen, die bisher noch nicht faktorisiert wurden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 188

190 Diskreter Logarithmus Um den diskreten Logarithmus definieren zu können, benötigen wir zunächst einige Begriffe: Primitivwurzel modulo m Eine Zahl g {0,..., m 1} heißt Primitivwurzel modulo m, falls g ein Generator der multiplikativen Gruppe Z m = {a {1,..., m 1} ggt (a, m) = 1} ist. D.h., es muss gelten: {g k mod m k N 0 } = Z m Bemerkung: Es gilt Z m = ϕ(m). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 189

191 Diskreter Logarithmus Bemerkungen: Nicht für alle m N 0 gibt es Primitivwurzeln. Es gibt jedoch auf jeden Fall Primitivwurzeln, falls m eine Primzahl ist. Nicht jedes Element von Z p ungleich 1 ist eine Primitivwurzel, auch wenn p eine Primzahl ist. Beispielsweise gilt für p = 7: 2 0 mod 7 = 1, 2 1 mod 7 = 2, 2 2 mod 7 = 4, 2 3 mod 7 = 1 2 ist keine Primitivwurzel modulo mod 7 = 1, 3 1 mod 7 = 3, 3 2 mod 7 = 2, 3 3 mod 7 = 6, 3 4 mod 7 = 4, 3 5 mod 7 = 5, 3 6 mod 7 = 1 3 ist eine Primitivwurzel modulo 7 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 190

192 Diskreter Logarithmus Wir betrachten die Funktion dexp: Diskrete Exponentialfunktion Gegeben seien eine Primzahl p, eine Primitivwurzel g modulo p und x Z p = {1,..., p 1}. Wir definieren dexp(p, g, x) = (p, g, g x mod p) Die Funktion dexp liegt in FP. Die Umkehrfunktion, die aus g x mod p (und p und g) den eindeutig bestimmten Exponenten x berechnet heißt diskreter Logarithmus und gilt als schwer zu berechnen. Auch für den diskreten Logarithmus existiert ebenfalls ein dazugehöriges Entscheidungsproblem. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 191

193 Einwegfunktionen Mit Hilfe von Einwegfunktionen könnte man symmetrische Verschlüsselung realisieren. Dazu müssten Einwegfunktionen jedoch existieren. Existieren Einwegfunktionen? das weiß man nicht genau. Man weiß nur, dass folgendes aus der Existenz von Einwegfunktionen folgen würde: P NP und NP BPP es gibt (sichere) symmetrische Verschlüsselungsverfahren, die mit kurzen Schlüsseln arbeiten (anders als der One-Time-Pad) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 192

194 Einwegfunktionen Falls Einwegfunktionen existieren, dann gilt P NP. Außerdem gilt dann NP BPP, d.h., es gibt eine Sprache in NP\BPP. Beweis: sei f : {0, 1} {0, 1} eine Einwegfunktion und sei L f = {(x, y) u {0, 1} : f (xu) = y}. L f liegt in NP, denn u kann geraten und in Polynomzeit überprüft werden. Falls P = NP gilt, so wäre L f in Polynomzeit entscheidbar, und man kann L f dazu benutzen, um in Polynomzeit ein Urbild für einen gegebenen Funktionswert f (x) zu bestimmen. (Siehe Argumentation für die sehr ähnliche Sprache L E weiter oben.) Das ist ein Widerspruch dazu, dass f eine Einwegfunktion ist. Außerdem kann L f nicht in BPP liegen, denn dann gäbe es eine probabilistische Turingmaschine, die mit ausreichend hoher Wahrscheinlichkeit Urbilder finden würde. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 193

195 Einwegfunktionen Bemerkung: Es ist nicht bekannt, ob die umgekehrten Folgerungen gelten: d.h., man weiß nicht, ob aus P NP oder NP BPP die Existenz einer Einwegfunktion folgt. (Das liegt daran, dass eine Einwegfunktion nicht nur im worst-case schwer zu invertieren sein sollte.) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 194

196 Einwegfunktionen Eine beliebige Einwegfunktion wenn sie existieren sollte kann man nicht direkt für symmetrische Verschlüsselung verwenden. Der Grund dafür ist, dass es auch eine dazugehörige Entschlüsselungsfunktion geben muss, die leicht zu berechnen ist. Aber: die Existenz von Einwegfunktionen garantiert die Existenz von Pseudo-Zufallsgeneratoren. Pseudo-Zufallsgenerator (informell) Ein Pseudo-Zufallsgenerator ist ein deterministisches Verfahren, das aus einem gegebenem Startwert eine Sequenz von Bits erzeugt, die von einer probabilistischen polynomzeit-beschränkten Turingmaschine nicht von einer zufällig erzeugten Bit-Sequenz unterschieden werden kann. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 195

197 Einwegfunktionen Anwendungen für Pseudo-Zufallsgeneratoren: Nach Austausch eines symmetrischen Schlüssels kann dieser als Startwert für einen Pseudo-Zufallsgenerator verwendet werden. Damit kann der One-Time-Pad simuliert werden und sichere symmetrische Verschlüsselung erreicht werden. Generierung von Nonces. Generierung von Zufallszahlen für randomisierte Verfahren, Derandomisierung von randomisierten Verfahren. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 196

198 Falltürfunktionen Für asymmetrische Verschlüsselung müssen wir noch mehr fordern: spezielle Einwegfunktionen, sogenannte Falltürfunktionen. Falltürfunktion (informell) Die Verschlüsselungsfunktion E eines asymmetrischen Kryptosystems heißt Falltürfunktion, wenn E in Polynomzeit berechenbar ist, wenn der öffentliche Schlüssel bekannt ist, die Entschlüsselungsfunktion D in Polynomzeit berechenbar ist, wenn der private Schlüssel bekannt ist und die Wahrscheinlichkeit (für eine probabilistische polynomzeitbeschränkte Turingmaschine), für zufällig gewählte Nachrichten und Schlüssel, E nur unter Kenntnis des öffentlichen Schlüssels zu invertieren, vernachlässigbar ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 197

199 Falltürfunktionen Das heißt, es gibt eine geheime Falltür (den privaten Schlüssel), mit Hilfe derer die Verschlüsselungsfunktion doch einfach zu invertieren ist. Man vermutet, dass das RSA-Kryptosystem eine Falltürfunktion darstellt. Dies ist jedoch nicht bewiesen, denn die Existenz einer Falltürfunktion würde auch die Existenz von Einwegfunktionen garantieren. Außerdem ist unklar, ob daraus, dass die Primzahlmultiplikation eine Einwegfunktion ist, folgt, dass die RSA-Funktion eine Falltürfunktion ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 198

200 Falltürfunktionen Immerhin weiß man aber folgendes über die Sicherheit von RSA: Faktorisierungsalgorithmus durch Kenntnis der RSA-Schlüssel Falls die RSA-Schlüssel (e, n) und (d, n) bekannt sind, gibt es einen probabilistischen Polynomzeit-Algorithmus, der n in die Faktoren p, q aufspaltet. D.h., man kann zeigen, dass das Finden des privaten Schlüssels gleichbedeutend mit der Faktorisierung von n ist. Das bedeutet nicht, dass das Brechen des Kryptosystems gleichbedeutend mit der Faktorisierung ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 199

201 Falltürfunktionen Beweis (Skizze): wir betrachten n, e, d, wobei n = p q das Produkt zweier Primzahlen ist. Außerdem sind e, d modulo ϕ(n) = (p 1) (q 1) zueinander invers. Das Produkt e d ist ungerade, denn es gilt e d 1 (mod ϕ(n)) und ϕ(n) ist eine gerade Zahl. Sei nun e d 1 = 2 k m mit m ungerade. Man wählt zufällig ein a {1,..., n 1}. Falls ggt (a, n) 1, dann haben wir mit ggt (a, n) einen Teiler von n gefunden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 200

202 Falltürfunktionen Falls ggt (a, n) = 1, dann gilt a ed 1 a z ϕ(n) 1 (mod n). Das Verfahren zur Faktorisierung von n beruht nun auf der Tatsache, dass für ein zufällig gewähltes solches a die Wahrscheinlichkeit, in der Menge {a 2i m 0 i < k} einen Miller-Zeugen für n zu finden, größer gleich 1 2 ist (ohne Beweis). Angenommen, b wäre ein solcher Miller-Zeuge, d.h., n (b 2 1), aber n (b 1) und n (b + 1). D.h., es gilt p (b 1) und q (b + 1) (oder umgekehrt). Man bestimmt nun p = ggt (b 1, n) und q = n p. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 201

203 Die fünf Welten von Impagliazzo Es ist unbekannt, ob Einweg- und Falltürfunktionen existieren. Diese Frage hängt mit der Frage nach P NP zusammen, ist aber nicht gleichbedeutend. In seinem Artikel A Personal View of Average-Case Complexity hat Russell Impagliazzo die möglichen Antworten auf diese Fragen zusammengestellt und fünf daraus resultierende mögliche Welten beschrieben. Er geht dabei davon aus, dass wenn ein Problem in P liegt der dazugehörige Polynomzeitalgorithmus bekannt und praktikabel ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 202

204 Die fünf Welten von Impagliazzo Algorithmica In Algorithmica gilt P = NP (oder zumindest NP BPP, was im wesentlichen dieselben Auswirkungen hat). Fast alle Optimierungsprobleme wären einfach. Programme müssten nur noch die Eigenschaften der Ausgabe beschreiben, das Berechnungsverfahren kann automatisch generiert werden. Es gibt keine Einweg- oder Falltürfunktionen. Alle Kryptosysteme, die mit beschränkten Schlüssellängen arbeiten, sind einfach zu brechen. Es gibt keine Authentifizierungsverfahren. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 203

205 Die fünf Welten von Impagliazzo Heuristica Heuristica ist die Welt, in der NP-Probleme im worst-case schwierig zu lösen sind, aber fast alle zufällig gewählten Instanzen einfach sind. Insbesondere können schwere Instanzen nur mit großem Aufwand gefunden werden. Da schwere Probleme sehr selten sind, können in der Praxis fast alle Aufgabenstellungen (aus NP) effizient gelöst werden. Auch in Heuristica ist Kryptographie im wesentlichen nicht möglich, da schwere Instanzen d.h., schwer zu entschlüsselnde Nachrichten nicht verläßlich produziert werden können. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 204

206 Die fünf Welten von Impagliazzo Pessiland Pessiland ist nach Impagliazzo die schlimmste aller Welten. Es ist einfach, schwere Instanzen von NP-Problemen zu finden, aber es ist nicht möglich, verläßlich schwere und gelöste Instanzen zu erzeugen. Es gibt wenige Vorteile für das Lösen von Problemen. Es gibt keine Einwegfunktionen, denn Einwegfunktionen sind gerade ein Verfahren, um effizient schwere und gelöste Instanzen (das Bild der zu versendenden Nachricht unter der Einwegfunktion) zu generieren. Ebensowenig ist Authentifizierung möglich. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 205

207 Die fünf Welten von Impagliazzo Minicrypt In Minicrypt kann man schwere und gelöste Instanzen von NP-Problemen generieren, d.h., es existieren Einwegfunktionen. Aber es gibt keine Falltürfunktionen. Es gibt wenige positive algorithmische Aspekte. Man kann jedoch aus Einwegfunktionen Pseudo-Zufallsgeneratoren erzeugen und damit probabilistische Algorithmen derandomisieren. Symmetrische Verschlüsselung und Authentifizierung sind möglich. Asymmetrische Verschlüsselungsverfahren sind nicht möglich. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 206

208 Die fünf Welten von Impagliazzo Cryptomania In Cryptomania existieren zusätzlich noch Falltürfunktionen. Es gibt immer noch Einwegfunktionen, Pseudo-Zufallsgeneratoren, etc. und auch hier sind symmetrische Verschlüsselung und Authentifizierung möglich. Zusätzlich sind auch asymmetrische Verschlüsselung und zahlreiche andere kryptographische Protokolle (Austausch von geheimen Schlüsseln, digitale Signaturen, elektronische Wahlen, elektronische Bezahlverfahren, etc.) möglich. Cryptomania entspricht von den praktischen Auswirkungen her am ehesten unserer heutigen Welt. Es ist aber nicht klar, ob wir wirklich in Cryptomania leben! Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 207

209 Kryptographische Protokolle: Motivation Falls wir in Cryptomania leben, gibt es Falltürfunktionen und asymmetrische Verschlüsselung. Damit kann man zahlreiche interessante kryptographische Protokolle gewinnen. Digitale Unterschriften Authentifizierungs- und Identifizierungs-Protokolle Zero-Knowledge-Protokolle Münzwurf über das Telefon Secure Multi-Party Computations Wir werden uns im Folgenden einige davon genauer ansehen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 208

210 Digitale Unterschriften Ein asymmetrisches Kryptosystem, das kommutativ ist, kann auch für digitale Unterschriften verwendet werden. Kommutatives, asymmetrisches Kryptosystem Ein asymmetrisches Kryptosystem heißt kommutativ, falls M = CM und folgende Bedingung für die Verschlüsselungsfunktion E : M K e M und die Entschlüsselungsfunktion D : M K d M gilt: D(E(m, e), d) = E(D(m, d), e) für jedes m M und jedes Schlüsselpaar (e, d) K. Beispiel: RSA ist kommutativ, denn es gilt: D(E(m, (e, n)), (d, n)) = D(m e mod n, (d, n)) = (m e ) d mod n = (m d ) e mod n = E(m d mod n, (e, n)) = E(D(m, (d, n)), (e, n)) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 209

211 Digitale Unterschriften Digitale Unterschrift Alice, die eine Nachricht m an Bob schicken will, entschlüsselt diese mit ihrem privaten Schlüssel d A, erhält s = D(m, d A ) und schickt (m, s) an Bob. Bob verschlüsselt s mit Hilfe von Alice öffentlichem Schlüssel e A und überprüft, ob E(s, e A ) = m. Falls ja, so akzeptiert er die Unterschrift. Aufgrund der Kommutativität des Kryptosystems ergibt sich aus einer korrekten Signatur wieder die ursprüngliche Nachricht. Nur Alice kennt d A und sie hat durch die Erzeugung von s nachgewiesen, dass sie d A besitzt. Denn ohne Kenntnis von d A ist die Entschlüsselung zu aufwändig (unter der Annahme, dass E eine Falltürfunktion ist). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 210

212 Digitale Unterschriften Weitere Bemerkungen: Wenn ein Kryptosystem auch zum Signieren verwendet wird, so ist relativ leicht, einen Chosen-Ciphertext-Angriff auf das Kryptosystem durchführbar: man bringt den Teilnehmer dazu, den gewählten Ciphertext zu signieren. In der Praxis wird nicht die gesamte Nachricht, sondern ein Hashwert, der aus der Nachricht gebildet wird, entschlüsselt und als Signatur mitgeschickt. Allerdings muss dann eine Hashfunktion gewählt werden, so dass es schwierig ist, zwei Nachrichten mit demselben Hashwert zu finden (Kollision). In diesem Fall könnte der Angreifer Alice eine Nachricht unterschreiben lassen, aber die andere mit dieser Signatur verschicken. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 211

213 Identifizierung und Authentifizierung Identifizierungs- und Authentifizierungsverfahren dienen dazu, dass Teilnehmer in einem Netzwerk gegenüber anderen eindeutig ihre Identität nachweisen können. Dies geschieht zumeist dadurch, dass sie nachweisen, ein Geheimnis zu kennen, das nur diesem bestimmten Teilnehmer bekannt sein sollte. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 212

214 Identifizierung und Authentifizierung Ein typisches Identifizierungsverfahren ist das folgende: dabei kommunizieren Victor ( Verifier ) und Peggy ( Prover ). Peggy möchte sich gegenüber Victor identifizieren. Challenge-Response-Schema mit öffentlichem Schlüssel Victor wählt eine Zufallszahl (einen Nonce) r und berechnet den dazugehörigen Hashwert x = h(r). Er verwendet den öffentlichen Schlüssel e P von Peggy, berechnet den Challenge c = E(r, e P ) und schickt c, x an Peggy (gemeinsam mit seiner Identität). Peggy beschließt, sich Victor gegenüber zu identifizieren. Sie berechnet r = D(c, d P ) und überprüft, ob x = h(r). Dann schickt sie r an Victor. Victor akzeptiert den Beweis von Peggys Identität, falls sie den korrekten Wert r zurückliefert. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 213

215 Identifizierung und Authentifizierung Bemerkungen: Durch die Entschlüsselung signiert Peggy den Challenge c. Sie weist dadurch wie bei einer Signatur nach, dass sie ihren privaten Schlüssel kennt. Eine Zufallszahl r (statt einer festen Zahl) wird verwendet, damit kein Replay-Angriff durchgeführt werden kann. Durch den Hashwert x weiß Peggy, dass Victor den Wert r bereits kennt. Sie gibt ihm damit keine zusätzlichen Informationen und liefert ihm dadurch keine bisher unbekannte Signatur. Dieses Schema hat Vorteile gegenüber einer Passwort-basierten Identifizierung. Es muss kein Passwort ausgetauscht werden und auch wenn ein Angreifer die Kommunikation abhört, kann er sich anschließend nicht als Peggy ausgeben. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 214

216 Identifizierung und Authentifizierung Wir wollen garantieren, dass Peggy außer ihrer Identität Victor gegenüber keine weiteren Informationen verrät (beispielsweise ihren öffentlichen Schlüssel). Insbesondere sind wir an Protokollen interessiert, bei denen Peggy Victor davon überzeugen kann, ein Geheimnis zu kennen, ohne dieses Geheimnis selbst zu verraten. Solche Protokolle sind unter dem Namen Zero-Knowledge-Protokolle bekannt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 215

217 Interaktive Beweissysteme Wir beschreiben zunächst interaktive Beweissysteme, bei denen noch nicht unbedingt verlangt wird, dass keine Informationen preisgegeben werden. Es gibt eine Eingabe x Σ, die beide Partner kennen. Victor und Peggy senden sich wechselseitig Nachrichten und stellen Anfragen. Victor entscheidet zuletzt, ob x akzeptiert wird. Man macht dabei folgende Beschränkungen: Victor ist eine polynomzeitbeschränkte probabilistische Turingmaschine. Peggy hat unbeschränkte Resourcen, insbesondere darf sie nicht-deterministisch arbeiten, beliebig viel Zeit verbrauchen und Zufallsbits verwenden. Es werden nur polynomial viele Nachrichten ausgetauscht, die auch nur polynomiale Länge haben. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 216

218 Interaktive Beweissysteme Wir betrachten ein interaktives Beweissystem für Nicht-Graphisomorphie, ein Problem, von dem nicht bekannt ist, ob es in NP oder in BPP liegt. NON-GRAPHISO Eingabe: ein Paar (G 1, G 2 ), bestehend aus zwei ungerichteten Graphen G 1 = (V 1, E 1 ), G 2 = (V 2, E 2 ). Dabei gilt V 1 = V 2 = {1,..., n} und eine Kante e E i ist eine zweielementige Knotenmenge. Ausgabe: Sind die Graphen G 1, G 2 nicht isomorph? Das heißt, es gibt keine Permutation π : V 1 V 2, so dass {v 1, v 2 } E 1 genau dann, wenn {π(v 1 ), π(v 2 )} E 2. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 217

219 Interaktive Beweissysteme Beispiel: wir betrachten folgende zwei Graphen G 1, G G 1 und G 2 sind isomorph, d.h., (G 1, G 2 ) NON-GRAPHISO. Eine Permutation, die die Isomorphie nachweist ist π : {1, 2, 3, 4} {1, 2, 3, 4} mit π(1) = 2, π(2) = 1, π(3) = 4, π(4) = 3. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 218

220 Interaktive Beweissysteme Das interaktive Beweissystem für NON-GRAPHISO funktioniert wie folgt: seien G 1, G 2 zwei Graphen, beide mit Knotenmenge {1,..., n}. 1 Victor wählt eine Zufallszahl i {1, 2} und eine zufällige Permutation π : {1,..., n} {1,..., n}. 2 Victor benennt die Knoten von G i mit Hilfe von π um und erhält dadurch H = π(g i ). Er schickt H an Peggy und fragt nach einem Index i, so dass G i und H isomorph sind. 3 Peggy antwortet mit einem Index j. 4 Victor akzeptiert, falls i = j. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 219

221 Interaktive Beweissysteme Falls G 1 und G 2 nicht isomorph sind, so kann Peggy mit ihren unbeschränkten Resourcen immer herausfinden, ob H isomorph zu G 1 oder zu G 2 ist und eine korrekte Antwort schicken. Falls die Graphen isomorph sind, so kann Peggy nur raten und kann daher nur in der Hälfte der Fälle eine korrekte Antwort schicken. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 220

222 Interaktive Beweissysteme Interaktives Beweissystem für eine Sprache Eine Sprache L hat ein polynomiales interaktives Beweissystem, wenn es ein wie oben beschriebenes interaktives Beweissystem gibt, das folgende Bedingung erfüllt: es gibt einen Verifier V und einen Prover P, wobei folgendes gilt. falls x L liegt, dann ist die Wahrscheinlichkeit, dass V, P gemeinsam das Wort x akzeptieren, größer gleich 3 4. falls x L liegt, dann ist für jeden (potentiell bösartigen) Prover P die Wahrscheinlichkeit, dass V, P gemeinsam das Wort x akzeptieren, kleiner gleich 1 4. IP ist die Menge aller Sprachen, die ein polynomiales interaktives Beweissystem haben. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 221

223 Interaktive Beweissysteme Bemerkungen: Intuitiv ist P der gutartige Prover, der in der Lage sein muss, den Verifier V mit hoher Wahrscheinlichkeit zu überzeugen. Ein bösartiger Prover P der V evtl. täuschen will hat nur eine niedrige Wahrscheinlichkeit, mit der er V überzeugen kann (falls das Wort nicht in der Sprache liegt). Wie bei den probabilistischen Komplexitätsklassen kann man die Wahrscheinlichkeit für Akzeptanz bzw. fehlerhafte Akzeptanz durch mehrfache Ausführung des Protokolls erhöhen bzw. vermindern. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 222

224 Interaktive Beweissysteme NON-GRAPHISO hat ein polynomiales interaktives Beweissystem, d.h., NON-GRAPHISO IP: Falls (G 1, G 2 ) NON-GRAPHISO, d.h., G 1, G 2 sind nicht isomorph, so antwortet Peggy immer richtig und Victor akzeptiert mit Wahrscheinlichkeit 1. Falls (G 1, G 2 ) NON-GRAPHISO, d.h., G 1, G 2 sind isomorph, so hat Peggy nur eine Wahrscheinlichkeit von 1 2 Victor zu Akzeptanz zu bewegen. Um die Akzeptanzwahrscheinlichkeit im Fehlerfall auf kleiner gleich 1 4 zu drücken, ist es erforderlich, das Beweissystem zweimal auszuführen, und auf Nicht-Isomorphie zu entscheiden, wenn Peggy beide Male den korrekten Index schickt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 223

225 Interaktive Beweissysteme Analogie: Biertester Im Finkenkrug gibt es zwei Sorten von Bier: Alt und Kölsch. Peggy behauptet, mit verbundenen Augen zwischen beiden unterscheiden zu können. Ihr werden die Augen verbunden und sie erhält in einer Testreihe in zufälliger Reihenfolge mit Alt und Kölsch gefüllte Gläser. Der Test gilt als bestanden, wenn Peggy alle Gläser korrekt erkennt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 224

226 Interaktive Beweissysteme Man weiß folgendes über die Beziehung zwischen NP und IP: NP IP Die Komplexitätsklasse NP ist eine Teilmenge von IP. Beweis: jedes Wort einer NP-Sprache besitzt ein Zertifikat polynomieller Länge, das in Polynomzeit verifiziert werden kann. (Ein Zertifikat, das immer funktioniert, ist die Angabe eines akzeptierenden Berechnungspfades in einer gegebenen nicht-deterministischen Turingmaschine.) Peggy kann dieses Zertifikat berechnen und an Victor schicken, wobei Victor das Zertifikat überprüft. Die Wahrscheinlichkeiten für korrekte Akzeptanz und fehlerhafte Akzeptanz sind sogar gleich 1 bzw. 0. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 225

227 Interaktive Beweissysteme BPP IP Die Komplexitätsklasse BPP ist eine Teilmenge von IP. Beweis: Für ein Problem in BPP kann der Verifier selbst ohne jede Interaktion mit dem Prover die Antwort mit der geforderten Wahrscheinlichkeit berechnen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 226

228 Interaktive Beweissysteme Von Adi Shamir stammt folgendes wichtige Resultat zu IP: IP = PSPACE Die Sprachen, die ein polynomiales interaktives Beweissystem haben, sind genau die Sprachen, die von (deterministischen) Turingmaschinen mit polynomialer Platzbeschränkung akzeptiert werden. Es existieren Sprachen in IP, von denen nicht bekannt ist, ob sie in NP liegen (beispielsweise NON-GRAPHISO). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 227

229 Zero-Knowledge-Protokolle Wir wollen nun präzisieren, was es bedeutet, dass durch ein interaktives Beweissystem kein Wissen preisgegeben wird. Perfekter Zero-Knowledge-Beweis Ein Ablauf eines interaktiven Beweissystems P, V auf einer Eingabe x erzeugt eine Folge von Nachrichten. Ein solches interaktives Beweissystem ist ein perfektes Zero-Knowledge-Beweissystem für L, wenn es für jeden möglicherweise bösartigen Verifier V eine probabilistische polynomzeitbeschränkte Turingmaschine M gibt, die bei einer Eingabe x L dieselbe Menge von Protokollabläufen wie V, P erzeugen kann, wobei die Protokollabläufe jeweils mit derselben Wahrscheinlichkeit wie in einem echten Beweis von V, P vorkommen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 228

230 Zero-Knowledge-Protokolle Bemerkungen: Die Turingmaschine M wird auch als Fälscher (engl. forger) bezeichnet. Ein Beobachter kann die Menge von Abläufen von V, P nicht von den von M erzeugten Abläufen unterscheiden. Es muss für jeden Verifier V gefordert werden, dass die Protokollabläufe von V, P simuliert werden können, denn es muss sichergestellt werden, dass nicht nur der gutartige Verifier V, der sich an das Protokoll hält, sondern auch ein bösartiger Verifier nicht in den Besitz von zusätzlichem Wissen kommen kann. Eine andere Definition (Computational Zero-Knowledge) fordert nur, dass die Wahrscheinlichkeitsverteilungen für die echten und gefälschten Protokollabläufe nicht in Polynomzeit unterschieden werden können. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 229

231 Zero-Knowledge-Protokolle Zero-Knowledge-Beweissystem für NON-GRAPHISO: Das vorgestellte interaktive Beweissystem für NON-GRAPHISO ist Zero-Knowledge, denn eine polynomzeitbeschränkte Turingmaschine M kann bei Eingabe von nicht-isomorphen Graphen G 1, G 2 die Interaktion dadurch simulieren, dass sie G i geeignet permutiert und anschließend selbst die Antwort i schickt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 230

232 Zero-Knowledge-Protokolle Analogie: Biertester Wenn Victor, der die Biersorten auswählt, und Peggy miteinander kooperieren, dann können sie eine Testreihe durchführen, bei der Peggy die Biersorten immer richtig benennt, auch wenn sie sie eigentlich nicht unterscheiden kann. Dazu muss vorab die Reihenfolge vereinbart werden oder Victor und Peggy einigen sich auf ein geheimes Zeichen. Ein Beobachter kann aus einem Ablauf kein zusätzliches Wissen gewinnen, denn der Ablauf könnte auch simuliert sein. Insbesondere weiß er nichts über die echten Fähigkeiten von Peggy. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 231

233 Zero-Knowledge-Protokolle Wir betrachten nun einen weiteren Zero-Knowledge-Beweis für GRAPHISO, das Komplement von NON-GRAPHISO. Von GRAPHISO ist bekannt, dass es in NP liegt, aber nicht, ob es NP-vollständig ist. 1 Peggy wählt eine zufällige Permutation π : {1,..., n} {1,..., n}. Sie wendet π auf G 1 an und erhält H = π(g 1 ). Dann schickt sie H an Victor. 2 Victor wählt eine Zufallszahl i {1, 2} und schickt diese an Peggy. 3 Peggy bestimmt eine weitere Permutation σ mit H = σ(g i ) und schickt σ an Victor. 4 Victor akzeptiert, falls σ(g i ) = H. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 232

234 Zero-Knowledge-Protokolle Aus ähnlichen Gründen wie zuvor ist dieses Protokoll ein interaktives Beweisprotokoll. Falls die Graphen G 1, G 2 isomorph sind, so akzeptieren Victor und Peggy gemeinsam mit Wahrscheinlichkeit 1, denn Peggy findet immer eine entsprechende Permutation σ. Falls die Graphen nicht isomorph sind, dann muss Peggy in der Hälfte der Fälle mit einer falschen Permutation σ antworten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 233

235 Zero-Knowledge-Protokolle Das Protokoll erfüllt außerdem die Zero-Knowledge-Bedingungen, denn ein Ablauf kann folgendermaßen von M simuliert werden: gegeben seien zwei isomorphe Graphen G 1, G 2, M kennt jedoch nicht den dazugehörigen Isomorphismus. M wählt eine zufällige Permutation σ und einen Index i. Dann bestimmt sie H = σ(g i ). Die simulierten Nachrichten sind der Reihe nach H, i, σ. Ein Beobachter kann nicht feststellen, dass H nicht unbedingt durch Permutation von G 1 gewonnen wurde. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 234

236 Zero-Knowledge-Protokolle Auch im Falle eines bösartigen Verifiers kann jeder Ablauf durch eine probabilistische Turingmaschine M simuliert werden. Insbesondere folgt aus der Tatsache, dass es sich um ein Zero-Knowledge-Protokoll handelt, dass der Verifier nicht in den Besitz von Informationen kommen kann, die er nicht selbst in probabilistischer Polynomzeit berechnen könnte. D.h., falls GRAPHISO nicht in BPP liegt (was nicht bekannt ist), dann gewinnt der Verifier aufgrund des Beweissystems keine Informationen über den Isomorphismus zwischen zwei gegebenen Graphen G 1, G 2. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 235

237 Zero-Knowledge-Protokolle Analogie: Verschlossene Tür In einem Gebäude mit dem folgenden Grundriss gibt es eine verschlossene Tür. Peggy behauptet, dass sie weiß, wie diese Tür geöffnet werden kann. Sie will nachweisen, dass sie die Tür öffnen kann, will aber niemanden zeigen, wie das funktioniert. linker Korridor X rechter Korridor Tür Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 236

238 Zero-Knowledge-Protokolle Der Test funktioniert folgendermaßen: sie betritt das Gebäude und geht ohne dass jemand dies beobachten kann entweder in den linken oder rechten Korridor. Anschließend stellt sich Victor mit etwaigen Zeugen auf den Punkt X. Er ruft anschließend entweder links oder rechts und Peggy muss auf diesem Korridor das Gebäude wieder verlassen. Dazu muss sie unter Umständen die Türe durchqueren. Wieder können Peggy und Victor gemeinsam einen korrekten Protokollablauf simulieren, indem sie sich vorher über die Folge von Links-/Rechts-Kommandos verständigen. Dieser Ablauf kann von einem Beobachter nicht von einem korrekt ablaufenden Test unterschieden werden. Außerdem kann auch ein bösartiger Victor kein zusätzliches Wissen über den Schließmechanismus der Tür erlangen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 237

239 Zero-Knowledge-Protokolle Jede Sprache L BPP hat trivialerweise ein Zero-Knowledge-Beweissystem. Eine solche Sprache benötigt keinen allmächtigen Prover, sondern der Verifier kann alle Berechnungen selbst ausführen. Damit werden keine Nachrichten ausgetauscht und das Interaktionsverhalten kann trivialerweise von einer weiteren Maschine M simuliert werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 238

240 Zero-Knowledge-Protokolle Falls Einwegfunktionen existieren, so kann man zeigen, dass jede Sprache in NP (und sogar jede Sprache in IP!) ein Zero-Knowledge-Beweissystem hat (im Sinne von Computational Zero-Knowledge). Wir werden uns dieses Resultat für NP genauer ansehen (unter der stärkeren Voraussetzung, dass bijektive Einwegfunktionen existieren). Dafür benötigt man jedoch zunächst Hilfsprotokolle... Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 239

241 Bit Commitment Bit Commitment (Problemstellung) Bob will, dass Alice sich auf den Wert eines Bits b {0, 1} festlegt. Alice könnte jetzt ein Bit wählen und an Bob schicken. Sie will aber, dass Bob erst später von ihrer Wahl erfährt. Wie kann Bob erreichen, dass sich Alice jetzt auf ein Bit festlegt und später wenn sie zusätzliche Informationen besitzt nicht bezüglich ihrer Festlegung lügen kann? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 240

242 Bit Commitment Anwendung: Alice und Bob wollen ein Zahlenratespiel spielen: Alice soll eine Zahl n {1,..., 100} wählen. Bob nennt eine Zahl m und Alice sagt, ob m < n, m = n oder m > n gilt. Bob rät so lange, bis er die korrekte Zahl gefunden hat. Er soll möglichst wenige Schritte brauchen. Alice hätte einen Vorteil, wenn sie ihre Zahl während des Spiels ändern kann. Von daher wäre es gut, wenn sie sich zu Beginn auf eine Zahl festlegen könnte, ohne dass Bob diese Zahl kennt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 241

243 Bit Commitment Voraussetzungen: Eine bijektive Einwegfunktion f (eine sogenannte Einweg-Permutation). Ein Hardcore-Prädikat B FP zu f, so dass B(x) {0, 1} nur mit einer Wahrscheinlichkeit p ε (wobei ε vernachlässigbar ist) in Polynomzeit vorhergesagt werden kann, wenn f (x) bekannt ist. Sowohl f als auch B können in Polynomzeit berechnet werden. D.h., insbesondere kann B(x) einfach berechnet werden, wenn das Wort x bekannt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 242

244 Bit Commitment Kandidaten für Hardcore-Prädikate: Bei der diskreten Exponentialfunktion: höchstwertiges Bit Bei der RSA-Falltürfunktion: niedrigstwertiges Bit Eine Funktion mit Hardcore-Prädikat ist zwangsläufig eine Einwegfunktion. Außerdem existieren Hardcore-Prädikate, falls Einwegfunktionen existieren. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 243

245 Bit Commitment Bit Commitment (Protokoll) Ein Einwegfunktion f und ein dazugehöriges Hardcore-Prädikat B werden zu Beginn des Protokolls festgelegt. Alice wählt ihr Bit b {0, 1}. Sie sucht ein x Σ mit B(x) = b und schickt C = f (x) (die Festlegung, engl. commitment) an Bob. Bob empfängt C, kann aus C allerdings keine Informationen über b erlangen. Später kann Alice Bob gegenüber nachweisen, dass sie sich auf b festgelegt hat, indem sie x an Bob schickt. Bob überprüft dann, ob C = f (x) gilt und berechnet B(x). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 244

246 Bit Commitment Bemerkungen: Es ist wichtig, dass f eine Einweg-Permutation ist. Ansonsten hat f (x) evtl. mehrere Urbilder, von denen sich Alice später eines aussuchen kann. Die Festlegung C werden wir in Zukunft auch mit C(b) bezeichnet. Wie lang soll x gewählt werden? Eigentlich sollte die Sicherheit eines Protokolls in der Länge der Eingabe gemessen werden. Hier ist die Eingabe (ein Bit!) jedoch sehr kurz. Von daher nimmt man als Ersatz einen Sicherheitsparameter als zusätzliche Eingabe. Dieser ist einfach eine Zeichenkette 1 k und in Bezug auf k muss die Erfolgswahrscheinlichkeit für den Angreifer vernachlässigbar sein. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 245

247 Bit Commitment Ein klassische Anwendung für Bit Commitment ist die folgende: Münzwurf über das Telefon Alice und Bob kommunizieren über das Telefon (bzw. Internet) und wollen gemeinsam eine Zufallszahl bestimmen. Sie vertrauen einander nicht und die Aufgabe soll daher nicht einer der beiden Parteien überlassen werden. Die grundlegende Idee ist, dass beide ein Bit wählen und das Zufallsbit durch xor-verknüpfung dieser Bits entsteht. Durch Bit Commitment wird verhindert, dass einer der beiden Partner sein gewähltes Bit im Nachhinein ändert. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 246

248 Bit Commitment Bemerkung: Gleichzeitiges Übertragen der Bits ist in diesem Berechnungsmodell nicht möglich. Auf der Idee der gleichzeitigen Übertragung beruht beispielsweise das Spiel Stein, Schere, Papier, bei dem beide Teilnehmer mehr oder weniger gleichzeitig ihre Wahl treffen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 247

249 Bit Commitment Münzwurf über das Telefon (Protokoll) Alice wählt ein Bit a {0, 1} und schickt eine Festlegung C(a) an Bob. Bob kennt a nicht und wählt sein Bit b {0, 1}, welches er an Alice schickt. Alice weist die Wahl von a nach und gibt das Ergebnis a b bekannt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 248

250 Bit Commitment Beispiel: wir betrachten als Einwegfunktion die diskrete Exponentialfunktion und wählen die Primzahl p = 19 und den Generator g = 3. In diesem Fall verwenden wir folgendes Hardcore-Prädikat { 0 falls x p 1 most(x) = 2 1 sonst Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 249

251 Bit Commitment Beispielablauf Münzwurf: Alice wählt zufällig das Bit a = 1 und wählt als x = 14 als Zeugen. Sie schickt f (x) = g x mod p = 3 14 mod 19 = 4 an Bob. Bob empfängt f (x) = 4 kann daraus jedoch keine Schlüsse ziehen. Er wählt zufällig das Bit b = 0 und schickt es an Alice. Alice ermittelt a b = 1 und gibt das Ergebnis der Münzwurfes bekannt. Außerdem schickt sie x = 14 an Bob, damit dieser ihre Festlegung nachprüfen kann. Bemerkung: für reale Anwendungen ist p = 19 natürlich viel zu klein gewählt! Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 250

252 Zero-Knowledge-Protokolle für NP-vollständige Probleme Wir betrachten nun ein Zero-Knowledge-Protokoll für ein als NP-vollständig bekanntes Problem: Färbbarkeit von Graphen k-färbbarkeit von Graphen (k-col) Dabei ist k N 0 eine natürliche Zahl. Eingabe: Ein ungerichteter Graph G = (V, E). Ausgabe: Gibt es eine Zuordnung von k verschiedenen Farben zu Knoten in V, so dass keine zwei benachbarten Knoten v 1, v 2 dieselbe Farbe haben? Für k 3 ist k-col NP-vollständig. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 251

253 Zero-Knowledge-Protokolle für NP-vollständige Probleme Beispiele: Graph ist 3-färbbar, aber nicht 2-färbbar Graph ist 4-färbbar, aber nicht 3-färbbar Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 252

254 Zero-Knowledge-Protokolle für NP-vollständige Probleme Computational Zero-Knowledge-Beweissystem für 3-COL Wir nehmen an, dass V = {v 1,..., v n }. Peggy berechnet eine beliebige 3-Färbung c : V {1, 2, 3} für G. (Insbesondere gilt c(v 1 ) c(v 2 ), falls {v 1, v 2 } E.) Peggy schickt Festlegungen C(c(v 1 )),..., C(c(v n )) an Victor. Victor wählt eine zufällige Kante {u, w} E und schickt sie an Peggy. Peggy weist gegenüber Victor nach, dass sie die Farben c(u), c(w) gewählt hat und dass c(u) c(w). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 253

255 Zero-Knowledge-Protokolle für NP-vollständige Probleme Dieses Beweissystem hat folgende Eigenschaften: Falls der Graph 3-färbbar ist, dann kann Peggy immer eine korrekte 3-Färbung wählen und Victor akzeptiert mit Wahrscheinlichkeit 1. Falls der Graph nicht 3-färbbar ist, dann gibt es mindestens eine Kante {u, v} E, die falsch gefärbt ist, d.h., c(u) = c(v). Victor hat also eine Wahrscheinlichkeit kleiner gleich 1 1 E, eine korrekt gefärbte Kante zu wählen. Um eine Wahrscheinlichkeit kleiner gleich 1 4 zu erhalten, muss das Protokoll entsprechend oft iteriert werden. Dabei ist wichtig, dass Peggy jedes Mal eine neue Färbung wählt (beispielsweise durch Permutation einer früheren Färbung), ansonsten erhält Victor Wissen über die Färbungsfunktion. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 254

256 Zero-Knowledge-Protokolle für NP-vollständige Probleme Es handelt sich um einen Zero-Knowledge-Beweis (im Sinne von Computational Zero-Knowledge), denn der Fälscher kann das Protokoll nicht exakt imitieren, wenn er keine 3-Färbung kennt. Er kann jedoch in einem Durchlauf: Eine beliebige Kante {u, w} wählen und dieser zwei zufällig gewählte Farben zuordnen. Alle anderen Knoten werden zufällig gefärbt (was mit großer Wahrscheinlichkeit eine ungültige Färbung ergibt). Er kann nun die entsprechenden Festlegungen für die Farben schicken, dann Victor {u, w} wählen lassen und die entsprechende Wahl nachweisen. Ein Beobachter kann dieses Verhalten in Polynomzeit nicht von einem echten Protokollablauf unterscheiden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 255

257 Zero-Knowledge-Protokolle für NP-vollständige Probleme Mit Hilfe von Reduktionen kann nun ein Zero-Knowledge-Beweis für jedes NP-Problem A konstruiert werden. Sei also A in Polynomzeit auf 3-COL reduzierbar (A p 3-COL). Die dazugehörige Reduktionsfunktion bezeichnen wir mit g. Computational Zero-Knowledge-Beweissystem für A Peggy und Victor bestimmen bei einer Eingabe x beide den Graphen G = g(x). Anschließend wird der Zero-Knowledge-Beweis für die 3-Färbbarkeit von G durchgeführt. Die Antwort von Victor ist dann auch die Antwort auf die Fragen x A?. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 256

258 Zero-Knowledge-Protokolle für NP-vollständige Probleme Die Standardreduktionsfolge eines NP-Problems A nach 3-COL ist: Direkte Reduktion auf SAT (Umwandlung der nicht-deterministischen Turingmaschine für A in eine aussagenlogische Formel) SAT p 3KNF-SAT 3KNF-SAT p 3-COL Man kann zeigen, dass alle diese Reduktionen auch die dazugehörigen Zertifikate ineinander umwandeln. Die Zertifikate sind jeweils: Für A: erfolgreicher Berechnungspfad der Turingmaschine Für SAT und 3KNF-SAT: Modelle der Formeln Für 3-COL: Färbungsfunktion des Graphen Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 257

259 Zero-Knowledge-Protokolle für NP-vollständige Probleme Reduktionen die Zertifikate in Zertifikate überführen, nennt man auch Levin-Reduktionen. Die Existenz von Levin-Reduktionen heißt insbesondere, dass man durch Reduktionen Zero-Knowledge-Beweise erhält, bei denen Peggy nicht nur nachweist, dass x A gilt, sondern auch zeigt, dass sie das dazugehörige Zertifikat kennt. Denn sie weist ja die Kenntnis des Zertifikats für 3-COL (die Färbungsfunktion) nach. Es gibt jedoch auch direktere Zero-Knowledge-Beweise für NP-Probleme, die für praktische Anwendungen vermutlich besser geeignet sind. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 258

260 Secure Multi-Party Computations Wir beschäftigen uns jetzt mit Secure Multi-Party Computations: Alice und Bob berechnen gemeinsam eine zweistellige Funktion f : I 1 I 2 O 1 O 2, zu der jeder genau einen Parameter kennt, ohne die Parameter selbst bekanntzugeben. Jeder erhält dabei einen privaten Ausgabewert. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 259

261 Secure Multi-Party Computations Anwendungen: Elektronische Wahlen: die einzelnen Teilnehmer wollen ihre Stimme nicht öffentlich bekanntgeben. Es muss jedoch trotzdem das Ergebnis der Wahl bestimmt werden. Auktionen ohne vertrauenswürdigen Auktionator: kein Bieter soll erfahren, wie die Gebote der anderen Bieter lauten. Nur der Gewinner erfährt, dass er gewonnen hat und welchen Preis er zahlen muss. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 260

262 Secure Multi-Party Computations Carolin findet auf dem Speicher ein Bild. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 261

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Barbara König Form. Asp. der Software-Sicherheit

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Barbara König Form. Asp. der Software-Sicherheit

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen. Vorstellung.

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen. Vorstellung. Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Barbara König Das heutige Programm: Organisatorisches Vorstellung Terminabsprache Ablauf

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen. Vorstellung.

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen. Vorstellung. Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Das heutige Programm: Organisatorisches

Mehr

Inhalt der Vorlesung. Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen

Inhalt der Vorlesung. Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Barbara König Inhalt Kryptographie Kryptographische Protokolle Verifikation von kryptographischen

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Barbara König Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 1

Mehr

Bernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil

Bernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil Bernd Borchert Univ. Tübingen WS 13/14 Vorlesung Kryptographie Teil 4 22.11.13 AES AES ist eine Blockchiffre in drei Varianten AES128, AES196 und AES256. Wichtigste Kennzahlen: Blocklänge bei allen drei

Mehr

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,

Mehr

Kryptographie - eine mathematische Einführung

Kryptographie - eine mathematische Einführung Kryptographie - eine mathematische Einführung Rosa Freund 28. Dezember 2004 Überblick Grundlegende Fragestellungen Symmetrische Verschlüsselung: Blockchiffren, Hashfunktionen

Mehr

3 Public-Key-Kryptosysteme

3 Public-Key-Kryptosysteme Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien.

Mehr

EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE

EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE Steffen Reith reith@thi.uni-hannover.de 22. April 2005 Download: http://www.thi.uni-hannover.de/lehre/ss05/kry/folien/einleitung.pdf WAS IST KRYPTOGRAPHIE? Kryptographie

Mehr

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

Das Verschlüsseln verstehen

Das Verschlüsseln verstehen Das Verschlüsseln verstehen Kurz-Vorlesung Security Day 2014 Prof. (FH) Univ.-Doz. DI. Dr. Ernst Piller Kurzvorlesung "Das Verschlüsseln verstehen", Security Day 2014, Ernst Piller 1 Warum eigentlich Verschlüsselung

Mehr

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Satz 4.2.11 (Chinesischer Restsatz, Ring-Version) Sind N teilerfremd (d.h. ggt( ) =1), so ist die Abbildung ein Ring-Isomorphismus. :

Mehr

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen 3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt

Mehr

Kryptografie Die Mathematik hinter den Geheimcodes

Kryptografie Die Mathematik hinter den Geheimcodes Kryptografie Die Mathematik hinter den Geheimcodes Rick Schumann www.math.tu-freiberg.de/~schumann Institut für Diskrete Mathematik und Algebra, TU Bergakademie Freiberg Akademische Woche Sankt Afra /

Mehr

6: Public-Key Kryptographie (Grundidee)

6: Public-Key Kryptographie (Grundidee) 6: Public-Key Kryptographie (Grundidee) Ein Teil des Schlüssels ist nur dem Empfänger bekannt. Der auch dem Sender bekannte Teil kann sogar veröffentlicht werden. Man spricht dann von einem Schlüsselpaar.

Mehr

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen

Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen Barbara König Übungsleitung: Sebastian Küpper Barbara König Vorlesung Modellierung nebenläufiger Systeme 1 Das

Mehr

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976) Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976) p : eine (grosse) Primzahl e : Zahl 0 < e < p mit ggt(e, p 1) = 1 d Inverses von e in Z p 1, dh d e 1 mod p 1 (= φ(p)) M : numerisch codierter

Mehr

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen Übung GSS Blatt 6 SVS Sicherheit in Verteilten Systemen 1 Einladung zum SVS-Sommerfest SVS-Sommerfest am 12.07.16 ab 17 Uhr Ihr seid eingeladen! :-) Es gibt Thüringer Bratwürste im Brötchen oder Grillkäse

Mehr

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1

Mehr

AES und Public-Key-Kryptographie

AES und Public-Key-Kryptographie Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 22. Juni 2009 Beschreibung des Algorithmus Angriffe gegen AES Wichtige Algorithmen im 20. Jahrhundert

Mehr

Regine Schreier

Regine Schreier Regine Schreier 20.04.2016 Kryptographie Verschlüsselungsverfahren Private-Key-Verfahren und Public-Key-Verfahren RSA-Verfahren Schlüsselerzeugung Verschlüsselung Entschlüsselung Digitale Signatur mit

Mehr

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) WS 2016/17 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

II.1 Verschlüsselungsverfahren

II.1 Verschlüsselungsverfahren II.1 Verschlüsselungsverfahren Definition 2.1 Ein Verschlüsselungsverfahren ist ein 5-Tupel (P,C,K,E,D), wobei 1. P die Menge der Klartexte ist. 2. C die Menge der Chiffretexte ist. 3. K die Menge der

Mehr

Proseminar Schlüsselaustausch (Diffie - Hellman)

Proseminar Schlüsselaustausch (Diffie - Hellman) Proseminar Schlüsselaustausch (Diffie - Hellman) Schlüsselaustausch Mathematische Grundlagen Das DH Protokoll Sicherheit Anwendung 23.06.2009 Proseminar Kryptographische Protokolle SS 2009 : Diffie Hellman

Mehr

Protokolldesign. Alexander Aprelkin TUM. Alexander Aprelkin (TUM) Protokolldesign / 36

Protokolldesign. Alexander Aprelkin TUM. Alexander Aprelkin (TUM) Protokolldesign / 36 Protokolldesign Alexander Aprelkin TUM 16.06.2009 Alexander Aprelkin (TUM) Protokolldesign 16.06.2009 1 / 36 Gliederung 1 Einführung Begriffe Notation Motivation 2 Design Prinzipien Basisprinzip 1. Explicitness

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Kryptographie II Asymmetrische Kryptographie

Kryptographie II Asymmetrische Kryptographie Kryptographie II Asymmetrische Kryptographie Christopher Wolf Fakultät für Mathematik Ruhr-Universität Bochum Sommersemester 2010 Krypto II - Vorlesung 01-14.04.2010 () Schlüsselverteil-Center, Diffie-Hellman

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 4: Schlüsselvereinbarung Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 8.5.2017 Einleitung Einleitung In dieser Lerneinheit

Mehr

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung Kapitel 2. Elementare Zahlentheorie 2.1. Primfaktorzerlegung Menge der ganzen Zahlen Z = {..., 3, 2, 1, 0, 1, 2, 3,...} Addition Inverse Multiplikation Z Z Z, Z Z, Z Z Z, (a, b) a + b a a (a, b) a b Ausgezeichnete

Mehr

9. Einführung in die Kryptographie

9. Einführung in die Kryptographie 9. Einführung in die Kryptographie Grundidee: A sendet Nachricht nach B über unsicheren Kanal. Es soll verhindert werden, dass ein Unbefugter Kenntnis von der übermittelten Nachricht erhält. Grundbegriffe:

Mehr

Anwendungen der Linearen Algebra: Kryptologie

Anwendungen der Linearen Algebra: Kryptologie Anwendungen der Linearen Algebra: Kryptologie Philip Herrmann Universität Hamburg 5.12.2012 Philip Herrmann (Universität Hamburg) AnwLA: Kryptologie 1 / 28 No one has yet discovered any warlike purpose

Mehr

Kryptographie. Nachricht

Kryptographie. Nachricht Kryptographie Kryptographie Sender Nachricht Angreifer Empfänger Ziele: Vertraulichkeit Angreifer kann die Nachricht nicht lesen (Flüstern). Integrität Angreifer kann die Nachricht nicht ändern ohne dass

Mehr

Public Key Kryptographie

Public Key Kryptographie 3. Juni 2006 1 Algorithmen für Langzahlen 1 RSA 1 Das Rabin-Kryptosystem 1 Diskrete Logarithmen Grundlagen der PK Kryptographie Bisher: Ein Schlüssel für Sender und Empfänger ( Secret-Key oder symmetrische

Mehr

4.6.1 Mathematische Grundlagen

4.6.1 Mathematische Grundlagen 4.6.1 Mathematische Grundlagen Die Basiseinheit für Berechnungen im AES stellt das Byte dar, daher sind viele Operationen im AES im GF(2 8 ) definiert. Um den Wert eines Byte darzustellen benutzen wir

Mehr

Zahlen. Vorlesung Mathematische Strukturen. Sommersemester Zahlen. Zahlen

Zahlen. Vorlesung Mathematische Strukturen. Sommersemester Zahlen. Zahlen Vorlesung Mathematische Strukturen Sommersemester 2016 Prof. Barbara König Übungsleitung: Christine Mika & Dennis Nolte Division mit Rest Seien a, b Z zwei ganze mit a 0. Dann gibt es eindeutig bestimmte

Mehr

6: Diskrete Wahrscheinlichkeit

6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 219 6: Diskrete Wahrscheinlichkeit 6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 220 Wahrscheinlichkeitsrechnung Eines der wichtigsten

Mehr

Literatur. ISM SS 2017 Teil 8/Asymmetrische Verschlüsselung

Literatur. ISM SS 2017 Teil 8/Asymmetrische Verschlüsselung Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [8-2] Schmeh, Klaus: Kryptografie. dpunkt, 4. Auflage, 2009 [8-3] Schneier,

Mehr

Kryptographie I Symmetrische Kryptographie

Kryptographie I Symmetrische Kryptographie Kryptographie I Symmetrische Kryptographie Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Wintersemester 2009/10 Krypto I - Vorlesung 01-12.10.2009 Verschlüsselung, Kerckhoffs, Angreifer,

Mehr

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung 1 3.5 Kryptographie - eine Anwendung der Kongruenzrechnung Das Wort Kryptographie leitet sich aus der griechischen Sprache ab, nämlich aus den beiden Worten κρυπτ oς(kryptos)=versteckt, geheim und γραϕɛιν(grafein)=schreiben.

Mehr

Literatur. [8-9] ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung

Literatur. [8-9]   ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [8-2] Schmeh, Klaus: Kryptografie. dpunkt, 6. Auflage, 2017 [8-3] Schneier,

Mehr

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung IT-Sicherheitsmanagement Teil 8: Asymmetrische Verschlüsselung 02.01.18 1 Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001

Mehr

VI. Public-Key Kryptographie

VI. Public-Key Kryptographie VI. Public-Key Kryptographie Definition 2.1 Ein Verschlüsselungsverfahren ist ein 5-Tupel (P,C,K,E,D), wobei 1. P die Menge der Klartexte ist. 2. C die Menge der Chiffretexte ist. 3. K die Menge der Schlüssel

Mehr

Einführung in die asymmetrische Kryptographie

Einführung in die asymmetrische Kryptographie !"#$$% Einführung in die asymmetrische Kryptographie Dipl.-Inform. Mel Wahl Prof. Dr. Christoph Ruland Universität Siegen Institut für digitale Kommunikationssysteme Grundlagen Verschlüsselung Digitale

Mehr

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel in der Praxis Proseminar Kryptographische Protokolle SS 2009 5.5.2009 in der Praxis Gliederung 1 Grundlegendes über RSA 2 in der Praxis Allgemeine Vorgehensweise zur Verschlüsselung Signieren mit RSA 3

Mehr

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp Fakultät für Mathematik und Informatik Universität of Bremen Übersicht des Vortrags 1 Einfache Kryptosysteme 2 Einmalschlüssel

Mehr

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner Public-Key Kryptographie mit dem RSA Schema Torsten Büchner 7.12.2004 1.Einleitung 1. symmetrische-, asymmetrische Verschlüsselung 2. RSA als asymmetrisches Verfahren 2.Definition von Begriffen 1. Einwegfunktionen

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 12.05.2014 1 / 26 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:

Mehr

4 Kryptologie. Übersicht

4 Kryptologie. Übersicht 4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von

Mehr

Kommunikationsalgorithmus RSA

Kommunikationsalgorithmus RSA Kommunikationsalgorithmus RSA Herr Maue Ergänzungsfach Informatik Neue Kantonsschule Aarau Früjahrsemester 2015 24.04.2015 EFI (Hr. Maue) Kryptographie 24.04.2015 1 / 26 Programm heute 1. Verschlüsselungsverfahren

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 15.05.2017 1 / 25 Überblick 1 Hashfunktionen Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel: RSA

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5.2 ElGamal Systeme 1. Verschlüsselungsverfahren 2. Korrektheit und Komplexität 3. Sicherheitsaspekte Das ElGamal Verschlüsselungsverfahren Public-Key Verfahren von

Mehr

3. Lösungsblatt

3. Lösungsblatt TECHNISCHE UNIVERSITÄT DARMSTADT FACHGEBIET THEORETISCHE INFORMATIK PROF JOHANNES BUCHMANN NABIL ALKEILANI ALKADRI Einführung in die Kryptographie WS 7/ 8 3 Lösungsblatt 67 P Matrizen und Determinanten

Mehr

Betriebssysteme und Sicherheit Sicherheit. Florian Kerschbaum TU Dresden Wintersemester 2011/12

Betriebssysteme und Sicherheit Sicherheit. Florian Kerschbaum TU Dresden Wintersemester 2011/12 Betriebssysteme und Sicherheit Sicherheit Florian Kerschbaum TU Dresden Wintersemester 2011/12 Begriffe Kryptographie: Geheimschrift Nachrichten schreiben ohne das sie von einem Anderen gelesen (verändert)

Mehr

Kryptographie I Symmetrische Kryptographie

Kryptographie I Symmetrische Kryptographie Kryptographie I Symmetrische Kryptographie Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Wintersemester 2012/13 Krypto I - Vorlesung 01-08.10.2012 Verschlüsselung, Kerckhoffs, Angreifer,

Mehr

Aufgabe der Kryptografie

Aufgabe der Kryptografie Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale

Mehr

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Technische Universität Graz 29. Dezember 2008 Überblick Unterschied zwischen symmetrischen und asymmetrischen Verschlüsselungsverfahren

Mehr

Kryptographie I Symmetrische Kryptographie

Kryptographie I Symmetrische Kryptographie Kryptographie I Symmetrische Kryptographie Eike Kiltz 1 Fakultät für Mathematik Ruhr-Universität Bochum Wintersemester 2011/12 1 Basierend auf Folien von Alexander May. Krypto I - Vorlesung 01-10.10.2011

Mehr

Lösung zur Klausur zu Krypographie Sommersemester 2005

Lösung zur Klausur zu Krypographie Sommersemester 2005 Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2

Mehr

Inhaltsverzeichnis. Wolfgang Ertel. Angewandte Kryptographie. ISBN (Buch): ISBN (E-Book):

Inhaltsverzeichnis. Wolfgang Ertel. Angewandte Kryptographie. ISBN (Buch): ISBN (E-Book): Inhaltsverzeichnis Wolfgang Ertel Angewandte Kryptographie ISBN (Buch): 978-3-446-42756-3 ISBN (E-Book): 978-3-446-43196-6 Weitere Informationen oder Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-42756-3

Mehr

Asymmetrische Kryptographie u

Asymmetrische Kryptographie u Asymmetrische Kryptographie u23 2015 Simon, Florob e.v. https://koeln.ccc.de Cologne 2015-10-05 1 Zahlentheorie Modulare Arithmetik Algebraische Strukturen Referenzprobleme 2 Diffie-Hellman Diffie-Hellman-Schlüsselaustausch

Mehr

Ideen und Konzepte der Informatik Kryptographie

Ideen und Konzepte der Informatik Kryptographie Ideen und Konzepte der Informatik Kryptographie und elektronisches Banking Antonios Antoniadis (basiert auf Folien von Kurt Mehlhorn) 4. Dec. 2017 4. Dec. 2017 1/30 Übersicht Zwecke der Kryptographie Techniken

Mehr

Trim Size: 176mm x 240mm Lang ftoc.tex V1-5.Juli :54 P.M. Page 9

Trim Size: 176mm x 240mm Lang ftoc.tex V1-5.Juli :54 P.M. Page 9 Trim Size: 176mm x 240mm Lang ftoc.tex V1-5.Juli 2018 7:54 P.M. Page 9 Auf einen Blick Über den Autor... 7 Einleitung... 19 Teil I: Verschlüsseln... 25 Kapitel 1: Sicherheit in Zeiten des Internet... 27

Mehr

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Kryptographie Techniken Symmetrische Verschlüsselung( One-time Pad,

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5 Kryptosysteme auf der Basis diskreter Logarithmen 1. Diffie Hellman Schlüsselaustausch 2. El Gamal Systeme 3. Angriffe auf Diskrete Logarithmen 4. Elliptische Kurven

Mehr

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch Einführung in die Kryptographie 20.6.2011, www.privacyfoundation.ch Kryptographie Name kryptós: verborgen, geheim gráphein: schreiben Verschlüsselung Text so umwandeln, dass man ihn nur noch entziffern/lesen

Mehr

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal

Mehr

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

$Id: ring.tex,v /05/03 15:13:26 hk Exp $ $Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 11 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Einführung und moderne Sysmetrische Verfahren 1 Definitionen Verschlüsselung und Entschlüsselung, Anforderungen 2 Einfache

Mehr

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Herwig Stütz 2007-11-23 1 Inhaltsverzeichnis 1 Einführung 2 2 Das RSA-Verfahren 2 2.1 Schlüsselerzeugung.................................

Mehr

IT-Sicherheit Kapitel 7 Schlüsseletablierung

IT-Sicherheit Kapitel 7 Schlüsseletablierung IT-Sicherheit Kapitel 7 Schlüsseletablierung Dr. Christian Rathgeb Sommersemester 2013 1 Einführung Protokoll: Wenn mehrere Instanzen miteinander kommunizieren, um ein gemeinsames Ziel zu erreichen, dann

Mehr

n ϕ n

n ϕ n 1 3. Teiler und teilerfremde Zahlen Euler (1707-1783, Gymnasium und Universität in Basel, Professor für Physik und Mathematik in Petersburg und Berlin) war nicht nur einer der produktivsten Mathematiker

Mehr

Einführung in die. Kryptographie WS 2016/ Lösungsblatt

Einführung in die. Kryptographie WS 2016/ Lösungsblatt Technische Universität Darmstadt Fachgebiet Theoretische Informatik Prof. Johannes Buchmann Thomas Wunderer Einführung in die Kryptographie WS 6/ 7. Lösungsblatt 8..6 Ankündigungen Arithmetik modulo n

Mehr

Public-Key-Kryptographie

Public-Key-Kryptographie Kapitel 2 Public-Key-Kryptographie In diesem Kapitel soll eine kurze Einführung in die Kryptographie des 20. Jahrhunderts und die damit verbundene Entstehung von Public-Key Verfahren gegeben werden. Es

Mehr

Kryptographie Eine Einführung Jan Tobias Mühlberg. Brandenburg, den 9. Dezember 2003

Kryptographie Eine Einführung Jan Tobias Mühlberg. Brandenburg, den 9. Dezember 2003 Kryptographie Eine Einführung Brandenburg, den 9. Dezember 2003 1 There s security that really makes us safer and security that only lets us feel safer, with no reality behind

Mehr

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung Diskrete Strukturen Gruppe und Ring Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in

Mehr

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung)

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung) Was bisher geschah Sicherheitsziele: Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung) von Information beim Speichern und

Mehr

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Kryptographie Techniken Symmetrische Verschlüsselung (One-time Pad,

Mehr

Kryptographische Grundlagen

Kryptographische Grundlagen Kryptographische Grundlagen Bernhard Lamel Universität Wien, Fakultät für Mathematik 10. Mai 2007 Outline 1 Symmetrische Verschlüsselung 2 Asymmetrische Verschlüsselung 3 Praxis Verschlüsseln und Entschlüsseln

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel

Mehr

Netzwerktechnologien 3 VO

Netzwerktechnologien 3 VO Netzwerktechnologien 3 VO Univ.-Prof. Dr. Helmut Hlavacs helmut.hlavacs@univie.ac.at Dr. Ivan Gojmerac gojmerac@ftw.at Bachelorstudium Medieninformatik SS 2012 Kapitel 8 - Netzwerksicherheit 8.1 Was ist

Mehr

VP WAP Kryptographie

VP WAP Kryptographie VP WAP Kryptographie Martin Hargassner, Claudia Horner, Florian Krisch Universität Salzburg 11. Juli 2002 header 1 Übersicht Definiton Ziele Entwicklung Private- / Public-Key Verfahren Sicherheit Anwendungsbeispiel:

Mehr

Erinnerung Blockchiffre

Erinnerung Blockchiffre Erinnerung Blockchiffre Definition schlüsselabhängige Permutation Seien F, F 1 pt Algorithmen. F heißt schlüsselabhängige Permutation auf l Bits falls 1 F berechnet eine Funktion {0, 1} n {0, 1} l {0,

Mehr

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman Kryptologie Bernd Borchert Univ. Tübingen SS 2017 Vorlesung Teil 10 Signaturen, Diffie-Hellman Signatur Signatur s(m) einer Nachricht m Alice m, s(m) Bob K priv K pub K pub Signatur Signatur (Thema Integrity

Mehr

Universität Tübingen SS Kryptologie. B. Borchert, D. Reichl. Klausur , (90 min)

Universität Tübingen SS Kryptologie. B. Borchert, D. Reichl. Klausur , (90 min) Universität Tübingen SS 2017 Kryptologie B. Borchert, D. Reichl Klausur 28.7.2017, 12.30-14.00 (90 min) Name: Matrikel-Nr.: Studiengang: MSc Informatik MSc Bioinformatik MSc Medieninformatik MSc Kognitionswissenschaft

Mehr

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Kryptographie Techniken Symmetrische Verschlüsselung (One-time Pad,

Mehr

Der kleine Satz von Fermat

Der kleine Satz von Fermat Der kleine Satz von Fermat Luisa-Marie Hartmann 5. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 2 Hauptteil 4 2.1 Prime Restklassengruppen............................ 4 2.2 Ordnung von Gruppenelementen........................

Mehr

Betriebssysteme und Sicherheit

Betriebssysteme und Sicherheit Betriebssysteme und Sicherheit Asymmetrische Kryptographie WS 2012/2012 Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de 1 Überblick 1 Prinzip asymmetrischer (Konzelations-)Systeme 2 Mathematische Grundlagen

Mehr

Zahlentheorieseminar: Einführung in die Public-Key-Kryptographie

Zahlentheorieseminar: Einführung in die Public-Key-Kryptographie Dozent: Dr. Ralf Gerkmann Referenten: Jonathan Paulsteiner (10939570) und Roman Lämmel ( ) Zahlentheorieseminar: Einführung in die Public-Key-Kryptographie 0. Inhalt 1. Einführung in die Kryptographie

Mehr

7: Grundlagen der Public-Key-Kryptographie

7: Grundlagen der Public-Key-Kryptographie 7: Grundlagen der Public-Key-Kryptographie 214 7: Public-Key-Kryptographie 7: Grundlagen der Public-Key-Kryptographie Wiederholung: Symmetrische Kryptographie 1 Schlüssel für Sender und Empfänger Benötigt

Mehr

III. Perfekte Geheimhaltung

III. Perfekte Geheimhaltung III. erfekte Geheimhaltung - perfekte Geheimhaltung als Formalisierung absolut sicherer Verschlüsselungsverfahren - eingeführt von Claude Shannon 1949 - C.Shannon zeigte auch Existenz von Verfahren mit

Mehr

4 Der diskrete Logarithmus mit Anwendungen

4 Der diskrete Logarithmus mit Anwendungen 4 Der diskrete Logarithmus mit Anwendungen 62 4.1 Der diskrete Logarithmus Für eine ganze Zahl a Z mit ggt(a, n) = 1 hat die Exponentialfunktion mod n zur Basis a exp a : Z M n, x a x mod n, die Periode

Mehr

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA Manfred Gruber http://www.lrz-muenchen.de/~gruber SS 2009, KW 15 Kleiner Fermatscher Satz Satz 1. Sei p prim und a 2 Z p. Dann

Mehr

Denn es geh t um ihr Geld: Kryptographie

Denn es geh t um ihr Geld: Kryptographie Denn es geht um ihr Geld: Kryptographie Ilja Donhauser Inhalt Allgemeines Symmetrisch Asymmetrisch Hybridverfahren Brute Force Primzahlen Hashing Zertifikate Seite 2 Allgemeines Allgemeines Wissenschaft

Mehr

Einführung in die Kryptographie

Einführung in die Kryptographie Ä Johannes Buchmann Einführung in die Kryptographie Dritte, erweiterte Auflage Inhaltsverzeichnis 1. Einleitung 1 2. Ganze Zahlen 3 2.1 Grundlagen 3 2.2 Teilbarkeit 4 2.3 Darstellung ganzer Zahlen 5 2.4

Mehr