Perturbation-based order preserving pseudonymization of data
AssigneeMicro Focus LLC
InventorsLuther Martin, Timothy Roake
Life of this patent
Estimating the term…
Abstract
A technique includes converting a plurality of plaintext values to a corresponding plurality of pseudonym values. The conversion includes performing encryption of the plurality of plaintext values to provide a plurality of second values; perturbing the plurality of second values to provide the plurality of pseudonym values; and controlling the perturbing to cause an ordering of the plaintext values to be represented in the plurality of pseudonym values.
Claims20
A method comprising:
- accessing data representing a plurality of plaintext values;
- and
- converting, by a processor of a computing device, the plurality of plaintext values to a plurality of pseudonym values, wherein the converting comprises:
- performing an encryption of the plurality of plaintext values to provide a plurality of ciphertext values;
- perturbing each ciphertext value of the plurality of ciphertext values to provide a pseudonym value of the plurality of pseudonym values, wherein the perturbing of each ciphertext value of the plurality of ciphertext values comprises:
- generating a perturbation value of a plurality of perturbation values to be added to the ciphertext value of the plurality of ciphertext values, wherein the perturbation value is smaller than the ciphertext value to which the perturbation value is to be added, and adding the perturbation value to the ciphertext value to generate the pseudonym value;
- and
- controlling the perturbing of each ciphertext value of the plurality of ciphertext values to cause an ordering of the plurality of plaintext values to be represented in the plurality of pseudonym values, wherein the controlling comprises, for each ciphertext value, determining whether to perform another iteration of adding the perturbation value to the ciphertext value based on the pseudonym value.
An apparatus comprising:
- at least one processor;
- and
- a memory to store instructions that, when executed by the at least one processor, cause the at least one processor to:
- encrypt a plurality of plaintext values to provide a plurality of ciphertext values, wherein the plurality of plaintext values has an associated ordering;
- perturb each ciphertext value of the plurality of ciphertext values, including causing the at least one processor to:
- generate a perturbation value of a plurality of perturbation values to be added to a ciphertext value of the plurality of ciphertext values, the perturbation value is smaller than the ciphertext value to which the perturbation value is to be added, and
- add the perturbation value of the plurality of perturbation values to the ciphertext value of the plurality of ciphertext values to provide a pseudonym value of a plurality of pseudonym values;
- and
- control the perturbing of each ciphertext value of the plurality of ciphertext values to cause an ordering of the plurality of plaintext values to be represented in the plurality of pseudonym values, including causing the at least one processor to, for each ciphertext value, determine whether to perform another iteration of adding the perturbation value to the ciphertext value based on the pseudonym value.
A non-transitory machine readable storage medium storing instructions that, when executed by a machine, cause the machine to:
- access a first dataset representing a first collection of plaintext values;
- encrypt the plaintext values to generate ciphertext values;
- perturb each ciphertext value of the ciphertext values to provide a pseudonym value of a plurality of pseudonym values, including causing the machine to:
- generate a perturbation value to be added to the ciphertext value, wherein the perturbation value is smaller than the ciphertext value to which the perturbation value is to be added, and add the perturbation value to the ciphertext value to generate the pseudonym value;
- and
- control the perturbing of each ciphertext value of the ciphertext values to cause an ordering of the of plaintext values in the first collection to be represented in the plurality of pseudonym values, including causing the machine to, for each ciphertext value, determine whether to perform another iteration of adding the perturbation value to the ciphertext value based on the pseudonym value.
Dependencies are inferred from the claim text.