IP Library Granted Patent US 9,313,023
Granted Patent B1
US 9,313,023 · App. 14/557,464 · Granted Apr 12, 2016

Format-preserving cipher

Inventor: Eric A. Murray (Los Gatos, CA)
Assignee: ZETTASET, Inc.
H04L9/0618H04L9/14H04L2209/24H04L2209/34
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,313,023
App. No.
14/557,464
Granted
Apr 12, 2016
Kind
B1
Abstract

A format-preserving cipher including an encryption and a decryption scheme supporting non-linear access to input data by allowing the selection of portions of data from a potentially larger dataset to be encrypted, thus avoiding a necessarily sequential access into the input plaintext data. The cipher first defines a forward mapping from the allowable ciphertext values to an integer set of the number of such allowable ciphertext values, and a corresponding reverse mapping. It also supports exclusion of a certain set of characters from the ciphering process. Further, the encryption algorithm can encrypt the input plaintext data while preserving its original format and length and a corresponding decryption algorithm. The cipher advantageously embodies the encryption and decryption of multi-byte values or strings of data, thus fitting a variety of industrial needs.

Claims (19)

1. A method of format-preserving ciphering, comprising the steps of:

a) providing predetermined criteria for selecting portions of data to be ciphered;

b) providing a forward mapping from N allowable ciphertext values to set {0 . . . N−1}, and a corresponding reverse mapping;

c) iteratively accessing each said portion in increments of size S bits, where S is set according to an application of said format-preserving ciphering;

d) providing a key-stream with a block-cipher operating in a Counter (CTR) mode and iteratively accessing it in increments of said size S bits;

e) determining a limiter value L as the difference of 2S and (2S modulo N);

f) ignoring any said accessed key-stream value in said ciphering, if said key-stream value is greater than or equal to said limiter value L;

g) allowing zero or more combinations of said S bits in each said portion to be skipped from said ciphering;

h) encrypting each said portion in an encryption module by taking the sum of said forward mapping of said accessed portion and said accessed key-stream value, taking modulo 10 of said sum to produce a final sum, and taking said forward mapping of said final sum; and

i) decrypting each said portion in a decryption module by taking the difference of said forward mapping of said accessed portion and said accessed key-stream value, taking modulo 10 of said difference, if said difference is less than 0 then adding N to said difference to produce a final difference, and taking said reverse mapping of said final difference.

2. The method of claim 1 , where said format-preserving ciphering preserves an alpha-numeric format of said portions.

3. The method of claim 1 , where S=8, representing said increments of said size S to be bytes.

4. The method of claim 1 , where said combinations of said S bits in step 1(g) represent characters selected from the group consisting of binary characters, unprintable characters, dashes and delimiting characters.

5. The method of claim 1 , where said allowable ciphertext values in said forward mapping and said reverse mapping are non-contiguous.

6. The method of claim 1 , where said set {0 . . . N−1} in said forward mapping and said reverse mapping is in no particular order.

7. The method of claim 1 , where said key-stream is derived using block-cipher in Counter (CTR) mode.

8. The method of claim 1 , where said key-stream is an RC4 key-stream.

9. The method of claim 1 , where said forward mapping maps said allowable ciphertext values as multi-byte values to said set {0 . . . N−1}, and said corresponding reverse mapping maps said set {0 . . . N−1} to corresponding said multi-byte allowable ciphertext values, and said size S divided by 8 equals to the number of bytes in each said multi-byte value.

10. The method of claim 1 , where said format-preserving ciphering is used to implement a stream-cipher.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2025
From: ZETTASET, INC.; TPK INVESTMENTS, LLC
To: TPK INVESTMENTS, LLC; CYBER CASTLE, INC.
Reel/Frame 070572/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2015
From: MURRAY, ERIC A.
To: ZETTASET, INC.
Reel/Frame 035036/0880 →