The registrar is responsible for registering voters prior to an election or poll. The registrar must take a list of people eligible to register (population list) and a list of people who have applied to register and whose identities have been verified (verified list), and produce a list of registered voters. Registered voters will generally be listed by their names or identification codes, a public encryption key, and optionally, an e-mail address.
As with traditional voting systems, the main difficulty in implementing a registrar lies in verifying the identity of applicants, a task that may be impossible without a face-to-face meeting. For this reason, some election administrators may choose not to automate the registration process. However, for most purposes, an automated registration process can produce sufficiently accurate results.
Our registrar implementation requires that each voter be sent a voter identification number (which need not be secret) and a secret token T prior to the registration process. For example, university students might be given these numbers when appearing in an administrative office to have their identification card photos taken, or members of a professional society might be sent these numbers in the postal mail after joining the society.
Eligible voters generate public/private key pairs and register to vote by sending the registrar their voter identification number, T, and public key. The registrar verifies that the applicants have submitted the correct tokens and adds their identification numbers and public keys to the registered voter list. The registered voter list also contains a validation field for each voter which is set to 0 before each election and changed to 1 by the validator after a voter's ballot is validated.