IP Library Granted Patent US 8,061,589
Granted Patent B2
US 8,061,589 · App. 11/975,401 · Granted Nov 22, 2011

Electronic voting system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,061,589
App. No.
11/975,401
Granted
Nov 22, 2011
Kind
B2
Abstract

A method is described that involves creating a private key and a public key cryptographic key pair, generating a unique and random identifier for a voter's vote and accepting an election vote from said voter. The vote and identifier are electronically signed with the private key to create a digital signature. The vote and identifier are provided in a human readable format to the voter.

Claims (124)

1. A method comprising:

creating a private key and a public key cryptographic key pair;

generating a unique and random identifier for a voter's vote;

accepting an election vote from said voter;

electronically signing said vote and said identifier with said private key to create a digital signature;

providing, as part of said method's standard process, said vote and said identifier in a human readable format to said voter and providing, as part of said method's standard process, said digital signature to said voter;

generating a second unique and random identifier for a second voter's vote;

accepting a second election vote from said second voter;

electronically signing said second vote and said second identifier with said private key to create a second digital signature;

providing said second vote and said second identifier in a human readable format to said second voter and providing said second digital signature to said second voter;

publishing said public key on an internet;

publicly providing information on said internet that associates together:

(i) said voter's vote in a human readable format,

(ii) said identifier in a human readable format, and

(iii) said digital signature

wherein, said voter's vote is verifiable with said digital signature and said public key;

publicly providing information on said internet that associates together:

(iv) said second voter's vote in a human readable format,

(v) said second identifier in a human readable format, and

(vi) said second digital signature

wherein, said second voter's vote is verifiable with said second digital signature and said public key;

in response to receiving a request from said internet containing said identifier, providing (i), (ii) and (iii) above through an internet communication;

in response to receiving a second request from said internet containing said second identifier, providing (iv), (v) and (vi) above through a second internet communication.

2. The method of claim 1 further comprising in response to receiving a request from said internet for an electoral jurisdiction's election data, providing through a second internet communication a complete set of votes, identifiers, digital signatures and public keys for said electoral jurisdiction.

3. The method of claim 1 further comprising storing said identifier, said digital signature and said voter's vote into a write once read many times (WORM) storage device.

4. The method of claim 3 wherein said identifier, said digital signature and said voter's vote are assigned at a randomly assigned portion of said WORM storage device.

5. The method of claim 1 further comprising erasing said private key after cessation of voting activities.

6. The method of claim 5 further comprising storing said private key only on volatile memory and not disclosing or communicating said private key.

7. The method of claim 1 further comprising generating a new private key and public key pair for each voting session.

8. The method of claim 1 wherein first and second instances of said voter's vote, said identifier and a tangible representation of said digital signature are respectively provided to said voter on a first piece of paper and a voting authority on a second piece of paper.

9. The method of claim 1 wherein said voter's vote is accepted through an electronically generated user interface.

10. The method of claim 1 further comprising tallying said first and second voters' votes.

11. The method of claim 1 further comprising digitally signing results of an election session.

12. The method of claim 1 further comprising accepting marked provisional, early and absentee ballots for subsequent casting.

13. The method of claim 1 further comprising providing information encrypted with said private key to verify said private key without divulging said private key.

14. A computer program product including program code stored on one or more computer readable media, said program code to perform a method, said method comprising:

recognizing creation of a private key and a public key cryptographic key pair;

causing a unique and random identifier to be generated for a voter's vote;

accepting an election vote from said voter through an electronically rendered user interface;

electronically signing said vote and said identifier with said private key to create a digital signature;

as part of said method's standard process, causing said vote and said identifier to be provided in a human readable format to said voter and, as part of said method's standard process, causing said digital signature to be provided to said voter;

causing a second unique and random identifier to be generated for a second voter's vote;

accepting a second election vote from said second voter through said interface;

electronically signing said second vote and said second identifier with said private key to create a second digital signature;

causing said second vote and said second identifier to be provided to said second voter in a human readable format and causing said second digital signature to be provided to said second voter;

publishing said public key on an internet;

publicly providing information on said internet that associates together:

(i) said voter's vote in a human readable format,

(ii) said identifier in a human readable format, and

(iii) said digital signature

wherein, said voter's vote is verifiable with said digital signature and said public key;

publicly providing information on said internet that associates together:

(iv) said second voter's vote in a human readable format,

(v) said second identifier in a human readable format, and

(vi) said second digital signature

wherein, said second voter's vote is verifiable with said second digital signature and said public key;

in response to receiving a request from said internet containing said identifier, providing (i), (ii) and (iii) above through an internet communication;

in response to receiving a second request from said internet containing said second identifier, providing (iv), (v) and (vi) above through a second internet communication.

15. The computer program product of claim 14 wherein said method further comprises in response to receiving a request from said internet for an electoral jurisdiction's election data, providing through a second internet communication a complete set of votes, identifiers, digital signatures and public keys for said electoral jurisdiction.

