• Keine Ergebnisse gefunden

Algorithmische Kryptographie Kapitel 5 Public-Key-Systeme: RSA

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmische Kryptographie Kapitel 5 Public-Key-Systeme: RSA"

Copied!
73
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmische Kryptographie Kapitel 5

Public-Key-Systeme: RSA

Walter Unger

Lehrstuhl f¨ur Informatik 1

30. Januar 2009

(2)

Einleitung Erinnerung

Bestimmung des gr¨oßten gemeinsamen Teilers Effiziente Berechnung von Potenzen

Chinesischer Restsatz Aufbau

Sicherheitsaspekte von RSA Verschl¨usselung d bestimmen?

onnen Teilinformationen entschl¨usselt werden?

Unterschrift Angriffe

(3)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:1) Walter Unger Z

Einleitung zu RSA

I RSA startete als direkter Konkurrent zu DES.

I RSA ist einfach zu verstehen und ist heute weit verbreitet.

I Der Algorithmus basiert auf der Grundidee, daß die

Multiplikation von Primfaktoren leicht, das Faktorisieren aber ein schweres Problem ist.

I Bis heute erscheint er als ein relativ sicheres Verfahren.

I auch wenn es keinen Beweis daf¨ur gibt.

I Vorteilhaft ist außerdem die Wahl beliebig großer Schl¨ussel.

(4)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:2) Walter Unger Z

Definition:

I Es seiena,bZ.

I a teilt b, wenn es eind Zgibt mitb=da.

I aheißt dannTeileroderFaktorvonb.

I Man schreibt danna|b.

I Istakein Teiler vonb, so schreibt mana6 |b.

(5)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:3) Walter Unger Z

Definition:

I Es seiena,bZ.

I Eine ganze Zahld N0heißtgr¨oßter gemeinsamer Teilervon aundb, falls

1. d|aundd |b.

2. F¨ur jedescZmitc|aundc|bgiltc|d.

I Kurzschreibweise:d= ggT(a,b)

I a,bZheißenteilerfremd, wenn ggT(a,b) = 1.

Bemerkung:

ggT(m,0) = ggT(0,m) =|m|ur allemZ.

(6)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:4) Walter Unger Z

Definition:

I Es seiena,bZ.

I EinmN0 heißtkleinstes gemeinsames Vielfachesvonaundb, falls 1. a|mundb|m.

2. F¨ur jedescZmita|c undb|c giltm|c.

I Kurzschreibweise:m=kgV(a,b) Bemerkung:

kgV(m,0) =kgV(0,m) = 0 f¨ur allemZ.

(7)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:5) Walter Unger Z

Definition:

I Es seimN,m>2.

I ura,bZsetzt man:

I ab (modm)

I Sprechweise: ,,akongruentb modulom”

I genau dann wennm|ab. I Die Zahlmheißt derModul.

(8)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:6) Walter Unger Z

Satz:

I SeimN,m>2.

I Die Relation (modm) ist eine ¨Aquivalenzrelation aufZ. I Die ¨Aquivalenzklassen sind genau die Mengen

[a]m = {a+km|kZ} ura∈ {0,1, . . . ,m1}.

(9)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:7) Walter Unger Z

Definition:

I [a]mheißt dieRestklassevonamodulom.

I SeixZ.

I Derkleinste nicht-negative Rest von x modulo m, I d.h.a∈ {0,1, . . . ,m1}mitax(modm), I wird mitx modmbezeichnet.

Aquivalente Definition:¨ I SeimN,m>2.

I Bezeichnebxcdie gr¨oßte ganze Zahl6x. Dann gilt:

x modm = xjx m

k

·m.

(10)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:8) Walter Unger Z

Definition:

I Eine ZahlpNheißtPrimzahl,

I wennp>1 und wenn

I pals positive Teiler nur 1 und pbesitzt.

I Eine ZahlnN, die keine Primzahl ist, heißtkomposit.

(11)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:9) Walter Unger Z

Satz:

I Jede nat¨urliche Zahl l¨aßt sich ausdr¨ucken als ein Produkt von nichttrivialen Potenzen unterschiedlicher Primzahlen,

n = pe11·p2e2·. . .·pekk.

I Bis auf die Reihenfolge der Faktoren ist diesePrimfaktorzerlegung eindeutig.

Bemerkung:

I Bisher sind keine effizienten Algorithmen zur Primfaktorzerlegung einer ZahlpNbekannt,

I nicht einmal f¨ur den einfachen Fall, daßn=p·q,p,qprim.

(12)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

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

1. Ansatz:

Seiena,bNmit

a = Y

16i6k

piei, b = Y

16i6k

pfii,

wobeip1, . . . ,pkPrimzahlen sind undei,fi N0. Dann gilt ggT(a,b) = Y

16i6k

pmin(ei i,fi).

Bemerkung:

Ansatz erscheint nicht effizient, da Primfaktorzerlegung vonaundbnotwendig.

(13)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

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

2. Ansatz: Euklidischer Algorithmus

Beobachtung:

d|a und d|b d |a und d |bmoda. (direkt aus Definition)

EUCLID(a,b)

{a,bN0} (1) if (b= 0) then (2) return(a) (3) else

(4) return(EUCLID(b,amodb)).

(14)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

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

Beispielrechnung:

ggT(180,146)

= ggT(146,34)

= ggT(34,10)

= ggT(10,4)

= ggT(4,2)

= ggT(2,0)

= 2.

Aufwand:

O((loga)·(logb)) Bit-Operationen.

(15)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

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

Bemerkung:

Eine leicht modifizierte Version des Euklidischen Algorithmus berechnet mit demselben Zeitaufwandx,y Zmit

ggT(a,b) = xa+yb.

(16)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

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

Folgerung 1:

I Falls ggT(a,m) = 1, existierenx,yZmit 1 = xa+ym, also mitxa1 (modm).

I Die Zahlx mod mwird als das Inverse vonamod mbezeichnet.

I Schreibweise:a−1(modm).

I Formal korrekt: [a]−1m unter Betrachtung des RestklassenringsZ/mZ. I Berechnungsaufwand analog zum Euklidischen Algorithmus.

(17)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

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

Folgerung 2:

I Falls ggT(a,m) = 1, l¨aßt sich die Kongruenz azb (modm) mitO((logm)2) Aufwand berechnen.

I Umz zu finden, berechne zun¨achsta−1(modm) und multipliziere anschließend mitb(modm).

(18)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

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

Satz:

I Addition und Subtraktion (modm) lassen sich mitO(logm) Bit-Operationen berechnen. Beachte, daß f¨ur 06a,b<mgilt:

(a+b) mod m =

a+b fallsa+b<m a+bm fallsa+b>m.

I Multiplikation (modm) l¨aßt sich mitO((logm)2) Bit-Operationen berechnen.

[Schulalgorithmus]

Beobachtung:

ae =

a·ae−1, fallse ungerade (ae/2)2, fallse gerade

(19)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Effiziente Berechnung von Potenzen (5:17) Walter Unger Z

Beobachtung:

POWER(a,e,m) {a,e,mN0, m>2}

(1) if e= 0 then return(1) (2) else if emod 2 = 0 then (3) t POWER(a,e/2,m) (4) return(t2mod m) (5) else

(6) t POWER(a,e1,m) (7) return(a·tmod m) Aufwand:

O((loge)·(logm)2) [stattO(e·(logm)2) f¨ur naiven Ansatz]

Bemerkung:

Zahlen werden nie gr¨oßer alsm2.

(20)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Effiziente Berechnung von Potenzen (5:18) Walter Unger Z

Beispielrechnung:

331mod 43

= (3·330) mod 43

= (3·915) mod 43

= (3·9·914) mod 43

= (3·9·817) mod 43

= (3·9·(−5)7) mod 43

= (−135·56) mod 43

= (−6·56) mod 43

= (−6·1252) mod 43

= (−6·(−4)2) mod 43

= (−6·16) mod 43

= (−96) mod 43

= (−10) mod 43

