# US 12,120,215 B2 · System for restrictive discovery of private data feature intersection

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

- Number: US 12,120,215 B2
- Document ID: US12120215B2
- Status: Granted
- Kind: B2
- Application number: 17/498,954
- Filed: 2021-10-12
- Published: 2023-04-13
- Granted: 2024-10-15
- Earliest claimed: 2021-10-12
- Assignees: Accenture Global Solutions Limited
- Applicants: Accenture Global Solutions Limited
- Inventors: Andrea Maria Milazzo; Haris Pasic
- Web page: https://patentgrep.com/patent/US12120215B2

## CPC

- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/008: {involving homomorphic encryption}
- G06F 16/90335: {Query processing}
- 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}
- G06N 20/00: Machine learning
- G06Q 20/145: {Payments according to the detected use or quantity}
- G06Q 20/401: {Transaction verification}
- G06Q 30/04: Billing or invoicing
- G06Q 30/06: Buying, selling or leasing transactions
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/083: {involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

This disclosure is directed to a computer system and method to assist in identifying data feature intersection or overlap between private datasets without revealing any specific data items or data features in the datasets. Various technical components including natural language processing, lexical optimization, and encryption and key management technologies such as homomorphic encryption and secret sharing and coding, are integrated into the disclosed system and method to achieve the data feature intersection identification. Such a system and method may be employed in circumstances where data feature intersection is important for collaborative efforts between entities.

## Claims

### Claim 1

A system comprising:
a memory circuitry for storing computer instructions;
a network interface circuitry; and
a processor in communication with the network interface circuitry and the memory circuitry, the processor configured to execute the computer instructions to:
receive an encryption key and a first partial decryption key reference corresponding to the encryption key;
encrypt a requestor dataset using the encryption key and using a predefined homomorphic encryption algorithm to generate a listing of homomorphically encrypted requestor descriptors;
send the listing of homomorphically encrypted requestor descriptors to a data source;
receive, from the data source, a list-matching indicator encrypted using the predefined homomorphic encryption algorithm indicating an overlap between the requestor dataset and a comparer dataset at the data source;
request and receive a second partial decryption key reference corresponding to the encryption key from the data source;
generate a decryption key corresponding to the encryption key from the first partial decryption key reference and the second partial decryption key reference;
decrypt the list-matching indicator that is homomorphically encrypted to generate a decrypted list-matching indicator using the decryption key; and
identify a subset of data items of the comparer dataset as matching the requestor dataset according to the decrypted list-matching indicator.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
the decryption key comprises one or more decryption key segments each re-constructible from one of one or more multi-point decryption key functions corresponding to the one or more decryption key segments using multiple reference points; and
the first partial decryption key reference and the second partial decryption key reference comprises one or more first reference points corresponding and one or more second reference points corresponding to the one or more multi-point decryption key functions, respectively.

### Claim 3 (depends on 2)

The system of claim 2, wherein each of the multi-point decryption key functions comprises a random number and a first-degree polynomial function parameterized by a corresponding one of the one or more decryption key segments.

### Claim 4 (depends on 3)

The system of claim 3, wherein, to generate the decryption key, the processor is configured to execute the computer instructions to compute Lagrange basis polynomials using the first partial decryption key reference and the second partial decryption key reference for each of the one or more decryption key segments.

### Claim 5 (depends on 1)

The system of claim 1, wherein, to generate the requestor dataset, the processor is further configured to execute the computer instructions to:
retrieve an original requestor dataset corresponding to the requestor dataset;
extract textual data features or description data items from the original requestor dataset;
expand the textual data features or description data items to include additional words or phrases; and
generate the requestor dataset by numericizing the expanded textual data features or description data items.

### Claim 6 (depends on 5)

The system of claim 5, wherein the additional words or phrases are identified according to the textual data features or description data items and a lexical database common to the system and the data source.

### Claim 7 (depends on 6)

The system of claim 6, wherein:
the lexical database comprises a plurality of words or phrases each characterized by its popularity and a plurality of numerically quantified connections between the plurality of words or phrases; and
wherein the additional words or phrases are identified by selection from the plurality of words and phrases in the lexical database having a sum of popularity and weighted connection to the textual data features or description data items over a predetermined threshold value.

### Claim 8 (depends on 7)

The system of claim 7, wherein the popularity of the words and phrases and weighted connection therebetween in the lexical database is configured to evolve via incremental learning.

### Claim 9 (depends on 5)

The system of claim 5, wherein the expanded textual data features or description data items is numericized by applying a predefined phonetic algorithm.

### Claim 10 (depends on 5)

The system of claim 5, wherein the comparer dataset is generated at the data source by:
retrieving an original comparer dataset;
extracting textual data features or description data items from a data column of the original comparer dataset;
expanding the textual data features or description data items of the original comparer dataset to include additional words or phrases; and
generating the comparer dataset by numericizing the expanded textual data features or description data items of the original comparer dataset.

### Claim 11 (depends on 10)

The system of claim 10, wherein:
the list-matching indicator, prior to being encrypted at the data source using the predefined homomorphic encryption algorithm, comprises one or more numerical matching values each indicating a degree of matching between data of the comparer dataset and the listing of homomorphically encrypted requestor descriptors; and
each of the one or more numerical matching values is generated at the data source by:
calculating numerical differences between each of data values of the listing of homomorphically encrypted requestor descriptors and the data column of the comparer dataset; and
obtaining a numerical product of the numerical differences.

### Claim 12 (depends on 11)

The system of claim 11, wherein the comparer dataset is unencrypted prior to generating the one or more numerical matching values.

### Claim 13 (depends on 12)

The system of claim 12, wherein the processor is configured to execute the computer instructions to identify the subset of data items of the comparer dataset as matching the requestor dataset by:
identifying non-zero values among the one or more numerical matching values; and
identifying data columns in the comparer dataset having a percentage of non-zero values above a predetermined matching percentage threshold as the subset of data items of the comparer dataset as matching the requestor dataset.

### Claim 14 (depends on 1)

The system of claim 1, the processor is further configured to execute the computer instructions to:
initiate a transaction to the data source using a blockchain smart contract or based on a software guard extension (SGX) when sending the listing of homomorphically encrypted requestor descriptors to the data source;
hold the transaction in the blockchain smart contract or the SGX until the encrypted list-matching indicator received from the data source is validated or until a predetermined time period following receipt of the encrypted list-matching indicator; and
release the transaction for payment in the blockchain smart contract or the SGX after the encrypted list-matching indicator received from the data source is validated or after the predetermined time period following receipt of the encrypted list-matching indicator.

### Claim 15 (depends on 14)

The system of claim 14, the processor is configured to validate the received encrypted list-matching indicator by:
developing an artificial intelligence model trained using a homomorphically encrypted version of the subset of data items of the comparer dataset; and
validating the received encrypted list-matching indicator based on a predictive accuracy of the trained artificial intelligence model being above a predetermined accuracy threshold.

### Claim 16

A privacy-protecting data-sharing method comprising:
receiving an encryption key and a first partial decryption key reference corresponding to the encryption key;
generating a listing of homomorphically encrypted requestor descriptors by encrypting a requestor dataset using the encryption key and using a predefined homomorphic encryption algorithm;
sending the listing of homomorphically encrypted requestor descriptors to a data source;
receiving a list-matching indicator encrypted using the predefined homomorphic encryption algorithm from the data source indicating an overlap between the requestor dataset and a comparer dataset at the data source;
requesting and receiving a second partial decryption key reference corresponding to the encryption key from the data source;
generating a decryption key corresponding to the encryption key from the first partial decryption key reference and the second partial decryption key reference;
decrypting the list-matching indicator that is homomorphically encrypted to generate a decrypted list-matching indicator using the decryption key; and
identifying a subset of data items of the comparer dataset as matching the requestor dataset according to the decrypted list-matching indicator.

### Claim 17 (depends on 16)

The method of claim 16, wherein:
the decryption key comprises one or more decryption key segments each re-constructible from one of one or more multi-point decryption key functions corresponding to the one or more decryption key segments using multiple reference points; and
the first partial decryption key reference and the second partial decryption key reference comprises one or more first reference points corresponding and one or more second reference points corresponding to the one or more multi-point decryption key functions, respectively.

### Claim 18 (depends on 16)

The method of claim 16, wherein generating the requestor dataset, comprises:
retrieving an original requestor dataset corresponding to the requestor dataset;
extracting textual data features or description data items from the original requestor dataset;
expanding the textual data features or description data items to include additional words or phrases; and
generating the requestor dataset by numericizing the expanded textual data features or description data items.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
identifying the additional words or phrases according to the textual data features or description data items and a lexical database, the lexical database comprising a plurality of words or phrases each characterized by its popularity and a plurality of numerically quantified connections between the plurality of words or phrases;
identifying the additional words or phrases by selection from the plurality of words and phrases in the lexical database having a sum of popularity and weighted connection to the textual data features or description data items over a predetermined threshold value; and
evolving the popularity of the plurality of words and phrases and weighted connection therebetween in the lexical database via incremental learning.

### Claim 20

A system comprising:
a memory circuitry for storing computer instructions;
a network interface circuitry; and
a processor in communication with the network interface circuitry and the memory circuitry, the processor configured to execute the computer instructions to:
receive an encryption key and a partial decryption key reference corresponding to the encryption key;
receive a listing of homomorphically encrypted requestor descriptors from a requesting device, the listing of homomorphically encrypted requestor descriptors generated by the requesting device using the encryption key and using a predefined homomorphic encryption algorithm applied to a requestor dataset;
retrieve an original comparer dataset;
extract textual data features or description data items from the original comparer dataset;
expand the textual data features or description data items to include additional words or phrases;
generate a requestor dataset by numericizing the expanded textual data features or description data items;
generate a list-matching indicator indicating an overlap between the requestor dataset and the listing of homomorphically encrypted requestor descriptors;
encrypt the list-matching indicator to generate a homomorphically encrypted list-matching indicator using the predefined homomorphic encryption algorithm;
send the homomorphically encrypted list-matching indicator to the requesting device; and
in response to a key reference request from the requesting device, send the partial decryption key reference to the requesting device.
