Title: 6. Esoteric Protocols
16. Esoteric Protocols secure elections and
multi-party computation
Kim Hyoung-Shick
2Contents
- 1. Secure elections
- Introduction
- Protocols
- 2. Secure multiparty computation
- Introduction
- Examples
- 3. Conclusion
3Contents
- 1. Secure elections
- Introduction
- Protocols
- 2. Secure multiparty computation
- Introduction
- Examples
4Voting
What is the requirements ?
5Voting
Secure Booth ?
6Voting
Fair judge ?
7Voting
Privacy !
Fairness !
We need two major requirements.
8Traditional Voting Vs Electronic Voting
- Privacy
- Fairness
- Efficiency
9Problems with Electronic Voting
- No physical audit trail
- Who provides the system?
- How are they audited?
- High Tech More dependencies
- More ways to subvert the system
- etc.
10Requirements for Electronic Voting
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
- Everyone knows who voted and who didnt.
11Requirements for Electronic Voting
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
- Everyone knows who voted and who didnt.
12Requirements for Electronic Voting
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
- Everyone knows who voted and who didnt.
13Contents
- 1. Secure elections
- Introduction
- Protocols
- 2. Secure multiparty computation
- Introduction
- Examples
14Protocols
1. Simplistic voting protocols 1 2. Simplistic
voting protocols 2 3. Voting with blind
signatures 4. Voting with two central
facilities 5. Voting with ANDOS 6. Improved
voting with ANDOS 7. Voting without a central
facility
15Idea of Simplistic Voting Protocol 1
secure booth encryption
16Simplistic Voting Protocol 1
PCTF
SCTF
Voter Vi
1. Choose V
4. Tabulate Vs
5. Publish the result
2. Encrypt V into ECTF(V).
17Unsatisfied Requirements
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. (By intercept attack) - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
- Everyone knows who voted and who didnt.
18Protocols
1. Simplistic voting protocols 1 2. Simplistic
voting protocols 2 3. Voting with blind
signatures 4. Voting with two central
facilities 5. Voting with ANDOS 6. Improved
voting with ANDOS 7. Voting without a central
facility
19Idea of Simplistic Voting Protocol 2
secure booth encryption
identification card sign
20Simplistic Voting Protocol 2
PCTF Pi
SCTF
Si
Voter Vi
5. Decrypt, verify, tabulate Vs
1. Choose V
2. Sign V into Si(V)
6. Publish the result
3. Encrypt Si(V) into ECTF(Si(V))
21Unsatisfied Requirements
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
(CTF knows it.) - Everyone knows who voted and who didnt.
22Protocols
1. Simplistic voting protocols 1 2. Simplistic
voting protocols 2 3. Voting with blind
signatures 4. Voting with two central
facilities 5. Voting with ANDOS 6. Improved
voting with ANDOS 7. Voting without a central
facility
23Problem with Signature
24Idea of Voting with Blind Signature
?
accept
25Idea of Voting with Blind Signature
Be covered !
26Voting with Blind Signature
PCTF Pi
SCTF
Si
Voter Vi
4. Check if B(M) is valid
1. Generate M (O1, , On, IDr , i)
2. Blind M into B(M)
6. Choose SCTF(Oi)
7. Generate M (SCTF(Oi), SCTF(IDr), SCTF(i))
27Voting with Blind Signature
PCTF Pi
SCTF
Si
B(M)
Voter Vi
9. Verify, check ID duplication
10. Publish the result
28Unsatisfied Requirements
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
(CTF knows it.) it need to provide anonymous
channel. - Everyone knows who voted and who didnt.
29Additional Some Problems
- CTF can generate a large number of signed, valid
votes and cheat by submitting those itself. - If voter discovers that the CTF changed his or
her vote, he or she has no way to prove it.
30Protocols
1. Simplistic voting protocols 1 2. Simplistic
voting protocols 2 3. Voting with blind
signatures 4. Voting with two central
facilities 5. Voting with ANDOS 6. Improved
voting with ANDOS 7. Voting without a central
facility
31Review of Traditional Voting
1. Check voters identification by checker.
voter
checker
32Review of Traditional Voting
2. Count votes in the ballot boxes by counter.
counter
33Review of Traditional Voting
There are two positions in the voting.
counter
checker
34Idea of Voting with Two Central Facilities
35Voting with Two Central Facilities
PCLA Pi
SCLA
Si
VN list
Voter Vi
2. Maintain VN list for voters
36Voting with Two Central Facilities
PCLA PCTF
SCLA
SCTF
VN list
37Voting with Two Central Facilities
PCTF Pi
SCTF
Si
VNr
VN list
Voter Vi
9. Check if M is valid and maintain VN list
5. Choose IDr
6. Generate M (V, IDr, VNr)
10. Publish the result
6. Choose SCTF(Oi)
7. Generate M (SCTF(Oi), SCTF(IDr), SCTF(i))
38Unsatisfied Requirements
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
(But, the collusion is possible.) - Everyone knows who voted and who didnt.
39Additional Some Problems
- CLA can generate a large number of signed, valid
votes and cheat by submitting those itself. It
solve that CLA publish a list of certified
voters. - As stated above, the collusion is possible.
40Protocols
1. Simplistic voting protocols 1 2. Simplistic
voting protocols 2 3. Voting with blind
signatures 4. Voting with two central
facilities 5. Voting with ANDOS 6. Improved
voting with ANDOS 7. Voting without a central
facility
41What is ANDOS (All-Or-Nothing Disclosure of
Secrets)
Sender
Receiver
- Sender doesnt know that receiver has gained
the one. - As soon as receiver has gained anyone,
he cant receive other messages.
42Voting with ANDOS
PCLA Pi
SCLA
Si
VN list
Voter Vi
2. Maintain VN list for voters
43Unsatisfied Requirements
- Only authorized voters can vote. we solve it by
blinded signagture - No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
- Everyone knows who voted and who didnt.
44Protocols
1. Simplistic voting protocols 1 2. Simplistic
voting protocols 2 3. Voting with blind
signatures 4. Voting with two central
facilities 5. Voting with ANDOS 6. Improved
voting with ANDOS 7. Voting without a central
facility
45Idea of Improved Voting with ANDOS
Voter is also checker for CTF
46Voting with Blind Signature
PCTF Pi
SCTF
Si
Voter Vi
2. Publish a list of participants
47Voting with Blind Signature
PCTF Pi
SCTF
Si
IDr
Voter Vi
6. Publish Ei(IDr, V)
8. Decrypt, publish the result. (For each
candidate, the list of all Ei(IDr, V) that voted
for a candidate)
48Voting with Blind Signature
PCTF Pi
SCTF
Si
IDr
or
9. IDr, Ei(IDr, V), Si
Voter Vi
Within time T, voter can change the vote.
49The Reason of the possibility for protest
6. Publish Ei(IDr, V)
CTF should be examined for performing his duty by
voter Vi
50Unsatisfied Requirements
- Only authorized voters can vote. we solve it by
blinded signagture - No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
- Everyone knows who voted and who didnt.
51Additional Satisfied Requirements
- A voter can change his mind within a given period
of time. - If a voter find out that his vote is miscounted,
he can identify and correct the problem without
jeopardzing the secrecy of his ballot.
52Protocols
1. Simplistic voting protocols 1 2. Simplistic
voting protocols 2 3. Voting with blind
signatures 4. Voting with two central
facilities 5. Voting with ANDOS 6. Improved
voting with ANDOS 7. Voting without a central
facility
53Idea of Voting without a Central Facility
The problem of source is CTF.
54Idea of Voting without a Central Facility
Everyone is checker.
55Voting without a Central Facility
1. Generate each public/private key pair. 2.
Publish order of voters and each public key.
56Voting without a Central Facility
Si
Pi
IDr
1. Generate IDr 2. Generate E1(En(V, IDr)) 3.
Generate En(E1(En(V, IDr)), Rn) 4. Generate M
E1(En(E1(En(V, IDr))), R1) and record Rn
R1 and the intermediate results.
57Voting without a Central Facility
P1 Pi
S1
Si
Voter V1
Voter Vi
6. Decrypt, removes all of the random strings at
that level.
58Voting without a Central Facility
P1 P2
S2
S1
(M2 is the decrypted message)
Voter V2
Voter V1
8. Decrypt, check to see that his vote is among
the set of votes, removes all of the random
strings at that level.
59Voting without a Central Facility
Pn P1
S1
Sn
( M E1(En(V, IDr)) )
Voter V1
Voter Vn
10. Decrypt, check to see that his vote is among
the set of votes, removes all of the random
strings at that level.
11. Sign all the votes.
60Voting without a Central Facility
Voter V1
12. Broadcast all signed votes to everyone.
61Voting without a Central Facility
Voter Vn
13. Publish the result.
62Unsatisfied Requirements
- Only authorized voters can vote.
- No one can vote more than once.
- No one can duplicate anyone elses vote.
- No one can change anyone elses vote without
being discovered. - Every voter can make sure that his vote has been
taken into account in the final tabulation. - No one can determine for whom anyone else voted.
- Everyone knows who voted and who didnt.
63Additional Some Problems
- An enormous amount of computation
- Vn learns the results of the election before
anyone else does. - Message duplication. (Ex There are three people.)
64Contents
- 1. Secure elections
- Introduction
- Protocols
- 2. Secure multiparty computation
- Introduction
- Examples
65Introduction
Xj ,, Xk
Pi
f(x1, x2, , Xm)
A protocol in which a group can compute any
function securely.
66Introduction
f(x1, x2, , Xm) is public ! But, no one learns
anything about the inputs of any other members
other than what is obvious from the output of the
function.
67Contents
- 1. Secure elections
- Introduction
- Protocols
- 2. Secure multiparty computation
- Introduction
- Examples
68Compute Average Value
2. E2(M)
P1
P2
1. Generate M S1 r
3. Decrypt, M S2 M
69Compute Average Value
5. E1(M)
Pn
P1
4. Generate M Sn M
6. Decrypt.
7. Compute
8. Publish it
70Problems
- Participants can lie Si
- V1 can misrepresent the result to everyone. It
is solved by bit commit for r, but V2 knows S1.
71Check the equality
0, if a b
1, otherwise
b
a
2. h(a)
P1
P2
3. Compute h(b) 4. Check if h(a) h(b)
1. Compute h(a)
72Problems
- B has a chosen plaintext attack if size of domain
is small.
73Additional Examples
- Electronic elections
- Bidding protocols
- Lotteries
- Distributed games over the internet