Sensus To Do List

The following is a list of known problems and suggested improvements for the Sensus system:

  1. Store validation requests - In order to check whether the validator fabricated validation certificates, we need to save the validation requests. However, these must not be saved in the order received.

  2. Pollster should only store the files really needed, and these files should be encrypted - Currently the pollster stores all sorts of stuff in plain text in the user's directory (not world readable). A lot of this stuff is only useful for debugging purposes. Only the files necessary to complete the voting process and contest the election need to be stored. And these files should be encrypted.

  3. Free memory - pollster does not free memory where ballot is stored

  4. Faster Modular Exponentiation - RSAREF does slow modular exponentiation. PGP uses a faster technique which sould be substituted

  5. Faster ballot sealing technique - The initial ballot seal involves generating seal keys. These could probably be done with modular exponentiation by a large random number instead, which would be faster.

  6. Pollster should check for existence of registration file before trying to go through validation preparations.

  7. Supply duplicate receipts - Currently if the voter never receives or loses a receipt there is no way to recover. The validator and tallier should be able to issue duplicate validation certificates and receipts. It might be useful to keep track of duplicates issued to discover possible attacks.

  8. Add a script that adminstrators can use to generate key pairs.

  9. User Interface - It would be nice to be able to specify ballots as HTML forms and have voters mark them using their favorite web browser. The browser would then dump the marked ballot to the user's local pollster program for processing.

  10. Conditional display - The ballot specification languate BLT includes syntax for conditional display, however, this feature is not actually implemented.

  11. Check for valid responses - The pollster currently only does limited checking for valid responses to ballot questions.

  12. Random confusion - The pollster can display selected ballot elements in random order. However, if this option is specified the order changes everytime the voter views the ballot. It might be better to establish one order for each voter; thus the order would be randomized the first time the voter views the ballot, but that order would remain constant for all subsequent viewings by that voter (at least during that session)

  13. Registration file name - Voters shouldn't have to rememebr a registration file name... use a default name, use a null ballot to register and include name in ballot, or implement a file menu

  14. File formats - the file formats used in Sensus are not very space efficient.