Privacy, Democracy and the Secret Ballot An Informal Introduction to Cryptographic Voting.

Slides:



Advertisements
Similar presentations
Revisiting the efficiency of malicious two party computation David Woodruff MIT.
Advertisements

Receipt-Free Universally-Verifiable Voting With Everlasting Privacy Tal Moran.
Secret Ballot Receipts: True Voter Verifiable Elections Author: David Chaum Published: IEEE Security & Privacy Presenter: Adam Anthony.
Secure Multiparty Computations on Bitcoin
RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.
Vote privacy: models and cryptographic underpinnings Bogdan Warinschi University of Bristol 1.
Talk by Vanessa Teague, University of Melbourne Joint work with Chris Culnane, James Heather & Steve Schneider at University of.
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.
Civitas Verifiability and Coercion Resistance for Remote Voting University of South Alabama August 15, 2012 Michael Clarkson The George Washington University.
Civitas Security and Transparency for Remote Voting Swiss E-Voting Workshop September 6, 2010 Michael Clarkson Cornell University with Stephen Chong (Harvard)
ThreeBallot, VAV, and Twin Ronald L. Rivest – MIT CSAIL Warren D. Smith - CRV Talk at EVT’07 (Boston) August 6, 2007 Ballot Box Ballot Mixer Receipt G.
James Heather, University of Surrey Peter Y A Ryan, University of Luxembourg Vanessa Teague, University of Melbourne.
On the Security of Ballot Receipts in E2E Voting Systems Jeremy Clark, Aleks Essex, and Carlisle Adams Presented by Jeremy Clark.
Cryptographic Voting Protocols: A Systems Perspective Chris Karlof Naveen Sastry David Wagner UC-Berkeley Direct Recording Electronic voting machines (DREs)
Wombat Voting Alon Rosen IDC Herzliya July 20, 2012.
Polling With Physical Envelopes A Rigorous Analysis of a Human–Centric Protocol Tal Moran Joint work with Moni Naor.
1 Receipt-freedom in voting Pieter van Ede. 2 Important properties of voting  Authority: only authorized persons can vote  One vote  Secrecy: nobody.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Receipt-Free Universally-Verifiable Voting With Everlasting Privacy Tal Moran Joint work with Moni Naor.
Short course on quantum computing Andris Ambainis University of Latvia.
A method for electronic voting with Coercion-free receipt David J. Reynolds (unaffiliated)
The Punchscan Voting System Refinement and System Design Rick Carback Kevin Fisher Sandi Lwin May 8, 2006.
Receipt-free Voting Joint work with Markus Jakobsson, C. Andy Neff Ari Juels RSA Laboratories.
Research & development A Practical and Coercion-resistant scheme for Internet Voting Jacques Traoré (joint work with Roberto Araújo and Sébastien Foulle)
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
CS426Fall 2010/Lecture 351 Computer Security CS 426 Lecture 35 Commitment & Zero Knowledge Proofs.
Receipt-Free Universally-Verifiable Voting With Everlasting Privacy Tal Moran Joint work with Moni Naor.
Oblivious Transfer based on the McEliece Assumptions
Kickoff Meeting „E-Voting Seminar“
Trustworthy Elections without Paper Ballots Why vote receipts deserve consideration May 26, 2004 C. Andrew Neff, Ph.D. Chief Scientist VoteHere, Inc.
Receipt-freeness and coercion-resistance: formal definitions and fault attacks Stéphanie Delaune / Steve Kremer / Mark D. Ryan.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
CRYPTOGRAPHY WHAT IS IT GOOD FOR? Andrej Bogdanov Chinese University of Hong Kong CMSC 5719 | 6 Feb 2012.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
Chapter 9 Cryptographic Protocol Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li.
K-Anonymous Message Transmission Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
PRESENTED BY CHRIS ANDERSON JULY 29, 2009 Using Zero Knowledge Proofs to Validate Electronic Votes.
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
Civitas Toward a Secure Voting System AFRL Information Management Workshop October 22, 2010 Michael Clarkson Cornell University.
Cryptographic Voting Protocols: A Systems Perspective By Chris Karlof, Naveen Sastry, and David Wagner University of California, Berkely Proceedings of.
KYUSHUUNIVERSITYKYUSHUUNIVERSITY SAKURAILABORATORYSAKURAILABORATORY Sakurai Lab. Kyushu University Dr-course HER, Yong-Sork E-voting VS. E-auction.
A Brief Intro to Aperio and Eperio Aleksander Essex University of Waterloo, *University of Ottawa SecVote 2010 Sept. 3, Bertinoro Italy.
Chapter 4: Intermediate Protocols
Masked Ballot Voting for Receipt-Free Online Elections Sam Heinith, David Humphrey, and Maggie Watkins.
6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick.
Secure two-party computation: a visual way by Paolo D’Arco and Roberto De Prisco.
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
Andreas Steffen, , LinuxTag2009.ppt 1 LinuxTag 2009 Berlin Verifiable E-Voting with Open Source Prof. Dr. Andreas Steffen Hochschule für Technik.
Chapter 6:Esoteric Protocols Dulal C Kar. Secure Elections Ideal voting protocol has at least following six properties 1.Only authorized voters can vote.
Introduction to Modern Cryptography Sharif University Spring 2015 Data and Network Security Lab Sharif University of Technology Department of Computer.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Electronic Voting R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide anonymity.
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
 5.1 Zero-Knowledge Proofs  5.2 Zero-Knowledge Proofs of Identity  5.3 Identity-Based Public-Key Cryptography  5.4 Oblivious Transfer  5.5 Oblivious.
