# US 12,008,116 B2 · Device and method for increasing the security of a database

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,116 B2
- Document ID: US12008116B2
- Status: Granted
- Kind: B2
- Application number: 17/402,010
- Filed: 2021-08-13
- Published: 2021-12-02
- Granted: 2024-06-11
- Earliest claimed: 2017-11-13
- Assignees: Alibaba Group Holding Limited
- Applicants: Alibaba Group Holding Limited
- Inventors: Yuanmi Chen
- Web page: https://patentgrep.com/patent/US12008116B2

## CPC

- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 16/3331: Query processing
- G06F 16/90344: {by using string matching techniques}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 2221/2107: File encryption
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data processing method includes receiving a query word and in response to receiving the query word, searching a plurality of stored irreversibly encrypted substrings corresponding to the query word, where each of the plurality of stored irreversibly encrypted substrings is associated with a string of reversibly encrypted raw data. The data processing method further includes in response to searching, outputting one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data corresponding to the query word as a query result.

## Claims

### Claim 1

A data processing method, comprising:
receiving a query word;
partitioning the query word to form a plurality of sub-query words based on a length of a sliding window;
in response to receiving the query word and partitioning the query word, searching a plurality of stored irreversibly encrypted substrings corresponding to the plurality of sub-query words, wherein each of the plurality of stored irreversibly encrypted substrings is associated with a string of reversibly encrypted raw data, and wherein the length of the sliding window is determined based on a collision rate of the plurality of stored irreversibly encrypted substrings; and
in response to searching, outputting one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data corresponding to the plurality of sub-query words as a query result.

### Claim 2 (depends on 1)

The data processing method of claim 1, further comprising:
irreversibly encrypting the plurality of sub-query words to form a plurality of irreversibly encrypted sub-query words.

### Claim 3 (depends on 2)

The data processing method of claim 2, wherein searching the plurality of stored irreversibly encrypted substrings corresponding to the query word comprises matching the plurality of irreversibly encrypted sub-query words with the plurality of stored irreversibly encrypted substrings, and
wherein outputting the one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data corresponding to the query word comprises outputting one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data that match the plurality of irreversibly encrypted sub-query words as the query result.

### Claim 4 (depends on 3)

The data processing method of claim 3, further comprising:
decrypting the string of reversibly encrypted raw data associated with the plurality of stored irreversibly encrypted substrings matching the plurality of irreversibly encrypted sub-query words, to form a plurality of decrypted strings when more than one irreversibly encrypted substrings from the plurality of stored irreversibly encrypted substrings are output;
determining decrypted strings, from the plurality of decrypted strings, which match an unencrypted query word; and
for each match, adding the corresponding irreversibly encrypted substring and associated reversibly encrypted string to the query result.

### Claim 5 (depends on 1)

The data processing method of claim 1, wherein the plurality of stored irreversibly encrypted substrings is formed by: partitioning a string of raw data that is obtained from a source to form a plurality of raw substrings, and irreversibly encrypting the plurality of raw substrings.

### Claim 6 (depends on 5)

The data processing method of claim 5, wherein the string of raw data is partitioned using the sliding window.

### Claim 7 (depends on 1)

The data processing method of claim 1, wherein the query word is partitioned using the sliding window.

### Claim 8

A non-transitory computer-readable storage medium having embedded therein program instructions, which when executed by a processor, causes the processor to execute a method of data processing, the method comprising:
receiving a query word;
partitioning the query word to form a plurality of sub-query words based on a length of a sliding window;
in response to receiving the query word and partitioning the query word, searching a plurality of stored irreversibly encrypted substrings corresponding to the plurality of sub-query words, wherein each of the plurality of stored irreversibly encrypted substrings is associated with a string of reversibly encrypted raw data, and wherein the length of the sliding window is determined based on a collision rate of the plurality of stored irreversibly encrypted substrings; and
in response to searching, outputting one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data corresponding to the plurality of sub-query words as a query result.

### Claim 9 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein the method further comprises:
irreversibly encrypting the plurality of sub-query words to form a plurality of irreversibly encrypted sub-query words.

### Claim 10 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein searching the plurality of stored irreversibly encrypted substrings corresponding to the query word comprises matching the plurality of irreversibly encrypted sub-query words with the plurality of stored irreversibly encrypted substrings, and
wherein outputting the one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data corresponding to the query word comprises outputting one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data that match the plurality of irreversibly encrypted sub-query words as the query result.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises:
decrypting the string of reversibly encrypted raw data associated with the plurality of stored irreversibly encrypted substrings matching the plurality of irreversibly encrypted sub-query words, to form a plurality of decrypted strings when more than one irreversibly encrypted substrings from the plurality of stored irreversibly encrypted substrings are output;
determining decrypted strings, from the plurality of decrypted strings, which match an unencrypted query word; and
for each match, adding the corresponding irreversibly encrypted substring and associated reversibly encrypted string to the query result.

### Claim 12 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein the plurality of stored irreversibly encrypted substrings is formed by: partitioning a string of raw data that is obtained from a source to form a plurality of raw substrings, and irreversibly encrypting the plurality of raw substrings.

### Claim 13 (depends on 12)

The non-transitory computer-readable storage medium of claim 12, wherein the string of raw data is partitioned using the sliding window.

### Claim 14 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein the method further comprises wherein the query word is partitioned using the sliding window.

### Claim 15

A data device, comprising:
a memory that stores instructions and data in a data structure; and
a processor coupled to the memory, the processor to:
receive a query word;
partition the query word to form a plurality of sub-query words based on a length of a sliding window;
in response to the receipt of the query word and the partitioned query word, search a plurality of stored irreversibly encrypted substrings corresponding to the plurality of sub-query words, wherein each of the plurality of stored irreversibly encrypted substrings is associated with a string of reversibly encrypted raw data, and wherein the length of the sliding window is determined based on a collision rate of the plurality of stored irreversibly encrypted substrings; and
in response to the search, output one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data corresponding to the plurality of sub-query words as a query result.

### Claim 16 (depends on 15)

The data device of claim 15, wherein the processor to further:
irreversibly encrypt the plurality of sub-query words to form a plurality of irreversibly encrypted sub-query words.

### Claim 17 (depends on 16)

The data device of claim 16, wherein to search the plurality of stored irreversibly encrypted substrings corresponding to the query word, the processor is to match the plurality of irreversibly encrypted sub-query words with the plurality of stored irreversibly encrypted substrings, and
wherein to output the one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data corresponding to the query word, the processor is to output one or more of the plurality of stored irreversibly encrypted substrings and the associated string of reversibly encrypted raw data that match the plurality of irreversibly encrypted sub-query words as the query result.

### Claim 18 (depends on 17)

The data device of claim 17, wherein the processor to further:
decrypt the string of reversibly encrypted raw data associated with the plurality of stored irreversibly encrypted substrings matching the plurality of irreversibly encrypted sub-query words, to form a plurality of decrypted strings when more than one irreversibly encrypted substrings from the plurality of stored irreversibly encrypted substrings are output;
determine decrypted strings, from the plurality of decrypted strings, which match an unencrypted query word; and
for each match, add the corresponding irreversibly encrypted substring and associated reversibly encrypted string to the query result.

### Claim 19 (depends on 15)

The data device of claim 15, wherein the plurality of stored irreversibly encrypted substrings is formed by partitioning a string of raw data that is obtained from a source to form a plurality of raw substrings, and irreversibly encrypting the plurality of raw substrings.

### Claim 20 (depends on 19)

The data device of claim 19, wherein the string of raw data is partitioned using the sliding window.
