Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
GENERATION OF RANDOM BITS
Document Type and Number:
WIPO Patent Application WO/2015/043855
Kind Code:
A2
Abstract:
The invention relates to a method and a device for generating random bits using an electronic circuit. The random signal is fed to at least two counter units in parallel within the electronic circuit. With the method described it is possible to detect random events in a time period. The amount of entropy that can be extracted from a signal at a point in a random number generator can be increased using the method described.

Inventors:
DICHTL MARKUS (DE)
Application Number:
PCT/EP2014/068057
Publication Date:
April 02, 2015
Filing Date:
August 26, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F7/58
Domestic Patent References:
WO2010031630A12010-03-25
WO2006015624A12006-02-16
Foreign References:
US20040264233A12004-12-30
DE19926640A12000-12-21
Other References:
ARI JUELS ET AL: "How to Turn Loaded Dice into Fair Coins", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE PRESS, USA, Bd. 46, Nr. 3, 3. Mai 2000 (2000-05-03), XP011027626, ISSN: 0018-9448 in der Anmeldung erwähnt
KNUT WOLD ET AL: "Analysis and Enhancement of Random Number Generator in FPGA Based on Oscillator Rings", RECONFIGURABLE COMPUTING AND FPGAS, 2008. RECONFIG '08. INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 3. Dezember 2008 (2008-12-03), Seiten 385-390, XP031382704, ISBN: 978-1-4244-3748-1 in der Anmeldung erwähnt
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Erzeugen von Zufallsbits (Z) mittels einer elektronischen Schaltung (10) eingerichtet zur Erzeugung eines Zufallssignales (ZS) ,

- wobei das Zufallssignal (ZS) innerhalb der elektronischen Schaltung (10) mindestens zwei Zählereinheiten (101, 102,..., 132) zugeführt wird;

- wobei durch eine Flanke des Zufallssignals (ZS) ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten (101, 102,..., 132) geändert wird;

- wobei der jeweilige Zählerwert zu einem vorgebbaren Zeitpunkt ausgelesen wird;

- wobei aus den ausgelesenen jeweiligen Zählerwerten die Zufallsbits (Z) gebildet werden.

2. Verfahren nach Anspruch 1, wobei die elektronische Schaltung als ein Fibonacci-Ringoszillator, ein Gallois- Ringoszillator, ein Mehrspurringoszillator, ein

Multiplizierer-Zufallszahlengenerator oder ein rückkopplungsfreier Mehrspur-Zufallszahlengenerator ausgebildet wird.

3. Verfahren nach einem der Ansprüche 1 oder 2, wobei mindestens einer der jeweiligen Zählerwerte zu vorgebbaren Zeitpunkten, insbesondere periodisch oder zufällig, ausgelesen wird .

4. Verfahren nach einem der vorstehenden Ansprüche, wobei mindestens einer der jeweiligen Zählerwerte nach einem Auslesen zurückgesetzt wird.

5. Verfahren nach einem der vorstehenden Ansprüche, wobei durch eine Flanke vorgegebener Richtung des Zufallssignals (ZS) ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten (101, 102,..., 132) geändert wird.

6. Verfahren nach einem der vorstehenden Ansprüche, wobei in Abhängigkeit von den ausgelesenen jeweiligen Zählerwerten mit Hilfe einer algorithmischen Nachbearbeitung eine nachbearbeitete Zufallsbitfolge erzeugt wird.

7. Verfahren nach einem der vorstehenden Ansprüche, wobei als Zählereinheit (101, 102,..., 132) ein Modulo m-Zähler verbaut wird, wobei m eine natürliche Zahl größer als eins ist.

8. Verfahren nach einem der vorstehenden Ansprüche, wobei als Zählereinheit (101, 102,..., 132) ein Toggle-Flipflop verbaut wird.

9. Vorrichtung zum Erzeugen von Zufallsbits (Z), aufweisend

- eine elektronische Schaltung (10) zur Erzeugung eines Zufallssignales (ZS) ,

- mindestens zwei Zählereinheiten (101, 102,..., 132) zum Erfassen des Zufallssignals (ZS) innerhalb der elektronischen Schaltung (10) und zum Speichern eines jeweiligen Zählerwertes in Abhängigkeit von eine Flanke des Zufallssignals (ZS) ;

