Title: Enhancing PTC based Secure E-Voting System (note: modification of Brett Wilson
1Enhancing PTC based Secure E-Voting System(note
modification of Brett Wilsons Paillier Threshold
Cryptography Web Service view graph)
- by
- Justin Pohlmann
- Allen Liu
2Outline of the Talk
- Introduction/Motivation
- Related Work
- Paillier Threshold Cryptography
- Suggested Improvement
- Encryption/Decryption Optimization
- User Interface
- Future Direction
- Conclusion
3Introduction/Motivation
- E-voting Requirements
- Privacy/Anonymity, Completeness, Soundness,
Un-reusability, Eligibility, Fairness - Robustness, Universal Verifiability,
Receipt-Freeness, Incoercibility
4Introduction/Motivation
- Many new Secure Voting protocols
- Mathematical algorithms presented in literature
- Unable to identify/locate implementations of
these algorithms - UCCS effort to develop a secure e-voting
application - Using the concept of Paillier Threshold
Cryptosystem to implement a voting system - Find areas of improvement
- Encryption Optimization
- User Interface
5Related Work
- Basis for Implementation
- Sharing Decryption in the context of Voting or
Lotteries (Fouque, Poupard, Stern) - Closely related research
- A Generalization of Pailliers Public Key
Cryptosystem with Applications to Electronic
Voting (Damgard, Jurik, Nielson) - Encryption and Decryption Optimization
6Related Work
- Other Techniques Used In E-voting Protocols
- A Secure and Optimally Efficient Multi-Authority
Election Scheme (Cramer, Gennaro, Schoenmakers) - Receipt-free protocols where vote-buying or
coercing is not possible because voters cannot
prove to others how they voted. - Non-Interactive Zero Knowledge Proofs
- Proof does not require interaction
- Proof does not reveal any other information
- Prove vote is valid without revealing content of
vote - Prove two encryptions encrypt the same message
without revealing message
7Uses of Paillier Cryptography
- Electronic Voting
- Anonymous Mix Nets (due to self-blinding
property) - Electronic Auctions
- Electronic Lotteries
8Cryptographic Techniques Implemented
- Paillier CryptoSystem
- Trapdoor Discrete Logarithm Scheme
- c gMrn mod n2
- n is an RSA modulus (modulus of 2 safe primes)
- Safe prime - p 2q 1 where q is also prime
- g is an integer of order na mod n2
- r is a random number in Zn
- M L(c?(n) mod n2)/L(g?(n) mod n2) mod n
- L(u) (u-1)/n, ?(n)lcm((p-1)(q-1))
- Important Properties
- Probabilistic (randomness of E(M))
- Homomorphic
- E(M1 M2) E(M1) x E(M2), E(k x M) E(M)k
- Self-blinding
- D(E(M) rn mod n2 ) m
9Suggested Encryption/Decryption Optimization
Current Paillier System Suggested Paillier System
Key Generation g na mod n2 Key Generation gn1
Encryption C gMxnmodn2 Encryption C gMxnsmodns1
Decryption M L(c?(n) mod n2)/L(g?(n) mod n2) mod n Decryption cdmodns1 ? (1n)jMdmodns gdmodns1 ? (1n)jdmodns (jMd)(jd)-1 Mmodns
10Suggested Encryption/Decryption Optimization
11Cryptographic Techniques Implemented
- Threshold Encryption
- Public key encryption as usual
- Distribute secret key shares among i
participants - Decryption can only be accomplished if a
threshold number t of the i participants
cooperate - No information about m can be obtained with less
than t participants cooperating - Shamir Secret Sharing
- Lagrange Interpolation formula
- f(X) Sti0 aiXi
- a0 is secret, ai are random, f(X) are secret
shares - X is share index (1 to number of servers)
- If enough f(X) available it is possible to
recover a0
12Voting Application PTC Use
9. Vote Tally
2. SOAP/XML Request for PTC Parameters
Election Admin
5. Paillier Public Key
PTC Web Service
PTC CSP
6. Paillier-Encrypted Vote
3. SOAP/XML Response containing RSA encrypted
PTC Parameters
PTC CSP
Voter
1. Election Authorities RSA Public Keys
PTC CSP
8. Partial Decryption Shares of Vote
Tally/Proofs of Correct Decryption
Election Authorities
4. RSA Encrypted Secret Key Shares
Voters Vote
PTC CSP
7. Paillier Encrypted Vote Tally
13Preliminary Website Layout
Election Creation
Admin Page
Login Page
Encrypt/ Decrypt
Voter Page
Vote Page
14Admin Page
- Election Creation
- Add User(s)/Group(s) allowed to vote
- Add Election Admins
- Encryption/Decryption
- Via Email
- Add group
15Voter Page
- Elections users can vote on
- Brings up voting page
- Allows vote, then doesnt allow user to vote again
16Database Schema
Candidate
Ballots
Encryptors
Users
Elections
Votes
Encryption Status
Eligibility
17Future Direction
- Implement the suggested Improvement
- Integrate other cryptosystem protocols (i.e.
Receipt-Freeness and Zero Knowledge Proofs)
18Questions?