next up previous
Next: Security Observation Up: Protocols Previous: Tallying Key Submission Protocol

Voting and Tallying Protocol

Now we see that the most straightforward way of casting may be that the voters sign their ballots with their voting key and submit their ballots with the signature. Here, however, we divide the voting and tallying phase into two sub-phases, as mentioned in section 2. Instead of send the ballots directly, voters just submit encrypted ballots with a signature in the first sub-phase. Before the voters submit their keys to decrypt the encrypted ballots, the tallier publishes all the encrypted ballots with the attached signatures, so that every voter can check whether his or her ballot has been counted. Thus voters would have a chance to correct miscounted ballots without revealing the ballot.
Voter V:

  1. Sends to T: tex2html_wrap_inline366 gif

Tallier T:

  1. Checks whether tex2html_wrap_inline374 is in the authorized tallying key list, then verifies the authenticity of tex2html_wrap_inline376 by computing:

    displaymath348

  2. If tex2html_wrap_inline378 is in the authorized tallying key list and the equation holds for all voters, publishes:

    displaymath349

Voter V:

  1. Checks whether his or her encrypted ballot has been included in the published encrypted ballot list. If not, V can correct it by publishing:

    displaymath350


    to the election community.

Note: If no ballot is miscounted, the protocol continues to the next sub-phase.

Voter V:

  1. V sends to T:

    displaymath351

Tallier T:

  1. Checks the authenticity of tex2html_wrap_inline392 by computing:

    displaymath352

  2. If tex2html_wrap_inline394 is valid, T decrypts tex2html_wrap_inline398 with tex2html_wrap_inline400 as follow:

    displaymath353

  3. Publishes all the authenticated data:

    displaymath354


    for universal verification.



Qi He
Thu Dec 25 16:06:46 EST 1997