• Keine Ergebnisse gefunden

Algorithmische Kryptographie Kapitel 18 Zusammenfassung

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmische Kryptographie Kapitel 18 Zusammenfassung"

Copied!
55
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmische Kryptographie Kapitel 18

Zusammenfassung

Walter Unger

Lehrstuhl f¨ur Informatik 1

30. Januar 2009

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

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

(7)

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

(8)

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.

(9)

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, ...

(10)

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

(11)

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 0i (mod 2) + sonst

000011

001100 011000 100001 000011 001100 011000 100001 000011

000101

010001 001001 101010 101001 110101 101101 001110

001101

(12)

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

?

? -

. . . . . .

. . . . . .

(13)

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

(14)

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.

(15)

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)

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

(16)

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=AFr(AC,BD) A=A0⊕ −Fr(AC,BD)

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

AA0=CC0 A=A0Fr(A0C0,B0D0)

(17)

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]);

(18)

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

(19)

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.

(20)

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))))

(21)

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)

(22)

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?

(23)

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.

(24)

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 .

(25)

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 ut−1modm (d.h. umodm=t−1). Seiβbeliebig undα=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 dabeiDosung von (B, β),β=BD

α=uBDu(tA)DAD(modm) Beachte: AD<mundα <mwegen starker modularer Multiplikation

α=AD

(26)

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

(27)

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

(28)

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.

(29)

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)

(30)

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)

(31)

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.

(32)

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

(33)

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

(34)

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

(35)

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.

(36)

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.

(37)

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.

(38)

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.

(39)

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.

(40)

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.

(41)

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 ∈ZZp 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

(42)

Symmetrische Verfahren Public-Key Systeme, RSA Rabin, ElGamal, ECC, Hashf.

Wie funktioniert ElGamal (18:38) Walter Unger Z

Frage 38:

Wie funktioniert ElGamal?

I ahle zuf¨alligx∈ {1, . . . ,p2}.

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: ZZp ZZp×ZZp.

I ahlekzuf¨allig mit ggT(k,p1) = 1.

agkmodp bmykmgxkmodp

I Ep,g,yElGamal(m)7→(a,b).

I Die Entschl¨usselungsfunktion ist dannEp,g,yElGamal: ZZp×ZZpZZp.

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.

(43)

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∈ZZp

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

(44)

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!

(45)

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.

(46)

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 osung:f(x,(−a·xc)/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 OperationPQ=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=PQ.

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

(47)

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.

(48)

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).

(49)

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

(50)

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).

(51)

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.

(52)

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.

(53)

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

(54)

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.

(55)

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

Referenzen

ÄHNLICHE DOKUMENTE

Unabhängig von Merkle entwickelt, zwei Jahre später veröffentlicht.. Gerüchteweise schon vorher von

Unabhängig von Merkle entwickelt, zwei Jahre später veröffentlicht.. Gerüchteweise schon vorher von

Was ist der Unterschied zwischen der Verschl¨ usselung mit Elliptischen Kurven und ElGamal (18:40) Walter Unger Z..

I Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte

Das System nach Rabin Grundlagen Rabin Verfahren Detaillierte Betrachtung des kryptographisch wichtigen Falls (6:26) Walter Unger

Das System nach Rabin Grundlagen Rabin Verfahren Detaillierte Betrachtung des kryptographisch wichtigen Falls (6:20) Walter Unger

Bestimmung des gr¨ oßten gemeinsamen Teilers (5:10) Walter Unger

Bestimmung des gr¨ oßten gemeinsamen Teilers (5:10) Walter Unger