IP Library Granted Patent US 9,792,089
Granted Patent B2
US 9,792,089 · App. 14/483,111 · Granted Oct 17, 2017

Random number generator using an incrementing function

Inventors: Meng-Day (Mandel) Yu (Fremont, CA); David M'raihi (San Carlos, CA)
Assignee: Verayo, Inc.
G06F7/588H04L9/0662H04L9/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 9,792,089
App. No.
14/483,111
Granted
Oct 17, 2017
Kind
B2
Abstract

A random number generator uses a looped circuit that produces pulses dependent on manufacturing variations and noise, and fed into a counting circuit. In certain embodiments, the technology can be merged with a Physical Unclonable Function (PUF) such that a single circuit provides both 1) bits that are unique to each chip that remain fairly similar each time they are queried on the same chip; as well as 2) bits that are random, i.e., different each time the randomness is queried, even on the same device.

Claims (34)

1. A system comprising:

a looped circuit;

an incrementing device that is in electronic communication with, and configured to be clocked by, the looped circuit, wherein the incrementing device produces a signal that is used to generate a random number;

a second looped circuit;

a second incrementing device that is in communication with and clocked by the second looped circuit to act as a second random number generator and produces a second random number; and

a comparing device in communication with the incrementing device and the second incrementing device, wherein the comparing device is configured to compare respective signals from the incrementing device and the second incrementing device to produce a compared signal that is used to drive a chip unique number and a random number.

2. The system of claim 1 where the looped circuit is selected from a group consisting of a ring oscillator, a self-timed circuit, a loop circuit including one or more sequential elements, and a loop circuit that is a composite of multiple looped circuits.

3. The system of claim 1 where the loop circuit is a composite of multiple looped circuits and the composite is created using an XOR function.

4. The system of claim 1 where there is at least one of an odd number of inversions, and an even number of inversions.

5. The system of claim 1 where buffers are used in the form of double inversions.

6. The system of claim 1 further comprising a plurality of looped circuits of various lengths.

7. The system of claim 1 where the incrementing device is at least one of a synchronous counter and an asynchronous counter.

8. The system of claim 1 where the incrementing device includes an LFSR-based counter.

9. The system of claim 1 where the incrementing device is included in a programmable device selected from the group consisting of a Digital Signal Processor, microcontroller, Central Processing Unit, an instruction-set capable device, and a combination thereof.

10. The system of claim 1 where the random number is generated from the signal that includes one or more least significant bits.

11. The system of claim 10 where two or more of the least significant bits are combined, using an XOR function, to generate the random number.

12. The system of claim 1 where the loop circuit is configured to accommodate at least one of a single travelling pulse and more than a single travelling pulse.

13. A system that produces one or more random numbers, the system comprising:

a plurality of looped circuits;

a plurality of respective incrementing devices each electronically coupled with, and configured to be clocked by, the corresponding looped circuit; and

a comparing device in communication with the plurality of respective incrementing devices, wherein the comparing device is configured to compare corresponding signals from two or more respective incrementing devices to produce a compared signal that is used to generate a random number.

14. The system of claim 13 where one or more of the looped circuits are selected from a group consisting of a ring oscillator, a self-timed circuit, and a loop circuit including one or more sequential elements.

15. The system of claim 13 further comprising a partitioning device that is configured to partition the compare signal into one or more least significant bits and one or more most significant bits.

16. The system of claim 15 wherein the one or more least significant bits are used to generate the random number and the one or more most significant bits are used to generates a chip-unique signature.

17. An apparatus comprising:

a plurality of looped circuits;

a plurality of respective incrementing devices each electronically coupled with, and configured to be clocked by, the corresponding looped circuit; and

a module device, electronically coupled with the plurality of respective incrementing devices, and configured to:

compare corresponding signals from the respective incrementing devices to produce a compared signal;

partition the compare signal into one or more least significant bits and one or more most significant bits;

generate a random number using the one or more least significant bits; and

generate a chip-unique signature using the one or more most significant bits.

18. The apparatus of claim 17 where one or more of the plurality of looped circuits are selected from a group consisting of a ring oscillator, a self-timed circuit, a loop circuit including one or more sequential elements, and a combination thereof.

19. The apparatus of claim 17 where two or more of the least significant bits are combined, using an XOR function, to generate the random number.

Continuity (2)
Provisional Application 61875932 · Sep 10, 2013
Related Publication 20150074157A1 · Mar 12, 2015