= 33.

(21)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Eulerscheϕ-Funktion (5:19) Walter Unger Z

Definition:

I ϕ(1) := 1.

I urm>2 definiere

ϕ(m) :=|{aZ|06a6m1; ggT(a,m) = 1}|

Satz:

1. F¨ur jede Primzahlpund jedesbNistϕ(pb) =pbpb−1. 2. Sindm,nNteilerfremd, so giltϕ(m·n) =ϕ(m)·ϕ(n).

Folgerung:

ϕ(m) ist leicht zu berechnen, falls die Primfaktorzerlegung vonmbekannt ist.

(22)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Eulerscheϕ-Funktion (5:20) Walter Unger Z

Satz [Euler]:

Es seienmNundaZteilerfremd.

1. Dann istaϕ(m)1 (modm).

Satz [Fermat]:

Es seipeine Primzahl.

1. F¨ur jedesaZmitp6 |aistap−11 (modp).

2. F¨ur jedesaZistapa(modp).

(23)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Chinesischer Restsatz (5:21) Walter Unger Z

Satz [Chinesischer Restsatz]:

I Es seienm1,m2, . . . ,mnNpaarweise teilerfremd, I es seiena1,a2, . . . ,anZ;

I es seiM:=Qn i=1mi.

I Dann existiert ein eindeutig bestimmtesx0∈ {0,1, . . . ,M1}mit x0a1(modm1)

x0a2(modm2) ..

.

x0an(modmn)

I Es gilt: {x Z|x ai(modmi) f¨uri= 1,2, . . . ,n}

= {x Z|x x0(modM)} .

(24)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Chinesischer Restsatz (5:22) Walter Unger Z

Algorithmus:

1. Berechne M = m1·m2·. . .·mn. 2. ur 16i6n: Berechne Mi = mM

i.

3. ur 16i6n: Berechne Ni = Mi−1(modmi).

{z.B. mit Euklidischem Algorithmus. Beachte: ggT(Mi,mi) = 1.}

4. ur 16i6n: Berechne ei = Mi·Ni.

{Nun gilt f¨ur16i 6n: ei =Mi·Ni 1 (modmi).

ei =Mi·Ni 0·Ni = 0 (modmj), falls j6=i.}

