DE19926640A1 - Verfahren zur Erzeugung von echten Zufallszahlen - Google Patents
Verfahren zur Erzeugung von echten ZufallszahlenInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manipulation Of Pulses (AREA)
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.
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)
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)
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 |
-
1999
- 1999-06-11 DE DE1999126640 patent/DE19926640C2/de not_active Expired - Lifetime
Patent Citations (2)
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)
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)
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) | 乱数発生器 | |
DE60319104T2 (de) | Abtastschaltkreis zur zufallszahlengenerierung | |
DE102009008224B4 (de) | Invertierende Zelle | |
CN111258548A (zh) | 一种真随机数发生器 | |
DE19926640C2 (de) | Verfahren zur Erzeugung von echten Zufallszahlen sowie Zufallszahlengenerator | |
US9858042B1 (en) | Configurable ring oscillator | |
Tuncer | Implementation of duplicate TRNG on FPGA by using two different randomness source | |
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 | |
US10140096B1 (en) | Preventing ring oscillator phase-lock | |
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 | |
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 | |
EP1660988B1 (de) | Hardware-generator mit analogen und digitalen korrekturschaltungen zur erzeugung von gleichförmigen und gaussverteilten echten zufallszahlen | |
KR102077401B1 (ko) | 인버터 셀의 강도를 이용한 실난수 발생기 | |
DE102014219651A1 (de) | Verfahren und Vorrichtung zum 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 |