IP Library Granted Patent US 12,322,217
Granted Patent B2
US 12,322,217 · App. 18/443,706 · Granted Jun 3, 2025

System and method for cryptographic choice mechanisms

Inventors: Andrew Komo (Washington, DC); Lawrence M. Ausubel (Washington, DC)
Assignee: EFFICIENT AUCTIONS LLC
G07C13/005G06F16/24578H04L9/12H04L2209/08
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 12,322,217
App. No.
18/443,706
Granted
Jun 3, 2025
Kind
B2
Abstract

The present invention provides an improved system and method for using cryptography to secure computer-implemented choice mechanisms. In several preferred embodiments, a process is provided for securing participants' submissions while simultaneously providing the capability of validating their submissions. This is referred to as a random permutation. In several other preferred embodiments, a process is provided for securing participants' advance instructions while simultaneously providing the capability of validating their advance instructions. This is referred to as a secure advance instruction. Applications include voting mechanisms, school choice mechanisms, and auction mechanisms.

Claims (102)

1. A computer system for securing submissions in a choice mechanism with at least two participants while simultaneously validating the submissions, said computer system comprising at least one computer, said choice mechanism using submissions that express one or more choices selected from a plurality of possible choices, comprising:

receiving means of a first computer of said computer system for receiving a submission from each of at least two participants, wherein each said submission expresses one or more choices selected from a plurality of possible choices and wherein the choices expressed within each said submission are encrypted; and

validating means of said first computer for validating each said submission in relation to one or more constraints on the choices expressed within said submission, wherein said validating occurs while the choices expressed within each said submission are encrypted and without knowledge of the choices expressed within each said submission.

2. The computer system of claim 1 , wherein the choices expressed within each said submission are encrypted by a process of random permutation.

3. The computer system of claim 1 , wherein the choices expressed within each said submission are encrypted by a process of secure advance instructions.

4. The computer system of claim 1 , which further comprises encrypting means of a second computer of said computer system for encrypting a submission from one of the at least two participants, sending means of said second computer for sending an encrypted submission from said second computer to said first computer, encrypting means of a third computer of said computer system for encrypting a submission from another of the at least two participants, and sending means of said third computer for sending an encrypted submission from said third computer to said first computer, said second and third computers each located remotely from said first computer and interconnected by a computer network.

5. The computer system of claim 4 , wherein each said encrypting means encrypts a submission by a process of random permutation.

6. The computer system of claim 4 , wherein each said encrypting means encrypts a submission by a process of secure advance instructions.

7. The computer system of claim 1 , which further comprises rejecting means of said first computer for rejecting a submission that cannot be validated in relation to one or more constraints on the choices expressed within said submission.

8. The computer system of claim 4 , which further comprises rejecting means of said first computer for rejecting a submission that cannot be validated in relation to one or more constraints on the choices expressed within said submission.

9. The computer system of claim 7 , wherein submissions are received by the receiving means during a submission round and wherein a submission that cannot be validated is rejected by the rejecting means before the end of the submission round.

10. The computer system of claim 8 , wherein submissions are received by the receiving means during a submission round and wherein a submission that cannot be validated is rejected by the rejecting means before the end of the submission round.

11. The computer system of claim 8 , which further comprises informing means of said first computer for informing a computer that encrypted a rejected submission that the rejected submission has been rejected.

12. The computer system of claim 10 , which further comprises informing means of said first computer for informing a computer that encrypted a rejected submission that the rejected submission has been rejected, and wherein the computer that encrypted the rejected submission is informed before the end of the submission round.

13. The computer system of claim 1 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

14. The computer system of claim 2 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

15. The computer system of claim 3 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

16. The computer system of claim 4 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

17. The computer system of claim 12 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

18. The computer system of claim 1 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

19. The computer system of claim 2 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

20. The computer system of claim 3 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

21. The computer system of claim 4 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

22. The computer system of claim 12 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

23. The computer system of claim 1 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

24. The computer system of claim 2 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

25. The computer system of claim 3 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

26. The computer system of claim 4 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

27. The computer system of claim 12 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

28. A computer system according to claim 1 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

29. A computer system according to claim 2 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

30. A computer system according to claim 3 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

31. A computer system according to claim 4 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

32. A computer system according to claim 12 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

33. A method for securing submissions in a choice mechanism with at least two participants while simultaneously validating the submissions, said method implemented on a computer system comprising at least one computer, said choice mechanism using submissions that express one or more choices selected from a plurality of possible choices, comprising:

receiving a submission from each of at least two participants on a first computer of said computer system, wherein each said submission expresses one or more choices selected from a plurality of possible choices and wherein the choices expressed within each said submission are encrypted; and

validating each said submission on said first computer in relation to one or more constraints on the choices expressed within said submission, wherein said validating occurs while the choices expressed within each said submission are encrypted and without knowledge of the choices expressed within each said submission.

34. The method of claim 33 , wherein the choices expressed within each said submission are encrypted by a process of random permutation.

35. The method of claim 33 , wherein the choices expressed within each said submission are encrypted by a process of secure advance instructions.

