Algorithmische Kryptographie Kapitel 7
Public-Key-Systeme: ElGamal
Walter Unger
Lehrstuhl f¨ur Informatik 1
30. Januar 2009
Einleitung
Das System Aufbau
Ver- und Entschl¨usseln Uberblick¨
Sicherheitsaspekte
Unterschriften mit ElGamal Sicherheitsaspekte
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:1) Walter Unger Z
Erinnerung
I
G ist zyklische Gruppe
∃g: G =
{gm|m
∈IN}.
I
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
I
Falls p Primzahl, dann ist Z Z
∗pzyklisch mit
ϕ(p−1) Generatoren.
I
Z Z
∗nist zyklisch, gdw. n
∈ {1,2, 4, p
k,2
·p
k}.I
x
∈Z Z
∗pist Generator gdw. x
(p−1)/q6= 1 f¨ur alle Primzahlen q,die p
−1 teilen.
I
Da ord(x) das p
−1 teilt gilt: x
(p−1)/q= 1 mod p
−1 oder
ord(x) = p
−1.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:1) Walter Unger Z
Erinnerung
I
G ist zyklische Gruppe
∃g: G =
{gm|m
∈IN}.
I
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
I
Falls p Primzahl, dann ist Z Z
∗pzyklisch mit
ϕ(p−1) Generatoren.
I
Z Z
∗nist zyklisch, gdw. n
∈ {1,2, 4, p
k,2
·p
k}.I
x
∈Z Z
∗pist Generator gdw. x
(p−1)/q6= 1 f¨ur alle Primzahlen q,die p
−1 teilen.
I
Da ord(x) das p
−1 teilt gilt: x
(p−1)/q= 1 mod p
−1 oder
ord(x) = p
−1.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:
m
,
y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z c = n
·z + m d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:
m
,
y, n
W¨ ahle x, y
n = x
·y
y
,n
-W¨ ahle z c = n
·z + m d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:m
,
y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z c = n
·z + m d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:m, y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z c = n
·z + m d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:m, y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z
c = n
·z + m d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:m, y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z c = n
·z + m
d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:m, y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z c = n
·z + m d = z
·y
c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:m, y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z c = n
·z + m d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:2) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:
x, y
,n
B:m, y, n
W¨ ahle x, y n = x
·y
y
,n
-W¨ ahle z c = n
·z + m d = z
·y c
,d
m = c
−x
·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:3) Walter Unger Z
ElGamal
I
Schweres Problem: diskreter Logarithmus.
I
D.h. es wird als schwer angenommen f¨ ur gegebene Zahlen a, b, p, eine Zahl x zu bestimmen mit
a
x= b mod p
.
I
a
·b wird zu a
b(mod p)
I
a + b wird zu a
·b (mod p)
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:3) Walter Unger Z
ElGamal
I
Schweres Problem: diskreter Logarithmus.
I
D.h. es wird als schwer angenommen f¨ ur gegebene Zahlen
a,b,p, eine Zahlxzu bestimmen mit
ax
=
bmod
p.
I
a
·b wird zu a
b(mod p)
I
a + b wird zu a
·b (mod p)
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:3) Walter Unger Z
ElGamal
I
Schweres Problem: diskreter Logarithmus.
I
D.h. es wird als schwer angenommen f¨ ur gegebene Zahlen a, b, p, eine Zahl x zu bestimmen mit
a
x= b mod p
.
I a·b
wird zu
ab(mod
p)I
a + b wird zu a
·b (mod p)
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:3) Walter Unger Z
ElGamal
I
Schweres Problem: diskreter Logarithmus.
I
D.h. es wird als schwer angenommen f¨ ur gegebene Zahlen a, b, p, eine Zahl x zu bestimmen mit
a
x= b mod p
.
I
a
·b wird zu a
b(mod p)
I a
+
bwird zu
a·b(mod
p)Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:4) Walter Unger Z
Aufbau von ElGamal
I Bestimme eine große Primzahlp, so dassp−1 einen großen Primfaktor hat.
I Zum Bestimmen solcher Primzahlen pw¨ahlt man zuerst eine große Primzahlq und testet dann als Kandidaten f¨urp Zahlen der Form 2kq+ 1.
I Bestimme weiter einen Generatorg ∈ZZ∗p.
I Um zu testen, obg ein Generator ist, m¨ussen die Werte vonk faktorisierbar sein, d.h. qwird groß gew¨ahlt undk relativ klein.
I F¨ur einen Generatorg muss f¨ur alle Teiler q0 vonp−1 gelten g(p−1)/q0 6≡1 (modp).
I Damit kann man einfach testen, obg ein Generator ist.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:4) Walter Unger Z
Aufbau von ElGamal
I Bestimme eine große Primzahlp, so dassp−1 einen großen Primfaktor hat.
I Zum Bestimmen solcher Primzahlen pw¨ahlt man zuerst eine große Primzahlq und testet dann als Kandidaten f¨urp Zahlen der Form 2kq+ 1.
I Bestimme weiter einen Generatorg ∈ZZ∗p.
I Um zu testen, obg ein Generator ist, m¨ussen die Werte vonk faktorisierbar sein, d.h. qwird groß gew¨ahlt undk relativ klein.
I F¨ur einen Generatorg muss f¨ur alle Teiler q0 vonp−1 gelten g(p−1)/q0 6≡1 (modp).
I Damit kann man einfach testen, obg ein Generator ist.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:4) Walter Unger Z
Aufbau von ElGamal
I Bestimme eine große Primzahlp, so dassp−1 einen großen Primfaktor hat.
I Zum Bestimmen solcher Primzahlen pw¨ahlt man zuerst eine große Primzahlq und testet dann als Kandidaten f¨urp Zahlen der Form 2kq+ 1.
I Bestimme weiter einen Generatorg ∈ZZ∗p.
I Um zu testen, obg ein Generator ist, m¨ussen die Werte vonk faktorisierbar sein, d.h. qwird groß gew¨ahlt undk relativ klein.
I F¨ur einen Generatorg muss f¨ur alle Teiler q0 vonp−1 gelten g(p−1)/q0 6≡1 (modp).
I Damit kann man einfach testen, obg ein Generator ist.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:4) Walter Unger Z
Aufbau von ElGamal
I Bestimme eine große Primzahlp, so dassp−1 einen großen Primfaktor hat.
I Zum Bestimmen solcher Primzahlen pw¨ahlt man zuerst eine große Primzahlq und testet dann als Kandidaten f¨urp Zahlen der Form 2kq+ 1.
I Bestimme weiter einen Generatorg ∈ZZ∗p.
I Um zu testen, obg ein Generator ist, m¨ussen die Werte vonk faktorisierbar sein, d.h. qwird groß gew¨ahlt undk relativ klein.
I F¨ur einen Generatorg muss f¨ur alle Teiler q0 vonp−1 gelten g(p−1)/q0 6≡1 (modp).
I Damit kann man einfach testen, obg ein Generator ist.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:4) Walter Unger Z
Aufbau von ElGamal
I Bestimme eine große Primzahlp, so dassp−1 einen großen Primfaktor hat.
I Zum Bestimmen solcher Primzahlen pw¨ahlt man zuerst eine große Primzahlq und testet dann als Kandidaten f¨urp Zahlen der Form 2kq+ 1.
I Bestimme weiter einen Generatorg ∈ZZ∗p.
I Um zu testen, obg ein Generator ist, m¨ussen die Werte vonk faktorisierbar sein, d.h. qwird groß gew¨ahlt undk relativ klein.
I F¨ur einen Generatorg muss f¨ur alle Teilerq0 vonp−1 gelten g(p−1)/q0 6≡1 (modp).
I Damit kann man einfach testen, obg ein Generator ist.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:4) Walter Unger Z
Aufbau von ElGamal
I Bestimme eine große Primzahlp, so dassp−1 einen großen Primfaktor hat.
I Zum Bestimmen solcher Primzahlen pw¨ahlt man zuerst eine große Primzahlq und testet dann als Kandidaten f¨urp Zahlen der Form 2kq+ 1.
I Bestimme weiter einen Generatorg ∈ZZ∗p.
I Um zu testen, obg ein Generator ist, m¨ussen die Werte vonk faktorisierbar sein, d.h. qwird groß gew¨ahlt undk relativ klein.
I F¨ur einen Generatorg muss f¨ur alle Teilerq0 vonp−1 gelten g(p−1)/q0 6≡1 (modp).
I Damit kann man einfach testen, obg ein Generator ist.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:5) Walter Unger Z
Aufbau von ElGamal
I
W¨ ahle zuf¨ allig
x ∈ {2, . . . ,p−2}.
I
Bestimme y := g
xmod p.
I
Der geheime Schl¨ ussel ist dann (p, g
,x).
I
Der ¨ offentliche Schl¨ ussel ist dann (p, g
,y).
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:5) Walter Unger Z
Aufbau von ElGamal
I
W¨ ahle zuf¨ allig x
∈ {2, . . . ,p
−2}.
I
Bestimme
y:=
gxmod
p.I
Der geheime Schl¨ ussel ist dann (p, g
,x).
I
Der ¨ offentliche Schl¨ ussel ist dann (p, g
,y).
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:5) Walter Unger Z
Aufbau von ElGamal
I
W¨ ahle zuf¨ allig x
∈ {2, . . . ,p
−2}.
I
Bestimme y := g
xmod p.
I
Der geheime Schl¨ ussel ist dann (p,
g,x).I
Der ¨ offentliche Schl¨ ussel ist dann (p, g
,y).
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Aufbau (7:5) Walter Unger Z
Aufbau von ElGamal
I
W¨ ahle zuf¨ allig x
∈ {2, . . . ,p
−2}.
I
Bestimme y := g
xmod p.
I
Der geheime Schl¨ ussel ist dann (p, g, x).
I
Der ¨ offentliche Schl¨ ussel ist dann (p,
g,y).Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:6) Walter Unger Z
Verschl¨ usselung:
x∈ {2, . . . ,p−2}
y=gxmodp
I Bei der Verschl¨usselung wird eine Hintert¨ur nicht durch das System vorgegeben.
I Stattdessen wird vom Verschl¨usseler eine zus¨atzliche Information angegeben, mit deren Hilfe der Emf¨anger entschl¨usseln kann.
I Die Verschl¨usselungsfunktion ist dannEp,g,yElGamal : ZZ∗p→ZZ∗p×ZZ∗p.
I W¨ahlek zuf¨allig mit ggT(k,p−1) = 1.
a≡gk modp b≡myk ≡mgxkmodp
I Ep,g,yElGamal(m)7→(a,b).
I Damit hat der Kryptotext die doppelte Gr¨oße im Vergleich zum Plaintext.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:6) Walter Unger Z
Verschl¨ usselung:
x∈ {2, . . . ,p−2}
y=gxmodp
I Bei der Verschl¨usselung wird eine Hintert¨ur nicht durch das System vorgegeben.
I Stattdessen wird vom Verschl¨usseler eine zus¨atzliche Information angegeben, mit deren Hilfe der Emf¨anger entschl¨usseln kann.
I Die Verschl¨usselungsfunktion ist dannEp,g,yElGamal : ZZ∗p→ZZ∗p×ZZ∗p.
I W¨ahlek zuf¨allig mit ggT(k,p−1) = 1.
a≡gk modp b≡myk ≡mgxkmodp
I Ep,g,yElGamal(m)7→(a,b).
I Damit hat der Kryptotext die doppelte Gr¨oße im Vergleich zum Plaintext.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:6) Walter Unger Z
Verschl¨ usselung:
x∈ {2, . . . ,p−2}
y=gxmodp
I Bei der Verschl¨usselung wird eine Hintert¨ur nicht durch das System vorgegeben.
I Stattdessen wird vom Verschl¨usseler eine zus¨atzliche Information angegeben, mit deren Hilfe der Emf¨anger entschl¨usseln kann.
I Die Verschl¨usselungsfunktion ist dannEp,g,yElGamal : ZZ∗p→ZZ∗p×ZZ∗p.
I W¨ahlek zuf¨allig mit ggT(k,p−1) = 1.
a≡gk modp b≡myk ≡mgxkmodp
I Ep,g,yElGamal(m)7→(a,b).
I Damit hat der Kryptotext die doppelte Gr¨oße im Vergleich zum Plaintext.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:6) Walter Unger Z
Verschl¨ usselung:
x∈ {2, . . . ,p−2}
y=gxmodp
I Bei der Verschl¨usselung wird eine Hintert¨ur nicht durch das System vorgegeben.
I Stattdessen wird vom Verschl¨usseler eine zus¨atzliche Information angegeben, mit deren Hilfe der Emf¨anger entschl¨usseln kann.
I Die Verschl¨usselungsfunktion ist dannEp,g,yElGamal : ZZ∗p→ZZ∗p×ZZ∗p.
I W¨ahlek zuf¨allig mit ggT(k,p−1) = 1.
a≡gk modp b≡myk ≡mgxkmodp
I Ep,g,yElGamal(m)7→(a,b).
I Damit hat der Kryptotext die doppelte Gr¨oße im Vergleich zum Plaintext.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:6) Walter Unger Z
Verschl¨ usselung:
x∈ {2, . . . ,p−2}
y=gxmodp
I Bei der Verschl¨usselung wird eine Hintert¨ur nicht durch das System vorgegeben.
I Stattdessen wird vom Verschl¨usseler eine zus¨atzliche Information angegeben, mit deren Hilfe der Emf¨anger entschl¨usseln kann.
I Die Verschl¨usselungsfunktion ist dannEp,g,yElGamal : ZZ∗p→ZZ∗p×ZZ∗p.
I W¨ahlek zuf¨allig mit ggT(k,p−1) = 1.
a≡gk modp b≡myk ≡mgxkmodp
I Ep,g,yElGamal(m)7→(a,b).
I Damit hat der Kryptotext die doppelte Gr¨oße im Vergleich zum Plaintext.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:6) Walter Unger Z
Verschl¨ usselung:
x∈ {2, . . . ,p−2}
y=gxmodp
I Bei der Verschl¨usselung wird eine Hintert¨ur nicht durch das System vorgegeben.
I Stattdessen wird vom Verschl¨usseler eine zus¨atzliche Information angegeben, mit deren Hilfe der Emf¨anger entschl¨usseln kann.
I Die Verschl¨usselungsfunktion ist dannEp,g,yElGamal : ZZ∗p→ZZ∗p×ZZ∗p.
I W¨ahlek zuf¨allig mit ggT(k,p−1) = 1.
a≡gk modp b≡myk ≡mgxkmodp
I Ep,g,yElGamal(m)7→(a,b).
I Damit hat der Kryptotext die doppelte Gr¨oße im Vergleich zum Plaintext.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:7) Walter Unger Z
Entschl¨ usselung:
a≡gkmodp b≡myk≡mgxkmodp
I Zur Entschl¨usselung bedient man sich der Eigenschaft m=b/ax modp.
I Die Entschl¨usselungsfunktion ist dannDp,g,xElGamal : 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:Dp,g,xElGamal(a,b)7→b/ax modp.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:7) Walter Unger Z
Entschl¨ usselung:
a≡gkmodp b≡myk≡mgxkmodp
I Zur Entschl¨usselung bedient man sich der Eigenschaft m=b/ax modp.
I Die Entschl¨usselungsfunktion ist dannDp,g,xElGamal : 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:Dp,g,xElGamal(a,b)7→b/ax modp.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:7) Walter Unger Z
Entschl¨ usselung:
a≡gkmodp b≡myk≡mgxkmodp
I Zur Entschl¨usselung bedient man sich der Eigenschaft m=b/ax modp.
I Die Entschl¨usselungsfunktion ist dannDp,g,xElGamal : 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:Dp,g,xElGamal(a,b)7→b/ax modp.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:7) Walter Unger Z
Entschl¨ usselung:
a≡gkmodp b≡myk≡mgxkmodp
I Zur Entschl¨usselung bedient man sich der Eigenschaft m=b/ax modp.
I Die Entschl¨usselungsfunktion ist dannDp,g,xElGamal : 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:Dp,g,xElGamal(a,b)7→b/ax modp.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:7) Walter Unger Z
Entschl¨ usselung:
a≡gkmodp b≡myk≡mgxkmodp
I Zur Entschl¨usselung bedient man sich der Eigenschaft m=b/ax modp.
I Die Entschl¨usselungsfunktion ist dannDp,g,xElGamal : 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:Dp,g,xElGamal(a,b)7→b/ax modp.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Ver- und Entschl¨usseln (7:7) Walter Unger Z
Entschl¨ usselung:
a≡gkmodp b≡myk≡mgxkmodp
I Zur Entschl¨usselung bedient man sich der Eigenschaft m=b/ax modp.
I Die Entschl¨usselungsfunktion ist dannDp,g,xElGamal : 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:Dp,g,xElGamal(a,b)7→b/ax modp.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:
x,y,g
B:m
,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:
x,y,g
B:m
,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor
W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:
x,y,g
B:m
,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:
x,y,g
B:m
,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:x,y,g B:m
,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:x,y,g B:m,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:x,y,g B:m,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:x,y,g B:m,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:x,y,g B:m,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:x,y,g B:m,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
Uberblick¨ (7:8) Walter Unger Z
Uberblick ¨
A:x,y,g B:m,y,g
W¨ahlepPrimzahl mitp−1 hat großen Primfaktor W¨ahle Generatorg ∈ZZ∗p
W¨ahlex∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:9) Walter Unger Z
Sicherheitsaspekte:
I Sowohl bzgl. der Sicherheit als auch bzgl. der Geschwindigkeit ist das ELGamal System voll mit RSA vergleichbar.
I Bei der Sicherheit von ElGamal geht man davon aus, dass das folgende Problem schwer ist:
I Fallsgx undgk gegeben sind, so ist es schwer einen der folgenden Werte zu bestimmen: gxk oderg−xk odermwie oben gegeben. Dieses zugrundeliegende Problem ist als Diffie-Hellman-Problem bekannt.
I Es ist bekannt, dass, falls man das Problem des diskreten Logarithmus l¨osen kann, dann kann man auch das Diffie-Hellman-Problem l¨osen. Die R¨uckrichtung ist offen.
I Frage: was w¨are wenng kein Generator w¨are?
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:9) Walter Unger Z
Sicherheitsaspekte:
I Sowohl bzgl. der Sicherheit als auch bzgl. der Geschwindigkeit ist das ELGamal System voll mit RSA vergleichbar.
I Bei der Sicherheit von ElGamal geht man davon aus, dass das folgende Problem schwer ist:
I Fallsgx undgk gegeben sind, so ist es schwer einen der folgenden Werte zu bestimmen: gxk oderg−xk odermwie oben gegeben. Dieses zugrundeliegende Problem ist als Diffie-Hellman-Problem bekannt.
I Es ist bekannt, dass, falls man das Problem des diskreten Logarithmus l¨osen kann, dann kann man auch das Diffie-Hellman-Problem l¨osen. Die R¨uckrichtung ist offen.
I Frage: was w¨are wenng kein Generator w¨are?
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:9) Walter Unger Z
Sicherheitsaspekte:
I Sowohl bzgl. der Sicherheit als auch bzgl. der Geschwindigkeit ist das ELGamal System voll mit RSA vergleichbar.
I Bei der Sicherheit von ElGamal geht man davon aus, dass das folgende Problem schwer ist:
I Fallsgx undgk gegeben sind, so ist es schwer einen der folgenden Werte zu bestimmen: gxk oderg−xk odermwie oben gegeben.
Dieses zugrundeliegende Problem ist als Diffie-Hellman-Problem bekannt.
I Es ist bekannt, dass, falls man das Problem des diskreten Logarithmus l¨osen kann, dann kann man auch das Diffie-Hellman-Problem l¨osen. Die R¨uckrichtung ist offen.
I Frage: was w¨are wenng kein Generator w¨are?
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:9) Walter Unger Z
Sicherheitsaspekte:
I Sowohl bzgl. der Sicherheit als auch bzgl. der Geschwindigkeit ist das ELGamal System voll mit RSA vergleichbar.
I Bei der Sicherheit von ElGamal geht man davon aus, dass das folgende Problem schwer ist:
I Fallsgx undgk gegeben sind, so ist es schwer einen der folgenden Werte zu bestimmen: gxk oderg−xk odermwie oben gegeben.
Dieses zugrundeliegende Problem ist als Diffie-Hellman-Problem bekannt.
I Es ist bekannt, dass, falls man das Problem des diskreten Logarithmus l¨osen kann, dann kann man auch das Diffie-Hellman-Problem l¨osen. Die R¨uckrichtung ist offen.
I Frage: was w¨are wenng kein Generator w¨are?
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:9) Walter Unger Z
Sicherheitsaspekte:
I Sowohl bzgl. der Sicherheit als auch bzgl. der Geschwindigkeit ist das ELGamal System voll mit RSA vergleichbar.
I Bei der Sicherheit von ElGamal geht man davon aus, dass das folgende Problem schwer ist:
I Fallsgx undgk gegeben sind, so ist es schwer einen der folgenden Werte zu bestimmen: gxk oderg−xk odermwie oben gegeben.
Dieses zugrundeliegende Problem ist als Diffie-Hellman-Problem bekannt.
I Es ist bekannt, dass, falls man das Problem des diskreten Logarithmus l¨osen kann, dann kann man auch das Diffie-Hellman-Problem l¨osen. Die R¨uckrichtung ist offen.
I Frage: was w¨are wenng kein Generator w¨are?
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w
,y,n
B:w
,x,y,n
Erzeugtx,y undn=y·x
y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w
,y,n
B:w,x,y,n
Erzeugtx,y undn=y·x
y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w
,y,n
B:w,x,y,n
Erzeugtx,y undn=y·x y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w,y,n B:w,x,y,n
Erzeugtx,y undn=y·x y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w,y,n B:w,x,y,n
Erzeugtx,y undn=y·x y,n
Erzeugtz
Bestimmtd=x·z
c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w,y,n B:w,x,y,n
Erzeugtx,y undn=y·x y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z
Testetw =? y·d+c Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w,y,n B:w,x,y,n
Erzeugtx,y undn=y·x y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w,y,n B:w,x,y,n
Erzeugtx,y undn=y·x y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:10) Walter Unger Z
Erinnerung (keiner kann dividieren)
A:w,y,n B:w,x,y,n
Erzeugtx,y undn=y·x y,n
Erzeugtz
Bestimmtd=x·z c,d,z
Bestimmtc=w−n·z Testetw =? y·d+c
Testetn·z=? y·d
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1. 2. Bestimmer :=gk modp unds:=k−1(m−rx) modp−1. 3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimmev:=gmmodpundw :=yrrs modp. 3. Teste, ob giltv=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht
mzu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1. 2. Bestimme r :=gk modp unds:=k−1(m−rx) modp−1. 3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimmev:=gmmodpundw :=yrrs modp. 3. Teste, ob giltv=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1.
2. Bestimmer :=gk modp unds:=k−1(m−rx) modp−1. 3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimmev:=gmmodpundw :=yrrs modp. 3. Teste, ob giltv=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1.
2. Bestimme r :=gk modp unds:=k−1(m−rx) modp−1.
3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimmev:=gmmodpundw :=yrrs modp. 3. Teste, ob giltv=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1.
2. Bestimmer :=gk modp unds:=k−1(m−rx) modp−1.
3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimmev:=gmmodpundw :=yrrs modp. 3. Teste, ob giltv=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1.
2. Bestimmer :=gk modp unds:=k−1(m−rx) modp−1.
3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimme v:=gmmodpundw :=yrrs modp. 3. Teste, ob gilt v=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1.
2. Bestimmer :=gk modp unds:=k−1(m−rx) modp−1.
3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimmev:=gmmodpundw :=yrrs modp. 3. Teste, ob giltv=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1.
2. Bestimmer :=gk modp unds:=k−1(m−rx) modp−1.
3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimme v:=gmmodpundw :=yrrs modp.
3. Teste, ob giltv=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:11) Walter Unger Z
Unterschrift
I
Der Systemaufbau erfolgt genau wie schon oben angegeben.
I
Um eine Nachricht m zu unterschreiben, f¨ uhre man die folgenden Schritte durch:
1. W¨ahlek zuf¨allig mit 16k 6p−2 mit ggT(k,p−1) = 1.
2. Bestimmer :=gk modp unds:=k−1(m−rx) modp−1.
3. Die Unterschrift ist dann (m,r,s).
I
Um die Unterschrift zu testen, werden die folgenden Schritte gemacht:
1. Teste, ob gilt 16r 6p−1.
2. Bestimmev:=gmmodpundw :=yrrs modp.
3. Teste, ob gilt v=? w.
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:12) Walter Unger Z
Unterschrift
r:=gkmodp s:=k−1(m−rx) modp−1 (m,r,s) v:=gmmodp w:=yrrsmodp
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 ∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:12) Walter Unger Z
Unterschrift
r:=gkmodp s:=k−1(m−rx) modp−1 (m,r,s) v:=gmmodp w:=yrrsmodp
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 ∈ {2, . . . ,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
Einleitung Das System Sicherheitsaspekte Unterschriften mit ElGamal
(7:12) Walter Unger Z
Unterschrift
r:=gkmodp s:=k−1(m−rx) modp−1 (m,r,s) v:=gmmodp w:=yrrsmodp
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 ∈ {2, . . . ,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