# US 9,436,839 B2 · Tokenization using multiple reversible transformations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,839 B2
- Document ID: US9436839B2
- Status: Granted
- Kind: B2
- Application number: 14/498,329
- Filed: 2014-09-26
- Published: 2016-01-21
- Granted: 2016-09-06
- Earliest claimed: 2014-07-21
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Mark H. Davis; Alexander S. Lukichev
- Web page: https://patentgrep.com/patent/US9436839B2

## CPC

- H04L 63/0807: {using tickets, e.g. Kerberos (cryptographic mechanisms or cryptographic arrangements for entity authentication using tickets or tokens H04L9/3213)}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 21/78: to assure secure storage of data (address-based protection against unauthorised use of memory G06F12/14; record carriers for use with machines and with at least a part designed to carry digital markings G06K19/00)
- H04L 63/061: {for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Technologies for tokenizing data including a computing device to extract plaintext data from an input file to be tokenized. The computing device performs data domain-specific format-preserving encryption on the extracted plaintext data based on a first cryptographic key to generate encrypted data and replaces one or more portions of the encrypted data with corresponding portions of alternative data based on a mapping table that maps encrypted data to alternative data. The computing device further performs data domain-specific format-preserving encryption on the alternative data based on a second cryptographic key to generate a token and stores the token in an output file.

## Claims

### Claim 1

A computing device for tokenizing data, the computing device comprising:
a data extraction module to extract plaintext data from an input file to be tokenized;
a cryptography module to perform data domain-specific format-preserving encryption on the extracted plaintext data based on a first cryptographic key to generate encrypted data;
a data mapping module to replace one or more portions of the encrypted data with corresponding portions of alternative data based on a mapping table that maps encrypted data to alternative data;
wherein the cryptography module is further to perform data domain-specific format-preserving encryption on the alternative data based on a second cryptographic key to generate a token; and
a data repackaging module to store the token in an output file.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein to extract the plaintext data from the input file comprises to extract the plaintext data from a location in the input file; and
wherein to store the token in the output file comprises to store the token at the location in the input file.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the data extraction module is further to determine the first cryptographic key, the mapping table, and the second cryptographic key associated with the extracted plaintext data based on an alphabet associated with the extracted plaintext data.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein the one or more portions are selected based on at least one data domain-specific constraint.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the one or more portions have non-uniform sizes.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein the alternative data is modified based on a data domain-specific constraint.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the input file comprises a text file.

### Claim 8 (depends on 1)

The computing device of claim 1, wherein:
the data extraction module is further to extract the token from the output file to be detokenized;
the cryptography module is further to perform data domain-specific format-preserving decryption on the extracted token based on the second cryptographic key to generate decrypted data;
the data mapping module is further to replace one or more portions of the decrypted data with the corresponding one or more portions of the encrypted data based on the mapping table;
the cryptography module is further to perform data domain-specific format-preserving decryption on the one or more portions of encrypted data based on the first cryptographic key to generate plaintext data; and
the data repackaging module is further to store the plaintext data in the input file.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein to extract the plaintext data from the input file comprises to extract the plaintext data from a location in the input file; and
wherein to store the plaintext data in the input file comprises to store the plaintext data at the location in the input file.

### Claim 10 (depends on 1)

The computing device of claim 1, wherein to perform the encryption on the extracted plaintext data comprises to perform data domain-specific format-preserving encryption on the extracted plaintext data based on the first cryptographic key and a first cryptographic tweak.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein to perform the encryption on the alternative data comprises to perform data domain-specific format-preserving encryption on the alternative data based on the second cryptographic key and a second cryptographic tweak.

### Claim 12 (depends on 1)

The computing device of claim 1, wherein the data extraction module is further to identify one or more characters of the plaintext data to preserve from tokenization.

### Claim 13 (depends on 12)

The computing device of claim 12, wherein to perform the encryption on the extracted plaintext data comprises to perform encryption on the extracted plaintext data other than the preserved one or more characters; and
wherein to perform the encryption on the alternative data comprises to perform the encryption on the alternative data other than the preserved one or more characters.

### Claim 14 (depends on 12)

The computing device of claim 12, wherein to perform the encryption on the extracted plaintext data comprises to perform data domain-specific format-preserving encryption on the extracted plaintext data based on the first cryptographic key and a first cryptographic tweak, wherein the first cryptographic tweak includes the preserved one or more characters.

### Claim 15

One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to execution by a computing device, cause the computing device to:
extract plaintext data from an input file to be tokenized;
perform data domain-specific format-preserving encryption on the extracted plaintext data based on a first cryptographic key to generate encrypted data;
replace one or more portions of the encrypted data with corresponding portions of alternative data based on a mapping table that maps encrypted data to alternative data;
perform data domain-specific format-preserving encryption on the alternative data based on a second cryptographic key to generate a token; and
store the token in an output file.

### Claim 16 (depends on 15)

The one or more machine-readable storage media of claim 15, further comprising:
extracting, by the computing device, the token from the output file to be detokenized;
performing, by the computing device, data domain-specific format-preserving decryption on the extracted token based on the second cryptographic key to generate decrypted data;
replacing, by the computing device, one or more portions of the decrypted data with the corresponding one or more portions of the encrypted data based on the mapping table;
performing, by the computing device, data domain-specific format-preserving decryption on the one or more portions of encrypted data based on the first cryptographic key to generate plaintext data; and
storing, by the computing device, the plaintext data in the input file.

### Claim 17 (depends on 15)

The one or more machine-readable storage media of claim 15, wherein the plurality of instructions further cause the computing device to determine the first cryptographic key, the mapping table, and the second cryptographic key associated with the extracted plaintext data based on an alphabet associated with the extracted plaintext data.

### Claim 18 (depends on 15)

The one or more machine-readable storage media of claim 15, wherein to perform the encryption on the extracted plaintext data comprises to perform data domain-specific format-preserving encryption on the extracted plaintext data based on the first cryptographic key and a first cryptographic tweak.

### Claim 19 (depends on 18)

The one or more machine-readable storage media of claim 18, wherein to perform the encryption on the alternative data comprises to perform data domain-specific format-preserving encryption on the alternative data based on the second cryptographic key and a second cryptographic tweak.

### Claim 20 (depends on 15)

The one or more machine-readable storage media of claim 15, wherein the plurality of instructions further cause the computing device to identify one or more characters of the plaintext data to preserve from tokenization.

### Claim 21 (depends on 20)

The one or more machine-readable storage media of claim 20, wherein to:
perform the encryption on the extracted plaintext data comprises to perform encryption on the extracted plaintext data other than the preserved one or more characters; and
perform the encryption on the alternative data comprises to perform the encryption on the alternative data other than the preserved one or more characters.

### Claim 22 (depends on 20)

The one or more machine-readable storage media of claim 20, wherein to perform the encryption on the extracted plaintext data comprises to perform data domain-specific format-preserving encryption on the extracted plaintext data based on the first cryptographic key and a first cryptographic tweak, wherein the first cryptographic tweak includes the preserved one or more characters.

### Claim 23

A computing device for detokenizing data, the computing device comprising:
a data extraction module to extract a token from an input file to be detokenized;
a cryptography module to perform data domain-specific format-preserving decryption on the extracted token based on a first cryptographic key to generate decrypted data;
a data mapping module to replace one or more portions of the decrypted data with corresponding portions of alternative data based on a mapping table that maps decrypted data to alternative data;
wherein the cryptography module is further to perform data domain-specific format-preserving decryption on the alternative data based on a second cryptographic key to generate plaintext data; and
a data repackaging module to store the plaintext data in an output file.

### Claim 24 (depends on 23)

The computing device of claim 23, wherein to extract the token from the input file comprises to extract the token from a location in the input file; and
wherein to store the plaintext data in the output file comprises to store the plaintext data at the location in the input file.

### Claim 25 (depends on 23)

The computing device of claim 23, wherein the extracted token comprises a token generated as a function of (i) the second cryptographic key applied to the plaintext data to generate encrypted data, (ii) a reverse mapping of the mapping table applied to the encrypted data to generate a second alternative data, and (iii) the first cryptographic key applied to the second alternative data.
