Lattice-Based Proof of Shuffle and Applications to Electronic Voting
Peer reviewed, Journal article
MetadataShow full item record
Original versionLecture Notes in Computer Science (LNCS). 2021, 12704 227-251. 10.1007/978-3-030-75539-3_10
A verifiable shuffle of known values is a method for proving that a collection of commitments opens to a given collection of known messages, without revealing a correspondence between commitments and messages. We propose the first practical verifiable shuffle of known values for lattice-based commitments. Shuffles of known values have many applications in cryptography, and in particular in electronic voting. We use our verifiable shuffle of known values to build a practical lattice-based cryptographic voting system that supports complex ballots. Our scheme is also the first construction from candidate post-quantum secure assumptions to defend against compromise of the voter’s computer using return codes. We implemented our protocol and present benchmarks of its computational runtime. The size of the verifiable shuffle is 17τ KB and takes time 33τ ms for τ voters. This is around 5 times faster and at least 50% smaller per vote than the lattice-based voting scheme by del Pino et al. (ACM CCS 2017), which can only handle yes/no-elections.