180 likes | 307 Views
Enhancing PTC based Secure E-Voting System (note: modification of Brett Wilson’s Paillier Threshold Cryptography Web Service view graph). by Justin Pohlmann Allen Liu. Outline of the Talk. Introduction/Motivation Related Work Paillier Threshold Cryptography Suggested Improvement
E N D
Enhancing PTC based Secure E-Voting System(note: modification of Brett Wilson’s Paillier Threshold Cryptography Web Service view graph) by Justin Pohlmann Allen Liu bswilson/eVote-PTCWS
Outline of the Talk • Introduction/Motivation • Related Work • Paillier Threshold Cryptography • Suggested Improvement • Encryption/Decryption Optimization • User Interface • Future Direction • Conclusion bswilson/eVote-PTCWS
Introduction/Motivation • E-voting Requirements • Privacy/Anonymity, Completeness, Soundness, Un-reusability, Eligibility, Fairness • Robustness, Universal Verifiability, Receipt-Freeness, Incoercibility bswilson/eVote-PTCWS
Introduction/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 bswilson/eVote-PTCWS
Related Work • Basis for Implementation • Sharing Decryption in the context of Voting or Lotteries (Fouque, Poupard, Stern) • Closely related research • A Generalization of Paillier’s Public Key Cryptosystem with Applications to Electronic Voting (Damgard, Jurik, Nielson) • Encryption and Decryption Optimization bswilson/eVote-PTCWS
Related 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 bswilson/eVote-PTCWS
Uses of Paillier Cryptography • Electronic Voting • Anonymous Mix Nets (due to self-blinding property) • Electronic Auctions • Electronic Lotteries bswilson/eVote-PTCWS
Cryptographic 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 nα 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 bswilson/eVote-PTCWS
Suggested Encryption/Decryption Optimization bswilson/eVote-PTCWS
Suggested Encryption/Decryption Optimization • . • From O(ns) O(s) bswilson/eVote-PTCWS
Cryptographic 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) = Σti=0 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 bswilson/eVote-PTCWS
Voting 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 PTC CSP 3. SOAP/XML Response containing RSA encrypted PTC Parameters Voter 1. Election Authorities’ RSA Public Keys PTC CSP 8. Partial Decryption Shares of Vote Tally/Proofs of Correct Decryption 4. RSA Encrypted Secret Key Shares Election Authorities Voters Vote PTC CSP 7. Paillier Encrypted Vote Tally bswilson/eVote-PTCWS
Preliminary Website Layout Election Creation Admin Page Login Page Encrypt/ Decrypt Voter Page Vote Page bswilson/eVote-PTCWS
Admin Page • Election Creation • Add User(s)/Group(s) allowed to vote • Add Election Admins • Encryption/Decryption • Via Email • Add group bswilson/eVote-PTCWS
Voter Page • Elections users can vote on • Brings up voting page • Allows vote, then doesn’t allow user to vote again bswilson/eVote-PTCWS
Database Schema Candidate Ballots Encryptors Users Elections Votes Encryption Status Eligibility bswilson/eVote-PTCWS
Future Direction • Implement the suggested Improvement • Integrate other cryptosystem protocols (i.e. Receipt-Freeness and Zero Knowledge Proofs) bswilson/eVote-PTCWS
Questions? bswilson/eVote-PTCWS