IP Library › Granted Patent US 11,239,996
Granted Patent B2
US 11,239,996 · App. 16/719,056 · Granted Feb 1, 2022

Weighted partial matching under homomorphic encryption

Inventors: Oliver Paul Masters (Birmingham, GB); Hamish C Hunt (Ashford, GB); Flavio A Bergamaschi (Southampton, GB); Enrico Steffinlongo (Winchester, GB)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L9/008G06F16/245G06F21/602H04L9/3073
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,239,996
App. No.
16/719,056
Granted
Feb 1, 2022
Kind
B2
Abstract

Various embodiments are provided for performing weighted partial matching under homomorphic encryption in a computing environment. Selected data may be encoded and encrypted into an encrypted query for comparison using private set intersection (PSI) under homomorphic encryption (HE). An encrypted score may be determined according to data blocks of the selected data and a set of weights for each of the data blocks of the selected data to identify matches between the data and the encrypted query. The encrypted score may be decrypted and decoded to identify matches between the encrypted query with the selected data.

Claims (38)

1. A method for performing weighted partial matching under homomorphic encryption by a processor, comprising:

encoding and encrypting selected data into an encrypted query for comparison using private set intersection (PSI) under homomorphic encryption (HE);

determining an encrypted score according to data blocks of the selected data and a set of weights for each of the data blocks of the selected data to identify matches between the selected data and the encrypted query, wherein determining the encrypted score includes determining a geometric mean of weighted-offset arithmetic means of matches between one or more of the data blocks of the selected data, and wherein the geometric mean of the weighted-offset arithmetic means of the matches are interpreted as a weighted PSI score; and

decrypting and decoding the encrypted score to identify the matches between the encrypted query with the selected data.

2. The method of claim 1 , further including generating homomorphic private and homomorphic public key pairs for the HE of the selected data.

3. The method of claim 1 , further including determining a set of masks to generate the encrypted score, wherein the encrypted score is the weighted PSI score.

4. The method of claim 1 , further including providing the encrypted score to identify partial matching or complete matching between the one or more of the data blocks of the selected data in the encrypted query.

5. The method of claim 1 , further including configuring one or more weights and offsets of a weighted PSI scoring function for determining the encrypted score or performing a lookup operations.

6. The method of claim 1 , further including:

transmitting encrypted query data from a first computing unit to a second computing unit to enable the second computing unit to both determine the encrypted score according to the data blocks of the selected data and the set of weights for each of the data blocks of the selected data and perform a lookup operation;

receiving, by the first computing unit, from the second computing unit the encrypted score; and

decrypting and decoding, by the first computing unit, the encrypted score to identify partial or complete matches between the encrypted query with the selected data.

7. A system for performing weighted partial matching under homomorphic encryption in a computing environment, comprising:

one or more computers with executable instructions that when executed cause the system to:

encode and encrypt selected data into an encrypted query for comparison using private set intersection (PSI) under homomorphic encryption (HE);

determine an encrypted score according to data blocks of the selected data and a set of weights for each of the data blocks of the selected data to identify matches between the selected data and the encrypted query, wherein determining the encrypted score includes determining a geometric mean of weighted-offset arithmetic means of matches between one or more of the data blocks of the selected data, and wherein the geometric mean of the weighted-offset arithmetic means of the matches are interpreted as a weighted PSI score; and

decrypt and decode the encrypted score to identify the matches between the encrypted query with the selected data.

8. The system of claim 7 , wherein the executable instructions generate homomorphic private and homomorphic public key pairs for the HE of the selected data.

9. The system of claim 7 , wherein the executable instructions determine a set of masks to generate the encrypted score, wherein the encrypted score is the weighted PSI score.

10. The system of claim 7 , wherein the executable instructions provide the encrypted score to identify partial matching or complete matching between the one or more of the data blocks of the selected data in the encrypted query.

11. The system of claim 7 , wherein the executable instructions configure one or more weights and offsets of a weighted PSI scoring function for determining the encrypted score or performing a lookup operations.

12. The system of claim 7 , wherein the executable instructions:

transmit encrypted query data in the encrypted query from a first computing unit to a second computing unit to enable the second computing unit to both determine the encrypted score according to the data blocks of the selected data and the set of weights for each of the data blocks of the selected data and perform a lookup operation;

receive, by the first computing unit, from the second computing unit the encrypted score; and

decrypt and decode, by the first computing unit, the encrypted score to identify partial or complete matches between the encrypted query with the selected data.

13. A computer program product for performing weighted partial matching under homomorphic encryption by a processor in a computing environment, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

an executable portion that encodes and encrypts selected data into an encrypted query for comparison using private set intersection (PSI) under homomorphic encryption (HE);

an executable portion that determines an encrypted score according to data blocks of the selected data and a set of weights for each of the data blocks of the selected data to identify matches between the selected data and the encrypted query, wherein determining the encrypted score includes determining a geometric mean of weighted-offset arithmetic means of matches between one or more of the data blocks of the selected data, and wherein the geometric mean of the weighted-offset arithmetic means of the matches are interpreted as a weighted PSI score; and

an executable portion that decrypts and decodes the encrypted score to identify the matches between the encrypted query with the selected data.

14. The computer program product of claim 13 , further including an executable portion that generates homomorphic private and homomorphic public key pairs for the HE of the selected data.

15. The computer program product of claim 13 , further including an executable portion that determines a set of masks to generate the encrypted score, wherein the encrypted score is the weighted PSI score.

16. The computer program product of claim 13 , further including an executable portion that:

provides the encrypted score to identify partial matching or complete matching between the one or more of the data blocks of the selected data in the encrypted query; or

configures one or more weights and offsets of a weighted PSI scoring function for determining the encrypted score or performing a lookup operations.

17. The computer program product of claim 13 , further including an executable portion that:

transmits encrypted query data in the encrypted query from a first computing unit to a second computing unit to enable the second computing unit to both determine the encrypted score according to the data blocks of the selected data and the set of weights for each of the data blocks of the selected data and perform a lookup operation;

receives, by the first computing unit, from the second computing unit the encrypted score; and

decrypts and decodes, by the first computing unit, the encrypted score to identify partial or complete matches between the encrypted query with the selected data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2019
From: MASTERS, OLIVER PAUL; HUNT, HAMISH C.; BERGAMASCHI, FLAVIO A; STEFFINLONGO, ENRICO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051321/0495 →
Continuity (1)
Related Publication 20210194668A1 · Jun 24, 2021
Cited By (1)
US 12,273,466