WO2006079436A1 - Pseudo-random number generator and method of operating thereof - Google Patents

Pseudo-random number generator and method of operating thereof Download PDF

Info

Publication number
WO2006079436A1
WO2006079436A1 PCT/EP2005/056744 EP2005056744W WO2006079436A1 WO 2006079436 A1 WO2006079436 A1 WO 2006079436A1 EP 2005056744 W EP2005056744 W EP 2005056744W WO 2006079436 A1 WO2006079436 A1 WO 2006079436A1
Authority
WO
WIPO (PCT)
Prior art keywords
binary stream
seed
stream
sampling
compression ratio
Prior art date
Application number
PCT/EP2005/056744
Other languages
French (fr)
Inventor
Rupert Reese
Original Assignee
Ericsson Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Ab filed Critical Ericsson Ab
Publication of WO2006079436A1 publication Critical patent/WO2006079436A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Definitions

  • the present invention relates to an apparatus and a method for generation of a pseudo-random number sequence, in general, and in particular, for obtaining a seed for use in pseudo-random number sequence generation in embedded systems.
  • Random numbers have broad application in present technologies. Security and cryptography is probably the best known field of their application. However, random numbers are also used in telecommunication networks to ensure proper and efficient operation of many communication protocols (e.g. some protocols require random numbers to time packet retry attempts, for example in Ethernet following collision detection), to select some identifier - such as an IP address in zero configuration networking and in some algorithms such as Weighted Random Early Discard, which is used to provide congestion control in IP networks. Simulations of various kinds including physical systems such as traffic flow, network behaviour, chemical reactions, etc., is another field of using random numbers.
  • Random numbers may be generated in a variety of different ways. The methods of generating truly random numbers are based on sampling some natural phenomena. For example, the data can be gathered from the users movement of the computer mouse or by sampling so called 'white noise' or the rate of decay of a nuclear source. However, implementation of this type of sources of random numbers is difficult and expensive as in most cases requires additional hardware installed for sampling the data.
  • Pseudo-random number can be defined as a number that appears to be truly random but in fact is not because it was generated by a specially designed function - so called Pseudo Random Number Generator (PRNG).
  • PRNG Pseudo Random Number Generator
  • Computers are very good devices for implementation of the PRNG function due to their calculation power. Computers cannot be used for generation of a truly random numbers, as they are deterministic devices. It means that if the same random generator is run twice, identical results are received.
  • Pseudo-random number generator generates a sequence of numbers based on a seed. Given the same seed the pseudo-random number generator will always output the same sequence of numbers. To overcome this problem the seed is typically a random stream of bits. The generated pseudo-random stream is usually much longer then the seed.
  • the problem of generation pseudo-random numbers is in fact a problem of finding a seed, which later is used by the PRNG.
  • an improved method of generating a seed would be advantageous and in particular one that uses resources already present in the embedded system and allowing for obtaining different seeds for different systems even if the systems are connected to the same power circuit.
  • the invention seeks to preferably mitigate, alleviate or eliminate one or more of the disadvantages mentioned above singly or in any combination.
  • the present invention beneficially allows for generation of a seed or other random value without the need for prior configuration and with minimal support from hardware. It also allows for generation of a seed or other random value in systems with an otherwise high degree of determinism.
  • FIG. 1 is a diagram illustrating sampling process used for generating a binary stream in accordance with one embodiment of the present invention
  • FIG. 2 is a diagram illustrating an apparatus for generating a seed and pseudo random numbers in accordance with one embodiment of the present invention.
  • FIG. 1 illustrates the basic principle of a method of generating a seed for use in a pseudo-random number generator (PRNG) in accordance with a first embodiment of the present invention.
  • Frequency offset and/or jitter between two distinct sources 102, 104 of periodic signals is used for obtaining a seed, which is then input into the pseudorandom number generator.
  • a data stream signal 104 is recovered from an SDH (Synchronous Digital Hierarchy) network interface and a sample clock signal 102 is a microprocessor clock signal.
  • SDH Serial Digital Hierarchy
  • sample clock signal 102 is a microprocessor clock signal.
  • other sources of periodic signals may be used.
  • the signals used may be for example: microprocessor clock, real time clock, periodic interrupts or said signals may be recovered from SDH, PDH, HDLC, ATM, Ethernet or IEEE- 1394 interfaces.
  • periodic transitions between binary states of the data stream 104 and the sample clock 102 are not synchronized.
  • said data stream 104 is sampled 202, wherein timing for said sampling is obtained from a sample clock 102.
  • the two signals i.e. data stream 104 and sample clock 102
  • sample clock 102 samples taken at regular time intervals are randomly distributed.
  • the regular time intervals are defined by periodic changes of said sample clock signal 102.
  • a binary stream 106 of said sampled values is obtained.
  • the binary stream 106 generated by such sampling 202 is likely to be patterned - containing long strings of ones and zeros for example. In order to capture the variation a large number of samples is needed. It means that the binary stream 106 must be long. With enough samples, however, the method according to embodiments of the invention is able to exploit essentially arbitrarily small differences between systems.
  • the binary stream 106 In the final step the binary stream 106 must be converted 204 to a usable seed.
  • the conversion from the binary stream 106 to the seed can be carried out in a number of alternative ways.
  • said step of conversion comprises calculating a cyclic redundancy check (CRC) 204 over said binary stream 106.
  • Cyclic Redundancy Check is a technique well known in the art of computing and is used for detecting data transmission errors. In the present implementation the CRC technique is used in order to generate the seed.
  • the binary stream obtained from the step of sampling is divided into predetermined lengths that are divided by a fixed divisor.
  • the devisor is a pre-defined binary polynomial also known in the field of computing as a CRC Polynomial. As a result of the calculation a remainder number is obtained. The reminder number is said seed.
  • the step of conversion comprises MD5 message digest algorithm.
  • MD5 technique is also known in the art of computing and is used to produce digital signatures. The technique allows to take a message (in the present embodiments the binary stream) and to convert it into a fixed string of digits. The resulting string (also known as hash value or for short hash) is much smaller that the message (or binary stream in this embodiment) used for generation of said hash value. The resulting hash value is said seed.
  • the step of conversion 204 comprises compressing the binary stream and calculating the cyclic redundancy check (CRC) over said compressed binary stream.
  • CRC cyclic redundancy check
  • the step of conversion comprises the steps of compressing the binary stream 106 and testing of entropy of the binary stream 106.
  • the entropy is tested by analysing compression ratio of the binary stream 106.
  • the binary stream 106 will have a variable degree of entropy or "lack of order" depending upon the periodic signals sources and their jitter.
  • the compression ratio can be used to ensure that enough entropy is encoded.
  • the mechanism can see this and continue to sample in an attempt to gain more entropy.
  • one of the clocks is so jittery as to be essentially random, then the sampled stream will also be random.
  • the maximum compression ratio is low because the entropy is high.
  • the sample with the lowest compression ratio is selected as said seed.
  • a specified compression ratio may be used as a threshold and testing of entropy of the binary stream 106 is continued until said specified level of the compression ratio is achieved.
  • the sample with the compression ratio at or below said specified level is selected as said seed.
  • the least significant bit of a real time clock is sampled.
  • the least significant bit (LSB) of a real time clock is a good source for the binary stream of this method since it has a high transition density, is commonly available in embedded systems and is seldom synchronised to the microprocessor clock making the microprocessor clock a suitable source for the sample clock 102.
  • FIG. 2 illustrates one embodiment of an apparatus 200 for generating a seed and pseudo random numbers 208 using the seed generated by the apparatus 200.
  • the data stream is sampled at a regular intervals determined by the sample clock using a D-type Flip-Flop device.
  • the D-type Flip-Flop 202 is a digital logic device that output the input state of the D terminal (i.e. data stream) for output Q when clock (i.e. sample clock) makes a certain transition (low to high or high to low).
  • the resulting binary stream 106 is output to means for converting 204 the binary stream into a seed.
  • the means for converting 204 is a cyclic redundancy check function, but as it was explained above a variety of different methods and their combinations can be used for converting the binary stream 106 to a usable seed.
  • the result of the conversion carried out by the CRC function 204 is then used as a seed by some consumer function such as a microprocessor 206.
  • Appropriately programmed microprocessor 206 generates a random number based on the implemented pseudo-random number generation algorithm and the seed.
  • the method and apparatus according to the present invention may be applied in various fields of technology where generation of pseudo-random numbers is necessary.
  • the present invention may be used in many communication protocols: in Ethernet following collision detection; to select identifier- such as an IP address in zero configuration networking; in algorithms such as Weighted Random Early Discard, which is used to provide congestion control in IP networks. It is also possible to use the method and apparatus of the present invention in simulations of many kinds, including physical systems such as traffic flow, network behaviour, chemical reactions, etc.
  • the invention can be implemented in any suitable form including hardware, software, software embedded in hardware or any combination of these.
  • the functionality defined in the present invention may be implemented in a plurality of units or as part of other functional units. In consequence, the invention may be physically and functionally distributed between different units and processors.
  • a plurality of means, elements or method steps may be implemented by e.g. a single unit or processor. Singular references do not exclude a plurality. Thus references to "a”, “an”, “first”, “second” etc do not preclude a plurality.

