You solve all of these with cryptography.
Your ID card contains a private key, you use that key to sign a transaction. It doesn't matter that machine you are running on is compromised as these details can be verified at a later date.
Example A: You vote for candidate A, but software changes to candidate B and software displays that you voted for candidate A. At any later time you can check with an independent device and look at the transaction finding out that it was altered with and retract your vote / change it.
Example B: How do you know your vote was counted? Publish a hash and the signature of every vote, recompute the final tally and compare with all the votes. If your vote is not in the final tally the hash will be different and you can visibly see your vote in the dataset as every transaction is published. To preserve privacy each round has a number, private key + number -> new key so each fingerprint will be unique between votes.
A major problem is that if you are able to verify who you vote for, you can either sell your vote or be coerced (by, say, your abusive husband) to vote a specific way.
1) How do you solve the ALB TLS encryption Termination/reencryption to your applications? How to achieve TLS continuation?
2) How do you avoid the cloud derived encryption keys?
> software displays that you voted for candidate
This enables coercion of voters. It must be impossible to attribute any vote to any specific person.
You cannot solve it with cryptography. I understand cryptography but my parents don’t, so I will be voting instead of my parents. This way, I get three votes while they get zero votes each.[0]
I'll quote Bruce Schneier [1]:
If you think cryptography can solve your problem, *you don’t understand your problem* and you don’t understand cryptography.
0: I already do anything related to any interaction with a computer system for them (including payments, social security, medical, travel, etc.)1: He dug into the origins of this here: https://www.schneier.com/blog/archives/2026/05/laurie-anders...
Relevant xkcd: https://xkcd.com/2030https://xkcd.com/2030
There is no problem that electronic voting solves that paper ballots and scanners do not, and the latter are not only more secure but are seen to be more secure. Trust is essential in a voting system and only paper ballots provide the necessary level of trust.
> You solve all of these with cryptography.
Or ballot boxes. Where citizen can keep their eyes on their ballot until it is counted.
Even back in 2002, TV channels in France (60m inhabitants) broadcast the winner at 20:00:30, using statistical models.
But recently, they removed the ability for citizen to stay during the counting, relying on designated persons, which breaks the chain of trust. Might as well cast my vote into a black bag or an electronic machine, no trust at all.
Trust was never the goal. As the means of coercion are higher and the capacity of communication is filtered, it becomes unnecessary to involve citizen in voting, isn't it?
Who makes your ID card, generates the private key, and stores it there? Do you trust them? Did they retain a copy of the key? Did they implement security effectively (a very difficult task, considering the resources of attackers)? What about securing the manufacturing process?
In the end, you always must trust humans.
> Example A: You vote for candidate A, but software changes to candidate B and software displays that you voted for candidate A. At any later time you can check with an independent device and look at the transaction finding out that it was altered with and retract your vote / change it.
This seems to make a pretty dramatic change to the election protocol, no?
Consider example A': You vote for candidate A, but later realize that you hate candidate A. You repudiate your recorded vote for candidate A.
What should happen?
> You solve all of these with cryptography.
I've spent a lot of time thinking about this problem, and my conclusion is that cryptography alone is not the solution, for reasons like:
1. The public needs to believe it, and hypertechnical solutions are a hard sell.
2. Any blockchain approach needs to preserve the secrecy of the ballot, otherwise you get all the problems you can expect of non-secret votes (coercion, vote buying, shaming network effects).
3. You still need to have the cryptographic rubber meet the physical road _somewehere_ -- it has to, otherwise the need for vote secrecy means that the results can be entirely fictitious and pre-programmed and there is no way to check!
I.e., you can have a paperless blockchain solution IFF you abandon vote secrecy. That is a very tough to swallow pill.
On the other hand, if you accept paper ballots and manual partial audits as part of the solution, then blockchain can have a role to play. For example, the machines could display a blockchain head every 50 ballots cast, and voters take a copy of the blockchain head visible to them, then after the election the public can verify the integrity of the blockchain, and the fact that you only get running tallies every 50 ballots means you get vote secrecy.
A system that uses paper ballots and partial manual audits can be explained to the public, and the public can develop confidence in it. Blockchains can then add a good deal of confidence: the blockchain tells you that the tallies were not modified after the fact, and the partial manual audit tells you to an acceptable level of statistical confidence that the digital cast vote record contains the actual paper ballots _as marked and cast_ by voters.