The Initial Bulletin Board Posting 1 st Batch2 nd BatchEmpty forms Envelopes are: Opaque Sealed Bubbles unfilled Serial numbered (numbers unique per batch)
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
Topic 36: Zero-Knowledge Proofs
ThreeBallot, VAV, and Twin
What happens on election day?
Helger Lipmaa University of Tartu, Estonia
Who can Vote? And Types of Elections
ISI Day – 20th Anniversary
eVoting System Proposal
Ronald L. Rivest MIT ShafiFest January 13, 2019
Presentation transcript:

Privacy, Democracy and the Secret Ballot An Informal Introduction to Cryptographic Voting

Talk Outline Background on Voting Voting with Mix-Nets Voting and Privacy A Human-Verifiable Voting Scheme Splitting trust between multiple authorities

A [Very] Brief History of Voting Ancient Greece (5 th century BCE) Paper Ballots – Rome: 2 nd century BCE (Papyrus) – USA: 17 th century Secret Ballots (19 th century) – The Australian Ballot Lever Machines Optical Scan (20 th century) Direct Recording Electronic (DRE)

Requirements based on democratic principles: – Outcome should reflect the “people’s will” Fairness – One person, one vote Privacy – Not a principle in itself; required for fairness Cast-as-intended Counted-as-cast Voting: The Challenge Additional requirements: Authorization, Availability

The Case for Cryptographic Voting Elections don’t just name the winner must convince the loser they lost! Elections need to be verifiable Counting in public: – Completely verifiable – But no vote privacy Using cryptography, we can get both!

Voting with Mix-Nets Idea due to David Chaum (1981) Multiple “Election Authorities” – Assume at least one is honest Each voter creates “Onion Ballot” Authorities decrypt and shuffle No Authority knows all permutations – Authorities can publish “proof of shuffle” NoNo NoNo YesYes NoNo NoNo YesYes NoNo NoNo YesYes NoNo YesYes NoNo NoNo

How Private is Private? Intuition: No one can tell how you voted This is not always possible Best we can hope for: – As good as the “ideal” vote counter v1v1 v2v2 vnvn … Tally i1i1 i2i2 inin

Privacy is not Enough! Voter can sell vote by disclosing randomness Example: Italian Village Elections – System allows listing candidates in any order – Bosses gave a different permutation of “approved” candidates to each voter – They could check which permutations didn’t appear Need “Receipt-Freeness” [Benaloh&Tuinstra 1994]

Flavors of Cryptographic Privacy Computational – Depends on a computational assumption – A powerful enough adversary can “break” the privacy guarantee – Example: Mix-Nets (public-key encryption) Unconditional – Privacy holds even for infinitely powerful adversary – Example: Statistically-Hiding Commitment Everlasting – After protocol ends, privacy is “safe” forever – Example: Unopened Statistically-Hiding Commitments