Abstract

A method of generating a seed for use in a pseudo-random number generator in which a value of a first periodic signal (104) is sampled, wherein timing for said sampling is obtained from a second periodic signal (102). Transitions between binary states of said first periodic signal (104) and said second periodic signal (102) are not synchronized. The resulting binary stream (106) of said sampled values is then converted into a seed.

Description

PSEUDO-RANDOM NUMBER GENERATOR AND METHOD OF
OPERATING THEREOF
Field of the Invention
The present invention relates to an apparatus and a method for generation of a pseudo-random number sequence, in general, and in particular, for obtaining a seed for use in pseudo-random number sequence generation in embedded systems.
Background of the Invention
Random numbers have broad application in present technologies. Security and cryptography is probably the best known field of their application. However, random numbers are also used in telecommunication networks to ensure proper and efficient operation of many communication protocols (e.g. some protocols require random numbers to time packet retry attempts, for example in Ethernet following collision detection), to select some identifier - such as an IP address in zero configuration networking and in some algorithms such as Weighted Random Early Discard, which is used to provide congestion control in IP networks. Simulations of various kinds including physical systems such as traffic flow, network behaviour, chemical reactions, etc., is another field of using random numbers.
Random numbers may be generated in a variety of different ways. The methods of generating truly random numbers are based on sampling some natural phenomena. For example, the data can be gathered from the users movement of the computer mouse or by sampling so called 'white noise' or the rate of decay of a nuclear source. However, implementation of this type of sources of random numbers is difficult and expensive as in most cases requires additional hardware installed for sampling the data.
Another problem with using truly random numbers obtained from sampling natural phenomena is that for generating long sequences of random numbers a relatively long time period is necessary. There are two main factors that make this process slow and inefficient for use in simple applications. The first factor is the nature of these phenomena. Although the changes of the state of chaotic system are random the change from one state to another in some instances is a slow process. The second factor is that if the chaotic system has to be transformed into a random number sequence and as mentioned earlier usually a special hardware is necessary to accomplish this task. In consequence generation of long, random number sequences requires relatively long time. The problem is even more visible in big systems where long sequences of random numbers must be generated for a big number of users.
The problem identified above can be avoided if a pseudo-random numbers are used instead of truly random numbers. Pseudo-random number can be defined as a number that appears to be truly random but in fact is not because it was generated by a specially designed function - so called Pseudo Random Number Generator (PRNG). Computers are very good devices for implementation of the PRNG function due to their calculation power. Computers cannot be used for generation of a truly random numbers, as they are deterministic devices. It means that if the same random generator is run twice, identical results are received. Pseudo-random number generator generates a sequence of numbers based on a seed. Given the same seed the pseudo-random number generator will always output the same sequence of numbers. To overcome this problem the seed is typically a random stream of bits. The generated pseudo-random stream is usually much longer then the seed.
The problem of generation pseudo-random numbers is in fact a problem of finding a seed, which later is used by the PRNG.
One of the situations where the problem of finding a seed is essential is a situation when it is necessary to provide a number of embedded systems with a pseudorandom number sequence that is likely to be different for each embedded system. This relies on selecting a seed for the standard pseudo-random number generator. In systems with a very high degree of determinism, powered from the same power circuit, the problem is acute. The method of seeding the pseudo-random number generator using a real time clock is not adequate since there is a high probability of each system using the same value due to executing the code at the same time following power up. Seeding the pseudo-random number generator using a system unique ID such as MAC address can also be inadequate if no such ID exists or may be unconfigured.
Hence, an improved method of generating a seed would be advantageous and in particular one that uses resources already present in the embedded system and allowing for obtaining different seeds for different systems even if the systems are connected to the same power circuit.
Summary of the Invention
Accordingly, the invention seeks to preferably mitigate, alleviate or eliminate one or more of the disadvantages mentioned above singly or in any combination.
According to a first aspect of the present invention there is provided a method of generating a seed for use in a pseudo-random number generator as claimed in claim 1.
According to a second aspect of the present invention there is provided an apparatus for generating a seed for use in a pseudo-random number generator as claimed in claim 9.
According to a third aspect of the present invention there is provided a network element as claimed in claim 17.
The present invention beneficially allows for generation of a seed or other random value without the need for prior configuration and with minimal support from hardware. It also allows for generation of a seed or other random value in systems with an otherwise high degree of determinism.
Brief description of the drawings
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which: FIG. 1 is a diagram illustrating sampling process used for generating a binary stream in accordance with one embodiment of the present invention,
FIG. 2 is a diagram illustrating an apparatus for generating a seed and pseudo random numbers in accordance with one embodiment of the present invention.
Description of an embodiment of the invention
FIG. 1 illustrates the basic principle of a method of generating a seed for use in a pseudo-random number generator (PRNG) in accordance with a first embodiment of the present invention. Frequency offset and/or jitter between two distinct sources 102, 104 of periodic signals is used for obtaining a seed, which is then input into the pseudorandom number generator. In this embodiment a data stream signal 104 is recovered from an SDH (Synchronous Digital Hierarchy) network interface and a sample clock signal 102 is a microprocessor clock signal. In other embodiments of the present invention other sources of periodic signals may be used. Depending on particular implementation and design of a network element the signals used may be for example: microprocessor clock, real time clock, periodic interrupts or said signals may be recovered from SDH, PDH, HDLC, ATM, Ethernet or IEEE- 1394 interfaces. In order to generate a seed in accordance with embodiment of the present invention periodic transitions between binary states of the data stream 104 and the sample clock 102 are not synchronized.
In operation, and with reference to FIG. 2, said data stream 104 is sampled 202, wherein timing for said sampling is obtained from a sample clock 102. As the two signals (i.e. data stream 104 and sample clock 102) are not synchronized and, as being real physical signals they are affected by a jitter effect, samples taken at regular time intervals are randomly distributed. The regular time intervals are defined by periodic changes of said sample clock signal 102. As a result of this sampling operation a binary stream 106 of said sampled values is obtained.
The binary stream 106 generated by such sampling 202 is likely to be patterned - containing long strings of ones and zeros for example. In order to capture the variation a large number of samples is needed. It means that the binary stream 106 must be long. With enough samples, however, the method according to embodiments of the invention is able to exploit essentially arbitrarily small differences between systems.
In the final step the binary stream 106 must be converted 204 to a usable seed. The conversion from the binary stream 106 to the seed can be carried out in a number of alternative ways.
In one embodiment said step of conversion comprises calculating a cyclic redundancy check (CRC) 204 over said binary stream 106. Cyclic Redundancy Check is a technique well known in the art of computing and is used for detecting data transmission errors. In the present implementation the CRC technique is used in order to generate the seed. The binary stream obtained from the step of sampling is divided into predetermined lengths that are divided by a fixed divisor. The devisor is a pre-defined binary polynomial also known in the field of computing as a CRC Polynomial. As a result of the calculation a remainder number is obtained. The reminder number is said seed.
In another embodiment the step of conversion comprises MD5 message digest algorithm. MD5 technique is also known in the art of computing and is used to produce digital signatures. The technique allows to take a message (in the present embodiments the binary stream) and to convert it into a fixed string of digits. The resulting string (also known as hash value or for short hash) is much smaller that the message (or binary stream in this embodiment) used for generation of said hash value. The resulting hash value is said seed.
In another embodiment the step of conversion 204 comprises compressing the binary stream and calculating the cyclic redundancy check (CRC) over said compressed binary stream.
In yet another embodiment the step of conversion comprises the steps of compressing the binary stream 106 and testing of entropy of the binary stream 106. The entropy is tested by analysing compression ratio of the binary stream 106. The binary stream 106 will have a variable degree of entropy or "lack of order" depending upon the periodic signals sources and their jitter. When the binary stream 106 is compressed, the compression ratio can be used to ensure that enough entropy is encoded. Consider two examples where the data stream is 10101. In the worst case if the sampling clock is synchronised with the data stream, the sampled stream will be a regular 1010101, and consequently has zero entropy. The orderliness of the sampled stream will result in a very high compression ratio. The mechanism can see this and continue to sample in an attempt to gain more entropy. In the other case if one of the clocks is so jittery as to be essentially random, then the sampled stream will also be random. In this case the maximum compression ratio is low because the entropy is high. Thus the sample with the lowest compression ratio is selected as said seed.
Alternatively, a specified compression ratio may be used as a threshold and testing of entropy of the binary stream 106 is continued until said specified level of the compression ratio is achieved. The sample with the compression ratio at or below said specified level is selected as said seed.
In one embodiment, in the step of sampling and when a real time clock signal is used as the first periodic signal, the least significant bit of a real time clock is sampled.
The least significant bit (LSB) of a real time clock is a good source for the binary stream of this method since it has a high transition density, is commonly available in embedded systems and is seldom synchronised to the microprocessor clock making the microprocessor clock a suitable source for the sample clock 102.
FIG. 2 illustrates one embodiment of an apparatus 200 for generating a seed and pseudo random numbers 208 using the seed generated by the apparatus 200. In this embodiment the data stream is sampled at a regular intervals determined by the sample clock using a D-type Flip-Flop device. In great simplification, the D-type Flip-Flop 202 is a digital logic device that output the input state of the D terminal (i.e. data stream) for output Q when clock (i.e. sample clock) makes a certain transition (low to high or high to low).
Once the data stream 104 is sampled the resulting binary stream 106 is output to means for converting 204 the binary stream into a seed. In the embodiment depicted on FIG. 2 the means for converting 204 is a cyclic redundancy check function, but as it was explained above a variety of different methods and their combinations can be used for converting the binary stream 106 to a usable seed. The result of the conversion carried out by the CRC function 204 is then used as a seed by some consumer function such as a microprocessor 206. Appropriately programmed microprocessor 206 generates a random number based on the implemented pseudo-random number generation algorithm and the seed.
The method and apparatus according to the present invention may be applied in various fields of technology where generation of pseudo-random numbers is necessary. Following the discussion in the background section the present invention may be used in many communication protocols: in Ethernet following collision detection; to select identifier- such as an IP address in zero configuration networking; in algorithms such as Weighted Random Early Discard, which is used to provide congestion control in IP networks. It is also possible to use the method and apparatus of the present invention in simulations of many kinds, including physical systems such as traffic flow, network behaviour, chemical reactions, etc.
The invention can be implemented in any suitable form including hardware, software, software embedded in hardware or any combination of these. The functionality defined in the present invention may be implemented in a plurality of units or as part of other functional units. In consequence, the invention may be physically and functionally distributed between different units and processors. Furthermore, although individually listed, a plurality of means, elements or method steps may be implemented by e.g. a single unit or processor. Singular references do not exclude a plurality. Thus references to "a", "an", "first", "second" etc do not preclude a plurality.

