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.