Page 265 - Towards Trustworthy Elections New Directions in Electronic Voting by Ed Gerck (auth.), David Chaum, Markus Jakobsson, Ronald L. Rivest, Peter Y. A. Ryan, Josh Benaloh, Miroslaw Kutylowski, Ben Adida ( (z-lib.org (1)
P. 265

257
                                                                An Introduction to PunchScan
                                Row Permutations Generation
                          A.1
                          Consider an “unshuffled” D-matrix where D 1 =[1, 2,... 2n], so row x of PDR
                          represents ballot x across theentirerow, and D 5 is blank. The election author-
                          ity should generate this matrix as the first step; call it δ. Generating the row
                                                                                 1
                          permutations will therefore take the form of the generation of D ...D  n D ,where
                            i
                          D denotes the i th  shuffled D-matrix.
                            The D-matrices will be generated from δ as follows:
                                                                   1
                           1. Randomly shuffle the rows of δ;call this D .
                                   1
                           2. Let D equal a random shuffling of {1, 2,..., 2n}.
                                  5
                                                            i
                           3. For each i from 2, 3,..., 2n,let D equal a random shuffling of the rows
                                 1
                             of D .
                          This involves n D + 1 permutations of {1, 2,..., 2n}. It should be clear that if
                                                                    j
                                                                                         j
                              i
                                             i
                          (y, D )= x and (y, D )= z, then for all j,(y, D = x) implies that (y, D )= z;
                              1              5                      1                    5
                                                        1
                          in other words, since each row of D contains a pointer to a (unique) row (ballot)
                          of P in D 1 and a (unique) pointer to R in D 5 , reordering its rows does not change
                          the destination (in R)ofany ballotin P.
                          A.2   Implementation
                          Permutation Algorithm. We use the following permutation algorithm to
                          permute the unshuffled matrix. This algorithm generates a permutation π of
                          1, 2,...m, given as input m, some encryption function E,and some key K.
                            First, create a table with m rows and 2 columns. Populate column 1 of the
                          table with 1, 2,... m and column 2 of the table with E K (1),E K (2),...E K (m);
                          in other words, (i, 2) = E K ((i, 1)) for every row i. Next, sort the table according
                          to column 2. Let π(i)= (i, 1); column 1 is now a permutation of 1, 2,...m.
                            If the key K were generated randomly, and the function E is a good encryption
                          algorithm, then the permutation output by the algorithm will be random. (That
                          is, it will preserve any randomness in K.)
                          Application of the Algorithm. The election authority can use this algorithm
                          to implement the D-matrix generation algorithm above as follows:
                                                                      1
                           1. Generate a permutation π D of 1 ... 2n.Let D = δ, sorted by π D ;thatis,
                                                     1
                                                                                       1
                                                                      1
                                                             1
                             row x of δ becomes row π D 1(x)of D .
                                                                     1
                           2. Generate a permutation π R of 1 ... 2n.Let D = π R .
                                                                     5
                                                             i
                           3. For each i from 2 to n D ,create D by generating a permutation π D of
                                                                                            i
                                                                         i
                                                  1
                             1 ... 2n.Let row y of D become row π D i(y)of D .
                          A.3   Mark Permutations
                          The mark permutations, in contrast, are much simpler to generate. In order to
                          produce all possible associations of candidate names with ballot symbols, it is not
                          necessary to randomly permute both lists; it is only necessary to cyclically shift
                          both lists a (different) random amount. So to generate the mark permutations
                          for ballot x, where the ballot has c candidate names on the top page and c mark
   260   261   262   263   264   265   266   267   268   269   270