- ein jeweiliger Ausgangsknoten (201, 202,..., 232) der jewei- ligen Zählereinheit (101, 102,..., 132) zum Abgreifen des jeweiligen Zählerwertes zu einem vorgegebenen Zeitpunkt;

- eine Verarbeitungseinheit (20) zum Erzeugen von Zufallsbits (Z) aus den abgegriffenen jeweiligen Zählerwerten. 10. Vorrichtung nach Anspruch 9, wobei die elektronische Schaltung ein Fibonacci-Ringoszillator, ein Gallois- Ringoszillator, ein Mehrspurringoszillator, ein

Multiplizierer-Zufallszahlengenerator oder ein rückkopplungsfreier Mehrspur-Zufallszahlengenerator ist.

11. Vorrichtung nach Anspruch 9 oder 10, wobei mindestens einer der jeweiligen Zählerwerte zu einem vorgegebenen Zeitpunkt, insbesondere periodisch, abgreifbar ist. 12. Vorrichtung nach einem der Ansprüche 9 bis 11, wobei mindestens einer der jeweiligen Zählerwerte nach dem Abgreifen zurücksetzbar ist.

13. Vorrichtung nach einem der Ansprüche 9 bis 12, wobei die mindestens zwei Zählereinheiten (101, 102,..., 132) zum Speichern eines jeweiligen Zählerwertes in Abhängigkeit von einer Flanke vorgegebener Richtung des Zufallssignals (ZS) ausge- bildet sind.

14. Vorrichtung nach einem der Ansprüche 9 bis 13, wobei die Verarbeitungseinheit (20) zum Durchführen einer algorithmischen Nachbearbeitung geeignet ist zum Erzeugen einer nach- bearbeiteten Zufallsbitfolge aus den abgegriffenen jeweiligen Zählerwerten .

15. Vorrichtung nach einem der Ansprüche 9 bis 14, wobei als Zählereinheit (101, 102,..., 132) ein Modulo m-Zähler verbaut ist.

16. Vorrichtung nach einem der Ansprüche 9 bis 15, wobei als Zählereinheit (101, 102,..., 132) ein Toggle-Flipflop verbaut ist .

Description:
Beschreibung

Erzeugen von Zufallsbits Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen von Zufallsbits mittels einer elektronischen Schaltung .

In sicherheitsrelevanten Anwendungen, beispielsweise bei asymmetrischen Authentifikationsverfahren, sind Zufallsbitfolgen als binäre Zufallszahlen notwendig. Bekannte Maßnahmen, um Zufallszahlen zu erzeugen, verwenden analoge Zufallsquellen. Als analoge Zufallsquellen werden Rauschquellen, wie beispielsweise das Rauschen von Zenerdioden, verstärkt und digitalisiert. Dabei wird digitale mit analoger Schaltungstechnik verbunden.

Eine Quelle zur Erzeugung von Zufallsdaten ist eine wichtige Voraussetzung für viele Sicherheitsanwendungen. Insbesondere bei kryptographischen Verfahren werden aus den erzeugten Zufallsbits Schlüssel und einmalig verwendete Werte, sogenannte Nonces, abgeleitet. Dabei werden hohe Anforderungen an die Qualität der dazu verwendeten Zufallsbits gestellt: Ideale Zufallsbits müssen gleichverteilt auftreten, und mehrere Bits müssen voneinander statistisch unabhängig sein. Das heißt, die Quelle zur Erzeugung der Zufallsbits muss eine hohe Entropie besitzen.

