IP Library › Granted Patent US 12,045,361
Granted Patent B1
US 12,045,361 · App. 17/843,628 · Granted Jul 23, 2024

Methods and apparatus for encrypted indexing and searching encrypted data

Inventor: Edward Liang Yu (Millbrae, CA)
Assignee: SIMBA Chain, Inc.
G06F21/6218G06F16/2228G06F16/245G06F21/602G06F21/6254H04L9/0643
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,045,361
App. No.
17/843,628
Granted
Jul 23, 2024
Kind
B1
Abstract

In some embodiments, an apparatus includes a memory and a processor. The processor is configured to receive an index file that associates a characteristic in a set of documents with a set of information associated with the characteristic in the set of documents. The processor is further configured to generate an index identifier associated with the index file and calculate a set of pseudorandom logical block identifiers associated with a set of storage locations of a database based on the index identifier. The processor is then configured to parse the index file into a set of index data portions and send a signal to the database to write each index data portion from the set of index data portions at a different storage location within the database as indicated by a different identifier from the set of pseudorandom logical block identifiers.

Claims (45)

1. A method, comprising:

receiving, at a security device, a search request, the search request having a search string associated with a characteristic in a set of electronic documents within a database;

calculating a hash value associated with the search string using (1) a hash function and (2) the search string as an input to the hash function;

identifying, based on the hash value associated with the search string, each storage location from a set of storage locations;

retrieving data from each storage location from the set of storage locations; and

identifying data relevant to the search request at a storage location from the set of storage locations by comparing the hash value associated with the search string to an identifier at that storage location from the set of storage locations.

2. The method of claim 1 , further comprising:

parsing, at the security device, the set of electronic documents into a set of index files, the set of index files stored at the set of storage locations in the database, prior to receiving the search request.

3. The method of claim 1 , wherein the calculating the hash value associated with the search string further comprises using a cryptographic key as an input to the hash function.

4. The method of claim 1 , wherein the hash value is used to generate a pseudorandom logical block identifier.

5. The method of claim 1 , wherein the identifier includes a value identical to the hash value associated with the search string.

6. The method of claim 1 , further comprising:

retrieving an index file from a set of index files at the storage location from the set of storage locations based on the identification of data relevant to the search request, the index file having a characteristic associated with the search string.

7. The method of claim 1 , wherein a set of identifiers associated with the set of storage locations is not stored in long-term memory.

8. The method of claim 1 , further comprising:

compiling an electronic search result file based on identification of data relevant to the search request;

identifying, based on the electronic search result file, information associated with the characteristic in the set of electronic documents; and

sending, to a compute device, a signal including the information.

9. The method of claim 1 , further comprising:

compiling an electronic search result file based on identification of data relevant to the search request;

identifying, based on the electronic search result file, information associated with the characteristic in the set of electronic documents; and

sending, to a compute device, a signal including the information, the information includes at least one of a set of locations of the characteristic in the set of electronic documents or a set of statistical information associated with the characteristic in the set of electronic documents.

10. A non-transitory processor-readable medium storing code representing instructions to cause one or more processors to:

receive, at a security device, a search request, the search request having a search string associated with a characteristic in a set of electronic documents within a database;

calculate a hash value associated with the search string using (1) a hash function and (2) the search string as an input to the hash function;

identify, based on the hash value associated with the search string, each storage location from a set of storage locations;

retrieve data from each storage location from the set of storage locations; and

identify data relevant to the search request at a storage location from the set of storage locations by comparing the hash value associated with the search string to an identifier at that storage location from the set of storage locations.

11. The non-transitory processor-readable medium of claim 10 , further comprising code to cause the one or more processors to:

parse, at the security device, the set of electronic documents into a set of index files, the set of index files stored at the set of storage locations in the database, prior to receiving the search request.

12. The non-transitory processor-readable medium of claim 10 , wherein the code to cause the one or more processors to calculate includes code to cause the one or more processors to calculate the hash value associated with the search string using a cryptographic key as an input to the hash function.

13. The non-transitory processor-readable medium of claim 10 , wherein the hash value is used to generate a pseudorandom logical block identifier.

14. The non-transitory processor-readable medium of claim 10 , wherein the identifier includes a value identical to the hash value associated with the search string.

15. The non-transitory processor-readable medium of claim 10 , further comprising code to cause the one or more processors to:

retrieve an index file from a set of index files at the storage location from the set of storage locations based on the identification of data relevant to the search request, the index file having a characteristic associated with the search string.

16. The non-transitory processor-readable medium of claim 10 ,

wherein a set of identifiers associated with the set of storage locations is not stored in long-term memory.

17. The non-transitory processor-readable medium of claim 10 , further comprising code to cause the one or more processors to:

compile an electronic search result file based on identification of data relevant to the search request;

identify, based on the electronic search result file, information associated with the characteristic in the set of electronic documents; and

send, to a compute device, a signal including the information.

18. The non-transitory processor-readable medium of claim 10 , further comprising code to cause the one or more processors to:

compile an electronic search result file based on identification of data relevant to the search request;

identify, based on the electronic search result file, information associated with the characteristic in the set of electronic documents; and

send, to a compute device, a signal including the information, the information includes at least one of a set of locations of the characteristic in the set of electronic documents or a set of statistical information associated with the characteristic in the set of electronic documents.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2022
From: OVERNEST, INC.
To: SIMBA CHAIN, INC.
Reel/Frame 060263/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2022
From: YU, EDWARD LIANG
To: OVERNEST, INC.
Reel/Frame 060262/0904 →
Continuity (3)
Continuation 16901623 · Jun 15, 2020
Continuation 15912079 · Mar 5, 2018
Division 15425463 · Feb 6, 2017
Cited By (3)
US 12,316,663 US 12,353,296 US 12,688,153