Latest revision |
Your text |
Line 18: |
Line 18: |
| * <math>v_{i}:</math> vote of <math>i^{th}</math> voter | | * <math>v_{i}:</math> vote of <math>i^{th}</math> voter |
| * T: tallier | | * T: tallier |
| * n: security parameter | | * n:security parameter |
| * EA: election authority | | * EA: election authority |
|
| |
|
Line 34: |
Line 34: |
|
| |
|
| ==Protocol Description== | | ==Protocol Description== |
| *'''Setup phase''':
| |
| #EA picks a vector <math> \bar{b} = (b_1, . . . , b_{n+1}) \in \{0, 1\}^{n+1}</math> that will be kept secret from T until the end of the ballot casting phase.
| |
| #For each <math>V_k</math>, EA prepares w = poly(n) blank ballot fragments each of the form <math>|\phi_{\bar{a}_j,\bar{b}}\rangle=|\psi_{a_j^1,b_1}\rangle \otimes ...\otimes |\psi_{a_j^{n+1},b_{n+1}}\rangle,j \in \{1,...,w\}</math> where <math>\bar{a}_j=(a_j^1,...,a_j^{n+1}) </math> such that <math>(a_j^1,...,a_j^{n})\in \{0,1\}^n,a_j^{n+1}=a_j^1 \oplus ...\oplus a_j^{n}</math> and <math> |\psi_{0,0}\rangle=|0\rangle,|\psi_{1,0}\rangle=|1\rangle,|\psi_{0,1}\rangle=\dfrac{1}{\sqrt{2}}(|0\rangle+|1\rangle),|\psi_{1,1}\rangle=\dfrac{1}{\sqrt{2}}(|0\rangle-|1\rangle) </math>
| |
| #EA sends one blank ballot to each <math> V_k </math> over an authenticated channel.
| |
| *'''Casting phase''':
| |
| #Each <math> V_k</math> picks for each blank ballot fragment a vector <math>\bar{d_j} = (d^1_j , . . . , d^{n+1}_j )</math> such that: <math>(d_j^1,...,d_j^{n})\in \{0,1\}^n,d_j^{n+1}=d_j^1 \oplus ...\oplus d_j^{n}</math><p><math> \forall j \in \{1,...,w\},V_k </math>applies the unitary <math>U^{\bar{d}_j}_j=Y^{d_j^1}\otimes ... \otimes Y^{d_j^{n+1}}</math> to the blank ballot fragment <math>|\phi_{\bar{a}_j,\bar{b}}\rangle</math> where <math display="block"> Y^1=\begin{bmatrix}
| |
| 0 & -1 \\
| |
| 1 & 0
| |
| \end{bmatrix} ,Y^0=I </math> <math>V_k</math> encodes the candidate of choice in the (n + 1)th-qubit of the last blank ballot fragments.</p>
| |
| #<p><math> V_k</math> sends the ballot to T over an anonymous channel.
| |
| </p>
| |
| *'''Tally phase''':
| |
| #EA announces <math>\bar{b}</math> to T.
| |
| #T decodes each ballot fragment by measuring it in the basis described by vector <math>\bar{b}</math> and XORs the resulting bits and does this to each ballot fragment ending up with a string, which is the actual vote cast.
| |
| #T announces the election result.
| |
|
| |
|
| ==Further Information== | | ==Further Information== |
|
| |
|
| <div style='text-align: right;'>''*contributed by Sara Sarfaraz''</div> | | <div style='text-align: right;'>''*contributed by Sara Sarfaraz''</div> |