IP Library Granted Patent US 12,019,704
Granted Patent B2
US 12,019,704 · App. 18/168,001 · Granted Jun 25, 2024

Systems and methods for encrypting data and algorithms

Inventors: Greg Storm (Kansas City, MO); Riddhiman Das (Parkville, MO); Babak Poorebrahim Gilkalaye (Kansas City, MO)
Assignee: TRIPLEBLIND HOLDING COMPANY
G06F17/16G06N3/045G06N3/048G06Q20/1235G06Q30/0623H04L9/0625H04L63/0428G06F18/2113G06F18/24G06F18/24133G06N3/04G06N3/082G06N3/084G06Q20/401G06Q2220/00G06V10/454G06V10/764G06V10/82H04L9/008H04L9/085H04L2209/46
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,019,704
App. No.
18/168,001
Granted
Jun 25, 2024
Kind
B2
Abstract

Systems, methods, and computer-readable media for achieving privacy for both data and an algorithm that operates on the data. A system can involve receiving an algorithm from an algorithm provider and receiving data from a data provider, dividing the algorithm into a first algorithm subset and a second algorithm subset and dividing the data into a first data subset and a second data subset, sending the first algorithm subset and the first data subset to the algorithm provider and sending the second algorithm subset and the second data subset to the data provider, receiving a first partial result from the algorithm provider based on the first algorithm subset and first data subset and receiving a second partial result from the data provider based on the second algorithm subset and the second data subset, and determining a combined result based on the first partial result and the second partial result.

Claims (37)

1. A system comprising:

at least one processor; and

a non-transitory computer-readable storage device storing instructions which, when executed by the at least one processor, cause the at least one processor to:

convert a first algorithm subset of a n algorithm into a first Boolean logic gate subset of a Boolean logic gate set and a second algorithm subset of the algorithm into a second Boolean logic gate subset of the Boolean logic gate set;

represent data as a first additive share and a second additive share, wherein the first additive share plus the second additive share equals the data such that sharing the first additive share or the second additive share does not reveal the data or any subset of the data;

process, by a first entity and using Beaver triplet, the first Boolean logic gate subset with the first additive share to generate a first partial result;

process, by a second entity and using Beaver triplet, the second Boolean logic gate subset with the second additive share to generate a second partial result, wherein the first entity and the second entity respectively exchange the first partial result and the second partial result as part of a secure multi-party computation process;

determine a combined result based on the first partial result and the second partial result; and

send the combined result to an entity comprising one or more of a data provider that provides the data, an algorithm provider that provides the algorithm, and a third party that initiated a process between the data provider and the algorithm provider to display, for the entity, a representation of the combined result.

2. The system of claim 1 , wherein the first Boolean logic gate subset and the second Boolean logic gate subset comprise AND gates and XOR gates.

3. The system of claim 1 , wherein the algorithm provider provides the algorithm and wherein the algorithm provider comprises at least one first computing device and a data provider provides the data and wherein the data provider comprises at least one second computing device.

4. The system of claim 1 , wherein the algorithm is selected from a list of algorithms provided by the algorithm provider.

5. The system of claim 1 , wherein the algorithm is represented by one of a Boolean logic set, a neural network or an algebraic circuit.

6. The system of claim 1 , wherein the non-transitory computer-readable storage device stores additional instructions which, when executed by the at least one processor, cause the at least one processor to:

encrypt the algorithm and encrypt the data.

7. A method comprising:

converting a first algorithm subset of an algorithm into a first Boolean logic gate subset of a Boolean logic gate set and a second algorithm subset of the algorithm into a second Boolean logic gate subset of the Boolean logic gate set;

representing data as a first additive share and a second additive share, wherein the first additive share plus the second additive share equals the data such that sharing the first additive share or the second additive share does not reveal the data or any subset of the data;

processing, by a first entity and using Beaver triplet, the first Boolean logic gate subset with the first additive share to generate a first partial result;

processing, by a second entity and using Beaver triplet, the second Boolean logic gate subset with the second additive share to generate a second partial result, wherein the first entity and the second entity respectively exchange the first partial result and the second partial result as part of a secure multi-party computation process;

determining a combined result based on the first partial result and the second partial result; and

sending the combined result to an entity comprising one or more of a data provider that provides the data, an algorithm provider that provides the algorithm, and a third party that initiated a process between the data provider and the algorithm provider to display, for the entity, a representation of the combined result.

8. The method of claim 7 , wherein the first Boolean logic gate subset and the second Boolean logic gate subset comprise AND gates and XOR gates.

9. The method of claim 7 , wherein the algorithm provider provides the algorithm and wherein the algorithm provider comprises at least one first computing device.

10. The method of claim 9 , wherein the data provider provides the data and comprises at least one second computing device.

11. The method of claim 7 , wherein the algorithm is selected from a list of algorithms provided by algorithm provider.

12. The method of claim 7 , wherein the algorithm is represented by one of a Boolean logic set, a neural network or an algebraic circuit.

13. The method of claim 7 , further comprising encrypting the algorithm and encrypting the data.

14. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by one or more processors, cause the one or more processors to:

convert a first algorithm subset of an algorithm into a first Boolean logic gate subset of a Boolean logic gate set and a second algorithm subset of the algorithm into a second Boolean logic gate subset of the Boolean logic gate set;

represent data as a first additive share and a second additive share, wherein the first additive share plus the second additive share equals the data such that sharing the first additive share or the second additive share does not reveal the data or any subset of the data;

process, by a first entity and using Beaver triplet, the first Boolean logic gate subset with the first additive share to generate a first partial result;

process, by a second entity and using Beaver triplet, the second Boolean logic gate subset with the second additive share to generate a second partial result, wherein the first entity and the second entity respectively exchange the first partial result and the second partial result as part of a secure multi-party computation process;

determine a combined result based on the first partial result and the second partial result; and

sending the combined result to an entity comprising one or more of a data provider that provides the data, an algorithm provider that provides the algorithm, and a third party that initiated a process between the data provider and the algorithm provider to display, for the entity, a representation of the combined result.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the first Boolean logic gate subset and the second Boolean logic gate subset comprise AND gates and XOR gates.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the algorithm provider provides the algorithm and wherein the algorithm provider comprises at least one first computing device and the data provider provides the data and wherein the data provider comprises at least one second computing device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: TRIPLEBLIND HOLDINGS, INC.
To: SELFIIE CORPORATION
Reel/Frame 068907/0556 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE SHOULD BE CORRECTED FROM TRIPLEBLIND HOLDING COMPANY TO TRIPLEBLIND HOLDINGS, INC. PREVIOUSLY RECORDED AT REEL: 67568 FRAME: 689. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 24, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDINGS, INC.
Reel/Frame 068722/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDING COMPANY
Reel/Frame 067568/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2023
From: STORM, GREG; DAS, RIDDHIMAN; POOREBRAHIM GILKALAYE, BABAK
To: TRIPLEBLIND, INC.
Reel/Frame 064578/0536 →
Continuity (3)
Continuation 16828085 · Mar 24, 2020
Provisional Application 62948105 · Dec 13, 2019
Related Publication 20230198741A1 · Jun 22, 2023