Symmetric & Public Key Systems and E-Voting The following is a set of exercises designed to grow your understanding of the use of standard encryption in the design of protocols. 1. Criteria A secure e-voting scheme has to have certain properties, while others are more negotiable. The CESG security study lists four specific security objectives: 1. Effective Voter Registration. 2. Effective Voter Anonymity. 3. Effective Voter Confidentiality. 4. Effective System Registration. The threads to e-voting can come from the following areas: 1. Denial of service attacks. 2. Viruses or malicious software could corrupt voting software installed on voter equipment. 3. Hacking of servers could affect the integrity of the vote by breaking into computer systems with the purpose to alter, copy, or damage data records and software. 4. Limitations to the system’s capacity to cope with peak demand during the voting period are purely based on the requirements set in the designing e-voting system and the efficiency of the system provided by the commercial suppliers. These criteria and threads show that there are wider issues than just the technical problems of designing a good protocol. Nevertheless, we will concentrate on potential evoting protocols. We evaluate them according to the following criteria: 1. Only authorized voters can vote. 2. No one can vote more than once. 3. No one can determine for whom anyone else voted. (This prevents selling of votes.) 4. No one can duplicate anyone’s vote. (This prevents selling of votes.) 5. No one can change anyone’s vote without being discovered. 6. Every voter can make sure that his vote has been taken into account in the final tabulation. There are sometimes additional requirements such as 7. Everyone knows who voted and who did not. Figure out how each of the following protocols do with regards to these criteria and propose simple remedies if this is possible. 2. Protocols with a single, central tabulating facility (CTF) 2.1. Protocol 1 Each voter encrypts his vote with the public key of the CTF and sends it to it. The CTF then decrypts the vote and tabulates it. 2.2. Protocol 2 Each voter receives a public / private key pair from the CTF when registering. Each voter encrypts his vote with his public key and sends it to the CTF. The CTF decrypts the vote and tabulates it. 2.3. Protocol 3 Each voter receives a public / private key pair from the CTF when registering. The CTF keeps the key pairs secret. Each voter encrypts his vote with his private key and sends it to the CTF. The CTF decrypts the vote with the public key contained in a database and tabulates it. 2.4. Protocol 4 Each voter receives a public / private key pair from the CTF when registering. The CTF keeps the key pairs secret. Each voter signs his vote by encrypting a hash of the vote with his private key. She then encrypts her vote with the CTF public key and sends both vote and signature to the CTF. The CTF decrypts the vote, checks the signature, checks off the voter in a database, and then tabulates the result. It publishes the voter list and the results separately. 3. Improvements We can improve on these schemes using two favorite devices. The first is blind signatures. Recall that a message m is a string of message blocks (m1, m2, m3, … mN) where all message blocks have the same length. We can assume that message blocks are numbers in some sense, e.g. elements of a Galois field. The message m is then a vector in the Galois field and we can multiply such a vector with a scalar. To obtain a blinded signature from Bob, Alice multiplies her document with a random scalar a. She then sends the document to Bob, who signs it. If Alice gives the signature, the blinding scalar, and the document, she can prove that she handed it to Bob. Question: How secure is this. Blind signatures are given to notaries, who do not know what they are signing. However, to prevent cheating, one can use the following trick. Alice wants to have her document signed by Bob. She prepares several sets of documents and blinds them all. Bob picks one document to sign, but checks that all the others are O.K. (For this, Alice needs to reveal her signatures.) In this manner, Bob can be prevented to see the document that he actually signs. The second ingredient is to break the CTF into several parts.