IP Library › Granted Patent US 8,744,073
Granted Patent B2
US 8,744,073 · App. 13/203,690 · Granted Jun 3, 2014

Digital random number generator based on digitally-controlled oscillators

Inventors: Itai Dror (Omer, IL); Leonid Minz (Beer Sheva, IL); Boris Dolgunov (Ramat-Gan, IL); Michael Koun (Ashdod, IL)
Assignee: SanDisk IL Ltd.
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 8,744,073
App. No.
13/203,690
Granted
Jun 3, 2014
Kind
B2
Abstract

A system for random number generation includes a digital oscillator circuit, which has a set of available configurations and is operative to generate a random number sequence in accordance with a current configuration selected from the set. The system further includes a randomization circuit, which is operative to produce a pseudo-random stream of values corresponding to the available configurations of the digital oscillator circuit, and to control the digital oscillator circuit to alternate among the available configurations in accordance with the pseudo-random stream of values.

Claims (31)

1. A system for random number generation, comprising:

a digital oscillator circuit, which has a set of available configurations and is operative to generate a random number sequence in accordance with a current configuration selected from the set; and

a randomization circuit, which is operative to produce a pseudo-random stream of values corresponding to the available configurations of the digital oscillator circuit, and to control the digital oscillator circuit to alternate among the available configurations in accordance with the pseudo-random stream of values;

wherein the randomization circuit is operative to produce the stream of values in synchronization with a clock signal, and wherein the digital oscillator circuit is operative to produce the clock signal having a random jitter based on the random number sequence, and to drive the randomization circuit with the clock signal.

2. The system according to claim 1 , wherein the digital oscillator circuit comprises a ring oscillator having configurable feedback taps, and wherein each of the available configurations defines a respective setting of the feedback taps.

3. The system according to claim 2 , wherein the set of the available configurations comprises at least first and second available configurations that configure the ring oscillator to have respective different first and second lengths.

4. The system according to claim 1 , wherein the randomization circuit comprises a Linear Feedback Shift Register (LFSR).

5. The system according to claim 1 , wherein the randomization circuit is operative to produce the pseudo-random stream of values in accordance with a non-linear function.

6. The system according to claim 1 , wherein the digital oscillator circuit comprises multiple digital oscillator circuits that are operative to produce respective multiple random number sequences in accordance with multiple current configurations selected from their respective sets of available configurations, wherein the randomization circuit comprises multiple randomization circuits that are operative to produce multiple respective pseudo-random value streams and to control the respective digital oscillator circuits to alternate among the available configurations in the respective sets in accordance with the respective streams, and comprising an output circuit, which is coupled to process the multiple random number sequences to produce a composite random number sequence.

7. The system according to claim 6 , and comprising a cross-randomization circuit, which is coupled to process at least one of the multiple value streams produced by the multiple randomization circuits and to control one or more of the randomization circuits responsively to the processed streams, so as to introduce a dependency among the multiple streams.

8. The system according to claim 6 , wherein the output circuit is further coupled to accept the pseudo-random value streams produced by the randomization circuits, and to produce the composite random number sequence responsively to the pseudo-random value streams.

9. A method for random number generation, comprising:

performing the following in a digital oscillator circuit, which has a set of available configurations:

receiving a pseudo-random stream of values corresponding to the available configurations of the digital oscillator circuit;

controlling the digital oscillator circuit to alternate among the available configurations in accordance with the pseudo-random stream of values; and

generating a random number sequence in accordance with a current configuration selected from the set;

wherein the digital oscillator circuit produces a clock signal having a random jitter that is based on the random number sequence, and wherein the pseudo-random stream of values is generated in synchronization with the clock signal.

10. The method according to claim 9 , wherein the digital oscillator circuit comprises a ring oscillator having configurable feedback taps, and wherein each of the available configurations defines a respective setting of the feedback taps.

11. The method according to claim 10 , wherein the set of the available configurations comprises at least first and second available configurations that configure the ring oscillator to have respective different first and second lengths.

12. The method according to claim 9 , wherein producing the pseudo-random stream of values comprises generating the stream by a Linear Feedback Shift Register (LFSR).

13. The method according to claim 9 , wherein producing the pseudo-random stream of values comprises generating the stream in accordance with a non-linear function.

14. The method according to claim 9 , wherein operating the digital oscillator circuit comprises operating multiple digital oscillator circuits that are operative to produce respective multiple random number sequences in accordance with multiple current configurations selected from their respective sets of available configurations, wherein producing the pseudo-random stream of values comprises producing multiple respective pseudo-random value streams so as to control the respective digital oscillator circuits to alternate among the available configurations in the respective sets in accordance with the respective streams, and comprising processing the multiple random number sequences to produce a composite random number sequence.

15. The method according to claim 14 , and comprising introducing a dependency among the multiple value streams by processing at least one of the streams and controlling generation of one or more of the streams responsively to the processed streams.

16. The method according to claim 14 , wherein processing the multiple random number sequences further comprises processing the pseudo-random value streams to produce the composite random number sequence.

17. A method for cryptography, comprising:

performing the following in a memory storage apparatus:

generating a random number sequence with a random number generation module, comprising:

a digital oscillator circuit, which has a set of available configurations and is operative to generate the random number sequence in accordance with a current configuration selected from the set; and

a randomization circuit, which is operative to produce a pseudo-random stream of values corresponding to the available configurations of the digital oscillator circuit, and to control the digital oscillator circuit to alternate among the available configurations in accordance with the pseudo-random stream of values; and

carrying out a cryptographic operation on data using the random number sequence;

wherein the randomization circuit is operative to produce the stream of values in synchronization with a clock signal, and wherein the digital oscillator circuit is operative to produce the clock signal having a random jitter based on the random number sequence, and to drive the randomization circuit with the clock signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2012
From: DROR, ITAI; MINZ, LEONID; DOLGUNOV, BORIS; KOUN, MICHAEL
To: SANDISK IL LTD.
Reel/Frame 027737/0676 →
Priority Claims (1)
IL 189921 · Mar 4, 2008 · national
Continuity (1)
Related Publication 20120213358A1 · Aug 23, 2012