Practical Aspects of Modern Cryptography

Slides:



Advertisements
Similar presentations
Non-interactive Zero- Knowledge Arguments for Voting Jens Groth UCLA.
Advertisements

Secret Ballot Receipts: True Voter Verifiable Elections Author: David Chaum Published: IEEE Security & Privacy Presenter: Adam Anthony.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.
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.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Receipt-Free Universally-Verifiable Voting With Everlasting Privacy Tal Moran Joint work with Moni Naor.
Payment Systems 1. Electronic Payment Schemes Schemes for electronic payment are multi-party protocols Payment instrument modeled by electronic coin that.
Receipt-free Voting Joint work with Markus Jakobsson, C. Andy Neff Ari Juels RSA Laboratories.
Josh Benaloh Senior Cryptographer Microsoft Research.
Introduction to Modern Cryptography, Lecture 13 Money Related Issues ($$$) and Odds and Ends.
Practical Aspects of Modern Cryptography Josh Benaloh & Brian LaMacchia.
10/25/20061 Threshold Paillier Encryption Web Service A Masterโ€™s Project Proposal by Brett Wilson.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
Electronic Voting Schemes and Other stuff. Requirements Only eligible voters can vote (once only) No one can tell how voter voted Publish who voted (?)
Introduction to Signcryption November 22, /11/2004 Signcryption Public Key (PK) Cryptography Discovering Public Key (PK) cryptography has made.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
How Elections Should Really Be Run Josh Benaloh Senior Cryptographer Microsoft Research.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Andreas Steffen, , LinuxTag2009.ppt 1 LinuxTag 2009 Berlin Verifiable E-Voting with Open Source Prof. Dr. Andreas Steffen Hochschule fรผr Technik.
Chapter 16 Security Introduction to CS 1 st Semester, 2012 Sanghyun Park.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Chapter 3 (B) โ€“ Key Management; Other Public Key Cryptosystems.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
The Paillier Cryptosystem
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Josh Benaloh Senior Cryptographer Microsoft Research.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
Secure Remote Electronic Voting CSE-681 Fall 2006 David Foster and Laura Stapleton Laura StapletonLaura Stapleton.
Public Key Cryptography. Asymmetric encryption is a form of cryptosystem in which Encryption and decryption are performed using the different keysโ€”one.
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 14. Digital signature.
Topic 36: Zero-Knowledge Proofs
Web Applications Security Cryptography 1
Outline The basic authentication problem
Practical Aspects of Modern Cryptography
Basics of Cryptography
Recipt-free Voting Through Distributed Blinding
ThreeBallot, VAV, and Twin
On the Size of Pairing-based Non-interactive Arguments
Information Security message M one-way hash fingerprint f = H(M)
Public-key Cryptography
Chapters 14,15 Security.
Secure and Insecure Mixing
Practical Aspects of Modern Cryptography
Information Security message M one-way hash fingerprint f = H(M)
Texas Secretary of State Elections Division
Practical Aspects of Modern Cryptography
ISI Day โ€“ 20th Anniversary
NET 311 Information Security
Information Security message M one-way hash fingerprint f = H(M)
Enabling Technology1: Cryptography
Interactive Proofs Adapted from Oded Goldreichโ€™s course lecture notes.
Digital Signaturesโ€ฆ!.
Threshold RSA Cryptography
NET 311 Information Security
Chapters 14,15 Security.
Practical Aspects of Modern Cryptography
Interactive Proofs Adapted from Oded Goldreichโ€™s course lecture notes.
Interactive Proofs Adapted from Oded Goldreichโ€™s course lecture notes.
Chapter 29 Cryptography and Network Security
Introduction to Cryptography
Ronald L. Rivest MIT ShafiFest January 13, 2019
Fluency with Information Technology Lawrence Snyder
A General Introduction to Modern Cryptography
Interactive Proofs Adapted from Oded Goldreichโ€™s course lecture notes.
Presentation transcript:

Practical Aspects of Modern Cryptography Autumn 2016 Tolga Acar Josh Benaloh

Fun with Public-Key Tonight weโ€™ll โ€ฆ Introduce some basic tools of public-key crypto Combine the tools to create more powerful tools Lay the ground work for substantial applications November 17, 2018 Practical Aspects of Modern Cryptography

Challenge-Response Protocols November 17, 2018 Practical Aspects of Modern Cryptography

Challenge-Response Protocols One party often wants to convince another party that something is true โ€ฆ November 17, 2018 Practical Aspects of Modern Cryptography

Challenge-Response Protocols One party often wants to convince another party that something is true โ€ฆ โ€ฆ without giving everything away. November 17, 2018 Practical Aspects of Modern Cryptography

Proof of Knowledge โ€œI know the secret key ๐‘˜.โ€ November 17, 2018 Practical Aspects of Modern Cryptography

PoK: Method 1 November 17, 2018 Practical Aspects of Modern Cryptography

PoK: Method 1 Here is ๐‘˜. November 17, 2018 Practical Aspects of Modern Cryptography

PoK: Method 2 November 17, 2018 Practical Aspects of Modern Cryptography

PoK: Method 2 Here is a nonce ๐‘. November 17, 2018 Practical Aspects of Modern Cryptography

PoK: Method 2 Here is a nonce ๐‘. Here is the hash โ„Ž(๐‘,๐‘˜). November 17, 2018 Practical Aspects of Modern Cryptography

Traditional Proofs November 17, 2018 Practical Aspects of Modern Cryptography

Traditional Proofs I want to convince you that something is true. November 17, 2018 Practical Aspects of Modern Cryptography

Traditional Proofs I want to convince you that something is true. I write down a proof and give it to you. November 17, 2018 Practical Aspects of Modern Cryptography

Interactive Proofs We engage in a dialogue at the conclusion of which you are convinced that my claim is true. November 17, 2018 Practical Aspects of Modern Cryptography

Graph Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

Graph Isomorphism B C A E D November 17, 2018 Practical Aspects of Modern Cryptography

Graph Isomorphism B C A A E D C D B E November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism Generate, say, 100 additional graphs isomorphic to G1 (and therefore also isomorphic to G2). November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism Accept a single bit challenge โ€œL/Rโ€ for each of the 100 additional graphs. November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism Accept a single bit challenge โ€œL/Rโ€ for each of the 100 additional graphs. Display the indicated isomorphism for each of the additional graphs. November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism L H2 R H3 G1 R G2 H100 L November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism If graphs G1 and G2 were not isomorphic, then the โ€œproverโ€ would not be able to show any additional graph to be isomorphic to both G1 and G2. November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Isomorphism If graphs G1 and G2 were not isomorphic, then the โ€œproverโ€ would not be able to show any additional graph to be isomorphic to both G1 and G2. A successful false proof would require the prover to guess all 100 challenges in advance: probability 1 in 2100. November 17, 2018 Practical Aspects of Modern Cryptography

Fiat-Shamir Heuristic November 17, 2018 Practical Aspects of Modern Cryptography

Fiat-Shamir Heuristic Instead of challenge bits being externally generated, they can be produced by applying a one-way hash function to the full set of additional graphs. November 17, 2018 Practical Aspects of Modern Cryptography

Fiat-Shamir Heuristic Instead of challenge bits being externally generated, they can be produced by applying a one-way hash function to the full set of additional graphs. This allows an interactive proof to be โ€œpublishedโ€ without need for interaction. November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Non-Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Non-Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Non-Isomorphism A verifier can generate 100 additional graphs, each isomorphic to one of G1 and G2 , and present them to the prover. November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Non-Isomorphism A verifier can generate 100 additional graphs, each isomorphic to one of G1 and G2 , and present them to the prover. The prover can then demonstrate that the graphs are not isomorphic by identifying which of G1 and G2 each additional graph is isomorphic to. November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Non-Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Non-Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

IP of Graph Non-Isomorphism November 17, 2018 Practical Aspects of Modern Cryptography

Proving Something is a Square November 17, 2018 Practical Aspects of Modern Cryptography

Proving Something is a Square Suppose I want to convince you that ๐‘Œ is a square modulo ๐‘. [There exists an ๐‘‹ such that ๐‘Œ = ๐‘‹ 2 mod ๐‘ .] November 17, 2018 Practical Aspects of Modern Cryptography

