Was YOUR vote counted? (feat. homomorphic encryption) - Numberphile
Numberphile5 HN recommenders · 2016–2024
198K views · explainer · evergreen · Uploaded 2016-11-07
Numberphile interviews cryptographer Ron Rivest about end-to-end verifiable voting. He explains how homomorphic encryption and receipts let a voter confirm their ballot was counted without being able to prove how they voted to anyone else.
HN commenters point to it in election-security threads as an accessible explainer of how a vote can be verifiable but not sellable.
9:52Vectors | Chapter 1, Essence of linear algebra
3Blue1Brown
19:42But what is the Fourier Transform? A visual introduction.
3Blue1Brown
18:40But what is a neural network? | Deep learning chapter 1
3Blue1Brown
58:58George Lakoff: Moral Politics
University of California Television (UCTV)
24:26The Beauty of Bézier Curves
Freya Holmér
1:13:50The Continuity of Splines
Freya Holmér
1:00:43Jim Simons (full length interview) - Numberphile
Numberphile2
51:32Behind the Scenes of iOS Security
Black Hat
10 comments from Hacker News
Andrew Appel (CS Prof. at Princeton) also gave a very good talk earlier this year about the problems of electronic voting systems. [LINK] edit: Also, Ron Rivest was recently on Numberphile, where he talked about using homomorphic encryption to enable end-to-end verifiable voting. [VIDEO]
@jjuhl answered that question somewhere else in the thread with homomorophic encryption (Numberphile : [VIDEO] ): The hash out of the machine doesn't tell who you voted for, but the sum of the hashes do tally properly. It's still unclear for me, but it's sure that there are mathematical solutions.
Even if the machines were open source you'd have to personally inspect it to make sure it's actually running what it's supposed to be running. Unless you're reading to bring an electron microscope to the polling booth it doesn't seem particularly practical. It would make more sense to check whether your vote was counted post-facto but it's hard to especially if you still want to make it difficult to figure out who voted for whom. There are a few mathematical possibilities but they don't seem particularly practical to me: [VIDEO] So for the time being paper ballots are probably the way to go.
I find Rivest's video( [VIDEO] ) on homomorphic encryption as voting mechanism quite interesting. It looks more secure than pen and paper. All user get a receipt which they can verify is same during vote counting. They themselves can vote count using all others receipt. At the same time, they can't sell their vote as it's encrypted.
How does the blockchain ensure that I can both verify that my vote was counted but can't sell my vote? [VIDEO] describes one electronic voting system that's supposed to have those important properties, even though I don't fully all the details yet.
The mechanism for voter verification is based on homomorphic encryption. Numberphile made a video on this topic recently, with a few basic explainers: [VIDEO]
Right - the way you verify that is by asking for 100 sealed Alice envelopes, and opening 99 of them at random. If the machine was trying to trick you, you have a strong chance of catching it. You still walk out with a sealed envelope, and the would-be vote-buyer can't be sure it isn't a Bob envelope. This Numberphile video explains the process a bit more: [VIDEO]
> I've seen many proposed implementations but they all fail because if I can prove my vote to myself in any way, someone else can make me prove it to them either to buy or coerce my ballot. There is a way to prove that your vote was counted without being able to prove what you voted for by using homomorphic encryption. So, if someone wanted to coerce you or pay you for voting at all for whomever you want, they could do it, but that's fine. Microsoft is actually working with Galois on a system operating on this principle[1], and here's a good video explaining the basic concepts of how it works[2]. [1] [LINK] [2] [VIDEO]
Cryptographers are clever and have figured out a way to let you know your vote was counted without being able to prove it to a third party! [VIDEO]
You’re still misunderstanding how it works. First of all, blockchains are a third party ledger , which is maintained by many independent nodes are the large ones are infeasible to corrupt by a nation-state. The attack could only happen at the point where you sign transactions for the smart contracts. Voters are required to use at least 2 devices, such as scanning a QR code on their laptop (which runs Chrome) with their phone (which runs Safari). The QR code contains (or points to) a vote that is cryptographically signed by one gateway. The website or app on the phone checks this QR code and displays the same result back to you, and you confirm it on eg your phone’s screen. On both gateways (call them Services A and B) you indicated your preference, and digitally signed it, not just with your own key, but there is attestation by the device’s own private key, which is derived from the vendor’s key, meaning the vendor stands behind what their device or app does. Let’s assume absolutely every signature service cannot be trusted, including all your crypto wallets, incouding Apple’s secure enclave, everything is designed to be sleeper agent to mislead you on the day of the election. They just really want to change everyone’s vote. You can still prove which services were corrupted! Let’s say that you got signature Service A and Service B to sign two different candidates during the same chain of QR code confirmations. The proof is there that at least one of the services was corrupt.