Vote
The Harbour Rowing Club elects its board. Your ballot is encrypted in this browser before it leaves it. The server checks that your code is on the list and has not voted, and that the ballot is well formed, then adds it to the public board. It cannot see whom you picked.
Loading
The election is closed. The trustees have closed it. Reset the demo election to vote again.
Your ballot
Each code votes once. Codes for visitors to use:
Refused.
In this browser
Each step runs in this page, with the time it took.
Your receipt
The receipt is the SHA-256 of your ballot, worked out in this browser before it was sent. Keep it. Anyone can find it on the board, and nobody can tell from it how you voted.
What the server sees
It sees
- The public key that belongs to your code, so it can check the code is on the list and has not voted.
- The ballot holds one encrypted number per candidate, each a pair of points on the curve P-256.
- Proofs that each number is 0 or 1 and that they add up to exactly one, and your code’s signature over the ballot.
It cannot see
- Whom you picked. Opening one number needs the election’s secret key, which no one holds: it is split between three trustees, and two of them are needed. They only ever open the total.
- Your code itself, which never leaves this browser. Only its public key is sent.
- How to change your ballot. A change breaks your signature, and the verifier finds it.