1/11/2007 bswilson/eVote-PTCWS 1 Paillier Threshold Cryptography Web Service by Brett Wilson.

Slides:



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

Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Requirements for a Secure Voting System  Only authorized voters can vote  No one can vote more than once  No one can determine for whom anyone else.
A Pairing-Based Blind Signature
1 Network Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Digital Signatures and Hash Functions. Digital Signatures.
Cryptographic Security Presented by: Josh Baker October 9 th, CS5204 – Operating Systems.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Electronic Voting Presented by Ben Riva Based on presentations and papers of: Schoenmakers, Benaloh, Fiat, Adida, Reynolds, Ryan and Chaum.
Lecture III : Communication Security, Services & Mechanisms Internet Security: Principles & Practices John K. Zao, PhD SMIEEE National Chiao-Tung University.
November 1, 2006Sarah Wahl / Graduate Student UCCS1 Public Key Infrastructure By Sarah Wahl.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
10/25/20061 Threshold Paillier Encryption Web Service A Master’s Project Proposal by Brett Wilson.
Applying MESE processes to Improve Online E-Voting Prototype System with PTC Web Services Master Project Defense Hakan Evecek 1 5/29/2007Hakan Evecek/SE2Evote.
Tree Homomorphic Encryption with Scalable Decryption Moti Yung Columbia University Joint work with Aggelos Kiayias University of Connecticut.
The Algebra of Encryption CS 6910 Semester Research and Project University of Colorado at Colorado Springs By Cliff McCullough 20 July 2011.
Cryptographic Technologies
Paillier Threshold Encryption WebService by Brett Wilson.
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
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.
EECC694 - Shaaban #1 lec #16 Spring Properties of Secure Network Communication Secrecy: Only the sender and intended receiver should be able.
Spring 2003CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
1/11/2007 bswilson/eVote-PTCWS 1 Enhancing PTC based Secure E-Voting System (note: modification of Brett Wilson’s Paillier Threshold Cryptography Web Service.
1 Hidden Exponent RSA and Efficient Key Distribution author: He Ge Cryptology ePrint Archive 2005/325 PDFPDF 報告人:陳昱升.
Feb 19, 2002Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
Cryptography and Network Security Chapter 10. Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture.
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
ASYMMETRIC CIPHERS.
Computer Science Public Key Management Lecture 5.
An Architecture For Electronic Voting Master Thesis Presentation Clifford Allen McCullough Department of Computer Science University of Colorado at Colorado.
1 Fluency with Information Technology Lawrence Snyder Chapter 17 Privacy & Digital Security Encryption.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Chapter 5 Digital Signatures MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
Bob can sign a message using a digital signature generation algorithm
The RSA Algorithm Rocky K. C. Chang, March
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
An Architecture For Electronic Voting Master Thesis Presentation Clifford Allen McCullough Department of Computer Science University of Colorado at Colorado.
Introduction to Secure Sockets Layer (SSL) Protocol Based on:
Topic 22: Digital Schemes (2)
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
6. Esoteric Protocols secure elections and multi-party computation Kim Hyoung-Shick.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
By Yernar.  Background  Key generation  Encryption  Decryption  Preset Bits  Example.
Cryptography and Network Security (CS435) Part Eight (Key Management)
1 Public-Key Cryptography and Message Authentication.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
Applying MESE processes to Improve Online E-Voting Prototype System with PTC Web Services Master Project Defense Hakan Evecek 1 5/29/2007Hakan Evecek/SE2Evote.
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
Privacy and Anonymity Using Mix Networks* Slides borrowed from Philippe Golle, Markus Jacobson.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Zero Knowledge Proofs Matthew Pouliotte Anthony Pringle Cryptography November 22, 2005 “A proof is whatever convinces me.” -~ Shimon Even.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
Key Management Network Systems Security Mort Anvari.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Cryptography and Network Security Chapter 10 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Wired Equivalent Privacy (WEP) Chris Overcash. Contents What is WEP? What is WEP? How is it implemented? How is it implemented? Why is it insecure? Why.
1 Chapter 3-3 Key Distribution. 2 Key Management public-key encryption helps address key distribution problems have two aspects of this: –distribution.
Security Outline Encryption Algorithms Authentication Protocols
Information Security message M one-way hash fingerprint f = H(M)
Some slides borrowed from Philippe Golle, Markus Jacobson
Information Security message M one-way hash fingerprint f = H(M)
Information Security message M one-way hash fingerprint f = H(M)
Presentation transcript:

1/11/2007 bswilson/eVote-PTCWS 1 Paillier Threshold Cryptography Web Service by Brett Wilson

21/11/2007bswilson/eVote-PTCWS Outline of the Talk Introduction/Motivation Related Work Design of Paillier Threshold Cryptography Web Service (PTC Web Service) ImplementationPerformance Lessons Learnt Future Direction Conclusion

31/11/2007bswilson/eVote-PTCWS Introduction/Motivation Secure electronic voting Why? Why? 2000 Florida Presidential election Increase participation/election visibility Extensive research into developing technologies to allow secure electronic voting Extensive research into developing technologies to allow secure electronic voting Current methods vulnerable Diebold voting machine security Princeton hacks Princeton hacks Kohno et al. software security analysis Kohno et al. software security analysis E-voting Requirements Privacy/Anonymity, Completeness, Soundness, Un-reusability, Eligibility, Fairness Privacy/Anonymity, Completeness, Soundness, Un-reusability, Eligibility, Fairness Robustness, Universal Verifiability, Receipt-Freeness, Incoercibility Robustness, Universal Verifiability, Receipt-Freeness, Incoercibility

41/11/2007bswilson/eVote-PTCWS Introduction/Motivation Many of the new Secure Voting protocols use new encryption techniques Mathematical algorithms presented in literature Mathematical algorithms presented in literature Unable to identify/locate implementations of these algorithms Unable to identify/locate implementations of these algorithms UCCS effort to develop a secure e-voting application Basic building blocks unavailable for a large number of published evoting protocols Basic building blocks unavailable for a large number of published evoting protocols

51/11/2007bswilson/eVote-PTCWS Related Work Unable to locate other implementations Basis for Implementation Sharing Decryption in the context of Voting or Lotteries (Fouque, Poupard, Stern) Sharing Decryption in the context of Voting or Lotteries (Fouque, Poupard, Stern) Closely related research A Generalization of Paillier’s Public Key Cryptosystem with Applications to Electronic Voting (Damgard, Jurik, Nielson) A Generalization of Paillier’s Public Key Cryptosystem with Applications to Electronic Voting (Damgard, Jurik, Nielson) Uses of Paillier Cryptography Electronic Voting Electronic Voting Anonymous Mix Nets (due to self-blinding property) Anonymous Mix Nets (due to self-blinding property) Electronic Auctions Electronic Auctions Electronic Lotteries Electronic Lotteries

61/11/2007bswilson/eVote-PTCWS Related Work Other Techniques Used In E-voting Protocols Non-Interactive Zero Knowledge Proofs Non-Interactive Zero Knowledge Proofs Proof does not require interaction Proof does not require interaction Proof does not reveal any other information Proof does not reveal any other information Prove vote is valid without revealing content of vote Prove vote is valid without revealing content of vote Prove two encryptions encrypt the same message without revealing message Prove two encryptions encrypt the same message without revealing message Mix Nets Anonymize votes Anonymize votes Permutate and “blind” input so that output contains same information, but re-ordered and unrecognizable Permutate and “blind” input so that output contains same information, but re-ordered and unrecognizable

71/11/2007bswilson/eVote-PTCWS Cryptographic Techniques Implemented Paillier CryptoSystem Trapdoor Discrete Logarithm Scheme Trapdoor Discrete Logarithm Scheme c = g M r n mod n 2 c = g M r n mod n 2 n is an RSA modulus (modulus of 2 safe primes) n is an RSA modulus (modulus of 2 safe primes) Safe prime - Safe prime - p = 2q + 1 where q is also prime g is an integer of order nα mod n 2 g is an integer of order nα mod n 2 r is a random number in Z n * r is a random number in Z n * M = L(c λ(n) mod n 2 )/L(g λ(n) mod n 2 ) mod n M = L(c λ(n) mod n 2 )/L(g λ(n) mod n 2 ) mod n L(u) = (u-1)/n, λ(n)=lcm((p-1)(q-1)) L(u) = (u-1)/n, λ(n)=lcm((p-1)(q-1)) Important Properties Important Properties Probabilistic (randomness of E(M)) Homomorphic E(M 1 + M 2 ) = E(M 1 ) x E(M 2 ), E(k x M) = E(M) k E(M 1 + M 2 ) = E(M 1 ) x E(M 2 ), E(k x M) = E(M) kSelf-blinding D(E(M) r n mod n 2 ) = m D(E(M) r n mod n 2 ) = m

81/11/2007bswilson/eVote-PTCWS Cryptographic Techniques Implemented Threshold Encryption Public key encryption as usual Public key encryption as usual Distribute secret key “shares” among i participants Distribute secret key “shares” among i participants Decryption can only be accomplished if a threshold number t of the i participants cooperate Decryption can only be accomplished if a threshold number t of the i participants cooperate No information about m can be obtained with less than t participants cooperating Shamir Secret Sharing Lagrange Interpolation formula Lagrange Interpolation formula f(X) = Σ t i=0 a i X i f(X) = Σ t i=0 a i X i a 0 is secret, a i are random, f(X) are “secret shares” a 0 is secret, a i are random, f(X) are “secret shares” X is share index (1 to number of servers) If enough f(X) available it is possible to recover a 0 If enough f(X) available it is possible to recover a 0

91/11/2007bswilson/eVote-PTCWS Generic PTC Use Admin PTC Web Service PTC CSP 2. SOAP/XML Request for PTC Parameters 3. SOAP/XML Response containing encrypted PTC Parameters Key Share Owner(s) 1. Key Share Owners’ RSA Public Keys 8. Partial Decryption Shares/Proofs of Correct Decryption 4. RSA Encrypted Secret Key Shares PTC CSP 7. Cipher Text 9. Clear Text External Users PTC CSP 5. Paillier Public Key 6. Cipher Text

101/11/2007bswilson/eVote-PTCWS Voting Application PTC Use Election Admin PTC Web Service PTC CSP 2. SOAP/XML Request for PTC Parameters 3. SOAP/XML Response containing RSA encrypted PTC Parameters Election Authorities 1. Election Authorities’ RSA Public Keys 8. Partial Decryption Shares of Vote Tally/Proofs of Correct Decryption 4. RSA Encrypted Secret Key Shares PTC CSP 7. Paillier Encrypted Vote Tally 9. Vote Tally Voter PTC CSP 5. Paillier Public Key 6. Paillier- Encrypted Vote Election Setup – Admin create election/ballots and requests election parameters Voters VoteAdmin computes encrypted vote product (tally) Authorities Partially Decrypt Vote Tally Admin combines partial decryptions to recover tally

111/11/2007bswilson/eVote-PTCWS Paillier Threshold Cryptography Web Service (PTC Web Service) Provides for generation of Paillier Threshold Cryptography parameters Public Key Public Key Private Key Shares Private Key Shares Can be encrypted with provided public keys Can be encrypted with provided public keys Verification Keys Verification Keys Used to verify correct “decryption shares” Used to verify correct “decryption shares” Removes trusted dealer from system participants No interaction between authorities required in this scheme No interaction between authorities required in this scheme Other Methods exist for interactive generation of private key shares that also remove trusted dealer Other Methods exist for interactive generation of private key shares that also remove trusted dealer Interaction required Interaction required

121/11/2007bswilson/eVote-PTCWS PTC Web Service Architecture One Web Method GeneratePaillierThresholdParameters GeneratePaillierThresholdParameters 1 Input Parameter 1 Input Parameter ThresholdParameterRequest XML serialization ThresholdParameterRequest XML serialization Keysize Keysize Number of Secret Key Shares Number of Secret Key Shares System Decryption Threshold System Decryption Threshold List of Key Share Owners List of Key Share Owners May include public keys of Key Share Owners Returns PaillierThresholdParameters XML Returns PaillierThresholdParameters XML Public Key Public Key Secret Key Shares Secret Key Shares Verification Key Shares Verification Key Shares Used by admin to verify decryption shares Used by admin to verify decryption shares

131/11/2007bswilson/eVote-PTCWS PTC Web Service Implementation PaillierThresholdCryptoServiceProvider Implements Microsoft’s.NET interface for asymmetric algorithms Implements Microsoft’s.NET interface for asymmetric algorithms ICSPAsymmetricAlgorithm ICSPAsymmetricAlgorithm Not fully implemented – threshold systems are different Not fully implemented – threshold systems are different Provides all basic functionality Provides all basic functionality Generation of system parameters Generation of system parameters Encryption using public key Encryption using public key Partial decryption using secret key share Partial decryption using secret key share Generates proof of correct decryption Generates proof of correct decryption Combining of decryption shares into original cleartext Combining of decryption shares into original cleartext Validates provided proofs of decryption Validates provided proofs of decryption PTC Utilities Conversion between byte arrays, NGmp IntMP, and ASCII strings Conversion between byte arrays, NGmp IntMP, and ASCII strings Random number generation (within Z n * ) Random number generation (within Z n * ) Safe prime generation Safe prime generation Random prime generation – check for “safeness”

141/11/2007bswilson/eVote-PTCWS PTC Web Service Implementation (cont’d) ThresholdCryptographyService Web Service Application Web Service Application Microsoft Internet Information Services Microsoft Internet Information Services ASP.NET 2.0 ASP.NET 2.0

151/11/2007bswilson/eVote-PTCWS Implementation Problems/Solutions Large Safe Prime Generation Key Size above 256 bits takes an unacceptable amount of time (512 bits sec) Key Size above 256 bits takes an unacceptable amount of time (512 bits sec) Fast algorithm does not exist Fast algorithm does not exist Implemented one option for efficiency increase Implemented one option for efficiency increase Long Term Solution Long Term Solution Generate long list of safe primes off line Generate long list of safe primes off line Extract from list when needed Extract from list when needed Must protect list Must protect list Shamir Secret Sharing Index of each key share must be persisted Index of each key share must be persisted Indexes required to re-assemble the polynomial and thus the secret Indexes required to re-assemble the polynomial and thus the secret

161/11/2007bswilson/eVote-PTCWS Performance Evaluation Scalability not high priority in current scheme Web service only accessed once during cryptosystem parameter creation Web service only accessed once during cryptosystem parameter creation WebPartner Test and Performance Center Request for 256 bit key, 5 keyshares, threshold = 3 Request for 256 bit key, 5 keyshares, threshold = 3 Up to 100 simultaneous requests successful Random busy errors Random busy errors Due to random nature of safe prime generation Due to random nature of safe prime generation

171/11/2007bswilson/eVote-PTCWS Demo: E-Voting Application Election Administrator Creates election and ballot issues Creates election and ballot issues Submits request for election PTC parameters to PTC Web Service Submits request for election PTC parameters to PTC Web Service Includes public keys of key share owners Receives public key, encrypted private key shares, verifier keys Receives public key, encrypted private key shares, verifier keys Makes public key available to voters Distributes encrypted key shares to key share owners Makes verifier keys publicly available At conclusion of election, multiplies all Paillier-encrypted votes together and distributes to key share owners At conclusion of election, multiplies all Paillier-encrypted votes together and distributes to key share owners Receives decryption shares/proofs from key share owners Receives decryption shares/proofs from key share owners verifies proofs combines decryption shares to reveal vote tally if enough valid proofs Voter Receives ballot issues/choices from administrator Receives ballot issues/choices from administrator Uses election public key to encrypt vote Uses election public key to encrypt vote Key Share Owners Receive encrypted secret key shares from administrator Receive encrypted secret key shares from administrator Receive encrypted vote tally from administrator Receive encrypted vote tally from administrator Partially decrypt vote tally using secret key share Generate proof of correct decryption

181/11/2007bswilson/eVote-PTCWS Implementation Tools Visual Studio 2005 VB.NET VB.NET Gnu Multiprecision Library (Gmp) Open source arbitrary precision numeric library Open source arbitrary precision numeric library Compiled under Visual Studio 2005 Compiled under Visual Studio 2005NGmp Open source VB.NET binding of gmp.dll Open source VB.NET binding of gmp.dll Enables calling of gmp library functions through VB.NET Enables calling of gmp library functions through VB.NET Compiled under Visual Studio 2005 Compiled under Visual Studio 2005

191/11/2007bswilson/eVote-PTCWS Future Directions PTC Web Service Authenticity of PTC Parameters not currently guaranteed Authenticity of PTC Parameters not currently guaranteed Implement signing of PTC Parameters by Web Service Implement signing of PTC Parameters by Web Service Insert UID field in web service signature to uniquely identify PTC Parameters Insert UID field in web service signature to uniquely identify PTC Parameters Extend Web Service to provide other threshold encryption parameters RSA threshold signatures RSA threshold signatures E-Voting Application Support Implement voter identity verification Implement voter identity verification Develop non-interactive proof of vote validity Develop non-interactive proof of vote validity encrypted vote is one of a set of valid votes encrypted vote is one of a set of valid votes Authenticity of election parameters/ballots not currently guaranteed Authenticity of election parameters/ballots not currently guaranteed Implement signing of election parameters/ballots by admin

201/11/2007bswilson/eVote-PTCWS Conclusion Implemented a web service and underlying cryptographic algorithms in VB.NET that provides Paillier Threshold Cryptographic services for supporting e- voting and other applications A demonstration e-voting application was completed using Microsoft Visual Studio 2005

211/11/2007bswilson/eVote-PTCWS References [1] P. Paillier, Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, Eurocrypt ‘99 [2] P. Fouque, G. Poupard, J.Stern, Sharing Decryption in the Context of Voting or Lotteries, Financial Cryptography 2000 Proceedings [3] I. Damgard, M. Jurik, J. Nielson, A Generalization of Paillier’s Public-Key System with Applications to Electronic Voting, Aarhus University, Dept. of Computer Science [4] A. Shamir, How to Share a Secret, Communications of the ACM 1979 [5] A.J. Menezes, P. C. van Oorschot, and S.A. Vanstone, Handbook of Applied Cryptography, CRC Press, 1997 [6] D. Naccache, Double-Speed Safe Prime Generation, Gemplus Card International [7] M. Wiener, Safe Prime Generation with a Combined Sieve, Cryptographic Clarity

221/11/2007bswilson/eVote-PTCWS Backup Slides

231/11/2007bswilson/eVote-PTCWS Other Project Documents Paillier Threshold Cryptography Web Service and Evote Demonstration Quick Set-up Information on installation/setup of VS2005 solution for developing/testing PTC Web Service and Evote Demonstration Information on installation/setup of VS2005 solution for developing/testing PTC Web Service and Evote Demonstration Paillier Threshold Cryptography Web Service User’s Guide Detailed Information on installing/using the PTC Web Service Detailed Information on installing/using the PTC Web Service

241/11/2007bswilson/eVote-PTCWS Use of WebService in Secure Voting Ballot format: pick 1 out of c candidates Vote = 2c*log2v where c is the desired candidate number (0…c) and v is the next power of 2 greater than the maximum number of voters Vote = 2c*log2v where c is the desired candidate number (0…c) and v is the next power of 2 greater than the maximum number of voters All Paillier-encrypted votes could be publicly posted At end of election, all encrypted votes could be multiplied together (publicly verifiable) With cooperation of the required threshold number of “authorities”, the final product could be decrypted to reveal the vote total (sum of individual votes).