IP Library Granted Patent US 8,600,048
Granted Patent B1
US 8,600,048 · App. 13/154,272 · Granted Dec 3, 2013

Format-translating encryption systems

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 8,600,048
App. No.
13/154,272
Granted
Dec 3, 2013
Kind
B1
Abstract

Format-translating encryption (FTE) cryptographic operations may be implemented using a cryptographic system that translates plaintext strings to ciphertext strings of a different format and that translates ciphertext strings to plaintext strings of a different format. Plaintext strings may have a format defined by a first regular expression. Corresponding ciphertext strings may have a format defined by a second regular expression that is different than the first regular expression. During encryption operations, a format-translating encryption algorithm may employ a format-preserving encryption (FPE) encryption algorithm. During decryption operations, a format-translating encryption algorithm may employ an FPE decryption algorithm.

Claims (47)

1. A method for performing format translating cryptographic operations using computing equipment, comprising:

with the computing equipment, obtaining a plaintext version of a string of characters that have a format specified by a first regular expression;

with the computing equipment, performing regular expression ranking operations on the plaintext version of the string with the first regular expression to produce a unique binary value;

encrypting the unique binary value to produce a corresponding encrypted unique binary value; and

performing regular expression unranking operations on the encrypted unique binary value with a second regular expression that is different than the first regular expression to produce an encrypted version of the string that has a format specified by the second regular expression.

2. The method defined in claim 1 wherein encrypting the unique binary value comprises encrypting the unique binary value with a format preserving encryption algorithm.

3. The method defined in claim 2 wherein encrypting the unique binary value with the format preserving encryption algorithm comprises encrypting the unique binary value with a block cipher to produce the corresponding encrypted unique binary value.

4. The method defined in claim 1 further comprising computing and storing a length L of the plaintext version of the string in storage in the computing equipment.

5. The method defined in claim 4 further comprising:

after encrypting the unique binary value and before decrypting the encrypted version of the string, retrieving the length L from the storage.

6. The method defined in claim 5 further comprising:

using the length L to build a rank-unrank table.

7. The method defined in claim 1 further comprising:

computing a size index for the first regular expression.

8. The method defined in claim 7 further comprising computing a size index for the second regular expression.

9. The method defined in claim 8 further comprising:

comparing the size index for the first regular expression to the size index for the second regular expression.

10. The method defined in claim 9 further comprising:

determining that the size index for the second regular expression is less than the size index for the first regular expression; and

as a result of determining that the size index for the second regular expression is less than the size index for the first regular expression, aborting encryption of the plaintext version of the string.

11. The method defined in claim 1 further comprising:

determining that the size index for the second regular expression is not less than the index for the first regular expression; and

as a result of determining that the size index for the second regular expression is not less than the size index for the first regular expression, proceeding with encrypting the unique binary value to produce the corresponding encrypted unique binary value.

12. The method defined in claim 1 wherein the first format comprises a social security number format and wherein the second format comprises an email format and wherein performing the regular expression unranking operations on the encrypted unique binary value comprises producing an email address.

13. The method defined in claim 1 further comprising:

obtaining a cryptographic key, wherein encrypting the unique binary value to produce the corresponding encrypted unique binary value comprises encrypting the unique binary value with the cryptographic key to produce the corresponding encrypted unique binary value.

14. The method defined in claim 1 further comprising:

after performing the regular expression ranking operations and before encrypting the unique binary value, adding pad zeros to the unique binary value.

15. A method for performing format translating cryptographic operations using computing equipment, comprising:

with the computing equipment, obtaining a ciphertext version of a string of characters that have a format specified by a second regular expression;

with the computing equipment, performing regular expression ranking operations on the ciphertext version of the string with the second regular expression to produce an encrypted unique binary value;

decrypting the encrypted unique binary value to produce a corresponding unique binary value; and

performing regular expression unranking operations on the unique binary value with a first regular expression that is different than the second regular expression to produce a plaintext version of the string that has a format specified by the first regular expression.

16. The method defined in claim 15 wherein decrypting the encrypted unique binary value comprises decrypting the encrypted unique binary value with a format preserving encryption algorithm based on a block cipher.

17. The method defined in claim 16 wherein the plaintext version of the string has a length, the method further comprising:

retrieving the length of the plaintext version of the string from storage in the computing equipment.

18. The method defined in claim 17 further comprising:

using the length retrieved from the storage and the first regular expression in performing the regular expression unranking operations.

19. A method for performing format translating cryptographic operations using computing equipment, comprising:

with a format translating encryption engine implemented on the computing equipment, obtaining a plurality of plaintext strings of different lengths each of which has a format specified by a first regular expression;

with the format translating encryption engine, performing regular expression ranking operations on the plaintext strings with the first regular expression to produce a plurality of corresponding unique binary values;

encrypting each of the unique binary values to produce a plurality of corresponding encrypted unique binary values; and

performing regular expression unranking operations on the plurality of encrypted unique binary values with a second regular expression that is different than the first regular expression to produce a plurality of ciphertext strings at least some of which have different lengths than each of the plaintext strings.

20. The method defined in claim 19 further comprising:

computing and storing a length L for each of the plaintext strings;

computing a size index N for the first regular expression; and

computing a size index M for the second regular expression that is different than the size index N.

Assignments (12)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Dec 22, 2021
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 058569/0152 →
CHANGE OF NAME Recorded Dec 17, 2018
From: VOLTAGE SECURITY, INC.
To: VOLTAGE SECURITY, LLC
Reel/Frame 051198/0611 →
MERGER AND CHANGE OF NAME Recorded Dec 17, 2018
From: VOLTAGE SECURITY, LLC; ENTIT SOFTWARE LLC
To: ENTIT SOFTWARE LLC
Reel/Frame 051199/0074 →
MERGER Recorded Oct 22, 2018
From: VOLTAGE SECURITY, LLC
To: ENTIT SOFTWARE LLC
Reel/Frame 047253/0802 →
ENTITY CONVERSION AND CHANGE OF NAME Recorded Oct 22, 2018
From: VOLTAGE SECURITY, INC.
To: VOLTAGE SECURITY, LLC
Reel/Frame 047276/0434 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
RELEASE OF SECURITY INTEREST Recorded Feb 27, 2015
From: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
To: VOLTAGE SECURITY, INC.
Reel/Frame 035110/0726 →
SECURITY AGREEMENT Recorded Feb 7, 2014
From: VOLTAGE SECURITY, INC.
To: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
Reel/Frame 032170/0273 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2011
From: HANSEN, CHAD B.; GREEN, JACOB; LEONG, MICHAEL S.
To: VOLTAGE SECURITY, INC.
Reel/Frame 026404/0427 →