IP Library Granted Patent US 11,121,867
Granted Patent B2
US 11,121,867 · App. 15/999,250 · Granted Sep 14, 2021

Encryption methods based on plaintext length

Inventor: Richard Minner (Cupertino, CA)
Assignee: Micro Focus LLC
H04L9/0861H04L9/14
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 11,121,867
App. No.
15/999,250
Granted
Sep 14, 2021
Kind
B2
Abstract

Examples discussed herein disclose, among other things, a method. The method includes, among other things, obtaining a plaintext, obtaining a key from a plurality of keys, and determining whether the plaintext is longer than a predefined threshold length. If the plaintext is longer than the predefined threshold length, the method may encrypt the plaintext with the key to generate a first ciphertext having a length of the plaintext, where the character at a predefined position within the first ciphertext belongs to a first subset of characters. And if the plaintext is not longer than the predefined threshold length, the method may encrypt the plaintext with the key to generate a second ciphertext, which is longer than the plaintext, where the character at the same predefined position in the second ciphertext belongs to a second subset of characters.

Claims (42)

1. An encrypting device comprising:

an encryption method selector to:

obtain a key from a plurality of keys,

obtain a plaintext having a first length, and

determine whether the plaintext is longer than a predefined threshold length;

a length-preserving encryptor to:

responsive to a determination, by the encryption method selector, that the plaintext is longer than the predefined threshold length, encrypt the plaintext using the key to produce a first ciphertext having the first length and including a character from a first subset of characters in a predefined position, wherein the character from the first subset of characters indicates a first encryption method was used to produce the first ciphertext; and

a length-extending encryptor to:

responsive to a determination, by the encryption method selector, that the plaintext is not longer than the predefined threshold length, encrypt the plaintext using the key to produce a second ciphertext having a second length, wherein the second length is longer than the first length, and including a character from a second subset of characters in the predefined position, wherein the character from the second subset of characters indicates a second encryption method was used to produce the second ciphertext, and wherein the first subset of characters does not intersect with the second subset of characters.

2. The encrypting device of claim 1 , wherein:

the length-preserving encryptor is to use the first encryption method to encrypt the plaintext, the first encryption method being ascertainable based on the character from the first subset of characters in the predefined position in the first ciphertext; and

the length-extending encryptor is to use the second encryption method to encrypt the plaintext, the second encryption method being ascertainable based on the character from the second subset of characters in the predefined position in the second ciphertext.

3. The encrypting device of claim 1 , wherein:

the length-preserving encryptor is to produce the first ciphertext by pseudo-randomly mapping the plaintext into one of a first plurality of ciphertexts;

the length-extending encryptor is to produce the second ciphertext by pseudo-randomly mapping the plaintext into one of a second plurality of ciphertexts, wherein the first plurality of ciphertexts comprises more ciphertexts than the second plurality of ciphertexts.

4. A method comprising:

obtaining a plaintext;

obtaining a key from a plurality of keys;

determining, by an encryption selector, whether the plaintext is longer than a predefined threshold length;

based on a determination by the encryption selector that the plaintext is longer than the predefined threshold length, encrypting, by a first encryptor, the plaintext with the key to generate a first ciphertext having a length of the plaintext, wherein the first ciphertext comprises, at a predefined position, a character from a first subset of characters wherein the character from the first subset of characters indicates a first encryption method was used to produce the first ciphertext; and

based on a determination by the encryption selector that the plaintext is not longer than the predefined threshold length, encrypting, by a second encryptor, the plaintext with the key to generate a second ciphertext longer than the plaintext, wherein the second ciphertext comprises, at the predefined position, a character from a second subset of characters, wherein the character from the second subset of characters indicates a second encryption method was used to produce the second ciphertext, and wherein the second subset of characters does not intersect with the first subset of characters.

5. The method of claim 4 , wherein a reference associated with the key is ascertainable based on one of the first ciphertext and the second ciphertext.

6. The method of claim 4 , wherein a reference associated with the key is ascertainable based on a set of characters positioned at a set of predefined positions within one of the first ciphertext and the second ciphertext.

7. The method of claim 4 , wherein the first ciphertext is generated by encrypting the plaintext using a length-preserving encryption method.

8. The method of claim 7 , wherein the second ciphertext is generated by encrypting the plaintext using a length-extending encryption method.

9. The method of claim 8 , wherein:

the length-preserving encryption method produces the first ciphertext by pseudo-randomly mapping the plaintext into one of a first plurality of ciphertexts; and

the length-extending encryption method produces the second ciphertext by pseudo-randomly mapping the plaintext into one of a second plurality of ciphertexts, wherein the first plurality of ciphertexts comprises more ciphertexts than the second plurality of ciphertexts.

10. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a computing device to cause the computing device to:

obtain a ciphertext;

based on a character positioned at a predefined position in the ciphertext, determine whether an encryption method that was used to generate the ciphertext is a length-preserving encryption method or a length-extending encryption method, wherein a character from a first subset of characters indicates that the length-preserving encryption method was used, wherein a character from a second subset of characters indicates that the length-extending encryption method was used, and wherein the first subset of characters does not intersect with the second subset of characters;

based on the encryption method and the ciphertext, determine a key reference associated with a key that was used to generate the ciphertext;

obtain the key based on the key reference; and

based on the encryption method, decrypt the ciphertext using the key to produce a plaintext.

11. The non-transitory machine-readable storage medium of claim 10 , wherein determining the key reference comprises:

based on a determination that the encryption method is the length-extending encryption method, determining the key reference based at least on the character positioned at the predefined position in the ciphertext.

12. The non-transitory machine-readable storage medium of claim 10 , wherein determining the key reference comprises:

based on a determination that the encryption method is the length-preserving encryption method, determining the key reference based on which subset of ciphertexts, among a plurality of subsets of ciphertexts, the ciphertext belongs to.

13. The non-transitory machine-readable storage medium of claim 10 , wherein the instructions further cause the computing device to:

determine a length of the plaintext based on the character positioned at the predefined position in the ciphertext.

14. The non-transitory machine-readable storage medium of claim 12 , wherein the length-preserving encryption method produces the ciphertext by pseudo-randomly mapping the plaintext into one of a plurality of ciphertexts.

15. The non-transitory machine-readable storage medium of claim 11 , wherein the length-extending encryption method produces the ciphertext by pseudo-randomly mapping the plaintext into one of a plurality of ciphertexts.

Assignments (6)
RELEASE OF SECURITY INTEREST REEL/FRAME 059610/0338 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC
Reel/Frame 062626/0134 →
SECURITY AGREEMENT Recorded Apr 5, 2022
From: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059610/0338 →
SECURITY AGREEMENT Recorded Apr 5, 2022
From: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059610/0380 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2018
From: MINNER, RICHARD
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 047500/0813 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 047501/0001 →
Continuity (1)
Related Publication 20200235922A1 · Jul 23, 2020