Who can you trust to encrypt? Public-key encryption requires computers Voting at home – Coercer can sit next to you Voting in a polling booth – Can you trust the polling computer? Verification should be possible for a human! Receipt-freeness and privacy are also affected.

A New Breed of Voting Protocols Chaum introduced first “human-verifiable” protocol in 2004 Two classes of protocols: 1.Destroy part of the ballot in the booth [Chaum] 2.Hide order of events in the booth [Neff] Next: a “hidden-order” based protocol – Receipt-free – Universally verifiable – Everlasting Privacy

Alice and Bob for Class President Cory “the Coercer” wants to rig the election  He can intimidate all the students Only Mr. Drew is not afraid of Cory  Everybody trusts Mr. Drew to keep secrets  Unfortunately, Mr. Drew also wants to rig the election  Luckily, he doesn't stoop to blackmail Sadly, all the students suffer severe RSI  They can't use their hands at all  Mr. Drew will have to cast their ballots for them

Commitment with “Equivalence Proof” We use a 20g weight for Alice......and a 10g weight for Bob Using a scale, we can tell if two votes are identical  Even if the weights are hidden in a box! The only actions we allow are:  Open a box  Compare two boxes

Additional Requirements An “untappable channel”  Students can whisper in Mr. Drew's ear Commitments are secret  Mr. Drew can put weights in the boxes privately Everything else is public  Entire class can see all of Mr. Drew’s actions  They can hear anything that isn’t whispered  The whole show is recorded on video (external auditors) I’m whispering

Ernie Casts a Ballot Ernie whispers his choice to Mr. Drew I like Alice

Ernie Ernie Casts a Ballot Mr. Drew puts a box on the scale Mr. Drew needs to prove to Ernie that the box contains 20g  If he opens the box, everyone else will see what Ernie voted for! Mr. Drew uses a “Zero Knowledge Proof”

Ernie Casts a Ballot Mr. Drew puts k (=3) “proof” boxes on the table  Each box should contain a 20g weight  Once the boxes are on the table, Mr. Drew is committed to their contents Ernie Ernie Casts a Ballot

Ernie “challenges” Mr. Drew; For each box, Ernie flips a coin and either:  Asks Mr. Drew to put the box on the scale (“prove equivalence”) It should weigh the same as the “Ernie” box  Asks Mr. Drew to open the box It should contain a 20g weight Ernie Weigh 1 Open 2 Open 3 Ernie Ernie Casts a Ballot

Ernie Open 1 Weigh 2 Open 3 Ernie Casts a Ballot If the “Ernie” box doesn’t contain a 20g weight, every proof box:  Either doesn’t contain a 20g weight  Or doesn’t weight the same as the Ernie box Mr. Drew can fool Ernie with probability at most 2 -k

Ernie Casts a Ballot Why is this Zero Knowledge? When Ernie whispers to Mr. Drew, he can tell Mr. Drew what his challenge will be. Mr. Drew can put 20g weights in the boxes he will open, and 10g weights in the boxes he weighs I like Alice Open 1 Weigh 2 Weigh 3

Ernie whispers his choice and a fake challenge to Mr. Drew Mr. Drew puts a box on the scale  it should contain a 20g weight Mr. Drew puts k “Alice” proof boxes and k “Bob” proof boxes on the table  Bob boxes contain 10g or 20g weights according to the fake challenge Ernie I like Alice Open 1 Weigh 2 Weigh 3 Ernie Casts a Ballot: Full Protocol

Ernie shouts the “Alice” (real) challenge and the “Bob” (fake) challenge Drew responds to the challenges No matter who Ernie voted for, The protocol looks exactly the same! Open 1 Open 2 Weigh 3 Open 1 Weigh 2 Weigh 3 Ernie Ernie Casts a Ballot: Full Protocol

