DE19926640A1 - Verfahren zur Erzeugung von echten Zufallszahlen - Google Patents

Verfahren zur Erzeugung von echten Zufallszahlen

Info

Publication number
DE19926640A1
DE19926640A1 DE1999126640 DE19926640A DE19926640A1 DE 19926640 A1 DE19926640 A1 DE 19926640A1 DE 1999126640 DE1999126640 DE 1999126640 DE 19926640 A DE19926640 A DE 19926640A DE 19926640 A1 DE19926640 A1 DE 19926640A1
Authority
DE
Germany
Prior art keywords
signals
deterministic
digital
boolean
random number
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
DE1999126640
Other languages
English (en)
Other versions
DE19926640C2 (de
Inventor
Rolf Freitag
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Manchester Biogene Tiger Ltd Gb
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE1999126640 priority Critical patent/DE19926640C2/de
Publication of DE19926640A1 publication Critical patent/DE19926640A1/de
Application granted granted Critical
Publication of DE19926640C2 publication Critical patent/DE19926640C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • 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/588Random number generators, i.e. based on natural stochastic processes

Abstract

Es ist bekannt, daß zur Erzeugung echter, d. h. nichtdeterministischer Zufallszahlen ein nichtdeterministisches Signal wie z. B. verstärktes Rauschen benötigt wird. Der Nachteil bei der Erzeugung von Zufallszahlen mittels AD-Wandlung eines nichtdeterministischen Signals ist, daß bei hohen Frequenzen (bei der Grenzfrequenz des Verstärkers oder des Rauschens) die Qualität mit einem Entropiebelag von weniger als 0,9 Bit/Bit unzureichend wird. DOLLAR A Dieses Problem wird dadurch gelöst, daß echte Zufallszahlen mit anderen Zufallszahlen über eine boolsche Funktion (z. B. EXOR) verknüpft werden. DOLLAR A Der Entropiebelag der so erzeugten Zufallszahlen kann durch Verknüpfen von weiteren echten Zufallszahlen beliebig nahe dem theoretischen Limit von 1,0 Bit/Bit angenähert werden. DOLLAR A Bei Anwendungen, bei denen echte Zufallszahlen ohne einen Mindest-Entropiebelag benötigt werden, ist es ausreichend, die Verknüpfung mit Pseudozufallszahlen, z. B. von Schieberegisterfolgen maximaler Länge, durchzuführen. DOLLAR A Die Vorrichtung eignet sich zur Erzeugung von echten Zufallszahlen z. B. für Monte-Carlo-Simulationen oder zur Verschlüsselung.

Description

Es ist bekannt, daß zur Erzeugung echter, d. h. nichtdeterministischer Zufallszahlen ein nichtdeterministisches Signal wie z. B. Schrotrauschen, oder thermisches Rau­ schen benötigt wird.
Üblicherweise wird hierzu Rauschen verstärkt und AD-gewandelt (Patent EP 0903665, Fig. 1; Numnerical Recipes Code CDROM, ISBN 0-521-57608-3, Bild /extras/random/doc/hororan.gif).
Der Nachteil bei diesem und ähnlichen Verfahren ist, daß bei hohen Frequenzen (bei der Grenzfrequenz des Verstärkers oder der Rauschquelle) die Qualität der so ge­ nerierten Zufallszahlen mit einem Entropiebelag kleiner als 0,9 Bit/Bit sehr schlecht wird. Dadurch sind solche Generatoren für schnelle Anwendungen wie z. B. Rausch- Radar (Narayanan, R.M. et. al.: Design and performance of a polarimetic noise radar for detection of shallow buried targets. Proc. SPIE Vol. 2496 Orlando 1995) prinzipiell ungeeignet.
Außerdem eignen sich solche analogen Schaltungen nicht für die Höchstintegration. Hinzu kommen Probleme wie Alterung und Umgebungseinflüsse wie Temperatur, Druck und Magnetfeld, so daß die Taktfrequenz, mit der die Zufallszahlen ausgele­ sen werden, erniedrigt werden muß, um auch über längere Zeit und bei veränderten Umgebungseinflüssen einen Mindest-Entropiebelag garantieren zu können.
Der Erfindung liegt deshalb die Aufgabe zugrunde, auch bei hohen Taktfrequenzen (oberhalb von 1 GHz) echte Zufallszahlen hoher Qualität, d. h. mit einem Entropie­ belag größer 0,99 Bit/Bit, nur mit digitalen und höchstintegrierbaren Bauelementen zu erzeugen.
Diese Aufgabe wird dadurch gelöst, daß die Zufallszahlen von einer digitalen Rausch­ quelle mit den Zufallszahlen von einer (oder mehreren) anderen Rauschquelle oder einem Pseudozufallszahlengenerator boolsch verknüpft werden.
Der Entropiebelag der so erzeugten Zufallszahlen kann durch Verknüpfen von weite­ ren Zufallszahlen aus einer oder mehreren weiteren digitalen Rauschquellen beliebig nahe dem theoretischen Limit von 1,0 Bit/Bit angenähert werden. Im Spezialfall des EXOR (= Summe modulo 2, least significant bit) und EXNOR ergibt sich dies direkt aus dem zentralen Grenzwertsatz.
Bei Anwendungen, bei denen nur echte Zufallszahlen ohne einen Mindest-Entropiebelag benötigt werden, ist es ausreichend die Verknüpfung mit Pseudozufallszahlen, z. B. von Schieberegisterfolgen maximaler Länge, durchzuführen.
Ein mit der Erfindung erreichter Vorteil ist, das sie vollständig digital ist und z. B. in eine CPU integriert werden kann. Dadurch können die Zufallszahlen ohne War­ tezyklen mit vollem Systemtakt erzeugt werden, so daß kein Zwischenspeichern der Zufallszahlen erforderlich ist und Rechenzeit, die z. B. bei Monte-Carlo-Simulationen für die Berechnung von (Pseudo-)Zufallszahlen aufgewendet werden muss, eingespart werden kann.
Ein weiterer Vorteil ist, dass die Taktfrequenz kontinuierlich bis auf 0,0 Hz verringert werden kann (z. B. für einen sleep-Modus).
Fig. 1 zeigt die Grobstruktur eines echten Zufallszahlengenerators, der aus einem nichtdeterministischen Vektor (d. h. Leitungsbündel) von der nichtdeterministischen Quelle (n) und einem deterministischen Vektor von der deterministischen Quelle (d) mit der boolschen Verknüpfung (b) boolsch verknüpft und diesen echten Zufallsvek­ tor (= Zufallszahl) ausgibt. Ein konkretes Beispiel zeigt Fig. 3.
Fig. 2 zeigt die Grobstruktur eines echten Zufallszahlengenerators, der aus einem nichtdeterministischen Vektor (d. h. Leitungsbündel) von der nichtdeterministischen Quelle (n) durch eine boolsche Verknüpfung (b) einen neuen echten Zufallsvektor (= Zufallszahl) erzeugt und ausgibt. Ein konkretes Beispiel zeigt Fig. 4.
Ausführungsbeispiele der Erfindung sind in den folgenden zwei Schaltplänen darge­ stellt und werden im Folgenden näher beschrieben.
Da ein m-Bit-Zufallszahlengenerator (mit vollem Systemtakt) einfach aus m 1-Bit- Zufallszahlengeneratoren aufgebaut werden kann, sind es nur Schaltpläne von 1-Bit- Zufallszahlengeneratoren.
Fig. 3 ist ein Schaltplan eines echten Zufallszahlengenerators (1 Bit). Als nicht­ deterministische digitale Rauschquellen werden zwei invertierende Schmitt-Trigger (0) und (6) verwendet, die asynchron zum (System-)Takt und mit einem Phasen- Rauschen von erfahrungsgemäß ca. 5% schwingen.
Die anschließenden zwei D-Flip-Flops (1) und (8) lesen die primären Zufalls- Bits synchron aus. Um sicherzustellen, daß daraus generierten Zufallsbitfolgen ungefähr gleich viele binäre Nullen und Einsen enthalten, wird das Signal vom oberen Schmitt- Trigger (0) nach der Synchronisierung (R1) mit einem vom T-Flip-Flop (2) halbier­ ten Takt (clk/2) und einem EXOR-Gatter (3) zyklisch invertiert. Zum selben Zweck wird von dem Signal vom unteren Schmitt-Trigger, noch vor dem synchronisieren­ den D-Flip-Flop (8), mit einem T-Flip-Flop (7) die Anzahl der steigenden Flanken modulo 2 gezählt.
Mit dem 97stufigen Schieberegister (5) und dem Schaltgatter (4) wird ein Pseudo­ zufallsbitzyklus (PN1) der Länge 297-1 erzeugt (Numerical Recipes in C, 2nd ed., ISBN 0-521-43108-5, Seite 298-299).
Falls der Zufallszahlengenerator aus mehreren solchen 1-Bit-Zufallszahlengeneratoren besteht, sollten die anderen Pseudozufallsbitzykluslängen teilerfremd sein.
Mit den EXOR-Gattern (9) und (10) schließlich werden diese drei Zufallsbits zu einem verknüpft (R1 EXOR R2 EXOR PN1 EXOR clk/2), das ausgegeben wird. Es ist nebensächlich ob diese Schaltung in CMOS (wie bisher), ECL, TTL o. a. rea­ lisiert wird. Abhängig von der Logik-Familie, Alterung und Umgebungs-Einflüssen wie Temperatur und Versorgungsspannung werden sich die nichtdeterministischen Zufallssignale R1 und R2 ändern, aber durch das EXOR von R1 und R2 werden die­ se Einflüsse zum Teil kompensiert und durch das EXOR mit den Pseudozufallsbits (PN1) werden die Restkorrelationen so überdeckt, daß sie am Ausgang praktisch nicht nachweisbar sind.
Fig. 4 ist ein anderer Schaltplan eines echten Zufallszahlengenerators (1 Bit). Durch die mit Invertern (1) aufgebauten Ketten wird der (System-)Takt mit einer Verzögerungs-Schwankung von erfahrungsgemäß ca. 5% je Inverter verzögert. Die Laufzeit durch eine Inverter-Kette ist nach dem zentralen Grenzwertsatz (annähernd) normalverteilt und die Standardabweichung der Laufzeit ist dadurch (annähernd) proportional der Quadratwurzel der Inverteranzahl. Dadurch kann, falls die in Fig. 2 nur 8 Inverter langen Inverter-Ketten zu kleine Laufzeitschwankungen aufweisen, dieser Mangel durch ein Verlängern der Inverter-Ketten beseitigt werden.
Die ersten zwei D-Flip-Flops (2) und (3) geben nach der steigenden Flanke am Takt- Eingang eine 0 (Low) aus, wenn die Laufzeit der Inverter-Kette am Takt-Eingang kürzer war als die der Inverter-Kette am Daten-Eingang, und eine 1 (High) sonst. Die folgenden zwei D-Flip-Flops (4) und (5) lesen diese primären Zufalls-Bits syn­ chron aus. Mit dem Logik-Gatter (6) wird das EXOR der zwei Zufallsbits gebildet, um den Entropiebelag weiter zu erhöhen.

Claims (8)

1. Verfahren zur Erzeugung von echten Zufallszahlen, dadurch gekennzeichnet, daß ein nichtdeterministisches digitales Signal unter Verwendung digitaler Bau­ elemente als Signalquelle erzeugt und mit einem oder mehreren anderen digi­ talen Signalen boolsch verknüpft wird.
2. Zufallszahlengenerator, dadurch gekennzeichnet, daß echte Zufallszahlen aus den least siginificant bits der Summen von mehreren nichtdeterministischen digitalen Signalen erzeugt werden (z. B. mittels EXOR).
3. Zufallszahlengenerator, dadurch gekennzeichnet, daß echte Zufallszahlen aus den least siginificant bits der Summen von einem oder mehreren nichtdeter­ ministischen digitalen Signalen und einem oder mehreren deterministischen Signalen (z. B. halbierter Takt oder Schieberegisterfolge maximaler Länge) er­ zeugt werden (z. B. mittels EXNOR).
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß als boolsche Ver­ knüpfung das EXOR oder EXNOR verwendet wird.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, mehrere nichtdetermini­ stische Signale boolsch verknüpft werden.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein oder mehre­ re nichtdeterministische Signale mit einem oder mehreren deterministischen Signalen (z. B. halbierter Takt oder Schieberegisterfolge maximaler Länge) boolsch verknüpft wird.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß als nichtdeterministi­ sche digitale Signalquelle(n) ein oder mehrere frei schwingende rückgekoppelte Logikgatter verwendet werden.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein oder mehre­ re nichtdeterministische digitale Signale aus Laufzeitunterschieden zwischen Logik-Gatter-Ketten erzeugt werden.
DE1999126640 1999-06-11 1999-06-11 Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator Expired - Lifetime DE19926640C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1999126640 DE19926640C2 (de) 1999-06-11 1999-06-11 Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1999126640 DE19926640C2 (de) 1999-06-11 1999-06-11 Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator

Publications (2)

Publication Number Publication Date
DE19926640A1 true DE19926640A1 (de) 2000-12-21
DE19926640C2 DE19926640C2 (de) 2002-08-14

Family

ID=7910914

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999126640 Expired - Lifetime DE19926640C2 (de) 1999-06-11 1999-06-11 Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator

Country Status (1)

Country Link
DE (1) DE19926640C2 (de)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10223252C1 (de) * 2002-05-22 2003-06-18 Frank Bergmann Zufallssignalgenerator
DE10216611A1 (de) * 2002-04-15 2003-11-06 Infineon Technologies Ag Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit
DE10344327B3 (de) * 2003-09-24 2005-06-09 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl
DE102004060639A1 (de) * 2004-12-16 2006-06-29 Trapp, Heinz-Dietrich, Dr.Dr. Vorrichtung zur Erzeugung kybernetischer Zufallsereignisse
US7797361B2 (en) 2004-09-28 2010-09-14 Micronas Gmbh System and method for generating random numbers using parity feedback
WO2011113743A2 (fr) 2010-03-16 2011-09-22 Eric Mahe Procede et installation de generation d'aleas non deterministes
DE102010021307A1 (de) 2010-05-22 2011-11-24 Wolfgang Halang Verfahren zur Erzeugung zufälliger Bitströme
US8074081B2 (en) 2002-04-15 2011-12-06 Infineon Technologies Ag Method for replacing contents of a data storage unit
WO2015043855A2 (de) * 2013-09-30 2015-04-02 Siemens Aktiengesellschaft Erzeugen von zufallsbits

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355366A (en) * 1980-11-28 1982-10-19 Ncr Corporation Circuitry for minimizing auto-correlation and bias in a random number generator
US5153532A (en) * 1989-05-24 1992-10-06 Honeywell Inc. Noise generator using combined outputs of two pseudo-random sequence generators

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355366A (en) * 1980-11-28 1982-10-19 Ncr Corporation Circuitry for minimizing auto-correlation and bias in a random number generator
US5153532A (en) * 1989-05-24 1992-10-06 Honeywell Inc. Noise generator using combined outputs of two pseudo-random sequence generators

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin, Vol. 34, No. 7B, Dec. 1991 *
KÜHN, E., SCHMIED, H.: Handbuch Integrierte Schaltkreise, VEB Verlag Technik Berlin, 1979 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10216611A1 (de) * 2002-04-15 2003-11-06 Infineon Technologies Ag Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit
US8074081B2 (en) 2002-04-15 2011-12-06 Infineon Technologies Ag Method for replacing contents of a data storage unit
DE10223252C1 (de) * 2002-05-22 2003-06-18 Frank Bergmann Zufallssignalgenerator
DE10344327B3 (de) * 2003-09-24 2005-06-09 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl
US7426527B2 (en) 2003-09-24 2008-09-16 Infineon Technologies Ag Random number generator and method for generating a random number
US7797361B2 (en) 2004-09-28 2010-09-14 Micronas Gmbh System and method for generating random numbers using parity feedback
DE102004060639A1 (de) * 2004-12-16 2006-06-29 Trapp, Heinz-Dietrich, Dr.Dr. Vorrichtung zur Erzeugung kybernetischer Zufallsereignisse
WO2011113743A2 (fr) 2010-03-16 2011-09-22 Eric Mahe Procede et installation de generation d'aleas non deterministes
DE102010021307A1 (de) 2010-05-22 2011-11-24 Wolfgang Halang Verfahren zur Erzeugung zufälliger Bitströme
WO2015043855A2 (de) * 2013-09-30 2015-04-02 Siemens Aktiengesellschaft Erzeugen von zufallsbits
WO2015043855A3 (de) * 2013-09-30 2015-05-21 Siemens Aktiengesellschaft Erzeugen von zufallsbits

Also Published As

Publication number Publication date
DE19926640C2 (de) 2002-08-14

Similar Documents

Publication Publication Date Title
DE102004047425B4 (de) Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
Robson et al. Truly random number generator based on a ring oscillator utilizing last passage time
US9377997B2 (en) Random number generator
JPH0658623B2 (ja) 乱数発生器
DE19926640C2 (de) Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator
DE102009008224B4 (de) Invertierende Zelle
CN111258548A (zh) 一种真随机数发生器
US5434806A (en) Apparatus and method for random number generation
US3124753A (en) Methpuira
DE102013204274A1 (de) Verfahren zum Erkennen einer Korrelation
US9361066B2 (en) Random number generator using ring oscillators with initial delay
CN205015881U (zh) 一种基于相位噪声的可集成真随机数产生装置
Jessa et al. Randomness of a combined TRNG based on the ring oscillator sampling method
TWI579763B (zh) 具有亂數產生模式的儲存電路
US7356552B2 (en) VLSI implementation of a random number generator using a plurality of simple flip-flops
Babitha et al. FPGA based N-bit LFSR to generate random sequence number
US9588860B2 (en) Systems and methods for random number generation using a fractional rate clock
US10761809B1 (en) Random number generator
DE102008027391B4 (de) Schaltung, Verfahren zum Empfangeneines Signals und Verwendung eines Zufallsgenerators
US20040267846A1 (en) Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal
KR102077401B1 (ko) 인버터 셀의 강도를 이용한 실난수 발생기
Wuerdig et al. Asynchronous Quasi-Random Number Generator: Taking Advantage of PVT Variations
Osama et al. Design of high performance Pseudorandom Clock Generator for compressive sampling applications
WO2015128015A1 (de) Vorrichtung und verfahren zum erzeugen von zufallsbits
DE102013210147A1 (de) Erzeugen von Zufallsbits

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8122 Nonbinding interest in granting licences declared
8127 New person/name/address of the applicant

Owner name: FREITAG, ROLF, 97084 WUERZBURG, DE

8127 New person/name/address of the applicant

Owner name: FREITAG, ROLF, DIPL.-PHYS., 90461 NUERNBERG, DE

D2 Grant after examination
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Owner name: MANCHESTER BIOGENE TIGER LTD., GB

Free format text: FORMER OWNER: FREITAG, ROLF, DIPL.-PHYS., 90461 NUERNBERG, DE

Effective date: 20111129

R071 Expiry of right