Claims

1. A method of generating a seed for use in a pseudo-random number generator comprising the following steps: a) sampling a value of a first periodic signal (104), wherein timing for said sampling is obtained from a second periodic signal (102), and transitions between binary states of said first periodic signal and said second periodic signal are not synchronized; b) obtaining a binary stream (106) of said sampled values; c) converting said binary stream (106) into a seed.
2. The method according to claim 1, wherein the step of conversion comprises calculating a cyclic redundancy check over said binary stream.
3. The method according to claim 1, wherein the step of conversion comprises MD5 message digest algorithm.
4. The method according to claim 1, wherein the step of conversion comprises the step of compression of said binary stream (106) and calculating a cyclic redundancy check over said compressed binary stream.
5. The method according to claim 1, further comprising the steps of compressing the binary stream (106) and testing of entropy of said binary stream (106) by analysing a compression ratio of the compressed stream and selecting sample with the lowest compression ratio as said seed.
6. The method according to claim 1, further comprising the steps of compressing the binary stream (106) and testing entropy of said binary stream (106) by analysing a compression ratio of the compressed stream and continuing said sampling and testing of entropy until a specified level of the compression ratio is achieved and selecting sample with the compression ratio at or below said specified level as said seed.
7. The method according to any one of preceding claims, wherein said first (104) and second (102) periodic signals are obtained either from microprocessor clock, real time clock, periodic interrupts or recovered from SDH, PDH, HDLC, ATM, Ethernet or IEEE- 1394 interfaces.
8. The method according to claim 7, wherein the step of sampling comprises sampling the least significant bit of a real time clock.
9. An apparatus (200) for generating a seed for use in a pseudo-random number generator the apparatus comprising: a) means for sampling (202) a value of a first periodic signal (104), wherein timing for said sampling is obtained from a second periodic signal (102), and transitions between binary states of said first periodic signal (104) and said second periodic signal (102) are not synchronised; b) means for obtaining (202) a binary stream (106) of said sampled values; c) means for converting (204) said binary stream (106) into a seed.
10. The apparatus (200) according to claim 9, wherein said means for converting (204) is adapted to calculate a cyclic redundancy check over said binary stream.
11. The apparatus (200) according to claim 9, wherein said means for converting (204) is adapted to execute MD5 message digest algorithm.
12. The apparatus (200) according to claim 9, wherein said means for converting (204) is adapted to compress said binary stream (106) and calculate a cyclic redundancy check over said compressed binary stream.
13. The apparatus (200) according to claim 9, further adapted to compress the binary stream (106) and to test entropy of said binary stream (106) by analysing compression a ratio of the compressed stream and to select sample with the lowest compression ratio as said seed.
14. The apparatus (200) according to claim 9, further adapted to compress the binary stream (106) and to test entropy of said binary stream (106) by analysing a compression ratio of the compressed stream and to continue said sampling and testing entropy until a specified level of the compression ratio is achieved and to select sample with the compression ratio at or below said specified level as said seed.
15. The apparatus (200) according to claim 9, wherein said first (104) and second (102) periodic signals are obtained either from microprocessor clock, real time clock, periodic interrupts or recovered from SDH, PDH, HDLC, ATM, Ethernet or IEEE- 1394 interfaces.
16. The apparatus (200) according to claim 15, wherein said means for sampling is adapted to sample the least significant bit of a real time clock.
17. A network element comprising pseudo-random number generator (208) and said pseudo-random number generator (208) is adapted to be seeded by the apparatus (200) for generating a seed according to any one of claims 9 - 16.
PCT/EP2005/056744 2005-01-26 2005-12-13 Pseudo-random number generator and method of operating thereof WO2006079436A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0501468.3 2005-01-26
GB0501468A GB2422691A (en) 2005-01-26 2005-01-26 Pseudo-random number generator and method of operating thereof

