Open vote network – Wikipedia

From Wikipedia, the free encyclopedia

In cryptography, the open vote network (or OV-net) is a secure multi-party computation protocol to compute the boolean-count function: namely, given a set of binary values 0/1 in the input, compute the total count of ones without revealing each individual value. This protocol was proposed by Feng Hao, Peter Ryan, and Piotr Zieliński in 2010.[1] It extends Hao and Zieliński’s anonymous veto network protocol by allowing each participant to count the number of veto votes (i.e., input one in a boolean-OR function) while preserving the anonymity of those who have voted. The protocol can be generalized to support a wider range of inputs beyond just the binary values 0 and 1.

Description[edit]

All participants agree on a group

G{displaystyle scriptstyle G}

with a generator

g{displaystyle scriptstyle g}

of prime order

q{displaystyle scriptstyle q}

in which the discrete logarithm problem is hard. For example, a Schnorr group can be used. Assume there are

n{displaystyle scriptstyle n}

participants. Unlike other secure multi-party computation protocols that typically require pairwise secret and authenticated channels between participants in addition to an authenticated public channel, OV-net only requires an authenticated public channel available to every participant. Such a channel may be realized by using digital signatures. The protocol runs in two rounds.

Round 1: each participant

i{displaystyle scriptstyle i}

selects a random value

xiRZq{displaystyle scriptstyle x_{i},in _{R},mathbb {Z} _{q}}

and publishes the ephemeral public key

gxi{displaystyle scriptstyle g^{x_{i}}}

together with a zero-knowledge proof for the proof of the knowledge of the exponent

xi{displaystyle scriptstyle x_{i}}

. Such proofs may be realized by using Schnorr non-interactive zero-knowledge proofs as described in RFC 8235.

After this round, each participant computes: