IP Library › Granted Patent US 10,824,755
Granted Patent B2
US 10,824,755 · App. 16/157,845 · Granted Nov 3, 2020

Edit distance computation on encrypted data

Inventors: Akshar Kaul (Bangalore, IN); Sameep Mehta (New Delhi, IN); Shashank Srivastava (Benares, IN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F21/6227G06F21/602G06F21/6272H04L9/008
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 10,824,755
App. No.
16/157,845
Granted
Nov 3, 2020
Kind
B2
Abstract

One embodiment provides a method, including: receiving, at a third-party storage provider and from a data owner, a plurality of encrypted documents, wherein each of the plurality of encrypted documents is encrypted by the data owner using at least one encryption key; receiving, from a query user, an encrypted query, wherein the query is encrypted using the at least one encryption key; computing an edit distance value between the encrypted query and at least a portion of the plurality of encrypted documents, wherein the computing comprises communicating with an entity to work together to compute the edit distance value; the communicating comprising (i) providing, from the third-party storage provider to the entity, an encrypted function of an edit distance matrix and (ii) receiving an encrypted edit distance value computed by the entity from the encrypted function; and returning the encrypted edit distance value to the query user.

Claims (44)

1. A method, comprising:

receiving, at a third-party storage provider and from a data owner, a plurality of encrypted documents, wherein each of the plurality of encrypted documents is encrypted by the data owner using at least one encryption key;

receiving, at the third-party storage provider from a query user, an encrypted query, wherein the query is encrypted using the at least one encryption key;

computing, at the third-party storage provider, an edit distance value between the encrypted query and at least a portion of the plurality of encrypted documents, wherein the computing comprises communicating with an entity to work together to compute the edit distance value, wherein the entity is provided the at least one encryption key from the data owner;

the communicating comprising (i) providing, from the third-party storage provider to the entity, an encrypted function of an edit distance matrix and (ii) receiving, from the entity at the third-party storage provider, an encrypted edit distance value computed by the entity from the encrypted function of the edit distance matrix; and

returning, from the third-party storage provider, the encrypted edit distance value to the query user.

2. The method of claim 1 , wherein the query user acts as the entity.

3. The method of claim 1 , wherein the entity comprises a second third-party storage provider.

4. The method of claim 1 , wherein the entity comprises a trusted hardware device.

5. The method of claim 1 , wherein the encrypted documents and the encrypted query are encrypted using a semantically secure additive homomorphic encryption scheme.

6. The method of claim 1 , wherein the computing the edit distance value comprises performing a secure bit decomposition function and a minimum finding routine function.

7. The method of claim 1 , wherein the encrypted edit distance value computed by the entity is computed by decrypting the encrypted function of the edit distance matrix using the at least one encryption key.

8. The method of claim 7 , wherein the computing the encrypted edit distance value comprises computing the edit distance value from the decrypted function.

9. The method of claim 8 , wherein the computing the encrypted edit distance value comprises (i) encrypting the edit distance value using the at least one encryption key and (ii) returning the encrypted edit distance value to the third-party storage provider.

10. An apparatus, comprising:

at least one processor; and

a computer readable storage medium having computer readable program code embodied therewith and executable by the at least one processor, the computer readable program code comprising:

computer readable program code configured to receive, at a third-party storage provider and from a data owner, a plurality of encrypted documents, wherein each of the plurality of encrypted documents is encrypted by the data owner using at least one encryption key;

computer readable program code configured to receive, at the third-party storage provider from a query user, an encrypted query, wherein the query is encrypted using the at least one encryption key;

computer readable program code configured to compute, at the third-party storage provider, an edit distance value between the encrypted query and at least a portion of the plurality of encrypted documents, wherein the computing comprises communicating with an entity to work together to compute the edit distance value, wherein the entity is provided the at least one encryption key from the data owner;

the communicating comprising (i) providing, from the third-party storage provider to the entity, an encrypted function of an edit distance matrix and (ii) receiving, from the entity at the third-party storage provider, an encrypted edit distance value computed by the entity from the encrypted function of the edit distance matrix; and

computer readable program code configured to return, from the third-party storage provider, the encrypted edit distance value to the query user.

11. A computer program product, comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code executable by a processor and comprising:

computer readable program code configured to receive, at a third-party storage provider and from a data owner, a plurality of encrypted documents, wherein each of the plurality of encrypted documents is encrypted by the data owner using at least one encryption key;

computer readable program code configured to receive, at the third-party storage provider from a query user, an encrypted query, wherein the query is encrypted using the at least one encryption key;

computer readable program code configured to compute, at the third-party storage provider, an edit distance value between the encrypted query and at least a portion of the plurality of encrypted documents, wherein the computing comprises communicating with an entity to work together to compute the edit distance value, wherein the entity is provided the at least one encryption key from the data owner;

the communicating comprising (i) providing, from the third-party storage provider to the entity, an encrypted function of an edit distance matrix and (ii) receiving, from the entity at the third-party storage provider, an encrypted edit distance value computed by the entity from the encrypted function of the edit distance matrix; and

computer readable program code configured to return, from the third-party storage provider, the encrypted edit distance value to the query user.

12. The computer program product of claim 11 , wherein the query user acts as the entity.

13. The computer program product of claim 11 , wherein the entity comprises a second third-party storage provider.

14. The computer program product of claim 11 , wherein the entity comprises a trusted hardware device.

15. The computer program product of claim 11 , wherein the encrypted documents and the encrypted query are encrypted using a semantically secure additive homomorphic encryption scheme.

16. The computer program product of claim 11 , wherein the computing the edit distance value comprises performing a secure bit decomposition function and a minimum finding routine function.

17. The computer program product of claim 11 , wherein the encrypted edit distance value computed by the entity is computed by decrypting the encrypted function of the edit distance matrix using the at least one encryption key.

18. The computer program product of claim 17 , wherein the computing the encrypted edit distance value comprises computing the edit distance value from the decrypted function.

19. The computer program product of claim 18 , wherein the computing the encrypted edit distance value comprises (i) encrypting the edit distance value using the at least one encryption key and (ii) returning the encrypted edit distance value to the third-party storage provider.

20. A method, comprising:

receiving, from an entity at a first third-party storage provider, a plurality of encrypted documents, each of the plurality of encrypted documents being encrypted by the entity using at least one encryption key and wherein the at least one encryption key is provided to a second third-party storage provider from the entity;

receiving, at the first third-party storage provider from a user, an encrypted query requesting computation of an edit distance value against the plurality of encrypted documents, wherein the encrypted query is encrypted using the at least one encryption key;

computing, at the first third-party storage provider, an encrypted matrix using the encrypted query against the plurality of encrypted documents;

providing, to the second third-party storage provider from the first third-party storage provider, the encrypted matrix;

receiving, at the first third-party storage provider from the second third-party storage provider, an encrypted edit distance value, wherein the encrypted edit distance value is computed by the second third-party storage provider via decryption of the encrypted matrix using the at least one encryption key; and

providing, to the user from the first third-party storage provider, the encrypted edit distance value, wherein the user decrypts the encrypted edit distance value using the at least one encryption key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2018
From: KAUL, AKSHAR; MEHTA, SAMEEP; SRIVASTAVA, SHASHANK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047217/0308 →
Continuity (1)
Related Publication 20200117821A1 · Apr 16, 2020