With Election Day almost upon us, there's been a lot of complaining about the integrity of the voting process. While our current system is cumbersome, it's pretty darned good at maintaining the integrity of everyone's vote. The thing is, you have to trust the system—that your paper vote was counted correctly—because there's no way to go back and check.
In a perfect world, though, we would be all be able to independently verify that everyone's vote was accurately recorded while keeping everyone's vote private, and all without making the voting process too cumbersome. Don't think it's possible? It could be done by cleverly using encryption methods, as this video from explains:
One system that works is to encrypt everyone's vote using a homomorphic encryption algorithm. If something is homomorphically encrypted, then arithmetic operations like multiplication or addition will have the same effect as on the unencrypted value. So for example, using a homomorphic algorithm, if you encrypt a 5 and a 2, multiply the encrypted values together and then decrypt the result, you'll get a 10. Watch the full Numberphile clip for a full explanation of this.
The important thing to know here is that this technique can be used to determine the result of an election without decrypting any one person's vote. Because everyone's vote is encrypted, then everyone's result can be made publicly available. This way, you could check to see if your vote was recorded correctly, and everyone can verify that the math to get the vote total was done correctly. Then election officials can publicly decrypt the total to see who won.
This method is more transparent and more secure than our current voting method. Everything is simultaneously completely public and completely encrypted so there is never any doubt that the system works. And it just might become the way we vote in the near future.