Cryptographic Voting Systems (Ben Adida) Jimin Park Carleton University COMP 4109 Seminar 15 February 2011.

Slides:



Advertisements
Similar presentations
Chapter 3 Public Key Cryptography and Message authentication.
Advertisements

Public Key Cryptosystem
Secret Ballot Receipts: True Voter Verifiable Elections Author: David Chaum Published: IEEE Security & Privacy Presenter: Adam Anthony.
RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.
Requirements for a Secure Voting System  Only authorized voters can vote  No one can vote more than once  No one can determine for whom anyone else.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Electronic Voting Presented by Ben Riva Based on presentations and papers of: Schoenmakers, Benaloh, Fiat, Adida, Reynolds, Ryan and Chaum.
Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)
Dr. Lo’ai Tawalbeh Summer 2007 Chapter 9 – Public Key Cryptography and RSA Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus INCS.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
CMSC 414 Computer (and Network) Security Lecture 2 Jonathan Katz.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
10/25/20061 Threshold Paillier Encryption Web Service A Master’s Project Proposal by Brett Wilson.
Kickoff Meeting „E-Voting Seminar“
Paillier Threshold Encryption WebService by Brett Wilson.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
Introduction to Modern Cryptography Lecture 7 1.RSA Public Key CryptoSystem 2.One way Trapdoor Functions.
Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender and receiver if this key is disclosed communications.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Dr.Saleem Al_Zoubi1 Cryptography and Network Security Third Edition by William Stallings Public Key Cryptography and RSA.
1 Pertemuan 08 Public Key Cryptography Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
Remarks on Voting using Cryptography Ronald L. Rivest MIT Laboratory for Computer Science.
Public Key Cryptography RSA Diffie Hellman Key Management Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College,
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.5 Public Key Algorithms.
Public-Key Cryptography and RSA CSE 651: Introduction to Network Security.
Introduction to Public Key Cryptography
Public Key Model 8. Cryptography part 2.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
CSCI 398 Research Topics in Computer Science Yana Kortsarts Computer Science Department Widener University Chester, PA.
ElGamal Public Key Cryptography CS 303 Alg. Number Theory & Cryptography Jeremy Johnson Taher ElGamal, "A Public-Key Cryptosystem and a Signature Scheme.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Public-Key Cryptography CS110 Fall Conventional Encryption.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Andreas Steffen, , LinuxTag2009.ppt 1 LinuxTag 2009 Berlin Verifiable E-Voting with Open Source Prof. Dr. Andreas Steffen Hochschule für Technik.
Chapter 21 Public-Key Cryptography and Message Authentication.
A. Steffen, , Kickoff.pptx 1 Kickoff Meeting „E-Voting Seminar“ An Introduction to Cryptographic Voting Systems Andreas Steffen Hochschule für.
Cryptography and Network Security (CS435) Part Eight (Key Management)
Public-Key Encryption
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
1 Public-Key Cryptography and Message Authentication.
Computer and Network Security Rabie A. Ramadan Lecture 6.
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Cryptography and Network Security Key Management and Other Public Key Cryptosystems.
The Paillier Cryptosystem
Chapter 3 – Public Key Cryptography and RSA (A). Private-Key Cryptography traditional private/secret/single-key cryptography uses one key shared by both.
Scott CH Huang COM 5336 Cryptography Lecture 6 Public Key Cryptography & RSA Scott CH Huang COM 5336 Cryptography Lecture 6.
Chapter 9 Public Key Cryptography and RSA. Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
CS/COE 1501 Recitation RSA Encryption/Decryption Extended Euclidean Algorithm Digital Signatures.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
CS480 Cryptography and Information Security
Public Key Encryption and Digital Signatures
ISI Day – 20th Anniversary
Presentation transcript:

Cryptographic Voting Systems (Ben Adida) Jimin Park Carleton University COMP 4109 Seminar 15 February 2011

“ If you think cryptography is the solution to your problem….

… then you don’t understand cryptography… …and you don’t understand your problem.”

Yet, cryptography solves problems that initially appear to be impossible.

There is a potential paradigm shift. A means of election verification far more powerful than other methods.

“But with cryptography, you’re just moving the black box. Few people really understand it or trust it.” Debra Bowen California Sec. of State, 7/30/2008 (paraphrased)

Problems with current voting systems Rigged lever machine counters, lost ballot boxes or magically found, dead citizens’ votes.

Why not fully computerize voting systems? Bush vs. Gore (California, 2000) – Bush won by just 500 votes! – Known missing ballots, coercion – Computerization was taken seriously Direct Recording Electronic (DRE) machines – Nothing but touch screen, automatic tallying – Problems with DRE, can we trust it? Inherited risks of any computer systems (bugs, back door code, etc.) Non-transparency Ref: [2] Avi Rubin

Dilemma: Verification vs. Secrecy Analogy: ATM machines – Fully automated computerized system – Why do we trust them? – We can fully verify the transactions Difference between ATM and Voting Systems – VS: information being verified must stay secret “Rely on mathematical proofs of the results – rather than of the machines.”

The Goal of Cryptographic Voting Systems No: Chain-of-Custody approach (current) Yes: End-to-End verification approach

Flow Diagram

Threshold Decryption Need Public-key encryption system Private keys used for decryption need to be distributed among the different parties – Shared-secret scheme E.g. ) A race of 3 candidates. Each given an equation of a plane (non-coplanar). Key resides at the point where all planes intersect. Ref: [3] Blakley, G. R.

