Cramer-Shoup-Variante des ElGamal

Werbung
R. Fischlin/15. Februar 2000
Cramer-Shoup-Variante des
ElGamal-Kryptoschemas
Wir stellen die Variante des ElGamal-Kryptoschemas von Cramer und Shoup [GS98]
vor. Im Gegensatz zum urspünglichen System ist diese Erweiterung (unter der DecisionalDiffie-Hellman-Annahme) semantisch sicher gegen Adaptive-Chosen-Ciphertext-Angriffe.
1. ElGamal-Kryptoschema
Wir skizzieren kurz das ElGamal-Kryptoschema [G85]. Sei p = 2q + 1 eine hinreichend große
n-Bit-Primzahl und G := hgi ⊆ Z∗p eine Untergruppe primer Ordnung q. Diese öffentlichen
Parameter sind für alle Teilnehmer gleich.
• Schlüssel: Der Secret-Key ist z ∈R Zq , der zugehörige Public-Key h := g z .
• Chiffrieren: Um eine Nachricht m ∈ G zu chiffrieren, wähle zufälliges r ∈R Zq , setze
u := g r und:
Ench (m) := Ench (m, r) := (u, hr m) ∈ G2.
hr = g rz ist der Diffie-Hellman-Schlüssel (Session-Key) DHg (h, u) zu u = g r und h = g z .
• Dechiffrieren: Um eine verschlüsselte Nachricht Ench (m, r) := (u, hr m) zu dechiffrieren, verwende den geheimen Schlüssel z mit h = g z :
Decz (u, hr m) :=
hr m
g rz m
= rz = m.
z
u
g
Def inition 1.1 (Sicherheit). Ein prob. Polynomialzeit-Algorithmus (Angreifer) A
1. wählt zwei verschiedene Nachrichten m0 , m1,
2. erhält als Challenge (Aufgabe) den Ciphertext e := Enc(mb ) für ein zufälliges b ∈R
{0, 1} und
3. soll dann mb bzw. b bestimmen.
Liegt die Erfolgswahrscheinlicheit von jedem Angreifer A nur vernachlässigbar nah an der
Rate-Wahrscheinlichkeit 12 , so heißt das Public-Key-Schema sicher gegen Chosen-PlaintextAngriffe1. Man nennt das Schema sicher gegen Adaptive-Chosen-Ciphertext-Angriffe, falls A
zusätzlich ein sogenanntes Deccryption-Orakel, das mit Ausnahme von e beliebige Ciphertexte
dechiffriert, verwenden kann.
Unter der Decisional-Diffie-Hellman-Annahme [NR97] ist das ElGamal-Schema sicher gegen
Chosen-Plaintext-Angriffe:
Annahme 1.2 (Decisional-Diffie-Hellman-Annahme). Jeder prob. Polynomialzeit-Algorithmus D, der die beiden Verteilungen (g a, g b, g ab) und (g a, g b, g c), welche durch a, b, c ∈R
1
A kann den Ciphertext zu beliebigen Plaintexten (Nachrichten) untersuchen, weil die Chiffrierfunktion
effizient berechenbar ist.
2
Zq induziert werden, unterscheidet, hat nur vernachlässigbaren Vorteil, d.h. für hinreichend
große n gilt:
i
h
i
h
1
.
Ws D(g a, g b, g ab) = 1 − Ws D(g a, g b, g c) = 1 <
poly(n)
Unter dieser Annahme wirkt der Diffie-Hellman-Schlüssel DHg (h, u) wie ein One-TimePad für die Nachricht m, so dass das ElGamal-Schema sicher gegen Chosen-Plaintext-Angriffe
ist. Das System ist jedoch nicht sicher gegen Adaptive-Chosen-Ciphertext-Angriffe: Zu gegebem Ciphertext Enc(mb , r) = (g r , hr mb ) können wir die Nachricht mb auf zwei Arten bestimmen:
• Re-Randomisierung: Das Decryption-Orakel liefert bei Eingabe von Enc(mb , r + 1) =
(gg r , hhr mb ) die Nachricht mb .
• Homomorphie-Eigenschaft: Das Decryption-Orakel liefert bei Eingabe von Enc(hmb , r) =
(g r , hr+1 mb ) die Nachricht hmb , Multiplikation mit h−1 ergibt die Nachricht mb .
2. Cramer-Shoup-Kryptoschema
Cramer und Shoup [GS98] haben auf der Crypto ’98-Konferenz folgende Erweiterung des
ElGamal-Schemas vorgeschlagen. Sei p = 2q + 1 eine hinreichend große n-Bit-Primzahl und
G := hgi ⊆ Z∗p eine Untergruppe primer Ordnung q. Wir wählen zusätzlich als öffentliche
Parameter:
• einen weiteren Generator g2 der Gruppe G.
• eine kollisions-resistente Hash-Funktion2 H : G3 → Zq .
Jeder Teilnehmer wählt:
• Schlüssel: Den Secret-Key bilden z, z2, x, x2, y, y2 ∈R Zq , der zugehörige Public-Key
ist (h, c, d) mit
h := g z g2z2
c := g xg2x2
(1)
d := g y g2y2
Aus Effizenzgründen sei z2 := 0, d.h. h = g z . Dies ändert nicht die Verteilung des
öffentlichen Schlüssels.
• Chiffrieren: Um eine Nachricht m ∈ G zu chiffrieren, wähle zufälliges r ∈R Zq und
setze
u := g r
u2 := g2r
e := hr m
α := H(u, e, u2)
v := cr drα,
so dass Enc(h,c,d) (m, r) := (u, e, u2, v) ∈ G4 . Das Paar (u, e) ist die ElGamal-Verschlüsselung Ench (m, r).
• Dechiffrieren: Um eine verschlüsselte Nachricht Enc(h,c,d) (m, r) := (u, e, u2, v) zu dechiffrieren, bestimme zuerst α := H(u, e, u2) und teste die Dechiffrier-Bedingung
!
ux+yα · u2x2 +y2 α = v.
(2)
2
jeder prob. Polynomialzeit-Algorithmus, der x, y mit x 6= y und H(x) = H(y) bestimmt, hat nur eine vernachlässigbare Erfolgswahrscheinlichkeit. Solche Funktionen existieren u.a. unter der Diskreten-Log-Annahme.
3. Sicherheitsbeweis
3
Sollte diese Bedingung verletzt sein, weise den Ciphertext zurück. Im anderen Fall
wende die ElGamal-Dechiffrierung Decz (u, e) an, also m = e/uz . Ist der Ciphertext
(u, e, u2, v) korrekt gebildet, gilt
v = cr drα = (g xg2x2 )r (g y g2y2 )rα = ux+yα · ux2 2 +y2 α ,
| {z } | {z }
=(g r )x+yα (g2r )x2 +y2 α
so dass der Empfänger solche Ciphertexte stets akzeptiert.
Falls z2 6= 0 ist, also h = g z g2z2 , greift der Empfänger neben u auch auf u2 zurück,
um den Diffie-Hellman-Key hr = DHg (h, u) zu bestimmen:
hr = uz uz22 .
3. Sicherheitsbeweis
3.1. Übersicht. Angenommen, dass Cramer-Shoup-Schema sei nicht sicher gegen AdaptiveChosen-Ciphertext-Angriffe. Dann existiert ein prob. Polynomialzeit-Algorithmus A, der
1. zwei verschiedene Nachrichten m0 , m1 ∈ G wählt,
2. als Challenge Enc(mb ) mit b ∈R {0, 1} erhält und
3. mb bzw. b mit Hilfe des Decryption-Orakels ermittelt,
wobei die Erfolgswahrscheinlichheit mindestens 12 +δ für ein nicht vernachlässigbares ist. Wir
konstruieren aus diesem Angreifer A einen Unterscheider D, dessen Existenz der DecisionalDiffie-Hellman-Annahme widerspricht:
Lemma 3.1. Die Existenz eines Unterscheiders D mit nicht vernachlässigbarem Vorteil beim
Unterscheiden der beiden Verteilungen3
• R ist Gleichverteilung auf G4 und
• D ist die Verteilung der 4-Tupel (g1, g2, g1r , g2r) ∈ G4 für g1, g2 ∈R G und r ∈R Zq
widerspricht der Decisional-Diffie-Hellman-Annahme.
Beweis. Das Decisional-Diffie-Hellman-Problem ist mittels Transformation
(g a, g b, g c) 7→ (g, g a, g b, g c)
auf die Unterscheidung der beiden Verteilungen R und D reduzierbar.
Der Unterscheider D erhält die Eingabe
(g, g2, u, u2) ∈ G4
(3)
und soll entscheiden, ob diese gemäß R oder D verteilt ist. Dazu simuliere den Angreifer A
wie folgt:
1. Erzeuge einen Schlüssel für das Cramer-Shoup-Schema, übernimm g, g2 als Generatoren
der Gruppe G. Wähle z, z2, x, x2, y, y2 ∈R Zq als Secret-Key, den zugehörigen PublicKey bilden
h := g z g2z2
c := g xg2x2
d := g y g2y2 .
3
Der Unterschied zwischen beiden Verteilungen ist, dass für ein gemäß D verteiltes Tupel (g1 , g2 , u1 , u2 )
stets logg1 u1 = logg2 u2 gilt, während im Fall der Verteilung R dies nur mit exponentiell kleiner Wahrscheinlichkeit 1q gegeben ist.
4
Der Ciphertext (u, e, u2, v) einer Nachricht m besteht aus
u = gr
e = hr m
u2 = g2r
α = H(u, e, u2)
v = cr drα.
Um den Diffie-Hellman-Key hr = DHg (h, u) zu bestimmen, greift der Empfänger neben
u auch auf u2 zurück hr = uz uz22 . Falls man jedoch statt u2 = g2r abweichend u2 := g2r2
mit r2 ∈R Zq wählt und den Ciphertext sonst korrekt bildet, gilt:
DHg (h, u) = (g z g2z2 )r
(r −r)z2
uz uz22
= g rz g2rz2 · g2 2
= g rz g2rz2
(r −r)z2
= g2 2
· DHg (h, u).
(r −r)z
2
Statt des Diffie-Hellman-Keys DHg (h, u) wird g2 2
· DHg (h, u) verwendet und statt
(r −r)z2
m dar. Dabei wirkt
m stellt für den Empfänger der Ciphertext die Nachricht g2 2
(r2 −r)z2
wie ein echtes One-Time-Pad, denn aus dem Public-Key h := g z g2z2 erhält
g2
man keinerlei Informationen über z2 .
2. Der simulierte Angreifer A bestimmt zwei Nachrichten m0 , m1 aus. Wähle b ∈R {0, 1}
zufällige und bestimme als Challenge (u, e, u2, v) mit
e := uz · uz22 · mb
α := H(u, e, u2 )
x+yα
v := u
·
(4)
u2x2 +y2 α .
Sei r := logg u und r 2 := logg2 u.
3. Simuliere den Angreifer A. Das Decryption-Orakel können wir simulieren, weil uns der
geheime Schlüssel bekannt ist. Insbesondere werden nur Verschlüsselungen, welche die
Dechiffrier-Bedingung (2) erfüllen, akzeptiert.
4. Genau dann nimm an, die Eingabe (3) sei gemäß D verteilt, wenn der simulierte Angreifer A die Challenge besteht.
!
Falls r = r 2 , stellt die Challenge den Ciphertext Enc(h,c,d)(mb , r) dar. Im anderen Fall wollen
wir den Ciphertext als fehlerhaft“ bezeichnen:
”
Def inition 3.2 (Fehlerhafter bzw. ungültiger Ciphertext). Wir nennen einen Ciphertext (u, e, u2, v) ∈ G4 fehlerhaft, falls logg u 6= logg2 u2 . Der Ciphertext (u, e, u2, v) wird als
ungültig bezeichnet, wenn er fehlerhaft ist oder die Dechiffrier-Bedingung (2) nicht erfüllt.
Der sogenannte View des Angreifers A umfasst alle Daten, die der Angreifer sieht: die
öffentlichen Parameter, den öffenlichen Schlüssel und die Antworten des Decryption-Orakels.
Lemma 3.3. Sollte die Eingabe (3) gemäß D verteilt sein, ist die gemeinsame Verteilung
von b und View des simulierten Angreifers A statistisch ununterscheidbar von der im Fall
eines echten Angriffs.
Wenn die Eingabe (3) gemäß R verteilt ist, entspricht die Wahrscheinlichkeit, dass der
simulierte Angreifer die Challenge besteht, im wesentlichen der Rate-Wahrscheinlichkeit 12 ,
denn der (fehlerhafte) Ciphertext entspricht der Nachricht g (r−r2 )z2 mb für ein unbekanntes
z2 ∈R Zq anstatt mb .
Lemma 3.4. Sollte die Eingabe (3) gemäß R verteilt sein, ist die Verteilung von b unabhängig
vom View des Angreifers A, sofern das Decryption-Orakel fehlerhafte Ciphertexte nicht akzeptiert (Dieses tritt bis auf vernachlässigbare Wahrscheinlichkeit ein).
3. Sicherheitsbeweis
5
Aus Lemma 3.3 und Lemma 3.4 folgt unmittelbar:
Satz 3.5. Die Decisional-Diffie-Hellman-Annahme gelte für die Gruppe G, und H sei eine
kollisions-resistente Hashfunktion. Dann ist das Cramer-Shoup-Schema sicher gegen AdaptiveChosen-Ciphertext-Angriffe.
Man kann die Voraussetzungen bezüglich der Hash-Funktion H abschwächen. Es genügt,
H aus einer universellen Oneway-Familie H von Hash-Funktionen zuwählen [GS98]. In diesem
Fall ist es effizient nicht möglich, dass man x wählt, dann H ∈R H erhält und ein y 6= x mit
H(x) = H(y) findet. Man nennt diese Hash-Funktionen auch Target-Collision-resistent.
3.2. Beweis Lemma 3.3. Wir nehmen für den Beweis an, die Eingabe (g, g2, u, u2) ∈ G4
ist gemäß D verteilt. Wir zeigen, dass die gemeinsame Verteilung von b und dem View des
simulierten Angreifers A statistisch ununterscheidbar von der im Fall eines echten Angriffs
ist.
Die Verteilung des öffentlichen Schlüssels in der Simulation stimmt mit der im OriginalSchema überein. Die Challenge hat die gleiche Verteilung wie eine Verschlüsselung der Nachricht mb im Original-Schema, denn nach Wahl von h = g z g2z2 gilt
e = uz · uz22 · mb = hr · mb .
Betrachten wir das Verhalten des Decryption-Orakels. Gültige Verschlüsselung dekodiert
das Orakel sowohl in der Simulation als auch bei einem echten Angriff korrekt. Die folgende
Behauptung komplettiert die Aussage des Lemma 3.3:
Behauptung 3.6. Das Decryption-Orakel akzeptiert ungültige Ciphertexte sowohl in der Simulation als auch bei einem echten Angriff nur mit vernachlässigbarer Wahrscheinlichkeit.
Beweis. Sei w := logg g2. Betrachten wir die Verteilung des 4-Tupels S1 := (x, x2, y, y2) ∈ Zq
(einem Teil des Secret-Keys) gegeben den View des Angreifers. Aus Sicht des Angreifers,
d.h. gegeben die beiden Gruppenelemente c, d des öffentlichen Schlüssels, ist S1 zu Beginn ein
zufälliger Vektor aus der Lösungsmenge S1 des linearen Gleichungssystems
 
