Skip to content

Demokratia - An attempt at an Anonymous Voting system

Homomorphic encryption, is a strong method to run mathematical calculations on encrypted data sets. Partially Homomorphic Encryption can possibly be the most time-efficient and viable option for voting systems.

I'm not an expert.

I'm just someone who's learning this by himself and putting it all together. Feel really free to correct me, especially with an explanation, and I'll be more than glad to correct myself.


TL;DR of what it is

Usually, whenever you vote, may it be physically or virtually, your anonymity relies on the honesty of the parties conducting the votes. In case of physical voting, the trust on the conductors is about tampering of the votes; While for virtual voting, its the trust on the parties to be able to keep your information secret.

In reality, however, we know it never works.

Therefore, this is an attempt to make it so that your votes are client-side encrypted (the server conducting the voting doesn't know who you've voted for) and at the end of the voting, using certain new algorithms derived from the initial encryption, one can perform certain operations on the encrypted votes.

In this case, adding the votes for each candidate/topic/poll will give us the result, without exposing who voted for who.

Not just that, but it doesn't require you to trust any party. They could all be corrupt/compromised, yet through certain ways, you can verify the voting is democratic.


Prerequisites

Before starting to understand what Homomorphic Encryption is, we need to learn some basics about what the following are:

  • Linear Transformations, Eigenvectors/values
  • Algebraic Structures, Polynomial Rings, Lattices
  • Number Theory, Probability
  • Salts, Noise, Basics PubKey Cryptography

(If you're seeing this, I'll probably make concise notes for the above too, hopefully.)

If you are not familiar with the topics, check out YouTube channels like Computerphile, the Math Sorcerer, 3Blue1Brown, James Hablin, etc.


(more coming soon)