36. The method of claim 33 , which further comprises encrypting a submission from one of the at least two participants on a second computer of said computer system, sending an encrypted submission from said second computer to said first computer, encrypting a submission from another of the at least two participants on a third computer of said computer system, and sending an encrypted submission from said third computer to said first computer, said second and third computers each located remotely from said first computer and interconnected by a computer network.

37. The method of claim 36 , wherein said second computer and said third computer each encrypt a submission by a process of random permutation.

38. The method of claim 36 , wherein said second computer and said third computer each encrypt a submission by a process of secure advance instructions.

39. The method of claim 33 , which further comprises rejecting a submission that cannot be validated in relation to one or more constraints on the choices expressed within said submission.

40. The method of claim 36 , which further comprises rejecting a submission that cannot be validated in relation to one or more constraints on the choices expressed within said submission.

41. The method of claim 39 , wherein submissions are received during a submission round and wherein a submission that cannot be validated is rejected before the end of the submission round.

42. The method of claim 40 , wherein submissions are received during a submission round and wherein a submission that cannot be validated is rejected before the end of the submission round.

43. The method of claim 40 , which further comprises informing a computer that encrypted a rejected submission that the rejected submission has been rejected.

44. The method of claim 42 , which further comprises informing a computer that encrypted a rejected submission that the rejected submission has been rejected, and wherein the computer that encrypted the rejected submission is informed before the end of the submission round.

45. The method of claim 33 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

46. The method of claim 34 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

47. The method of claim 35 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

48. The method of claim 36 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

49. The method of claim 44 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

50. The method of claim 33 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

51. The method of claim 34 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

52. The method of claim 35 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

53. The method of claim 36 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

54. The method of claim 44 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

55. The method of claim 33 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

56. The method of claim 34 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

57. The method of claim 35 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

58. The method of claim 36 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

59. The method of claim 44 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

60. A method according to claim 33 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

61. A method according to claim 34 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

62. A method according to claim 35 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

63. A method according to claim 36 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

64. A method according to claim 44 for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

65. A non-transitory computer readable medium storing instructions which, when executed by a computer system, implements a method for securing submissions in a choice mechanism with at least two participants while simultaneously validating the submissions, said method implemented on a computer system comprising at least one computer, said choice mechanism using submissions that express one or more choices selected from a plurality of possible choices, said method comprising:

receiving a submission from each of at least two participants on a first computer of said computer system, wherein each said submission expresses one or more choices selected from a plurality of possible choices and wherein the choices expressed within each said submission are encrypted; and

validating each said submission on said first computer in relation to one or more constraints on the choices expressed within said submission, wherein said validating occurs while the choices expressed within each said submission are encrypted and without knowledge of the choices expressed within each said submission.

66. The non-transitory computer readable medium of claim 65 , wherein the choices expressed within each said submission are encrypted by a process of random permutation.

67. The non-transitory computer readable medium of claim 65 , wherein the choices expressed within each said submission are encrypted by a process of secure advance instructions.

68. The non-transitory computer readable medium of claim 65 storing instructions which, when executed by a computer system, implements a method which further comprises encrypting a submission from one of the at least two participants on a second computer of said computer system, sending an encrypted submission from said second computer to said first computer, encrypting a submission from another of the at least two participants on a third computer of said computer system, and sending an encrypted submission from said third computer to said first computer, said second and third computers each located remotely from said first computer and interconnected by a computer network.

69. The non-transitory computer readable medium of claim 68 , wherein said second computer and said third computer each encrypt a submission by a process of random permutation.

70. The non-transitory computer readable medium of claim 68 , wherein said second computer and said third computer each encrypt a submission by a process of secure advance instructions.

71. The non-transitory computer readable medium of claim 65 storing instructions which, when executed by a computer system, implements a method which further comprises rejecting a submission that cannot be validated in relation to one or more constraints on the choices expressed within said submission.

72. The non-transitory computer readable medium of claim 68 storing instructions which, when executed by a computer system, implements a method which further comprises rejecting a submission that cannot be validated in relation to one or more constraints on the choices expressed within said submission.

73. The non-transitory computer readable medium of claim 71 , wherein submissions are received during a submission round and wherein a submission that cannot be validated is rejected before the end of the submission round.

74. The non-transitory computer readable medium of claim 72 , wherein submissions are received during a submission round and wherein a submission that cannot be validated is rejected before the end of the submission round.

75. The non-transitory computer readable medium of claim 72 storing instructions which, when executed by a computer system, implements a method which further comprises informing a computer that encrypted a rejected submission that the rejected submission has been rejected.

76. The non-transitory computer readable medium of claim 74 storing instructions which, when executed by a computer system, implements a method which further comprises informing a computer that encrypted a rejected submission that the rejected submission has been rejected, and wherein the computer that encrypted the rejected submission is informed before the end of the submission round.

77. The non-transitory computer readable medium of claim 65 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

78. The non-transitory computer readable medium of claim 66 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