X

logg c
1 w 0 0 
X
2

·
=
(5)
0 0 1 w Y 
logg d
Y2
über dem Körper Zq . Der Ciphertext der Challenge liefert eine weitere Restriktion:
 




X
logg c
1 w
0
0
X2
 
0 0

1
w ·
 Y  = logg d
r rw r α r αw
logg v
Y2
Weil die Verschlüsselung korrekt gebildet ist, gilt v = cr · dr·α, also
logg v = r · logg c + r α · logg d.
Die dritte Gleichung ist eine Linearkombination der beiden ersten Gleichungen, und schränkt
folglich die Menge S1 aller möglichen S1 nicht ein. Aus Sicht des Angreifers A ist S1 nach
Erhalt der Challenge weiterhin eine zufällige Lösung aus einer Menge S1 der Kardinalität q 2.
Angenommen, A übergibt dem Decryption-Orakel einen ungültigen Ciphertext (u, e, u2, v) ∈
G4 zur Dekodierung. Sei r := logg u und r2 := logg2 u2 , d.h. wr2 = logg u2 und r 6= r2.
6
Das Orakel lehnt die Entschlüsselung ab, es sei denn, der Ciphertext erfüllt die DechiffrierBedingung (2). Dies ist äquivalent dazu, dass S1 eine Lösung der Gleichung
rX + wr2X2 + rαY + r2αY2 = logg v.
(6)
ist. Diese lineare Gleichung ist wegen r 6= r2 linear unabhängig von denen des linearen Gleichungssystems (5), im Durchschnitt beider Lösungsmengen liegen q Werte.
Zu Beginn ist für den Angreifer S1 eine zufällige Lösung aus der Menge S1 . Das DecryptionOrakel weist die Dechiffrierung des ersten, ungültigen Ciphertexts mit Wahrscheinlichkeit
q
q
1
= 1− 2 = 1−
1−
|S1 |
q
q
zurück. Der Angreifer A lernt, dass S1 nicht im Durchschnitt der Lösungsmenge der Gleichung (6) und S1 liegt, diese q Werte kommen für S1 nicht in Frage. Nach i − 1 Aufrufen
des Decryption-Orakels mit fehlerhaften Ciphertexten ist A in der Lage, höchstens (i − 1)q
Werte aus S1 auszuschließen. Folglich lehnt das Orakel die Dechiffrierung des i-ten, ungültigen
Ciphertexts mit Wahrscheinlichkeit mindestens
q
1
q
= 1−
=1−
1−
|S1 | − (i − 1)q
q(q − i + 1)
q−i+1
ab.
3.3. Beweis Lemma 3.4. Für den Beweis setzen wir voraus, die Eingabe (g, g2, u, u2) ∈ G4
ist gemäß R verteilt. Wir können annehmen, dass r 6= r 2 , weil diese Bedingung nur mit
exponentiell kleiner Wahrscheinlichkeit 1q eintritt. Wir zeigen:
1. Die Verteilung von b ist unabhängig vom View des Angreifers A, sofern das DecryptionOrakel fehlerhafte Ciphertexte nicht akzeptiert.
2. Das Decryption-Orakel akzeptiert fehlerhafte Ciphertexte nur mit vernachlässigbarer
Wahrscheinlichkeit.
Behauptung 3.7. Das Decryption-Orakel akzeptiere keine fehlerhaften Ciphertexte. Dann
ist die Verteilung von b unabhängig vom View des Angreifers A.
Beweis. Sei w := logg g2. Betrachten wir die Verteilung des Paares S2 := (z, z2) ∈ Zq (einem
Teil des Secret-Keys) gegeben den View des Angreifers. Aus Sicht des Angreifers, d.h. gegeben
das Gruppenelemente h des öffentlichen Schlüssels, ist S2 zu Beginn ein zufälliger Punkt aus
der Lösungsmenge S2 des linearen Gleichungssystems
Z
1 w ·
= logg h
(7)
Z2
über dem Körper Zq . Durch das Dechiffrieren eines Ciphertextes (u, e, u2, v) mit hr = ur ur2 =
g rz1 g2rz2 durch das Decryption-Orakel lernt der Angreifer A, dass S2 zusätzlich folgender
Gleichung genügt:
rZ1 + rwZ2 = r logg h
Diese Gleichung ist aber eine Linearkombination der Restriktion des Systems (7), so dass A
durch die Dechiffrierung keinerlei zusätzliche Informationen über S1 erhält.
Betrachte die Challenge (u, e, u2 , v) aus (4). Sei := uz1 uz22 also e = mb . Wegen der
Voraussetzung r 6= r2 ist die Gleichung
rZ1 + rwZ2 = logg 3. Sicherheitsbeweis
7
linear unabhängig von der Restriktion (7). Es gilt:
logg h
z
1 w
·
=
z2
logg r wr2
für eine 2 × 2-Matrix mit vollem Rang. h und sind folglich unabhängig und nach Wahl
von z, z1 ∈R Zq uniform verteilt. Das statt des Diffie-Hellman-Keys DHg (h, r) verwendete stellt ein perfektes One-Time-Pad dar, so dass die Verteilung von b unabhängig vom View
des Angreifers A ist.
Behauptung 3.8. Das Decryption-Orakel akzeptiert fehlerhafte Ciphertexte nur mit vernachlässigbarer Wahrscheinlichkeit.
Beweis. Sei w := logg g2. Wie im Beweis zu Lemma 3.3 betrachten wir die Verteilung des 4Tupels S1 := (x, x2, y, y2) ∈ Zq gegeben den View des Angreifers. Aus Sicht des Angreifers ist
S1 nach Erhalt der Challenge (4) ein zufälliger Vektor aus der Lösungsmenge S1 des linearen
Gleichungssystems
 




