Algorithmische Kryptographie Kapitel 15
Elektronische Wahlen 2
Walter Unger
Lehrstuhl f¨ur Informatik 1
30. Januar 2009
Threshold-Scheme und Homomorphe Verschl¨usselung Definition und Aussagen
Aufbau Bemerkungen
Homomorphe Verschl¨usselung
Durch ein Zentrum aufgebautes Wahlsystem Einleitung
Aufbau
Test der Angaben der Ausz¨ahler
Wahlsystem ohne Zentrum Verteiler Aufbau von ElGamal
Verteilter Aufbau des Threshold-Scheme
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
(15:1) Walter Unger Z
Ideen, Ziele
I
Wahlsystem, bei dem verschl¨ usselte Stimmen addiert werden.
I
Wahlsystem, mit Ausfallsicherheit.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Definition und Aussagen (15:2) Walter Unger Z
(t, n)-Threshold-Scheme
Definition
Ein (t,n)-Threshold-Scheme (t6n) ist ein System ausnTeilnehmern mit folgenden Eigenschaften.
1. Jeder Teilnehmeri ∈T hat ein Geheimnissi. 2. Es gibt ein daraus zu bestimmendes Geheimniss.
3. Jede TeilmengeT von Teilnehmern mit|T|>tkann das Geheimniss gemeinsam bestimmen.
4. Jede TeilmengeT von Teilnehmern mit|T|<tkann das Geheimniss nicht gemeinsam bestimmen.
Solch ein System kann ¨uber Polynome vom Gradt−1 aufgebaut werden.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Definition und Aussagen (15:3) Walter Unger Z
Polynome vom Grad t − 1
Lemma
Sei f(X) =Pt−1
i=0 aiXi ∈ZZp[X]ein Polynom vom Grad t−1. Sei weiter:
P:={(xi,f(xi))|xi∈ZZp,i= 1, . . . ,t,xi 6=xjf¨ur i6=j}
F¨urQ ⊂ P setze:
PQ:={g∈ZZp[X]|deg(g) =t−1,g(x) =y,∀(x,y)∈ Q}
Dann gilt:
1. PP={f(X)}.
2. FallsQ(Pund x6= 0 f¨ur alle(x,y)∈ Q, dann ist die Verteilung der konstanten Anteile der Polynome gleich der eines a∈ZZp. D.h. die konstanten Anteile der Polynome sind nicht zu unterscheiden.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Definition und Aussagen (15:4) Walter Unger Z
Beweis (Teil 1)
Beachte: zur Bestimmung derg(X) =Pt−1
i=0biXi ∈ZZp[X] durchmPunkte (xi,yi) ist das folgende System zu l¨osen:
0 B B B B B B B
@
1 x1
.. . x1t−1 1 x2
.. . x2t−1
· · · . .. · · · 1 xm
.. . xmt−1
1 C C C C C C C A
| {z }
=A
0 B B
@ b0
b1
· · · bt−1
1 C C A
= 0 B B
@ y1
y2
· · · ym
1 C C A
Fallsm=tdann istAeine Vandermonde Matrix mit det(A) = Y
16i<j6t
(xi−xj)6= 0 fallsxi 6=xj f¨uri 6=j.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Definition und Aussagen (15:5) Walter Unger Z
Beweis (Teil 2)
Falls nunQ(PundQ={(x1,y1),(x2,y2), . . . ,(xm,ym)}mit 16m6t−1 dann betrachten wir:
0 B B B B B B B B B B
@
1 0 ... 0
1 x1
.. . x1t−1 1 x2
.. . x2t−1
· · · . .. · · · 1 xm
.. . xmt−1
1 C C C C C C C C C C A
| {z }
=A
0 B B
@ b0
b1
· · · bt−1
1 C C A
= 0 B B B B
@ a y1
y2
· · · ym
1 C C C C A
I Die Zeilen sind aus einer Vandermonde Matrix, daher linear unabh¨angig (beachtexi6= 0).
I Damit gibt es eine L¨osung f¨ur jedesa∈ZZp.
I Weiterhin ist der Rang der Matrixm+ 1 unabh¨angig vona.
I Damit sind die konstanten Anteile der Polynome nicht zu unterscheiden.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Definition und Aussagen (15:6) Walter Unger Z
Folgerung
Lemma
Sei f(X) =Pt−1
i=0 aiXi ∈ZZp[X]ein Polynom vom Grad t−1.
Sei weiter:P:={(xi,f(xi))|i= 1, . . . ,t,xi 6=xjf¨ur i6=j}.
Dann gilt (Lagrange Interpolation):
f(X) =
t
X
i=1
f(xi) Y
16j6t,i6=j
X−xj
xi−xj
Beweis.
1. Beachte die rechte Seite ist ein Polynom vom Gradt−1.
2. Falls man dortX durchxi ersetzt, dann giltf(xi) =g(xi).
3. Wegen der Eindeutigkeit des Polynoms folgt dann die Behauptung.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:7) Walter Unger Z
Aufbau des (t, n)-Threshold-Scheme
f(X) =Pt i=1f(xi)Q
16j6t,i6=j X−xj xi−xj
Damit kann nun Shamirs (t, n)-Threshold-Scheme aufgebaut werden.
Ein vertrauensw¨ urdiges Zentrum T f¨ uhrt die folgenden Schritte durch:
1. W¨ ahlt Geheimnis s .
2. W¨ ahlt p Primzahl mit p > max(s, n) und setzt a
0= s . 3. W¨ ahlt a
1, a
2, . . . , a
t−1∈ {0, . . . , p − 1} zuf¨ allig.
4. Setzt f (X ) = P
t−1 i=0a
iX
i.
5. Bestimmt s
i= f (i), i ∈ {1, . . . , n}.
Bemerkung geht auch analog mit x
1, . . . , x
n.
6. Sendet (i, s
i) an Teilnehmer P
i.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Bemerkungen (15:8) Walter Unger Z
Auswertung und Bemerkungen
f(X) =Pt i=1f(xi)Q
16j6t,i6=j X−xj xi−xj
Sei J ⊂ {1, . . . , n} mit |J| > t , dann gilt
s = a
0= f (0) = X
i∈J
f (i ) Y
j∈J,j6=i
j
j − i = X
i∈J
s
iY
j∈J,j6=i
j j − i
Bemerkungen:
1. Das Shamir (t, n)-Threshold-Scheme ist perfekt: mit weniger als t Teilnehmern kann keine Information ¨ uber s bestimmt werden.
2. Es ist leicht um neue Teilnehmer erweiterbar, d.h. n kann leicht erh¨ oht werden.
3. Zur Gewichtung kann ein Teilnehmer mehrere Geheimnisse
bekommen.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Homomorphe Verschl¨usselung (15:9) Walter Unger Z
Erinnerung
Aufbau: p, q Prinzahlen mit q teilt p − 1, G Untergruppe der Ordnung q in Z Z
∗p, g , v Generatoren in G zuf¨ allig.
P: m ∈ {0, . . . , q − 1} V:
w¨ ahle r ∈ {0, . . . , q − 1}
c := g
rv
mmod p c
-r, m
-
Test c ≡
?g
rv
m(mod p)
Wir bezeichnen nun Com(r, m) := g
rv
m.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Homomorphe Verschl¨usselung (15:10) Walter Unger Z
Homomorphe Systeme
Com(r,m) :=grvm
Sei r
1, r
2, m
1, m
2∈ {0, . . . , q − 1}, dann gilt:
Com(r
1, m
1) · Com(r
2, m
2) = g
r1v
m1g
r2v
m2= g
r1g
r2v
m1v
m2= g
r1+r2v
m1+m2= Com(r
1+ r
2, m
1+ m
2)
I
Damit haben wir ein homomorphes Commitment-Schema.
I
Das k¨ onnen wir als Grundlage f¨ ur Wahlen verwenden.
I
Stimme wird in m
ikodiert.
I
Ausz¨ ahlung der Stimmen geht ohne das ¨ Offnen der
Einzelstimmen.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Homomorphe Verschl¨usselung (15:11) Walter Unger Z
Idee zur Wahl mit Homomorphen System
Com(r,m) :=grvm
I
W¨ ahler i w¨ ahlt m
i∈ {0, 1} und Zufallszahl r
i∈ {0, . . . q − 1}.
I
W¨ ahler i bestimmt c
i:= g
riv
mi.
I
W¨ ahler i ver¨ offentlicht c
i.
I
W¨ ahler i verschl¨ usselt f¨ ur T den Wert E
T(g
ri).
I
T bestimmt:
D
T(
n
Y
i=1
E
T(g
ri)) =
n
Y
i=1
g
ri= g
Pni=1riI
T ver¨ offentlicht: g
Pni=1ri.
I
Jeder W¨ ahler kann bestimmen:
Q
ni=1
c
ig
Pni=1ri=
Q
ni=1
g
riv
mig
Pni=1ri= g
Pni=1riv
Pni=1mig
Pni=1ri= v
Pni=1miThreshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Einleitung (15:12) Walter Unger Z
Einleitung
Com(r,m) :=grvm
I
Wir betrachten hier ja–nein Wahlen.
I
Das System wird durch ein vertrauensw¨ urdiges Zentrum aufgebaut.
I
Dies Zentrum bestimmt die n Ausz¨ ahler.
I
Das System ist sicher, solange sich nicht t der Ausz¨ ahler zusammentun.
I
Weiterhin ist es robust, d.h. solange mindestens t Ausz¨ ahler arbeiten und kein Aus¨ ahler absichtlich fehlerhafte Information abliefert, kann die Wahl durchgef¨ uhrt werden.
I
Die Kommunikation erfolgt ¨ uber ein Bulletin Board, ist also
¨ offentlich.
I
Beteiligt sind: das Zentrum T ,
n Ausz¨ ahler A
1, A
2, . . . , A
nund m W¨ ahler V
1, V
2, . . . , V
m.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:13) Walter Unger Z
Verschl¨ usselungssystem
Com(r,m) :=grvm
T: B:
w¨ahltp,qPrimzahlen qgroßer Teiler vonp−1
G Untergruppe von ZZ∗p der Ordnungq w¨ahltg Generator inG
w¨ahlts∈ {0, . . . ,q−1}zuf¨allig h:=gs
p,h,g
- p,h,g
Damit haben wir ein ElGamal System.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:14) Walter Unger Z
Eigenschaften
gGenerator inG h:=gs
I Einm∈G wird verschl¨usselt mit (c1,c2) = (gα,hαm) mit einem zuf¨allig gew¨ahltenα∈ {0, . . . ,q−1}.
I Die Entschl¨usselung erfolgt ¨ubersdurchm=c2c1−s. I Diese Verschl¨usselung ist homomorph:
I Sei (c1,c2) und (c10,c20) Verschl¨usselung vonmundm0.
I Dann gilt:
(c1,c2)(c10,c20) = (c1c10,c2c20)
= (gαgα0,hαmhα0m0)
= (gα+α0,hα+α0mm0)
= Verschl¨usselung vonmm0
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:15) Walter Unger Z
Aufbau
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
Zentrum T: B:
bestimmt Shamir
(t,n)-Threshold-Scheme d.h. (j,sj) f¨ur 16j6n
hj:=gsj f¨ur 16j6n (j,hj)
16j6n- (j,hj), 16j6n
Sodann werden noch die Teilgeheimnisse ¨uber einen sicheren Kanal an die Ausz¨ahler verteilt:
Zentrum T: Aj:∈ {1, . . . ,n}
(j,sj,hj), 16j6n
(j,sj)
- (j,sj)
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:16) Walter Unger Z
Entschl¨ usselung
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
Damit kann nun ein (c1,c2) = (gα,hαm) mit Hilfe derAi entschl¨usselt werden, ohnes explizit zu bestimmen.
Aj:∈ {1, . . . ,n},(j,sj) B:(c1,c2) = (gα,hαm) (c1,c2)
wj:=c1sj wj
-
J={j|Aj ehrlich geantwortet}
c1s=c
P j∈Jsjλj,J 1
=Q
j∈J(c1sj)λj,J
=Q
j∈Jwjλj,J mit:λj,J =Q
l∈J,l6=j l l−j
m=c2c1−s
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:17) Walter Unger Z
Uberblick ¨
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
Damit k¨onnen wir mit dem Wahlsystem weiter machen. Dazu benutzen wir als Idee das oben vorgestellte System zur Entschl¨usselung.
I Jeder W¨ahler w¨ahltαi zuf¨allig.
I Jeder W¨ahlerVi w¨ahltvi ∈ {−1,1}und verschl¨usselt seine Wahl durch gvi,
I d.h. durchci = (ci,1,ci,2) = (gαi,hαigvi) I und ver¨offentlich dies mit einer Unterschrift.
I Weiterhin wird abgesichert, dassvi ∈ {−1,1}gilt.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:18) Walter Unger Z
Protokoll
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
Vj:∈ {1, . . . ,m} B:
w¨ahltvi ∈ {−1,1}
ci= (ci,1,ci,2) = (gαi,hαigvi) ci
- ci
Unterschreibtci
--
Beweistvi∈ {−1,1}
--
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:19) Walter Unger Z
Ausz¨ ahlen
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
Aj:(j,sj) B:ci= (ci,1,ci,2), 16i 6m c= (c1,c2) = (Qm
i=1ci,1,Qm i=1ci,2) c ist Verschl¨usselung vongd mitd=Pm
i=1vi
(c1,c2) wj:=c1sj wj
-
Beweist wj:=csj1
-- J={j|Aj ehrlich geantwortet}
c1s=c
P j∈Jsjλj,J
1 =Q
j∈J(c1sj)λj,J =Q
j∈Jwjλj,J mit:λj,J =Q
l∈J,l6=j l l−j
gd=c2c1−s
f¨ur allex ∈ {−m, . . . ,m}testegx=? c2c1−s Wahlergebnisemit:ge =? c2c1−s
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Aufbau (15:20) Walter Unger Z
Zwischenbemerkungen
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
1. Der Test ¨uber die Ehrlichkeit vonTi undVi wird im Folgenden betrachtet.
2. Die Sicherheit und Ausfallsicherheit ergibt sich ¨uber Shamirs (t,n)-Threshold-Scheme.
3. Weitere Sicherheit ergibt sich ¨uber das verwendete ElGamal Verschl¨usselungsverfahren, d.h. Sicherheit ¨uber Schwierigkeit des Diffie-Hellman-Problems.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:21) Walter Unger Z
Test der Angaben der Ausz¨ ahler
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
1. Ein Ausz¨ahlerAj muss zeigen, dasswj
=? c1sj gilt.
2. Dabei ist bekannt, dasshj=gsj gilt.
3. D.h. es ist zu zeigen, dass der diskrete Logarithmus gleich ist f¨urhj und wj.
4. Damit ist ein Protokoll anzugeben, das zeigt, dassy1=g1x undy2=g2x
gilt.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:22) Walter Unger Z
Test der Angaben der Ausz¨ ahler
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
P:x,y1,y2,g1,g2,p,q V:y1,y2,g1,g2,p,q Es gilt:y1=g1x undy2=g2x.
r∈ {0, . . . ,q−1}zuf¨allig
a:= (a1,a2) := (g1r,g2r) -a
c c∈ {0, . . . ,q−1}zuf¨allig
b:=r−cx b
-
Teste:a1
≡? g1by1c (modp) Teste:a2
≡? g2by2c (modp)
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:23) Walter Unger Z
Aussagen
gGenerator inG h:=gs (c1,c2) = (gα,hαm) P:x,y1,y2,g1,g2,p,q V:y1,y2,g1,g2,p,q
Es gilt:y1=g1xundy2=g2x. r∈ {0, . . . ,q−1}zuf¨allig a:= (a1,a2) := (g1r,g2r) a
- c∈ {0, . . . ,q−1}zuf¨allig
b:=r−cx c
-b Teste:a1
≡?g1by1c (modp)
Teste:a2≡?g2by2c (modp)
Lemma
F¨ur das obige Protokoll gilt:
1. Wenn P x kennt, dann kann P V ¨uberzeugen.
2. Wenn V mit Wahrscheinlichkeit>1/p ¨uberzeugt wird, dann kennt P x .
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:24) Walter Unger Z
Beweis
gGenerator inG h:=gs (c1,c2) = (gα,hαm) P:x,y1,y2,g1,g2,p,q V:y1,y2,g1,g2,p,q
Es gilt:y1=g1xundy2=g2x. r∈ {0, . . . ,q−1}zuf¨allig
a:= (a1,a2) := (g1r,g2r) a
- c∈ {0, . . . ,q−1}zuf¨allig
b:=r−cx c
b - Teste:a1
≡? g1by1c (modp)
Teste:a2≡? g2by2c (modp)
Wir betrachten zuerst die M¨oglichkeit f¨urP0 zu betr¨ugen.
P0:x,y1,y2,g1,g2,p,q V:y1,y2,g1,g2,p,q r,˜c∈ {0, . . . ,q−1}zuf¨allig
a:= (a1,a2) := (g1ry1˜c,g2ry2c˜) a-
c c∈ {0, . . . ,q−1}zuf¨allig
b:=r−cx b-
teste:g1ry˜c≡a1
≡? g1by1c (modp) teste:g2ry˜c≡a2
≡? g2by2c (modp) Betrug ist erfolgreich, fallsc= ˜c
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:25) Walter Unger Z
Beweis
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
Nun betrachten wir den Fall, dassP0mit Wahrscheinlichkeit>1/p betrogen wird. Dann ergibt sich folgende Beweiskette:
1. P0 kann zwei Anfragen f¨ur einabeantworten.
2. P0 kann f¨ura:= (a1,a2) und zwei Anfragenc,˜cbeantworten.
3. P0 kann berechnenb,b˜mit
a1=g1ry1c a2=g2ry2c a1=g1ry1˜c a2=g2ry2˜c
4. P0 kann berechneng1˜b−b=yc−˜c undg2b−b˜ =y2c−˜c. 5. P0 kann berechnen b−b˜c−˜c = logg
1(y1) = logg
2(y2).
6. P0 kannx berechnen und das ist ein Widerspruch zur Annahme.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:26) Walter Unger Z
Bemerkungen
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
1. Es ist nicht bekannt, ob obiges Protokoll ein Zero-Knowledge-Proof ist.
2. Es ist aber ein Ehrlicher-Verifizierer Zero-Knowledge-Proof.
3. D.h. es ist Zero-Knowledge wenn man annimmt, dassV immer c∈ {0, . . . ,q−1}wirklich zuf¨allig w¨ahlt.
4. Dann ist folgende Simulation der Kommunikation m¨oglich:
4.1 W¨ahle ˜b∈ {0, . . . ,q−1}zuf¨allig
4.2 W¨ahle ˜c∈ {0, . . . ,q−1}zuf¨allig (Ehrlicher-Verifizierer) 4.3 Setze ˜a1:=g1˜by1c˜.
4.4 Setze ˜a2:=g2˜by2c˜. Return (˜a1,˜a2,c,˜ ˜b).
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:27) Walter Unger Z
Bemerkungen
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
1. Dieses Transcript (˜a1,˜a2,˜c,b) ist ein akzeptierendes Transcript.˜ 2. Beachte weiter, dass alle Elemente zuf¨allig gew¨ahlt worden sind, wie die
Elemente eines durch (P,V) erzeugten Transcripts.
3. Diese Eigenschaft, dass das Protokoll ein Ehrlicher-Verifizierer Zero-Knowledge-Proof ist, kann ausgenutzt werden, um den Test der Angaben der Ausz¨ahler sicher zu machen.
4. Dazu wird obiges Protokoll in ein nicht-interaktives Protokoll ¨ubergef¨uhrt.
5. Sei dazuh:{0,1}∗→ZZp eine kollisionssichere Hashfunktion.
6. Damit werden nun ausy1,y2,g1,g2werdenc,b bestimmt.
7. Das entspricht dann einem ehrlichen Verifizierer.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Test der Angaben der Ausz¨ahler (15:28) Walter Unger Z
Nicht–interaktives Protokoll
gGenerator inG h:=gs (c1,c2) = (gα,hαm) P:x,y1,y2,g1,g2,p,q V:y1,y2,g1,g2,p,q
Es gilt:y1=g1xundy2=g2x. r∈ {0, . . . ,q−1}zuf¨allig a:= (a1,a2) := (g1r,g2r) a
- c∈ {0, . . . ,q−1}zuf¨allig
b:=r−cx c
-b Teste:a1
≡?g1by1c (modp)
Teste:a2≡?g2by2c (modp)
P:x,y1,y2,g1,g2,p,q V:y1,y2,g1,g2,p,q Es gilt:y1=g1x undy2=g2x.
r∈ {0, . . . ,q−1}zuf¨allig a:= (a1,a2) := (g1r,g2r)
c:=h(g1y1g2y2a1a2) c,b -
c=? h(g1y1g2y2g1by1cg2by2c)
Dieses Protokoll ist dann vom Sicherheitsaspekt her betrachtet ausreichend, denn es beinhaltet einen Ehrlicher-Verifizierer Zero-Knowledge-Proof.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
(15:29) Walter Unger Z
Einleitung
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
1. Um solch ein Protokoll anzugeben, reicht es aus, das Zentrum T zu eleminieren.
2. Dazu werden die Aufgaben des Zentrums T auf die n Ausz¨ ahler verteilt.
3. Die erste Aufgabe das Zentrums, das Erstellen eines ElGamal
Verschl¨ usselungsverfahrens, kann wie folgt von A
1, A
2, . . . , A
nausgef¨ uhrt werden.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Verteiler Aufbau von ElGamal (15:30) Walter Unger Z
Verteiler Aufbau von ElGamal
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
1. AlleAi einigen sich auf einen AlgorithmusAs zur Schl¨usselerzeugung mit Zufallseingaber.
2. JedesAi w¨ahltri und bestimmtci =LockableBox(ri).
3. AlleAi ver¨offentlichenci. 4. AlleAi ver¨offentlichenri.
5. AlleAi testencj=LockableBox(rj).
6. AlleAi bestimmenr:=⊕nr=1ri.
7. AlleAi nutzenAs ump,q,g zu bestimmen.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Verteiler Aufbau von ElGamal (15:31) Walter Unger Z
Verteiler Aufbau von ElGamal (2.Teil)
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
1. JedesAi w¨ahlt seinen geheimen Schl¨usselxi∈ {0, . . . ,q−1}und setzt
hi := gxi und
ci := LockableBox(hi).
2. AlleAi ver¨offentlichenci.
3. ¨Uber geheimen Kanal ¨offen alleAi ihreci. 4. JedesAi bestimmth:=Qn
r=1hi den gemeinsamen ¨offentlichen Schl¨ussel.
5. Bemerkung: der geheime Schl¨ussel ist dannx:=Pn r=1xi.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Verteilter Aufbau des Threshold-Scheme (15:32) Walter Unger Z
Idee
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
x:=Pn r=1xi
1. Im Weiteren muss noch das (t,n)-Threshold-Scheme von denAi
aufgebaut werden.
2. Dazu wird f¨ur jedes derAi ein eigenes (t,n)-Threshold-Scheme bestimmt und
3. diese dann zu einem gemeinsamen (t,n)-Threshold-Scheme zusammengefasst.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Verteilter Aufbau des Threshold-Scheme (15:33) Walter Unger Z
Idee
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
x:=Pn r=1xi
f(X) = x +a1·X +a2·X2 +a3·X3 +a4·X4
↑ ↑ ↑ ↑ ↑
A1: f1(X) = x1 +a1,1·X +a1,2·X2 +a1,3·X3 +a1,4·X4 A2: f2(X) = x2 +a2,2·X +a2,2·X2 +a2,3·X3 +a2,4·X4 A3: f3(X) = x3 +a3,2·X +a3,2·X2 +a3,3·X3 +a3,4·X4
..
. ... ... ... ... ... ... ... An: f3(X) = xn +an,2·X +an,2·X2 +an,3·X3 +an,4·X4 Damit ist das Geheimnisx schon auf die Teilnehmer verteilt.
Idee: Verteile die Anteile der St¨utzstellen der pers¨onlichen Polynome an die Teilnehmer.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Verteilter Aufbau des Threshold-Scheme (15:34) Walter Unger Z
Idee
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
x:=Pn r=1xi
1. D.h.Ai bestimmtfi(X)∈ZZp[X] ein Polynom vom Gradt−1 mitfi(0) =xi.
2. Dann ergibt sich das gemeinsame Polynom f(X) :=
t−1
X
i=0
fi(X) mitf(0) =x. 3. Dabei muss noch sichergestellt werden,
dassf(X) vom Gradt−1 ist.
4. Der Anteil vonAjist dann (j,f(j)) mitf(j) =Pt−1 i=0 fi(j).
5. Wichtig: Die Korrektheit der Rechnungen muss getestet werden.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Verteilter Aufbau des Threshold-Scheme (15:35) Walter Unger Z
Verteilter Aufbau des (t, n)-Threshold-Scheme
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
x:=Pn r=1xi
1. AlleAi w¨ahlenpPrimzahl mitp>max(x,n) d.h.p>max(n·xi,n).
2. JedesAi w¨ahltfi,j∈ {0, . . . ,p−1}f¨urj= 1, . . . ,t−1 und setzt fi,0:=xi. Dann wird gesetzt:
fi(X) := Pt−1 j=0fi,jXj 3. AlleAi setzenFi,j:=gfi,j
und ver¨offentlichen diese f¨urj= 1, . . . ,t−1.
4. AlleAi testen, obPn
i=1fi(x) einen Grad vont−1 hat.
Dazu wird getestet, obQn i=1Fi,t−1
?
6= 1 (Also:Pn i=1fi,t−1
?
6= 0).
5. JedesAi verteiltsi,l =fi(l) an die anderenAl ¨uber sichere Kan¨ale.
6. JedesAi testet, ob die empfangenensl,i die richtigen sind.
D.h.Ai testetgsl,i =? Qt−1
j=0(Fl,j)i j (Also:fl(i)=? Pt−1 j=0fj,lij).
7. JedesAi setztsi :=Pn l=1sl,i.
8. JedesAi signiert bei fehlerfreien Ablauf dash.
Threshold-Scheme und Homomorphe Verschl¨usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum
Verteilter Aufbau des Threshold-Scheme (15:36) Walter Unger Z
Fragen
gGenerator inG h:=gs (c1,c2) = (gα,hαm)
x:=Pn r=1xi
I
Wozu dient eine Homomorphe Verschl¨ usselung?
I
Wozu dient ein (t, n)-Threshold-Scheme?
I
Wie baut man ein (t, n)-Threshold-Scheme?
I
Was ist die Idee des obigen Wahlverfahrens?
I
Wie ist die Idee des gemeinsamen Aufbau eines Verschl¨ usselungsverfahrens?
I