Sensus To Do List
The following is a list of known problems and suggested improvements for the
- 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.
- 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
- Free memory - pollster does not free memory where ballot is stored
- Faster Modular Exponentiation - RSAREF does slow modular exponentiation.
PGP uses a faster technique which sould be substituted
- 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.
- Pollster should check for existence of registration file before
trying to go through validation preparations.
- 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.
- Add a script that adminstrators can use to generate key pairs.
- 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.
- Conditional display - The ballot specification languate BLT
includes syntax for conditional display, however, this feature
is not actually implemented.
- Check for valid responses - The pollster currently only does limited
checking for valid responses to ballot questions.
- 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)
- 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
- File formats - the file formats used in Sensus are not very