Proving Something is a Square Suppose I want to convince you that ๐‘Œ is a square modulo ๐‘. [There exists an ๐‘‹ such that ๐‘Œ = ๐‘‹ 2 mod ๐‘ .] First approach: I give you ๐‘‹. November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 November 17, 2018 1 1 1 November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 ๐‘Œ1 ๐‘Œ3 ๐‘Œ4 1 1 1 ๐‘Œ1 ๐‘Œ3 ๐‘Œ4 November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 ๐‘Œ1 ๐‘Œ3 ๐‘Œ4 (๐‘Œ2โ€ข๐‘Œ) 1 1 1 ๐‘Œ1 ๐‘Œ3 ๐‘Œ4 (๐‘Œ2โ€ข๐‘Œ) (๐‘Œ5โ€ข๐‘Œ) (๐‘Œ100โ€ข๐‘Œ) November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof In order for me to โ€œfoolโ€ you, I would have to guess your exact challenge sequence. November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof In order for me to โ€œfoolโ€ you, I would have to guess your exact challenge sequence. The probability of my successfully convincing you that ๐‘Œ is a square when it is not is 2 โˆ’100 . November 17, 2018 Practical Aspects of Modern Cryptography

An Interactive Proof In order for me to โ€œfoolโ€ you, I would have to guess your exact challenge sequence. The probability of my successfully convincing you that ๐‘Œ is a square when it is not is 2 โˆ’100 . This interactive proof is said to be โ€œzero-knowledgeโ€ because the challenger received no information (beyond the proof of the claim) that it couldnโ€™t compute itself. November 17, 2018 Practical Aspects of Modern Cryptography

Applying Fiat-Shamir Once again, the verifier challenges can be simulated by the use of a one-way function to generate the challenge bits. November 17, 2018 Practical Aspects of Modern Cryptography

An Non-Interactive ZK Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 November 17, 2018 Practical Aspects of Modern Cryptography

An Non-Interactive ZK Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 where the bit string is computed as xxx = SHA-1(๐‘Œ1, ๐‘Œ2,โ€ฆ, ๐‘Œ100) November 17, 2018 Practical Aspects of Modern Cryptography

An Non-Interactive ZK Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 ๐‘Œ1 ๐‘Œ3 ๐‘Œ4 November 17, 2018 Practical Aspects of Modern Cryptography

An Non-Interactive ZK Proof ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 ๐‘Œ1 ๐‘Œ3 ๐‘Œ4 (๐‘Œ2โ€ข๐‘Œ) (๐‘Œ5โ€ข๐‘Œ) (๐‘Œ100โ€ข๐‘Œ) November 17, 2018 Practical Aspects of Modern Cryptography

Proving Knowledge Suppose that we share a public key consisting of a modulus ๐‘ and an encryption exponent ๐ธ and that I want to convince you that I have the corresponding decryption exponent ๐ท. How can I do this? November 17, 2018 Practical Aspects of Modern Cryptography

Proving Knowledge November 17, 2018 Practical Aspects of Modern Cryptography

Proving Knowledge I can give you my private key ๐ท. November 17, 2018 Practical Aspects of Modern Cryptography

Proving Knowledge I can give you my private key ๐ท. You can encrypt something for me and I decrypt it for you. November 17, 2018 Practical Aspects of Modern Cryptography

Proving Knowledge I can give you my private key ๐ท. You can encrypt something for me and I decrypt it for you. You can encrypt something for me and I can engage in an interactive proof with you to show that I can decrypt it. November 17, 2018 Practical Aspects of Modern Cryptography

A Proof of Knowledge ๐‘Œ November 17, 2018 Practical Aspects of Modern Cryptography

A Proof of Knowledge ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 November 17, 2018 Practical Aspects of Modern Cryptography

A Proof of Knowledge ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 November 17, 2018 1 1 1 November 17, 2018 Practical Aspects of Modern Cryptography

A Proof of Knowledge ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 ๐‘Œ 1 ๐ท ๐‘Œ 3 ๐ท ๐‘Œ 4 ๐ท 1 1 1 ๐‘Œ 1 ๐ท ๐‘Œ 3 ๐ท ๐‘Œ 4 ๐ท November 17, 2018 Practical Aspects of Modern Cryptography

A Proof of Knowledge ๐‘Œ ๐‘Œ1 ๐‘Œ2 ๐‘Œ3 ๐‘Œ4 ๐‘Œ5 ๐‘Œ100 1 1 1 ๐‘Œ 1 ๐ท ๐‘Œ 3 ๐ท ๐‘Œ 4 ๐ท 1 1 1 ๐‘Œ 1 ๐ท ๐‘Œ 3 ๐ท ๐‘Œ 4 ๐ท (๐‘Œ 2 โ€ข๐‘Œ) ๐ท (๐‘Œ 5 โ€ข๐‘Œ) ๐ท (๐‘Œ 100 โ€ข๐‘Œ) ๐ท November 17, 2018 Practical Aspects of Modern Cryptography

A Proof of Knowledge By engaging in this proof, the prover has demonstrated its knowledge of ๐‘Œ ๐ท โ€“ without revealing this value. If ๐‘Œ is generated by a challenger, this is compelling evidence that the prover possesses ๐ท. November 17, 2018 Practical Aspects of Modern Cryptography

