IP Library › Granted Patent US 11,190,496
Granted Patent B2
US 11,190,496 · App. 16/434,338 · Granted Nov 30, 2021

Fast oblivious transfers

Inventors: Daniel Siegfried Werner Masny (Palo Alto, CA); Peter Byerley Rindal (San Francisco, CA)
Assignee: VISA INTERNATIONAL SERVICE ASSOCIATION
H04L63/0428H04L9/0819H04L9/0869H04L9/14H04L9/3073H04L9/3242
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 11,190,496
App. No.
16/434,338
Granted
Nov 30, 2021
Kind
B2
Abstract

Systems, methods, and computing device readable media for implementing fast oblivious transfer between two computing devices may improve data security and computational efficiency. The various aspects may use random oracles with or without key agreements to improve the security of oblivious transfer key exchanges. Some techniques may include public/private key strategies for oblivious transfer, while other techniques may use key agreements to achieve simultaneous and efficient cryptographic key exchange.

Claims (41)

1. A method for performing a privacy-preserving multi-party computation, the method comprising:

performing, by a receiver device:

storing an input value b that is to be used in executing an encrypted program;

generating a first value r 1-b using a random number generator;

generating a key pair comprising a private key and a public key, using a cryptographic function;

generating a hash output using a hash function that corresponds to the cryptographic function;

generating a second value r b using the public key and the hash output;

sending the first value r 1-b and the second value r b to a sender device;

receiving a cryptographic value c from the sender device, wherein the cryptographic value c is generated using the cryptographic function;

generating, using the private key and the cryptographic function, a key value that corresponds to the input value b;

receiving the encrypted program from the sender device;

executing the encrypted program using the key value to obtain an encrypted output value; and

sending the encrypted output value to the sender device, wherein the sender device decrypts the encrypted output value using the key value.

2. The method of claim 1 , wherein the cryptographic value c is generated in parallel with the generation of the first value r 1-b and the second value r b .

3. The method of claim 1 , wherein the input value b is an element of a set of values associated with a number of possible keys.

4. The method of claim 1 , wherein the hash function is a random oracle.

5. The method of claim 1 , wherein the first value r 1-b has a same length in bits as the public key.

6. The method of claim 1 , wherein generating the hash output using the hash function that corresponds to the cryptographic function comprises: executing the hash function on the first value r 1-b .

7. The method of claim 1 , wherein generating, using the private key and the cryptographic function, the key value that corresponds to the input value b comprises:

using the cryptographic function and the private key to decrypt the cryptographic value c to produce the key value.

8. A system for performing a privacy-preserving multi-party computation, the system comprising:

one or more processors; and

a non-transitory computer readable medium storing instructions that, when executed, cause the one or more processors to perform a method comprising:

storing an input value b that is to be used in executing an encrypted program;

generating a first value r 1-b using a random number generator;

generating a key pair comprising a private key and a public key, using a cryptographic function;

generating a hash output using a hash function that corresponds to the cryptographic function;

generating a second value r b using the public key and the hash output;

sending the first value r 1-b and the second value r b to a sender device;

receiving a cryptographic value c from the sender device, wherein the cryptographic value c is generated using the cryptographic function;

generating, using the private key and the cryptographic function, a key value that corresponds to the input value b;

receiving the encrypted program from the sender device;

executing the encrypted program using the key value to obtain an encrypted output value; and

sending the encrypted output value to the sender device, wherein the sender device decrypts the encrypted output value using the key value.

9. The system of claim 8 , wherein the cryptographic value c is generated in parallel with the generation of the first value r 1-b and the second value r b .

10. The system of claim 8 , wherein the input value b is an element of a set of values associated with a number of possible keys.

11. The system of claim 8 , wherein the hash function is a random oracle.

12. The system of claim 8 , wherein the first value r 1-b has a same length in bits as the public key.

13. The system of claim 8 , wherein generating the hash output using the hash function that corresponds to the cryptographic function comprises: executing the hash function on the first value r 1-b .

14. The system of claim 8 , wherein generating, using the private key and the cryptographic function, the key value that corresponds to the input value b comprises:

using the cryptographic function and the private key to decrypt the cryptographic value c to produce the key value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2019
From: MASNY, DANIEL SIEGFRIED WERNER; RINDAL, PETER BYERLEY
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 050200/0001 →
Continuity (2)
Provisional Application 62804435 · Feb 12, 2019
Related Publication 20200259800A1 · Aug 13, 2020
Cited By (1)
US 12,665,768