IP Library Granted Patent US 9,383,969
Granted Patent B2
US 9,383,969 · App. 14/110,009 · Granted Jul 5, 2016

Random number generating system based on memory start-up noise

Inventors: Erik Van Der Sluis (Utrecht, NL); Geert Jan Schrijen (Venlo, NL); Helena Handschuh (Palo Alto, CA)
Assignee: INTRINSIC ID B.V.
G06F7/588H04L9/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,383,969
App. No.
14/110,009
Granted
Jul 5, 2016
Kind
B2
Abstract

A random number generating system for generating a sequence of random numbers comprising a memory, the memory being writable, volatile and configured such that the memory contains an at least partially random memory content upon each powering-up of the memory, an instantiating unit configured for seeding the random number generating system with a seed dependent upon the at least partially random memory content, the sequence of random numbers being generated in dependence upon the seed, and an over-writing unit configured for over-writing at least part of the memory with random numbers generated by the random number generating system in dependence upon the seed.

Claims (23)

1. A random number generating system for generating a sequence of random numbers comprising:

a memory, the memory being writable and volatile, the memory producing an at least partially random memory content upon each powering-up of the memory so that the memory contains at least partially random memory content, the at least partially random memory content depending on variations in the production process while the memory was manufactured,

an instantiating unit configured for seeding the random number generating system with a seed dependent upon the at least partially random memory content, the sequence of random numbers being generated in dependence upon the seed, and

an over-writing unit configured for over-writing at least part of the memory with random numbers generated by the random number generating system in dependence upon the seed.

2. A random number generating system as in claim 1 , wherein the over-writing unit is configured to over-write the memory with the random numbers.

3. A random number generating system as in claim 2 , wherein the over-writing unit is configured to write a random number generated by the random number generating system in dependence upon the seed each time a predetermined number of random numbers of the sequence of random numbers have been generated.

4. A random number generating system as in claim 1 , wherein the over-writing unit is configured for over-writing the at least part of the memory with the random numbers generated by the random number generating system in dependence upon the seed, upon the random number generating system receiving a reset signal.

5. A random number generating system as in claim 1 , wherein a bit-size of the at least part of the memory is at least as large as a bit-size of the seed.

6. A random number generating system as in claim 1 , comprising an internal state memory for storing an internal state and a generating unit configured for generating a random number of the sequence of random numbers from the current internal state in conjunction with deriving a new internal state from the current internal state stored in the internal state memory.

7. A random number generating system as in claim 6 , wherein the bit-size of the at least part of the memory is at least as large as a bit-size of the internal state.

8. A random number generating system as in claim 6 , wherein a bit-size of the at least part of the memory is at most twice the bit-size of the internal state, preferably at most the bit-size of the internal state, preferably equal to the bit size of the seed.

9. A random number generating system as in claim 6 , wherein the generating unit is configured for deriving the new internal state from the current internal state before generating a random number of the sequence of random numbers from the current internal state, and wherein the over-writing unit is configured for over-writing the at least part of the memory with random numbers derived from the new internal state before generating a random number of the sequence of random numbers from the current internal state.

10. A random number generating system as in claim 1 , wherein the random numbers generated by the random number generating system in dependence upon the seed for over-writing the at least part of the memory are part of the sequence of random numbers generated by the random number generating system.

11. A random number generating system as in claim 1 , wherein the random numbers generated by the random number generating system in dependence upon the seed for over-writing at least part of the memory comprises intermediate data of the random number generating system which are not part of the sequence of random numbers generated by the random number generating system.

12. A random number generating system as in claim 1 , wherein the sequence of random numbers is fully dependent upon the seed.

13. A random number generating system as in claim 1 , wherein the memory comprises any one of SRAM memory, flip-flops and latches.

14. A smart card comprising a random number generating system as in claim 1 .

15. A method of generating a sequence of random numbers comprising:

powering-up of a memory, the memory being writable and volatile, the memory producing an at least partially random memory content upon each powering-up of the memory so that the memory contains said at least partially random memory content, the at least partially random memory content depending on variations in the production process while the memory was manufactured,

seeding a random number generating system with a seed dependent upon the at least partially random memory content,

generating by the random number generating system the sequence of random numbers in dependence upon the seed, and

over-writing at least part of the memory with random numbers generated by the random number generating system in dependence upon the seed.

16. A computer program embodied in a non-transitory computer readable medium comprising computer program code means adapted to perform all the steps of claim 15 when the computer program is run on a computer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2024
From: INTRINSIC ID B.V.
To: SYNOPSYS, INC.
Reel/Frame 067679/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2013
From: VAN DER SLUIS, ERIK; SCHRIJEN, GEERT JAN; HANDSCHUH, HELENA
To: INTRINSIC ID B.V.
Reel/Frame 031350/0251 →
Continuity (2)
Provisional Application 61471771 · Apr 5, 2011
Related Publication 20140040338A1 · Feb 6, 2014