Feng Hao, Peter Ryan, Piotr Zielin ́ski
Article in IET Information Security · July 2010
Depending on whether trusted third parties are involved, it can be divided into two classes
1. decentralized elections where the protocol is essentially run by the voters themselves
2. centralized elections where trusted authorities are employed to administer the process
Introduction
There are two challenges
No trusted third parties exist
No voter-to-voter private channels
Introduction
Many security problems could be easily solved if we assume a trusted third party
But, the “trusted” third party may become the one who breaks the security policy totally
Standard approach
distribute trust among several third parties by using a threshold scheme
But, goal is to eliminate the use of trusted third parties altogether
Introduction > No trusted third parties exist
This is
to ensure dispute freeness – everybody can check whether all voters have faithfully followed the protocol
to minimise the assumptions required for the protocol to be secure
Introduction > No voter-to-voter private channels
Let us consider the single-candidate case first
vote is either "yes" or "no"
Each participant \(P_i\) selects a random value as the secret \(x_i \in_R \mathbf{Z}_q\)
Protocol
Every participant \(P_i\) publishes \(g^{x_i}\) and a ZKP(Zero Knowledge Proof) for \(x_i\)
When this round finishes, each participant \(P_i\) checks the validity of the ZKP and computes
\(g^{y_i} = \prod_{j=1}^{i-1}g^{x_j}/\prod_{j=i+1}^{n}g^{x_j}\)Protocol > 2-round protocol
Protocol > 2-round protocol
Protocol > 2-round protocol > First Round
Protocol > 2-round protocol > Second Round
Security analysis
Security analysis > Maximum ballot secrecy
\(y_i = \sum_{j < i}x_j - \sum_{j > i}x_j\)
Security analysis > Self Tallying
Security analysis > Self Tallying
Security analysis > Limitation