Editing
Practical Quantum Electronic Voting
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Protocol 1 : Quantum e-voting=== ''Inputs'': <math>V = \{v_k\}_{k \in [N]} </math> - Set of votes; <math>S</math> - Security parameter; <math>\epsilon</math> - Distance from the perfect GHZ state; <math>\delta</math> - Threshold for verification; <math>\eta</math> Probability of failure of verification ''Output'': The candidate with majority votes or ''Abort'' ''Resources'': Classical communication, random numbers, N-qubit GHZ source, quantum channels * Phase 1 [getting unique secret indices] ** Agents perform '''UniqueIndex''' until each agent has a secret unique random index <math>\omega_k</math> * Phase 2 [casting votes] ** For <math>l = 1</math> to <math>N</math> *** The voting agent is the agent <math>k</math> with <math>\omega_k = l</math> *** Repeat until '''Voting''' is announced **** The source distributes to each of the N agents one qubit of the GHZ source **** All agents <math> j \in [N] </math> set rejections<math>_j = </math> trials<math>_j = 0</math> **** The voting agent tosses log<math>_2[\frac{16N\epsilon^2}{(\epsilon^2-4\delta)^2}</math>ln<math>(\frac{1}{\eta})]</math> <!--NEEDS FORMATTING CHANGES--> **** The agents perform '''LogicalOR''', where output 1 indicates '''Verification''' and output 0 indicates '''Voting'''. Everyone except the voting agent inputs 0; if the coin toss is 'all heads' the voting agent also inputs 0, otherwise the voting agent inputs 1 **** If '''Verification''' is chosen, the agents perform '''RandomAgent''' and the voting agent anonymously picks an agent <math>j \in [N]</math> to be the verifier. Agent <math>j</math> updates trials<math>_j+ = 1</math> and if '''Verification''' outputs reject: rejections<math>_j+ = 1</math> *** If for any <math>j \in [N], \delta_j = \frac{rejections_j}{trials_j} > \delta </math>, the protocol ''Aborts'' *** Perform '''Voting'''. The outcome is one row of the Bulletin Board '''B'''. The parity of the row gives one entry in the vote vector '''E'''. ** Given the votes '''E''', the tally '''T''' can be computed. *Phase 3 [Verification of results]: ** All agents perform '''LogicalOR''' with security parameter <math>S</math>, and input 1 if their vote is not the same as the entry in '''E''' for the round in which they voted, and 0 otherwise. ** If '''LogicalOR''' outputs 1, ''Abort'' the protocol. Else output the candidate with the most votes according to the tally '''T'''.
Summary:
Please note that all contributions to Quantum Protocol Zoo may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Quantum Protocol Zoo:Copyrights
for details).
Do not submit copyrighted work without permission!
To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
News
Protocol Library
Certification Library
Nodal Subroutines
Codes Repository
Knowledge Graphs
Submissions
Categories
Supplementary Information
Recent Changes
Contact us
Help
Tools
What links here
Related changes
Special pages
Page information