Facts About Interactive Proofs Anything in PSPACE can be proven with a polynomial-time interactive proof. Anything in NP can be proven with a zero-knowledge interactive proof. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Suppose that I have some data that I want to share amongst three people such that November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Suppose that I have some data that I want to share amongst three people such that any two can uniquely determine the data November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Suppose that I have some data that I want to share amongst three people such that any two can uniquely determine the data but any one alone has no information whatsoever about the data. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Some simple cases: โ€œANDโ€ I have a secret value ๐‘ง that I would like to share with Alice and Bob such that both Alice and Bob can together determine the secret at any time, but such that neither has any information individually. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND Let ๐‘งโˆˆ โ„ค ๐‘š = 0,1,โ€ฆ,๐‘šโˆ’1 be a secret value to be shared with Alice and Bob. Randomly and uniformly select values ๐‘ฅ and ๐‘ฆ from โ„ค ๐‘š subject to the constraint that ๐‘ฅ+๐‘ฆ mod ๐‘š =๐‘ง. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . ๐‘ฅ ๐‘ฆ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . ๐‘ฅ ๐‘ฆ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . ๐‘ฆ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . ๐‘ฆ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . ๐‘ฅ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . ๐‘ฅ ๐‘ฆ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND The secret value is ๐‘ง=(๐‘ฅ+๐‘ฆ) mod ๐‘š . ๐‘ฅ ๐‘ฆ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND This trick easily generalizes to more than two shareholders. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ AND This trick easily generalizes to more than two shareholders. A secret ๐‘† can be written as ๐‘†=(๐‘ 1+๐‘ 2+โ€ฆ+๐‘ ๐‘›) mod ๐‘š for any randomly chosen integer values ๐‘ 1, ๐‘ 2, โ€ฆ, ๐‘ ๐‘› in the range 0โ‰ค๐‘ ๐‘–<๐‘š. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Some simple cases: โ€œORโ€ I have a secret value ๐‘ง that I would like to share with Alice and Bob such that either Alice or Bob can determine the secret at any time. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. ๐‘ง ๐‘ง November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. ๐‘ง ๐‘ง November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. ๐‘ง November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. ๐‘ง November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. ๐‘ง November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR The secret value is ๐‘ง. ๐‘ง November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing โ€“ OR This case also generalizes easily to more than two shareholders. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing More complex access structures โ€ฆ I want to share secret value ๐‘ง amongst Alice, Bob, and Carol such that any two of the three can reconstruct ๐‘ง. ๐‘†=(๐ดโˆง๐ต)โˆจ(๐ดโˆง๐ถ)โˆจ(๐ตโˆง๐ถ) November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing A B A C B C OR AND AND AND November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing ๐‘งโˆˆ โ„ค ๐‘š A B A C B C OR AND AND AND November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing ๐‘งโˆˆ โ„ค ๐‘š ๐‘ง ๐‘ง ๐‘ง A B A C B C OR AND AND AND November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing ๐‘งโˆˆ โ„ค ๐‘š ๐‘ง ๐‘ง ๐‘ง ๐‘ง1 ๐‘ง2 ๐‘ง3 ๐‘ง4 ๐‘ง5 ๐‘ง6 A B A C B C OR AND AND November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Schemes November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Schemes I want to distribute a secret datum amongst ๐‘› trustees such that November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Schemes I want to distribute a secret datum amongst ๐‘› trustees such that any ๐‘˜ of the ๐‘› trustees can uniquely determine the secret datum, November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Schemes I want to distribute a secret datum amongst ๐‘› trustees such that any ๐‘˜ of the ๐‘› trustees can uniquely determine the secret datum, but any set of fewer than ๐‘˜ trustees has no information whatsoever about the secret datum. November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Schemes OR 1 out of ๐‘› AND ๐‘› out of ๐‘› November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme Any ๐‘˜ points ๐‘  1 , ๐‘  2 , โ€ฆ, ๐‘  ๐‘˜ in a field uniquely determine a polynomial ๐‘ƒ of degree at most ๐‘˜โˆ’1 with ๐‘ƒ ๐‘– = ๐‘  ๐‘– for ๐‘–=1, 2,โ€ฆ,๐‘˜. This not only works of the reals, rationals, and other infinite fields, but also over the finite field โ„ค ๐‘ = 0,1,โ€ฆ,๐‘โˆ’1 where ๐‘ is a prime. November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme To distribute a secret value ๐‘ โˆˆ โ„ค ๐‘ amongst a set of ๐‘› Trustees ๐‘‡ 1 , ๐‘‡ 2 ,โ€ฆ, ๐‘‡ ๐‘› such that any ๐‘˜ can determine the secret November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme To distribute a secret value ๐‘ โˆˆ โ„ค ๐‘ amongst a set of ๐‘› Trustees ๐‘‡ 1 , ๐‘‡ 2 ,โ€ฆ, ๐‘‡ ๐‘› such that any ๐‘˜ can determine the secret pick random coefficients ๐‘Ž 1 , ๐‘Ž 2 ,โ€ฆ, ๐‘Ž ๐‘˜โˆ’1 โˆˆ โ„ค ๐‘ November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme To distribute a secret value ๐‘ โˆˆ โ„ค ๐‘ amongst a set of ๐‘› Trustees ๐‘‡ 1 , ๐‘‡ 2 ,โ€ฆ, ๐‘‡ ๐‘› such that any ๐‘˜ can determine the secret pick random coefficients ๐‘Ž 1 , ๐‘Ž 2 ,โ€ฆ, ๐‘Ž ๐‘˜โˆ’1 โˆˆ โ„ค ๐‘ let ๐‘ƒ ๐‘ฅ = ๐‘Ž ๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 +โ€ฆ+ ๐‘Ž 2 ๐‘ฅ 2 + ๐‘Ž 1 ๐‘ฅ+๐‘  November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme To distribute a secret value ๐‘ โˆˆ โ„ค ๐‘ amongst a set of ๐‘› Trustees ๐‘‡ 1 , ๐‘‡ 2 ,โ€ฆ, ๐‘‡ ๐‘› such that any ๐‘˜ can determine the secret pick random coefficients ๐‘Ž 1 , ๐‘Ž 2 ,โ€ฆ, ๐‘Ž ๐‘˜โˆ’1 โˆˆ โ„ค ๐‘ let ๐‘ƒ ๐‘ฅ = ๐‘Ž ๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 +โ€ฆ+ ๐‘Ž 2 ๐‘ฅ 2 + ๐‘Ž 1 ๐‘ฅ+๐‘  give ๐‘ƒ(๐‘–) to trustee ๐‘‡ ๐‘– . November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme To distribute a secret value ๐‘ โˆˆ โ„ค ๐‘ amongst a set of ๐‘› Trustees ๐‘‡ 1 , ๐‘‡ 2 ,โ€ฆ, ๐‘‡ ๐‘› such that any ๐‘˜ can determine the secret pick random coefficients ๐‘Ž 1 , ๐‘Ž 2 ,โ€ฆ, ๐‘Ž ๐‘˜โˆ’1 โˆˆ โ„ค ๐‘ let ๐‘ƒ ๐‘ฅ = ๐‘Ž ๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 +โ€ฆ+ ๐‘Ž 2 ๐‘ฅ 2 + ๐‘Ž 1 ๐‘ฅ+๐‘  give ๐‘ƒ(๐‘–) to trustee ๐‘‡ ๐‘– . The secret value is ๐‘  = ๐‘ƒ(0). November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 (0,9) Secret November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 (0,9) Secret November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 (0,9) (1,7) Secret (2,5) Share 1 (3,3) Share 2 Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 (1,7) Share 1 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 (1,7) Share 1 (3,3) Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 (1,7) Share 1 (3,3) Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 , Secret = 9 (0,9) (1,7) Secret Share 1 (3,3) Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 (1,7) Share 1 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 (1,7) Share 1 (3,4) Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 (1,7) Share 1 (3,4) Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 (0,8.5) (1,7) Secret Share 1 (3,4) Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme The threshold 2 case: Example: Range = โ„ค 11 = 0,1,โ€ฆ,10 In โ„ค 11 , 8.5 โ‰ก 17รท2 โ‰ก 6ร—6 โ‰ก 36 โ‰ก 3 (0,8.5) (1,7) Secret Share 1 (3,4) Share 3 November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme Two methods are commonly used to interpolate a polynomial given a set of points. November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme Two methods are commonly used to interpolate a polynomial given a set of points. Lagrange interpolation November 17, 2018 Practical Aspects of Modern Cryptography

Shamirโ€™s Threshold Scheme Two methods are commonly used to interpolate a polynomial given a set of points. Lagrange interpolation Solving a system of linear equations November 17, 2018 Practical Aspects of Modern Cryptography

Lagrange Interpolation November 17, 2018 Practical Aspects of Modern Cryptography

Lagrange Interpolation For each point (๐‘–, ๐‘  ๐‘– ), construct a polynomial ๐‘ƒ ๐‘– with the correct value at ๐‘– and a value of zero at the other given points. November 17, 2018 Practical Aspects of Modern Cryptography

Lagrange Interpolation For each point (๐‘–, ๐‘  ๐‘– ), construct a polynomial ๐‘ƒ ๐‘– with the correct value at ๐‘– and a value of zero at the other given points. ๐‘ƒ ๐‘– ๐‘ฅ = ๐‘  ๐‘– ร— ๐‘—โ‰ ๐‘– (๐‘ฅโˆ’๐‘—) รท ๐‘—โ‰ ๐‘– (๐‘–โˆ’๐‘—) November 17, 2018 Practical Aspects of Modern Cryptography

Lagrange Interpolation For each point (๐‘–, ๐‘  ๐‘– ), construct a polynomial ๐‘ƒ ๐‘– with the correct value at ๐‘– and a value of zero at the other given points. ๐‘ƒ ๐‘– ๐‘ฅ = ๐‘  ๐‘– ร— ๐‘—โ‰ ๐‘– (๐‘ฅโˆ’๐‘—) รท ๐‘—โ‰ ๐‘– (๐‘–โˆ’๐‘—) Then sum the ๐‘ƒ ๐‘– ๐‘ฅ to compute ๐‘ƒ ๐‘ฅ . November 17, 2018 Practical Aspects of Modern Cryptography

Lagrange Interpolation For each point (๐‘–, ๐‘  ๐‘– ), construct a polynomial ๐‘ƒ ๐‘– with the correct value at ๐‘– and a value of zero at the other given points. ๐‘ƒ ๐‘– ๐‘ฅ = ๐‘  ๐‘– ร— ๐‘—โ‰ ๐‘– (๐‘ฅโˆ’๐‘—) รท ๐‘—โ‰ ๐‘– (๐‘–โˆ’๐‘—) Then sum the ๐‘ƒ ๐‘– ๐‘ฅ to compute ๐‘ƒ ๐‘ฅ . ๐‘ƒ(๐‘ฅ)= ๐‘– ๐‘ƒ ๐‘– ๐‘ฅ November 17, 2018 Practical Aspects of Modern Cryptography

Solving a Linear System November 17, 2018 Practical Aspects of Modern Cryptography

Solving a Linear System Regard the polynomial coefficients as unknowns. November 17, 2018 Practical Aspects of Modern Cryptography

