HomeCryptographySecure E-Voting: Homomorphic Vote Tallying

Secure E-Voting: Homomorphic Vote Tallying

Cast encrypted ballots into a real Paillier cryptosystem and watch the election authority sum them homomorphically -- multiplying ciphertexts together -- so only the final tally is ever decrypted, never an individual vote.

Cryptography3DAdvanced60 FPS📱 Mobile-adapted⇄ 2D version
homomorphic-encryption-cybersecurity ↗ Open standalone

Every ballot cast here is individually encrypted under a real Paillier public key before it ever leaves the voter. Instead of decrypting each vote to count it, the simulator multiplies ciphertexts together — the defining property of an additively homomorphic cryptosystem, where multiplying encrypted values produces the encryption of their sum. The 3D ring visualizes the ciphertext ring Z: each vote appears as a small sphere positioned by its encrypted value, and the pulsing sphere at the center is the running homomorphic sum. Only when you press Tally does the private key ever get used, running the genuine Paillier decryption formula on the combined ciphertext to reveal the count — no individual ballot is ever decrypted.

⚙ Under the hood

Cast encrypted Yes/No ballots into a real Paillier cryptosystem and watch the election authority multiply ciphertexts together -- the additively-homomorphic combine step -- so only the final tally is ever decrypted, never an individual vote.

cryptographyhomomorphic-encryptionpailliercybersecuritye-votingprivacy

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)