5. Berechne x0 = `Pn i=1eiai´

mod M.

{Nun gilt f¨ur16i 6n: x0eiaiai(modmi).}

Aufwand:

O((logM)2) Bit-Operationen.

(25)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:23) Walter Unger Z

Aufbau von RSA

1. w¨ahlep,q große Primzahlen

2. setze n:=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ßes d >1 mit ggT(d, ϕ(n)) = 1 und bestimmee mit e·d ≡1 modϕ(n) (Inverses zud)

(26)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:24) Walter Unger Z

Beschreibung RSA

I Sei x <n

I En,eRSA: IN?x →IN?x

I Dp,q,dRSA : IN?x →IN?x

I En,eRSA(a1, . . . ,am) =ae1 modn En,eRSA(a2, . . . ,am)

I Dp,q,dRSA(c1, . . . ,cm) =c1d modn Dp,q,dRSA(c2, . . . ,cm)

I In D werdenp und q gesondert aufgef¨uhrt, um anzudeuten, daß diese Werte bei der Entschl¨usselung bekannt sind.

(27)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:25) Walter Unger Z

Beispiel

c=wemodn w=cdmodn

p= 5,q= 11,n= 55, ϕ(n) = 40,d= 23,e= 7 w∈ {1, . . . ,54} \ {x·5,x·11|x IN}

Beachte:FallsggT(w,n)>1, kannnfaktorisiert werden!

w 1 2 3 4 6 7 8 9 12 13 14 16 17 18

c 1 18 42 49 41 28 2 4 23 7 9 36 8 17

w 19 21 23 24 26 27 28 29 31 32 34 36 37

c 24 21 12 29 16 3 52 39 26 43 34 31 38

w 38 39 41 42 43 46 47 48 49 51 52 53 54

c 47 19 46 48 32 51 53 27 14 6 13 37 54

(28)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:26) Walter Unger Z

Bemerkung

c=wemodn w=cdmodn

I Bemerkung: Es gibt vier Zahlenw mitE(w) =w und ggT(w,n) = 1. Beachte:

(1e mod p) = 1 (1e mod q) = 1 (p−1)e modp = (p−1) (q−1)e modq = (q−1)

Mit dem chinesischen Restklassensatz ergeben sich die vier Zahlen.

I Beispiel: (GENAUER)p = 5,q = 11 undw ∈ {1,21,34,54}

I Noch mehr M¨oglichkeiten f¨ur gleiche Zahlen erh¨alt man im FallggT(w,n)>1.

(29)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:27) Walter Unger Z

Eindeutigkeit I

c=wemodn w=cdmodn

Satz

Die Entschl¨usselung von RSA ist eindeutig.

I Seien w,c,d,e, ϕ(n),p,q wie in RSA gegeben.

I Zu zeigen ist

w ≡cd(modn)

I Danach ist die Eindeutigkeit klar, da w <n.

I Es gilt nach Wahl von d,e :∃j :ed =jϕ(n) + 1

I Wir unterscheiden im folgenden drei F¨alle:

1. Fall: Weder p nochq teiltw.

2. Fall: Genau p teilt w,q teilt nicht w. 3. Fall: p und q teilen w.

(30)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:28) Walter Unger Z

Annahme: weder p noch q teilt w

c=wemodn w=cdmodn

⇒ wϕ(n)≡1(modn) (nach Euler−Theorem)

⇒ wjϕ(n)≡1(modn)

⇒ wed−1 ≡1(modn)

⇒ wed ≡w(modn)

⇒ cd ≡w(modn)

(31)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:29) Walter Unger Z

Annahme: genau p teilt w , q teilt nicht w

c=wemodn w=cdmodn

⇒ wq−1≡1(modq) q Primzahl)

⇒ w(p−1)(q−1)≡1(modq)

⇒ wϕ(n)≡1(modq)

⇒ wjϕ(n)≡1(modq)

⇒ wed ≡w(modq)

⇒ wed ≡w(modn)

Bei der letzten Folgerung wirdwed ≡w(modp) (nach Fermat) verwendet.

3. Fall:p und q teilenw geht analog.

(32)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:30) Walter Unger Z

Vergleich mit dem Rucksackverfahren

c=wemodn w=cdmodn

I Schweres Problem: Faktorisieren vonn.

I leichtes Problem: Faktorisieren von n mit Hilfe vonϕ(n).

I Schweres Problem: L¨ose xe≡c modn.

I Leichtes Problem: L¨osexe ≡c mod n mit Hilfe von ϕ(n),p,q,d

I Wichtig:Arbeite mit großen Zahlen.

I RSA ist ca. um den Faktor 1000 langsamer als das DES Verfahren bei vergleichbarer Schl¨usselgr¨oße.

I Problem: Bestimme effizient wr modn.

(33)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:31) Walter Unger Z

Bestimme effizient w

r

mod n

c=wemodn w=cdmodn

2011mod 55 wrmodn

201011binmod 55 = w(rl,rl−1,...,r0 )binmodn

2023 +21 +20mod 55 = w

Pl i=0ri2i

modn (2023·2021·2020) mod 55 = (Ql

i=0wri2i) modn (2023mod 55·2021mod 55·2020) mod 55 = Ql

i=0(wri2i modn) modn (208mod 55·202mod 55·201) mod 55 = Ql

rii=0=1

(w2imodn) modn

(25·15·20) mod 55 hi=w2i

h0=w,hi= (hi−1)2modn

20 = Ql

i=0,ri=1(himodn)

(34)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:32) Walter Unger Z

Bestimmung von x

r

mod n:

x0=x,xi= (xi−1)2modn Ql

i=0,ri=1(himodn)

I x0:=x,s := 1

I l :=dlogre

I Sei al, . . . ,a0 Bin¨ardarstellung von r, d.h. r =Pk

j=02jaj I F¨ur j := 0 bis l tue:

I falls aj = 1 dann s:=s·xj modn

I xj+1:= (xj)2modn

I Ausgabe s mits =xr modn.

I Maximale Zahlengr¨oße n2.

I Laufzeit O(logn).

(35)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:33) Walter Unger Z

Zu beachten beim Aufbau von RSA:

I p,q sollten nicht nahe beieinander liegen (z.B. keine Primzahlzwillinge)

I p,q sollten zuf¨allig gew¨ahlt werden, d.h. nicht aus Tabellen bekannt sein

I W¨ahlep,q so, 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 und d sollten gross sein.

(36)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:34) Walter Unger Z

p, q sollten nicht nahe beieinander liegen

I Angenommen, dies ist doch der Fall:

I x = (p−q)2 ist klein, mitp >q.

I y = (p+q)2 >√

n und (p+q)2 ist nur wenig gr¨oßer als √ n.

I Beachte weiter:

(p+q2 )2−(p−q2 )2

= (p+q)4 2(p−q)4 2

= p2+q2+2·p·q−(p4 2+q2−2·p·q)

= 2·p·q−(−2·p·q) 4

= p·q =n

I (p+q2 )2−n= (p−q2 )2, bzw.y2−n=x2.

I Dies wird ein perfekts Quadrat genannt.

(37)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:35) Walter Unger Z

p, q sollten nicht nahe beieinander liegen

(p+q2 )2n= (p−q2 )2 y2n=x2

I F¨uhre folgenden Test durch:

I F¨urx :=d√

nebisd√

ne+δ teste, obx2−n =y2 gilt f¨ur ein y ∈ZZ.

I Beachte nunx = p2 +q2 und y = p2q2.

I Danach setze:p =x+y und q=x−y.

I Der Bereich der durchzuprobierenden Schl¨ussel ist sehr klein.

I Das Ziehen der Wurzel erfolgt nur f¨ur kleine Zahlen.

(38)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:36) Walter Unger Z

W¨ ahle p, q so, daß ggT (p − 1, q − 1) klein ist.

I Beachte: (p−1)(q−1) ist durch 4 teilbar, denn es ist Produkt zweier gerader Zahlen.

I Falls ggT(p−1,q−1) groß ist:

I ⇒ das kleinste gemeinsame Vielfache u von p−1,q−1 ist klein

I ⇒ eins dere−1 (mod u) kann zur Entschl¨usselung verwendet werden

I ⇒ Suche wird einfach

I ⇒ w¨ahlep,q so, daßggT(p−1,q−1) klein ist

(39)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:37) Walter Unger Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

I ⇒ Test f¨ur alle Kandidatenv von ϕ(n)

I ⇒ Test, falls (v+1)e eine ganze Zahl ist.

I Teste dann, ob cv+1e Sinn macht (v : Kandidat f¨urϕ(n))

I Theoretische L¨osung f¨ur die beiden letzten Probleme:

I w¨ahle eine sichere Primzahl, d.h. auch p−12 und q−12 sind Primzahlen.

I Beispiele: 83,107,10100−166517.

I Sichere Primzahlen sind jedoch schwer zu generieren.

I Es ist nicht einmal gekl¨art, ob es unendlich viele davon gibt.

(40)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:38) Walter Unger Z

Sicherheitsaspekte

Wie sicher ist RSA?

1. L¨aßt sich beispielsweise RSA ohne Faktorisierung knacken?

2. Kann man ϕ(n) bestimmen?

3. Kann man d bestimmen?

4. Kann man bestimmen, ob das letzte Bit vonw gleich 1 ist?

5. Kann man testen, ob w < n2 gilt?

(41)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

(5:39) Walter Unger Z

Kann man ϕ(n) bestimmen?

n:=p·q ϕ(n) = (p1)(q1) c=wemodn w=cdmodn

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

(42)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Verschl¨usselung d bestimmen? (5:40) Walter Unger Z

Kann man d bestimmen?

n:=p·q ϕ(n) = (p1)(q1) c=wemodn w=cdmodn

Lemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p,q bestimmt.

Vorgehen

I Bekannt ist e,d,n. Das Ziel ist die Bestimmung vonp und q.

I W¨ahle einw mit 16w 6n

I Versuche,n mit w zu faktorisieren (Verfahren kommt sp¨ater).

I Dies wird mit einer Wahrscheinlichkeit >0,5 gelingen.

I Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefunden zu haben = 1−2−k.

I Das Verfahren kann deterministisch gemacht werden.

(43)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Verschl¨usselung d bestimmen? (5:41) Walter Unger Z

Verfahren

n:=p·q ϕ(n) = (p1)(q1) c=wemodn w=cdmodn

I Falls ggT(w,n)>1, dann faktorisieren mit dem Algorithmus von Euklid

I Falls w 6≡ ±1 (mod n) und w2 ≡1 (modn), dann gilt:

(w + 1)·(w −1) wird vonn geteilt

und (w+ 1),(w−1) werden nicht von n geteilt

=⇒ggT(w + 1,n) liefertp oderq.

I Falls die obigen Schritte erfolglos, f¨uhre folgende Schritte aus.

(44)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Verschl¨usselung d bestimmen? (5:42) Walter Unger Z

Verfahren

n:=p·q ϕ(n) = (p1)(q1) c=wemodn w=cdmodn

I ed−1 = 2sr mits >1 undr ungerade.

I Daed−1 ein Vielfaches vonϕ(n) ist, gilt:w2sr ≡1 (modn).

I Bestimme kleinstes s0(06s06s) mitw2s

0r ≡1 (modn).

I Falls nuns0 >0 undw2s0−1r 6≡ −1 (modn), so gehe analog zum Fall 2. vor (Faktorisierung ist m¨oglich).

I Andernfalls gilt wr ≡1 (mod n) oder w2tr ≡ −1 (modn) f¨ur eint,06t<s (d.h. t =s0−1) und der Algorithmus verwirft w (Faktorisierung nicht m¨oglich).

(45)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Verschl¨usselung d bestimmen? (5:43) Walter Unger Z

Fehlerwahrscheinlichkeit des Verfahrens

n:=p·q ϕ(n) = (p1)(q1) wr1 (modn)w2t r≡ −1 (modn)

I Wir bestimmen nun die Wahrscheinlichkeit daf¨ur, daß einw verworfen wird.

I Setze dazu:

p−1 = 2ia,q−1 = 2jb mit a,b ungerade und i 6j.

I Da 2sr ein Vielfaches vonϕ(n) ist, gilt, daß r ein Vielfaches von ab ist.

I Falls nunt >i, dann ist 2tr ein Vielfaches vonp−1

⇒ w2tr ≡1mod p

⇒ w2tr 6≡ −1 mod p

⇒ w2tr 6≡ −1 mod n

I Damit tritt der Fall t>i hier nicht auf.

(46)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Verschl¨usselung d bestimmen? (5:44) Walter Unger Z

Fehlerwahrscheinlichkeit

ϕ(n) = (p1)(q1) p1 = 2ia,q1 = 2jb.i6j wr1 (modn)w2t r≡ −1 (modn)

I Es ist nur noch folgende Situation zu betrachten:

wr ≡1 mod n oder w2tr ≡ −1mod n f ¨ur eint,06t <i

I Bestimme nun jeweils, f¨ur wievielew die Bedingungen erf¨ullt werden.

I Betrachte:wr1 modn.

I Seig ein Generator f¨urF?(p) (d.h.g erzeugt 1, . . . ,p) und sei w gumodp.

I Dann giltwr 1 modp ⇐⇒ ur = 0 modp1.

I Die Anzahl der L¨osungen istggT(r,p1) =a (analogggT(r,q1) =b).

I Damit hatwr 1 modn a·bviele L¨osungen.

(47)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Verschl¨usselung d bestimmen? (5:45) Walter Unger Z

Fehlerwahrscheinlichkeit

ϕ(n) = (p1)(q1) p1 = 2ia,q1 = 2jb.i6j wr1 (modn)w2t r≡ −1 (modn)

I Es ist nur noch folgende Situation zu betrachten:

wr 1modn oder w2tr ≡ −1modnf ¨ur eint,06t6i I Bestimme nun jeweils, f¨ur wievielew die Bedingungen erf¨ullt werden.

I wr 1 modnhata·bosungen I Betrachte nun:w2tr6≡ −1 modn

I Anzahl der L¨osungen von

w2t+1r 1 (modp) ist ggT(2t+1r,p1) = 2t+1a w2tr 1 (modp) ist ggT(2tr,p1) = 2ta

Beachte:t+ 16i w2tr ≡ −1 (modp) ist 62ta

Beachte:t+ 16i 6j w2tr≡ −1 (modn) ist 62ta·2tb= 22tab

(48)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

Verschl¨usselung d bestimmen? (5:46) Walter Unger Z

Fehlerwahrscheinlichkeit

ϕ(n) = (p1)(q1) p1 = 2ia,q1 = 2jb.i6j wr1 (modn)w2t r≡ −1 (modn)

I Wir fassen zusammen:

ab+ab

i−1

X

t=0

22t = ab(1 +

i−1

X

t=0

4t) =ab(1 +4i −1 3 )

= ab(2

322i−1+2

3)6ab(2

32i+j−1+2 3)

= ab(2i+j−1+ 1

3(2−2i+j−1)) 6 ab2i+j−1 = ϕ(n)

2

I =⇒ 50 Prozent allerw’s werden verworfen.

(49)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

onnen Teilinformationen entschl¨usselt werden? (5:47) Walter Unger Z

Orakel f¨ ur x <

n2

n:=p·q ϕ(n) = (p1)(q1) c=wemodn w=cdmodn

I Angenommen, es gibt Orakel H mit H(e,n,xe modn) = 1⇐⇒x< n2.

I Idee: Halbierungssuche unter Verwendung vonH.

I Verwende Werte:

xe modn = xe modn 2exe modn = (2x)e modn 4exe modn = (4x)e modn 8exe modn = (8x)e modn 16exe modn = (16x)e modn

I Damit wird dann durch Bin¨arsuche das Intervall, in dem x liegt immer weiter eingeschr¨ankt.

(50)

Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe

onnen Teilinformationen entschl¨usselt werden? (5:48) Walter Unger Z

Orakel f¨ ur x <

n2

n:=p·q ϕ(n) = (p1)(q1) c=wemodn w=cdmodn

Beispiel (n = 15):

xebzw.x: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

(2x)ebzw. 2x: 8 1 9 2 10 3 11 4 12 5 13 6 14 7

(4x)ebzw. 4x: 8 4 12 1 9 5 13 2 10 6 14 3 11 7

I Falls der letzte Test 2yexemodnist und

I falls falls das Orakel als Ergebnis eine Folgea1a2. . .aylieferte,

I dann istximi-ten Intervall der Gr¨oße 2−y−1n, miti=bin(a1. . .ay)

Referenzen

ÄHNLICHE DOKUMENTE

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

4:26 Idee der Datenübertragung Walter Unger 12.12.2015 16:03 WS2015/16 Z?.

Kompositionen III Satz Für jede Sprache aus N P gibt es ein Protokoll, welches Zero-Knowledge ist, und auch dessen Parallelausführung ist Zero-Knowledge.. Satz Für jede Sprache aus N

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

Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann... ElGamal (1985

ElGamal Elliptische Kurven Quantenkryptographie Idee der Datenübertragung (4:26) &lt;&gt; Walter Unger 26.11.2013 10:42 WS2013/14 Z n?.

Peter öffnet die Kästen, entnimmt seine Karten und teilt Viktor mit, ob die Kästen vertauscht wurden... Dieses Verfahren wiederholen beide jeden

Kompositionen III Satz Für jede Sprache aus N P gibt es ein Protokoll, welches Zero-Knowledge ist, und auch dessen Parallelausführung ist Zero-Knowledge.. Satz Für jede Sprache aus N