IP Library › Granted Patent US 11,496,326
Granted Patent B2
US 11,496,326 · App. 17/160,072 · Granted Nov 8, 2022

Physical unclonable function-based encryption schemes with combination of hashing methods

Inventor: Bertrand F Cambou (Flagstaff, AZ)
Assignee: ARIZONA BOARD OF REGENTS ON BEHALF OF NORTHERN ARIZONA UNIVERSITY
H04L9/3278H04L9/0643H04L9/0866
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,496,326
App. No.
17/160,072
Granted
Nov 8, 2022
Kind
B2
Abstract

A system is configured to derive a set of encryption keys from measured device characteristics of at least one PUF device and communicate with a remote device by performing a cryptographic operation secured by the set of encryption keys. The cryptographic operation includes segmenting a first data stream into a first plurality of data stream fragments, segmenting a first data stream fragment of the first plurality of data stream fragments into a first numeric value and a second numeric value, identifying, using the first numeric value, a first encryption key of the set of encryption keys, and applying a one-way cryptographic function to the first encryption key a first number of times determined by the second numeric value to generate a transformed fragment having a value that depends on the values of the first numeric value and the second numeric value from the first data stream fragment and a value of the first encryption key.

Claims (76)

1. A system, comprising:

a processor, and memory coupled to the processor, the memory storing:

device data representing measured device characteristics of physical-unclonable-function (“PUF”) arrays having pluralities of PUF devices, each PUF array belonging to one of a plurality of computing devices, wherein each computing device of the plurality of computing device is part of a network of computing devices; and

executable instructions that, when executed by the processor, cause the processor to:

transmit a processing instruction to a remote device, the processing instruction causing the remote device is to determine a set of PUF devices belonging to the PUF array of the remote device and measure characteristics of those PUF devices;

determine expected measurement values of characteristics of the set of PUF devices measured by the remote device by using the processing instruction to identify and retrieve a subset of the device data stored in the memory and associated with the set of PUF devices measured by the remote device;

derive a set of encryption keys from the expected measurement values; and

communicate with the remote device by performing a cryptographic operation secured by the set of encryption keys that includes:

segmenting a first datastream into a first plurality of datastream fragments;

segmenting a first data stream fragment of the first plurality of datastream fragments into a first numeric value and a second numeric value;

identifying, using the first numeric value, a first encryption key of the set of encryption keys; and

applying a one-way cryptographic function to the first encryption key a first number of times determined by the second numeric value to generate a transformed fragment having a value that depends on the values of the first numeric value and the second numeric value from the first data stream fragment and a value of the first encryption key.

2. The system of claim 1 , wherein the instructions, when executed by the processor to perform the cryptographic operation, cause the processor to:

receive, as a second data stream, a ciphertext generated by the remote device;

extract a second data stream fragment from the second data stream; and

for a second encryption key in the set of encryption keys:

repeatedly apply the one-way cryptographic function to the second data stream fragment a second number of times to produce an intermediate result that is equivalent to a result of repeatedly applying the one-way cryptographic function to the second encryption key the second number of times;

output, as a decrypted value of the second data stream fragment an output value including the second number of times the one-way cryptographic function was repeatedly applied to the second data stream fragment and a third numeric value associated with the second encryption key.

3. The system of claim 1 , wherein the instructions, when executed by the processor to perform the cryptographic operation, cause the processor to:

identify, using the first numeric value, the first encryption key of the set of encryption keys by using the first numeric value as an index value in accessing an encryption key array that includes the set of encryption keys; and

determining the first number of times by subtracting the second numeric value from a predetermined number.

4. The system of claim 1 , wherein the instructions, when executed by the processor to issue the processing instruction to the remote device, cause the processor to:

transmit error correction information to the remote device that enables the remote device to correct erratic measurements of the set of PUF devices determined using the processing instruction.

5. The system of claim 4 , wherein the memory stores further instructions that, when executed by the processor cause the processor to receive information from the remote device associated with measurements of the characteristics of the set of PUF devices determined using the processing instruction to:

determine that actual measurement values of characteristics of the set of PUF devices determined using the processing instruction and measured by the remote device in response to the processing instruction differ from stored measurement values of the characteristics of the set of PUF devices determined using the processing instruction in the device data stored in the memory; and

apply an error-correction algorithm to stored measurement values of the characteristics of the set of PUF devices determined using the processing instruction in the device data stored in the memory to produce the expected measurement values used to generate the one or more encryption keys.

6. The system of claim 1 , wherein the one-way cryptographic function includes at least one of a SHA-1, SHA-2, SHA-3, SHA-224, SHA-256, SHA-384, SHA-512, MD5, MD6, and SWIFT function.

7. A system, comprising:

a processor, and memory coupled to the processor, the memory storing:

device data representing measured device characteristics of at least one physical-unclonable-function (“PUF”) device; and

executable instructions that, when executed by the processor, cause the processor to:

derive a set of encryption keys from the measured device characteristics of the at least one PUF device; and

communicate with a remote device by performing a cryptographic operation secured by the set of encryption keys that includes:

segmenting a first data stream into a first plurality of data stream fragments;

segmenting a first data stream fragment of the first plurality of data stream fragments into a first numeric value and a second numeric value;

identifying, using the first numeric value, a first encryption key of the set of encryption keys; and

