IP Library Granted Patent US 9,716,587
Granted Patent B1
US 9,716,587 · App. 13/570,128 · Granted Jul 25, 2017

Cryptographic system with halting key derivation function capabilities

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,716,587
App. No.
13/570,128
Granted
Jul 25, 2017
Kind
B1
Abstract

A halting key derivation function is provided. A setup process scrambles a user-supplied password and a random string in a loop. When the loop is halted by user input, the setup process may generate verification information and a cryptographic key. The key may be used to encrypt data. During a subsequent password verification and key recovery process, the verification information is retrieved, a user-supplied trial password obtained, and both are used together to recover the key using a loop computation. During the loop, the verification process repeatedly tests the results produced by the looping scrambling function against the verification information. In case of match, the trial password is correct and a cryptographic key matching the key produced by the setup process may be generated and used for data decryption. As long as there is no match, the loop may continue indefinitely until interrupted exogenously, such as by user input.

Claims (23)

1. A method, comprising:

obtaining verification information that is indicative of a final key derivation function state;

with processing circuitry and in a loop, iteratively modifying a state of a key derivation function using a scrambling function;

with the processing circuitry and while in the loop, determining whether the current iteratively modified state of the key derivation function matches the final key derivation function state;

if there is no match between the current iteratively modified state and the final key derivation function state, continuing in the loop; and

if there is a match between the current iteratively modified state and the final key derivation function state and with the processing circuitry and, generating a cryptographic key to perform a cryptographic function at a computer system.

2. The method defined in claim 1 further comprising obtaining a trial password from a user.

3. The method defined in claim 2 further comprising:

initializing a running hash value by scrambling the trial password, wherein iteratively modifying the state of the key derivation function comprises updating the running hash value.

4. The method defined in claim 2 further comprising:

while in the loop, providing the user with a retry opportunity in which the loop is exited and a new trial password is obtained from the user.

5. The method defined in claim 1 further comprising:

while in the loop, providing a user with an opportunity to abort the loop.

6. A method, comprising:

obtaining a password from a user;

obtaining a complexity parameter;

obtaining a random string, wherein the password, the complexity parameter, and random string form inputs to a computer-implemented key derivation function; and

with processing circuitry, generating from the password and the random string a cryptographic key to perform a cryptographic function at a computer system and verification information, wherein:

the verification information alone is not directly indicative of either the complexity parameter or the cryptographic key; and

the cryptographic key is reproducible from the verification information and the password using a computation of complexity indicated by the complexity parameter.

7. The method defined in claim 6 , wherein obtaining the complexity parameter comprises obtaining the complexity parameter from the user before generating the cryptographic key.

8. The method defined in claim 6 , wherein obtaining the complexity parameter comprises obtaining a time limit for the computer-implemented key derivation function.

9. The method defined in claim 6 , wherein obtaining the complexity parameter comprises obtaining the complexity parameter from the user through a user interface while generating the cryptographic key.

Assignments (2)
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 →