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.
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 Zn²: 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.
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.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install