IP Library Granted Patent US 11,636,224
Granted Patent B2
US 11,636,224 · App. 16/720,241 · Granted Apr 25, 2023

Generating hash values for input strings

Inventors: Timothy Roake (Santa Clara, CA); Luther Martin (Santa Clara, CA)
Assignee: MICRO FOCUS LLC
G06F21/6245G06F21/602H04L9/0643G06F2221/2107
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,636,224
App. No.
16/720,241
Granted
Apr 25, 2023
Kind
B2
Abstract

A computing device includes a processor and a machine-readable storage storing instructions. The instructions are executable by the processor to: receive an input string including sensitive data to be encrypted; identify a first portion and a second portion of the input string, the first portion comprising the sensitive data; select, from a plurality of hash functions, a hash function based on the second portion; and generate a hash value of the first portion using the selected hash function.

Claims (49)

1. A computing device comprising:

a hardware processor; and

a machine-readable storage storing instructions executable by the processor to:

receive an input string including sensitive data to be encrypted;

identify a first portion and a second portion of the input string, the first portion comprising the sensitive data;

select, from a plurality of hash functions, a hash function based on the second portion of the input string; and

generate a hash value of the first portion of the input string using the selected hash function, wherein generating the hash value of the first portion using the hash function that was selected based on the second portion enhances security of the sensitive data.

2. The computing device of claim 1 , wherein the plurality of hash functions are predefined for use by an encryption engine.

3. The computing device of claim 1 , wherein the plurality of hash functions generate hash outputs having different numbers of characters.

4. The computing device of claim 1 , wherein the plurality of hash functions comprise format preserving hashing (FPH) functions.

5. The computing device of claim 1 , wherein the second portion comprises a numerical value, and wherein the instructions are executable by the processor to:

determine that the numerical value of the second portion is included within a first numerical range of a plurality of numerical ranges, wherein each of the plurality of numerical ranges is associated with a different hash function of the plurality of hash functions; and

in response to a determination that the numerical value of the second portion falls within the first numerical range, identify a first hash function associated with the first numerical range, wherein the selected hash function is the first hash function.

6. The computing device of claim 1 , wherein the second portion comprises a plurality of alphabetic letters, and wherein the instructions are executable by the processor to:

determine that a first letter of the second portion falls within a first alphabetic range of a plurality of alphabetic ranges, wherein each of the plurality of alphabetic ranges is associated with a different hash function of the plurality of hash functions; and

in response to a determination that the first letter of the second portion falls within the first alphabetic range, identify a first hash function associated with the first alphabetic range, wherein the selected hash function is the first hash function.

7. The computing device of claim 1 , wherein the input string comprises a third portion that is distinct from the first and second portions, and wherein the instructions are executable by the processor to:

select the hash function based on both the second portion and the third portion.

8. A computer implemented method comprising:

receiving, by an encryption engine, an input string including sensitive data to be encrypted;

identifying, by the encryption engine, a first portion and a second portion of the input string, the first portion comprising the sensitive data;

selecting by the encryption engine, from a plurality of hash functions, a hash function based on the second portion of the input string; and

generating, by the encryption engine, a hash value of the first portion of the input string using the selected hash function, wherein generating the hash value of the first portion using the hash function that was selected based on the second portion enhances security of the sensitive data.

9. The computer implemented method of claim 8 , wherein the plurality of hash functions generate hash outputs having different numbers of characters.

10. The computer implemented method of claim 8 , wherein the plurality of hash functions comprise format preserving hashing (FPH) functions.

11. The computer implemented method of claim 8 , wherein the second portion comprises a numerical value, and the method comprising:

determining that the numerical value of the second portion is included within a first numerical range of a plurality of numerical ranges, wherein each of the plurality of numerical ranges is associated with a different hash function of the plurality of hash functions; and

in response to a determination that the numerical value of the second portion falls within the first numerical range, identifying a first hash function associated with the first numerical range, wherein the selected hash function is the first hash function.

12. The computer implemented method of claim 8 , wherein the second portion comprises a set of alphabetic letters, and the method comprising:

determining that a first letter of the second portion falls within a first alphabetic range of a plurality of alphabetic ranges, wherein each of the plurality of alphabetic ranges is associated with a different hash function of the plurality of hash functions; and

in response to a determination that the first letter of the second portion falls within the first alphabetic range, identifying a first hash function associated with the first alphabetic range, wherein the selected hash function is the first hash function.

13. The computer implemented method of claim 8 , wherein the input string comprises a third portion that is distinct from the first and second portions, and the method comprising:

selecting the hash function based on both the second portion and the third portion.

14. A non-transitory computer-readable storage medium storing instructions that when executed cause a processor to:

receive an input string including sensitive data to be encrypted;

identify a first portion and a second portion of the input string, the first portion comprising the sensitive data;

select, from a plurality of hash functions, a hash function based on the second portion of the input string; and

generate a hash value of the first portion of the input string using the selected hash function, wherein generating the hash value of the first portion using the hash function that was selected based on the second portion enhances security of the sensitive data.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the plurality of hash functions are predefined for use by an encryption engine.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the plurality of hash functions generate hash outputs having different numbers of characters.

17. The non-transitory computer-readable storage medium of claim 14 , wherein the plurality of hash functions comprise format preserving hashing (FPH) functions.

18. The non-transitory computer-readable storage medium of claim 14 , wherein the second portion comprises a numerical value, and wherein the instructions further cause the processor to:

determine that the numerical value of the second portion is included within a first numerical range of a plurality of numerical ranges, wherein each of the plurality of numerical ranges is associated with a different hash function of the plurality of hash functions; and

in response to a determination that the numerical value of the second portion falls within the first numerical range, identify a first hash function associated with the first numerical range, wherein the selected hash function is the first hash function.

19. The non-transitory computer-readable storage medium of claim 14 , wherein the second portion comprises a plurality of alphabetic letters, and wherein the instructions further cause the processor to:

determine that a first letter of the second portion falls within a first alphabetic range of a plurality of alphabetic ranges, wherein each of the plurality of alphabetic ranges is associated with a different hash function of the plurality of hash functions; and

in response to a determination that the first letter of the second portion falls within the first alphabetic range, identify a first hash function associated with the first alphabetic range, wherein the selected hash function is the first hash function.

20. The non-transitory computer-readable storage medium of claim 14 , wherein the input string comprises a third portion that is distinct from the first and second portions, and wherein the instructions further cause the processor to:

select the hash function based on both the second portion and the third portion.

Assignments (5)
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: ROAKE, TIMOTHY; MARTIN, LUTHER
To: MICRO FOCUS LLC
Reel/Frame 051330/0140 →