X
logg c
1 w
0
0
 X2 
 
0 0

1
w ·
(8)
 Y  = logg d
logg v
r r 2 w rα r 2αw
Y2
über dem Körper Zq .
Angenommen, A übergibt dem Decryption-Orakel einen fehlerhaften Ciphertext (u, e, u2, v) ∈
G4 zur Dekodierung. Es gilt (u, e, u2, v) 6= (u, e, u2 , v). Sei α := H(u, e, u2), ferner r := logg u
und r2 := logg2 u2 , d.h. wr2 = logg u2 und r 6= r2. Wir unterscheiden drei Fälle:
• Es gilt (u, e, u2) = (u, e, u2) und v 6= v. In diesem Fall sind die Hashwerte α =
H(u, e, u2) und α = H(u, e, u2 ) identisch, so dass
ux+yα · ux2 2 +y2 α = ux+yα · ux2 2 +y2 α = v
Aufgrund v 6= v ist daher die Dechiffrier-Bedingung (2) verletzt und das Orakel lehnt
den Ciphertext ab.
• Es gilt (u, e, u2) 6= (u, e, u2 ) und α 6= α. Das Orakel akzeptiert den (fehlerhaften)
Ciphertext (u, e, u2, v), nur wenn die Dechiffrier-Bedingung (2) erfüllt ist:
rx + wr2x2 + rαwy + r2αwy2 = logg v
Es gibt genau eine Lösung (x, x2, y, y2), die neben (8) diese Bedingung erfüllt, denn die
Koeffizientenmatrix zu
   


