Kapitel 4 Weitere Systeme
Walter Unger
Lehrstuhl für Informatik 1
10:46 Uhr, den 26. November 2013
Inhalt I
1 ElGamal Einleitung Aufbau
Verschlüsseln und Entschlüsseln Sicherheitsaspekte
Unterschriften mit ElGamal Sicherheitsaspekte
2 Elliptische Kurven
Mathematischer Hintergrund Aufbau des Systems Das Verfahren
3 Quantenkryptographie Grundlagen aus der Physik Idee der Datenübertragung Realisierung der Protokolle
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
ElGamal (1985 Tahir al-Dschamal(*1955))
Schweres Problem: diskreter Logarithmus.
D.h. es wird als schwer angenommen, für gegebene Zahlen a,b,p, eine Zahlx zu bestimmen mit (ax modp) =b.
Bei der Verschlüsselung wird eine Hintertür nicht durch das System vorgegeben.
Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann. Erinnerung:
A:x,y,n B:m,y,n Wählex,y
n=x·y y,n
Wählez c=n·z+m d=z·y c,d
m=c−x·d
a·bwird zuab (modp) a+bwird zua·b (modp)
PkS RSA ElGamal
Rabin KS DES IDEA AES
1985
1970 1980 1990 2000
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Erinnerung
G ist zyklische Gruppe∃g:G ={gm|m∈N}.
Z∗n ist zyklisch, gdw.n∈ {1,2,4,pk,2·pk}.
Der Generator einer zyklischen Gruppe wird primitive Wurzel genannt.
FallspPrimzahl, dann istZ∗p zyklisch mitϕ(p−1) Generatoren.
x ∈Z∗p ist Generator gdw.x(p−1)/q6= 1 für alle Primzahlenq, diep−1 teilen.
Da ord(x) dasp−1 teilt, gilt:
x(p−1)/q= 1 modp−1 oder ord(x) =p−1.
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Aufbau von ElGamal
xist Generator:x(p−1)/q6= 1
Bestimme große Primzahlp, so dassp−1 einen großen Primfaktor hat.
Zum Bestimmen solcher Primzahlenpwählt man zuerst eine große Primzahlqund testet dann als Kandidaten fürpZahlen der Form 2kq+ 1.
Bestimme weiter einen Generatorg∈Z∗p.
Um zu testen, obgein Generator ist, müssen die Werte vonk faktorisierbar sein, d.h.q wird groß gewählt undk relativ klein.
Für einen Generatorgmuss für alle Teilerq0vonp−1 gelten g(p−1)/q0 6≡1 (modp).
Damit kann man einfach testen, obg ein Generator ist.
Aufbau von ElGamal
Wähle zufälligx ∈ {2, . . . ,p−2}.
Bestimmey:=gx modp.
Der geheime Schlüssel ist dann (p,g,x).
Der öffentliche Schlüssel ist dann (p,g,y).
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g
WählepPrimzahl mit p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.
Verschlüsselung:
x∈ {2, . . . ,p−2}
y=gxmodp
Bisher:
A:x,y,g B:m,y,g WählepPrimzahl mit
p−1 hat großen Primfaktor Wähle Generatorg∈Z∗p Wählex∈ {2, . . . ,p−2}
y:=gxmodp y,g
Die Verschlüsselungsfunktion ist dannEp,g,yElGamal:Z∗p→Z∗p×Z∗p. Wählekzufällig mit ggT(k,p−1) = 1.
a=gkmodp b=m·ykmodp Ep,g,yElGamal(m)7→(a,b).
Damit hat der Kryptotext die doppelte Größe im Vergleich zum Plaintext.