Solving a Linear System Regard the polynomial coefficients as unknowns. Plug in each known point to get a linear equation in terms of the unknown coefficients. November 17, 2018 Practical Aspects of Modern Cryptography

Solving a Linear System Regard the polynomial coefficients as unknowns. Plug in each known point to get a linear equation in terms of the unknown coefficients. Once there are as many equations as unknowns, use linear algebra to solve the system of equations. November 17, 2018 Practical Aspects of Modern Cryptography

Verifiable Secret Sharing Secret sharing is very useful when the โ€œdealerโ€ of a secret is honest, but what bad things can happen if the dealer is potentially dishonest? Can measures be taken to eliminate or mitigate the damages? November 17, 2018 Practical Aspects of Modern Cryptography

Homomorphic Encryption Recall that with RSA, there is a multiplicative homomorphism. ๐ธ ๐‘ฅ ๐ธ ๐‘ฆ โ‰ก๐ธ(๐‘ฅ๐‘ฆ) Can we find an encryption function with an additive homomorphism? November 17, 2018 Practical Aspects of Modern Cryptography

An Additive Homomorphism Can we find an encryption function for which the sum (or product) of two encrypted messages is the (an) encryption of the sum of the two original messages? ๐ธ(๐‘ฅ)โ—ฆ๐ธ(๐‘ฆ)โ‰ก๐ธ(๐‘ฅ+๐‘ฆ) November 17, 2018 Practical Aspects of Modern Cryptography

An Additive Homomorphism Recall the one-way function given by ๐‘“(๐‘ฅ) = ๐‘”๐‘ฅ mod ๐‘š. For this function, ๐‘“(๐‘ฅ)๐‘“(๐‘ฆ) mod ๐‘š = ๐‘”๐‘ฅ๐‘”๐‘ฆ mod ๐‘š = ๐‘” ๐‘ฅ+๐‘ฆ mod ๐‘š = ๐‘“(๐‘ฅ+๐‘ฆ) mod ๐‘š. November 17, 2018 Practical Aspects of Modern Cryptography

Verifiable Secret Sharing November 17, 2018 Practical Aspects of Modern Cryptography

Verifiable Secret Sharing Select a polynomial with secret ๐‘Ž 0 as ๐‘ƒ ๐‘ฅ = ๐‘Ž ๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 +โ‹ฏ+ ๐‘Ž 2 ๐‘ฅ 2 + ๐‘Ž 1 ๐‘ฅ+ ๐‘Ž 0 . November 17, 2018 Practical Aspects of Modern Cryptography

Verifiable Secret Sharing Select a polynomial with secret ๐‘Ž 0 as ๐‘ƒ ๐‘ฅ = ๐‘Ž ๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 +โ‹ฏ+ ๐‘Ž 2 ๐‘ฅ 2 + ๐‘Ž 1 ๐‘ฅ+ ๐‘Ž 0 . Commit to the coefficients by publishing ๐‘” ๐‘Ž 0 , ๐‘” ๐‘Ž 1 , ๐‘” ๐‘Ž 2 , โ€ฆ, ๐‘” ๐‘Ž ๐‘˜โˆ’1 . November 17, 2018 Practical Aspects of Modern Cryptography

Verifiable Secret Sharing Select a polynomial with secret ๐‘Ž 0 as ๐‘ƒ ๐‘ฅ = ๐‘Ž ๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 +โ‹ฏ+ ๐‘Ž 2 ๐‘ฅ 2 + ๐‘Ž 1 ๐‘ฅ+ ๐‘Ž 0 . Commit to the coefficients by publishing ๐‘” ๐‘Ž 0 , ๐‘” ๐‘Ž 1 , ๐‘” ๐‘Ž 2 , โ€ฆ, ๐‘” ๐‘Ž ๐‘˜โˆ’1 . Compute a commitment to ๐‘ƒ(๐‘–) from public values as ๐‘” ๐‘ƒ(๐‘–) = ๐‘” ๐‘Ž 0 ๐‘– 0 ๐‘” ๐‘Ž 1 ๐‘– 1 ๐‘” ๐‘Ž 2 ๐‘– 2 โ‹ฏ ๐‘” ๐‘Ž ๐‘˜โˆ’1 ๐‘– ๐‘˜โˆ’1 . November 17, 2018 Practical Aspects of Modern Cryptography

Verifiable Secret Sharing An important detail Randomness must be included to prevent small spaces of possible secrets and shares from being exhaustively searched. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Homomorphisms All of these secret sharing methods have an additional useful feature: If two secrets are separately shared amongst the same set of people in the same way, then the sum of the individual shares constitute shares of the sum of the secrets. November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Homomorphisms OR Secret: ๐‘Ž โ€“ Shares: ๐‘Ž, ๐‘Ž, โ€ฆ, ๐‘Ž Secret: ๐‘ โ€“ Shares: ๐‘, ๐‘, โ€ฆ, ๐‘ Secret sum: ๐‘Ž+๐‘ Share sums: ๐‘Ž+๐‘, ๐‘Ž+๐‘, โ€ฆ, ๐‘Ž+๐‘ November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Homomorphisms AND Secret: ๐‘Ž โ€“ Shares: ๐‘Ž1, ๐‘Ž2, โ€ฆ, ๐‘Ž๐‘› Secret: ๐‘ โ€“ Shares: ๐‘1, ๐‘2, โ€ฆ, ๐‘๐‘› Secret sum: ๐‘Ž+๐‘ Share sums: ๐‘Ž1+๐‘1, ๐‘Ž2+๐‘2, โ€ฆ, ๐‘Ž๐‘›+๐‘๐‘› November 17, 2018 Practical Aspects of Modern Cryptography

Secret Sharing Homomorphisms THRESHOLD Secret: ๐‘ƒ 1 (0) โ€“ Shares: ๐‘ƒ 1 (1), ๐‘ƒ 1 (2), โ€ฆ, ๐‘ƒ 1 (๐‘›) Secret: ๐‘ƒ 2 (0) โ€“ Shares: ๐‘ƒ 2 (1), ๐‘ƒ 2 (2), โ€ฆ, ๐‘ƒ 2 (๐‘›) Secret sum: ๐‘ƒ 1 (0)+ ๐‘ƒ 2 (0) Share sums: ๐‘ƒ 1 (1)+ ๐‘ƒ 2 (1), ๐‘ƒ 1 (2)+ ๐‘ƒ 2 (2), โ€ฆ, ๐‘ƒ 1 (๐‘›)+ ๐‘ƒ 2 (๐‘›) November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Encryption I want to encrypt a secret message ๐‘€ for a set of ๐‘› recipients such that any ๐‘˜ of the ๐‘› recipients can uniquely decrypt the secret message ๐‘€, but any set of fewer than ๐‘˜ recipients has no information whatsoever about the secret message ๐‘€. November 17, 2018 Practical Aspects of Modern Cryptography

Recall Diffie-Hellman Alice Randomly select a large integer ๐‘Ž and send ๐ด= ๐‘” ๐‘Ž mod ๐‘. Compute the key ๐พ= ๐ต ๐‘Ž mod ๐‘. Bob Randomly select a large integer ๐‘ and send ๐ต= ๐‘” ๐‘ mod ๐‘. Compute the key ๐พ= ๐ด ๐‘ mod ๐‘. ๐ต ๐‘Ž = ๐‘” ๐‘๐‘Ž = ๐‘” ๐‘Ž๐‘ = ๐ด ๐‘ November 17, 2018 Practical Aspects of Modern Cryptography

ElGamal Encryption November 17, 2018 Practical Aspects of Modern Cryptography

ElGamal Encryption Alice selects a large random private key ๐‘Ž and computes an associated public key ๐ด= ๐‘” ๐‘Ž mod ๐‘. November 17, 2018 Practical Aspects of Modern Cryptography

ElGamal Encryption Alice selects a large random private key ๐‘Ž and computes an associated public key ๐ด= ๐‘” ๐‘Ž mod ๐‘. To send a message ๐‘€ to Alice, Bob selects a random value ๐‘Ÿ and computes the pair (๐‘‹,๐‘Œ) = ( ๐ด ๐‘Ÿ ๐‘€ mod ๐‘, ๐‘” ๐‘Ÿ mod ๐‘). November 17, 2018 Practical Aspects of Modern Cryptography