Publications (1)

Publication Number Publication Date
WO2006079436A1 true WO2006079436A1 (en) 2006-08-03

Family

ID=34259605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/056744 WO2006079436A1 (en) 2005-01-26 2005-12-13 Pseudo-random number generator and method of operating thereof

Country Status (2)

Country Link
GB (1) GB2422691A (en)
WO (1) WO2006079436A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014452A1 (en) * 1999-12-21 2003-01-16 Patrick Le Quere High speed random number generator
WO2003081417A2 (en) * 2002-03-25 2003-10-02 Infineon Technologies Ag Random number generator
US20040107230A1 (en) * 2002-11-27 2004-06-03 Stmicroelectronics S.A. Random number generator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2824153B1 (en) * 2001-04-27 2003-08-15 Trialog PROCESS FOR PRODUCING A SEQUENCE OF RANDOM NUMBERS AND DEVICE IMPLEMENTING THE METHOD
JP3696209B2 (en) * 2003-01-29 2005-09-14 株式会社東芝 Seed generation circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014452A1 (en) * 1999-12-21 2003-01-16 Patrick Le Quere High speed random number generator
WO2003081417A2 (en) * 2002-03-25 2003-10-02 Infineon Technologies Ag Random number generator
US20040107230A1 (en) * 2002-11-27 2004-06-03 Stmicroelectronics S.A. Random number generator

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"INTEGRATED CIRCUIT COMPATIBLE RANDOM NUMBER GENERATOR", IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 30, no. 11, 1 April 1988 (1988-04-01), pages 333 - 335, XP000021682, ISSN: 0018-8689 *
BUCCI M ET AL: "A High-Speed Oscillator-Based Truly Random Number SOurce for Cryptogrphic Applications on a Smart Card IC", IEEE TRANSACTIONS ON COMPUTERS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 52, no. 4, April 2003 (2003-04-01), pages 403 - 409, XP002269732, ISSN: 0018-9340 *
PETRIE C S ET AL: "MODELING AND SIMULATION OF OSCILLATOR-BASED RANDOM NUMBER GENERATORS", 1996 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS). CIRCUITS AND SYSTEMS CONNECTING THE WORLD. ATLANTA, MAY 12 - 15, 1996, IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), NEW YORK, IEEE, US, vol. VOL. 4, 12 May 1996 (1996-05-12), pages 324 - 327, XP000618584, ISBN: 0-7803-3074-9 *

