I will be writing some code to implement a non interactive proof of shuffle. I intend to use it on a voting application that supports Borda voting. The voter must prove that her vote is valid, that is a permutation of 0..c-1 where c is the number of candidates.The vote is encrypted using lifted El Gamal. However the bibliography is huge on shuffle proofs and I am kind of lost. Can you recommend a paper/scheme that is easy to implement, practical and correct of course.

  • $\begingroup$ That's dangerously close to asking for a subjective list of references... $\endgroup$
    – Maarten Bodewes
    Sep 24 '16 at 18:46

Andrew Neff's verifiable shuffle scheme A Verifiable Secret Shuffle and its Application to E-Voting is implemented by the DeDiS Advanced Crypto Library for Go

A working example program that uses the code is the server from the Riffle anonymous communication system.

Here's a "mostly finished" standalone implementation in Go, including a paper explaining the protocol: https://github.com/cjpatton/shuffle.git


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.