ElGamal Encryption Alice selects a large random private key ๐‘Ž and computes an associated public key ๐ด= ๐‘” ๐‘Ž mod ๐‘. To send a message ๐‘€ to Alice, Bob selects a random value ๐‘Ÿ and computes the pair (๐‘‹,๐‘Œ) = ( ๐ด ๐‘Ÿ ๐‘€ mod ๐‘, ๐‘” ๐‘Ÿ mod ๐‘). To decrypt, Alice computes ๐‘‹/ ๐‘Œ ๐‘Ž mod ๐‘ = ๐ด ๐‘Ÿ ๐‘€/ ๐‘” ๐‘Ÿ๐‘Ž mod ๐‘ = ๐‘€. November 17, 2018 Practical Aspects of Modern Cryptography

ElGamal Re-Encryption If ๐ด= ๐‘” ๐‘Ž mod ๐‘ is a public key and the pair (๐‘‹,๐‘Œ) = ( ๐ด ๐‘Ÿ ๐‘€ mod ๐‘, ๐‘” ๐‘Ÿ mod ๐‘) is an encryption of message ๐‘€, then for any value ๐‘, the pair ( ๐ด ๐‘ ๐‘‹, ๐‘” ๐‘ ๐‘Œ) = ( ๐ด ๐‘+๐‘Ÿ ๐‘€ mod ๐‘, ๐‘” ๐‘+๐‘Ÿ mod ๐‘) is an encryption of the same message ๐‘€, for any value ๐‘. November 17, 2018 Practical Aspects of Modern Cryptography

Group ElGamal Encryption November 17, 2018 Practical Aspects of Modern Cryptography

Group ElGamal Encryption Each recipient selects a large random private key ๐‘Ž๐‘– and computes an associated public key ๐ด๐‘– = ๐‘” ๐‘Ž ๐‘– mod ๐‘. November 17, 2018 Practical Aspects of Modern Cryptography

Group ElGamal Encryption Each recipient selects a large random private key ๐‘Ž๐‘– and computes an associated public key ๐ด๐‘– = ๐‘” ๐‘Ž ๐‘– mod ๐‘. The group key is ๐ด = ๐ด ๐‘– mod ๐‘ = ๐‘” ๐‘Ž ๐‘– mod ๐‘. November 17, 2018 Practical Aspects of Modern Cryptography

Group ElGamal Encryption Each recipient selects a large random private key ๐‘Ž๐‘– and computes an associated public key ๐ด๐‘– = ๐‘” ๐‘Ž ๐‘– mod ๐‘. The group key is ๐ด = ๐ด ๐‘– mod ๐‘ = ๐‘” ๐‘Ž ๐‘– mod ๐‘. To send a message ๐‘€ to the group, Bob selects a random value ๐‘Ÿ and computes the pair (๐‘‹,๐‘Œ) = ( ๐ด ๐‘Ÿ ๐‘€ mod ๐‘, ๐‘” ๐‘Ÿ mod ๐‘). November 17, 2018 Practical Aspects of Modern Cryptography

Group ElGamal Encryption Each recipient selects a large random private key ๐‘Ž๐‘– and computes an associated public key ๐ด๐‘– = ๐‘” ๐‘Ž ๐‘– mod ๐‘. The group key is ๐ด = ๐ด ๐‘– mod ๐‘ = ๐‘” ๐‘Ž ๐‘– mod ๐‘. To send a message ๐‘€ to the group, Bob selects a random value ๐‘Ÿ and computes the pair (๐‘‹,๐‘Œ) = ( ๐ด ๐‘Ÿ ๐‘€ mod ๐‘, ๐‘” ๐‘Ÿ mod ๐‘). To decrypt, each group member computes ๐‘Œ ๐‘– = ๐‘Œ ๐‘Ž ๐‘– mod ๐‘. The message ๐‘€ = ๐‘‹/ ๐‘Œ ๐‘– mod ๐‘. November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Encryption (ElGamal) November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Encryption (ElGamal) Each recipient selects ๐‘˜ large random secret coefficients ๐‘Ž ๐‘–,0 , ๐‘Ž ๐‘–,1 , โ€ฆ, ๐‘Ž ๐‘–,๐‘˜โˆ’2 , ๐‘Ž ๐‘–,๐‘˜โˆ’1 and forms the polynomial ๐‘ƒ ๐‘– ๐‘ฅ = ๐‘Ž ๐‘–,๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 + ๐‘Ž ๐‘–,๐‘˜โˆ’2 ๐‘ฅ ๐‘˜โˆ’2 +โ‹ฏ+ ๐‘Ž ๐‘–,1 ๐‘ฅ+ ๐‘Ž ๐‘–,0 November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Encryption (ElGamal) Each recipient selects ๐‘˜ large random secret coefficients ๐‘Ž ๐‘–,0 , ๐‘Ž ๐‘–,1 , โ€ฆ, ๐‘Ž ๐‘–,๐‘˜โˆ’2 , ๐‘Ž ๐‘–,๐‘˜โˆ’1 and forms the polynomial ๐‘ƒ ๐‘– ๐‘ฅ = ๐‘Ž ๐‘–,๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 + ๐‘Ž ๐‘–,๐‘˜โˆ’2 ๐‘ฅ ๐‘˜โˆ’2 +โ‹ฏ+ ๐‘Ž ๐‘–,1 ๐‘ฅ+ ๐‘Ž ๐‘–,0 Each polynomial ๐‘ƒ ๐‘– (๐‘ฅ) is then verifiably shared with the other recipients by distributing each ๐‘” ๐‘Ž ๐‘–,๐‘— . November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Encryption (ElGamal) Each recipient selects ๐‘˜ large random secret coefficients ๐‘Ž ๐‘–,0 , ๐‘Ž ๐‘–,1 , โ€ฆ, ๐‘Ž ๐‘–,๐‘˜โˆ’2 , ๐‘Ž ๐‘–,๐‘˜โˆ’1 and forms the polynomial ๐‘ƒ ๐‘– ๐‘ฅ = ๐‘Ž ๐‘–,๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 + ๐‘Ž ๐‘–,๐‘˜โˆ’2 ๐‘ฅ ๐‘˜โˆ’2 +โ‹ฏ+ ๐‘Ž ๐‘–,1 ๐‘ฅ+ ๐‘Ž ๐‘–,0 Each polynomial ๐‘ƒ ๐‘– (๐‘ฅ) is then verifiably shared with the other recipients by distributing each ๐‘” ๐‘Ž ๐‘–,๐‘— . The joint (threshold) public key is ๐‘” ๐‘Ž ๐‘–,0 . November 17, 2018 Practical Aspects of Modern Cryptography

Threshold Encryption (ElGamal) Each recipient selects ๐‘˜ large random secret coefficients ๐‘Ž ๐‘–,0 , ๐‘Ž ๐‘–,1 , โ€ฆ, ๐‘Ž ๐‘–,๐‘˜โˆ’2 , ๐‘Ž ๐‘–,๐‘˜โˆ’1 and forms the polynomial ๐‘ƒ ๐‘– ๐‘ฅ = ๐‘Ž ๐‘–,๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 + ๐‘Ž ๐‘–,๐‘˜โˆ’2 ๐‘ฅ ๐‘˜โˆ’2 +โ‹ฏ+ ๐‘Ž ๐‘–,1 ๐‘ฅ+ ๐‘Ž ๐‘–,0 Each polynomial ๐‘ƒ ๐‘– (๐‘ฅ) is then verifiably shared with the other recipients by distributing each ๐‘” ๐‘Ž ๐‘–,๐‘— . The joint (threshold) public key is ๐‘” ๐‘Ž ๐‘–,0 . Any set of ๐‘˜ recipients can form the secret key ๐‘Ž ๐‘–,0 to decrypt. November 17, 2018 Practical Aspects of Modern Cryptography

Verifiable Elections Application November 17, 2018 Practical Aspects of Modern Cryptography

Traditional Voting Methods

Traditional Voting Methods Hand-Counted Paper

Traditional Voting Methods Hand-Counted Paper Punch Cards

Traditional Voting Methods Hand-Counted Paper Punch Cards Lever Machines

Traditional Voting Methods Hand-Counted Paper Punch Cards Lever Machines Optical Scan Ballots

