formale aspekte der software-sicherheit und kryptographie ... · organisatorischeseinf uhrung...

165
Organisatorisches Einf¨ uhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen Vorlesung “Formale Aspekte der Software-Sicherheit und Kryptographie” Sommersemester 2019 Universit¨ at Duisburg-Essen Prof. Barbara K¨ onig ¨ Ubungsleitung: Richard Eggert Barbara K¨ onig “Form. Asp. der Software-Sicherheit und Kryptographie” 1

Upload: trankhuong

Post on 28-Aug-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Vorlesung “Formale Aspekte derSoftware-Sicherheit und Kryptographie”

Sommersemester 2019Universitat Duisburg-Essen

Prof. Barbara KonigUbungsleitung: Richard Eggert

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 1

Page 2: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Ver- und Entschlusselung

Wir beschreiben jetzt formal, was es bedeutet, eine Nachricht zuverschlusseln und zu entschlusseln.

Komponenten eines Kryptosystems (Definition)

M: eine Menge von moglichen Nachrichten

CM: eine Menge von verschlusselten Nachrichten

Ke : eine Menge von Schlusseln, die zum Verschlusselnverwendet werden

Kd : eine Menge von Schlusseln, die zum Entschlusselnverwendet werden

K ⊆ Ke × Kd : eine Menge von gultigen Schlusselpaaren

Eine Verschlusselungsfunktion E : M × Ke → CM

Eine Entschlusselungsfunktion D : CM × Kd → M

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 49

Page 3: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Ver- und Entschlusselung

Hinweis: E steht fur “encryption” und D fur “decryption”.

Sei (e, d) ∈ K ein Schlusselpaar. Die Ver- undEntschlusselungsfunktionen mussen folgende Eigenschaft haben:

Fur alle m ∈ M gilt D(E (m, e), d) = m.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 50

Page 4: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Ver- und Entschlusselung

Symmetrisches Kryptosystem

Bei einem symmetrischen Kryptosystem gilt Ke = Kd und fur ein(e, d) ∈ K gilt immer e = d . D.h., es wird derselbe Schlussel zumVer- und Entschlusseln benutzt.Sowohl Alice, als auch Bob mussen zur Kommunikation diesenSchlussel kennen.

Alice Bob

(e, e) (e, e)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 51

Page 5: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Ver- und Entschlusselung

Asymmetrisches Kryptosystem

Bei einem asymmetrischen Kryptosystem gilt fur ein (e, d) ∈ Knormalerweise e 6= d . D.h., es werden verschiedene Schlussel zumVer- und Entschlusseln benutzt.Wenn Alice eine Nachricht an Bob schickt, dann reicht es aus,wenn Alice e kennt. Dieser Schlussel wird auch der offentlicheSchlussel von Bob genannt. Daneben kennt Bob noch seinenprivaten Schlussel d .

Alice

e

Bob

(e, d)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 52

Page 6: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Ver- und Entschlusselung

Sicherheitsaspekte: die bisherigen Definitionen sagen nichts uberdie Sicherheit der Kryptosysteme.

Im Fall der symmetrischen Verschlusselung sollte es einfach sein, maus E (m, e) zu bestimmen, wenn man d = e kennt. Ohne Kenntnisdes Schlussels sollte die Bestimmung von m schwierig sein.

Ebenso sollte es im Fall des asymmetrischen Verschlusselungeinfach sein, m aus E (m, e) zu bestimmen, wenn man d kennt. DieBestimmung von m sollte jedoch schwierig sein, wenn man nur ekennt.

Wir werden im weiteren Verlauf der Vorlesung klaren, was genaumit “schwierig” gemeint ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 53

Page 7: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Historische Verschlusselungsverfahren

Wir betrachten zunachst einige einfache symmetrischeVerschlusselungsverfahren.

Caesar-Verschlusselung

Bei der Caesar-Verschlusselung (nach Julius Caesar) wird jederBuchstabe durch den Buchstaben ersetzt, der drei Stellen weiterim Alphabet vorkommt. (Statt drei kann auch ein andererZahlenwert verwendet.)

Beispiel: aus “CAESAR” wird “FDHVDU”

Spezialfall der monoalphabetische Verschlusselung, der durchHaufigkeitsanalyse sehr leicht entschlusselt werden kann.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 54

Page 8: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Historische Verschlusselungsverfahren

Monoalphabetische Verschlusselung

Gegeben ist eine Permutation π : A → A des Alphabetes und jederBuchstabe a der Nachricht wird durch sein Bild π(a) ersetzt.(Siehe Beispiel im Einfuhrungsteil.)

Auch die monoalphabetische Verschlusselung kann durchHaufigkeitsanalysen einfach entschlusselt werden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 55

Page 9: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Historische Verschlusselungsverfahren

Vigenere-Verschlusselung

Bei der Vigenere-Verschlusselung (nach Blaise de Vigenere, 16.Jhdt.) wird ein Schlussel e = e0 . . . em−1 ∈ A∗ uber dem Alphabetgegeben. Eine Abbildung z : A → N0 ordnet jedem Buchstabeneinen Zahlenwert zu (z(A) = 0, . . . , z(Z) = 25).

Dann werden die Buchstaben des zu verschlusselnden Textesm = m0 . . .mn ∈ A∗ der Reihe nach verschlusselt, indem derZahlenwert des jeweils nachsten Buchstabens des Schlusselsaddiert und und das Ergebnis modulo 26 genommen wird.

Insbesondere gilt fur den verschlusselten Text c = c0 . . . cn ∈ A∗,dass

ci = z−1((z(mi ) + z(ei mod m)) mod 26)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 56

Page 10: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Historische Verschlusselungsverfahren

Beispiel: e = CAESAR, wobei z(C) = 2, z(A) = 0, z(E) = 4,z(S) = 19, z(R) = 18

DASISTDERGEHEIMTEXT

+ CAESARCAESARCAESARC

FAWBSLFEVZEZGIQMEPV

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 57

Page 11: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Historische Verschlusselungsverfahren

Bei der Vigenere-Verschlusselung nutzt eine Haufigkeitsanalyseuber den gesamten Text wenig.

Entschlussselungsverfahren:

Zunachst muss die Lange des Schlussels e ermittelt werden.Das kann man machen, indem man verschiedene Langen kausprobiert und die Haufigkeitsverteilung der Buchstabenermittelt, deren Stelle kongruent zu einem festen i modulo kist.Manchmal kann die Lange auch durch das periodischeAuftreten bestimmter Zeichenfolgen im Text bestimmtwerden.

Sobald die Lange k gefunden wurde, kann dann der Schlussel,Stelle fur Stelle, mit Hilfe der Haufigkeitsanalyse ermitteltwerden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 58

Page 12: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Historische Verschlusselungsverfahren

Ein besonderer Fall ergibt sich jedoch, wenn der Schlussel genau solang ist wie der zu verschlusselnde Text.

One-Time-Pad

Beim One-Time-Pad wird ein Text mit einem zufallig gewahltemSchlussel gleicher Lange verknupft.Die Verknupfung kann wie beim Vigenere-Schlussel passieren.Alternativ konnen auch zwei Bitstrings durch ⊕ (xor) verknupftwerden.

Voraussetzungen:

der Einmalschlussel muss geheim bleiben,

der Einmalschlussel muss zufallig gewahlt sein und

der Einmalschlussel darf nur einmal verwendet werden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 59

Page 13: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Historische Verschlusselungsverfahren

Der One-Time-Pad wurde so von Geheimdiensten im20. Jahrhundert verwendet. Dabei wurde zunachst der Schlusselausgetauscht, beispielsweise kann er auf Papier oder in digitalerForm einem Agenten mitgegeben werden.

Claude Shannon hat gezeigt, dass der One-Time-Padinformationstheoretisch sicher ist und damit ein perfektesVerschlusselungsverfahren darstellt. Insbesondere hat er gezeigt,dass

Die Kenntnis des verschlusselten Textes keine zusatzlichenInformationen uber den Inhalt der Nachricht liefert.

bzw.

Jeder Nachrichteninhalt hat die gleiche Wahrscheinlich-keit, unabhangig davon, ob man den verschlusselten Textkennt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 60

Page 14: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitrechnung

Um dieses (nicht sehr schwierige) Ergebnis formalisieren undbeweisen zu konnen, benotigt man (diskrete)Wahrscheinlichkeitstheorie.

Wahrscheinlichkeitsraum (Definition)

Ein Wahrscheinlichkeitsraum besteht aus

einer Ergebnismenge Ω, bestehend aus denElementarereignissen, und

einer Funktion P : Ω→ R, die jedem Elementarereignis eineWahrscheinlichkeit zuordnet.

Dabei muss gelten:

Fur jedes x ∈ Ω gilt 0 ≤ P(x) ≤ 1. (Die Wahrscheinlichkeitfur ein Elementarereignis liegt zwischen 0 und 1.)∑x∈Ω

P(x) = 1. (Die Summe aller Wahrscheinlichkeiten ist 1.)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 61

Page 15: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Falls Ω endlich ist und alle Elementarereignisse in Ω gleichwahrscheinlich sind, so gilt

P(x) =1

|Ω|fur jedes x ∈ Ω

Beispiel: Wurfeln mit einem fairen Wurfel. Dann giltΩ = 1, 2, 3, 4, 5, 6 und P(x) = 1

6 fur alle x ∈ Ω.

Diese Annahme, dass alle Elementarereignisse gleich wahrscheinlichsind, gilt jedoch nicht immer. (Beispiel: manipulierter Wurfel)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 62

Page 16: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Das Wurfeln einer 1 oder 6 bezeichnet man als(zusammengesetztes) Ereignis, im Unterschied zuElementarereignissen.

Ereignis, Wahrscheinlichkeit eines Ereignisses (Definition)

Wir betrachten einen Wahrscheinlichkeitsraum, bestehend aus Ωund P : Ω→ R. Eine Menge E ⊆ Ω heißt Ereignis. DieWahrscheinlichkeit des Ereignisses E wird folgendermaßenberechnet:

P(E ) =∑x∈E

P(x)

Beispiel: Ereignis E = 1, 6 mit

P(E ) = P(1, 6) = P(1) + P(6) =1

6+

1

6=

1

3

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 63

Page 17: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Bemerkung: Fur unsere Zwecke konnen wir alle Teilmengen von Ωals Ereignisse ansehen. Im allgemeinen Fall (insb. fur nicht-diskreteWahrscheinlichkeitsraume) beschrankt 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

Insbesondere folgt daraus P(A ∪ B) = P(A) + P(B), fallsA ∩ B = ∅, d.h., falls A und B disjunkte Ereignisse sind.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 64

Page 18: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Unabhangigkeit von Ereignissen (Definition)

Zwei Ereignisse A,B ⊆ Ω heißen unabhangig, falls gilt:

P(A ∩ B) = P(A) · P(B)

Beispiel Wurfel:

Die Ereignisse A = 1, 3, 5 (Ergebnis ungerade) undB = 2, 4, 6 (Ergebnis gerade) sind nicht unabhangig. Es gilt:

P(A ∩ B) = P(∅) = 0 6= 1

4=

1

2· 1

2= P(A) · P(B)

Die Ereignisse 1, 3, 5 (Ergebnis ungerade) und 1, 2, 3, 4(Ergebnis kleiner gleich vier) sind unabhangig. Es gilt:

P(A ∩ B) = P(1, 3) =1

3=

1

2· 2

3= P(A) · P(B)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 65

Page 19: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Bedingte Wahrscheinlichkeit (Definition)

Die bedingte Wahrscheinlichkeit ist definiert durch

P(A | B) =P(A ∩ B)

P(B),

falls P(B) 6= 0.

Die Wahrscheinlichkeit P(A | B) ist intuitiv die Wahrscheinlichkeit,dass das Ereignis A eintritt, unter der Bedingung, dass man bereitsweiß, dass das Ereignis B eintritt.

Sprechweise: Wahrscheinlichkeit von A, vorausgesetzt B.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 66

Page 20: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Beispiel Wurfel: A = 1, 3, 5 (Ergebnis ist ungerade) undB = 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

Unabhangigkeit und bedingte Wahrscheinlichkeit (Satz)

