IP Library Granted Patent US 9,489,521
Granted Patent B2
US 9,489,521 · App. 14/598,536 · Granted Nov 8, 2016

Format preserving encryption methods for data strings with constraints

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,489,521
App. No.
14/598,536
Granted
Nov 8, 2016
Kind
B2
Abstract

Format preserving encryption (FPE) cryptographic engines are provided for performing encryption and decryption on strings. A plaintext string may be converted to ciphertext by repeated application of a format preserving encryption cryptographic algorithm. Following each application of the format preserving cryptographic algorithm, the resulting version of the string may be analyzed to determine whether desired string constraints have been satisfied. If the string constraints have not been satisfied, further applications of the format preserving cryptographic algorithm may be performed. If the string constraints have been satisfied, the current version of the string may be used as an output for the cryptographic engine.

Claims (19)

1. A method for performing cryptographic operations at computing equipment, comprising:

with the computing equipment, obtaining a plaintext version of a string of characters that have a given format;

computing a checksum value string for the plaintext version of the string of characters; and

with the computing equipment, repeatedly applying a format preserving encryption algorithm to the string of characters until an encrypted version of the string of characters is produced that complies with the given format and has a checksum value string that matches the checksum value string that was computed for the plaintext version of the string of characters.

2. The method defined in claim 1 further comprising:

with the computing equipment, modifying the checksum value string that matches the checksum value string for the plaintext version of the string of characters so that the modified version of the checksum value string does not match the checksum value string for the plaintext version of the string of characters.

3. The method defined in claim 2 further comprising storing the modified version of the checksum value string in a data item that contains the encrypted version of the string of characters.

4. The method defined in claim 2 wherein modifying the checksum value string comprises applying a mapping to the checksum value string of the plaintext version of the string of characters.

5. The method defined in claim 2 wherein modifying the checksum value string comprises applying an offset to the checksum value string of the plaintext version of the string of characters.

6. The method defined in claim 2 wherein modifying the checksum value string comprises adding a number to the checksum value string of the plaintext version of the string of characters.

7. The method defined in claim 6 wherein adding the number to the checksum value string of the plaintext version of the string of characters comprises adding a digit in the range of 1 to 9 to the checksum value string mod 10.

8. A method for decrypting a string of characters of ciphertext that has a checksum value string computed from the ciphertext and that complies with a given format by containing characters that have values selected from at least one set of valid character values, the method comprising:

applying a format preserving encryption (FPE) cryptographic algorithm to the string of characters multiple times with computing equipment to produce plaintext corresponding to the ciphertext, wherein each time the FPE cryptographic algorithm is applied to the string of characters, the string of characters is altered while continuing to comply with the given format; and

after each application of the FPE cryptographic algorithm, using a decryption engine implemented on the computing equipment to determine whether the string of characters has a checksum value string that is equal to the checksum value string computed from the ciphertext.

9. The method defined in claim 8 , further comprising:

after each application of the FPE cryptographic algorithm, using the decryption engine implemented on the computing equipment to determine whether the string of characters satisfies internal string constraints that specify interrelationships that must be satisfied between characters in the string of characters and wherein using the decryption engine comprises using the decryption engine to determine whether the interrelationships have been satisfied.

10. The method defined in claim 9 further comprising:

halting application of the FPE cryptographic algorithm when it is determined that the interrelationships have been satisfied.

11. The method defined in claim 10 wherein each application of the FPE cryptographic algorithm to the string of characters involves multiple applications of a block cipher to an encoded binary value.

Assignments (6)
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 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 →
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: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →