Algorithmische Kryptographie Kapitel 18
Zusammenfassung
Walter Unger
Lehrstuhl f¨ur Informatik 1
30. Januar 2009
Symmetrische Verfahren
Wie ist ein symmetrisches Verfahren definiert Was zeichnet ein symmetrisches Verfahren aus Was ist der Nachteil eines symmetrisches Verfahren Was zeichnet den One-Time-Pad aus
Welche symmetrischen Verfahren gibt es Wie arbeitet C-36
Was ist eine Idee vieler symmetrischer Verfahren Wie arbeitet DES
Welche Vorteile, Nachteile hat DES? Wie kann man DES sicherer machen Wie mache ich aus DES einen Streamcipher
Wie arbeitet IDEA
Wie arbeitet IDEA im Detail Wie arbeitet AES
Wie arbeitet AES Public-Key Systeme, RSA
Welche Vorteile/Nachteile haben Public-Key Systeme Muss man einen Schl¨usselaustausch machen
Welche Probleme kann man zum Aufbau eines Public-Key Systems nutzen Was ist eine One-Way Funktion? Welche One-Way Funktionen gibt es Wie geht das Public-Key System mit SAT
Wie arbeitet die Verschl¨usselung nach dem Rucksackverfahren Warum ist die Verschl¨usselung nach dem Rucksackverfahren korrekt
Wie erfolgt der Angriff auf das Rucksackverfahren Wie erfolgt der Angriff auf das Rucksackverfahren Wie erfolgt der Angriff auf das Rucksackverfahren Wie funktioniert RSA
Warum ist die Entschl¨usselung eindeutig Wie beweist man Bit-Sicherheit f¨ur<n/2
Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB Was ergibt sich, wenn jemandϕ(n) ausnundebestimmen kann Was ergibt sich, wenn jemandd ausnundebestimmen kann Wie sicher ist RSA
Rabin, ElGamal, ECC, Hashf.
Wie ist das System von Rabin aufgebaut Wie sicher ist das System von Rabin
Wie funktioniert eine Unterschrift nach Rabin Was ist die Idee des Verfahrens nach ElGamal Wie funktioniert ElGamal
Wie funktioniert ElGamal
Wie funktionert eine Unterschrift nach ElGamal
Was ist der Unterschied zwischen der Verschl¨usselung mit Elliptischen Kurven und ElGamal
Was ist eine Elliptische Kurve
Wie funktioniert ECC
Wie wird die Eingabe beim ECC auf den K¨orper abgebildet Wie wird die Eingabe beim ECC auf den K¨orper abgebildet Wie sieht ECC im ¨Uberblick aus
Wie arbeitet das OAEP Verfahren
Wie konstruiert man eine Kompressionsfunktion Wie konstruiert man eine Hashfunktion
Wie ist die Beweisidee bei Merkles Meta Methode Welche Eigenschaften werden zum Primzahltest verwendet Welche Fallen gibt es bei Quittungen
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie ist ein symmetrisches Verfahren definiert (18:1) Walter Unger Z
Frage 1:
Wie ist ein symmetrisches Verfahren definiert?
Definition
Ein Verschl¨usselungsverfahren heißtklassischbzw.symmetrisch, falls man aus E [D] (und Schl¨usselk) direkt aufD [E] schließen kann.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was zeichnet ein symmetrisches Verfahren aus (18:2) Walter Unger Z
Frage 2:
Was zeichnet ein symmetrisches Verfahren aus?
I Schnell I Bitschaufelei
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ist der Nachteil eines symmetrisches Verfahren (18:3) Walter Unger Z
Frage 3:
Was ist der Nachteil eines symmetrisches Verfahren?
I Bei einem klassischen Verfahren muss der Schl¨ussel vor der Benutzung sicher ausgetauscht werden.
I Schl¨usselverwaltung I Wahl der Schl¨ussel I Keine Unterschriften
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was zeichnet den One-Time-Pad aus (18:4) Walter Unger Z
Frage 4:
Was zeichnet den One-Time-Pad aus?
I EOne−Time−Pad Z
Zr2 : ZZr2→ZZr2. I DOne−Time−Pad
Z
Zr2 : ZZr2→ZZr2. I EOne−Time−Pad
k1,k2,...kr (a1,a2, . . .ar) =a1⊕k1,a2⊕k2, . . .ar⊕kr. I DOne−Time−Pad
k1,k2,...kr (c1,c2, . . .cr) =c1⊕k1,c2⊕k2, . . .cr⊕kr. I Zu jedem ¨ubertragenen Bit ist ein Schl¨usselbit notwendig.
I Verfahren ist beweisbar sicher.
I Zu jedem Paar von Crypttext und Plaintext gibt es einen passenden Schl¨ussel.
I Verfahren ist kommutativ.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Welche symmetrischen Verfahren gibt es (18:5) Walter Unger Z
Frage 5:
Welche symmetrischen Verfahren gibt es?
Caesar, Affines System, Keyword Caesar, Vigenere, GIB, Hill, Playfair, Autoclave, Jefferson Wheel, C-36 (M-209) DES, AES, IDEA, ...
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet C-36 (18:6) Walter Unger Z
Frage 6:
Wie arbeitet C-36?
0010101111100100000101011110010000010101111001000 1001010001101101010100101000101101010100101000101101010 1001010010101010101001001010010010101010010010100100101010100 001000100100010101010000010001001001010101000
0000101100010101010100100000010110010101010100100 000001010000000100011001000000010100000010001100100
v10= (111000) v22= (010010) v43= (000010)
(011001)× 0 B B B B B
@
100000000000100000000000000 011011011001001001100100000 000000001100001100010110001 100100100010100010001001010 010010000100010011000000100 000001000001000001000010000
1 C C C C C A
Ergebnis ist 011012012102002002110220001 Hit-number von (011001) ist 15.
ci= (#>1(viM)−ai) mod 27
ai= (#>1(viM)−ci) mod 27
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ist eine Idee vieler symmetrischer Verfahren (18:7) Walter Unger Z
Frage 7:
Was ist eine Idee vieler symmetrischer Verfahren?
Eingabe
6
Ausgabe?
S1 +- S2 ⊕- S3 +- S4 ⊕- S5 +- S6⊕- S7 +- S8⊕ K1 -
?
2 K2 -
?
1 K3 -
?
2 K4 -
?
1 K5 -
?
2 K6 -
?
1 K7 -
?
2 K8
?
2 Sch¨ussel
?
Ki≡ shift (imod 2) + 1
Si≡
⊕ falls 0≡i (mod 2) + sonst
000011
001100 011000 100001 000011 001100 011000 100001 000011
000101
010001 001001 101010 101001 110101 101101 001110
001101
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet DES (18:8) Walter Unger Z
Frage 8:
Wie arbeitet DES?
P(64)
??
Eing.
?
32 32 -32 32 -32 32 -32 32- . . . 32 32 -32 32 P(64)
6
Aus.
- - ?
?
⊕ - ?
?
⊕ - ?
?
⊕ - ?
?
. . . ⊕
6
?
F
6
?
F
6
?
F
6
?
F . . .
. . .
. . . . . . 56B48?
?
56B48
?
56B48
?
56B48
. . .
- Shift -Shift - Shift . . . -Shift
P(56)
Par.
Schl.
6 6 32B48
48B32
⊕
6
?
? - 32B48
48B32
⊕
6
?
? - 32B48
48B32
⊕
6
?
?
- 32B48
48B32
⊕
6
?
? -
. . . . . .
. . . . . .
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Welche Vorteile, Nachteile hat DES? Wie kann man DES sicherer machen (18:9) Walter Unger Z
Frage 9:
Welche Vorteile, Nachteile hat DES? Wie kann man DES sicherer machen?
I Vorteile:
I schnell
I erster Standard
I Probleme bei Analyse sind von NP-schwer.
I Nachteile:
I Schl¨ussell¨ange ist konstant
I Sinn der S-Boxen teilweise unklar
I Verdacht einer Hintert¨ur
I mit Spezialhardware vollst¨andige Schl¨usselsuche m¨oglich (Preis 1984: ca. US$ 1.000.000)
I Heute in ca. 24 Stunden mit verteiltem Rechnen
I Verbesserungen: Triple-DES, Multi-DES, DESX
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie mache ich aus DES einen Streamcipher (18:10) Walter Unger Z
Frage 10:
Wie mache ich aus DES einen Streamcipher?
I ecb: Electronic Codebook Mode.
I cbc: Cipher-Block Chaining Mode.
I cfb: Cipher Feedback Mode.
I ofb: Output Feedback Mode.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet IDEA (18:11) Walter Unger Z
Frage 11:
Wie arbeitet IDEA?
Y?1 Y?2 Y?3 Y?4
Schl¨ussel vonZ1(9)bisZ4(9)
extra Runde ? ? ? ?
Schl¨ussel vonZ1(8)bisZ6(8)
achte Runde ? ? ? ?
Schl¨ussel vonZ1(7)bisZ6(7)
siebente Runde ? ? ? ?
Schl¨ussel vonZ1(6)bisZ6(6)
sechste Runde ? ? ? ?
Schl¨ussel vonZ1(5)bisZ6(5)
f¨unfte Runde ? ? ? ?
Schl¨ussel vonZ1(4)bisZ6(4)
vierte Runde ? ? ? ?
Schl¨ussel vonZ1(3)bisZ6(3)
dritte Runde ? ? ? ?
Schl¨ussel vonZ1(2)bisZ6(2)
zweite Runde ? ? ? ?
Schl¨ussel vonZ1(1)bisZ6(1)
erste Runde ? ? ? ?
X1 X2 X3 X4
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet IDEA im Detail (18:12) Walter Unger Z
Frage 12:
Wie arbeitet IDEA im Detail?
Verschl¨usselung Z1(8)-fp
?
? -
?Z(8)
2-
?
? -
? Z(8)
3-
?
?
?Z(8) 4-fp
?
?
?
f
f
HH
f f
Z5(8)-fp-
?
?fpZ6(8)
f
? f
?
?
-
?
-
Z1(9)-fp?
Z2(9)-?
Z3(9)-?
Z4(9)-fp?
HH
t t t t
t t t t
t t t t
t t t t
F
A B C D
A0 B0 C0 D0
A0=A⊕Fr(A⊕C,B⊕D) A=A0⊕ −Fr(A⊕C,B⊕D)
A⊕ −A0=C⊕ −C0bzw.
A⊕ −C=A0⊕ −C0
Entschl¨usselung Z1(9)-−1fp
?
? -
?−Z(9)
-2
?
? -
? −Z(9)
-3
?
?
?Z4(9)-−1fp
?
?
?
f
f
HH
f f
Z5(8)-fp-
?
?fpZ6(8)
f
? f
?
?
-
?
-
t t t t
t t t t
t t t t
F
A B C D
A0 B0 C0 D0
A⊕A0=C⊕C0 A=A0⊕Fr(A0⊕C0,B0⊕D0)
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet AES (18:13) Walter Unger Z
Frage 13:
Wie arbeitet AES?
I Rijndael(State,CipherKey)
I KeyExpansion(CipherKey,ExpandedKey);
I AddRoundKey(State,ExpandedKey[0]);
I for (i := 1;i<Nr; i+ + ) Round(State,ExpandedKey[i]);
I FinalRound(State,ExpandedKey[Nr]);
I Round(State,ExpandedKey[i])
I SubBytes(State);
I ShiftRows(State);
I MixColumns(State);
I AddRoundKey(State,ExpandedKey[i]);
I Round(State,ExpandedKey[Nr])
I SubBytes(State);
I ShiftRows(State);
I AddRoundKey(State,ExpandedKey[Nr]);
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet AES (18:14) Walter Unger Z
Frage 14:
Wie arbeitet AES?
I Rijndael:
I Bitschaufellei auf 8-Bit Bl¨ocken.
I 8-Bit Bl¨ocke zu gr¨oßeren Gruppen zusammengefasst.
I Intern:
I Status
I Schl¨ussel
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Welche Vorteile/Nachteile haben Public-Key Systeme (18:15) Walter Unger Z
Frage 15:
Welche Vorteile/Nachteile haben Public-Key Systeme?
I Typischerweise beliebige Schl¨ussell¨angen.
I Typischerweise langsamer als klassische Verfahren.
I Mehr Einsatzgebiete.
I Unterschriften.
I Einsatz in Protokollen.
I Einfachere Schl¨usselverwaltung.
I Ver¨offentlichen ¨offentlichen Schl¨ussel.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Muss man einen Schl¨usselaustausch machen (18:16) Walter Unger Z
Frage 16:
Muss man einen Schl¨usselaustausch machen?
A:EkA,DkA,w B:EkB,DkB
Bestimmtc1=EkA(w) c1
c2-
Bestimmtc2=EkB(c1) Bestimmtc3=DkA(c2) c3
-
Bestimmtw0=DkB(c3) w0=DkB(DkA(c2)) w0=DkB(DkA(EkB(c1))) w0=DkB(DkA(EkB(EkA(w))))
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Welche Probleme kann man zum Aufbau eines Public-Key Systems nutzen (18:17) Walter Unger Z
Frage 17:
Welche Probleme kann man zum Aufbau eines Public-Key Systems nutzen?
I Systeme ¨uber NP-schwere Probleme (z.B. SAT, Rucksack) I Systeme ¨uber Faktorisierung
I Systeme ¨uber den diskreten Logarithmus I Systeme ¨uber elliptische Kurven
I Systeme ¨uber Polynomringe I Systeme ¨uber fehlertolerante Codes
I Systeme ¨uber Homomorphismen (Aufbau noch unklar) I Systeme ¨uber endlichen Automaten (vor allem in China)
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ist eine One-Way Funktion? Welche One-Way Funktionen gibt es (18:18) Walter Unger Z
Frage 18:
Was ist eine One-Way Funktion? Welche One-Way Funktionen gibt es?
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie geht das Public-Key System mit SAT (18:19) Walter Unger Z
Frage 19:
Wie geht das Public-Key System mit SAT?
I Fi :{0,1}2n→ {0,1}f¨uri∈ {0,1}mit:
I ∃e1, . . . ,en∈ {0,1}nmit:
∀e10, . . . ,en0 ∈ {0,1}n,i∈ {0,1}:Fi(e1, . . . ,en,e01, . . . ,en0) =i I Der geheime Schl¨ussel wird nune1, . . . ,en.
I Der ¨offentliche Schl¨ussel sind die beiden FormelnF0,F1.
I Um ein Bitm∈ {0,1}zu schicken wird die FormelFmumgeformt:
I Es wird eine Belegunge10, . . . ,en0 der Variableny1, . . . ,yn zuf¨allig gew¨ahlt.
I Damit wird nun eine neue FormelFm0 aufgebaut:
Fm0 : {0,1}n→ {0,1}
Fm0(x1, . . . ,xn) =Fm(x1, . . . ,xn,e10, . . . ,en0)
I Nun wird die FormelFm0 durch Umformung zur FormelFm00verfremdet.
I Dabei gilt∀x1, . . . ,xn:Fm00(x1, . . . ,xn) =Fm0(x1, . . . ,xn).
I Diese neue FormelFm00wird ver¨offentlicht.
I Das Verfahren zeigt gleichzeitig, dass aus jedem NP-vollst¨andigen Problem ein Public-Key-Verfahren aufgebaut werden kann. Dies ergibt sich aus den bekannten Reduktionen vom SAT-Problem.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet die Verschl¨usselung nach dem Rucksackverfahren (18:20) Walter Unger Z
Frage 20:
Wie arbeitet die Verschl¨usselung nach dem Rucksackverfahren?
Definition
Ein VektorR= (r1,r2, . . . ,rk) heißtstark steigend :⇐⇒ ∀j: 1<j<k:rj> X
16i<j
ri.
I W¨ahle stark steigenden VektorA= (a1, . . . ,ak) I W¨ahlem>Pk
i=1ai
I BestimmetmitggT(t,m) = 1
I BestimmeB= (b1, . . . ,bk) mitbi=t·ai modm I Ver¨offentlicheB
I Die Verschl¨usselungsfunktion lautet nunEBKS2: ZZn·k2 →ZZn. I Und die Entschl¨usselungsfunktionDA,t,mKS2 : ZZn→ZZn·k2 .
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Warum ist die Verschl¨usselung nach dem Rucksackverfahren korrekt (18:21) Walter Unger Z
Frage 21:
Warum ist die Verschl¨usselung nach dem Rucksackverfahren korrekt?
Lemma
Sei A= (a1, . . . ,ak)ein stark steigender Vektor. B entsteht aus A durch starke modulare Multiplikation mittels m,t. Sei weiter u≡t−1modm (d.h. umodm=t−1). Seiβbeliebig undα=uβmodm. Dann folgt:
1. Das Rucksackproblem(A, α)ist eindeutig l¨osbar in Linearzeit (d.h. keine oder eine L¨osung, falls Parameter frei w¨ahlbar).
2. Das Rucksackproblem(B, β)hat keine oder genau eine L¨osung.
3. Wenn(B, β)eine L¨osung hat, dann ist der L¨osungsvektor gleich der eindeutigen L¨osung von(A, α).
Beweis.
Sei dabeiDL¨osung von (B, β),β=BD
α≡uβ=uBD≡u(tA)D≡AD(modm) Beachte: AD<mundα <mwegen starker modularer Multiplikation
⇒α=AD
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie erfolgt der Angriff auf das Rucksackverfahren (18:22) Walter Unger Z
Frage 22:
Wie erfolgt der Angriff auf das Rucksackverfahren?
- 6
u/m 1
a1/m
a2/m
a3/m
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie erfolgt der Angriff auf das Rucksackverfahren (18:23) Walter Unger Z
Frage 23:
Wie erfolgt der Angriff auf das Rucksackverfahren?
I Im Folgenden werden nun diese L¨osungsbereiche f¨ur mu bestimmt und jeder L¨osungsbereich betrachtet.
I Weiterhin werden Bedingungen an mu formuliert, die notwendig sind, damitAstark steigend wird.
I Falls ein Bereich gefunden wird, in dem mu eine m¨ogliche L¨osung ist, reduziert sich das Problem auf das SuchenDiophantischer Zahlen innerhalb dieses Bereichs.
I Es sind nun zwei Schritte notwendig:
1. Die Bestimmung der H¨aufungspunkte
2. Teste jeden H¨aufungspunkt auf m¨ogliche L¨osung
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie erfolgt der Angriff auf das Rucksackverfahren (18:24) Walter Unger Z
Frage 24:
Wie erfolgt der Angriff auf das Rucksackverfahren?
I Teile das betrachtete Intervall in Teilintervalle ohne Spr¨unge.
I Diese Intervalle seien nun (xj,xj+1) mit 16j6y. I Auf diesem Intervall haben die Kurven die Gestaltbi−cij. I D.h.cij sind Konstanten, die voni undj abh¨angen.
I Teste diese Kurven auf starke Steigung und starke modulare
Multiplikation, d.h. untersuche f¨ur Variablev ( ˆ=u/m) mitxj<v<xj+1: Pk
i=1(biv−cij
)<1 starke modulare Multiplikation Pi−1
l=1(blv−clj)<biv−cij, 26i 6k I Falls eine L¨osung vorhanden ist, bestimmex ∈I∩QI.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie funktioniert RSA (18:25) Walter Unger Z
Frage 25:
Wie funktioniert RSA?
1. w¨ahlep,q große Primzahlen
2. setzen:=p·q,ϕ(n) = (p−1)(q−1)
ϕ(n) = |{a:ggT(a,n) = 1,06a6n}|
ϕ(1) = 1
ϕ(pb) = pb−pb−1
ϕ(m,n) = ϕ(m)·ϕ(n)
3. w¨ahle großesd>1 mitggT(d, ϕ(n)) = 1 und bestimmee mite·d≡1
modϕ(n) (Inverses zud)
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Warum ist die Entschl¨usselung eindeutig (18:26) Walter Unger Z
Frage 26:
Warum ist die Entschl¨usselung eindeutig?
Wederpnochqteiltw
⇒ wϕ(n)≡1(modn) (nach Euler−Theorem)
⇒ wjϕ(n)≡1(modn)
⇒ wed−1≡1(modn)
⇒ wed≡w(modn)
⇒ cd≡w(modn)
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie beweist man Bit-Sicherheit f¨ur<n/2 (18:27) Walter Unger Z
Frage 27:
Wie beweist man Bit-Sicherheit f¨ur<n/2?
I Angenommen, es gibt OrakelH mitH(e,n,xe modn) = 1⇐⇒x <n2. I Idee:Halbierungssuche unter Verwendung vonH.
I Verwende Werte:
xe modn = xe modn 2exemodn = (2x)emodn 4exemodn = (4x)emodn 8exemodn = (8x)emodn 16exemodn = (16x)emodn
I Damit wird dann durch Bin¨arsuche das Intervall, in demx liegt immer weiter eingeschr¨ankt.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB (18:28) Walter Unger Z
Frage 28:
Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?
I Idee:Versuchex bitweise zu bestimmen.
I Fallsx gerade ist, teile trickreich durch 2.
I Fallsx ungerade ist, teilex−1 durch 2.
I Fallsx ungerade ist, teilen−x durch 2.
I Es taucht das Problem auf, wiex durch 2 geteilt werden kann.
I Sei dazukdas Inverse von 2e,
d.h.khat die Formhe≡kmodnmit 2ek≡1 modn.
I Dann kannx wie folgt ,,halbiert” werden (x gerade):
kxe ≡he·xe≡(h·x)e modn
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB (18:29) Walter Unger Z
Frage 29:
Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?
I r(1) =xe modn(Krypttext).
I ans(1) = Antwort des Orakels aufr(1).
I Fallsr(i−1) undans(i−1) gegeben sind:
r(i) =
r(i−1)kmodn fallsans(i−1) = 0 (n−r(i−1))kmodn fallsans(i−1) = 1
I Es gilt f¨ur 16i6N:ans(i) ist Antwort des Orakels auf Anfrager(i).
I t(N) =ans(N)
I Fallst(i) gegeben ist, dann ergibt sicht(i−1) nach
t(i−1) = 8
<
:
t(i)0 ;ans(i−1) = 0
Last(bin(n)−t(i)0) ;ans(i−1) = 1∧int(t(i)0)<n Last(t(i)0−bin(n)) ;ans(i−1) = 1∧int(t(i)0)>n
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ergibt sich, wenn jemandϕ(n) ausnundebestimmen kann (18:30) Walter Unger Z
Frage 30:
Was ergibt sich, wenn jemandϕ(n) ausnundebestimmen kann?
Lemma
Fallsϕ(n)berechnet werden kann, dann gibt es ein Verfahren, das p,q bestimmt.
Beweis.
I ϕ(n) = (p−1)(q−1)⇒p+q=n−ϕ(n) + 1
I p
(p+q)2−4n=p
2n+p2+q2−4n
I =p
p2+q2−2n
I =p
(p−q)2
I =p−q
I n−ϕ(n)+1+
√
(n−ϕ(n)+1)2−4n
2 =p
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ergibt sich, wenn jemanddausnundebestimmen kann (18:31) Walter Unger Z
Frage 31:
Was ergibt sich, wenn jemandd ausnunde bestimmen kann?
Lemma
Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p,q bestimmt.
Vorgehen
I Bekannt iste,d,n. Das Ziel ist die Bestimmung vonpundq.
I W¨ahle einw mit 16w 6n I Versuche,nmitw zu faktorisieren.
I Dies wird mit einer Wahrscheinlichkeit>0,5 gelingen.
I Dann ist die Wahrscheinlichkeit, nachk Tests kein passendesw gefunden zu haben = 1−2−k.
I Das Verfahren kann deterministisch gemacht werden.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie sicher ist RSA (18:32) Walter Unger Z
Frage 32:
Wie sicher ist RSA?
I p,qsollten nicht nahe beieinander liegen (z.B. keine Primzahlzwillinge) I p,qsollten zuf¨allig gew¨ahlt werden, d.h. nicht aus Tabellen bekannt sein I W¨ahlep,qso, daßggT(p−1,q−1) klein ist.
I W¨ahle sichere Primzahlen, d.h. auch p−12 und q−12 sind Primzahlen.
I e undd sollten gross sein.
I Man sollte ein OAEP Verfahren (optimal asymmetric encription padding) verwenden.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie ist das System von Rabin aufgebaut (18:33) Walter Unger Z
Frage 33:
Wie ist das System von Rabin aufgebaut?
I Bei dem System von Rabin wird als Einwegfunktion verwendet: ZZn→ZZn
mitm7→m2modn.
I Aufbau:
I Man bestimmt zwei große Primzahlenp,q mitp,q≡3 (mod 4).
I Dazu testet man Zahlen der Form 4k+ 3 auf die Primzahleigenschaft.
I Dann setzt mann=p·q.
I Die Verschl¨usselungsfunktion istEnRabin: ZZn→ZZnmit EnRabin(m)7→m2modn.
I Die Entschl¨usselungsfunktion istDnRabin: ZZn→ZZn.
I Zur Entschl¨usselung wird der Chinesische Restklassensatz verwendet.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie sicher ist das System von Rabin (18:34) Walter Unger Z
Frage 34:
Wie sicher ist das System von Rabin?
I Das System von Rabin ist so sicher, wie die Faktorisierung schwer ist.
I Falls man auf den AlgorithmusDp,qRabinzugreifen kann, so kann mann faktorisieren.
I Dazu gehe man wie folgt vor.
I W¨ahlemmit 0<m<n.
I Setzec:=m2modn.
I Setzey :=Dp,qRabin(c).
I Fallsm6≡ ±y (modn) kannnfaktorisiert werden.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie funktioniert eine Unterschrift nach Rabin (18:35) Walter Unger Z
Frage 35:
Wie funktioniert eine Unterschrift nach Rabin?
I Um eine Unterschrift mit dem System von Rabin zu erzeugen, verwendet man eine Hashfunktionh:M× {0,1}k→ZZnmit (m,x)7→h(m,x).
I Dazu w¨ahlt man zuf¨alligx bish(m,x) ein Quadrat in ZZn ist.
I Danach bestimmt man die Wurzely vonh(m,x).
I Die Unterschrift ist dann (m,x,y).
I Diese Unterschrift wird durchh(m,x)≡y2 (modn) getestet.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ist die Idee des Verfahrens nach ElGamal (18:36) Walter Unger Z
Frage 36:
Was ist die Idee des Verfahrens nach ElGamal?
Gebe beim Verschl¨usseln Zusatzinformation zur Entschl¨usselung.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie funktioniert ElGamal (18:37) Walter Unger Z
Frage 37:
Wie funktioniert ElGamal?
A:x,y,g B:m,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p W¨ahlex∈ {1, . . . ,p−2}
y:=gx modp
y,g -
W¨ahlek mit ggT(k,p−1) = 1 a≡gkmodp
b≡myk≡mgxk modp a,b
m=b/axmodp
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie funktioniert ElGamal (18:38) Walter Unger Z
Frage 38:
Wie funktioniert ElGamal?
I W¨ahle zuf¨alligx∈ {1, . . . ,p−2}.
I Bestimmey:=gxmodp.
I Der geheime Schl¨ussel ist dann (p,g,x).
I Der ¨offentliche Schl¨ussel ist dann (p,g,y).
I Die Verschl¨usselungsfunktion ist dannEp,g,yElGamal: ZZ∗p →ZZ∗p×ZZ∗p.
I W¨ahlekzuf¨allig mit ggT(k,p−1) = 1.
a≡gkmodp b≡myk≡mgxkmodp
I Ep,g,yElGamal(m)7→(a,b).
I Die Entschl¨usselungsfunktion ist dannEp,g,yElGamal: ZZ∗p×ZZ∗p→ZZ∗p.
I Wenn (a,b) = (gk,myk) = (gk,mgxk) emfangen worden ist, dann bestimme:
I h:=ax modp. Beachte dabei:ax ≡gkx (modp).
I m:=b·h−1modp. Beachte hierbei:
b/ax ≡ykm/ax ≡gkxm/ax ≡m·gkx/gkx≡m (modp).
I Damit gilt:Ep,g,yElGamal(a,b)7→b/axmodp.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie funktionert eine Unterschrift nach ElGamal (18:39) Walter Unger Z
Frage 39:
Wie funktionert eine Unterschrift nach ElGamal?
A:m,y,g B:m,x,y,g
W¨ahlep Primzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg∈ZZ∗p
W¨ahlex ∈ {1, . . . ,p−2}
y,g
y:=g
x modp
W¨ahlek mit ggT(k,p−1) = 1 r≡gkmodp
r,s,m
s:=k
−1(m−rx) modp−1 Teste, ob gilt 16r6p−1
Bestimmev :=gmmodp Bestimmew :=yrrsmodp Teste, ob giltv=? w
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ist der Unterschied zwischen der Verschl¨usselung mit Elliptischen Kurven und ElGamal (18:40) Walter Unger Z
Frage 40:
Was ist der Unterschied zwischen der Verschl¨usselung mit Elliptischen Kurven und ElGamal?
Anderer K¨orper!
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Was ist eine Elliptische Kurve (18:41) Walter Unger Z
Frage 41:
Was ist eine Elliptische Kurve?
Definition
Elliptisch Kurve Eine elliptische Kurve ist der GraphE (bzw.Ea,b) der Gleichungy2=x3+a·x+b, mitx,y,a,b∈R(bzw.Q,Z,Nm). Weiterhin geh¨ort zuE der Punkt∞.
I Obige Form heißt die Weierstrass Form.
I Der Punkt∞wird das neutrale Element.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie funktioniert ECC (18:42) Walter Unger Z
Frage 42:
Wie funktioniert ECC?
I Ziel: Gruppenoperationen auf Graphen vonf(x,y) = 0.
I Operation: zu zwei Punkten auff(x,y) = 0 bestimme dritten Punkt auff(x,y) = 0.
I Ansatz: Nutze Gerade zur Bestimmung des dritten Punktes.
I Ansatz: Gerade durch zwei PunkteP,Qbestimmt dritten Punkt.
I Ansatz: w¨ahlef(x,y) = 0 vom Grad 3.
I Gerade:g(x,y) =a·x+b·y+c= 0 mitb6= 0.
I L¨osung:f(x,(−a·x−c)/b) = 0 ist kubische Gleichung inx.
I Hat 3 L¨osungen, zwei sind bekannt.
I Dritte ergibt den neuen Punkt (x-Koordinate)
I Uber die Geradengleichung ergeben sich die Punkte.¨
I OperationP⊕Q=R.
I SeiP= (x,y) ein Punkt vony2=x3+a·x+b.
I Dann ist−P= (x,−y)
I FallP= (x,y) undQ= (x,−y) dann setzeP+Q=∞
I Andernfalls istP+Q=−RmitR=P⊕Q.
I P+∞=∞+P=P.
I ∞+∞=∞+∞=∞ und P+Pwird wie folgt definiert:
I Bestimmt TangenteTim PunktPanE.
I Falls Tangente vertikal ist:P+P=∞
I SeiRweiterer Schnittpunkt vonT, setze:P+P=−R
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie wird die Eingabe beim ECC auf den K¨orper abgebildet (18:43) Walter Unger Z
Frage 43:
Wie wird die Eingabe beim ECC auf den K¨orper abgebildet?
I SeiE,p,Nwie oben.
I SeiM der Nachrichtenblock mit 0<M<p/2k. I W¨ahle als x-Koordinatex = 2k·M+i
I f¨ur eini mit 06i<2k
I so das es einen Punkt der Form (x,y)∈E gibt.
I Alogithmus:
I F¨ur allei mit 06i <2k mache
I x= 2k·M+i
I Falls (x3+a·x+bp ) = +1 gebei aus.
I Gebe Fehler aus.
I Fehlerwahrscheinlichkeit ist: 1/22k.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie wird die Eingabe beim ECC auf den K¨orper abgebildet (18:44) Walter Unger Z
Frage 44:
Wie wird die Eingabe beim ECC auf den K¨orper abgebildet?
I W¨ahlepmitp≡3 (mod 4).
I Dann ist−1 ein quadratischer Nichtrest, d.h.(−1p ) =−1.
I Setzeb= 0.
I Dann istE gegeben durchy2=x3+a·x (modp).
I SeiM zu verschl¨usseln mit 0<M<p/2.
I Wir “verlieren” ein Bit.
I Bestimmtt=M3+aM (modp).
I t oder−t ist quadratischer Rest.
I Falls (pt) = 1, dann setzex =M.
I Falls (−tp ) = 1, dann setzex=p−M.
I Damit gilt (x3+a·xp ) = 1 undy kann bestimmt werden.
I Zur Entschl¨usselung mache:M= min(x,p−x).
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie sieht ECC im ¨Uberblick aus (18:45) Walter Unger Z
Frage 45:
Wie sieht ECC im ¨Uberblick aus?
A:aA,PA,P0,E B:m,PA,P0,E
W¨ahlepPrimzahl
W¨ahle ell. KurveE (modp) W¨ahleP0∈E
W¨ahleaA∈ {1. . .p−1}
PA:=aAP0
P0,E,PA
-
erzeugeP∈E ausm W¨ahlek∈ {1. . .p−1}
T1=kP0
T2=kPA+P T1,T2
T0=T2−aAT1
T0=kPA+P−(aAk)P0
T0= (aAk)P0+P−(aAk)P0
BestimmemausT0
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie arbeitet das OAEP Verfahren (18:46) Walter Unger Z
Frage 46:
Wie arbeitet das OAEP Verfahren?
I Die folgenden Funktion werden benutzt:
Verschl¨usselungsfunktion f :D→DmitD⊂ {0,1}n Pseudo-Zufallsgenerator G:{0,1}k→ {0,1}l Hashfunktion h:{0,1}l → {0,1}k mitn=k+l I Seimdie zu verschl¨usselnde Nachricht.
1. W¨ahle eine Zufallszahlr ∈ {0,1}k. 2. Setzex = (m⊕G(r))◦(r⊕h(m⊕G(r)).
3. Fallsx 6∈D wiederhole das Verfahren.
4. Verschl¨ussele mitc:=f(x).
I Seic die zu entschl¨usselnde Nachricht.
1. Setzex0:=f−1(c).
2. Bestimme a,bmitx=a◦bund |a|=l sowie|b|=k.
3. Bestimme r =h(a)⊕b.
4. Bestimme m=a⊕G(r).
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie konstruiert man eine Kompressionsfunktion (18:47) Walter Unger Z
Frage 47:
Wie konstruiert man eine Kompressionsfunktion?
I Ansatz: nutze symmetrische Verfahren.
I SeiEk(m) symmetrisches Verfahren mitk∈ {0,1}r undm∈ {0,1}n. I Dann setze:f :{0,1}n+r → {0,1}nmit:f(x◦y)7→Ey(x).
I Sei weiterg:{0,1}n→ {0,1}r.
I Dann setze:f :{0,1}2n→ {0,1}n mit:f(x◦y)7→Eg(y)(x)⊕y.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie konstruiert man eine Hashfunktion (18:48) Walter Unger Z
Frage 48:
Wie konstruiert man eine Hashfunktion?
Nutze schrittweise Kompressionsfunktion.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Wie ist die Beweisidee bei Merkles Meta Methode (18:49) Walter Unger Z
Frage 49:
Wie ist die Beweisidee bei Merkles Meta Methode?
x1
|x1|=r
x2
|x2|=r
x3
|x3|=r
xk+1
|xk+1|=r
h0
|h0|=n
h1
|h1|=n
@ ?
@ R f
h2
|h2|=n
@ ?
@ R f
h3
|h3|=n
@ ?
@ R f
hk+1
|hk+1|=n
@ ?
@ R f
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Welche Eigenschaften werden zum Primzahltest verwendet (18:50) Walter Unger Z
Frage 50:
Welche Eigenschaften werden zum Primzahltest verwendet?
I Falls ggT(w,m) = 1 undwm−1≡1 (modm), dann heißtw Zeuge daf¨ur, dassmPrimzahl ist.
I Fallsw(m−1)2 6≡`w
m
´ (modm) istmkeine Primzahl.
I Falls ggT(w,m)6= 1 oderwr 6≡1 (modm) undw2s
0
6≡ −1 (f¨ur ein 06s0<s) dann istmkeine Primzahl.
Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.
Welche Fallen gibt es bei Quittungen (18:51) Walter Unger Z
Frage 51:
Welche Fallen gibt es bei Quittungen?
A:Da,EA,EC C:c0=EA(EA(w)B)
c=EA(c0C) =EA(EA(w),C) (c,A)
c0C =DA(c)
w =DA(c0)
(EC(EC(w)A),C) -
entschl¨usselt (EC(EC(w)A),C) Beachte:w=EA(w)B (EA(EA(w)C),A)
f¨uhrt Protokoll aus
(EC(EC(w)A),C) -
C kennt nunw