How Do I Reveal To You How I Voted In An Election, Without The Election Agent Revealing My Vote?

--

A demo of the method I will show is here.

As you may know, the UK is in a bit of a spin just now. Our House of Commons and the Scottish Parliament are in continual discussions on whether we should have another vote on the EU Referendum, or whether we should have another election.

And so, if the vote goes ahead, how can I reveal to you the way I voted, after the election, and by revealing my commitment within the voting process? Well we could perform a one way hash of my vote, and then send you that:

commitment = Hash(“Stay in EU”) or Hash(“Leave EU”)

But you would be able to crack this, so I can add salt to the hash:

commitment = Hash(“Stay in EU”+salt) | Hash(“Leave EU”+salt)

I can then give you my commitment, and after the vote I can give you the salt value that I used, and you can check it. But let’s say that you do not trust the hashing process, or that I don’t want to reveal my statement for the vote. For this, we can use the Pedersen Commitment, and where I can commit a value, and then reveal my voting options at some time later.

In the Pedersen Commitment we take two large prime numbers (p and q) and and we create a…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.