Es werden Ringoszillatorschaltungen, wobei dieser Begriff so- wohl klassische Ringoszillatoren, Mehrspurringoszillatoren, Fibonacci-Ringoszillatoren wie auch Galois-Ringoszillatoren umfasst, zur Erzeugung von Zufallszahlen eingesetzt, bei welchen eine Anzahl von logischen Gattern rückgekoppelt wird. Dabei befinden sich alle Gatter in einer durch die anderen Gatter gebildeten Rückkopplungsschleife, so dass ein Signalwechsel am Ausgang eines Gatters potentiell nach dem Weg über die aus anderen Gattern gebildete Rückkopplungsschleife wieder an einem Eingang des Gatters ankommen kann. Beispielsweise ergibt sich bei Ringoszillatorschaltungen ein zufälliger Jitter aus schwankenden Durchlaufzeiten der Signale durch Inverter. Dieser Jitter, also eine unregelmäßige zeitliche Schwankung in Zustandsänderungen der durch die Inverter geschickten Signale, kann bei mehrfachen Durchläufen durch die Ringoszillatorschaltung akkumuliert werden, so dass letztlich ein zufälliges analoges Signal entsteht.

Bei einem Multiplizierer-Zufallszahlengenerator wird beispielsweise ein auf einem FPGA vorhandenes binäres Multiplikationsrechenwerk verwendet. Es werden Ausgangs- bzw. Ergebnisbits an Eingangsbits rückgekoppelt, so dass Oszillationen entstehen, die praktisch zufällige Signalverläufe ergeben.

Bei rückkopplungsfreien Mehrspurzufallszahlengeneratoren liegt keine Rückkopplungsschleife derart vor, dass eine Zu- standsänderung mindestens eines Rückkopplungsausgangssignals einer Abbildungseinrichtung als eine Zustandsänderung mindestens eines Eingangssignal einer anderen Abbildungseinrichtung derart zugeführt ist, dass eines oder mehrere Ausgangssignale der Abbildungseinrichtung von der Zustandsänderung des Rückkopplungsausgangssignals beeinflusst wird.

Aus dem Stand der Technik sind Verfahren zur Erzeugung echter Zufallszahlen bekannt, welche diese Bit für Bit gewinnen. Es wird dabei ein Bit gesampelt, anschließend für eine ausreichend lange Zeitspanne gewartet, bis man einen vom vorigen Zustand statistisch unabhängigen Zustand des Systems annehmen kann, und anschließend erneut ein Bit gesampelt. Diese Vorgehensweise wird iterativ angewendet.

Es ist bekannt, schwingende rückgekoppelte Schaltungen an mehreren Stellen gleichzeitig zu sampeln und die gesampelten Bits algorithmisch zu einem einzigen Bit zu komprimieren. Für eine solche Komprimierung werden meist XOR-Verknüpfungen der Bits vorgenommen. Beispielsweise ist eine solche Schaltung in der Veröffentlichung von K. Wold, C. H. Tan, "Analysis and enhancement of random number generator in FPGA based on oscillator rings", Proc . of ReConFig 2008 , Cancun, 2008 , pp . 385- 390 , beschrieben. Bei hohem Energieverbrauch wird hier eine niedrige Datenrate erzielt.

Em Ziel bei der Erzeugung echter Zufallszahlen ist es, au einem von einem Zufallszahlengenerator herbeigeführten Zufallsereignis möglichst viel Entropie in der Form von Zufallsbits zu gewinnen und dabei den Energieverbrauch niedr zu halten .

Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung mit besonders großer Energieeffizienz bei der Zufallsbiterzeugung bereitzustellen .

Diese Aufgabe wird durch ein Verfahren und eine Vorrichtung zum Erzeugen von Zufallsbits gelöst. Vorteilhafte Ausführungsformen und Weiterbildungen sind in den Unteransprüchen angegeben .

Die im Folgenden genannten Vorteile müssen nicht notwendigerweise durch die Gegenstände der unabhängigen Ansprüche erzielt werden. Vielmehr kann es sich auch um Vorteile handeln, welche lediglich durch einzelne Ausführungsformen oder Weiterbildungen erzielt werden.

Erfindungsgemäß weist ein Verfahren zum Erzeugen von Zufallsbits mittels einer elektronischen Schaltung eingerichtet zur Erzeugung eines Zufallssignales folgende Schritte auf: Es wird das Zufallssignal innerhalb der elektronischen Schaltung mindestens zwei Zählereinheiten zugeführt. Durch eine Flanke des Zufallssignals wird ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten geändert. Der jeweilige Zählerwert wird zu einem vorgebbaren Zeitpunkt ausgelesen. Aus den ausgelesenen jeweiligen Zählerwerten werden die Zufallsbits gebildet . Bei der elektronischen Schaltung handelt es sich beispielsweise um einen Zufallszahlengenerator wie einen Fibonacci- Ringoszillator, einen Gallois-Ringoszillator, einen Mehrspurringoszillator, einen Multiplizierer-Zufallszahlengenerator oder einen rückkopplungsfreien Mehrspur- Zufallszahlengenerator .