Also Published As

Publication number Publication date
GB2422691A (en) 2006-08-02
GB0501468D0 (en) 2005-03-02

Similar Documents

Publication Publication Date Title
JP6761934B1 (en) True random number generators and devices with detection and correction capabilities
CN1214319C (en) Method and apparatus for generating random numbers using flip-flop meta-stability
Hiller et al. Complementary IBS: Application specific error correction for PUFs
KR20060087431A (en) Random number generator and method for generating random numbers
Balasch et al. Design and testing methodologies for true random number generators towards industry certification
JP4234011B2 (en) Method and apparatus for preventing noise affecting random number generators based on flip-flop metastability
EP1518164B1 (en) Method and apparatus for generating a random number using meta-stable latches
JP2004537119A (en) Method and apparatus for decorrelating a random number generator using a pseudo-random sequence
Stipčević Fast nondeterministic random bit generator based on weakly correlated physical events
US6374278B1 (en) Method and apparatus for the generation of statistically random numbers
US20230376277A1 (en) Quantum random number generation using photon shot noise sources
CN117081751A (en) High-reliability quantitative response arbiter type PUF structure
WO2006079436A1 (en) Pseudo-random number generator and method of operating thereof
Minglin et al. Stream ciphers on wireless sensor networks
Pandian et al. Five decade evolution of feedback shift register: algorithms, architectures and applications
Grynchyshyn et al. Special Processors Simulation for Forming and Digital Processing of Error-Correcting Codes in Computer Systems
Vooke et al. Design of Pseudo-Random Number Generator Using Non-Linear Feedback Shift Register
Fabbri et al. Very low cost entropy source based on chaotic dynamics retrofittable on networked devices to prevent RNG attacks
Yu et al. On designing PUF-based TRNGs with known answer tests
Vogl et al. Work in progress: Side-channel watermarking for LoRaWAN using robust inter-packet timing: An experimental approach
US20210224041A1 (en) Random number generator, random number generating circuit, and random number generating method
Bardis et al. Method for designing pseudorandom binary sequences generators on Nonlinear Feedback Shift Register(NFSR).
Sharma et al. DSP based implementation of scrambler for 56Kbps modem
Wirth et al. Random Telegraph Noise-Based True Random Number Generator for Fully Integrated Systems
Dong et al. F-gss: A novel fcsr-based keystream generator

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase

Ref document number: 05821507

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5821507

Country of ref document: EP