16. The computer program product of claim 14 wherein said method further comprises causing a random location to be identified for storing said identifier, said digital signature and said voter's vote into a write once read many times (WORM) storage device.

17. The computer program product of claim 14 wherein said method further comprises erasing said private key after cessation of voting activities.

18. The computer program product of claim 14 wherein said method further comprises causing said private key to be stored only on volatile memory and not disclosing or communicating said private key.

19. The computer program product of claim 14 wherein said method further comprises causing a new private key and public key pair to be generated for each voting session.

20. The computer program product of claim 14 wherein said method further comprises tallying said first and second voters' votes.

21. The computer program product of claim 14 wherein said method further comprises digitally signing results of an election session.

22. A voting machine system, comprising:

a) a computer program product including program code stored on one or more computer readable media, said program code to perform a method, said method comprising:

recognizing creation of a private key and a public key cryptographic key pair;

causing a unique and random identifier to be generated for a voter's vote;

accepting an election vote from said voter through an electronically rendered user interface;

electronically signing said vote and said identifier with said private key to create a digital signature;

as part of said method's standard process, causing said vote and said identifier to be provided in a human readable format to said voter and, as part of said method's standard process, causing said digital signature to be provided to said voter;

causing a second unique and random identifier to be generated for a second voter's vote;

accepting a second election vote from said second voter through said interface;

electronically signing said second vote and said second identifier with said private key to create a second digital signature;

causing said second vote and said second identifier to be provided to said second voter in a human readable format and causing said second digital signature to be provided to said second voter;

publishing said public key on an internet;

publicly providing information on said internet that associates together:

(i) said voter's vote in a human readable format,

(ii) said identifier in a human readable format, and

(iii) said digital signature

wherein, said voter's vote is verifiable with said digital signature and said public key;

publicly providing information on said internet that associates together:

(iv) said second voter's vote in a human readable format,

(v) said second identifier in a human readable format, and

(vi) said second digital signature

wherein, said second voter's vote is verifiable with said second digital signature and said public key;

in response to receiving a request from said internet containing said identifier, providing (i), (ii) and (iii) above through an internet communication;

in response to receiving a second request from said internet containing said second identifier, providing (iv), (v) and (vi) above through a second internet communication;

b) processor circuitry implemented on one or more semiconductor chips to process said program code;

c) one or more volatile memory resources coupled to said processor circuitry, said private key stored only in said one or more volatile memory resources;

d) write once read many (WORM) storage resources coupled to said processor circuitry:

said first voter's vote, said first identifier and said first digital signature to be stored in a first randomly assigned portion of said WORM storage resources;

said second voter's vote, said second identifier and said second digital signature to be stored in a second randomly assigned portion of said WORM storage resources.

23. The voting machine system of claim 22 wherein said method further comprises digitally signing results of an election session.

24. A voting machine system, comprising:

a) one or more semiconductor chips to perform the following method:

creating a private key and a public key cryptographic key pair;

generating a unique and random identifier for a voter's vote;

accepting an election vote from said voter;

electronically signing said vote and said identifier with said private key to create a digital signature;

as part of said method's standard process, providing said vote and said identifier in a human readable format to said voter and, as part of said method's standard process, providing said digital signature to said voter;

generating a second unique and random identifier for a second voter's vote;

accepting a second election vote from said second voter;

electronically signing said second vote and said second identifier with said private key to create a second digital signature;

providing said second vote and said second identifier in a human readable format to said second voter and providing said second digital signature to said second voter;

publishing said public key on an internet;

publicly providing information on said internet that associates together:

(i) said voter's vote in a human readable format,

(ii) said identifier in a human readable format, and

(iii) said digital signature

wherein, said voter's vote is verifiable with said digital signature and said public key;

publicly providing information on said internet that associates together:

(iv) said second voter's vote in a human readable format,

(v) said second identifier in a human readable format, and

(vi) said second digital signature

wherein, said second voter's vote is verifiable with said second digital signature and said public key;

in response to receiving a request from said internet containing said identifier, providing (i), (ii) and (iii) above through an internet communication;

in response to receiving a request from said internet for an electoral jurisdiction's election data, providing through a second internet communication a complete set of votes, identifiers, digital signatures and public keys for said electoral jurisdiction;

b) one or more volatile memory resources coupled to said processor circuitry, said private key stored only in said one or more volatile memory resources;

c) write once read many (WORM) storage resources coupled to said processor circuitry:

said first voter's vote, said first identifier and said first digital signature to be stored in a first randomly assigned portion of said WORM storage resources;

said second voter's vote, said second identifier and said second digital signature to be stored in a second randomly assigned portion of said WORM storage resources.

25. The voting system of claim 24 wherein said voting system further comprises one or more storage media storing program code to implement said method, said semiconductor chips having processing circuitry to process said program code.

Continuity (2)
Provisional Application 60853064 · Oct 20, 2006
Related Publication 20080110985A1 · May 15, 2008