Traditional Voting Methods Hand-Counted Paper Punch Cards Lever Machines Optical Scan Ballots Electronic Voting Machines

Traditional Voting Methods Hand-Counted Paper Punch Cards Lever Machines Optical Scan Ballots Electronic Voting Machines Touch-Screen Terminals

Traditional Voting Methods Hand-Counted Paper Punch Cards Lever Machines Optical Scan Ballots Electronic Voting Machines Touch-Screen Terminals Various Hybrids

Vulnerabilities and Trust All of these systems have substantial vulnerabilities. All of these systems require trust in the honesty and expertise of election officials (and usually the equipment vendors as well). Can we do better?

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective

The Voterโ€™s Perspective As a voter, you donโ€™t really know what happens behind the curtain. You have no choice but to trust the people working behind the curtain. You donโ€™t even get to choose the people who you will have to trust.

We Can Do Better! Elections can be run such that each and every voter can verify the correctness of the tally without having to trust anyone or anything!

Verifiable Election Technologies Allow voters to track their individual (sealed) votes and ensure that they are properly countedโ€ฆ โ€ฆ even in the presence of faulty or malicious election equipment โ€ฆ โ€ฆ and/or careless or dishonest election personnel.

Voters can check that โ€ฆ Their own (sealed) votes have been properly recorded. All recorded votes have been properly counted. This is not just checking a claim that the right steps have been taken. This is actually a check that the counting is correct.

End-to-End Verifiability E2E-verifiability is not a property of an election system โ€ฆ It is a property of an individual election.

End-to-End Verifiability E2E-verifiable elections can be produced by โ€ฆ Paper-based or Electronic systems Local or Remote systems Monitored or Unmonitored systems

E2E-Verifiability Replaces Trust In an E2E-verifiable election, the integrity of tallies can be verified entirely without trust. Voters and observers can verify everything themselves. They donโ€™t need to trust election officials, equipment, vendors, or anyone.

An E2E-Verifiable Election

An E2E-Verifiable Election Voter Name Vote Alice Smith Jefferson Bob Williams Adams Carol James David Fuentes Ellen Chu Totals Jefferson 3 Adams 2

But wait โ€ฆ This isnโ€™t a secret-ballot election. Quite true, but itโ€™s enough to show that voter-verifiability is possible โ€ฆ and also to falsify arguments that electronic elections are inherently untrustworthy.

Privacy The only ingredient missing from this transparent election is privacy โ€“ and the things which flow from privacy (e.g. protection from coercion). Performing tasks while preserving privacy is the bailiwick of cryptography. Cryptographic techniques can enable E2E-verifiable elections while preserving voter privacy.

Secure Multiparty Computation General cryptographic techniques can compute any function on private inputs. Does not apply to elections because voters should not be able to reveal their votes โ€“ even if they want to do so.

Adding Encryption A layer of confidentiality can be added to an otherwise openly-verifiable system using homomoprhic encyption in which the product of ciphertexts constitutes an encryption of the sum of the corresponding plaintexts.

An E2E-Verifiable Election Voter Name Vote Alice Smith Jefferson Bob Williams Adams Carol James David Fuentes Ellen Chu Totals Jefferson 3 Adams 2

An E2E-Verifiable Election Voter Name Vote Alice Smith Jefferson X37BM6YPM Bob Williams Adams 2J8CNF2KQ Carol James VRSF5JQWZ David Fuentes MW5B2VA7Y Ellen Chu 8VPPS2L39 Totals Jefferson 3 Adams 2

An E2E-Verifiable Election Voter Name Vote Alice Smith Jefferson X37BM6YPM Bob Williams Adams 2J8CNF2KQ Carol James VRSF5JQWZ David Fuentes MW5B2VA7Y Ellen Chu 8VPPS2L39 Totals Jefferson 3 Adams 2

An E2E-Verifiable Election Voter Name Vote Alice Smith Jefferson X37BM6YPM Bob Williams Adams 2J8CNF2KQ Carol James VRSF5JQWZ David Fuentes MW5B2VA7Y Ellen Chu 8VPPS2L39 Totals Jefferson 3 Adams 2

An E2E-Verifiable Election X37BM6YPM 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Totals Jefferson 3 Adams 2

An E2E-Verifiable Election X37BM6YPM 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Mathematical Proof Totals Jefferson 3 Adams 2

End-to-End Verifiable Elections Two principle phases โ€ฆ Voters publish their names and encrypted votes. Administrators compute and publish the tally together with a cryptographic proof that the tally โ€œmatchesโ€ the set of encrypted votes.

Fundamental Tallying Decision There are essentially two paradigms to choose from โ€ฆ Anonymized Ballots (Mix Networks) Ballotless Tallying (Homomorphic Encryption)

Anonymized Ballots

Homomorphic Tallying

Homomorphic Encryption With RSA encryption, ๐‘ 1 =๐ธ( ๐‘‹ 1 )= ๐‘‹ 1 ๐‘Œ ๐‘ 2 =๐ธ( ๐‘‹ 2 )= ๐‘‹ 2 ๐‘Œ ๐‘ 1 ร— ๐‘ 2 =๐ธ ๐‘‹ 1 ร—๐ธ ๐‘‹ 2 = ๐‘‹ 1 ๐‘Œ ร— ๐‘‹ 2 ๐‘Œ = ๐‘‹ 1 ร— ๐‘‹ 2 ๐‘Œ =๐ธ( ๐‘‹ 1 ร— ๐‘‹ 2 ) RSA is multiplicatively homomorpic.

Homomorphic Encryption With another encryption function, ๐‘ 1 =๐ธ( ๐‘‹ 1 )= ๐‘” ๐‘‹ 1 ๐‘ 2 =๐ธ( ๐‘‹ 2 )= ๐‘” ๐‘‹ 2 ๐‘ 1 ร— ๐‘ 2 =๐ธ( ๐‘‹ 1 )ร—๐ธ( ๐‘‹ 2 )= ๐‘” ๐‘‹ 1 ร— ๐‘” ๐‘‹ 2 = ๐‘” ๐‘‹ 1 + ๐‘‹ 2 =๐ธ( ๐‘‹ 1 + ๐‘‹ 2 ) This function is additively homomorpic.

