IP Library Patent Application 15472388
Patent Application
App. No. 15/472,388

SECURELY EXCHANGING LISTS OF VALUES WITHOUT REVEALING THEIR FULL CONTENT

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 None
App. No.
15/472,388
Abstract

A computer implemented method of providing an encrypted executable object containing data values, comprising receiving a query defined by one or more query parameters, obtaining a plurality of data values complying with the query parameter(s), creating an encrypted executable object comprising the plurality of data values where each of the plurality of data values is accessible in the encrypted executable object using the respective data value as an encryption key and providing the encrypted executable object which indicates, in response to an access with one or more questioning data values such the plurality of data values serving as the encryption key, presence or absence of the one or more questioning data values in the encrypted executable object according to the encryption key.

Claims (43)

1 . A computer implemented method of providing an encrypted executable object comprising data values, comprising:

receiving a query defined by at least one query parameter;

obtaining a plurality of data values complying with said at least one query parameter;

creating an encrypted executable object comprising said plurality of data values, each of said plurality of data values is accessible in said encrypted executable object using said each data value as an encryption key; and

providing said encrypted executable object which indicates, in response to an access with at least one questioning data value such said plurality of data values serving as said encryption key, presence or absence of said at least one questioning data value in said encrypted executable object according to said encryption key.

2 . The computer implemented method of claim 1 , wherein said encrypted executable object encrypts a probabilistic structure holding said plurality of data values and indicating a match or a no-match of said at least one questioning data value with one of said plurality of data values.

3 . The computer implemented method of claim 2 , wherein said probabilistic structure is encrypted using a set of hash functions such that each of said plurality of data values is used as said encryption key for accessing a respective one of said plurality of data values, a false positive accuracy of said probabilistic structure is set by adjusting at least one attribute of said set, said at least one attribute is a member of a group consisting of: a type of hash functions and a number of hash functions.

4 . The computer implemented method of claim 2 , wherein said probabilistic structure is a Bloom filter.

5 . The computer implemented method of claim 1 , further comprising creating said encrypted executable object in advance in response to a simulated query such as said query.

6 . A system for providing an encrypted executable object comprising data values, comprising:

at least one processor adapted to execute code, said code comprising:

code instructions to receive a query defined by at least one query parameter;

code instructions to obtain a plurality of data values complying with said at least one query parameter;

code instructions to create an encrypted executable object comprising the plurality of data values, each of said plurality of data values is accessible in said encrypted executable object using said each data value as an encryption key; and

code instructions to provide said encrypted executable object which indicates, in response to an access with at least one questioning data value such as said plurality of data values serving as said encryption key, presence or absence of said at least one questioning data value in said encrypted executable object according to said encryption key.

7 . A computer implemented method of querying an encrypted executable object comprising data values, comprising:

issuing a query defined by at least one query parameter;

receiving an encrypted executable object created in response to said query, said encrypted executable object comprising a plurality of data values complying with said at least one query parameter;

accessing said encrypted executable object with at least one questioning data value such as said plurality of data values, said at least one questioning data value serves as an encryption key; and

receiving an indication of presence or absence of said at least one questioning data value in said encrypted executable object according to said encryption key.

8 . A system for querying an encrypted executable object comprising data values, comprising:

at least one processor adapted to execute code, said code comprising:

code instructions to issue a query defined by at least one query parameter;

code instructions to receive an encrypted executable object created in response to said query, said encrypted executable object comprising a plurality of data values complying with said at least one query parameter;

code instructions to access said encrypted executable object with at least one questioning data value such as said plurality of data values, said at least one questioning data value serves as an encryption key; and

code instructions to receive an indication of presence or absence of said at least one questioning data value in said encrypted executable object according to said encryption key.

9 . A computer implemented method of providing an encrypted dataset comprising data values, comprising:

receiving a query defined by at least one query parameter;

obtaining a plurality of data values complying with said at least one query parameter;

creating an encrypted dataset comprising said plurality of data values, each of said plurality of data values is encrypted using said each data value as an encryption key; and

providing said encrypted dataset, which using a decryption tool, indicates, in response to an access with at least one questioning data value such as said plurality of data values serving as said encryption key, presence or absence of said at least one questioning data value in said encrypted dataset according to said encryption key.

10 . The computer implemented method of claim 9 , wherein said encrypted dataset is a probabilistic structure which indicates a match or a no-match of said at least one questioning data value with one of said plurality of data values.

11 . The computer implemented method of claim 10 , wherein said probabilistic structure is a Bloom filter.

12 . The computer implemented method of claim 10 , wherein said probabilistic structure is encrypted using a set of hash functions such that each of said plurality of data values is used as said encryption key for accessing a respective one of said plurality of data values, a false positive accuracy of said probabilistic structure is set by adjusting at least one attribute of said set, said at least one attribute is a member of a group consisting of: a type of hash functions and a number of hash functions.

13 . The computer implemented method of claim 9 , wherein said decryption tool utilizes a set of hash functions used to encrypt said encrypted dataset such that each of said plurality of data values is used as said encryption key.

14 . The computer implemented method of claim 9 , wherein said decryption tool is constructed by a requester issuing said query according to encryption implementation information provided with said encrypted dataset.

15 . The computer implemented method of claim 9 , wherein said decryption tool is provided with said encrypted dataset to a requester issuing said query.

16 . The computer implemented method of claim 9 , further comprising creating said encrypted dataset in advance in response to a simulated query such as said query.

17 . A computer implemented method of querying an encrypted dataset comprising data values, comprising:

issuing a query defined by at least one query parameter;

receiving an encrypted dataset created in response to said query, said encrypted dataset comprising a plurality of data values complying with said at least one query parameter;

accessing, using a decryption tool, said encrypted dataset with at least one questioning data value such as said plurality of data values, said at least one questioning data value serves as an encryption key; and

receiving, using said decryption tool, an indication of presence or absence of said at least one questioning data value in said encrypted dataset according to said encryption key.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Sep 8, 2023
From: PNC BANK, NATIONAL ASSOCIATION
To: QUOTIENT TECHNOLOGY INC.; UBIMO LTD
Reel/Frame 064841/0963 →
SECURITY INTEREST Recorded Dec 1, 2022
From: QUOTIENT TECHNOLOGY, INC.; UBIMO LTD; SAVINGSTAR, INC.
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 062038/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2017
From: PONCZ, ODED; BEN-YAIR, RAN
To: UBIMO LTD.
Reel/Frame 041935/0680 →