Algorithmische Kryptographie Kapitel 5
Public-Key-Systeme: RSA
Walter Unger
Lehrstuhl f¨ur Informatik 1
30. Januar 2009
Einleitung
Erinnerung
Bestimmung des gr¨oßten gemeinsamen Teilers Effiziente Berechnung von Potenzen
Chinesischer Restsatz Aufbau
Sicherheitsaspekte von RSA Verschl¨usselung d bestimmen?
K¨onnen Teilinformationen entschl¨usselt werden?
Unterschrift Angriffe
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.
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.
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.
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.
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.
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.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:2) Walter Unger Z
Definition:
I Es seiena,b∈Z.
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.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:3) Walter Unger Z
Definition:
I Es seiena,b∈Z.
I Eine ganze Zahld ∈N0heißtgr¨oßter gemeinsamer Teilervon aundb, falls
1. d|aundd |b.
2. F¨ur jedesc∈Zmitc|aundc|bgiltc|d.
I Kurzschreibweise:d= ggT(a,b)
I a,b∈Zheißenteilerfremd, wenn ggT(a,b) = 1. Bemerkung:
ggT(m,0) = ggT(0,m) =|m|f¨ur allem∈Z.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:3) Walter Unger Z
Definition:
I Es seiena,b∈Z.
I Eine ganze Zahld ∈N0heißtgr¨oßter gemeinsamer Teilervon aundb, falls
1. d|aundd |b.
2. F¨ur jedesc∈Zmitc|aundc|bgiltc|d.
I Kurzschreibweise:d= ggT(a,b)
I a,b∈Zheißenteilerfremd, wenn ggT(a,b) = 1.
Bemerkung:
ggT(m,0) = ggT(0,m) =|m|f¨ur allem∈Z.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:4) Walter Unger Z
Definition:
I Es seiena,b∈Z.
I Einm∈N0 heißtkleinstes gemeinsames Vielfachesvonaundb, falls 1. a|mundb|m.
2. F¨ur jedesc∈Zmita|c undb|c giltm|c.
I Kurzschreibweise:m=kgV(a,b) Bemerkung:
kgV(m,0) =kgV(0,m) = 0 f¨ur allem∈Z.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:5) Walter Unger Z
Definition:
I Es seim∈N,m>2.
I F¨ura,b∈Zsetzt man:
I a≡b (modm)
I Sprechweise: ,,akongruentb modulom”
I genau dann wennm|a−b. I Die Zahlmheißt derModul.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:6) Walter Unger Z
Satz:
I Seim∈N,m>2.
I Die Relation≡ (modm) ist eine ¨Aquivalenzrelation aufZ. I Die ¨Aquivalenzklassen sind genau die Mengen
[a]m = {a+km|k∈Z} f¨ura∈ {0,1, . . . ,m−1}.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:7) Walter Unger Z
Definition:
I [a]mheißt dieRestklassevonamodulom.
I Seix∈Z.
I Derkleinste nicht-negative Rest von x modulo m, I d.h.a∈ {0,1, . . . ,m−1}mita≡x(modm), I wird mitx modmbezeichnet.
Aquivalente Definition:¨ I Seim∈N,m>2.
I Bezeichnebxcdie gr¨oßte ganze Zahl6x. Dann gilt: x modm = x−jx
m k
·m.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:7) Walter Unger Z
Definition:
I [a]mheißt dieRestklassevonamodulom.
I Seix∈Z.
I Derkleinste nicht-negative Rest von x modulo m, I d.h.a∈ {0,1, . . . ,m−1}mita≡x(modm), I wird mitx modmbezeichnet.
Aquivalente Definition:¨ I Seim∈N,m>2.
I Bezeichnebxcdie gr¨oßte ganze Zahl6x. Dann gilt:
x modm = x−jx m
k
·m.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
(5:8) Walter Unger Z
Definition:
I Eine Zahlp∈NheißtPrimzahl,
I wennp>1 und wenn
I pals positive Teiler nur 1 und pbesitzt.
I Eine Zahln∈N, die keine Primzahl ist, heißtkomposit.
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 Zahlp∈Nbekannt,
I nicht einmal f¨ur den einfachen Fall, daßn=p·q,p,qprim.
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 Zahlp∈Nbekannt,
I nicht einmal f¨ur den einfachen Fall, daßn=p·q,p,qprim.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
Bestimmung des gr¨oßten gemeinsamen Teilers (5:10) Walter Unger Z
1. Ansatz:
Seiena,b∈Nmit
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.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
Bestimmung des gr¨oßten gemeinsamen Teilers (5:10) Walter Unger Z
1. Ansatz:
Seiena,b∈Nmit
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.
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,b∈N0} (1) if (b= 0) then (2) return(a) (3) else
(4) return(EUCLID(b,amodb)).
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,b∈N0} (1) if (b= 0) then (2) return(a) (3) else
(4) return(EUCLID(b,amodb)).
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.
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.
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.
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.
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.
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.
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.
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.
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,y∈Zmit 1 = xa+ym, also mitxa≡1 (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.
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 az≡b (modm) mitO((logm)2) Aufwand berechnen.
I Umz zu finden, berechne zun¨achsta−1(modm) und multipliziere anschließend mitb(modm).
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+b−m 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
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+b−m 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
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
Effiziente Berechnung von Potenzen (5:17) Walter Unger Z
Beobachtung:
POWER(a,e,m) {a,e,m∈N0, 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,e−1,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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
Eulerscheϕ-Funktion (5:19) Walter Unger Z
Definition:
I ϕ(1) := 1.
I F¨urm>2 definiere
ϕ(m) :=|{a∈Z|06a6m−1; ggT(a,m) = 1}|
Satz:
1. F¨ur jede Primzahlpund jedesb∈Nistϕ(pb) =pb−pb−1. 2. Sindm,n∈Nteilerfremd, so giltϕ(m·n) =ϕ(m)·ϕ(n).
Folgerung:
ϕ(m) ist leicht zu berechnen, falls die Primfaktorzerlegung vonmbekannt ist.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
Eulerscheϕ-Funktion (5:19) Walter Unger Z
Definition:
I ϕ(1) := 1.
I F¨urm>2 definiere
ϕ(m) :=|{a∈Z|06a6m−1; ggT(a,m) = 1}|
Satz:
1. F¨ur jede Primzahlpund jedesb∈Nistϕ(pb) =pb−pb−1. 2. Sindm,n∈Nteilerfremd, so giltϕ(m·n) =ϕ(m)·ϕ(n).
Folgerung:
ϕ(m) ist leicht zu berechnen, falls die Primfaktorzerlegung vonmbekannt ist.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
Eulerscheϕ-Funktion (5:19) Walter Unger Z
Definition:
I ϕ(1) := 1.
I F¨urm>2 definiere
ϕ(m) :=|{a∈Z|06a6m−1; ggT(a,m) = 1}|
Satz:
1. F¨ur jede Primzahlpund jedesb∈Nistϕ(pb) =pb−pb−1. 2. Sindm,n∈Nteilerfremd, so giltϕ(m·n) =ϕ(m)·ϕ(n).
Folgerung:
ϕ(m) ist leicht zu berechnen, falls die Primfaktorzerlegung vonmbekannt ist.
Einleitung Erinnerung Aufbau Sicherheitsaspekte von RSA Unterschrift Angriffe
Eulerscheϕ-Funktion (5:20) Walter Unger Z
Satz [Euler]:
Es seienm∈Nunda∈Zteilerfremd.
1. Dann istaϕ(m)≡1 (modm).
Satz [Fermat]: Es seipeine Primzahl.
1. F¨ur jedesa∈Zmitp6 |aistap−1≡1 (modp). 2. F¨ur jedesa∈Zistap≡a(modp).