What crypto system to use? 3 desired properties of our crypto system – Public-Private key encryption-decryption Voters encrypt Candidates decrypt – Easily generated random keys One vote encrypts to many different cipher-texts – Homomorphic Cipher-texts (different votes) get aggregated to one cipher-text under certain operation (addition, multiplication, etc.) Ref: [4] Josh D. Cohen and Michael J. Fischer

Group Homomorphism Def: Given two groups (G, *) and (H, ·), group homomorphism from (G, *) to (H, ·) is a function h : G → H such that for all u and v in G it holds that In our case, the function h can be the encryption. h(u v) = h(u) · h(v) * encrypt(u v) = encrypt(u) · encrypt(v) *

El Gamal encryption: original (1) Bob computes + publishes: - p : large prime (p-1 has at least one large prime factor) - a : primitive element mod p - y : public key, y = a mod p x : private key, x = random(1, 2, …, p-1) (2) Alice encrypts : message m: 0 <= m <= p (c1, c2) = ( y, m · SK) mod p = ( a, m · (a ) ) mod p (3) Bob decrypts: (m · SK· SK ) mod p = (m · a · a ) mod p = m Alice Bob (voters) (candidates) BB x BB B A X A X B X A A X X B -X X A B Ref: [6] T. El Gamal Shared Key (SK) SK = (y ) = (y ) B x A A B x

El Gamal example (1) Bob computes + publishes: - p : large prime (p-1 has at least one large prime factor) - a : primitive element mod p - y : public key, y = a mod p x : private key, x = random(1, 2, …, p-1) (2) Alice encrypts : message m: 0 <= m <= p-1 (c1, c2) = ( y, m · SK) mod p = ( a, m · (a ) ) mod p (3) Bob decrypts: (m · SK· SK ) mod p = (m · a · a ) mod p = m Alice Bob (voters) (candidates) BB x BB B A X A X B X A A X X B -X X A B Ref: [6] T. El Gamal p : 13 a : 2 x : 11 y : 7 (2 mod 13) 11 B B m : 7 (c1, c2) = (2, 7 · (2 ) ) mod 13 = (12, 6) (7 · 2 · 2 ) mod 13 =

Comparison: RSA vs. El Gamal Security – RSA: factoring large integers – El Gamal: discrete logarithms 3 ≡ 13 (mod 17) what is x? Keys – RSA: expensive computation of finding p and q – El Gamal: computation of p and q is done once x

Homomorphic Tallying Original El Gamal Enc(m1) · Enc(m2) = ( y, m · SK ) · ( y, m · SK ) mod p = ( y · y, (m · m ) · (SK · SK )) mod p = Enc( m · m ) X X X X Exponential El Gamal Enc(m1) · Enc(m2) = ( y, a · SK ) · ( y, a · SK ) mod p = ( y · y, a · (SK · SK )) mod p = Enc( a ) It would be more useful if we could do addition on the cipher texts rather than multiplication! m 1 m 2 X 1 X X 1 X 2 (m + m )

What is the message that we are encrypting?

Let’s Vote! (1)Auditing the ballot - by zero-knowledge proof -Pick any two ballots to vote -“You” pick one of them and scratch to reveal random numbers -> private keys of the ballot -Take to election activist organization to scan 2D bar code and validate the ballot

Zero-knowledge Proof

Let’s Vote! (2) Vote (3) Remove candidate list (4) Shred random numbers, take home the receipt

Public Bulletin Board “The votes of the registered citizens were casted as intended and these votes are tallied properly, so we have counted as intended!”

Mixnets Ref: [7] David Chaum

Deployments Numerous university student elections – MIT, Hardvard, etc. – Unversite Catholique de Louvain: 25,000 voters – University of Ottawa: punchscan voting system Takoma Park election, Maryland (Nov ) – Electing mayor, city councils, etc. – First binding governmental election

Ben’s Fear Computerization of voting is inevitable, without true verifiability, the situation is grim. Ben’s Hope Public auditing proofs will soon be as common as public-key crypto is now.

Quiz (1)What approach is current voting system taking? And what is this seminar’s proposed approach? (2)What is threshold decryption? (3)List the 3 desired properties crypto system should have for homomorphic tallying method? (4)What method is used to do ballot auditing? (5)In the voting process, the un-scratched random numbers are shredded in public view. What is the danger in revealing these numbers? What sort of benefit would a coercer have?

Reference [1] Ben Adida. Advances in Cryptographic Voting Systems. MIT. (2006). [2] Avi Rubin. An Election Day clouded by doubt, October [3] Blakley, G. R. Safeguarding cryptographic keys. Proceedings of the National Computer Conference 48: , (1979). [4] Josh D. Cohen and Michael J. Fischer. A robust and verifiable cryptographically secure election scheme. In FOCS, pages 372–382. IEEE Computer Society, [5] S. Poblig and M. Hellman, An improved algorithm for computing logarithms over GF(p) and its cryptographic significance, IEEE Transaction on Information Theory It- 24: , (1978). [6] T. El Gamal. A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. IEEE Transactions on Information Theory 31, pg (1985) [7] David Chaum. Untraceable electronic mail, return addresses, and digital pseudonyms. Commun. ACM, 24(2):84–88, (1981).