In Elections โ€ฆ ๐‘ 1 = E(Vote #1) ๐‘ 2 = E(Vote #2) โ‹ฎ ๐‘ ๐‘˜ = E(Vote #๐‘˜) The product of the encryptions of the votes is an encryption of the sum of the votes.

Homomorphic Encryption Some Homomorphic Functions RSA: E(m) = me mod n ElGamal: E(m,r) = (gr,mhr) mod p GM: E(b,r) = r2gb mod n Benaloh: E(m,r) = regm mod n Pallier: E(m,r) = rngm mod n2

0, 1, 0, 0; 1, 0; 0, 0, 0 A Valid Vote First Race Second Race 0, 1, 0, 0; 1, 0; 0, 0, 0 First Race Second Race Third Race Second Option Fourth Option First Option Third Option

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1 ๏“ = 0, 2, 2, 1; 3, 2; 1, 1, 2

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1 ๏ = 0, 2, 2, 1; 3, 2; 1, 1, 2

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1 ๏“ = 0, 2, 2, 1; 3, 2; 1, 1, 2

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1 ๏“ = 0, 2, 2, 1; 3, 2; 1, 1, 2

Homomorphic Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Bob 0, 0, 0, 1; 1, 0; 0, 1, 0 Carol 0, 0, 1, 0; 0, 1; 1, 0, 0 David 0, 1, 0, 0; 1, 0; 0, 0, 1 Eve 0, 0, 1, 0; 0, 1; 0, 0, 1 ๏“ = 0, 2, 2, 1; 3, 2; 1, 1, 2

Homomorphic Elections Alice Bob Carol 1 David Eve ๏“ =

Homomorphic Elections Alice Bob Carol 1 David Eve ๏“ = 2

Homomorphic Elections Alice Bob Carol 1 David Eve

Homomorphic Elections Alice Bob Carol 1 David Eve

Homomorphic Elections Alice Bob Carol 1 David Eve ๏ƒ„= 2

Homomorphic Elections Alice Bob Carol 1 David Eve ๏ƒ„= 2

Homomorphic Elections Alice Bob Carol 1 David Eve ๏ƒ„= 2

Multiple Authorities Alice Bob Carol 1 David Eve

Multiple Authorities X1 X2 X3 Alice = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4

Multiple Authorities ๏“ = X1 X2 X3 Alice = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏“ =

Multiple Authorities ๏“ = X1 X2 X3 Alice = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏“ =

Multiple Authorities ๏“ = X1 X2 X3 Alice = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏“ =

Multiple Authorities ๏“ = X1 X2 X3 Alice = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏“ =

Multiple Authorities ๏“ = X1 X2 X3 Alice = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏“ =

Multiple Authorities The sum of the shares of the votes constitute shares of the sum of the votes.

Multiple Authorities ๏“ = X1 X2 X3 Alice = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 = ๏“ 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏“ =

Multiple Authorities X1 X2 X3 Alice 3 -5 2 Bob -4 5 -1 Carol 1 -3 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4

Multiple Authorities ๏ƒ„ = X1 X2 X3 Alice 3 -5 2 Bob -4 5 -1 Carol 1 -3 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏ƒ„ =

Multiple Authorities ๏ƒ„ = X1 X2 X3 Alice 3 -5 2 Bob -4 5 -1 Carol 1 -3 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏ƒ„ =

Multiple Authorities ๏ƒ„ = X1 X2 X3 Alice 3 -5 2 Bob -4 5 -1 Carol 1 -3 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏ƒ„ =

Multiple Authorities ๏ƒ„ = X1 X2 X3 Alice 3 -5 2 Bob -4 5 -1 Carol 1 -3 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏ƒ„ = = ๏“

Multiple Authorities ๏ƒ„ = X1 X2 X3 Alice 3 -5 2 Bob -4 5 -1 Carol 1 -3 3 -5 2 Bob -4 5 -1 Carol 1 -3 David -2 Eve 4 ๏ƒ„ = = ๏“

Adding Robustness Splitting a vote by addition is equivalent to ๐‘› out of ๐‘› secret sharing. One could instead share a vote using a threshold scheme to achieve ๐‘˜ out of ๐‘› system. One can also use an additively-homomorphic threshold encryption scheme directly.

Mix-Based Elections

Mix-Based Elections Shuffle the encrypted ballots by transforming each into a different representation of the same ballot and then permuting the full set.

Mix-Based Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0

Mix-Based Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0

Mix-Based Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Null 0, 1, 0, 0; 1, 0; 0, 0, 0 Null 0, 0, 0, 0; 0, 0; 0, 0, 0

Mix-Based Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Null 0, 1, 0, 0; 1, 0; 0, 0, 0 Null 0, 0, 0, 0; 0, 0; 0, 0, 0

Mix-Based Elections Alice 0, 1, 0, 0; 1, 0; 0, 0, 0 Null 0, 1, 0, 0; 1, 0; 0, 0, 0 Null 0, 0, 0, 0; 0, 0; 0, 0, 0 ๏ =

Mix-Based Elections Each shuffler proves that its output set is a permutation of different encryptions of its input set. After a sufficient number of shuffles, the individual ballots can be opened.

The Mix-Net Paradigm MIX Vote Vote Vote Vote

The Mix-Net Paradigm MIX Vote Vote Vote Vote

Multiple Mixes ๏‚ฉ MIX MIX Vote ๏‚ ๏ถ Vote ๏‚ฑ ๏’ ๏บ Vote ๏„ ๏“ ๏‚ฅ Vote ๏Š ๏” ๏‚ฏ

Decryption Mix-net Each object is encrypted with a pre-determined set of encryption layers. Each mix, in pre-determined order performs a decryption to remove its associated layer.

Re-encryption Mix-net The decryption and shuffling functions are decoupled. Mixes can be added or removed dynamically with robustness. Proofs of correct mixing can be published and independently verified.

Recall Homomorphic Encryption We can construct a public-key encryption function E such that if A is an encryption of a and B is an encryption of b then A๏ƒ„B is an encryption of a๏ƒ…b.

Re-encryption (additive) A is an encryption of a and Z is an encryption of 0 then A๏ƒ„Z is another encryption of a.

Re-encryption (multiplicative) A is an encryption of a and I is an encryption of 1 then A๏ƒ„I is another encryption of a.

A Re-encryption Mix MIX

A Re-encryption Mix MIX

Re-encryption Mix-nets Vote Vote Vote Vote

Verifiability Each re-encryption mix provides a mathematical proof that its output is a permutation of re-encryptions of its input. Any observer can verify this proof. The decryptions are also proven to be correct. If a mixโ€™s proof is invalid, its mixing will be bypassed.

Faulty Mixes MIX MIX Vote Vote Vote Vote

Some Verifiable Mixes 1993 Park, Itoh, and Kurosawa 1995 Sako and Kilian 2001 Furukawa and Sako 2001 Neff 2002 Jakobsson, Juels, and Rivest 2003 Groth

Who has the Keys? A pre-determined set of parties independently generate and share the encryption (and decryption) keys used in the election. A pre-determined threshold of key holders is required to decrypt.

Who has the Keys? Important If a sufficient number of key holders collude, they can compromise voter privacy. But even if all key holders collude, they cannot compromise the integrity of the tallies.

Re-encryption Each value is re-encrypted by multiplying it by an encryption of one. This can be done without knowing the decryptions.

Verifying a Re-encryption MIX 31415926 27182818 31415926 16180339 14142135 81828172 62951413 93308161 53124141 27182818 16180339 14142135

A Simple Verifiable Re-encryption Mix

Is This โ€œProofโ€ Absolute? The proof can be โ€œdefeatedโ€ if and only if every left/right decision can be predicted by the prover in advance. If there are 100 intermediate ballot sets, the chance of this happening is 1 in 2100.

Who Chooses? But this wonโ€™t convince me. But this can be inefficient. If you choose, then you are convinced. But this wonโ€™t convince me. We can each make some of the choices. But this can be inefficient. We can co-operate on the choices. But this is cumbersome. We can agree on a random source. But what source?

Who Chooses? The Fiat-Shamir Heuristic Prepare all of the ballot sets as above. Put all of the data into a one-way hash. Use the hash output to make the choices. This allows a proof of equivalence to be โ€œpublishedโ€ by the mix.

Assumptions A disadvantage of using Fiat-Shamir is that election integrity now requires a computational assumption โ€“ the assumption that the hash is โ€œsecureโ€. Voter privacy depends upon the quality of the encryption.

The Encryption Anyone with the decryption key can read all of the votes โ€“ even before mixing. A threshold encryption scheme is used to distribute the decryption capabilities.

Randomized Partial Checking MIX

Choose Any Two Computationally Efficient Conceptually Simple Exact We have techniques to make verifiable tallying โ€ฆ Computationally Efficient Conceptually Simple Exact

How Can Humans Verify Votes? VRSF5JQWZ = Adams ?

How do Humans Encrypt? If voters encrypt their votes with devices of their own choosing, they are subject to coercion and compromise. If voters encrypt their votes on โ€œofficialโ€ devices, how can they trust that their intentions have been properly captured?

The Human Encryptor We need to find ways to engage humans in an interactive proof process to ensure that their intentions are accurately reflected in encrypted ballots cast on their behalf.

MarkPledge Ballot Alice Bob Carol David Eve 367 248 792 141 390 863 427 015 Bob 629 523 916 504 129 077 476 947 Carol 285 668 049 732 859 308 156 422 David Eve 264 717 740 317 832 399 441 946

MarkPledge Ballot Alice Bob Carol David Eve 367 248 792 141 390 863 427 015 Bob 629 523 916 504 129 077 476 947 Carol 285 668 049 732 859 308 156 422 David Eve 264 717 740 317 832 399 441 946

MarkPledge Ballot Alice Bob Carol David Eve 367 248 792 141 390 863 427 015 Bob 629 523 916 504 129 077 476 947 Carol 285 668 049 732 859 308 156 422 David Eve 264 717 740 317 832 399 441 946 Device commitment to voter: โ€œYouโ€™re candidateโ€™s number is 863.โ€

MarkPledge Ballot Alice Bob Carol David Eve 367 248 792 141 390 863 427 015 Bob 629 523 916 504 129 077 476 947 Carol 285 668 049 732 859 308 156 422 David Eve 264 717 740 317 832 399 441 946 Device commitment to voter: โ€œYouโ€™re candidateโ€™s number is 863.โ€ Voter challenge: โ€œDecrypt column number 5.โ€

MarkPledge Ballot Alice Bob Carol David Eve 367 248 792 141 390 863 427 015 Bob 629 523 916 504 129 077 476 947 Carol 285 668 049 732 859 308 156 422 David Eve 264 717 740 317 832 399 441 946 Device commitment to voter: โ€œYouโ€™re candidateโ€™s number is 863.โ€ Voter challenge: โ€œDecrypt column number 5.โ€

MarkPledge Ballot Alice Bob Carol David Eve 367 248 792 141 390 863 427 015 Bob 629 523 916 504 129 077 476 947 Carol 285 668 049 732 859 308 156 422 David Eve 264 717 740 317 832 399 441 946

Prรชt ร  Voter Ballot Bob Eve Carol Alice David 17320508

Prรชt ร  Voter Ballot Bob Eve Carol Alice X David 17320508

Prรชt ร  Voter Ballot X 17320508

PunchScan Ballot Y โ€“ Alice X โ€“ Bob #001 X Y

PunchScan Ballot Y โ€“ Alice X โ€“ Bob #001 Y X

PunchScan Ballot X โ€“ Alice Y โ€“ Bob #001 Y X

PunchScan Ballot X โ€“ Alice Y โ€“ Bob #001 Y X

PunchScan Ballot X โ€“ Alice Y โ€“ Bob #001 #001 Y X

Scantegrity

Voter-Initiated Auditing Voter can use โ€œanyโ€ device to make selections (touch-screen DRE, OpScan, etc.) After selections are made, voter receives an encrypted receipt of the ballot.

Voter-Initiated Auditing Voter choice: Cast or Spoil 734922031382 Encrypted Vote

Voter-Initiated Auditing Cast 734922031382 Encrypted Vote

Voter-Initiated Auditing Spoil Vote for Alice Random # is 28637582738 734922031382

A Verifiable Election Record Cast Ballots X37BM6YPM 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Spoiled Ballots 36PWY4MMB Jefferson 8QZ4TY2B7 Adams GX39M6P4Y Mathematical Proof Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots X37BM6YPM 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Mathematical Proof Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots X37BM6YPM 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด CM97JQX4D Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Spoiled Ballots 36PWY4MMB Jefferson 8QZ4TY2B7 Adams GX39M6P4Y Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Spoiled Ballots 36PWY4MMB Jefferson 8QZ4TY2B7 Adams GX39M6P4Y Totals Jefferson 3 Adams 2

An unexpected benefit โ€ฆ

Provisional Ballots Common practice is to release preliminaries tallies that exclude provisional ballots. Provisional ballots that are adjuciated as proper are added to the tallies.

Provisional Ballot Privacy Privacy is substantially diminished for provisional ballots. End-to-end methods can restore this privacy by initially counting all provisional ballots and then selectively removing ballots that are subsequently deemed illegitimate.

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Spoiled Ballots 36PWY4MMB Jefferson 8QZ4TY2B7 Adams GX39M6P4Y Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Spoiled Ballots 36PWY4MMB Jefferson 8QZ4TY2B7 Adams GX39M6P4Y Totals Jefferson 3 Adams 2

A Verifiable Election Record Cast Ballots Adams Jefferson X37BM6YPM 1 2J8CNF2KQ VRSF5JQWZ MW5B2VA7Y 8VPPS2L39 ๏‚ด + CM97JQX4D 2 3 Spoiled Ballots 36PWY4MMB Jefferson 8QZ4TY2B7 Adams GX39M6P4Y Totals Jefferson 3 Adams 2

Benefits of E2E-Verifiability Strong public assurance of election integrity Elimination of trust requirements Certification relief

The Voterโ€™s Perspective Verifiable election systems can be built to look exactly like current systems โ€ฆ โ€ฆ with one addition โ€ฆ

A Verifiable Receipt 7A34ZR9K4BX Precinct 37 โ€“ Machine 4 Nov. 6, 2012 1:39PM Vote receipt tag: 7A34ZR9K4BX ***VOTE COMFIRMED***

The Voterโ€™s Perspective Voters can โ€ฆ Use receipts to check their results are properly recorded on a public web site. Throw their receipts in the trash. Write and use their own election verifiers. Download applications from sources of their choice to verify the mathematical proof of the tally. Believe verifications done by their political parties, LWV, ACLU, etc. Accept the results without question.

Travis County, Texas

Travis County, Texas Population (2010 Census): 1,024,266

Travis County Requirements Hand-marked paper is unwieldy and ambiguous. Many voters and activists want paper records. Sweet spot: Electronic ballot-marking devices produce marked paper ballot summaries.

STAR-Vote Electronic ballot-marking devices Full paper-ballot records Full verifiability Privacy-preserving risk-limiting auditing Tight coordination/agreement between tallies

Voter Sign-in

Receive Token Enter code: 7126

Electronic Ballot-Marking Device

Ballot Summary and Receipt President: Alice Vice-President: Bob Treasurer: Carol Secretary: David _____________________ Ballot #: 32496 ---------------------------------- Vote receipt tag: 7A34ZR9K4BX

Ballot Summary and Receipt President: Alice Vice-President: Bob Treasurer: Carol Secretary: David _____________________ Ballot #: 32496 ---------------------------------- Vote receipt tag: 7A34ZR9K4BX Cleartext Selections ๏ƒ 

Ballot Summary and Receipt President: Alice Vice-President: Bob Treasurer: Carol Secretary: David _____________________ Ballot #: 32496 ---------------------------------- Vote receipt tag: 7A34ZR9K4BX Cleartext Selections ๏ƒ  Ballot ID ๏ƒ 

Ballot Summary and Receipt President: Alice Vice-President: Bob Treasurer: Carol Secretary: David _____________________ Ballot #: 32496 ---------------------------------- Vote receipt tag: 7A34ZR9K4BX Cleartext Selections ๏ƒ  Ballot ID ๏ƒ  Voter Receipt ๏ƒ 

Voter Tasks Remove voter receipt (this could also be provided to the voter on a separate slip),

Ballot Summary and Receipt President: Alice Vice-President: Bob Treasurer: Carol Secretary: David _____________________ Ballot #: 32496 ---------------------------------- Vote receipt tag: 7A34ZR9K4BX Cleartext Selections ๏ƒ  Ballot ID ๏ƒ  Voter Receipt ๏ƒ 

Ballot Summary and Receipt President: Alice Vice-President: Bob Treasurer: Carol Secretary: David _____________________ Ballot #: 32496 Cleartext Selections ๏ƒ  Ballot ID ๏ƒ 

Voter Tasks Two Options: CAST or SPOIL

CAST Option

CAST Option A voter casts a ballot by depositing it in the ballot box. A scanner in the ballot box reads and records the Ballot ID. A ballot is NOT considered cast until it is deposited in the ballot box.

SPOIL Option

SPOIL Option A voter can take a completed ballot paper to a poll worker and exchange it for a new voting token. The voter can retain the original receipt and a copy (or perhaps even original) of the spoiled paper ballot. Any other ballots are considered unvoted.

Ballot Processing Ballot-marking devices retain encrypted versions of all ballots produced. All encrypted ballots are posted together with their corresponding receipts. Verifiably-opened spoiled ballots are also posted.

Full Verification Voters can check that their receipts are correctly posted. Voters can check that their spoiled ballots are decrypted as expected. Anyone can verify the accuracy of the tallies and spoiled ballot decryptions.

Real-World Deployments Helios (www.heliosvoting.org) โ€“ Adida and others Used to elect president of UC Louvain, Belgium. Used in Princeton University student government. Used to elect IACR Board of Directors. Scantegrity II (www.scantegrity.org) โ€“ Chaum, Rivest, many others Used for 2009 & 2011 municipal elections in Takoma Park, MD. STAR-Vote โ€“ Benaloh, Byrne, Eakin, Kortum, McBurnett, Pereira, Stark, Wallach Designed for use in Travis County, Texas.

Whatโ€™s Next? Internet Voting? Some jurisdictions are beginning to explore Internet voting. There is a strong push towards IV from a variety of constituencies.