Zwei (nicht-leere) Ereignisse A,B sind unabhangig genau dann,wenn:

P(A | B) = P(A) und P(B | A) = P(B)

D.h., die Kenntnis, dass das Ereignis B eintreten wird, andert dieWahrscheinlichkeit von A nicht.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 67

Page 21: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

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) (furR ⊆ S), etc. definiert. (Im ersten und zweiten Fall muss einepartielle Ordnung ≤ auf S definiert sein.)

Bemerkungen:

Trotz des Namens hat eine Zufallsvariable mit einer Variablenrelativ wenig zu tun. Es handelt sich einfach um eine Funktion.

Manchmal schreibt man statt P(X (ω) = y) einfach nurP(X = y).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 68

Page 22: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Sei S eine endliche Menge. Eine Zufallsvariable X : Ω→ S heißtgleichverteilt, falls

P(X (ω) = s) =1

|S |fur alle s ∈ S

Bemerkungen:

Die Ereignismenge Ω muss hier nicht notwendigerweiseendlich sein.

Es gibt noch weitere (diskrete)Wahrscheinlichkeitsverteilungen: geometrische Verteilung,Binomialverteilung, Poisson-Verteilung

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 69

Page 23: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Wir wenden nun die Wahrscheinlichkeitstheorie auf denOne-Time-Pad an. Wir nehmen an, dass die Menge der(verschlusselten) Nachrichten aus allen Bitstrings der Lange nbesteht: M = CM = 0, 1n. Genauso ist Ke = Kd = 0, 1n und

E (m, e) = m ⊕ e D(c , d) = c ⊕ d

Die Menge der Elementarereignisse Ω sieht wie folgt aus:

Ω = M × Ke = 0, 1n × 0, 1n

D.h. Elementarereignisse sind Paare von Nachrichten undSchlusseln. Die Nachrichten sind nicht alle gleich wahrscheinlich,fur die Schlussel gilt dies jedoch.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 70

Page 24: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Wir betrachten folgende Zufallsvariable:

msg : Ω→ M, msg(m, e) = m(Projektion auf die erste Komponente)

E : Ω→ CM(die bereits vorher definierte Verschlusselungsfunktion)

Wir setzen pm = P(msg = m) (die Wahrscheinlichkeit dafur, dassNachricht m verschickt wird).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 71

Page 25: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Nach Shannon muss ein perfektes Kryptosystem folgendeEigenschaft erfullen:

Perfektes Kryptosystem

Die Wahrscheinlichkeit, dass eine Nachricht m geschickt wird, istgleich der bedingten Wahrscheinlichkeit, dass m geschickt wird,vorausgesetzt dass die Kodierung c bekannt ist.

Fur den One-Time-Pad bedeutet das fur feste m, c ∈ 0, 1n:

P(msg = m | E = c) = P(msg = m) (∗)

Oder (etwas informeller):

P(m wurde geschickt | c wurde empfangen) = P(m wurde geschickt)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 72

Page 26: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Beweis: Wir zeigen nun, dass der One-Time-Pad dieEigenschaft (*) erfullt.

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 ′ ∈ Ke ,E (m, e ′) = c). Eskann nur einen Schlussel e ′ = c ⊕m geben, der m zu cverschlusselt. Also handelt es sich bei der Menge um einElementarereignis und es gilt:

P((m, c ⊕m)) = pm ·1

2n

Die letzte Beziehung gilt, da m und der Schlussel unabhangigvoneinander gewahlt werden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 73

Page 27: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wahrscheinlichkeitsrechnung

Außerdem gilt:

P(E = c) =∑m′∈M

P(msg = m′ ∧ E = c)

=∑m′∈M

pm′ ·1

2n=

1

2n·∑m′∈M

pm′ =1

2n· 1 =

1

2n

Zusammengefasst:

P(msg = m | E = c) =pm · 1

2n

12n

= pm = P(msg = m)

und damit ist der One-Time-Pad ein perfektes Kryptosystem.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 74

Page 28: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Wir betrachten nun moderne symmetrischeVerschlusselungsverfahren.

Alice Bob

(e, e) (e, e)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 75

Page 29: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Die zwei wichtigsten symmetrischen Verschlusselungsverfahrensind:

DES (Data Encryption Standard): war ab 1976 lange Zeit derde-facto-Standard fur symmetrische Verschlusselungsverfahrenund wird immer noch in großem Maßstab eingesetzt.Allerdings ist die Schlussellange (56 Bit) heute zu kurz undnur noch die Variante Triple DES gilt als sicher.

AES (Advanced Encryption Standard): 2002 wurde bei einemWettbewerb des US-amerikanischen NIST (National Instituteof Standards and Technology) das Kryptosystem Rijndael alsNachfolger fur DES ausgewahlt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 76

Page 30: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Sowohl DES als auch AES sind Blockchiffre, die nach folgendemPrinzip funktionieren:

Eine Nachricht wird in Blocke der Lange n Bits(typischerweise n = 128, 192, 256) aufgespalten und jederBlock wird einzeln verschlusselt. Wir konnen also imFolgenden davon ausgehen, dass M = 0, 1n

