IP Library Granted Patent US 7,426,752
Granted Patent B2
US 7,426,752 · App. 10/752,154 · Granted Sep 16, 2008

System and method for order-preserving encryption for numeric data

Assignee: International Business Machines Corporation
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 7,426,752
App. No.
10/752,154
Granted
Sep 16, 2008
Kind
B2
Abstract

A system, method, and computer program product to automatically eliminate the distribution information available for reconstruction from a disguised dataset. The invention flattens input numerical values into a substantially uniformly distributed dataset, then maps the uniformly distributed dataset into equivalent data in a target distribution. The invention allows the incremental encryption of new values in an encrypted database while leaving existing encrypted values unchanged. The flattening comprises (1) partitioning, (2) mapping, and (3) saving auxiliary information about the data processing, which is encrypted and not updated. The partitioning is MDL based, and includes a growth phase for dividing a space into fine partitions and a prune phase for merging some partitions together.

Claims (62)

1. A computer-implemented method for preventing data reconstruction, comprising:

modeling input and target data distributions;

flattening original numerical values into a flattened dataset having substantially uniformly distributed values; and

transforming the flattened dataset into an encrypted dataset having values distributed according to the target data distribution;

wherein the modeling comprises:

partitioning data into buckets; and

modeling the data distribution within each bucket as a linear spline;

wherein the partitioning includes:

a growth phase wherein the data space is recursively split into finer partitions; and

a pruning phase wherein some buckets are merged into bigger buckets.

2. The method of claim 1 wherein new values are incrementally encrypted while leaving existing encrypted values unchanged.

3. A computer-implemented method for preventing data reconstruction, comprising:

modeling input and target data distributions;

flattening original numerical values into a flattened dataset having substantially uniformly distributed values; and

transforming the flattened dataset into an encrypted dataset having values distributed according to the target data distribution;

wherein the modeling comprises:

partitioning data into buckets; and

modeling the data distribution within each bucket as a linear spline;

wherein the partitioning further comprises creating two special buckets, one at either end of the domain of the input distribution, for encrypting values outside a current data range.

4. The method of claim 1 wherein the flattening comprises:

defining a mapping function for each bucket including a quadratic coefficient and a scaling factor; and

retaining all bucket boundaries, quadratic coefficients, and scale factors in a data structure.

5. The method of claim 1 wherein the transforming comprises:

defining a mapping function for each bucket including a quadratic coefficient and a scaling factor; and

retaining all bucket boundaries, quadratic coefficients, and scale factors in a data structure.

6. The method of claim 3 wherein a given plaintext value is mapped to a plurality of encrypted values to prevent an adversary from using duplicates to guess the distribution of a domain.

7. A general purpose computer system programmed with instructions for preventing data reconstruction, the instructions comprising:

modeling input and target data distributions;

flattening original numerical values into a flattened dataset having substantially uniformly distributed values; and

transforming the flattened dataset into an encrypted dataset having values distributed according to the target data distribution;

wherein the modeling comprises:

partitioning data into buckets; and

modeling the data distribution within each bucket as a linear spline;

wherein the partitioning includes:

a growth phase wherein the data space is recursively split into finer partitions; and

a pruning phase wherein some buckets are merged into bigger buckets.

8. The system of claim 7 wherein a given plaintext value is mapped to a plurality of encrypted values to prevent an adversary from using duplicates to guess the distribution of a domain.

9. A general purpose computer system programmed with instructions for preventing data reconstruction, the instructions comprising:

modeling input and target data distributions;

flattening original numerical values into a flattened dataset having substantially uniformly distributed values; and

transforming the flattened dataset into an encrypted dataset having values distributed according to the target data distribution;

wherein the modeling comprises:

partitioning data into buckets; and

modeling the data distribution within each bucket as a linear spline;

wherein the partitioning further comprises creating two special buckets, one at either end of the domain of the input distribution, for encrypting values outside a current data range.

10. The system of claim 9 wherein new values are incrementally encrypted while leaving existing encrypted values unchanged.

11. The system of claim 9 wherein the flattening comprises:

defining a mapping function for each bucket including a quadratic coefficient and a scaling factor; and

retaining all bucket boundaries, quadratic coefficients, and scale factors in a data structure.

12. The system of claim 9 wherein the transforming comprises:

defining a mapping function for each bucket including a quadratic coefficient and a scaling factor; and

retaining all bucket boundaries, quadratic coefficients, and scale factors in a data structure.

13. A data management service for preventing data reconstruction, comprising:

modeling input and target data distributions;

flattening original numerical values into a flattened dataset having substantially uniformly distributed values; and

transforming the flattened dataset into an encrypted dataset having values distributed according to the target data distribution

wherein the modeling comprises:

partitioning data into buckets; and

modeling the data distribution within each bucket as a linear spline;

wherein the partitioning includes:

a growth phase wherein the data space is recursively split into finer partitions; and

a pruning phase wherein some buckets are merged into bigger buckets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2004
From: AGRAWAL, RAKESH; KIERNAN, GERALD GEORGE; SRIKANT, RAMAKRISHNAN; XU, YIRONG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014877/0847 →
Continuity (1)
Related Publication 20050147240A1 · Jul 7, 2005