Implementing “Boxes and Scales” We can use Pedersen commitment G: a cyclic (abelian) group of prime order p g,h: generators of G  No one should know log g h To commit to m2Z p :  Choose random r2Z p  Send x=g m h r Statistically Hiding:  For any m, x is uniformly distributed in G Computationally Binding:  If we can find m’  m and r’ such that g m’ h r’ =x then:  g m-m’ =h r-r’  1, so we can compute log g h=(r-r’)/(m-m’) r

Implementing “Boxes and Scales” To prove equivalence of x= g m h r and y= g m h s  Prover sends t=r-s  Verifier checks that yh t =x r g h s g h t=r-st=r-s

A “Real” System 1 Receipt for Ernie 2 o63ZJVxC91rN0uRv/DtgXxhl+UY= 3 - Challenges - 4 Alice: 5 Sn0w 619- ziggy p3 6 Bob: 7 l4st phone et spla 8 - Response - 9 9NKWoDpGQMWvUrJ5SKH8Q2CtwAQ= 0 === Certified === Hello Ernie, Welcome to VoteMaster Please choose your candidate: Bob Alice

1 Receipt for Ernie 2 o63ZJVxC91rN0uRv/DtgXxhl+UY= 3 - Challenges - 4 Alice: 5 Sn0w 619- ziggy p3 6 Bob: 7 l4st phone et spla 8 - Response - 9 9NKWoDpGQMWvUrJ5SKH8Q2CtwAQ= 0 === Certified === Hello Ernie, You are voting for Alice Please enter a fake challenge for Bob A “Real” System l4st phone et spla Alice: Bob : Continue

1 Receipt for Ernie 2 o63ZJVxC91rN0uRv/DtgXxhl+UY= 3 - Challenges - 4 Alice: 5 Sn0w 619- ziggy p3 6 Bob: 7 l4st phone et spla 8 - Response - 9 9NKWoDpGQMWvUrJ5SKH8Q2CtwAQ= 0 === Certified === Hello Ernie, You are voting for Alice Make sure the printer has output two lines (the second line will be covered) Now enter the real challenge for Alice A “Real” System l4st phone et spla Alice: Bob : Sn0w 619- ziggy p3 Continue

A “Real” System 1 Receipt for Ernie 2 o63ZJVxC91rN0uRv/DtgXxhl+UY= 3 - Challenges - 4 Alice: 5 Sn0w 619- ziggy p3 6 Bob: 7 l4st phone et spla 8 - Response - 9 9NKWoDpGQMWvUrJ5SKH8Q2CtwAQ= 0 === Certified === Hello Ernie, You are voting for Alice Please verify that the printed challenges match those you entered. l4st phone et spla Alice: Bob : Sn0w 619- ziggy p3 Finalize Vote

A “Real” System 1 Receipt for Ernie 2 o63ZJVxC91rN0uRv/DtgXxhl+UY= 3 - Challenges - 4 Alice: 5 Sn0w 619- ziggy p3 6 Bob: 7 l4st phone et spla 8 - Response - 9 9NKWoDpGQMWvUrJ5SKH8Q2CtwAQ= 0 === Certified === 1 2 Hello Ernie, Thank you for voting Please take your receipt

Counting the Votes Mr. Drew announces the final tally Mr. Drew must prove the tally correct  Without revealing who voted for what! Recall: Mr. Drew is committed to everyone’s votes ErnieFayGuyHeidi Alice: 3 Bob: 1

Counting the Votes Mr. Drew puts k rows of new boxes on the table  Each row should contain the same votes in a random order A “random beacon” gives k challenges  Everyone trusts that Mr. Drew cannot anticipate the challenges Alice: 3 Bob: 1 ErnieFayGuyHeidi Weigh Weigh Open

Counting the Votes For each challenge:  Mr. Drew proves that the row contains a permutation of the real votes Alice: 3 Bob: 1 ErnieFayGuyHeidi Weigh Weigh Open ErnieFayGuyHeidi

Counting the Votes For each challenge:  Mr. Drew proves that the row contains a permutation of the real votes Or  Mr. Drew opens the boxes and shows they match the tally Alice: 3 Bob: 1 Weigh Weigh Open ErnieFayGuyHeidi