Es gibt einen symmetrischen Schlussel der Lange `(typischerweise ` = 128, 256). D.h., Ke = Kd = 0, 1`.Ein Block der Lange n wird durch die Verschlusselung wiederzu einem Block der Lange n, d.h., CM = 0, 1n.

Aus der gleichen Lange von Nachricht und verschlusseltem Textkann man schließen, dass die Verschlusselungsfunktion fur einenfesten Schlussel bijektiv sein muss.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 77

Page 31: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Die Verschlusselungsfunktion E : 0, 1n × 0, 1` → 0, 1n wirdwie folgt realisiert: eine Nachricht m ∈ 0, 1n wird mit einemSchlussel e ∈ 0, 1` in k Runden verschlusselt. Zu Beginn giltm0 = m, man bestimmt mi+1 durch

mi+1 = Ei (mi , ei ),

wobei ei der Schlussel der i-ten Runde ist. Der Rundenschlussel eiwird mit Hilfe eines festgelegten Verfahrens aus e berechnet.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 78

Page 32: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Die Verschlusselungsfunktion Ei wird durch Aneinanderreihungverschiedener Transformationen berechnet, wobei eineTransformation folgendes sein kann:

xor-Verknupfung des zu verschlusselnden Textes mit demRundenschlussel (AddRoundKey)

Jedes Byte der Nachricht wird durch ein anderes Bytesubstituiert (diese Substitionen werden in sogenanntenS-Boxen tabelliert). (SubBytes)

Die Bytes der Nachricht werden tabellarisch angeordnet und(spalten- oder zeilenweise) permutiert. (ShiftRows)

Die Bytes der Nachricht werden untereinander auf bestimmteWeise mit xor verknupft. (MixColumns)

Die in Klammern angegebenen englischen Bezeichnungen stammenaus AES.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 79

Page 33: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Bemerkungen:

Ahnliche Operationen wie sie zur Verschlusselung einerNachricht verwendet werden, konnen auch dazu benutztwerden, die Rundenschlussel aus dem Schlussel (bzw. ausTeilen der bisher verschlusselten Nachricht) zu gewinnen.

Bei AES stellt man sich ein Byte auch als Polynom uber demzweielementigen Korper, bestehend aus den Elementen 0, 1,vor. D.h.

b7b6 . . . b0 ∈ 0, 18 entspricht b7x7 + b6x

6 + · · ·+ b0

Dann kann xor durch Addition solcher Polynom und S-Boxendurch Bildung des multiplikativen Inversen (bezuglichMultiplikation modulo eines irreduziblen Polynoms m(x)),gefolgt von einer affinen Transformation, beschrieben werden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 80

Page 34: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: 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) vomGrad 7 uber dem Korper 0, 1 auf.

Bestimme das Inverse q(x) von p(x) modulom(x) = x8 + x4 + x3 + x + 1.D.h., es muss p(x) · q(x) mod m(x) = 1 gelten.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 81

Page 35: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

S-Box bei AES (Teil 2)

Angenommen q(x) = c7x7 + c6x

6 + · · ·+ c0. Dann bestimmedas Ergebnis-Byte d7d6 . . . d0 durch folgende affineTransformation:

d0

d1

d2

d3

d4

d5

d6

d7

=

1 0 0 0 1 1 1 11 1 0 0 0 1 1 11 1 1 0 0 0 1 11 1 1 1 0 0 0 11 1 1 1 1 0 0 00 1 1 1 1 1 0 00 0 1 1 1 1 1 00 0 0 1 1 1 1 1

·

c0

c1

c2

c3

c4

c5

c6

c7

+

11000110

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 82

Page 36: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Beispiel:

Zu substituierendes Byte: 00110011, entspricht x5 + x4 + x + 1

Inverses: 01101100, entspricht x6 + x5 + x3 + x2

Test: (x5 + x4 + x + 1) · (x6 + x5 + x3 + x2) = x11 + x10 + x8 +x7 + x10 + x9 + x7 + x6 + x7 + x6 + x4 + x3 + x6 + x5 + x3 + x2 =x11 + x9 + x8 + x7 + x6 + x5 + x4 + x2

x11+x9+x8+x7+x6+x5+x4 +x2 ÷ x8 + x4 + x3 + x + 1x11 +x7+x6 +x4+x3 = x3 + x + 1

x9+x8 +x5 +x3+x2 Rest: 1x9 +x5+x4 +x2+x

x8 +x4+x3 +xx8 +x4+x3 +x+1

1

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 83

Page 37: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Affine Transformation:

1 0 0 0 1 1 1 11 1 0 0 0 1 1 11 1 1 0 0 0 1 11 1 1 1 0 0 0 11 1 1 1 1 0 0 00 1 1 1 1 1 0 00 0 1 1 1 1 1 00 0 0 1 1 1 1 1

·

00110110

+

11000110

=

11000011

Ergebnis: 11000011 (Vektoren werden von unten nach obengelesen!), entspricht x7 + x6 + x + 1

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 84

Page 38: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Bemerkungen:

Die Substitution mittels einer S-Box entspricht einermonoalphabetischen Verschlusselung.

Das Inverse zu einem Polynom kann mit Hilfe des euklidischenAlgorithmus berechnet werden. (Dazu spater mehr bei RSA.)

Zur Entschlusselung gibt es eine inverse S-Box, die dazu daist, die Substitution wieder ruckgangig zu machen.

Die gesamte S-Box ist tabelliert. Siehehttp://en.wikipedia.org/wiki/Rijndael S-box.D.h., in der Praxis muss das Inverse nicht berechnet werden.Durch die algebraische Darstellung kann aber dasKryptosystem besser analysiert werden, um zu zeigen, dass esgegen bestimmte Arten von Angriffen geschutzt ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 85

Page 39: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

AES S-Box| 0 1 2 3 4 5 6 7 8 9 a b c d e f

---|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|

00 |63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76

10 |ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0

20 |b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15

30 |04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75

40 |09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84

50 |53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf

60 |d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8

70 |51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2

80 |cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73

90 |60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db

a0 |e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79

b0 |e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08

c0 |ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a

d0 |70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e

e0 |e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df

f0 |8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 86

Page 40: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Symmetrische Verschlusselung: DES und AES

Kriterien bei symmetrischen Verschlusselungsverfahren (informell):

Konfusion

Der Zusammenhang zwischen Schlussel und verschlusseltem Textsollte so komplex wie moglich sein.

Diffusion

Jedes Bit der verschlusselten Nachricht sollte von jedem Bit derursprunglichen Nachricht auf moglichst komplexe Weise abhangigsein. Insbesondere sollte sich der verschlusselte Text vollstandigandern, sobald ein Bit der ursprunglichen Nachricht verandert wird.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 87

Page 41: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung

Wir betrachten nun asymmetrische Verschlusselungsverfahren:

Alice

e

Bob

(e, d)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 88

Page 42: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung

Geschichte:

1976: Diffie-Hellman-SchlusselaustauschprotokollBeschreibt wie Alice und Bob einen geheimen Schlussel uberein offenes Netzwerk austauschen konnen.

1977: RSA (benannt nach Rivest, Shamir, Adleman)Asymmetrisches Verschlusselungsverfahren (mit Verwendungoffentlicher Schlussel)

Erst viel spater wurde bekannt, dass ganz ahnliche Verfahrenbereits 1973 von Williamson, Cock und Ellis beim GHCQ(Government Communications Headquarters, Teil desbritischen Geheimdiensts) entwickelt wurden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 89

Page 43: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Fur RSA benotigen wir Voraussetzungen aus der Zahlentheorie: dieEulersche ϕ-Funktion, der Satz von Euler-Fermat und dereuklidische Algorithmus.

Eulersche ϕ-Funktion

Die Eulersche ϕ-Funktion ϕ : N0 → N0 ist folgendermaßendefiniert:

ϕ(n) mit n ∈ N0 ist die Anzahl der Zahlen zwischen 1 und n,die zu n teilerfremd sind.

ϕ(n) = |m ∈ N0 | 1 ≤ m ≤ n und ggT (m, n) = 1|

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 90

Page 44: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Beispiele (Eulersche ϕ-Funktion):

n ϕ(n) n ϕ(n)

0 0 7 61 1 8 42 1 9 63 2 10 44 2 11 105 4 12 46 2 13 12

Fur eine Primzahl p gilt ϕ(pk) = pk − pk−1, insbesondereϕ(p) = p − 1.

Fur zwei Zahlen m, n ∈ N0 mit ggT (m, n) = 1 giltϕ(m · n) = ϕ(m) · ϕ(n).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 91

Page 45: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Satz von Euler-Fermat

Fur zwei Zahlen m, n ∈ Z mit ggT (m, n) = 1 gilt:

mϕ(n) mod n = 1

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 92

Page 46: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Losen diophantischer Gleichungen

Gegeben seien a, b, c ∈ Z. Wir suchen Losungen x , y ∈ Z derGleichung

a · x + b · y = c

Diese Gleichung hat genau dann eine Losung, wenn ggT (a, b) | c .

Losungen fur solche Gleichungen konnen mit Hilfe des erweiterteneuklidischen Algorithmus bestimmt werden. Dieser bestimmt nichtnur ggT (a, b), sondern auch Werte fur x und y .

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 93

Page 47: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

1. Schritt: Schlusselerzeugung

Bob generiert zwei große Primzahlen p, q mit p 6= q und setztn = 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 offentliche Schlussel, den Bob bekanntgibt.

(d , n) ist der private Schlussel, den Bob geheimhalt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 94

Page 48: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

2. Schritt: Verschlusselung

Alice will eine Nachricht M an Bob verschlusseln. Sie kodiertdiese Nachricht als eine Zahl m ∈ 0, . . . , n − 1 (z.B. durchBinarkodierung).

Alice rechnet c = me mod n und schickt c an Bob.

3. Schritt: Entschlusselung

Bob empfangt c.

Er rechnet m = cd mod n und erhalt damit wieder dieursprungliche Nachricht.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 95

Page 49: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Rechenbeispiel RSA

p = 5, q = 11, n = 5 · 11 = 55

ϕ(n) = (p − 1) · (q − 1) = 4 · 10 = 40

Wahle e = 3 und berechne das Inverse d = 27:

Lose 3 · x + 40 · y = 1, dies ergibt Losungen x = −13, y = 1

Das ergibt d = x mod 40 = (−13) mod 40 = 27

Nachricht m = 9 soll ubertragen werden. Alice berechnet dieKodierung c = 93 mod 55 = 729 mod 55 = 14.

Code c = 14 kommt an. Bob rechnet

1427 mod 55 = (143 mod 55)9 mod 55

= (2744 mod 55)9 mod 55 = 499 mod 55

= (493 mod 55)3 mod 55 = (117649 mod 55)3 mod 55

= 43 mod 55 = 64 mod 55 = 9 = m

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 96

Page 50: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Warum funktioniert RSA?

Korrektheit: Warum erhalt Bob wieder die ursprungliche 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 mite · d = z · ϕ(n) + 1. Also ergibt sich beim Verschlusseln undanschließenden Entschlusseln:

(me mod n)d mod n = me·d mod n = mz·ϕ(n)+1 mod n

= (m · (mϕ(n))z) mod n = m · 1z mod n = m mod n = m

Diese Argumentation funktioniert nicht, falls m, n nicht teilerfremdsind. In diesem Fall kann man aber mit Hilfe des ChinesischenRestsatzes nachweisen, dass man trotzdem das richtige Ergebniserhalt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 97

Page 51: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Warum funktioniert RSA? (Fortsetzung)

Sicherheit: Warum ist es fur andere schwierig, die Nachricht zuentschlusseln?

Das liegt (im Wesentlichen) daran, dass man d nur dann leicht ause berechnen kann, wenn man ϕ(n) kennt. Um ϕ(n) zu berechnen,musste man die Primfaktorzerlegung von großen Zahlen (ca.1024–2048 Bits) bestimmen, was sehr schwer ist.

Wir werden uns das noch genauer ansehen und uns uberlegen,welche Voraussetzungen erfullt sein mussen, damit RSA sicher ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 98

Page 52: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Asymmetrische Verschlusselung: RSA

Weitere Bemerkungen:

Auch bei einer sinnvollen Implementierung der Potenzierungbei der Ver- und Entschlusselung ist RSA kein sehr effizientesVerfahren.

Daher wird im Allgemeinen RSA nur zum Schlusselaustauschverwendet. Sobald ein geheimer Sitzungsschlussel vereinbartist, kann ein symmetrisches Verschlusselungsverfahren (z.B.AES) verwendet werden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 99

Page 53: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Sicherheit von Kryptosystemen

Bisher ist noch nicht klar, warum die bisher vorgestelltenKryptosysteme sicher sind. Wir wissen noch nicht einmal, was“sicher” uberhaupt bedeutet.

Wir betrachten zunachst einmal, welche Arten von Angriffen aufein Kryptosystem moglich sind:

Ciphertext-only attack

Nur die verschlusselte Nachricht oder mehrere verschlusselteNachrichten sind bekannt. (Je mehr Nachrichten bekannt sind,desto besser.)

Known-plaintext attack

Nicht nur eine verschlusselte Nachricht, sondern auch diedazugehorige unverschlusselte Nachricht sind bekannt.Das Ziel ist es, den verwendeten Schlussel zu ermitteln.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 100

Page 54: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Sicherheit von Kryptosystemen

Chosen-plaintext attack

Der Angreifer hat die Moglichkeit, dem Verschlusseler einebestimmte Nachricht unterzuschrieben, die verschlusselt wird.

Beispiel: Im 2. Weltkrieg wurden von den Alliierten bestimmteBereiche des Meeres vermint, damit die Kryptoanalytiker inBletchley Park Nachrichten mit dem Wort “Minen” abfangenkonnten, um damit den Code der Enigma zu entschlusseln.

Chosen-ciphertext attack

Der Angreifer hat die Moglichkeit eine unter einem unbekanntenSchlussel verschlusselte Nachricht zu wahlen und die dazugehorigeentschlusselte Nachricht zu erhalten.

Dies ist beispielsweise moglich, wenn ein Schlussel auch zumSignieren verwendet wird.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 101

Page 55: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Sicherheit von Kryptosystemen

Wir betrachten hier nicht die folgenden Arten von Angriffen (dieaber in der Praxis auch sehr wichtig sind!):

Side channel attack

Angriff auf eine bestimmte physikalische Implementierung einesKryptosystems, indem das kryptographische Gerat wahrend derVerschlusselung beobachtet wird.

Beispiel: aus der Laufzeit des Verschlusselungsalgorithmus konnenRuckschlusse auf die Schlussellange gezogen werden (sogenanntetiming attack).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 102

Page 56: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Sicherheit von Kryptosystemen

Bei fruheren Verschlusselungsverfahren setzte man oft darauf, dassder Angreifer das Verschlusselungsverfahren nicht kannte (Securityby Obscurity).

Heute fordert man, dass ein Verschlusselungsverfahren auch dannsicher sein muss, wenn der Algorithmus bekannt ist. (Der Schlusselselbst muss naturlich unbekannt sein.) Um diese Sicherheit zugewahrleisten, muss ein Kryptosystem einer mathematischenAnalyse unterzogen werden.

Der Begriff “schwierig zu entschlusseln” wird heutzutageinsbesondere mit Mitteln der Komplexitatstheorie definiert unduntersucht.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 103

Page 57: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Daher nun eine kurze Wiederholung der wichtigstenkomplexitatstheoretischen Begriffe.

Kurze Vorausschau: leider wird sich herausstellen, dass der BegriffNP-hart bzw. NP-vollstandig nicht ausreichend sein wird, um einKryptosystem als “schwierig zu entschlusseln” zu klassifizieren. Wirmussen daher im Laufe der Vorlesung auf andere Begriffeausweichen.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 104

Page 58: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Wir definieren zunachst die Klasse aller Sprachen, die von einerdeterministischen Turingmaschine mit Zeitbeschrankung akzeptiertwerden konnen.

Zeitbeschrankte det. TM und akz. Sprachen (Definition)

Sei f : N0 → N0 eine (totale) Funktion. Die Klasse TIME(f (n))besteht aus allen Sprachen A, fur die es eine deterministischeMehrband-Turingmaschine M gibt mit A = T (M) undtimeM(x) ≤ f (|x |) fur alle Worter x .

Dabei gibt timeM(x) die Anzahl der Rechenschritte von M beiEingabe x an.

Das heißt, die Anzahl der Schritte der Turingmaschine istbeschrankt und die Beschrankung ist abhangig von der Lange derEingabe.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 105

Page 59: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

definieren, die von deterministischen Turingmaschinen mitpolynomialer Laufzeitbeschrankung erkannt werden.

Komplexitatsklasse P (Definition)

P = A | es gibt eine det. Turingmaschine M und ein

Polynom p mit T (M) = A und timeM(x) ≤ p(|x |)=

⋃p Polynom

TIME(p(n))

Intuitiv umfasst P alle Probleme, fur die effiziente Algorithmenexistieren.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 106

Page 60: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Analog zur Komplexitatsklasse P kann man auch eine Klasse FPvon Funktionen definieren, die in polynomieller Zeit berechnetwerde konnen.

Funktionsklasse FP

FP ist die Klasse aller Funktionen der Form f : Σ∗ → Σ∗, fur die eseine deterministische Turingmaschine M und ein Polynom p gibt,so dass

M berechnet die Funktion f und

timeM(x) ≤ p(|x |) fur alle Worter x ∈ Σ∗.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 107

Page 61: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Ahnlich wie bei deterministischen Turingmaschinen kann man auchzeitbeschrankte nichtdeterministische Turingmaschinen und diedazugehorigen Sprachklassen definieren.

Zeitbeschrankte nichtdet. TM und akz. Sprachen (Definition)

Sei f : N0 → N0 eine (totale) Funktion. Die Klasse NTIME(f (n))besteht aus allen Sprachen A, fur die es eine nichtdeterministischeMehrband-Turingmaschine M gibt mit A = T (M) undntimeM(x) ≤ f (|x |) fur alle Worter x .

Dabei gilt

ntimeM(x) =

minLange akzeptierender

Rechnungen von M auf x falls x ∈ T (M)0 falls x 6∈ T (M)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 108

Page 62: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Komplexitatsklasse NP (Definition)

NP =⋃

p Polynom

NTIME(p(n))

Offensichtlich gilt P ⊆ NP.

Aber gilt auch P 6= NP? P 6= NP-Problem (ungelost)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 109

Page 63: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Analog zum Begriff der Reduzierbarkeit in derBerechenbarkeitstheorie definieren wir nun den Begriff derpolynomialen Reduzierbarkeit.

Polynomiale Reduzierbarkeit (Definition)

Gegeben seien Sprachen A ⊆ Σ∗, B ⊆ Γ∗. Dann heißt A auf Bpolynomial reduzierbar (in Zeichen A ≤p B), falls es eine totaleund mit polynomialer Laufzeit (deterministisch) berechenbareFunktion f : Σ∗ → Γ∗ gibt, so dass fur alle x ∈ Σ∗ gilt:

x ∈ A ⇐⇒ f (x) ∈ B.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 110

Page 64: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Anschaulich bedeutet Reduktion, dass wir mit Hilfe von f aus einerMaschine MB fur das Problem B immer eine Maschine MA fur dasProblem A konstruieren konnen. Dabei hat dieVorverarbeitungsfunktion f polynomielle Laufzeit.

Nein

Ja

MA

f MBx f (x)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 111

Page 65: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

NP-hart, NP-vollstandig (Definition)

Eine Sprache A heißt NP-hart, falls fur alle Sprachen L ∈ NP gilt:L ≤p A.Eine Sprache A heißt NP-vollstandig, falls A NP-hart ist undA ∈ NP gilt.

Das bedeutet: eine NP-vollstandige Sprache ist mindestens soschwierig wie jedes andere Problem in NP.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 112

Page 66: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Beispiel: Erfullbarkeitsproblem SAT

Eingabe: eine aussagenlogische Formel F

Ausgabe: Hat F eine erfullende Belegung? Das heißt, gibt eseine Belegung der atomaren Aussagen mit 0 bzw. 1, so dass Funter dieser Belegung den Wert 1 hat?

SAT ist das klassische Beispiel fur ein NP-vollstandiges Problem.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 113

Page 67: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Sobald man von einer NP-vollstandigen Sprache (wie beispielsweiseSAT) zeigen konnte, dass sie in P (nicht) enthalten ist, ware dasP 6= NP-Problem gelost.

NP-Vollstandigkeit und P

Sei A NP-vollstandig. Dann gilt

A ∈ P ⇐⇒ P = NP

Bemerkung: Daraus folgt unmittelbar, dass auchA 6∈ P ⇐⇒ P 6= NP fur jedes NP-vollstandige Problem A gilt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 114

Page 68: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Wiederholung Komplexitatstheorie

Neben NP ist oft auch die Klasse aller Komplemente vonNP-Problemen interessant.

Komplexitatsklasse co-NP (Definition)

Die Komplexitatsklasse co-NP enthalt genau die Sprachen, derenKomplement in NP liegt.

SAT = F | F ist eine erfullbare aussagenlogische Formel

liegt in NP; das Komplement von SAT, namlich

UNSAT = F | F ist eine unerfullbare aussagenlogische Formel

liegt per Definition in co-NP.

Ebenso liegt das Gultigkeitsproblem in co-NP.

Man weiß weder, ob NP ⊆ co-NP, noch ob co-NP ⊆ NP. Es giltjedoch P ⊆ NP ∩ co-NP.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 115

Page 69: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Wir machen nun einen ersten Versuch, um den Begriff der“Schwierigkeit” fur das Entschlusseln von Kryptosystemen zudefinieren. Wir betrachten ein asymmetrischesVerschlusselungsverfahren, bei dem der offentliche Schlusselbekannt ist.

Die Verschlusselungsfunktion E : M × Ke → CM und dieEntschlusselungsfunktion D : CM × Kd → M liegen in FP.

Jede Funktion D ′ : CM × Ke → M mit E (D ′(c , e), e) = c furalle c ∈ CM, e ∈ Ke liegt nicht in FP.

Bemerkung: Falls die Verschlusselung eindeutig ruckgangiggemacht werden kann, konnte man hier auch D ′(E (m, e), e) = mfur alle m ∈ M fordern.

Aber vielleicht ist die Forderung, dass D ′ nicht in FP liegt, nochetwas zu schwach . . .

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 116

Page 70: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Entschlusselungsproblem liegt in NP (Satz)

Wir betrachten ein asymmetrisches Kryptosystem, fur das gilt:

M,CM ⊆ Σ∗

Die Verschlusselungsfunktion E : M × Ke → CM liegt in FP.

Falls E (m, e) = c gilt, so ist m hochstens polynomiell großerals c (D.h., p(|c |) ≥ |m| fur ein Polynom p.)

Dann liegt die Sprache

LE = (m′, c , e) | ∃u ∈ Σ∗ : E (m′u, e) = c

in NP.

Intuition: Mit LE kann man entscheiden, ob m′ Prafix einerNachricht ist, die mit e zu c verschlusselt wird.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 117

Page 71: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Beweis:

Die nichtdeterministische Turingmaschine, die LE entscheidet, ratu und uberpruft, ob E (m′u, e) = c.

Da hochstens p(|c |) Zeichen geraten mussen und E in Polynomzeitberechenbar ist, arbeitet die Turingmaschine in polynomiellerZeit.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 118

Page 72: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Bemerkungen:

Die Forderung, dass m hochstens polynomiell großer ist als c,ist sehr naturlich. Normalerweise sind Codeworter genausolang oder langer als die dazugehorigen Nachrichten.

Wenn LE in Polynomzeit berechenbar ware, dann konnte manD ′ einfach berechnen: seien c und e gegeben.

Setze m0 = ε.Angenommen mi ∈ Σi und wir wissen, dass mi einAnfangsstuck der gesuchten Nachricht m ist. Dannbestimme mi+1, durch Abfragen “(mia, c , e) ∈ LE?” furjedes a ∈ Σ. Falls eine solche Abfrage erfolgreich ist,setze mi+1 = mia.Falls eine Nachricht mn nicht mehr verlangert werdenkann, dann setze D ′(c , e) = m. (Die Iteration terminiert,da |m| beschrankt ist.)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 119

Page 73: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Andererseits: wenn D ′ in FP lage (und außerdemVerschlusselung eindeutig ruckgangig gemacht werden kann),dann liegt LE in P: man muss – gegeben ein Tupel (m′, c , e) –D ′(c , e) bestimmen und uberprufen, ob m′ ein Prafix vonD ′(c , e) ist.

D.h., die Berechnung von LE und D ′ ist “gleich schwierig”. Dasich Begriffe wie NP-Vollstandigkeit nur auf Sprachen beziehen,nicht auf Funktionen, ist es gunstiger mit demEntscheidungsproblem, namlich LE , zu arbeiten.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 120

Page 74: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Um die Berechnung von D ′ so schwierig wie moglich zu machen,konnte man jetzt folgendes fordern:

Mogliche Forderung an Kryptosysteme

Fur ein asymmetrisches Kryptosystem mit VerschlusselungsfunktionE muss die Sprache LE NP-vollstandig sein.

Kann man dann – unter der Voraussetzung, dass P 6= NP –wirklich schließen, dass das Kryptosystem sicher ist?

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 121

Page 75: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Selbst wenn P 6= NP gelten wurde, reicht diese Forderung nichtaus. Dafur gibt es zwei Grunde:

NP-Vollstandigkeit und Kryptographie

Wir mussen miteinbeziehen, dass der Angreifer auchrandomisierte Berechnungen durchfuhren kann.

Die Funktion D ′ muss fur jedes Element schwer zu berechnensein. Die NP-Vollstandigkeit von LE garantiert nur, dass esElemente gibt, fur die D ′ schwer zu berechnen ist (worst-casevs. average-case).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 122

Page 76: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Bemerkungen:

Fur SAT ist bekannt, dass es nur relativ wenige Formeln gibt,fur die es wirklich schwer ist, nachzuweisen, dass sieunerfullbar sind bzw. eine erfullende Belegung zu finden.Daher sind Werkzeuge fur SAT (sogenannte SAT-Solver) sehrerfolgreich.

Das bedeutet auch, dass SAT ungeeignet ist als Problem, dasals Grundlage fur ein Kryptosystem dienen soll.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 123

Page 77: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Man hat versucht, Kryptosysteme auf NP-vollstandigenProblemen aufzubauen, beispielsweise auf SUBSET-SUM(Merkle und Hellman):

SUBSET-SUM

Eingabe: eine endliche Menge A ⊆ N0 und t ∈ N0

Ausgabe: gibt es eine Teilmenge A′ ⊆ A, deren Summegenau t ist? D.h., gilt

∑a∈A′ a = t?

Leider hat sich inzwischen herausgestellt, dass es docheffiziente Losungsverfahren fur die in dem Kryptosystemverwendeten Instanzen von SUBSET-SUM gibt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 124

Page 78: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Kryptographie und die Komplexitatsklasse NP

Interessanterweise sind nach derzeitigem Kenntnisstand Problemebesser geeignet, von denen

nicht bekannt ist, ob sie in P liegen und

die auch nicht als NP-vollstandig bekannt sind.

Dazu gehoren insbesondere:

Faktorisierung

Diskreter Logarithmus

Wir werden beide Probleme und die dazugehorigen Funktionenspater noch genauer betrachten.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 125

Page 79: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Randomisierung

Wir betrachten zunachst randomisierte Berechnungen. Eineinteressante Feststellung ist, dass Randomisierung beiBerechnungen helfen kann!

Dazu zunachst ein einfaches Beispiel: Berechnung von π

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 126

Page 80: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Randomisierung

Bestimme Zufallspunkte in einem Quadrat und uberprufe, ob sieinnerhalb des eingeschriebenen Kreises liegen:

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 127

Page 81: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Randomisierung

Randomisierte Berechnung von π

Wahle zufallig Punkte (x , y) in einem Quadrat mitSeitenlange 1. D.h., x , y ∈ [0, 1].

Bestimme, ob (x , y) innerhalb des Kreises mit Radius r = 12

liegt, der in das Quadrat einbeschrieben ist. Teste dazu, ob(x − 1

2 )2 + (y − 12 )2 ≤ r2 = 1

4 .

Sei n die Gesamtanzahl der Punkte und k die Zahl der Punkteinnerhalb des Kreises. Dann gilt fur die Flache F des Kreises:F = r2π = π

4 und F ≈ kn . Dadurch erhalten wir eine

Naherung fur π.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 128

Page 82: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Randomisierung

Bemerkungen:

Um π wirklich genau berechnen zu konnen, benotigt maneinen guten Zufallszahlengenerator!

Eine andere (klassischere) Moglichkeit, π zu berechnen, ist esden Grenzwert einer Reihe zu bestimmen.

Ein weiteres Beispiel fur ein Problem, bei dem Randomisierunghelfen kann, ist das Sortierproblem: fur eine feste Eingabe hatQuick-Sort eine erwartete Laufzeit von O(n log n), wenn dasPivotelement zufallig gewahlt wird. (Gegenuber einerworst-case-Laufzeit von O(n2) im deterministischen Fall.)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 129

Page 83: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Klassische Turingmaschinen konnen im Allgemeinen keineZufallszahlen erzeugen. Daher betrachten wir nun probabilistischeTuringmaschinen.

Turingmaschine (Definition)

Eine (deterministische) Turingmaschine M ist ein 7-TupelM = (Z ,Σ, Γ, δ, z0,,E ), wobei

Z die endliche Menge der Zustande,

Σ das Eingabealphabet,

Γ mit Γ ⊃ Σ das Arbeitsalphabet oder Bandalphabet,

δ : Z × Γ→ Z × Γ× L,R,N die Uberfuhrungsfunktion,

z0 ∈ Z der Startzustand,

∈ Γ\Σ das Leerzeichen oder Blank und

E ⊆ Z die Menge der Endzustande ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 130

Page 84: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Klassische Turingmaschinen haben intuitiv folgendes Aussehen:

e i n g a b e

Automat mitendlich vielenZustanden

Signal furEndzustand

bewegen und Zeichen uberschreibenKopf kann sich nach links und rechts

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 131

Page 85: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Bei probabilistischen Turingmaschinen erhalt die Maschine zusatz-lich ein Band mit Zufallsbits, auf dem sie sich beliebig bewegen darf.Diese Bits beeinflussen die Zustandsubergange.

e i n g a b e

Automat mitendlich vielenZustanden

Signal furEndzustand

bewegen und Zeichen uberschreibenKopf kann sich nach links und rechts

0 1 1 0 0 1 0 Band mit ZufallsbitsCoin-Tossing Tape

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 131

Page 86: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Nach der Wiederholung von herkommlichen Turingmaschinenfuhren wir nun probabilistische Turingmaschinen ein. Dabeimodifizieren wir die Definition leicht.

Probabilistische Turingmaschine (Definition)

Eine probabilistische Turingmaschine M ist ein 7-TupelM = (Z ,Σ, Γ, δ, z0,,E ), wobei alle Komponenten mit Ausnahmevon δ wie bei einer herkommlichen Turingmaschine definiert sind.Die Uberfuhrungsfunktion δ hat folgendes Aussehen:

δ : Z × Γ× 0, 1 → Z × Γ× L,R,N × L,R,N

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 132

Page 87: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

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 folgendeBedeutung:

Wenn die Turingmaschine im Zustand z ist, a auf dem Ar-beitsband liest und das Bit b auf dem Band mit Zufallsbitssteht, dannwechselt sie in den Zustand z ′, schreibt ein c , geht auf demArbeitsband in die Richtung x und auf dem Zufallsbit-Bandin die Richtung y .

Wir gehen davon aus, dass der Turingmaschine zu Beginn derBerechnung entsprechende Zufallsbits bereitgestellt werden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 133

Page 88: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Laufzeitbeschrankung von probabilistischen Turingmaschinen

Wir sagen, dass eine probabilistische Turingmaschine halt, wenn sieauf jeder Eingabe – unabhangig von den verwendeten Zufallsbits –halt, d.h., einen Endzustand erreicht.

Außerdem hat eine probabilistische Turingmaschine einepolynomiale Laufzeit, wenn sie auf jeder Eingabe x – unabhangigvon den verwendeten Zufallsbits – hochstens p(|x |) Schritte macht,wobei p ein Polynom ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 134

Page 89: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Wir betrachten die verwendeten Zufallsbit-Folgen alsElementarereignisse. Falls die Turingmaschine auf einem festenWort der Lange n arbeitet, ist die Menge der Elementarereignissewie folgt definiert:

Ω = 0, 1p(n)

Mehr Zufallsbits werden in p(n) Schritten nicht benotigt. Jedesdieser Elementarereignisse ist gleich wahrscheinlich.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 135

Page 90: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Die Tatsache, ob eine Maschine M ein Wort x der Lange nakzeptiert (d.h. am Ende der Berechnung 1 aufs Band schreibt),wird durch eine Zufallsvariable

aM(x) : Ω→ 0, 1

beschrieben. Fur b ∈ Ω gilt aM(x)(b) = 1 genau dann, wenn Mdas Wort x unter Verwendung der Zufallsbits b akzeptiert.

Die Laufzeit einer Maschine M auf einem Wort x ist ebenfalls eineZufallsvariable

tM(x) : Ω→ N0.

Fur b ∈ Ω gibt tM(x)(b) die Anzahl der Schritte an, die dieBerechnung auf x mit den Zufallsbits b in Anspruch nimmt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 136

Page 91: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Turingmaschinen

Bemerkung:

Probabilistische Turingmaschinen sind nur eine Moglichkeit, denBegriff der randomisierten Berechnung prazise zu fassen.

Wie das oft in der Berechenbarkeitstheorie der Fall ist, gibt es auchandere analoge Berechnungsmodelle.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 137

Page 92: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Wir konnen nun die erste probabilistische Komplexitatsklassedefinieren.

Komplexitatsklasse RP (Randomized polynomial time)

Eine Sprache L ⊆ Σ∗ gehort zu der Klasse RP genau dann, wennes eine probabilistische Turingmaschine M mit polynomialerLaufzeit gibt, so dass fur jede Eingabe x ∈ Σ∗ gilt:

1 falls x ∈ L, dann gilt P(M akzeptiert x) = P(aM(x) = 1) ≥ 12 .

2 falls x 6∈ L, dann gilt P(M akzeptiert x) = P(aM(x) = 1) = 0.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 138

Page 93: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Frage: Kann man auch eine hohere Wahrscheinlichkeit als 12

erhalten, wenn das Wort in der Sprache liegt?

Antwort: Ja! Man muss die Maschine nur mehrmals (mit jeweilsanderen Zufallsbits) laufen lassen. Sei M ′ die Maschine, die Mk-mal ausfuhrt und akzeptiert, sobald M einmal akzeptiert. Da diejeweils verwendeten Zufallsbits unabhangig voneinander sind, giltfur x ∈ L:

P(M ′ akzeptiert x nicht) ≤(

1

2

)k

und damit

P(M ′ akzeptiert x) ≥ 1−(

1

2

)k

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 139

Page 94: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Wir wollen nun mit Wahrscheinlichkeit großer gleich p akzeptieren.Es gilt

p ≤ 1−(

1

2

)k

⇐⇒ 1

1− p≤ 2k ⇐⇒ k ≥ log2

1

1− p

Dann reicht es, die Maschine M log21

1−p = − log2(1− p)-mallaufen zu lassen. Das ist fur eine feste Wahrscheinlichkeit p nur einkonstanter Faktor.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 140

Page 95: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Beispiel: wir betrachten ganzzahlige Polynome mit n Variablen,d.h., Polynome uber den Variablen x1, . . . , xn, bei denen alleKoeffizienten ganzzahlig sind.

Gegeben sei nun ein solches ganzzahliges Polynom p, dargestelltdurch einen arithmetischen Ausdruck.

Dieses Polynom ist nicht notwendigerweise in ausmultiplizierterForm, d.h., als Summe von Termen der Form a · x i11 · · · · · x inn ,gegeben! Beispielsweise wird es als Produkt von Summenp(x) = (x1 + x2) · (x3 + x4) · · · · · (x2n−1 + x2n) dargestellt. Aufjeden Fall haben wir eine Berechnungsverfahren fur p, welches inPolynomzeit ausfuhrbar ist.

Der Grad eines Polynoms (in ausmultiplizierter Form) ist diemaximale Summe der Exponenten in einem Summanden.Beispielsweise hat p(x1, x2) = 3x3

1x22 + x4

1 + 2x32 + x2

1x2 den Grad 5.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 141

Page 96: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

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 esa1, . . . , an ∈ Z, so dass p(a1, . . . , an) 6= 0 gilt?

Bemerkung: Sobald man NON-ZERO-POLY effizient losen kann,konnen auch zwei Polynome p, q effizient auf Ungleichheit getestetwerden. Dazu uberpruft man, ob (p − q) ∈ NON-ZERO-POLY.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 142

Page 97: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Idee zur Berechnung von NON-ZERO-POLY: wahle beliebigeganze Zahlen a1, . . . , an ∈ Z und setze sie in p ein. Das Polynomwird akzeptiert, falls p(a1, . . . , an) 6= 0 gilt.

Dieser Test lauft sicherlich in Polynomzeit, aufgrund desgegebenen arithmetischen Ausdrucks bzw. polynomialenVerfahrens.

Das Verfahren akzeptiert niemals ein Polynom, das identischzu Null ist. D.h., die zweite Bedingung in der Definition vonRP ist auf jeden Fall erfullt.

Wir mussen uns nun noch uberlegen, ob auch die ersteBedingung erfullt ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 143

Page 98: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Wahrscheinlichkeit fur Nullstellen (Schwartz-Zippel-Lemma)

Sei p ein ganzzahliges Polynom mit n Variablen und Grad kleinergleich k. Sei außerdem p nicht identisch zu Null. Wenn a1, . . . , anunabhangig und gleichverteilt aus 1, . . . ,N gewahlt werden, sogilt:

P(p(a1, . . . , an) = 0) ≤ k

N

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 144

Page 99: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Beweis: die Menge der Elementarereignisse ist Ω = 1, . . . ,Nn,wobei alle Elementarereignisse gleich wahrscheinlich sind. Wirfuhren eine Induktion uber n durch.

n = 1: in diesem Fall haben wir Polynom mit nur einer einzigenVariable x1. Ein solches Polynom kann hochstens k Nullstellenhaben und die Wahrscheinlichkeit, eine davon aus der Menge1, . . . ,N auszuwahlen ist kleiner gleich k

N .

n−1→ n: In diesem Fall lasst sich p schreiben als

p = p0 + p1 · xn + p2 · x2n + · · ·+ pt · x tn,

wobei die pi die Variable xn nicht enthalten. Außerdem ist pt nichtidentisch zum Nullpolynom und hat hochstens Grad k − t. Wirkonnen davon ausgehen, dass t > 0 ist, denn ansonsten hatte pnur Variablen aus x1, . . . , xn−1.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 145

Page 100: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Wir definieren nun folgende Ereignisse:

PN = (a1, . . . , an) ∈ Ω | p(a1, . . . , an) = 0PTN = (a1, . . . , an) ∈ Ω | pt(a1, . . . , an−1) = 0

Es gilt:

P(PN) = P(PN | PTN) · P(PTN) + P(PN | PTN) · P(PTN)

≤ P(PTN) + P(PN | PTN)

Dabei ist PTN = Ω\PTN.Wir schatzen nun noch die beiden Wahrscheinlichkeiten in derSumme ab:

P(PTN) ≤ k−tN , denn pt ist ein Polynom vom Grad k − t mit

weniger Variablen, so dass die Induktionsvoraussetzungzutrifft.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 146

Page 101: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

P(PN | PTN) ≤ tN , denn es wird vorausgesetzt, dass

pt(a1, . . . , an−1) 6= 0 gilt. Dies ist der hochste Koeffizient desPolynoms q definiert durch:

q(xn) = p(a1, . . . , an−1, xn)

Dieses Polynom ist nicht identisch mit Null, da der hochsteKoeffizient ungleich 0 ist. Die Wahrscheinlichkeit, dass unterdieser Voraussetzung p(a1, . . . , an) = 0 gilt, ist dieWahrscheinlichkeit, dass wir eine Nullstelle von q wahlen. Unddiese Wahrscheinlichkeit ist kleiner gleich t

N , da q Grad t hat.

Insgesamt ergibt sich:

P(p(a1, . . . , an) = 0) ≤ k − t

N+

t

N=

k

N

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 147

Page 102: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

NON-ZERO-POLY liegt in RP

NON-ZERO-POLY ∈ RP

Beweis: aufgrund der Voruberlegungen mussen wir uns nur nochuberlegen, dass man die Zahlen a1, . . . , an so wahlen kann, dassp(a1, . . . , an) = 0 mit Wahrscheinlichkeit kleiner 1

2 gilt, falls pnicht identisch Null ist. Nach dem vorherigen Satz konnen wira1, . . . , an zufallig aus der Menge 1, . . . , 2k wahlen.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 148

Page 103: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Fur das Problem NON-ZERO-POLY gibt es noch keinenbekannten deterministischen Polynomzeitalgorithmus.

Falls das Polynom als arithmetischer Ausdruck gegeben ist, dannnutzt es auch nichts, den Ausdruck mit Hilfe desDistributivgesetzes auszumultiplizieren und das Polynom alsSumme von Termen der Form a · x i11 · · · · · x inn darzustellen. DieseDarstellung ist im Normalfall exponentiell großer als derursprungliche Ausdruck.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 149

Page 104: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Es ist relativ leicht, P und RP miteinander zu vergleichen:

P vs. RP

Es gilt P ⊆ RP.

Begrundung: jede deterministische Turingmaschine kann auch alsprobabilistische Turingmaschine aufgefasst werden, die ihrenZufallsbit-Bandinhalt ignoriert.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 150

Page 105: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

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 probabilistischeTuringmaschine, die ein Wort w ∈ L mit Wahrscheinlichkeit großergleich 1

2 akzeptiert und ein Wort w 6∈ L nie akzeptiert.Dies kann durch eine nicht-deterministische Turingmaschinesimuliert werden, die ihre Zufallsbits selbst rat. Falls w ∈ L, so gibtes eine Folge von Zufallsbits, die zur Akzeptanz von w fuhrt. Fallsw 6∈ L, so gibt es eine solche Folge nicht.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 151

Page 106: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Wir betrachten noch weitere Komplexitatsklassen:

Komplexitatsklasse BPP (bounded-error probabilistic polynomialtime)

Eine Sprache L ⊆ Σ∗ gehort zu der Klasse BPP genau dann, wennes eine probabilistische Turingmaschine M mit polynomialerLaufzeit gibt, so dass fur jede Eingabe x ∈ Σ∗ gilt:

1 falls x ∈ L, dann gilt P(M akzeptiert x) = P(aM(x) = 1) ≥ 34 .

2 falls x 6∈ L, dann gilt P(M akzeptiert x) = P(aM(x) = 1) ≤ 14 .

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 152

Page 107: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Bemerkungen:

Es macht wenig Sinn in obiger DefinitionP(M akzeptiert x) ≥ 1

2 und P(M akzeptiert x) ≤ 12 zu

fordern. Dann wurde ein einfacher Munzwurf, bei dem mitWahrscheinlichkeit 1

2 akzeptiert oder nicht akzeptiert wird,den Anforderungen an die Turingmaschine genugen.

Wie bei RP kann die Wahrscheinlichkeit fur eine falscheAntwort vermindert werden, indem man die Maschinemehrfach laufen lasst.

Jedes andere Paar von Zahlen p, q ∈ [0, 1] mit 1 > p > 12 und

0 < q < 12 kann statt 3

4 und 14 verwendet werden.

( Ubungsaufgabe)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 153

Page 108: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Uber das Verhaltnis von RP und BPP weiß man folgendes, wasdaraus folgt, dass man die Akzeptanzwahrscheinlichkeit einerRP-Turingmaschine beliebig erhohen 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 Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 154

Page 109: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Zuletzt betrachten wir noch folgende Komplexitatsklasse:

Komplexitatsklasse ZPP (zero-error probabilistic polynomial time)

Eine Sprache L ⊆ Σ∗ gehort zu der Klasse ZPP genau dann, wennes eine probabilistische Turingmaschine M gibt, so dass derErwartungswert der Laufzeit polynomial beschrankt ist und fur jedeEingabe x ∈ Σ∗ gilt:

1 falls x ∈ L, dann gilt P(M akzeptiert x) = P(aM(x) = 1) = 1.

2 falls x 6∈ L, dann gilt P(M akzeptiert x) = P(aM(x) = 1) = 0.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 155

Page 110: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Was bedeutet “der Erwartungswert der Laufzeit ist polynomialbeschrankt”?

Erwartungswert

Fur 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 annehmenkann.

Fur die Turingmaschinen in der Definition von ZPP heißt das, dassfur jedes Wort x gelten muss: die Zufallsvariable tM(x), die dieLaufzeit von M in Abhangigkeits der Zufallsbits beschreibt, erfulltE [tM(x)] ≤ p(|x |), wobei p ein Polynom ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 156

Page 111: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Fur Probleme in ZPP gilt also:

Es gibt Algorithmen fur diese Probleme, die immer die richtigeAntwort geben.

Aber: es ist unklar, ob diese Algorithmen immer polynomialeLaufzeit haben. Im Mittel, wenn man den Erwartungswertbetrachtet, ist die Laufzeit aber polynomial. Intuitiv bedeutetdas, dass die Algorithmen nur sehr selten lange Laufzeitenhaben.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 157

Page 112: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Bemerkungen:

Algorithmen, die arbeiten wie die Turingmaschinen, dieZPP-Probleme entscheiden, nennt manLas-Vegas-Algorithmen: die Laufzeit, aber nicht die Ausgabedes Algorithmus ist randomisiert. Insbesondere ist derErwartungswert der Laufzeit polynomial beschrankt, dieAusgabe ist unabhangig von den Zufallsbits.

Verfahren, bei denen auch die Ausgabe randomisiert ist, nenntman Monte-Carlo-Verfahren. Sie entsprechen denTuringmaschinen fur RP- und BPP-Probleme. Hier ist dieLaufzeit immer polynomial beschrankt, die Ausgabe ist aberabhangig von den Zufallsbits.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 158

Page 113: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

ZPP und RP

Ein Problem L liegt in ZPP genau dann, wenn L und seinKomplement in RP liegen.

Zum Beweis dieser Aussage benotigen wir dieMarkow-Ungleichung:

Markow-Ungleichung

Fur eine Zufallsvariable X : Ω→ R+0 und t ∈ R mit t > 0 gilt:

P(X ≥ t) ≤ E [X ]

t

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 159

Page 114: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Beweis:

Zunachst beobachten wir, dass ZPP unter Komplementabgeschlossen ist (einfach Ja- und Nein-Ausgange derTuringmaschine vertauschen).

Das bedeutet, dass aus L ∈ ZPP auch L ∈ ZPP folgt. Es reichtdaher fur die Beweisrichtung von links nach rechts aus zu zeigen,dass ZPP ⊆ RP gilt. Die Aussage fur die Komplementproblemefolgt dann sofort.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 160

Page 115: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

“⇒”: Wir zeigen nun, dass ZPP ⊆ RP gilt.

Sei L ∈ ZPP und sei M eine probabilistische Turingmaschine, die Lakzeptiert. Der Erwartungswert der Laufzeit von M ist durch dasPolynom p beschrankt.Wir konstruieren eine neue Turingmaschine M ′, die bei Eingabevon x mit n = |x | folgendes macht: sie simuliert M 2p(n) Schrittelang und akzeptiert nur dann, wenn M bis dahin akzeptiert hat.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 161

Page 116: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Es ist klar, dass P(M ′ akzeptiert x) = 0 gilt, falls x 6∈ L.

Außerdem gilt, falls x ∈ L: P(M ′ akzeptiert x) =P(M akzeptiert x in hochstens 2p(n) Schritten) ≥ 1

2 . Dennnach der Markow-Ungleichung uberschreitet eineZufallsvariable das Doppelte ihres Erwartungswertes nur mitWahrscheinlichkeit kleiner gleich 1

2 .

Genauer: P(M ′ akzeptiert x) = 1− P(M ′ akzeptiert x nicht)= 1− P(tM′(x) ≥ 2p(n)) ≤ 1− P(tM′(x) ≥ 2E [tM′(x)])≤ 1− 1

2 = 12 .

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 162

Page 117: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

“⇐”: Sei nun L eine Sprache die in RP liegt und derenKomplement auch in RP liegt.

D.h., wir haben zwei Turingmaschinen M1, M2, so dass M1 Worterimmer korrekt akzeptiert und M2 Worter immer korrektzuruckweist. Wir nehmen an, dass die Laufzeit beider Maschinendurch das Polynom p beschrankt ist.

Wir lassen M1 und M2 immmer wieder solange parallel laufen bisentweder M1 akzeptiert oder M2 das Wort zuruckweist.Bei einem Durchlauf ist die Wahrscheinlichkeit fur das Eintretendieses Ereignisses mindestens 1

2 . D.h., die erwartete Laufzeit istkleiner gleich:

∞∑i=0

(1

2

)i

2p(n) = 2p(n)∞∑i=0

1

2i= 2p(n)

1

1− 12

= 4p(n)

wobei n die Lange des betrachteten Wortes ist.Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 163

Page 118: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Dabei ist p(n) die Anzahl der Schritte eines Durchlaufs einerTuringmaschine und 2p(n) die Zahl der Schritte fur beideMaschinen. Ein Durchlauf fur jede Maschine wird mindestensdurchgefuhrt.

Die Wahrscheinlichkeit dafur, dass der (i + 1)-te Durchlauf

benotigt wird, ist kleiner gleich(

12

)i(alle vorherigen Durchlaufe

brachten kein definitives Ergebnis).

Die Reihe konvergiert zu 2 und damit haben wir wiederumpolynomiale Laufzeit.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 164

Page 119: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Analog zu co-NP kann man auch co-RP definieren:

Komplexitatsklasse co-RP (Definition)

Die Komplexitatsklasse co-RP enthalt genau die Sprachen, derenKomplement in RP liegt.

Damit kann man den obigen Satz auch folgendermaßen notieren:

ZPP = RP ∩ co-RP

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 165

Page 120: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Probabilistische Komplexitatsklassen

Es gelten folgende Beziehungen zwischen probabilistischenKomplexitatsklassen:

P ⊆ ZPP = RP ∩ co-RP ⊆ RP ⊆ BPP

RP ⊆ NP

Es ist jedoch nichts uber das Verhaltnis zwischen BPP und NPbekannt.

Außerdem gibt es Vermutungen, dass P und ZPP gleich seinkonnten, aber auch das ist nicht bewiesen.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 166

Page 121: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Wir betrachten nun den Miller-Rabin-Primzahltest, einprobabilistisches Verfahren, das einer RP-Turingmaschineentspricht. Primzahltests sind wichtig, um furVerschlusselungsverfahren – wie beispielsweise RSA – großePrimzahlen zu finden.

Wenn die eingegebene Zahl eine Primzahl ist, dann gibt derAlgorithmus dies auch immer aus. Wenn die Zahlzusammengesetzt, d.h., keine Primzahl, ist, dann irrt er sich mitWahrscheinlichkeit kleiner gleich 1

2 .

Das bedeutet auch, dass man sich auf den Test verlassen kann,wenn er behauptet, dass eine Zahl zusammengesetzt ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 167

Page 122: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Wir zeigen also, dass folgendes Problem in RP liegt:

COMPOSITE

Eingabe: eine naturliche Zahl n > 1

Ausgabe: ist n zusammengesetzt, d.h., gibt es naturlicheZahlen k , ` > 1 mit n = k · `?

Das Komplement von COMPOSITE ist das Problem PRIMES, dasauch in RP (und wie COMPOSITE sogar in P) liegt. Allerdingswerden wir das hier nicht zeigen.

PRIMES

Eingabe: eine naturliche Zahl n > 1

Ausgabe: ist n eine Primzahl?

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 168

Page 123: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Die erste Idee, die hinter dem Miller-Rabin-Primzahltest steckt, istdie folgende:

Fermat-Zeugen

Sei n > 1 eine naturliche Zahl und a ∈ 1, . . . , n − 1. Fallsan−1 mod n 6= 1 gilt, so ist n zusammengesetzt.

Man nennt a dann auch einen Fermat-Zeugen dafur, dass nzusammengesetzt ist.

Diese Behauptung folgt unmittelbar aus dem Satz vonEuler-Fermat (siehe weiter oben im Abschnitt uber RSA).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 169

Page 124: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Idee: Fur ein gegebenes n wahle ein zufalliges a ∈ 1, . . . , n − 1und teste, ob an−1 mod n 6= 1.

Falls ja, gebe “zusammengesetzt” zuruck, ansonsten “prim”.

Dieser extrem einfach Test funktioniert sogar beinahe. Er schlagtnur fur sogenannte Carmichael-Zahlen fehl, das sindzusammengesetzte Zahlen, die sehr wenige Fermat-Zeugen haben.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 170

Page 125: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Carmichael-Zahlen

Eine zusammengesetzte Zahl n heißt Carmichael-Zahl, falls alleFermat-Zeugen dieser Zahl nicht teilerfremd zu n sind. D.h., jedesa ∈ 1, . . . , n − 1 mit ggT (a, n) = 1 erfullt an−1 mod n = 1.

Bemerkung: Fur alle n gilt: ein Nicht-Fermat-Zeuge a fur n istimmer teilerfremd zu n.

Die kleinste solche Carmichael-Zahl ist 561 = 3 · 11 · 17.

Es ist außerdem bekannt, dass jede Carmichael-Zahl ungerade ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 171

Page 126: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

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 großergleich n

2 .

Beweis:

Zur Erinnerung: die Elemente vonZ∗n = a ∈ 1, . . . , n − 1 | ggT (a, n) = 1 bilden eine Gruppebezuglich der Multiplikation.

Wir betrachten nun

B = a ∈ Z∗n | an−1 mod n = 1.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 172

Page 127: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Man kann leicht zeigen, dass B eine Untergruppe von Z∗n ist (1 ∈ Bund B ist abgeschlossen unter Multiplikation und Inversenbildung).

B ist eine Untergruppe von Z∗n ist aber nicht gleich Z∗n, denn da nkeine Carmichael-Zahl ist, enthalt Z∗n mindestens einenFermat-Zeugen. Nach dem Satz von Lagrange ist die Anzahl derElemente einer Untergruppe ein Teiler der Anzahl der Elemente dergesamten Gruppe. Daher gilt |B| ≤ |Z

∗n |

2 < n2 .

Außerdem sind alle Elemente von Zn\Z∗n Fermat-Zeugen. Daher istdie Zahl der Nicht-Fermat-Zeugen durch n

2 beschrankt.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 173

Page 128: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Fur Carmichael-Zahlen benotigen wir nun noch ein zusatzlichesKriterium.

Miller-Zeuge

Sei n > 1 und sei b ∈ 1, . . . , n − 1 mit

b 6= 1 b 6= n − 1 b2 mod n = 1

Dann ist n eine zusammengesetzte Zahl.

Die Zahl b heißt auch Miller-Zeuge fur n oder nicht-trivialeQuadratwurzel von 1.

Beweis: es gilt n | (b2 − 1) = (b − 1)(b + 1), jedoch n - b − 1 undn - b + 1. Damit kann n keine Primzahl sein, denn wenn einePrimzahl ein Produkt teilt, teilt sie auch einen der Faktoren.

Bemerkung: b mod n 6= n − 1 ist aquivalent zu b 6≡ −1 (mod n).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 174

Page 129: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Man kann nun folgendes zeigen:

Wahrscheinlichkeit fur einen Miller-Zeugen

Gegeben sei eine Carmichael-Zahl n, insbesondere ist damit nungerade. Sei außerdem n− 1 = 2k ·m mit m ungerade und k ≥ 1.

Fur ein zufallig gewahltes a ist die Wahrscheinlichkeit, dass sich inder Menge a2i ·m mod n | 0 ≤ i < k ein Miller-Zeuge fur nbefindet, großer gleich 1

2 .

Der Beweis ist recht technisch, ist jedoch ahnlich zu demNachweis, dass eine Zahl n, die keine Carmichael-Zahl ist, mehr alsn2 Fermat-Zeugen hat. Auch hier wird der Satz von Lagrangeverwendet.

Bei Zahlen, die keine Carmichael-Zahlen sind, ist dieWahrscheinlichkeit, einen Miller-Zeugen zu finden, viel geringer.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 175

Page 130: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Man sucht nun nicht zufallig nach solchen Miller-Zeugen, sondernnutzt folgende Tatsachen aus:

Angenommen, n ist ungerade und der Test fur denFermat-Zeugen schlagt fehl, d.h., an−1 mod n = 1.

Sei nun n − 1 = 2k ·m fur k ≥ 1 und m ungerade.

Falls am mod n = 1 gilt, dann geben wir auf und geben (evtl.zu Unrecht) aus, dass die Zahl eine Primzahl ist.

Ansonsten (am mod n 6= 1) quadrieren wir die Zahl am immer

wieder, bis a2k ·m erreicht ist. Da letztere Zahl kongruent 1modulo n ist, erreichen wir irgendwann den ersten Index i mita2i ·m mod n = 1 (und dies gilt auch fur Indizes großer als i).

Falls nun a2i−1·m mod n 6= n − 1 gilt, so haben wir einenMiller-Zeugen b = a2i−1·m gefunden ( Zahl istzusammengesetzt!). Ansonsten geben wir wieder auf undgeben “prim” aus.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 176

Page 131: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Bemerkung: in der Folgeam mod n, . . . , a2i ·m mod n, . . . , a2k ·m mod n = an−1 mod nkonnen 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 an−1 mod n 6= 1 und damit a einFermat-Zeuge ist)

Dabei steht ? fur eine Zahl ungleich 1 und ungleich n − 1.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 177

Page 132: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Beispiel:

Sei n = 561.

Wir wahlen zufallig a = 5 und testen, ob a ein Fermat-Zeugefur n ist: 5560 mod 561 = 1. D.h., 5 ist kein Fermat-Zeuge.

Es gilt 560 = 24 · 35. Wir berechnen

535 mod 561 = 2352·35 mod 561 = 232 mod 561 = 529522·35 mod 561 = 5292 mod 561 = 463523·35 mod 561 = 4632 mod 561 = 67524·35 mod 561 = 672 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 Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 178

Page 133: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Das Verfahren kann effizient so implementiert werden, dasszunachst am mod n berechnet wird und dann sukzessive Quadrategenommen werden.

Miller-Rabin-Primzahltest

Eingabe: eine ungerade naturliche Zahl n ≥ 3

Wahle zufallig ein a ∈ 1, . . . , n − 1falls ggT (a, n) 6= 1, gebe “zusammengesetzt” aussei n − 1 = 2k ·m mit m ungeradefalls am mod n = 1, gebe “prim” ausfor i = 0 to k − 1 do

falls a2i ·m mod n = n − 1, dann gebe “prim” ausendgebe “zusammengesetzt” aus

Gerade naturliche Zahlen mussen separat getestet werden.Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 179

Page 134: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Zusammenfassung (Miller-Rabin-Primzahltest):

Es gibt ein Verfahren, das bei Eingabe einer naturlichen Zahln “prim” oder “zusammengesetzt” ausgibt, wobei

mit einer Wahrscheinlichkeit großer gleich 12

“zusammengesetzt” ausgegeben wird, wenn nzusammengesetzt 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 giltCOMPOSITE ∈ RP ∩ co-RP = ZPP und auchPRIMES ∈ ZPP.

Inzwischen wurde sogar gezeigt, dass PRIMES ∈ P gilt(Agrawal, Kayal, Saxena). Dennoch wird der probabilistischeTest noch bevorzugt, da er wesentlich effizienter ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 180

Page 135: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Primzahltests

Weitere Bemerkungen:

Ein wichtiges Konzept in der Komplexitatstheorie sind sogenannteZeugen oder Zertifikate, die garantieren, dass ein Wort x in einerSprache L liegt. Fur probabilistische Komplexitatsklassen ist dieSituation wie folgt:

Gibt es fur jedes Wort x ausreichend viele Zeugen fur x ∈ Lund x 6∈ L, so liegt L in ZPP.

Gibt es fur jedes Wort x ausreichend viele Zeugen fur x ∈ L,so liegt L in RP.

Gibt es keine Zeugen, aber erhalt hat man trotzdemausreichend hohe Wahrscheinlichkeiten dafur, dass x ∈ L bzw.x 6∈ L gilt, so liegt L in BPP.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 181

Page 136: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Wir betrachten nun sogenannte Einwegfunktionen, das sind intuitivFunktionen, die

leicht zu berechnen sind – sie liegen in FP – und

deren Umkehrung fast immer schwer zu berechnen ist(sogenannte preimage resistance)

Zusatzlich fordert man im Allgemeinen auch noch, dass dieUmkehrung sogar dann schwer zu berechnen ist, wenn man einprobabilistisches Verfahren verwendet.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 182

Page 137: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Wir betrachten im Folgenden nur ehrliche Funktionen. Das sindFunktionen, die ihre Eingabe nicht zu stark verkurzen. Denn wenndie Große des Urbildes nicht polynomial in der Große des Bildes ist,dann kann das Urbild sowieso nicht in polynomialer Zeit gefundenwerden. Damit gabe es triviale Einwegfunktionen, an denen wiraber nicht interessiert sind.

Ehrliche Funktionen

Eine Funktion f : Σ∗ → Γ∗ heißt ehrlich, falls es ein Polynom qgibt, so dass fur alle x ∈ Σ∗ gilt:

|x | ≤ q(|f (x)|)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 183

Page 138: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Außerdem benotigen wir – um ausdrucken zu konnen, dass dieWahrscheinlichkeit ein Kryptosystem zu entschlusselnvernachlassigbar gering ist – den Begriff einer vernachlassigbarenFunktion.

Vernachlassigbare Funktion

Eine Funktion r : N0 → R+0 heißt vernachlassigbar, wenn es fur

jedes Polynom p (mit p : N0 → N0) eine Zahl C ∈ N0 gibt mit

r(n) <1

p(n)

fur n > C .

Anschaulich: wenn der Funktionswert n groß genug ist, dann fallt rschneller als der Kehrwert jedes Polynoms.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 184

Page 139: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Einwegfunktion

Eine Funktion f : 0, 1∗ → 0, 1∗ heißt Einwegfunktion, falls

f liegt in FP,

f ist ehrlich und

fur jede probabilistische polynomzeitbeschrankteTuringmaschine M ist die Wahrscheinlichkeit vernachlassigbar,dass M ein korrektes Urbild fur f (x) berechnet, falls x zufalligaus der Menge 0, 1n gewahlt wird.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 185

Page 140: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Wir betrachten den dritten Punkt der Definition noch etwasgenauer:

Notation:

M(y) sei eine Zufallsvariable, die die Ausgabe derprobabilistischen Turingmaschine M bei Terminierung angibt,wenn die Turingmaschine mit Eingabe y gestartet wurde.

f (M(f (x))) = f (x) bedeutet, dass die Turingmaschine Mkorrekt ein Urbild von f (x) berechnet hat. Da f nicht injektivsein muss, konnen wir nicht erwarten, dass dieses Urbild auchgleich x sein muss.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 186

Page 141: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Welche Wahrscheinlichkeit genau ist vernachlassigbar?

Elementarereignisse: die Elementarereignisse stammen aus derMenge Ω = 0, 1n × 0, 1q(q′(n)), wobei q das Polynom ist,das die Laufzeit von M beschrankt und q′ das Polynom ist,das die Laufzeit der Maschine beschrankt, die f berechnet.D.h., ein Elementarereignis ist ein Paar bestehend aus einemWort x ∈ 0, 1n und einem Zufallsbit-String b. AlleElementarereignisse sind gleich wahrscheinlich.

Wir betrachten nun folgende Zufallsvariable X nM :

X nM(x , b) =

1 falls M bei Eingabe f (x) und mit Zufallsbits bein Urbild von f (x) bestimmt

0 sonst

Beschrankt wird also die Wahrscheinlichkeit r(n) = P(X nM = 1) =

P(f (M(f (x))) = f (x)), wobei n die Lange von x ist.Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 187

Page 142: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Warum fordert man nicht sogar, dass P(f (M(f (x))) = f (x)) furjedes x ∈ 0, 1n vernachlassigbar ist? Die Elementarereignissewurden in diesem Fall nur aus den Zufallsbit-Strings bestehen.

Solche Einwegfunktionen kann es gar nicht geben! Man kann nieverhindern, dass der Entschlusselungsalgorithmus auf bestimmtenverschlusselten Nachrichten korrekt funktioniert. Beispielsweisekonnte die Turingmaschine immer eine feste Nachricht ausgeben.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 188

Page 143: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Faktorisierung

Wir betrachten nun einige mogliche Kandidaten furEinwegfunktionen, zunachst 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 musste dieFaktorisierung eines Produkts von Primzahlen bestimmen.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 189

Page 144: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Faktorisierung

Als Entscheidungsproblem kann man das Faktorisierungsproblemfolgendermaßen darstellen:

Faktorisierung

Eingabe: Zwei Zahlen n, r ∈ N0, wobei n das Produkt vonzwei k-Bit Primzahlen ist.

Ausgabe: Besitzt n einen Faktor p 6= 1, der kleiner als r ist?

Eine andere Variante des Entscheidungsproblems fragt, ob das i-teBit des kleineren Faktors gleich 1 ist.

Beide Probleme liegen in NP, es ist jedoch nicht bekannt, ob sieNP-vollstandig sind. Auch aus dem Beweis der NP-Vollstandigkeitund aus P 6= NP kann man nicht notwendigerweise schließen, dasspmult eine Einwegfunktion ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 190

Page 145: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Faktorisierung

Auch wenn nicht klar ist, ob pmult wirklich eine Einwegfunktionist, so ist dies durch den RSA Factoring Challenge zumindest“empirisch” uberpruft worden:

http://en.wikipedia.org/wiki/RSA Factoring Challenge

Es gibt darin immer noch zahlreiche Produkte von Primzahlen, diebisher noch nicht faktorisiert wurden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 191

Page 146: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Diskreter Logarithmus

Um den diskreten Logarithmus definieren zu konnen, benotigen wirzunachst einige Begriffe:

Primitivwurzel modulo m

Eine Zahl g ∈ 0, . . . ,m − 1 heißt Primitivwurzel modulo m, fallsg ein Generator der multiplikativen Gruppe

Z∗m = a ∈ 1, . . . ,m − 1 | ggT (a,m) = 1

ist. D.h., es muss gelten:

gk mod m | k ∈ N0 = Z∗m

Bemerkung: Es gilt |Z∗m| = ϕ(m).

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 192

Page 147: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Diskreter Logarithmus

Bemerkungen:

Nicht fur alle m ∈ N0 gibt es Primitivwurzeln. Es gibt jedochauf 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 fur p = 7:

20 mod 7 = 1, 21 mod 7 = 2, 22 mod 7 = 4,23 mod 7 = 1 2 ist keine Primitivwurzel modulo 730 mod 7 = 1, 31 mod 7 = 3, 32 mod 7 = 2,33 mod 7 = 6, 34 mod 7 = 4, 35 mod 7 = 5,36 mod 7 = 1 3 ist eine Primitivwurzel modulo 7

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 193

Page 148: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Diskreter Logarithmus

Wir betrachten die Funktion dexp:

Diskrete Exponentialfunktion

Gegeben seien eine Primzahl p, eine Primitivwurzel g modulo pund 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) deneindeutig bestimmten Exponenten x berechnet, heißt diskreterLogarithmus und gilt als schwer zu berechnen.

Auch fur den diskreten Logarithmus existiert ebenfalls eindazugehoriges Entscheidungsproblem.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 194

Page 149: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Mit Hilfe von Einwegfunktionen konnte man symmetrischeVerschlusselung realisieren. Dazu mussten Einwegfunktionenjedoch existieren.

Existieren Einwegfunktionen?

das weiß man nicht genau. Man weiß nur, dass folgendes ausder Existenz von Einwegfunktionen folgen wurde:

P 6= NP und NP 6⊆ BPP

es gibt (sichere) symmetrische Verschlusselungsverfahren, diemit kurzen Schlusseln arbeiten (anders als der One-Time-Pad)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 195

Page 150: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Falls Einwegfunktionen existieren, dann gilt P 6= NP. Außerdemgilt dann NP 6⊆ BPP, d.h., es gibt eine Sprache in NP\BPP.

Beweis: sei f : 0, 1∗ → 0, 1∗ eine Einwegfunktion und sei

Lf = (x , y) | ∃u ∈ 0, 1∗ : f (xu) = y.

Lf liegt in NP, denn u kann geraten und in Polynomzeit uberpruftwerden. Falls P = NP gilt, so ware Lf in Polynomzeit entscheidbar,und man kann Lf dazu benutzen, um in Polynomzeit ein Urbild fureinen gegebenen Funktionswert f (x) zu bestimmen. (SieheArgumentation fur die sehr ahnliche Sprache LE weiter oben.) Dasist ein Widerspruch dazu, dass f eine Einwegfunktion ist.

Außerdem kann Lf nicht in BPP liegen, denn dann gabe es eineprobabilistische Turingmaschine, die mit ausreichend hoherWahrscheinlichkeit Urbilder finden wurde.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 196

Page 151: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Bemerkung:

Es ist nicht bekannt, ob die umgekehrten Folgerungen gelten: d.h.,man weiß nicht, ob aus P 6= NP oder NP 6⊆ BPP die Existenz einerEinwegfunktion folgt. (Das liegt daran, dass eine Einwegfunktionnicht nur im worst-case schwer zu invertieren sein sollte.)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 197

Page 152: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

In der Praxis werden – neben der Primzahlmultiplikation und derdiskreten Exponentialfunktion – vor allem kryptographischeHashfunktionen (wie MD5, SHA1 oder SHA2) eingesetzt.

Diese arbeiten unter anderem mit bitweiser Rotation undxor-Operationen. (Wir sehen uns spater noch die sogenannteMerkle-Damgard-Konstruktion an, auf der solche kryptographischeHashfunktionen beruhen.)

Wichtig ist fur solche Hashfunktionen auch die Kollisionsresistenz:es sollte sehr schwierig sein, zwei verschiedene Eingabewerte zufinden, die denselben Funktionswert ergeben. (Eine probabilistischepolynomzeitbeschrankte Turingmaschine sollte ein solches Paar vonWerten nur mit vernachlassigbarer Wahrscheinlichkeit findenkonnen.)

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 198

Page 153: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Eine beliebige Einwegfunktion – wenn sie existieren sollte – kannman nicht direkt fur symmetrische Verschlusselung verwenden. DerGrund dafur ist, dass es auch eine dazugehorigeEntschlusselungsfunktion geben muss, die leicht zu berechnen ist.

Aber: die Existenz von Einwegfunktionen garantiert die Existenzvon 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-beschranktenTuringmaschine nicht von einer zufallig erzeugten Bit-Sequenzunterschieden werden kann.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 199

Page 154: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Einwegfunktionen

Anwendungen fur Pseudo-Zufallsgeneratoren:

Nach Austausch eines symmetrischen Schlussels kann dieserals Startwert fur einen Pseudo-Zufallsgenerator verwendetwerden. Damit kann der One-Time-Pad simuliert werden undsichere symmetrische Verschlusselung erreicht werden.

Generierung von Nonces.

Generierung von Zufallszahlen fur randomisierte Verfahren,Derandomisierung von randomisierten Verfahren.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 200

Page 155: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Fallturfunktionen

Fur asymmetrische Verschlusselung mussen wir noch mehr fordern:spezielle Einwegfunktionen, sogenannte Fallturfunktionen.

Fallturfunktion (informell)

Die Verschlusselungsfunktion E eines asymmetrischenKryptosystems heißt Fallturfunktion, wenn

E in Polynomzeit berechenbar ist, wenn der offentlicheSchlussel bekannt ist,

die Entschlusselungsfunktion D in Polynomzeit berechenbarist, wenn der private Schlussel bekannt ist und

die Wahrscheinlichkeit (fur eine probabilistischepolynomzeitbeschrankte Turingmaschine), fur zufalliggewahlte Nachrichten und Schlussel, E nur unter Kenntnis desoffentlichen Schlussels zu invertieren, vernachlassigbar ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 201

Page 156: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Fallturfunktionen

Das heißt, es gibt eine “geheime Falltur” (den privaten Schlussel),mit Hilfe derer die Verschlusselungsfunktion doch einfach zuinvertieren ist.

Man vermutet, dass das RSA-Kryptosystem eine Fallturfunktiondarstellt. Dies ist jedoch nicht bewiesen, denn die Existenz einerFallturfunktion wurde auch die Existenz von Einwegfunktionengarantieren.

Außerdem ist unklar, ob daraus, dass die Primzahlmultiplikationeine Einwegfunktion ist, folgt, dass die RSA-Funktion eineFallturfunktion ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 202

Page 157: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Fallturfunktionen

Immerhin weiß man aber folgendes uber die Sicherheit von RSA:

Faktorisierungsalgorithmus durch Kenntnis der RSA-Schlussel

Falls die RSA-Schlussel (e, n) und (d , n) bekannt sind, gibt eseinen probabilistischen Polynomzeit-Algorithmus, der n in dieFaktoren p, q aufspaltet.

D.h., man kann zeigen, dass das Finden des privaten Schlusselsgleichbedeutend mit der Faktorisierung von n ist. Das bedeutetnicht, dass das Brechen des Kryptosystems gleichbedeutend mitder Faktorisierung ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 203

Page 158: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Fallturfunktionen

Beweis (Skizze): wir betrachten n, e, d , wobei n = p · q dasProdukt 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 = 2k ·m mit mungerade.

Man wahlt zufallig ein a ∈ 1, . . . , n − 1. Falls ggT (a, n) 6= 1,dann haben wir mit ggT (a, n) einen Teiler von n gefunden.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 204

Page 159: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Fallturfunktionen

Falls ggT (a, n) = 1, dann gilt aed−1 ≡ az·ϕ(n) ≡ 1 (mod n).Das Verfahren zur Faktorisierung von n beruht nun auf derTatsache, dass fur ein zufallig gewahltes solches a dieWahrscheinlichkeit, in der Menge

a2i ·m | 0 ≤ i < k

einen Miller-Zeugen fur n zu finden, großer gleich 12 ist (ohne

Beweis).Angenommen, b ware ein solcher Miller-Zeuge, d.h., n | (b2 − 1),aber n - (b − 1) und n - (b + 1). D.h., es gilt p | (b − 1) undq | (b + 1) (oder umgekehrt).Man bestimmt nun p = ggT (b − 1, n) und q = n

p .

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 205

Page 160: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Die funf Welten von Impagliazzo

Es ist unbekannt, ob Einweg- und Fallturfunktionen existieren.Diese Frage hangt mit der Frage nach P 6= NP zusammen, ist abernicht gleichbedeutend.

In seinem Artikel “A Personal View of Average-Case Complexity”hat Russell Impagliazzo die moglichen Antworten auf diese Fragenzusammengestellt und funf daraus resultierende mogliche Weltenbeschrieben.

Er geht dabei davon aus, dass – wenn ein Problem in P liegt – derdazugehorige Polynomzeitalgorithmus bekannt und praktikabel ist.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 206

Page 161: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Die funf Welten von Impagliazzo

Algorithmica

In Algorithmica gilt P = NP (oder zumindest NP ⊆ BPP, was imwesentlichen dieselben Auswirkungen hat).

Fast alle Optimierungsprobleme waren einfach.

Programme mussten nur noch die Eigenschaften der Ausgabebeschreiben, das Berechnungsverfahren kann automatischgeneriert werden.

Es gibt keine Einweg- oder Fallturfunktionen.

Alle Kryptosysteme, die mit beschrankten Schlussellangenarbeiten, sind einfach zu brechen.

Es gibt keine Authentifizierungsverfahren.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 207

Page 162: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Die funf Welten von Impagliazzo

Heuristica

Heuristica ist die Welt, in der NP-Probleme im worst-caseschwierig zu losen sind, aber fast alle zufallig gewahlten Instanzeneinfach sind. Insbesondere konnen schwere Instanzen nur mitgroßem Aufwand gefunden werden.

Da schwere Probleme sehr selten sind, konnen in der Praxisfast alle Aufgabenstellungen (aus NP) effizient gelost werden.

Auch in Heuristica ist Kryptographie im wesentlichen nichtmoglich, da schwere Instanzen – d.h., schwer zuentschlusselnde Nachrichten – nicht verlaßlich produziertwerden konnen.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 208

Page 163: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Die funf Welten von Impagliazzo

Pessiland

Pessiland ist – nach Impagliazzo – die schlimmste aller Welten. Esist einfach, schwere Instanzen von NP-Problemen zu finden, aberes ist nicht moglich, verlaßlich schwere und geloste Instanzen zuerzeugen.

Es gibt wenige Vorteile fur das Losen von Problemen.

Es gibt keine Einwegfunktionen, denn Einwegfunktionen sindgerade ein Verfahren, um effizient schwere und gelosteInstanzen (das Bild der zu versendenden Nachricht unter derEinwegfunktion) zu generieren.

Ebensowenig ist Authentifizierung moglich.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 209

Page 164: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Die funf Welten von Impagliazzo

Minicrypt

In Minicrypt kann man schwere und geloste Instanzen vonNP-Problemen generieren, d.h., es existieren Einwegfunktionen.Aber es gibt keine Fallturfunktionen.

Es gibt wenige positive algorithmische Aspekte. Man kannjedoch aus Einwegfunktionen Pseudo-Zufallsgeneratorenerzeugen und damit probabilistische Algorithmenderandomisieren.

Symmetrische Verschlusselung und Authentifizierung sindmoglich.

Asymmetrische Verschlusselungsverfahren sind nicht moglich.

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 210

Page 165: Formale Aspekte der Software-Sicherheit und Kryptographie ... · OrganisatorischesEinf uhrung KryptographieKryptographische ProtokolleVeri kation von kryptographischen Protokollen

Organisatorisches Einfuhrung Kryptographie Kryptographische Protokolle Verifikation von kryptographischen Protokollen

Die funf Welten von Impagliazzo

Cryptomania

In Cryptomania existieren zusatzlich noch Fallturfunktionen.

Es gibt immer noch Einwegfunktionen,Pseudo-Zufallsgeneratoren, etc. und auch hier sindsymmetrische Verschlusselung und Authentifizierung moglich.

Zusatzlich sind auch asymmetrische Verschlusselung undzahlreiche andere kryptographische Protokolle (Austausch vongeheimen Schlusseln, digitale Signaturen, elektronischeWahlen, elektronische Bezahlverfahren, etc.) moglich.

Cryptomania entspricht von den praktischen Auswirkungen her amehesten unserer heutigen Welt. Es ist aber nicht klar, ob wirwirklich in Cryptomania leben!

Barbara Konig “Form. Asp. der Software-Sicherheit und Kryptographie” 211