IP Library Granted Patent US 11,296,879
Granted Patent B2
US 11,296,879 · App. 17/063,049 · Granted Apr 5, 2022

Encrypted search

Inventors: Joseph Oren Tysor (New York City, NY); Erik A. Aronesty (New York, NY); Michael Krebs (New York City, NY); Daniel Gallancy (New York, NY)
Assignee: Atakama LLC
H04L9/3066G06F16/901G06F16/9035G06F16/9038G06F16/90335G06F16/93G06F21/6227H04L9/0662H04L9/085H04L9/0825
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,296,879
App. No.
17/063,049
Filed
Oct 5, 2020
Granted
Apr 5, 2022
Kind
B2
Art Unit
2497
USPC
713/189
Abstract

A method comprises: tokenizing, at a first device, a search query; creating search requests and send to delegate devices, each search request including a public key encrypted message containing the tokenized search query and index identifiers of indices to be searched; computing search responses to the search requests, each search response comprising a partial trapdoor computed per token per identifier; transmitting the search responses to the first device; recombining, at the first device, the search responses per identifier per token; performing a ranked set of queries against the indices; and returning the search results in order of relevancy.

Claims (58)

1. A method, comprising:

tokenizing a document;

generating an index key;

sharding the index key;

encrypting the index key shards with public keys of a plurality of devices;

distributing the encrypted shards;

constructing a secure index using the tokenized document and the key, the constructing comprising generating a trapdoor by hashing a token into an elliptic curve group and performing a point multiplication of the group by an integer representation of the index key; and

storing the secure index in a memory device.

2. The method of claim 1 , wherein the constructing further comprises inserting the trapdoor into a bloom filter.

3. The method of claim 2 , further comprising finalizing the bloom filter with a cryptographic blinding stage.

4. The method of claim 2 , wherein the bloom filter comprises hash functions that are pseudorandom functions with keys derived from index key.

5. The method of claim 1 , wherein the sharding includes secret sharing.

6. A method, comprising:

tokenizing, at a first device, a search query;

creating search requests and send to delegate devices, each search request including a public key encrypted message containing the tokenized search query and index identifiers of indices to be searched;

computing search responses to the search requests, each search response comprising a partial trapdoor computed per token per identifier;

transmitting the search responses to the first device;

recombining, at the first device, the search responses per identifier per token;

performing a ranked set of queries against the indices; and

returning the search results in order of relevancy.

7. The method of claim 6 , wherein the partial trapdoor is computed by hashing each token into the elliptic curve group and performing a point multiplication by the data of a share of an index key.

8. The method of claim 6 , wherein the indices are created by:

tokenizing a document;

generating the index key;

sharding the index key;

encrypting the index key shards with public keys of the delegate devices;

distributing the encrypted shards;

constructing an index using the tokenized document and the key, the constructing comprising generating a trapdoor by hashing a token into an elliptic curve group and performing a point multiplication of the group by an integer representation of the index key; and

storing the index in a memory device.

9. The method of claim 8 , wherein the constructing further comprises inserting the trapdoor into a bloom filter.

10. The method of claim 9 , further comprising finalizing the bloom filter with a cryptographic blinding stage.

11. The method of claim 9 , wherein the bloom filter comprises hash functions that are pseudorandom functions with keys derived from index key.

12. The method of claim 8 , wherein the sharding includes secret sharing.

13. The method of claim 6 , further comprising receiving a user selection of a document from the returned search results and decrypting the user-selected document.

14. A computing device comprising:

a processor; and

one or more memories that include instructions that, when executed by the processor, cause the computing device to:

tokenize, with the processor, a search query;

create search requests and send to delegate devices, each search request including a public key encrypted message containing the tokenized search query and index identifiers of indices to be searched;

cause the delegate devices to compute search responses to the search requests, each search response comprising a partial trapdoor computed per token per identifier;

cause the delegate devices to transmit the search responses to the processor;

recombine, with the processor, the search responses per identifier per token;

performing, with the processor, a ranked set of queries against the indices; and

returning, with the processor, the search results in order of relevancy.

15. The computing device of claim 14 , wherein the partial trapdoor is computed by hashing each token into the elliptic curve group and performing a point multiplication by the data of a share of an index key.

16. The computing device of claim 14 , wherein the indices are created by:

tokenizing a document;

generating the index key;

sharding the index key;

encrypting the index key shards with public keys of the delegate devices;

distributing the encrypted shards;

constructing an index using the tokenized document and the key, the constructing comprising generating a trapdoor by hashing a token into an elliptic curve group and performing a point multiplication of the group by an integer representation of the index key; and

storing the index in a memory device.

17. The computing device of claim 16 , wherein the constructing further comprises inserting the trapdoor into a bloom filter.

18. The computing device of claim 17 , wherein the instructions further cause a computer to finalize the bloom filter with a cryptographic blinding stage.

19. The computing device of claim 17 , wherein the bloom filter comprises hash functions that are pseudorandom functions with keys derived from the index key.

20. The computing device of claim 16 , wherein the sharding includes secret sharing.

21. The computing device of claim 14 , further comprising receiving a user selection of a document from the returned search results and decrypting the user-selected document.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2020
From: TYSOR, JOSEPH OREN; ARONESTY, ERIK A.; KREBS, MICHAEL; GALLANCY, DANIEL
To: ATAKAMA LLC
Reel/Frame 053997/0935 →
Continuity (3)
Provisional Application 62910554 · Oct 4, 2019
Provisional Application 62912779 · Oct 9, 2019
Related Publication 20210105138A1 · Apr 8, 2021
Cited By (1)
US 12,647,256