Counting the Votes If Mr. Drew’s tally is bad  The new boxes don’t match the tally Or  They are not a permutation of the committed votes Drew succeeds with prob. at most 2 -k Alice: 3 Bob: 1 Weigh Weigh Open ErnieFayGuyHeidi

Counting the Votes This prototocol does not reveal information about specific votes:  No box is both opened and weighed  The opened boxes are in a random order Alice: 3 Bob: 1 Weigh Weigh Open ErnieFayGuyHeidi

Interim Summary Background on Voting Voting with Mix-Nets Voting and Privacy A Human-Verifiable Voting Scheme  Universally-Verifiable  Receipt-Free  Based on commitment with equivalence testing Next  Splitting trust between multiple authorities

Protocol Ingredients Two independent voting authorities Public bulletin board – “Append Only” Private voting booth Private channel between authorities

Protocol Overview Voters receive separate parts of the ballot from the authorities They combine the parts to vote Some of the ballot is destroyed to maintain privacy – No authority knows all of the destroyed parts Both authorities cooperate to tally votes – Public proof of correctness (with everlasting privacy) Even if both authorities cooperate cheating will be detected – Private information exchange to produce the proof Still maintains computational privacy #1 Left#1 Right

Casting a Ballot Choose a pair of ballots to audit #1 Left#1 Right #2 Left#2 Right #1 Left#1 Right

#2 Left#2 Right Casting a Ballot Choose a pair of ballots to audit Open and scan audit ballot pair #1 Right#1 Left

Casting a Ballot Choose a pair of ballots to audit Open and scan audit ballot pair Enter private voting booth Open voting ballot pair #2 Left#2 Right #2 Left Private Booth

Casting a Ballot Choose a pair of ballots to audit Open and scan audit ballot pair Enter private voting booth Open voting ballot pair Stack ballot parts Mark ballot Private Booth A,FB,EC,H D,G

Casting a Ballot Choose a pair of ballots to audit Open and scan audit ballot pair Enter private voting booth Open voting ballot pair Stack ballot parts Mark ballot Separate pages Private Booth

Casting a Ballot Choose a pair of ballots to audit Open and scan audit ballot pair Enter private voting booth Open voting ballot pair Stack ballot parts Mark ballot Separate pages Destroy top (red) pages Leave booth. Scan bottom pages Private Booth Random letter order: different on each ballot Commitment to letter order

Forced Destruction Requirement Voters must be forced to destroy top sheets – Marking a revealed ballot as spoiled is not enough! Coercer can force voter to spoil certain ballots – Coerced voters vote “correctly” 50% of the time Attack works against other cryptographic voting systems too

Checking the Receipt Receipt consists of: – Filled-out bottom (green) pages of voted ballot – All pages of empty audit ballot Verify receipt copy on bulletin board is accurate Audited Unvoted Ballots Audit checks that commitment matches ballot

Counting the Ballots Bulletin board contains commitments to votes – Each authority publishes “half” a commitment – Doesn’t know the other half We can publicly “add” both halves – “Homomorphic Commitment” Now neither authority can open! We need to shuffle commitments before opening – Encryption equivalent is mix-net – Won’t work for everlasting privacy: not enough information

Counting the Ballots We need an oblivious commitment shuffle Idea: Use homomorphic commitment and encryption over the same group – Publicly “add” commitments – Publicly shuffle commitments – Privately perform the same operations using encryptions – Just enough information to open, still have privacy

Oblivious Commitment Shuffle Show a semi-honest version of the protocol Real protocol works in the malicious model We’ll use a clock analogy for homomorphic commitment and encryption

Oblivious Commitment Shuffle Modular addition with clocks x+y z ←

Oblivious Commitment Shuffle Homomorphic Commitment – Hour hand is “value” – Minute hand is opening key (randomness) – Value and key are added separately – After homomorphic addition, commitment cannot be opened by either party!

Oblivious Commitment Shuffle

Summary and Open Questions Background on Voting Voting with Mix-Nets Voting and Privacy A Human-Verifiable Voting Scheme Splitting trust between multiple authorities – Protocol distributes trust between two authorities – Everlasting Privacy Can we improve the human interface? – Required if we want more authorities New voting protocols?

Thank You!