applying a one-way cryptographic function to the first encryption key a first number of times determined by the second numeric value to generate a transformed fragment having a value that depends on the values of the first numeric value and the second numeric value from the first data stream fragment and a value of the first encryption key.

8. The system of claim 7 , wherein the instructions, when executed by the processor to perform the cryptographic operation, cause the processor to:

receive, as a second data stream, a ciphertext generated by the remote device;

extract a second data stream fragment from the second data stream; and

for a second encryption key in the set of encryption keys:

repeatedly apply the one-way cryptographic function to the second data stream fragment a second number of times to produce an intermediate result that is equivalent to a result of repeatedly applying the one-way cryptographic function to the second encryption key the second number of times;

output, as a decrypted value of the second data stream fragment an output value including the second number of times the one-way cryptographic function was repeatedly applied to the second data stream fragment and a third numeric value associated with the second encryption key.

9. The system of claim 7 , wherein the instructions, when executed by the processor to perform the cryptographic operation, cause the processor to:

identify, using the first numeric value, the first encryption key of the set of encryption keys by using the first numeric value as an index value in accessing an encryption key array that includes the set of encryption keys; and

determining the first number of times by subtracting the second numeric value from a predetermined number.

10. The system of claim 7 , wherein the instructions, when executed by the processor cause the processor to:

issue a processing instruction to the remote device; and

transmit error correction information to the remote device that enables the remote device to correct erratic measurements of a set of PUF devices determined using the processing instruction.

11. The system of claim 10 , wherein the memory stores further instructions that, when executed by the processor cause the processor to receive information from the remote device associated with measurements of the characteristics of the set of PUF devices determined using the processing instruction to:

determine that actual measurement values of characteristics of the set of PUF devices determined using the processing instruction and measured by the remote device in response to the processing instruction differ from stored measurement values of the characteristics of the set of PUF devices determined using the processing instruction in the device data stored in the memory; and

apply an error-correction algorithm to stored measurement values of the characteristics of the set of PUF devices determined using the processing instruction in the device data stored in the memory to produce the expected measurement values used to generate the one or more encryption keys.

12. The system of claim 7 , wherein the one-way cryptographic function includes at least one of a SHA-1, SHA-2, SHA-3, SHA-224, SHA-256, SHA-384, SHA-512, MD5, MD6, and SWIFT function.

13. A method, comprising:

deriving a set of encryption keys from measured device characteristics of at least one PUF device; and

communicating with a remote device by performing a cryptographic operation secured by the set of encryption keys that includes:

segmenting a first data stream into a first plurality of data stream fragments;

segmenting a first data stream fragment of the first plurality of data stream fragments into a first numeric value and a second numeric value;

identifying, using the first numeric value, a first encryption key of the set of encryption keys; and

applying a one-way cryptographic function to the first encryption key a first number of times determined by the second numeric value to generate a transformed fragment having a value that depends on the values of the first numeric value and the second numeric value from the first data stream fragment and a value of the first encryption key.

14. The method of claim 13 , further comprising:

receiving, as a second data stream, a ciphertext generated by the remote device;

extracting a second data stream fragment from the second data stream; and

for a second encryption key in the set of encryption keys:

repeatedly applying the one-way cryptographic function to the second data stream fragment a second number of times to produce an intermediate result that is equivalent to a result of repeatedly applying the one-way cryptographic function to the second encryption key the second number of times; and

outputting, as a decrypted value of the second data stream fragment an output value including the second number of times the one-way cryptographic function was repeatedly applied to the second data stream fragment and a third numeric value associated with the second encryption key.

15. The method of claim 13 , further comprising:

identifying, using the first numeric value, the first encryption key of the set of encryption keys by using the first numeric value as an index value in accessing an encryption key array that includes the set of encryption keys; and

determining the first number of times by subtracting the second numeric value from a predetermined number.

16. The method of claim 13 , further comprising:

transmitting error correction information to the remote device that enables the remote device to correct erratic measurements of a set of PUF devices determined using a processing instruction.

17. The method of claim 16 , further comprising:

receiving information from the remote device associated with measurements of the characteristics of the set of PUF devices determined using the processing instruction to:

determining that actual measurement values of characteristics of the set of PUF devices determined using the processing instruction and measured by the remote device in response to the processing instruction differ from stored measurement values of the characteristics of the set of PUF devices determined using the processing instruction in device data stored in a memory; and

applying an error-correction algorithm to stored measurement values of the characteristics of the set of PUF devices determined using the processing instruction in the device data stored in the memory to produce the expected measurement values used to generate the one or more encryption keys.

18. The method of claim 13 , wherein the one-way cryptographic function includes at least one of a SHA-1, SHA-2, SHA-3, SHA-224, SHA-256, SHA-384, SHA-512, MD5, MD6, and SWIFT function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2021
From: CAMBOU, BERTRAND FRANCIS
To: ARIZONA BOARD OF REGENTS ON BEHALF OF NORTHERN ARIZONA UNIVERSITY
Reel/Frame 055053/0372 →
Continuity (4)
Continuation In Part 16818807 · Mar 13, 2020
Provisional Application 62966930 · Jan 28, 2020
Provisional Application 62817966 · Mar 13, 2019
Related Publication 20210281432A1 · Sep 9, 2021
Cited By (1)
US 12,732,351