Hardware Based Cryptography
First Claim
1. A method for exchanging a shared secret using a hardware public physically unclonable function, the method comprising:
- receiving encrypted data;
loading at least one of a pool of possible initial values into an input register associated with the hardware public physically unclonable function;
coupling logic signals corresponding to the loaded values from the input register into the hardware public physically unclonable function;
propagating the logic signals through the hardware public physically unclonable function so as to generate a second set of logic signals from the coupled logic signals;
latching the second set of logic signals from the hardware public physically unclonable function into an output register;
comparing the latched output register with the received encrypted data; and
identifying the loaded initial value as the shared secret in response to the latched output register matching the received encrypted data.
6 Assignments
0 Petitions
Accused Products
Abstract
Technologies are generally described for a hardware cryptographic unit that employs hardware public physically unclonable functions. A source computer can encrypt a message using a simulation of a hardware cryptographic unit. The encrypted message can then be sent to a destination computer. The destination computer can then use the hardware cryptographic unit to decrypt the message. The source computer can use a simulation of the hardware cryptographic unit to transform an input value into a simulation output. The simulation output can be transmitted from the source computer to the destination computer where all possible input values can be rapidly run through the hardware cryptographic unit until the output of the hardware cryptographic unit matches the simulated output. The input value that generated the matching output is now a shared secret between the source computer and destination computer without ever having been transmitted in the clear over the communication channel.
-
Citations
20 Claims
-
1. A method for exchanging a shared secret using a hardware public physically unclonable function, the method comprising:
-
receiving encrypted data; loading at least one of a pool of possible initial values into an input register associated with the hardware public physically unclonable function; coupling logic signals corresponding to the loaded values from the input register into the hardware public physically unclonable function; propagating the logic signals through the hardware public physically unclonable function so as to generate a second set of logic signals from the coupled logic signals; latching the second set of logic signals from the hardware public physically unclonable function into an output register; comparing the latched output register with the received encrypted data; and
identifying the loaded initial value as the shared secret in response to the latched output register matching the received encrypted data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer storage medium having computer-executable instructions stored thereon which, when executed by a computer, configure the computer to share a secret input value by:
-
selecting the input value from a pool of input values; receiving information characterizing unique parameters associated with a hardware public physically unclonable function; simulating the hardware public physically unclonable function based on the information characterizing unique parameters to generate a simulated output from the selected input value; and transmitting the simulated output to the hardware public physically unclonable function where the selected input value can be recovered. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A cryptographic system comprising:
-
a hardware public physically unclonable function having operational characteristics capable of being parameterized, wherein the parameters are related to manufacturing variability within the hardware public physically unclonable function; an input register for loading signals into the hardware public physically unclonable function; an output register for delivering result values from the hardware public physically unclonable function; and a search module operable to search an input space by loading elements of the input space into the input register and identifying a desired result at the output register. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification