IP Library Granted Patent US 9,596,081
Granted Patent B1
US 9,596,081 · App. 14/638,906 · Granted Mar 14, 2017

Order preserving tokenization

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 9,596,081
App. No.
14/638,906
Granted
Mar 14, 2017
Kind
B1
Abstract

An order-preserving tokenization (OPT) method receives a plaintext and generates a token as the ciphertext which preserves the sort order of the plaintext by using stored legacy plaintext-to-ciphertext mapping data and a tail bounded probability distribution sampler to sample a random order preserving function. More specifically, the OPT method uses a mapping table to store plaintext-to-ciphertext mapping for previously generated ciphertexts. The mapping table enables efficient searching of the ciphertext space as the OPT method only needs to look for ciphertext in the space that most likely will have the desired plaintext. In this manner, the order-preserving tokenization method of the present invention realizes a fast algorithm that is also more computational efficient. In one embodiment, the OPT method uses a tail bounded hypergeometric distribution sampler as the probability distribution sampler.

Claims (36)

1. A method of performing order-preserving encryption of an input plaintext and generating an output ciphertext where the output ciphertext preserves the sort order of the input plaintext, the method comprising:

providing a mapping table to store plaintext-to-ciphertext mapping data;

receiving the input plaintext;

performing, using a processor, order-preserving tokenization of the input plaintext using a random order-preserving function;

accessing the mapping table to retrieve plaintext-to-ciphertext mapping data relating to the input plaintext;

in response to the input plaintext not being present in the mapping table, performing, using the processor, a search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and a tail bounded probability distribution sampler to recursively sample the random order-preserving function, the tail bounded probability distribution sampler bounding the possible values for the recursive sampling operations to search the random order-preserving function for the input plaintext at a location with a high probability of locating a ciphertext corresponding to the input plaintext, wherein performing the search comprises performing the search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and the tail bounded probability distribution sampler to start sampling the random order-preserving function at a point in a ciphertext space of the random order-preserving function indicated by the retrieved plaintext-to-ciphertext mapping data to have a high probability of locating the desired ciphertext;

obtaining the ciphertext for the input plaintext as a result of the searching;

storing the plaintext-to-ciphertext mapping for the input plaintext in the mapping table; and

providing the ciphertext as the output ciphertext.

2. The method of claim 1 , wherein performing, using the processor, the search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and the tail bounded probability distribution sampler to recursively sample the random order-preserving function comprises:

performing, using the processor, the search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and a tail bounded hypergeometric distribution sampler to recursively sample the random order-preserving function.

3. The method of claim 1 , wherein providing a mapping table comprises providing a mapping table that is initially empty.

4. The method of claim 1 , wherein providing a mapping table comprises providing a mapping table that contains initial plaintext-to-ciphertext mapping data.

5. The method of claim 1 , further comprising:

in response to the input plaintext being present in the mapping table, retrieving the corresponding ciphertext as the output ciphertext.

6. The method of claim 1 , wherein accessing the mapping table to retrieve plaintext-to-ciphertext mapping data relating to the input plaintext comprises:

accessing the mapping table to retrieve plaintext-to-ciphertext mapping data of one or more plaintext terms in the mapping table that are close in sort order to the input plaintext.

7. The method of claim 1 , wherein performing, using the processor, the search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and the tail bounded probability distribution sampler to recursively sample the random order-preserving function comprises:

performing, using the processor, the search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and the tail bounded probability distribution sampler to start sampling the random order-preserving function at a point in a ciphertext space of the random order-preserving function other than the mid-point.

8. A system for performing order-preserving encryption of an input plaintext and generating an output ciphertext where the output ciphertext preserves the sort order of the input plaintext, the system comprising:

a processor configured to:

provide a mapping table to store plaintext-to-ciphertext mapping data;

receive the input plaintext;

perform, using a processor, order-preserving tokenization of the input plaintext using a random order-preserving function;

access the mapping table to retrieve plaintext-to-ciphertext mapping data relating to the input plaintext;

in response to the input plaintext not being present in the mapping table, perform, using the processor, a search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and a tail bounded probability distribution sampler to recursively sample the random order-preserving function, the tail bounded probability distribution sampler bounding the possible values for the recursive sampling operations to search the random order-preserving function for the input plaintext at a location with a high probability of locating a ciphertext corresponding to the input plaintext, wherein the search of the random order-preserving function for the input plaintext is performed using the retrieved plaintext-to-ciphertext mapping data and the tail bounded probability distribution sampler to start sampling the random order-preserving function at a point in a ciphertext space of the random order-preserving function indicated by the retrieved plaintext-to-ciphertext mapping data to have a high probability of locating the desired ciphertext;

obtain the ciphertext for the input plaintext as a result of the searching;

store the plaintext-to-ciphertext mapping for the input plaintext in the mapping table; and

provide the ciphertext as the output ciphertext; and

a memory coupled to the processor and configured to provide the processor with instructions.

9. The system of claim 8 , wherein the processor is further configured to perform the search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and a tail bounded hypergeometric distribution sampler to recursively sample the random order-preserving function.

10. The system of claim 8 , wherein the processor is further configured to provide a mapping table that is initially empty.

11. The system of claim 8 , wherein the processor is further configured to provide a mapping table that contains initial plaintext-to-ciphertext mapping data.

12. The system of claim 8 , wherein the processor is further configured to, in response to the input plaintext being present in the mapping table, retrieve the corresponding ciphertext as the output ciphertext.

13. The system of claim 8 , wherein the processor is further configured to access the mapping table to retrieve plaintext-to-ciphertext mapping data of one or more plaintext terms in the mapping table that are close in sort order to the input plaintext.

14. The system of claim 8 , wherein the processor is further configured to perform, using the processor, the search of the random order-preserving function for the input plaintext using the retrieved plaintext-to-ciphertext mapping data and the tail bounded probability distribution sampler to start sampling the random order-preserving function at a point in a ciphertext space of the random order-preserving function other than the mid-point.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2021
From: SKYHIGH NETWORKS, LLC
To: MCAFEE, LLC
Reel/Frame 057010/0244 →
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MCAFEE, LLC; SKYHIGH NETWORKS, LLC
Reel/Frame 057620/0102 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 046416/0286 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: SKYHIGH NETWORKS, LLC
Reel/Frame 054211/0739 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED AT REEL: 046416 FRAME: 0286. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 19, 2020
From: SKYHIGH NETWORKS, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 054560/0325 →
CHANGE OF NAME Recorded Dec 19, 2018
From: SKYHIGH NETWORKS, INC.
To: SKYHIGH NETWORKS, LLC
Reel/Frame 047955/0440 →
SECURITY INTEREST Recorded Jul 20, 2018
From: SKYHIGH NETWORKS, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 046416/0225 →
SECURITY INTEREST Recorded Jul 20, 2018
From: SKYHIGH NETWORKS, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 046416/0286 →