79. The non-transitory computer readable medium of claim 67 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

80. The non-transitory computer readable medium of claim 68 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

81. The non-transitory computer readable medium of claim 76 , wherein the plurality of possible choices are elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses an element of said set.

82. The non-transitory computer readable medium of claim 65 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

83. The non-transitory computer readable medium of claim 66 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

84. The non-transitory computer readable medium of claim 67 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

85. The non-transitory computer readable medium of claim 68 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of weather said submission expresses a valid subset of said set.

86. The non-transitory computer readable medium of claim 76 , wherein the plurality of possible choices are subsets of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid subset of said set.

87. The non-transitory computer readable medium of claim 65 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

88. The non-transitory computer readable medium of claim 66 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

89. The non-transitory computer readable medium of claim 67 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

90. The non-transitory computer readable medium of claim 68 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

91. The non-transitory computer readable medium of claim 76 , wherein the plurality of possible choices are rankings of elements of a set and wherein each said submission is encrypted so as to permit validation of whether said submission expresses a valid ranking of elements of said set.

92. A non-transitory computer readable medium according to claim 65 storing instructions which, when executed by a computer system, implements a method for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

93. A non-transitory computer readable medium according to claim 66 storing instructions which, when executed by a computer system, implements a method for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

94. A non-transitory computer readable medium according to claim 67 storing instructions which, when executed by a computer system, implements a method for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

95. A non-transitory computer readable medium according to claim 68 storing instructions which, when executed by a computer system, implements a method for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

96. A non-transitory computer readable medium according to claim 76 storing instructions which, when executed by a computer system, implements a method for securing submissions in a dynamic choice mechanism, wherein a participant's current submission is constrained by one or more constraints in relation to the participant's prior submissions and wherein a current submission is encrypted so as to permit validation of one or more constraints in relation to the participant's prior submissions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: KOMO, ANDREW; AUSUBEL, LAWRENCE M.
To: EFFICIENT AUCTIONS LLC
Reel/Frame 066515/0156 →
Continuity (9)
Continuation 18167703 · Feb 10, 2023
Continuation 17838977 · Jun 13, 2022
Continuation 17378142 · Jul 16, 2021
Continuation 17129159 · Dec 21, 2020
Continuation 16829811 · Mar 25, 2020
Continuation PCTUS2018052695 · Sep 25, 2018
Provisional Application 62721328 · Aug 22, 2018
Provisional Application 62596379 · Dec 8, 2017
Related Publication 20240185662A1 · Jun 6, 2024
References Cited (19)
US 4972475A · Sant'Anselmo · 1990 [cited by applicant]
US 7729975B2 · Ausubel et al. · 2010 [cited by applicant]
US 10872487B2 · Komo · 2020 [cited by examiner]
US 11069171B2 · Komo · 2021 [cited by examiner]
US 11361607B2 · Komo · 2022 [cited by examiner]
US 11580808B2 · Komo · 2023 [cited by examiner]
US 11908249B2 · Komo · 2024 [cited by examiner]
US 20100185863A1 · Rabin et al. · 2010 [cited by applicant]
US 20110055039A1 · Paz · 2011 [cited by applicant]
US 20110295752A1 · Parkes et al. · 2011 [cited by applicant]
US 20140081717A1 · Lu et al. · 2014 [cited by applicant]
US 20170109955A1 · Ernest et al. · 2017 [cited by applicant]
US 20170206611A1 · Morgia · 2017 [cited by applicant]
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration dated Dec. 11, 2018, issued by the United States Patent & Trademark Off… [cited by applicant]
X. I. Selvarani, M. Shruthi, R. Geethanjali, R. Syamala and S. Pavithra, “Secure voting system through SMS and using smart phone application,” 2017 International Conference on Algorithms, Methodology, Models and Applica… [cited by applicant]
ISAIM 2012 (International Symposium on Artificial Intelligence and Mathematics (ISAIM 2012), Fort Lauderdale, Florida, USA, Jan. 9-11, 2012) Proceedings, 2012, arXiv: 1010.2312 [math.QC] (Year: 2012). [cited by applicant]
Jie Zhong and P. R. Wurman, “A framework for computing the outcome of proxied combinatorial auctions,” Seventh IEEE International Conference on E-commerce Technology (CEC'05), Munich, Germany, 2005, pp. 25-32, doi: 10.1… [cited by applicant]
Suzuki Koutarou et al: “Secure 1-28 Generalized Vickrey Auction Using Homomorphic Encryption”, Financial Cryptography, Jan. 1, 2003 (Jan. 1, 2003), pp. 239-249, XP055826635, Berlin, Heidelberg DOI: 10.1007/978-3-540-451… [cited by applicant]
Parkes, D.C., Rabin, M.O., and Thorpe, C., “Cryptographic Combinatorial Clock-Proxy Auctions”, Feb. 23, 2009. In: Dingledine, R., Golle, P. (eds) Financial Cryptography and Data Security. FC 2009. Lecture Notes in Compu… [cited by applicant]
Cited By (1)
US 12,657,982