Die elektronische Schaltung umfasst beispielsweise Abbil- dungseinrichtungen , wobei je nach eingesetztem Zufallszahlen- generator Inverter, NAND-Gatter, d.h. negierte UND-Gatter, NOR-Gatter, d.h. negierte ODER-Gatter, binäre Multiplikationsrechenwerke, Kaskadierungsgatter wie XOR-Gatter, d.h. exklusive ODER-Gatter, oder XNOR-Gatter, d.h. negierte exklusive ODER-Gatter, usw. verwendet werden.

Als Baugruppen der elektronischen Schaltung können analoge Elemente wie invertierende Verstärker verbaut sein. Ferner ist auch der Einsatz vollständig digitaler Bauelemente in der Vorrichtung zum Erzeugen von Zufallsbits vorteilhaft, da eine aufwandsgünstige Implementierbarkeit möglich ist.

Logische Funktionen, welche durch die Abbildungseinrichtungen ausgeführt werden, können auch durch Nachschlagetabellen oder sogenannte Lookup-Tables realisiert werden. Lookup-Tables finden insbesondere auf Field-Programmable-Gate-Arrays , kurz FPGAs, Anwendung. Statt Gatter mit einer entsprechenden gewünschten Funktionalität zu realisieren, werden hierbei Tabellen abgespeichert, die die Ausgänge in ihrem Speicher je nach Eingangsbits nachschlagen. Für eine Anzahl z Inputbits weist die LUT beispielsweise 2 Z Adressen auf.

Als Anzahl der Zählereinheiten, auch Zähler genannt, werden zwei oder mehr, beispielsweise 3, 4, oder 32 Zähler verwendet. Es werden also die Eingänge mehrerer Zähler mit einem Signal innerhalb der elektronischen Schaltung verbunden. Das Signal wird dabei an einer Stelle der elektronischen Schaltung abgeleitet und den Zählern als Input zugeführt. Die Zähler sind dabei so implementiert, dass sie bei Flanken des Eingangssignales, d.h. des zugeführten Zufallssignales, ihren Zählerwert um einen bestimmten Betrag, beispielsweise um den Wert 1, ändern. Bei dem Zählerwert handelt es sich um eine Information, die von dem Zähler abfragbar oder auslesbar ist. Damit ist eine Information, beispielsweise 0, gespeichert bis zum Auftreten einer Flanke im Zufallssignal, also einem Wechsel von logisch 0 auf logisch 1 oder andersherum. Die Flanke bewirkt den Wechsel des Zählerwertes, beispielsweise von 0 auf den Wert 1. Der neue Zählerwert 1 ist bis zum Auftreten der nächsten Flanke hinterlegt.

Das beschriebene Verfahren ermöglicht eine Erfassung von Zufallsereignissen aus einem Zeitintervall. Dagegen wäre bei einem denkbaren Sampeln von Signalen ein durch einen Takt vorgegebener Zeitpunkt für die Erzeugung der Zufallsbits entscheidend. Ist der Zeitpunkt, zu dem ausreichend Entropie aus einem Signal vorliegt, schwer abschätzbar, so ist ein Sampeln zu festen Zeitpunkten nachteilig. Das beschriebene Verfahren ist hingegen für Systeme vorteilhaft anwendbar, in welchen ein Zeitpunkt mit zufälligem Verhalten schwer ermittelbar ist .

Die Entropieausbeute, die aus einem Signal an einer Stelle eines Zufallszahlengenerators extrahierbar ist, wird durch das beschriebene Verfahren erhöht.

Gemäß einer Ausgestaltung wird mindestens einer der jeweiligen Zählerwerte zu vorgebbaren Zeitpunkten, insbesondere periodisch oder zufällig, ausgelesen.

