Microsoft announced today that they’ve developed an open source electronic voting system that makes use of something called “homophobic encryption” to allow tallying votes even while they remain encrypted (preserving e-voter privacy).
Am I understanding this right? How does such a thing work, and if it allows the voters to verify their ballots after casting it, doesn’t that mean anybody else could also coerce them into revealing their votes (in cases of voter intimidation, vote buying, etc.)?
Minor correction - it’s homomorphic. It has nothing against same sex couples.
My quick read of the blog post is that it allows you to tally votes for the same candidate even though the encryption means that each ballot is different.
I’m in two minds as to whether you should ask a mod to fix the title. You’re likely to get a lot more perplexed people looking at a thread about homophobic encryption.
At first glance I saw the title as “homophobic erection”. Which doesn’t make any sense, I know, but might be a slightly more rational word-association than “homophobic encryption”.
In defense of the OP, I’m pretty sure he was an innocent victim of auto-correct.
As a non-homophobic non-cryptologist I think it boils down to being perform operations on the encrypted keys.
So typically you get too functions, one easy:
f(plain) => secret
One very hard:
f’(secret) => plain
Without being able to do the second operation there is nothing you can do with the secret code, its just gibberish. With homomorphic encryption you can perform operations on the encrypted values and the results will be the same doing the same operation on the plain values, then encrypting them. Specifically for the voting case, addition works, so:
secret1+secret2 => f(plain1+plain2)
Can’t work out the exact mechanism but this allows you to know your voted was counted without revealing anything else.
Numberphile has a short YouTube video about it, starring the R from RSA encryption. The idea is that the votes are encrypted, and made public. Individual votes can’t be deciphered, but the total tally can be verified by anyone.
Homophobic is an irrational fear of a GLBT person – doesn’t have to be a couple. <nitpick<
Actually, it does.
There have been a number of studies that show that the loudest homophobes have definite physical reactions to gay porn.
Something I find easy to believe, given the regular stories of some homophobic leader being caught in bed with their aide/campaign worker/ altar boy/ choir director etc. Like Shakespeare said, methinks he doth protest too much. Gets to the point where when you see a big condemnation of gay peope by a leader, you wonder how long it will be before he’s caught out.
[Moderating]
Now that we’ve clarified that the actual topic of discussion here has nothing to do with human sexuality, let’s drop that accidental hijack entirely.
Yes, but I think one of the intended uses does not allow voters to verify their ballots: what it does is allow auditors to compare electronic records to the originating pieces of paper.
With an existing voting system, there is a disconnect between the final total (60/40) and the original ballot papers: the only comparison you can make is by recounting all of them. In the suggested system, you can take the 60/40 vote, and drill down to one (anonymous) ballot paper, and see if it was recorded correctly.
Overall, I’ve no idea if this is a good idea, but it does address a real problem with voting: when you get big, it’s easy to miscount/loose information in the intermediate stages. You have to be very careful at every level.
The linked video explains that, inside the polling booth you can decrypt your ballot to validate it but the ballot is then canceled. After you’ve done this a few times to verify the system is working as expected, you cast a final ballot without verification.
IIRC another proposed voting system (though not homomorphic) operated by giving you multiple receipts (e.g. M receipts if there are M different candidates?). You could show all the receipts to the vote buyer, but only you would remember which one was the correct one.