logg c
X
1 w
0
0
  

0 0
1
w 
 X2  logg d

r r2 w r α r2 αw ·  Y  = logg v 
r r2 w rα r2αw
Y2
logg v
hat vollen Rang (Die Determinante ist w2 (r2 − r1)(r2 − r1 )(α − α) 6= 0). Wie im
Beweis zu Lemma 3.3 folgt, dass das Orakel diesen fehlerhaften Ciphertext nur mit
vernachlässigbar kleiner Wahrscheinlichkeit akzeptiert.
• Es gilt (u, e, u2) 6= (u, e, u2 ) und α = α. In diesem Fall haben wir eine Kollision gefunden:
α = H(u, e, u2 ) = H(u, e, u2) = α.
Nach Wahl von H ist die Wahrscheinlichkeit für dieses Ereignis vernachlässigbar klein.
8
Literaturverzeichnis
[BR93]
M. Bellare und P. Rogaway: Random Oracles are Practical: a Paradigm for Designing Efficient
Protocols, First ACM Conference on Computer and Communication Security, ACM Press, Seiten
62–73, 1993.
[BR94]
M. Bellare und P. Rogaway: Optimal Asymmetric Encryption, Advances in Cryptology — Proceedings Eurocrypt ’94, Lecture Notes in Computer Science, Band 950, Springer-Verlag, Seiten
92–111, 1993.
[DH76]
W. Diffie und M. Hellman: New Directions in Cryptography, IEEE Transaction on Information
Theory, Band 22(6), Seiten 644–654, 1976.
[G85]
T. El Gamal: A Public Key Cryptosystem and Signature Scheme Based on the Discrete Logarithm,
IEEE Transaction on Information Theory, Band 31, Seiten 469–472, 1985.
[GS98]
R. Cramer und V. Shoup: A Practical Public Key Cryptosystem Provable Secure Against Adaptive
Chosen Ciphertext Attack, Advances in Cryptology — Proceedings Crypto ’98, Lecture Notes in
Computer Science, Band 1492, Springer-Verlag, Seiten 13–25, 1998.
[DDN00]
D. Dolev, C. Dwork und M. Naor: Non-Malleable Cryptography, akzeptierte Journal-Version,
Januar 2000. Verläufige Version in Proceedings of 21. Annual ACM Symposium on Theory of
Computing (STOC), ACM Press, Seiten 542–552, 1991.
[GM84]
S. Goldwasser und S. Micali: Probabilistic Encryption, Journal of Computer and System Science,
Band 28, Seiten 270–299, 1984.
[NR97]
N. Naor und O. Reingold: Number-Theoretic Construction of Efficient Pseudo-Random Functions, Proceedings of 38. IEEE Symposium on Foundations of Computer Science (FOCS), IEEE
Computer Society Press, Seiten 80–91, 1997.
[RS91]
C. Rackoff und D. Simon: Non-iteractive Zero-Knowledge Proof of Knowledge and Chosen Ciphertext Attacks, Advances in Cryptology — Proceedings Crypto ’91, Lecture Notes in Computer
Science, Band 576, Springer-Verlag, Seiten 433–444, 1991.
9
Herunterladen