Random values from data errors
AssigneeSeagate Technology LLC
InventorsWilliam Erik Anderson, William A Paulsen
Life of this patent
Estimating the term…
Abstract
Random values can be very beneficial in systems needing to generate random number or encryption keys. Systems and methods are presented herein that can generate a random value based on errors in data. For example, an error vector can be generated when data having errors (e.g. stored data, data received by a receiver, etc.) is compared with corresponding corrected data. A circuit, such as a data channel, can generate the corrected data by applying error correcting codes to the data with errors. One or more error vectors may be used to produce a random value. In some cases, multiple error vectors can be combined to produce a random value.
Claims20
An apparatus comprising:
- a circuit configured to:
- receive, at a data channel, input data;
- apply, at the data channel, an error correction operation to the input data to produce corrected data, the corrected data being a corrected version of the input data output from the error correction operation;
- generate a random value using the input data and the corrected data as a source of entropy;
- and
- generate a random number based on the random value.
A system comprising:
- a memory;
- an extractor circuit having a first input, a second input, and an output, configured to:
- generate an error vector by comparing received data received at the first input as an input to an error correction operation and reference data output from the error correction operation and received at the second input;
- store the error vectors to the memory;
- and
- determine a random value using the error vector as a source of entropy;
- and
- a data channel configured to receive the received data at a third input, apply the error correction operation to the received data to produce the reference data at a second output, the reference data being a corrected version of the received data.
A method comprising:
- receiving, at a data channel, input data;
- applying, at the data channel, an error correction operation to the input data to produce corrected data, the corrected data being a corrected version of the input data output from the error correction operation;
- generating, by an extractor circuit, a random value using the input data and the corrected data as a source of entropy;
- generating, by a random number generator, a random number based on the random value;
- and
- generating, by an encryption key generator, one or more encryption keys based on the random number.
Dependencies are inferred from the claim text.