Somit werden im laufenden Betrieb der elektronischen Schaltung fortwährend, beispielsweise im Abstand von einer Mikro- sekunden oder beispielsweise in Abhängigkeit von Gatterdurchlaufzeiten der verbauten Abbildungseinrichtungen, Zufallsbits als Roh-Zufauszahlen generiert. Das Auslesen kann ferner an einen Neustart des Zufallszahlengenerators gekoppelt sein. Der Zeitpunkt kann insbesondere in Abhängigkeit von einer Zu- fallszahl gewählt werden, so dass das Auslesen in unregelmäßigen, zufälligen Abständen erfolgt.

Gemäß einer Ausgestaltung wird mindestens einer der jeweiligen Zählerwerte nach einem Auslesen zurückgesetzt.

Bei einem nachfolgenden Auslesen wird dann nicht von dem alten Zählerstand, der bei dem ersten Auslesevorgang vorlag, weitergezählt, sondern bei mindestens einer der Zählereinheiten erfolgt das Zählen aus einem definierten Anfangszustand.

Beispielsweisen werden eine der Zählereinheiten oder mehrere der Zählereinheiten oder aller der verbauten Zählereinheiten auf einen festen Wert, beispielsweise den Wert 0, zurückgesetzt .

Gemäß einer Ausgestaltung wird durch eine Flanke vorgegebener Richtung des Zufallssignals ein jeweiliger Zählerwert der mindestens zwei Zählereinheiten geändert wird.

Es gibt Zähler, welche bei jeder auftretenden Flanke, sowohl bei einer negativen als auch bei einer positiven Flanke, das heißt beispielsweise sowohl von einem Wechsel von logisch 0 auf logisch 1 als auch von logisch 1 auf logisch 0, ihren Zählerwert ändern.

Ferner sind Zähler verwendbar, welche nur bei Flanke vorgegebener Richtung, also beispielsweise nur bei einer positiven oder nur bei einer negativen Flanke, ihren Zählerwert ändern.

Gemäß einer Weiterbildung wird in Abhängigkeit von den ausgelesenen jeweiligen Zählerwerten mit Hilfe einer algorithmischen Nachbearbeitung eine nachbearbeitete Zufallsbitfolge erzeugt .

Die Roh-Zufauszahlen werden beispielsweise mit Hilfe des Nachbearbeitungsverfahren, welches von A. Juels, M.

Jakobsson, E. Shriver, und B. Hillyer, in „How to Turn Loaded Dice into Fair Coins" (IEEE Transactions on Information Theo- ry, May 2000) vorgestellt wurde, weiterverarbeitet.

Ferner sind kryptographische Algorithmen vorteilhaft. Ein Beispiel für eine geeignete kryptographische Funktion ist die Anwendung einer kryptographischen Hashfunktion (z. B. KECCAK, siehe http://keccak.noekeon.org/) auf die Roh-Zufauszahlen . Dabei werden für die Erzeugung der nachbearbeiteten Zufallsbitfolge vom Hashwert weniger Bits verwendet, als es der in den Zählerständen enthaltenen Entropie entspricht.

Als kryptographische Funktionen zur Nachbearbeitung kommen ferner Blockchiffren in Frage.

Gemäß einer Ausgestaltung wird als Zählereinheit ein Modulo- m-Zähler verbaut, wobei m eine natürliche Zahl größer als eins ist.

In Zufallszahlengeneratoren übliche Binärzähler sind ohne zusätzlichen Schaltungsaufwand Modulo-m-Zähler, wobei m eine Zweierpotenz ist, deren Exponent durch die Zahl von Flipflops im Binärzähler gegeben ist.

Gemäß einer Ausgestaltung wird als Zählereinheit ein Toggle- Flipflop verbaut wird.

Eine besonders einfache Form eines Modulo-2-Zählers ist ein Toggle-Flipflop, das seinen Zählerstand von einem Bit insbesondere bei jeder positiven Flanke seines Eingangssignals invertiert .

Die Erfindung betrifft ferner eine Vorrichtung zum Erzeugen von Zufallsbits, aufweisend

- eine elektronische Schaltung zur Erzeugung eines Zufalls- signales,

- mindestens zwei Zählereinheiten zum Erfassen des Zufallssignals innerhalb der elektronischen Schaltung und zum Spei- ehern eines jeweiligen Zählerwertes m Abhängigkeit von eine Flanke des Zufallssignals;

- ein jeweiliger Ausgangsknoten der jeweiligen Zählereinheit zum Abgreifen des jeweiligen Zählerwertes zu einem vorgegebe nen Zeitpunkt;

- eine Verarbeitungseinheit zum Erzeugen von Zufallsbits aus den abgegriffenen jeweiligen Zählerwerten.

Die vorgeschlagene Vorrichtung ermöglicht eine große

Entropieausbeute, das heißt eine hohe Rate bei der Zufalls- biterzeugung . Dadurch ist ein Zufallszahlengenerator mit geringem Energieverbrauch vorteilhaft realisiert. Gleichzeitig ist ein Hardwareaufwand gering

Gemäß einer Ausgestaltung ist mindestens einer der jeweilige Zählerwerte zu einem vorgegebenen Zeitpunkt, insbesondere periodisch, abgreifbar.

Gemäß einer Ausgestaltung ist mindestens einer der jeweilige Zählerwerte nach dem Abgreifen zurücksetzbar.

Gemäß einer Ausgestaltung sind die mindestens zwei Zählerein heiten zum Speichern eines jeweiligen Zählerwertes in Abhängigkeit von einer Flanke vorgegebener Richtung des Zufallssignals ausgebildet.

Gemäß einer Weiterbildung ist die Verarbeitungseinheit zum Durchführen einer algorithmischen Nachbearbeitung geeignet zum Erzeugen einer nachbearbeiteten Zufallsbitfolge aus den abgegriffenen jeweiligen Zählerwerten.

Gemäß einer Ausgestaltung ist als Zählereinheit ein Modulo m Zähler verbaut.

Gemäß einer Ausgestaltung ist als Zählereinheit ein Toggle- Flipflop verbaut. Die Erfindung wird nachfolgend mit Ausführungsbeispielen anhand der Figuren näher erläutert. Es zeigen: Figur 1 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem ersten Ausführungsbeispiel der Erfindung;

Figur 2 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem zweiten Ausführungsbeispiel der Erfindung;

Figur 3 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem dritten Ausführungsbei- spiel der Erfindung;

Figur 4 Eine schematische Darstellung einer Vorrichtung zum Erzeugen von Zufallsbits gemäß einem vierten Ausführungsbeispiel der Erfindung.

In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.

Figur 1 zeigt einen Mehrspurzufallszahlengenerator als elekt- ronische Schaltung 10 geeignet zur Erzeugung eines Zufallssignales ZS. In einem Mehrspurzufallszahlengenerator existieren mehrere Kanäle oder Spuren, die einer jeweiligen Abbil- dungseinrichtung Kl, K2,..., K100 zugeführt werden. Jede Abbil- dungseinrichtung hat Eingänge, die durch die Anzahl der Spu- ren festgelegt sind. Signale aus den Kanälen werden je Abbil- dungseinrichtung jeweils kombiniert und beispielsweise mit Lookup-Tables , kurz LUTs, ausgewertet. Jede Lookup-Table liefert ein Ausgangsbit, wobei das Ausgangsbit jeder Lookup- Table durch einen Wechsel eines logischen Zustandes an einem der Eingangssignale beeinflusst wird. Damit wird ein Jitter, der als Zufallsquelle genutzt wird, vervielfältigt. Der Mehrspurzufallszahlengenerator hat die Länge 100, d.h. besteht aus 100 Abbildungseinrichtungen Kl, K2,..., K100, die beispielsweise über Look-up-Tables LUT realisiert werden. An ein Ausgangsbit eines rückkopplungsfreien 4-Spur- Zufallszahlengenerators mit dem Zufallssignal ZS werden parallel 32 Toggle-Flipflops als Zählereinheiten 101, 102,..., 132 angebracht. Es werden die Zählerwerte der Toggle- Flipflops, also der jeweilige Zustand eines jeden Toggle- Flipflops, zu einem Zeitpunkt nach einem Übergang vom Input "0000", d.h. 4 Nullbits als Eingangsbits für die vier Spuren des 4-Spur-Zufallszahlengenerators, zum Input "1111", d.h. 4 Einsbits als Eingangsbits, ausgelesen.

Der Übergang wird wiederholt durchgeführt und vor jedem Über- gang werden die Toggle-Flipflops auf den Wert 0 zurückgesetzt .

Nach der 4698035-fachen Wiederholung des Vorganges liegen in 86,6 Prozent eindeutige Werte der Toggle-Flipflops vor, das heißt in diesen Fällen haben alle Toggle-Flipflops den Wert 0 oder alle den Wert 1. Dies ist der durch den Toggle-Flipflop gespeicherte Zählerwert. Das Abgreifen der gespeicherten Zählerwerte geschieht über einen jeweiligen Ausgangsknoten 201, 202,..., 232 der jeweiligen Zählereinheit 101, 102,..., 132. Die jeweiligen Zählerwerte werden an eine Verarbeitungseinheit 20 übermittelt, welche eine algorithmische Nachbearbeitung der abgegriffenen jeweiligen Zählerwerte durchführt. Der verbleibende Anteil in der Messreihe steigert die Entropie des Outputs auf 2,3998 Bits pro Versuch. Diese Entropie wird zur Er- zeugung der Zufallsbits ausgenutzt.

Die nachstehende erste Tabelle gibt die Häufigkeiten der 20 am häufigsten auftretenden Bitmuster bei der beschriebenen Ausführung der Vorrichtung an. Links steht in jeder Zeile de- zimal die Anzahl des Auftretens des Musters bei den insgesamt 4698035 Versuchen, rechts das Muster in hexadezimaler

Schreibweise : Tabelle 1 :

2064137 FFFFFFFF

2005595 00000000

50019 14500025

45097 EBAFFFDA

39828 FBFFFFFF

36053 04000000

17829 00200000

13563 EBAFFDDA

11986 FFDFFFFF

10656 14500225

10329 555D4775

8009 FBFFFFDF

7616 EBA7FC9A

7551 14504365

7274 AAA2B88A

6720 EBA37C9A

6654 E9A37C9A

6439 28A15802

6269 14500365

6186 04000020

Figur 2 zeigt ein zweites Ausführungsbeispiel zur Durchfüh- rung des Verfahrens. Am rückkopplungsfreien 4-Spur-

Zufallszahlengenerator gemäß dem ersten Ausführungsbeispiel werden nun an einem Ausgangsbit mit dem Zufallssignal ZS vier 8-Bit-Zähler als Zählereinheiten 101, 102, 103, 104 angebracht. Bei 2263571-maliger Durchführung der Zufallsbitex- traktion werden die in der zweiten Tabelle gelisteten 20 Muster am häufigsten beobachtet. Entsprechend der ersten Tabelle stehen die dezimale Häufigkeit links und das Muster rechts. Jeder Zählerstand wird durch zwei aufeinanderfolgende hexade- zimal-Zeichen dargestellt.

Tabelle 2 : 361907 04040404 226367 03030303

187768 05050505

129439 05040505

87592 04030404

77225 05060505

69854 06050606

62520 06060606

51156 02020202

43673 05020505

40178 04010404

39038 04070404

37145 05080505

32084 06070606

29205 00070404

25254 05010505

23302 03020303

22061 06020606

21901 05070505

20857 01080505

19475 09020505

Die Muster, bei denen alle Zähler übereinstimmend 4, 3 und 5 positive Signalflanken gezählt haben, sind am häufigsten. In 39,74 Prozent aller Durchgänge stimmen die 4 Zähler überein. Aus der erhaltenen Verteilung der Häufigkeitsmuster erhält man eine Entropie von 5.954258 Bits pro Versuch.

In beiden Ausführungsbeispielen erfüllt das Input-Signal aus dem ringlosen 4-Spurringoszillator nicht die Anforderungen für Flip-Flops bzw. Zähler, in beiden Fällen werden mit großer Wahrscheinlichkeit die notwendigen Hold-Zeiten verletzt, so dass das Verhalten des Flipflops bzw. des Zählers nicht bestimmt ist und selbst als Zufallsquelle dient. Figur 3 zeigt ein drittes Ausführungsbeispiel der Erfindung, bei welchem an jede der vier letzten LUTs des rückkopplungsfreien 4-Spur-Zufallszahlengenerators aus den oben beschriebenen Ausführungsbeispielen acht Modulo-4 -Zähler als Zähler- einheiten 101, 102,..., 132 angeschlossen wurden. Es wurden 6194205 Durchläufe zur Zufallszahlenerzeugung durch Wechsel des Eingangs des 4 -Spur-Zufallszahlengenerator vom Bitmuster "0000" auf das Bitmuster "1111" durchgeführt. Die Modulo-4- Zähler wurden vor jedem Versuch auf den Wert 0 zurückgesetzt.

Die Auswertung der Häufigkeit der beobachteten Bitmuster ergab eine Entropie von 12,66 Bit pro Versuch. Im Vergleich mit der fast idealen Entropieausbeute von 3,99982 Bits pro 4 Bit-Sample, wenn man an den vier letzten Gattern nur je ein

Toggle-Flipflop anbringt, erhält man also eine Steigerung der Entropieausbeute um den Faktor 3,16.

Rückkopplungsfreie Mehrspur-Zufallszahlengeneratoren benöti- gen bei weitem weniger Energie zur Erzeugung eines Zufallsbits als andere bekannte Verfahren. Durch die Kombination der rückkopplungsfreien Mehrspur-Zufallszahlengeneratoren und dem vorgeschlagenen Verfahren oder der vorgeschlagenen Vorrichtung wird eine besonders hohe Energieeffizienz bei der Zu- fallszahlenerzeugung erreicht.

Eine energieeffiziente Erzeugung von Zufallszahlen ist für zahlreiche mobile Anwendungen wichtig. Insbesondere ist die Vorrichtung und/ oder das Verfahren von großer Bedeutung bei batterielosen RFID-Tags mit Kryptofunktionalität .

In einem vierten Ausführungsbeispiel der Erfindung wird ein chaotisch schwingender Fibonacci-Ringoszillator, auch kurz FIRO genannt, der Länge 32 als elektronische Schaltung 10 verwendet. Figur 4 zeigt Abbildungseinrichtungen Kl, K2,..., K32, in diesem Fall Inverter sowie logische XOR-Gatter XI, X2,..., X31, welche die Rückkopplung bilden. An einen Ausgang des FIRO werden parallel 32 Toggle-Flipflops als Zählereinheiten 101, 102,..., 132 angeschlossen. Vor jedem Neustart des FIRO werden alle 32 Toggle-Flipflops auf 0 zurückgesetzt.

Nach einer Schwingphase von beispielsweise einer millionstel Sekunde, während der der FIRP chaotisch schwingt, wird der Zählerwert der 32 Toggle-Flipflops abgespeichert und am je- weiligen Ausgangsknoten 201, 202,..., 232 der jeweiligen Zählereinheit 101, 102,..., 132 zur Verfügung gestellt.

Im Falle einer 5814784-maligen Wiederholung treten in den Toggle-Flipflops 2702970 verschiedene 32-Bit-Muster auf.

Diese sehr große Zahl verschiedener Muster zeigt, dass sich die einzelnen Toggle-Flipflops sehr häufig verschieden verhalten, so dass eine hohe Entropieausbeute zu erwarten ist. Aufgrund der großen Anzahl beobachteter unterschiedlicher 32- Bit-Muster ist eine zuverlässige statistische Schätzung der in den 32-Bit-Mustern enthaltenen Entropie kaum möglich. Ersatzweise werden die letzten 16 der Toggle-Flipflops ausgewertet .

Das häufigste 16-Bit-Muster tritt 196383 Mal auf. 4544 Muster treten in diesem Fall nie auf, 5568 treten nur einmal auf. Aus den Häufigkeiten der 16-Bit-Muster ergibt sich eine Entropie von 10,9777 Bits pro 16-Bit-Sample .

Die jeweilige Zählereinheit, Abbildungseinrichtung oder Verarbeitungseinheit kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrich- tung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Ob- jekt ausgebildet sein.

Obwohl die Erfindung im Detail durch die Ausführungsbeispiele näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und ande- re Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.