Algorithmische Kryptographie Kapitel 14
Elektronische Wahlen 1
Walter Unger
Lehrstuhl f¨ ur Informatik 1
30. Januar 2009
Einleitung und einfache Wahlverfahren Anforderungen
Protokoll mit vertrauensw¨ urdigem Ausz¨ ahler und Legitimator
Protokoll 2
Protokoll mit vertrauensunw¨ urdigem Legitimator W¨ ahlen durch gegenseitiges Mischen
Protokoll 3
Verfahren mit m¨ oglichen Stimmenkauf
Protokoll 4
Verfahren ohne m¨ oglichen Stimmenkauf
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Anforderungen (14:1) Walter Unger Z
Anforderungen
I Der einzelne W¨ ahler soll anonym und geheim w¨ ahlen.
I Die Entscheidung, ob man w¨ ahlt, soll frei bleiben.
I Die Tatsache, ob man w¨ ahlt, soll geheim bleiben.
I Die Wahlen sollen nachvollziehbar verlaufen.
I Die Stimmen sollen gleich z¨ ahlen (niemand darf etwa mehrfach w¨ ahlen).
I Die Abgabe falscher Stimmen sollte erkannt werden.
I Die Stimmen d¨ urfen [nicht] ver¨ andert werden.
I Man sollte seine eigene Stimme wiedererkennen k¨ onnen.
I Man sollte keinem Dritten, die eigene Stimmabgabe zeigen k¨ onnen.
I Die Kosten zur Wahldurchf¨ uhrung sollten nicht zu hoch sein.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Anforderungen (14:2) Walter Unger Z
M¨ oglichkeiten
I Man nutzt eine vertrauensw¨ urdige Person, die die Identit¨ at testet und die Stimmen ausz¨ ahlt. Hier besteht die Gefahr, dass die Stimme der Person zugeordnet werden kann.
I Mit zwei unabh¨ angigen vertrauensw¨ urdigen Personen arbeiten, dem Ausz¨ ahler C und dem Legitimator L.
I Man verteilt die Ausz¨ ahlung auf alle Teilnehmer.
I Man verteilt die Ausz¨ ahlung auf viele ¨ uberwiegend
vertrauensw¨ urdige Personen.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Protokoll mit vertrauensw¨urdigem Ausz¨ahler und Legitimator (14:3) Walter Unger Z
Idee zum Protokoll
Beteiligt sind W¨ ahler A j , (1 6 j 6 n) C , L und K die Menge der Kandidaten.
Das Protokoll l¨ auft in drei Schritten ab:
1. Zun¨ achst identifiziert sich der W¨ ahler A j bei L.
L erzeugt i(A j ) und leitet dieses i(A j ) an C und A j weiter.
2. Der W¨ ahler A j w¨ ahlt v(A j ) ∈ K (Kandidatenwahl) und bestimmt ein geheimes s (A j ).
Er sendet anonym – z.B. ¨ uber L – sein v (A i ) und s(A i ) an C.
3. C wertet aus:
In einer Tabelle werden die s (A j ) den jeweils gew¨ ahlten Kandidaten zugeordnet und ver¨ offentlicht.
4. Nun kann jeder W¨ ahler A j nachsehen, ob sich ,,sein” s(A j ) in
der richtigen Liste des Kanditaten v (A j ) befindet.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Protokoll mit vertrauensw¨urdigem Ausz¨ahler und Legitimator (14:4) Walter Unger Z
1. Protokoll mit L, C und A j (1 6 j 6 t)
Aj(16j6n),C,L
A
j: E
L, E
CL: E
L, D
L, E
C IdentifikationProtokoll
- -
bestimmt i (A
j) i(A
j)
stimmt ab, d.h. w¨ ahlt v (A
j) ∈ K bestimmt Geheimnis s(A
j)
W
j= E
L(E
C((i (A
j), v (A
j), s (A
j)))) W
j-
V
j= D
L(W
j)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Protokoll mit vertrauensw¨urdigem Ausz¨ahler und Legitimator (14:5) Walter Unger Z
1. Protokoll mit L, C und A j (1 6 j 6 t)
Aj(16j6n),C,L
C: E
L, D
L, E
CL: E
L, D
L, E
Ckennt i(A
j) (1 6 j 6 t)
kennt V
j= E
C((i (A
j), v (A
j), s (A
j))) bestimmt I = {i (A
j) | 1 6 j 6 n}
I , V
bestimmt V = {V
l| 1 6 l 6 n}
bestimmt f¨ ur x ∈ K
S
x= {t | ∃y ∈ V ∧ z ∈ I : y = (z, x, t)}
ver¨ offenlicht die S
x.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Protokoll mit vertrauensw¨urdigem Ausz¨ahler und Legitimator (14:6) Walter Unger Z
Sicherheitsaspekte
Aj(16j6n),C,L
Aj:EL,EC L:EL,DL,EC
Identifikation
Protokoll
- -
bestimmti(Aj)stimmt ab, d.h. w¨ahltv(Aj)∈ K i(Aj) bestimmt Geheimniss(Aj)
Wj=EL(EC((i(Aj),v(Aj),s(Aj)))) Wj
-
Vj=DL(Wj)C:EL,DC,EC L:EL,DL,EC
kennti(Aj)(16j6t)
kenntVj=EC((i(Aj),v(Aj),s(Aj))) bestimmtI={i(Aj)|16j6n}
bestimmt f¨urx∈ K I,V
bestimmtV={Vj|16j6n}Sx={s| ∃v∈V∧i∈I:v= (i,x,s)}
ver¨offenlicht dieSx.
Es d¨urfen nur registrierte W¨ahler w¨ahlen (Identit¨atspr¨ufung).
NurLkann zus¨atzliche Stimmen erzeugen.Alle Teilnehmer bekommen die Information ¨uber den Ausgang der Wahl (d.h. kein Ausschluß).Werden die Informationen an die richtige Person gesandt (L / C)?Kann die Information (nachtr¨aglich) ver¨andert werden?Kann jemand behaupten, die Information nicht gesendet / nicht bekommen zu haben?C und L d¨urfen nicht gemeinsam handeln.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Protokoll mit vertrauensw¨urdigem Ausz¨ahler und Legitimator (14:7) Walter Unger Z
Sicherheitsaspekte
Aj(16j6n),C,L
I Es d¨ urfen nur registrierte W¨ ahler w¨ ahlen (Identit¨ atspr¨ ufung) Nur L kann zus¨ atzliche Stimmen erzeugen.
I Alle Teilnehmer bekommen die Informationn ¨ uber den Ausgang der Wahl (d.h. kein Ausschluß).
I Werden die Informationen an die richtige Person gesandt (L / C)?
I Kann die Information (nachtr¨ aglich) ver¨ andert werden?
I Kann jemand behaupten, die Information nicht gesendet / nicht bekommen zu haben?
I C und L d¨ urfen nicht gemeinsam handeln.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Protokoll mit vertrauensunw¨urdigem Legitimator (14:8) Walter Unger Z
2. Protokoll
Aj(16j6n),L
I L bestimmt hierbei nach der Identifikation Token t
x, 1 6 x 6 n
k. I L bestimmt endliche Menge S und eine Einwegpermutation f auf S.
I Der W¨ ahler A
jbestimmt i (A
j) und nimmt ein Token t
i(Aj), L weiß aber nicht, welches.
I Der W¨ ahler A
jbestimmt zuf¨ allig s ∈ S.
I Der W¨ ahler A
jw¨ ahlt Kandidat v
j.
I Der W¨ ahler A
jsendet anonym (v
j, f (s), t
i(Aj)) = (v , y , i ) an L.
I Dieser testet und ver¨ offentlicht v
jund s.
I Beachte: Online-Wahl ist m¨ oglich.
I Bei einer Ver¨ anderung schickt man (v
0, f (s
0), i , s ).
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Protokoll mit vertrauensunw¨urdigem Legitimator (14:9) Walter Unger Z
2. Protokoll mit L, und A j (1 6 j 6 t)
Aj(16j6n),L Sendliche Menge fEinwegpermutation
A
j: L:
bestimmt t
x, 1 6 x 6 n
kbestimmt S und f
Identifikation Protokoll
- - w¨ ahlt i ∈ {1, . . . , n
k}
t
i kauft dies geheimbestimmt s ∈ S
y := f (s)
w¨ ahlt v v , y , t
ianonym
-
testet: ∃x ∈ {1, . . . , n
k} : t
x= t
ibestimmt s
0∈ S y
0:= f (s
0)
w¨ ahlt neu v
0v
0, f (s
0), t
i, s
anonym
-
testet: ∃x ∈ {1, . . . , n
k} : t
x= t
itestet: f (s ) =
?y
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
W¨ahlen durch gegenseitiges Mischen (14:10) Walter Unger Z
W¨ ahlen durch gegenseitiges Mischen der Stimmen
Aj(16j6n),L Sendliche Menge fEinwegpermutation
I Man w¨ ahlt ohne Zentrale, die Auswertung wird von den W¨ ahlern
¨
ubernommen.
I Allerdings ist das Verfahren nur f¨ ur kleine W¨ ahlergruppen praktikabel, sonst werden die Berechnung sehr schnell zu groß.
I Wir zeigen hier ein Beispiel f¨ ur die vier Parteien A, B , C und D.
I Idee: Eigene Stimme verschl¨ usseln, Stimmen mischen, weitergeben
I Jede Partei X ∈ {A, B, C, D} hat ¨ offentlichen und privaten Schl¨ ussel.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
W¨ahlen durch gegenseitiges Mischen (14:11) Walter Unger Z
W¨ ahlen durch gegenseitiges Mischen der Stimmen
Aj(16j6n),L Sendliche Menge fEinwegpermutation
I Jede Partei erzeugt: E
A(R
5E
B(R
4E
C(R
3E
D(R
2E
A(E
B(E
C(E
D(v
xR
1)))))))).
I Dabei bezeichnet v
xdie Wahlentscheidung von W¨ ahler x.
I Die R
isind Zufallszahlen. Die Zwischenergebnisse werden gespeichert.
I A sammelt die Nachrichten.
I A entschl¨ usselt und entfernt die Zufallszahl.
I A permutiert die Nachrichten (Mischung der Stimmen).
I A sendet mit Unterschrift die Nachrichten an B.
I Das wird durch die Teilnehmer C → D → A → B → C → D wiederholt.
I D gibt das Ergebnis bekannt.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
W¨ahlen durch gegenseitiges Mischen (14:12) Walter Unger Z
W¨ ahlen durch gegenseitiges Mischen der Stimmen
Aj(16j6n),L Sendliche Menge fEinwegpermutation A: EA(R5,AEB(R4,AEC(R3,AED(R2,AEA(EB(EC(ED(vAR1,A))))))))
EA(R5,BEB(R4,BEC(R3,BED(R2,BEA(EB(EC(ED(vBR1,B)))))))) EA(R5,CEB(R4,CEC(R3,CED(R2,CEA(EB(EC(ED(vCR1,C)))))))) EA(R5,DEB(R4,DEC(R3,DED(R2,DEA(EB(EC(ED(vDR1,D)))))))) B: EB(R4,AEC(R3,AED(R2,AEA(EB(EC(ED(vAR1,A)))))))
EB(R4,DEC(R3,DED(R2,DEA(EB(EC(ED(vDR1,D))))))) EB(R4,CEC(R3,CED(R2,CEA(EB(EC(ED(vCR1,C))))))) EB(R4,BEC(R3,BED(R2,BEA(EB(EC(ED(vBR1,B))))))) C: EC(R3,CED(R2,CEA(EB(EC(ED(vCR1,C))))))
EC(R3,DED(R2,DEA(EB(EC(ED(vDR1,D)))))) EC(R3,AED(R2,AEA(EB(EC(ED(vAR1,A)))))) EC(R3,BED(R2,BEA(EB(EC(ED(vBR1,B)))))) D: ED(R2,BEA(EB(EC(ED(vBR1,B)))))
ED(R2,DEA(EB(EC(ED(vDR1,D))))) ED(R2,AEA(EB(EC(ED(vAR1,A))))) ED(R2,CEA(EB(EC(ED(vCR1,C))))) A: EA(EB(EC(ED(vBR1,B))))
EA(EB(EC(ED(vAR1,A)))) EA(EB(EC(ED(vDR1,D)))) EA(EB(EC(ED(vCR1,C)))) B: EB(EC(ED(vBR1,B)))
EB(EC(ED(vAR1,A))) EB(EC(ED(vDR1,D))) EB(EC(ED(vCR1,C)))
C: EC(ED(vBR1,B)) EC(ED(vDR1,D)) EC(ED(vAR1,A)) EC(ED(vCR1,C)) D: ED(vBR1,B)
ED(vAR1,A) ED(vCR1,C) ED(vDR1,D)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:13) Walter Unger Z
3. Protokoll
Aj(16j6n),L Sendliche Menge fEinwegpermutation
1. Beteiligt sind:
1.1 W¨ ahler A
j(1 6 j 6 n).
1.2 Vermischer S
j(1 6 j 6 k ).
1.3 Zentrum C.
1.4 ¨ Offentliches Medium B (Bulletin Board).
2. Jede Nachricht in B kann durch den Sender verifiziert werden.
3. Die W¨ ahler geben Stimmen verschl¨ usselt ab.
4. Jeder Vermischer mischt die Stimmen, so dass Zuordnung nicht mehr m¨ oglich ist.
5. C macht die Ausz¨ ahlung.
6. Benutzt werden Zahlen aus Z Z
∗qmit q = p
k.
7. Weiterhin sei g Generator in Z Z
∗q.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:14) Walter Unger Z
Idee
Aj(16j6n),Sj(16j6k),C,K Z Z∗q mitq=pk
gGenerator
ϕ(g b
i·a
1·a
2·...·a
k)
I b i Stimme f¨ ur Kandidat ϕ(. . . b i . . .).
I g b
iVerschl¨ usselte Stimme
I g b
i·a
1Verschl¨ usselte Stimme und einmal gemischte Stimme
I g b
i·a
1·a
2·...·a
kVerschl¨ usselte Stimme und k-mal gemischte Stimme
I ϕ(g b
i·a
1·a
2·...·a
k) durch b i gew¨ ahlter Kandidat.
I Damit braucht der W¨ ahler:
I
ϕ
I
g
a1·a2·...·akEinleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:15) Walter Unger Z
Schritte
Aj(16j6n),Sj(16j6k),C,K Z Z∗q mitq=pk
gGenerator
ϕ(g b
i·a
1·a
2·...·a
k)
I Systemaufbau: g , q, ϕ
I Mischer S i bestimmt a i .
I Mischer bestimmen g a
1·a
2·...·a
kI W¨ ahler w¨ ahlt und ver¨ offentlicht: g b
i.
I Mischer bestimmen g b
i·a
1·a
2·...·a
kI Ausz¨ ahlung der ϕ(g b
i·a
1·a
2·...·a
k)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:16) Walter Unger Z
3. Protokoll (1.Schritt, Aufbau)
Aj(16j6n),Sj(16j6k),C,K Z Z∗q mitq=pk
gGenerator
C : B:
bestimmt p große Primzahl
bestimmt g Generator in Z
q∗mit q = p
kbestimmt Funktion ϕ : Z
q∗7→ K
C , q, g, ϕ
- (C , q, g, ϕ)
I Aufbau einer Funktion ϕ : Z
q∗7→ K:
I Sei x ∈ Z
q∗mit bin(x) = w
1w
2w
3und 2
|w2||K|.
I Dann setze ϕ(x ) = l
int(w
2) ·
|K|2|w2|
m
.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:17) Walter Unger Z
3. Protokoll (2.Schritt), Aufbau
Aj(16j6n),Sj(16j6k),C,K Z Z∗q mitq=pk
gGenerator
S
i: B :
(C, q, g, ϕ) w¨ ahlt a
i∈ Z Z
∗qmit ggT(a
i, q − 1) = 1
bestimmt also: f
i(x ) = x
aimod q bestimmt c
i= g
aiS
i, c
i- (S
i, c
i)
I Seine Mischstrategie wird damit: t −→ t
aimod q.
I Da c
i¨ offentlich ist, wird S
iseine Mischstrategie nicht ¨ andern k¨ onnen.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:18) Walter Unger Z
3. Protokoll (3.Schritt, g a1a
2...a
k)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai
S
1: B :
(S
i, p, q, ϕ) (S
i, c
i) sei z
0= g
bestimmt z
1= f
1(z
0)
S
1, z
0, z
1- (S
1, z
0, z
1)
S
i: (2 6 i 6 k) B:
(S
i, p, q, ϕ) (S
i, c
i)
(S
i−1, z
i−2, z
i−1) S
i−1, z
i−2, z
i−1bestimmt z
i= f
i(z
i−1)
S
i, z
i−1, z
i- (S
i, z
i−1, z
i)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:19) Walter Unger Z
3. Protokoll (4.Schritt, g a1a
2...a
k)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai
S
i: C :
(S
i, p, q, ϕ) (S
i, c
i) (S
i, z
i−1, z
i) c
i= g
aiz
i= f
i(z
i−1) = z
i−1ai∃a
i: c
i= g
ai∧ z
i= z
i−1aiZero-Knowledge-Proof - -
I D.h. Beweist, dass zwei diskrete Logarithmen gleich sind.
I Dieses Protokoll werden wir beim elektronischen Geld noch sehen.
C: B :
C , z
0, z
k- (C, z
0, z
k)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:20) Walter Unger Z
3. Protokoll (5.Schritt, Wahl)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai
A
i: B :
(S
i, p, q, ϕ) (S
i, c
i)
(S
i−1, z
i−2, z
i−1) (C, z
0, z
k) w¨ ahlt Kandidaten K
i∈ K
r¨ at solange ein b
ibis ϕ(z
kbi) = K
isetzt v
i= g
bi(A
i, v
i)
- (A
i, v
i)
I Beachte: Die Stimme ist in verschl¨ usselter Form abgegeben worden.
I Das Bestimmen des diskreten Logarithmus wurde umgangen.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:21) Walter Unger Z
3. Protokoll (6.Schritt, Identifizierung)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi
C: B:
(S
i, p, q, ϕ) (S
i, c
i)
(S
i−1, z
i−2, z
i−1) (C, z
0, z
k) (A
i, v
i) A
i, v
i(1 6 i 6 n)
Testet, ob die A
i’s legitime W¨ ahler sind nur einmal gew¨ ahlt haben
Falls nicht A
i, v
i, ung¨ ultig -
Damit wird
(A
i, v
i) gel¨ oscht.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:22) Walter Unger Z
3. Protokoll (7.Schritt, g bja
1a
2...a
k)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi
C : B:
(S
i, p, q, ϕ) (S
i, c
i)
(S
i−1, z
i−2, z
i−1) (C , z
0, z
k) (A
i, v
i) A
i, v
i(1 6 i 6 n)
X
0= SORT{v
l|1 6 l 6 n}
X
0= (w
10, w
20, . . . , w
n0- )
X
0= (w
10, w
20, . . . , w
n0)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:23) Walter Unger Z
3. Protokoll (8.Schritt, g bja
1a
2...a
k)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi
S
i: B:
(S
i, p, q, ϕ) (S
i, c
i)
(S
i−1, z
i−2, z
i−1) (C , z
0, z
k) (A
i, v
i)
X
j= (w
1j, w
2j, . . . , w
nj) j < i
X
i−1= (w
1i−1, w
2i−1, . . . , w
ni−1) X = {(w
li−1)
ai|1 6 l 6 n}
X
i= SORT(X ) X
i=
(w
1i, w
2i, . . . , w
ni) -
X
i= (w
1i, w
2i, . . . , w
ni)
I Beachte: Doppelte Eintr¨ age in den Listen treten selten auf.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:24) Walter Unger Z
3. Protokoll (9.Schritt, Ausz¨ ahlung)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi
C : B:
(S
i, p, q, ϕ) (S
i, c
i)
(S
i−1, z
i−2, z
i−1) (C , z
0, z
k) (A
i, v
i)
X
j= (w
1j, w
2j, . . . , w
nj) 1 6 j 6 k
X
k= (w
1k, w
2k, . . . , w
nk)
E
x= |{w ∈ X
k| ϕ(w ) = x }|
E
x∀x ∈ K - E
x(∀x ∈ K)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:25) Walter Unger Z
Zusammenfassung (1. Teil)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi
C: B:
bestimmtpgrosse Primzahl
bestimmtgGenerator inZq∗mitq=pk
bestimmt Funktionϕ:Zq∗7→ K C,q,g, ϕ
-
(C,q,g, ϕ)Si: B:
w¨ahltai∈ZZ∗qmit ggT(ai,q−1) = 1 bestimmt also:fi(x) =xaimodq
bestimmtci=gai Si,ci
-
(Si,ci)S1: B:
seiz0=g
bestimmtz1=f1(z0) S1,z0,z1
-
(S1,z0,z1)Si:(i62) B:
bestimmtzi=fi(zi−1) Si−1,zi−2,zi−1
Si,zi−1,zi
-
(Si,zi−1,zi)Si: C:
ci=gai
∃ai:ci=gai∧zi=zaii−1
Zero-Knowledge-Proof
- -
zi=fi(zi−1) =zaii−1 (C,z0,zk)Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:26) Walter Unger Z
Zusammenfassung (2. Teil)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi
Ai: B:
(C,q,g, ϕ) (Si,ci)
(Si,zi−1,zi) getestet r¨at solange einbibisϕ(zbik) =Ki (C,z0,zk)
setztvi=gbi (Ai,vi)
-
(Ai,vi)C: B:
Testet die (Ai,vi)’s Ai,vi(16i6n)
Falls Fehler/Betrug vorliegt Ai,vi,ung¨ultig
-
Damit wird (Ai,vi) gel¨oscht.C: B:
X0= SORT{vl|16l6n} Ai,vi(16i6n)
X0= (w10,w20, . . . ,wn0)
-
X0= (w10,w20, . . . ,wn0)Si: B:
Xi= SORT{(wi−1
l )ai|16l6n} Xi−1= (w1i−1,w2i−1, . . . ,wni−1)
Xi= (w1i,w2i, . . . ,wni)-
Xi= (w1i,w2i, . . . ,wni)C: B:
Ex=|{w∈Xk|ϕ(w) =x}| Xk= (w1k,w2k, . . . ,wnk)
Ex(x∈ K)-
Ex(∀x∈ K)Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:27) Walter Unger Z
Sicherheitsaspekte
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi B:
(C,q,g, ϕ) (Si,ci)
(Si,zi−1,zi) getestet Ai:r¨at solange einbibisϕ(zkbi) =Ki (C,z0,zk)
setztvi=gbi (Ai,vi)
-
(Ai,vi) getestet C:X0= SORT{vl|16l6n} X0= (w10,w20, . . . ,wn0)-
X0= (w10,w20, . . . ,wn0) Si:Xi= SORT{(wli−1)ai|16l6n} Xi= (w1i,w2i, . . . ,wni)-
Xi= (w1i,w2i, . . . ,wni)C:Ex=|{w∈Xk|ϕ(w) =x}| Ex(x∈ K)
-
Ex(∀x∈ K)Die Stimmen werden richtig gez¨ ahlt. Jeder W¨ ahler kann das Mischen seiner Stimme ¨ uberwachen. Solange es nur mindestens einen ehrlichen Mischer gibt, dann bleiben die Stimmen geheim. Aus den gemischten Werten kann man nicht auf die Stimmen schließen. ¨ Andern der Stimme ist m¨ oglich, aber aufwendig.
Abgabe einer Zufallsstimme ist m¨ oglich (mit und ohne hinterher die
Stimmabgabe bestimmen zu k¨ onnen). Der W¨ ahler kann einem Dritten seine
Wahl preisgeben.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren mit m¨oglichen Stimmenkauf (14:28) Walter Unger Z
3. Protokoll (Sicherheitsaspekte)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q mitq=pk gGenerator ci=gai zi=zi−1ai ϕ(zkbi) =Ki vi=gbi
1. Die Stimmen werden richtig gez¨ ahlt.
2. Jeder W¨ ahler kann das Mischen seiner Stimme ¨ uberwachen.
3. Solange es nur mindestens einen ehrlichen Mischer gibt, dann bleiben die Stimmen geheim.
4. Aus den gemischten Werten kann man nicht auf die Stimmen schließen.
5. ¨ Andern der Stimme ist m¨ oglich, aber aufwendig.
6. Abgabe einer Zufallsstimme ist m¨ oglich (mit und ohne hinterher die Stimmabgabe bestimmen zu k¨ onnen).
7. Der W¨ ahler kann einem Dritten seine Wahl preisgeben.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:29) Walter Unger Z
Idee
I Ziel: W¨ ahler kann nicht bestochen/erpresst werden.
I Sicherheit des W¨ ahlers per ZKP.
I W¨ ahler kann dann Dritten nicht ¨ uberzeugen.
I W¨ ahler bekommt Token zugemischt.
I Korrektheitsbeweis f¨ ur W¨ ahler per ZKP.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:30) Walter Unger Z
4. Protokoll (Zero-Knowledge-Proof f¨ ur f (x) = y )
P: q, a, g, c = g
a, x , y = f (x) = x
aV : q, g, c , x, y w¨ ahlt i und j m
1m
1= x
i
g
jw¨ ahlt l
m
2= m
1g
lm
3= f (m
2) m
2, m
3- testet m
1=
?x
ig
ji, j
l -
testet m
2=
?m
1g
ltestet m
3=
?y
ig
a(j+l)Beachte: m
3= f (m
2) = f (x
ig
jg
l) = (f (x))
i(f (g))
j+l= y
i(g
a)
j+l.
Betrugsversuch: bestimme y
ig
ajaus m
1= x
ig
j.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:31) Walter Unger Z
4. Protokoll (erweiterter Zero-Knowledge-Proof)
I Bekannt sind zwei Listen x 1 , x 1 , . . . , x t und y 1 , y 1 , . . . , y t .
I Zeige per Zero-Knowledge-Proof, dass es eine Permutation π gibt mit:
f (x i ) = y π(i) .
I Diese Erweiterung ist m¨ oglich.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:32) Walter Unger Z
4. Protokoll (Idee)
1. Mische nicht die Stimmen, sondern die Token.
2. Beteiligt sind:
2.1 W¨ ahler A
j(1 6 j 6 n).
2.2 Vermischer S
j(1 6 j 6 k ).
2.3 Zentrum C.
2.4 ¨ Offentliches Medium B (Bulletin Board).
3. Jeder Mischer S
jbeweist per Zero-Knowledge-Proof die Korrektheit seines Mischens.
4. Gemischt wird wieder ¨ uber Funktion f : Z Z
∗q→ Z Z
∗qmit t 7→ t
a.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:33) Walter Unger Z
Idee
I Erzeuge Wahlzettel (Tokens)
I Vermische Tokens, Beweis per ZKP
I gebe gemischtes Token den W¨ ahlern
I Vermische Tokens, Beweis per ZKP
I W¨ ahler w¨ ahlt
I Entmische Tokens, Beweis per ZKP
I Ausz¨ ahlung der Stimmen
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:34) Walter Unger Z
4. Protokoll (1.Schritt, Aufbau)
C : B :
bestimmt q große Primzahl bestimmt g Generator in Z
q∗C, q, g
- (C, q, g)
S
i: B:
(C , q, g) w¨ ahlt a
i∈ Z Z
∗qmit ggT(a
i, q − 1) = 1
bestimmt also: f
i(x) = x
aimod q bestimmt c
i= g
aiS
i, c
i- (S
i, c
i)
Beachte: Mischfunktion ist nun f (x ) = g
xamit a = Q
k i=1a
i.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:35) Walter Unger Z
4. Protokoll (2.Schritt, Aufbau und Mischen)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai
C: B :
bestimmt t n Tokens:
{x
j,0| 1 6 j 6 t} (x
1,0, x
2,0, . . . , x
t,0)
- (x
1,0, x
2,0, . . . , x
t,0)
S
i: B :
bestimmt Permutation π
ibestimmt x
j,i= (x
πi(j),i−1)
ai(x
1,i, x
2,i, . . . , x
t,i)
- (x
1,i, x
2,i, . . . , x
t,i)
Beachte: S
ibeweist die Korrektheit seiner Werte durch Zero-Knowledge-Proof.
Beachte: y
j= x
π(j),k= f (x
j,0) f¨ ur 1 6 j 6 t und einer Permutation π.
Beachte: die y
jsind die gemischten und verschl¨ usselten Werte der
urspr¨ unglichen Token.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:36) Walter Unger Z
4. Protokoll (3.Schritt, Identifikation, Aufbau)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai
C : A
j:
w¨ ahlt t
jund Token x
tj,kx
tj,k- x
tj,k= y
jS
1,...,k: B:
(C , q, g) (S
i, c
i)
(x
1,i, x
2,i, . . . , x
t,i)
bestimmen gemeinsam (1 6 i 6 t)
Verschl¨ usselung E E
- E
Als Verschl¨ usselung bietet sich ElGamal an, d.h. jeder Mischer S
jbestimmt
noch einen Wert b
j.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:37) Walter Unger Z
4. Protokoll (4.Schritt, Vermischen)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai
A
j: y
jS
1: a
1y
j,0= y
jy
j,0-
y
j,1y
j,1y
j,1= f
1(y
j,0) = (y
j,0)
a1
A
j: y
jS
i: a
iy
j,i−1y
j,i−1- y
j,iy
j,iy
j,i= f
i(y
j,i−1) = (y
j,i−1)
ai
Beachte: damit bestimmt A
jein z
j= f (y
j).
Beachte: jeder Mischer S
ibeweist die Korrektheit per Zero-Knowledge-Proof.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:38) Walter Unger Z
4. Protokoll (verbesserter 4.Schritt)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai
A
j: y
jS
1: a
1w¨ ahlt r
y
j,0= y
jg
ry
j,0- y
j,1= w
j,1c
1−rw
j,1w
j,1= f
1(y
j,0) = (y
j,0)
a1
A
j: y
jS
i: a
iw¨ ahlt r
y
j,i−1g
ry
j,i−1- w
j,i= f
i(y
j,i−1) = (y
j,i−1)
ai
y
j,i= w
j,ic
i−rw
j,iBeachte: nun kennt kein S
iein korrektes Token.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:39) Walter Unger Z
4. Protokoll (5.Schritt, Wahl)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai
A
j: z
j, y
jB:
(C , q, g) (S
i, c
i)
(x
1,i, x
2,i, . . . , x
t,i) E
w¨ ahlt v
jbestimmt E (v
j, z
j) E (v
j, z
j)
anonym - E (v
j, z
j)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:40) Walter Unger Z
4. Protokoll (6.Schritt)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))
S
1,2,...,k: E
−1B:
(C, q, g ) (S
i, c
i)
(x
1,i, x
2,i, . . . , x
t,i) E
(v
j, z
j) = E
−1(E (v
j, z
j)) E (v
j, z
j)
(16j6n)
(v
j, z
j)
- (v
j, z
j)
(1 6 j 6 n)
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:41) Walter Unger Z
4. Protokoll (7.Schritt)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))
C : E
−1B:
(C , q, g) (S
i, c
i)
(x
1,i, x
2,i, . . . , x
t,i) E
(v
j, z
j) (1 6 j 6 n) f¨ ur jeden Kandidaten x ∈ K: h
j= (v
j, z
j)
(16j6n)
L
x,0= SORT{z
j| ∃j : h
j= (x, z )}
L
x,0- L
x,0Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:42) Walter Unger Z
4. Protokoll (8.Schritt)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))
S
i: a
iB :
(C, q, g ), (S
i, c
i) E (x
1,i, x
2,i, . . . , x
t,i) (v
j, z
j) (1 6 j 6 n) L
x,j(j < i ) (y
1, y
2, . . . , y
n) = L
x,i−1L
x,i−1bestimmt Permutation π
iz
j= (y
πi(j))
−aibestimmt Permutation ρ
ix
j= (z
ρi(j))
−aiL
x,i= (x
1, x
2, . . . , x
n)
L
x,i- L
x,iBeachte: S
ibeweist die Korrektheit seiner Werte durch Zero-Knowledge-Proof.
Beachte: In den Listen L
x,ksind die urspr¨ unglichen Token vorhanden.
Beachte: Z¨ ahlung ist nun einfach und ¨ offentlich m¨ oglich.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:43) Walter Unger Z
Zusammenfassung (1.Teil)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))
C: B:
bestimmtqgroße Primzahl
bestimmtgGenerator inZq∗ C,q,g
-
(C,q,g)Si: B:
w¨ahltai∈ZZ∗q mit ggT(ai,q−1) = 1 (C,q,g) bestimmt also:fi(x) =xaimodq
bestimmtci=gai Si,ci
-
(Si,ci)C: B:
bestimmttnTokens:
{xj,0|16j6t} (x1,0,x2,0, . . . ,xt,0)
-
(x1,0,x2,0, . . . ,xt,0)Si: B:
bestimmt Permutationπi bestimmtxj,i= (xπ
i(j),i−1)ai (x1,i,x2,i, . . . ,xt,i)
-
(x1,i,x2,i, . . . ,xt,i)C: Aj:
w¨ahlttjund Tokenxtj,k xtj,k
-
xtj,k=yjEinleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:44) Walter Unger Z
Zusammenfassung (2.Teil)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))
S1,...,k: B:
(C,q,g),(Si,ci) (x1,0,x2,0, . . . ,xt,0)
bestimmen gemeinsam (x1,i,x2,i, . . . ,xt,i) (16i6t)
Verschl¨usselungE E
-
EAj:yj S1:a1
w¨ahltr
yj,0=yjgr yj,0
-
wj,1=f1(yj,0) = (yj,0)a1yj,1=wj,1c−r1 wj,1
Aj:yj Si:ai
w¨ahltr
yj,i−1gr yj,i−1
-
wj,i=fi(yj,i−1) = (yj,i−1)a1 yj,i=wj,ici−r wj,iAj:zj,yj B:
E(vj,zj)
anonym
-
bestimmtE(vj,zj) E(vj,zj)Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:45) Walter Unger Z
Zusammenfassung (3.Teil)
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))
S1,2,...,k:E−1 B:
(C,q,g),(Si,ci) (x1,0,x2,0, . . . ,xt,0) (vj,zj) =E−1(E(vj,zj)) E(vj,zj)
(16j6n)
(x1,i,x2,i, . . . ,xt,i) (16i6t)(vj,zj)
-
(vj,zj) (16j6n)C:E−1 B:
f¨ur jeden Kandidatenx∈ K: hj= (vj,zj) (16j6n) Lx,0= SORT{zj| ∃j:hj= (x,z)}
Lx,0
-
Lx,0Si:ai B:
(y1,y2, . . . ,yn) =Lx,i−1 Lx,i−1 bestimmt Permutationπi
zj= (yπ i(j))−ai bestimmt Permutationρi xj= (zρ
i(j))−ai
Lx,i= (x1,x2, . . . ,xn) Lx,i
-
Lx,iEinleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:46) Walter Unger Z
Sicherheitsaspekte
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))
1. Die Stimmen werden richtig gez¨ ahlt.
2. Jeder W¨ ahler konnte die Korrektheit des Mischen ¨ uberwachen.
3. Solange es nur mindestens einen ehrlichen Mischer gibt, dann bleiben die Stimmen geheim.
4. Aus den gemischten Werten kann man nicht auf die Stimmen schließen.
5. ¨ Andern der Stimme ist m¨ oglich, aber aufwendig.
6. Der W¨ ahler kann einem Dritten seine Wahl nicht preisgeben.
Einleitung und einfache Wahlverfahren Protokoll 2 Protokoll 3 Protokoll 4
Verfahren ohne m¨oglichen Stimmenkauf (14:47) Walter Unger Z
Fragen
Aj(16j6n),Sj(16j6k),C,K Z
Z∗q,gGenerator,ci=gai f(x) =gamita=Qk
i=1ai StimmenE(vj,zj) =E(vj,f(f(xh,0)))