-
Ein
Zufallszahlengenerator ist ein System, dessen Ausgabe aus Zufallszahlen
besteht. Zufallszahlen werden zum Beispiel in Abfrage-Antwort-Protokollen,
als Inititialisierungsvektoren, zur Erzeugung von Signaturschlüsselpaaren
und Zufallsstopfbit in verschiedenen Anwendungen wie etwa Chipkarten verwendet.
Zufallszahlengeneratoren können
in Pseudozufallszahlengeneratoren und echte Zufallszahlengeneratoren
unterteilt werden.
-
Pseudozufallszahlengeneratoren
wird von einer externen Quelle ein Anfangswert, der sogenannte "Keim", gegeben und sie
verwenden Zustandsfunktionen zur Berechnung einer Sequenz interner
Zustände.
Die erzeugten Zufallszahlen sind gewöhnlich gleich verteilt. Bei
gegebener vollständiger
Kenntnis der Generatorstruktur und zuvor erzeugter Sequenzen von
Zufallszahlen ist es jedoch möglich,
die folgenden Zufallszahlen vorherzusehen. Die Gesamtentropie der
erzeugten Zufallszahlen liegt in dem Anfangswert und kann die Entropie
des Keims nicht übersteigen.
Pseudozufallszahlengeneratoren eignen sich für Anwendungen, die nur gleich verteilte
Zahlen erfordern.
-
Im
Gegensatz dazu werden echte Zufallszahlengeneratoren in Sicherheitsanwendungen
verwendet, bei denen die Unvorhersehbarkeit der Zufallszahl eine
Schlüsselanforderung
ist. Echte Zufallszahlengeneratoren basieren auf nichtdeterministischen
Phänomenen,
die als die Quelle der Zufälligkeit
wirken. Von den verfügbaren
nichtdeterministischen Quellen sind gewöhnlich nur elektronische Rauschsignale
und Zeit-Jitter für
integrierte Schaltungsimplementierungen geeignet. Solche hardwareimplementierte
Zufallszahlengeneratoren können
Zufallszahlen mit einer sehr großen Geschwindigkeit produzieren.
Die statistische Qualität der
erzeugten Zufallszahlen ist jedoch aufgrund von Bandbreitenbegrenzung,
Herstellungstoleranzen, Alterung und Temperaturdrift in den üblicherweise
verwendeten nichtdeterministischen Rauschquellen begrenzt. Um die
statitische Qualität
zu verbessern, folgt der nichtdeterministischen Rauschquelle gewöhnlich eine
digitale Nachverarbeitungseinrichtung. Ein solcher Zufallszahlengenerator
wird in der UK-Patentanmeldung
GB2064184A beschrieben.
-
1 zeigt
die Architektur eines solchen Zufallszahlengenerators. Eine nichtdeterministische Rauschquelle
NN, die auf einer bestimmten Art von stochastischem Phänomen basiert,
produziert ein analoges Rauschsignal AN, das in einen Digitalisierer
D eingegeben wird. Der Digitalisierer D tastet das analoge Rauschsignal
AN ab und setzt die abgetasteten Werte in einen Strom von Zufallsbit
RB um. Die nichtdeterministische Rauschquelle NN und der Digitalisierer
D bilden zusammen die digitalisierte Rauschquelle DN. Die Zufallsbit
RB werden dann einer Nachverarbeitungseinheit P zugeführt, die
dann einen Strom vom Zufallswörtern
RW produziert.
-
Die
Nachverarbeitungseinheit P erfüllt
zwei Zwecke: erstens wird sie zur Verbesserung der Wahrscheinlichkeitsverteilung
der Zufallsbit RB verwendet, um in der nichtdeterministischen Rauschquelle
NN vorliegende statistische Defekte zu überwinden. Die Wahrscheinlichkeitsverteilung
der resultierenden Zufallswörter
RW kommt einer Gleichverteilung viel naher als die der Zufallsbit
RB.
-
Zweitens
wird die Nachverarbeitungseinheit P verwendet, um die Entropie pro
Bit der Sequenz von Zufallswörtern
RW zu vergrößern. Die
Entropie pro Bit ist der Quotient der Entropie pro digitalisiertem Rauschsignal
zu der Breite der Binärdarstellung
eines digitalisierten Rauschsignals. Die Entropie selbst des Zufallsbit
RB ist ein Maß für die aus
der nichtdeterministischen Rauschquelle NN erhaltene Zufälligkeit.
Empirisch kann die Entropie einer Zufallszahlensequenz zuverlässig nur
unter bestimmten Modellannahmen bezüglich der zugrundeliegenden
Wahrscheinlichkeitsverteilung geschätzt werden. Die Entropie pro
Bit wird in der Nachverarbeitungseinheit P durch Verwendung eines
sorgfältig
entworfenen Komprimierungsalgorithmus vergrößert, der die Entropie eines
schnellen Eingangsstroms von Zufallsbit RB sammelt oder "destilliert", um einen langsameren Strom
von Zufallswörtern
RW mit vergrößerter Entropie
pro Bit zu produzieren.
-
Da
Zufallszahlengeneratoren in Anwendungen verwendet werden, die große Sicherheit
erfordern, ist es wichtig, die Qualität der erzeugten Zufallszahlen
durch Zertifizierung sicherzustellen. In Deutschland ist die Zertifizierungsbehörde das "Bundesamt für Sicherheit
in der Informationstechnik (BSI)",
das die Richtlinie "Functionality
classes and evaluation methodology for true (physical) random number
generators", Version
3.1, 25.9.2001, W. Killmann, W. Schindler, bereitstellt. In dieser
Schrift werden Zufallszahlengeneratoren in zwei Funktionalitätsklassen,
P1 und P2, eingeteilt. Grob gesagt erfordert die Eigenschaft P1,
daß Zufallszahlen
statistisch unscheinbar sind, das heißt gleich verteilt. Die spezifische
Anforderung P2 sollte garantieren, daß die Zufallszahlen praktisch
unmöglich
zu bestimmen sind, auch wenn die Vorgänger oder Nachfolger bekannt sind.
-
Aufgrund
der Präsenz
mathematischer Nachverarbeitung in einem Zufallszahlengenerator ist
es für
die Zertifizierungsbehörde
nicht leicht, zwischen einem echten Zufallszahlengenerator und einem
Pseudozufallszahlengenerator zu unterscheiden. Pseudozufallszahlengeneratoren
können
statistische Prüfungen
bestehen, indem sie Zufallszahlen mit gleichförmiger Wahrscheinlichkeitsverteilung
produzieren, ohne jegliche Entropie zu beschaffen.
-
Für Sicherheitsanwendungen
wie etwa die Erzeugung kryptographischer Schlüssel reicht eine gleichförmige Wahrscheinlichkeitsverteilung
jedoch nicht aus und die Unvorhersehbarkeit der Zufallszahlen ist
eine wesentliche Anforderung.
-
Um
zu garantieren, daß die
erzeugten Zufallszahlen tatsächlich
unvorhersehbar und nicht nur gleich verteilt sind, erfordert die
obige Richtlinie – zusätzlich zu
der Anforderung, daß das
statistische Verhalten der internen Zufallszahl unauffällig sein
soll – in
P2.c) folgendes: "die
Aussichten auf Erfolg beim systematischen Raten der externen Zufallszahlen (realisiert
durch systematische Erschöpfungsattacken) – auch wenn
die Zufallszahlensubsequenzen bekannt sind – sollte bestenfalls vernachlässigbar größer sein,
als der Fall wäre,
wenn die externe Zufallszahl durch einen idealen Zufallszahlengenerator erzeugt
worden wäre".
-
Um
zu zertifizieren, daß dies
der Fall ist, erwähnt
P2.d) (vii), daß die
Sequenz der Zufallsbit RB, die in der Richtlinie als digitalisierte
Rauschsignalsequenz bezeichnet wird,
"bestimmte Kriterien erfüllen oder
statistische Tests bestehen muß",
und es wird
eine Suite von zu erfüllenden
statistischen Tests bereitgestellt. Durch Testen der Zufallsbit
RB vor der Nachverarbeitung kann garantiert werden, daß die Zufallswörter RW
tatsächlich
Entropie aufweisen, da eine physische nichtdeterministische Rauschquelle
NN an ihrer Erzeugung beteiligt ist. Wenn die Zufallsbit RB die
obigen Tests bestehen, kann man sicher sein, daß die Zufallswörter RW
statistische Tests nicht nur mittels Pseudozufallsverhalten bestehen.
-
Leider
ist es sehr schwierig, digitalisierte Rauschquellen DN zu entwerfen,
die die erforderlichen statistischen Tests bestehen können und
in mobilen Anwendungen wie etwa Chipkarten verwendet werden können, weil
digitalisierte Rauschquellen DN, die die Tests bestehen können, mehr
Chipfläche
erfordern und mehr Strom verbrauchen, als für mobile Anwendungen wünschenswert
ist. Um Chipfläche und
Strom, die für
die digitalisierte Rauschquelle DN erforderlich sind, zu reduzieren,
verwenden mobile Anwendungen gewöhnlich
digitalisierte Rauschquellen DN, die Zufallsbit RB mit geringerer
statistischer Qualität
produzieren, und eine Nachverarbeitungseinheit P zum Justieren der
statistischen Qualität.
-
Die
deutsche Zertifizierungsbehörde
erkennt an, daß die
digitalisierte Rauschquelle DN dieser Zufallszahlengeneratoren die
statistischen Tests nicht bestehen wird und gibt alternative Kriterien
zu P2.d) (vii) zum Testen der Qualität der Zufallszahlen. Die alternativen
Kriterien für
P2.d) (vii), Typ 1, sagen folgendes aus:
- "das Ziel von P2.d)
(vii) ist, P2.c) für
gewählte
Prototypen durch Verifizieren einer Minimalentropiegrenze für jedes
interne Zufallsbit mit einer vernachlässigbar kleinen Fehlerwahrscheinlichkeit zu
garantieren. Wenn die digitalisierte Rauschsignalsequenz das Kriterium
P2.d) (vii) nicht erfüllt, kann
der Anmelder als Alternative den folgenden Beweis unterbreiten:
– interne
Zufallszahlensequenzen bestehen die in P2.i) (vii) spezifizierten
statistischen Tests,
– einen
klaren Beweis, daß die
internen Zufallszahlen das mit dem Kriterium P2.d) (vii) gesetzte Ziel
erreichen. Der Beweis muß unter
Berücksichtigung
der mathematischen Nachverarbeitung und auf der Grundlage der empirischen
Eigenschaften der digitalisierten Rauschsignalsequenz gegeben werden."
-
Die
genannten internen Zufallszahlen werden in der Erfindung als Zufallswörter RW
bezeichnet. Der erwähnte
Beweis im zweiten Punkt der Alternativkriterien Typ 1: "kann auf statistischen
Tests der internen Zufallszahlen basieren, soweit ihre Eignung gerechtfertigt
ist".
-
Bei
den Alternativkriterien Typ 1 werden durch die Nachverarbeitung
P ausgegebene Zufallszahlen anstelle von durch die digitalisierte
Rauschquelle DN ausgegebenen Zufallszahlen getestet. Das Testverfahren
umfaßt
Nachverarbeitung, so daß der
Anmelder zusätzlich
beweisen muß,
daß die
Zufallszahlen nach Nachverarbeitung eine Minimalentropie-pro-Bit-Grenze
erfüllen,
um die Unvorhersehbarkeit der erzeugten Zahlen zu garantieren.
-
Die
Aufgabe der Erfindung ist die Schaffung eines Verfahrens zum Testen
von Zufallszahlengeneratoren und die Schaffung eines Zufallszahlengenerators,
in dem dieses Verfahren verwendet werden kann. Das Testen berücksichtigt
den in der zweiten Hälfte
der Alternativkriterien P2.d) (vii) Typ 1 in der obigen Richtlinie
der deutschen Zertifizierungsbehörde
gefordeten Beweis.
-
Folglich
schafft die Erfindung ein Verfahren zum Bereitstellen mehrerer Zufallswörter mit
einem Zufallszahlengenerator, der folgendes umfaßt: eine digitalisierte Rauschquelle,
eine Nachverarbeitungseinheit mit Speicherelementen und eine Steuereinheit
mit einer Zertifizierungsmodusoperation zum Testen der Qualität der digitalisierten
Rauschquelle durch die folgenden Schritte: Bereitstellen eines Stroms
von Zufallsbit durch die digitalisierte Rauschquelle, Versetzen
der Nachverarbeitungseinheit in einen Anfangszustand mittels der
Steuereinheit, Freigeben der Nachverar beitungseinheit mittels der Steuereinheit,
Nachverarbeiten einer vorbestimmten Anzahl M von Zufallsbit des
Stroms von Zufallsbit, um ein Zufallswort mit N Bit zu erhalten,
Ausgeben des Zufallsworts für
Testzwecke und Wiederholen der obigen Schritte zur Erzeugung zusätzlicher
Zufallswörter.
-
In
einem sogenannten Zertifizierungsmodus zum Testen des Zufallszahlengenerators
gemäß den Alternativkriterien
P2.d) (vii) Typ 1 der oben erwähnten
Richtlinie der deutschen Zertifizierungsbehörde wird die Nachverarbeitungseinheit
des Zufallszahlengenerators mittels einer Steuereinheit vor der
Erzeugung jedes neuen Zufallsworts in einen Anfangszustand zurückgesetzt.
Die Zufallswörter
werden gesammelt und dann gemäß den in
P2.i) (vii) spezifizierten statistischen Tests getestet. Bei diesem
Verfahren basiert der von den Alternativkriterien P2.d) (vii) Typ
1 geforderte Beweis, der verlangt, zu zeigen, daß eine Minimalentropiegrenze
für jedes
interne Zufallsbit erreicht wird, auf dem folgenden Argument: da der
Zustand der Nachverarbeitungseinheit jedesmal zurückgesetzt
wird, wenn ein neues Zufallswort erzeugt wird, kann die Nachverarbeitungseinheit
keine vorherigen Zufallswörter
speichern und die erzeugten Zufallswörter hängen deshalb nicht von vorherigen
Zufallswörtern
ab. Anders ausgedrückt,
ist die Nachverarbeitungseinheit zustandslos und deterministisch,
das heißt,
daß dieselbe
Eingabe in die Nachverarbeitungseinheit immer zu derselben Ausgabe
von Zufallswörtern
führt.
Die Zufälligkeit
der Ausgabe hängt
dann nur von der Zufälligkeit
der eingegebenen Zahl ab. Folglich kann sich die Nachverarbeitungseinheit
nicht wie ein Pseudozufallsgenerator verhalten. Wenn die in P2.i)
(vii) in der Zertifizierungsprozedur spezifizierten statistischen
Tests von den erzeugten Zufallswörtern
bestanden werden, muß deshalb
der Grund dafür
die Entropie der Rauschquelle sein, da die Nachverarbeitung im Zertifizierungsmodus
nicht-pseudozufällig wirkt.
Wenn die Rauschquelle zustandslos ist oder einen begrenzten Zustandsraum
besitzt, so wie es für
physische nichtdeterministische Rauschquellen der Fall ist, wird
bewiesen, daß die
erzeugten Zufallszahlen Entropie besitzen und daß der Zufallszahlengenerator
nicht bloß ein
Pseudozahlengenerator ist, falls die Zertifizierungstests bestanden
werden.
-
In
einem sogenannten Normalmodus wird der Schritt des Versetzens der
Nachverarbeitungseinheit in einen Anfangszustand, bevor die Erzeugung
eines neuen Zufallsworts RW gestartet wird, ausgelassen. Der Zufallszahlengenerator
hat echte Zufallszahlen produziert, die in Sicherheitsanwendungen
verwendet werden können.
-
Das
Bereitstellen eines Stroms von Zufallsbit umfaßt vorzugsweise die folgenden
Schritte: Bereitstellen einer nichtdeterministischen Rauschquelle, die
ein analoges Rauschsignal ausgibt, Abtasten des analogen Rauschsignals
und Umsetzen der analogen Abtastwerte in digitale Werte. Durch Verwendung
einer nichtdeterministischen Rauschquelle sind die Zufallsbit tatsächlich unvorhersehbar.
-
Das
Versetzen der Nachverarbeitungseinheit in einen Anfangszustand mittels
der Steuereinheit wird vorzugsweise durch Versetzen aller Speicherelemente
in der Nachverarbeitungseinheit in vorbestimmte Zustände erzielt.
Der Zustand der Nachverarbeitungseinheit wird durch die in Speicherelementen
der Nachverarbeitungseinheit gespeicherten Zustände gegeben. Wenn alle Speicherelemente
in vorbestimmte Zustände
versetzt werden, beginnt die Nachverarbeitung der Zufallsbit immer
mit demselben Anfangszustand. Als Folge gibt die Nachverarbeitungseinheit
für dieselbe
Eingabe immer dieselben Werte aus und die Ausgabe hängt nicht
von vorherigen verarbeiteten Zufallsbit ab. Auf diese Weise kann
garantiert werden, daß die
Gleichverteilung der Zufallswörter
durch die digitalisierte Rauschquelle gewährt wird und daß die statistischen
Tests nicht nur durch eine durch die Nachverarbeitungseinheit erzeugte
deterministische nicht zufällige
Gleichverteilung erfüllt
werden. Die Zustände,
in die die Speicherelemente versetzt werden, sind nicht wichtig,
aber die Speicherelemente sollten vor der Verarbeitung des nächsten Zufallsworts
immer in dieselben Zustände versetzt
werden.
-
Vorzugsweise
werden alle Speicherelemente in der Nachverarbeitungseinheit in
denselben vorbestimmten Zustand versetzt. Das Versetzen aller Elemente
in denselben vorbestimmten Zustand, wie zum Beispiel eine logische
1 oder 0, ist eine einfache Prozedur, die gewöhnlich keine zusätzliche
Hardware erfordert. Wenn zum Beispiel die Nachverarbeitungseinheit
ein Schieberegister enthält,
können
alle Speicherelemente gleichzeitig auf denselben Wert zurückgesetzt
werden.
-
Vorzugsweise
ist die vorbestimmte Anzahl M nachverarbeiteter Zufallsbit größer als
die Anzahl der Bit N in einem Zufallswort. Durch Verarbeiten eines ganzzahligen
Vielfachen der Anzahl der Bit N in einem Zufallswort basiert jedes
Bit in einem Zufallswort nicht nur auf den in vorherigen Zufallswortbit
gespeicherten Zufallsinformationen, sondern auch auf neuen Zufallsinformationen
aus der digitalisierten Zufallsbitquelle.
-
Vorzugsweise
ist die vorbestimmte Anzahl M nachverarbeiteter Zufallsbit kleiner
oder gleich der Anzahl der Bit N eines Zufallsworts. Wenn nur ein
Zufallsbit nachverarbeitet wird, hängt das ausgegebene Zufallswort
nur von dem eingegebenen Zufallsbit ab, da die Nachverarbeitungseinheit,
nachdem jedes Zufallsbit verarbeitet wurde, in denselben Zustand
zurückgesetzt wird.
Auf diese Weise können
statistische Eigenschaften der digitalisierten Rauschquelle durch
Verwendung des ausgegebenen Zufallsworts analysiert werden.
-
Vorzugsweise
umfaßt
der Schritt des Nachverarbeitens das Erzeugen eines langsameren Stroms
von Zufallswörtern
mit vergrößerter statistischer
Qualität
aus einem schnellen neuen Zufallsstrom von Zufallsbit durch Sammeln
der Entropie des Stroms von Zufallsbit. Durch Komprimieren schneller Bit
und Sammeln der Entropie in der Nachverarbeitungseinheit kann die
Entropie pro Bit der Zufallswörter
vergrößert werden.
Die Zufallswörter
werden jedoch mit einer langsameren Geschwindigkeit als die Zufallsbit
verfügbar
sein.
-
Zusätzlich vergrößert die
Nachverarbeitung die statistische Qualität durch Bereitstellung von
Zufallswörtern,
die besser gleich verteilt sind. Auf diese Weise können zur
Erzeugung qualitativ hochwertiger Zufallszahlen nichtdeterministische
Rauschquellen verwendet werden, die wenig Chipfläche erfordern und weniger Strom
verbrauchen.
-
Vorzugsweise
umfaßt
der Schritt der Nachverarbeitung ein logisches Kombinieren eines
Zufallsbit mit einem logischen Wert, der aus in Speicherelementen
gespeicherten Bit vorheriger Wörter berechnet
wird, um ein neues Bit eines Zufallsworts zu berechnen. Durch Speichern
und Rückkoppeln von
logischen Werten aus Bit vorheriger Zufallswörter kann die Entropie bereits
in diesen Bit zur Vergrößerung der
Gesamtentropie der neuen Zufallsbit verwendet werden.
-
Vorzugsweise
umfassen die Schritte der Nachverarbeitung die Verwendung eines
Linear-Rückkopplungsschieberegisters.
Linear-Rückkopplungsschieberegister
können
lange Sequenzen nahezu gleich verteilter Daten erzeugen und besitzen oft
Geschwindigkeits- und Flächenvorteile
gegenüber
funktional äquivalenten
Entwürfen.
-
Die
Erfindung schafft außerdem
einen Zufallszahlengenerator mit einem digitalisierten Rauschsignalgenerator,
der einen Strom von Zufallsbit ausgibt, wobei die Zufallsbit in
eine Nachverarbeitungseinheit eingegeben werden, die einen Strom von
Zufallswörtern
ausgibt, wobei die Nachverarbeitungseinheit mit einer Steuereinheit
verbunden ist, wobei die Steuereinheit als Eingabe ein Zertifizierungsmodussignal
und als Ausgabe ein mit der Nachverarbeitungseinheit verbundenes
Rücksetzsignal aufweist.
-
Die
Steuereinheit wird verwendet, um den Zufallszahlengenerator in einen
von zwei Moden zu versetzen. Im ersten Modus wirkt der Zufallszahlengenerator
wie ein normaler Zufallszahlengenerator und erzeugt Zufallszahlen.
Der zweite Modus ist ein Zertifizierungsmodus, der dazu verwendet
wird, zu beweisen, daß die
erzeugten Zufallszahlen die in dem Test der Alternativkriterien
P2.d) (vii) Typ 1 der oben erwähnten
Richtlinie der deutschen Zertifizierungsbehörde dargelegten Anforderungen
erfüllen.
-
Vorzugsweise
gibt die Steuereinheit jedesmal, wenn eine vorbestimmte Anzahl M
von Zufallsbit durch die Nachverarbeitungseinheit verarbeitet wurde,
ein Rücksetzsignal
aus, wenn das Zertifizierungsmodussignal aktiv ist, wobei das Rücksetzsignal
die Nachverarbeitungseinheit zurücksetzt.
Auf diese Weise wird die Nachverarbeitungseinheit nur in den Zertifizierungsmodus
zurückgesetzt,
und nur nachdem eine vorbestimmte Anzahl M von Zufallsbit verarbeitet
wurde.
-
Vorzugsweise
besitzt die Steuereinheit zusätzlich
einen Eingang zum Eingeben eines Komprimierungsfaktors, wobei der
Komprimierungsfaktor die Anzahl M von Zufallsbit bestimmt, die durch
die Nachverarbeitungseinheit zu verarbeiten ist, bevor die Nachverarbeitungseinheit
mittels des Rücksetzsignals
zurückgesetzt
wird, wenn das Zertifizierungsmodussignal aktiv ist. Durch Eingeben
des Komprimierungsfaktors kann die Anzahl M von Zufallsbit an die
Anforderungen bezüglich
Qualität
und Rate, mit der die Zufallszahlen bereitgestellt werden, angepaßt werden.
Wenn der Komprimierungsfaktor klein ist, werden Zufallswörter mit
einer schnelleren Rate und mit geringerer statistischer Qualität bereitgestellt,
als wenn der Komprimierungsfaktor groß ist.
-
Vorzugsweise
umfaßt
die Steuereinheit einen Zähler
mit einem Komprimierungsfaktor, einem Taktsignal und einem Lastsignal
als Eingabe und einem Countdown-Signal als Ausgabe, wobei der Komprimierungsfaktor
bestimmt, nach wievielen Taktzyklen der Zähler ein Countdown-Signal ausgibt, wobei
der Komprimierungsfaktor durch das Ladesignal als ein Startwert
in den Zähler
geladen wird. Der Zähler
wird zum Steuern der Nachverarbeitungseinheit im Zertifizierungsmodus
durch Ausgeben eines Rücksetzsignals
verwendet, nachdem die durch den Komprimierungsfaktor gegebene Anzahl
von Bit verarbeitet wurde. Im Normalbetriebsmodus wird kein Rücksetzsignal
ausgegeben.
-
Vorzugsweise
umfaßt
die Nachverarbeitungseinheit ein Linearrückkopplungs-Schieberegister
mit einem N-Bit-Schieberegister,
das N Speicherelemente und ein Rückkopplungsnetzwerk
umfaßt. Linearrückkopplungs-Schieberegister sind
leicht in Hardware zu implementieren und sind für die Erzeugung von Pseudozufallsbitsequenzen
nützlich.
Die Werte der in den Speicherelementen des Schieberegisters gespeicherten
Bit werden in das Rückkopplungsnetzwerk
eingegeben und kombiniert, um Rückkopplungsbit
zu bilden, die dann mit ankommenden Zufallsbit verknüpft werden,
um neue Zufallsbit des Zufallsworts zu bilden. Die Gesamtentropie
der Zufallsbit nimmt mit jedem in das Register eingekoppelten Bit
zu.
-
Vorzugsweise
werden die Speicherelemente in dem Schieberegister durch das Rücksetzsignal
auf vorbestimmte Werte gesetzt. Der Zustand der Nachverarbeitungseinheit
wird in den Speicherelementen des Schieberegisters gespeichert.
Wenn die Speicherelemente vor der Verarbeitung des nächsten Zufallsworts
auf vorbestimmte Werte gesetzt werden, beginnt die Nachverarbeitungseinheit
immer mit demselben Zustand und die Bit der berechneten Zufallswörter hängen nicht
von vorherigen Werten von Zufallsbit ab.
-
Vorzugsweise
umfaßt
die digitalisierte Rauschquelle eine nichtdeterministische Rauschquelle,
die ein analoges Rauschsignal liefert, und einen mit der nichtdeterministischen
Rauschquelle verbundenen Digitalisierer. Die nichtdeterministische Rauschquelle
garantiert, daß die
durch die digitalisierte Rauschquelle bereitgestellten Zufallszahlen tatsächlich unvorhersehbar
sein werden.
-
Vorzugsweise
basiert die nichtdeterministische Rauschquelle auf thermischem Rauschen
in einem Widerstand, einem Schrotrauschen in einem PN-Übergang
oder einem Zeit-Jitter in einem Oszillator. Diese Arten von nichtdeterministischen
Rauschquellen sind in einer integrierten Schaltungsumgebung leicht
zu implementieren und produzieren nahezu zufällige Signale.
-
Die
Erfindung wird nachfolgend nun ausführlicher an Hand von nicht
einschränkenden
Beispielen und mit Bezugnahme auf die beigefügten Zeichnungen beschrieben.
Es zeigen:
-
1 einen
Zufallszahlengenerator mit einer digitalisierten Rauschquelle und
einer Nachverarbeitungseinheit,
-
2 ein
Blockschaltbild einer Ausführungsform
eines Zufallszahlengenerators gemäß der Erfindung,
-
3 ein
Blockschaltbild einer Ausführungsform
einer Nachverarbeitungs- und Steuereinheit gemäß der Erfindung,
-
4 ein
Blockschaltbild einer Ausführungsform
einer Steuereinheit gemäß der Erfindung
und
-
5 ein
Impulsdiagramm für
die Steuereinheit der Ausführungsform
der Erfindung von 4.
-
Es
wird nun auf 2 verwiesen, worin ein Blockschaltbild
einer Ausführungsform
eines Zufallszahlengenerators gemäß der Erfindung gezeigt ist. Eine
digitalisierte Rauschquelle DN liefert einen Strom von Zufallsbit
RB, die in eine Nachverarbeitungseinheit P eingegeben werden. Die
Nachverarbeitungseinheit produziert ein Zufallswort RW und wird
mittels des Rücksetzsignals
RS durch die Steuereinheit C gesteuert. Die Steuereinheit C bekommt als
Eingabe das Zertifizierungsmodussignal CRF, das den Betriebsmodus
des Zufallszahlengenerators bestimmt.
-
In
einem ersten Betriebsmodus, dem sogenannten Normalmodus, produziert
der Zufallszahlengenerator einen Strom von Zufallswörtern RW ähnlich wie
vorbekannte Zufallszahlengeneratoren.
-
Der
zweite Betriebsmodus ist ein Zertifizierungsmodus, der dazu verwendet
wird, zu zertifizieren, daß die
Zufallswörter
RW nicht nur statistische Tests erfüllen, sondern auch unvorhersehbar
sind. Dieser Modus wird verwendet, um zu beweisen, daß der Zufallszahlengenerator
die Alternativkriterien P2.d) (vii) Typ 1 der oben erwähnten Richtlinie
der deutschen Zertifizierungsbehörde
erfüllt.
Wenn mittels des Zertifizierungsmodussignals CRF der Zertifizierungsmodus
gewählt
wird, setzt die Steuereinheit C die Nachverarbeitungseinheit P vor
der Erzeugung jedes neuen Zufallsworts RW mittels des Rücksetzsignals
RS zurück.
Da die Nachverarbeitungseinheit P jedesmal vor dem Start der Erzeugung
eines neuen Zufallsworts RW zurückgesetzt
wird, kann sich die Nachverarbeitungseinheit P selbst nicht wie
ein Pseudozufallszahlengenerator verhalten. Wenn die in P2.i) (vii)
gegebenen statistischen Tests für
die Zufallswörter
RW nur bestanden werden, muß dann folglich
der Grund dafür
die Entropie der digitalisierten Rauschquelle DN sein.
-
3 zeigt
eine Ausführungsform
des Zufallszahlengenerators gemäß der Erfindung,
wobei die Nachverarbeitungseinheit P auf einem Linear-Rückkopplungsschieberegister
(LFSR) basiert. Die Erfindung kann jedoch auch auf jede beliebige Art
von digitaler Nachverarbeitungseinrichtung angewandt werden.
-
Die
Nachverarbeitungseinheit P hat als Eingaben einen Strom von Zufallsbit
RB, ein Taktsignal CLK, ein Rücksetzsignal
RS und ein Freigabesignal EN und gibt ein N-Bit-Zufallswort RW aus.
Der Strom von Zufallsbit RB kann wie in 1 gezeigt
durch eine digitalisierte Rauschquelle DN bereitgestellt werden
und besteht aus einem Strom von Bit mit einem der Werte 0 und 1.
Die Zufallsbit RB besitzen eine geringe Entropie und werden mit
einer hohen Rate bereitgestellt. Sie dienen als Keime für die Nachverarbeitungseinheit
P. Die Nachverarbeitungseinheit P umfaßt ein N-Bit-Schieberegister R,
das mit einem Rückkopplungsnetzwerk
F und einem Exclusive-OR-Gatter X verbunden ist.
-
Das
Schieberegister R umfaßt
N Speicherelemente ME und kann als eine Kette von Flip-Flops aufgebaut
sein. Bei jedem Taktimpuls CLK werden die in allen Speicherelementen
ME gespeicherten Bit zu dem benachbarten Speicherelement ME nach rechts
geschoben und es wird ein neues ankommendes, durch das Exclusive-OR-Gatter X ausgegebene Bit
in dem äußersten
linken Speicherelement ME gespeichert. Das Schieberegister R schiebt
Bit nur dann, wenn ein High-Freigabesignal EN angelegt ist.
-
Die
Speicherelemente ME können
durch das Rücksetzsignal
RS auf vorbestimmte Werte zurückgesetzt
werden. Die in den Speicherelementen ME gespeicherten vorbestimmten
Werte können
alle denselben Wert aufweisen, zum Beispiel eine logische "0" oder "1".
Als Alternative können
die Speicherelemente ME auf Werte zurückgesetzt werden, die einem
Geheimschlüssel
oder einer Herstellungsidentifikationsnummer entsprechen. Die in
den N Speicherelementen ME gespeicherten Bit bilden zusammen ein
Wort der Länge
N, das als ein Zufallswort RW ausgegeben wird.
-
Das
Rückkopplungsnetzwerk
F verwendet in den Speicherelementen ME gespeicherte vorherige Werte
als Eingaben zur Berechnung eines Rückkopplungsbit FB. Die XOR-Summe
des Rückkopplungsbit
FB mit dem ankommenden Zufallsbit RB wird in dem Exclusive-OR-Gatter
X gebildet und als Eingabe für
das Schieberegister R verwendet. Gewöhnlich werden nicht alle in
den Speicherelementen ME gespeicherten Werte bei der Berechnung
des Rückkopplungsbit
FB verwendet, das mittels eines primitiven Rückkopplungspolynoms berechnet
werden kann. Das Polynom kann so gewählt werden, daß die Sequenz
von Rückkopplungsbit
FB die maximal mögliche
Länge aufweist,
bevor sie sich wiederholt, wenn immer dasselbe Zufallsbit RB eingegeben würde. Das
Rückkopplungsnetzwerk
F dient zur Vergrößerung der
Zufälligkeit
der in den Speicherelementen ME gespeicherten Bit, so daß ihre Wahrscheinlichkeiten
gleich verteilt werden.
-
Die
Steuereinheit C dient zur Steuerung des Schieberegisters R mittels
des Rücksetzsignals
RS und des Freigabesignals EN. Eingaben in die Steuereinheit C sind
das Taktsignal CLK, das Zertifizierungsmodussignal CRF, ein Laufmodussignal
RN und ein Komprimierungsfaktor CF. Das Laufsignal RN dient zum
Starten des Zufallszahlengenerators.
-
Im
Normalbetriebsmodus des Zufallszahlengenerators werden die Speicherelemente
ME des Schieberegisters R nicht vor der Erzeugung jedes Zufallsworts
RW auf vorbestimmte Werte gesetzt. Wenn das Freigabesignal EN an
das Schieberegister R angelegt ist, wird eine Anzahl M von Zufallsbit
RB nachverarbeitet, bevor ein Zufallswort RW ausgegeben wird. Die
Anzahl M der zu verarbeitenden Zufallsbit RB wird durch den in die
Steuereinheit C eingegebenen Komprimierungsfaktor CF bestimmt. Die Entropie
von M Zufallsbit RB wird somit gesammelt und zu einem N-Bit-Zufallswort
RW komprimiert. Der Normalbetriebsmodus wird durch Anlegen eines Low-Zertifizierungsmodussignals
CRF an die Steuereinheit C ausgewählt.
-
Im
Zertifizierungsmodus werden die Speicherelemente ME des Schieberegisters
R auf vorbestimmte Werte gesetzt, bevor die Erzeugung jedes Zufallswort
RW gestartet wird. Dann werden M Zufallsbit RB nachverarbeitet und
das resultierende Zufallswort RW wird gebildet. Die Zufallswörter RW
werden ausgegeben, gesammelt und gemäß den statistischen Tests in
P2.i) (vii) der Richtlinie der deutschen Zertifizierungsbehörde getestet.
Da das Rückkopplungsnetzwerk
F nach einem Rücksetzen
des Schieberegisters R immer mit denselben Werten startet, kann
die Nachverarbeitungseinheit P nicht als ein Pseudozufallszahlengenerator
arbeiten.
-
Der
Komprimierungsfaktor CF hängt
von der Größe N des
Zufallsworts RW und der Menge gewünschter Kompression ab. Wenn
zum Beispiel die Speicherelemente ME des Schieberegisters R vor dem
Ausgeben eines Zufallsworts RW der Länge N = 32 insgesamt viermal
gefüllt
werden, wäre
der Komprimierungsfaktor 4 × 32
= 128. Anders ausgedrückt werden
128 Zufallsbit RB verwendet, um ein 32-Bit-Zufallswort RW zu erzeugen.
Der Komprimierungsfaktor CF entspricht der Anzahl M der vor der Ausgabe
eines Zufallsworts RW nachverarbeiteten Zufallsbit RB.
-
4 zeigt
eine Ausführungsform
der Steuereinheit C mit einem Zähler
B, Logikgattern A1, A2 und einem Inverter I1. Der Zähler B wird
mit dem Komprimierungsfaktor CF vorgeladen, wenn das Ladesignal
LD an seinen Eingang angelegt wird. Der Komprimierungsfaktor CF
wird durch Verwendung von K Bitleitungen eingegeben. Bei einer Binärdarstellung
und einem Komprimierungsfaktor CF = 128 beträgt die Anzahl der Bitleitungen
K = 7.
-
Der
Zähler
B wird bei jedem Taktzyklus CLK dekrementiert. Solange der Zähler B nicht
M Taktzyklen CLK gezählt
hat, ist das Countdown-Signal CD low und wird durch den Inverter
I1 invertiert, um ein High-Freigabesignal
EN zu produzieren, das den Betrieb des Schieberegisters R erlaubt.
Nachdem der Zähler
B M Taktzyklen CLK gezählt
hat, ist das Countdown-Signal CD high, das Freigabesignal EN low
und das Ladesignal LD high.
-
Das
Ladesignal LD und das Zertifizierungsmodussignal CRF werden in das
AND-Gatter A1 eingegeben. Im Zertifizierungsmodus ist das Zertifizierungsmodussignal
CRF high, und zusammen mit dem High-Ladesignal LD wird ein Rücksetzsignal
RS zum Rücksetzen
des Schieberegisters R produziert. Im Normalbetriebsmodus ist das
Zertifizierungsmodussignal CRF low und es wird kein Rücksetzsignal RS
ausgegeben.
-
5 zeigt
ein Impulsdiagramm für
die Steuereinheit mit dem Taktsignal CLK, dem Laufsignal RN, den
Zählwerten
des Zählers
B, dem Freigabesignal EN, dem Rücksetzsignal
RS und dem Zertifizierungsmodussignal CRF. Wie aus dem Zertifizierungsmodussignal
CRF ersichtlich ist, zeigt die linke Seite des Impulsdiagramms den
Betrieb des Zufallszahlengenerators im Zertifizierungsmodus, während die
rechte Hälfte
des Diagramms den Normalbetriebsmodus zeigt. Es wird ein Taktsignal
CLK an die Steuereinheit C angelegt, und der Zähler B wird mit der Anzahl
M von Zufallsbit RB geladen, die zu einem Zufallswort RW zu komprimieren
sind, sobald das Laufsignal RN high ist. Während der Zähler B den Zählwert Null
nicht erreicht hat, ist das Freigabesignal EN high und das Rücksetzsignal
RS low. Sobald der Zähler
das Zählen
abgeschlossen hat, sind M Taktzyklen CLK gezählt worden, nimmt das Freigabesignal
EN einen Low-Zustand an und verhindert, daß das Schieberegister R Bit
verschiebt, während das
Rücksetzsignal
RS high ist und das Schieberegister R auf vorbestimmte Werte zurückgesetzt
wird. Im Gegensatz zum Zertifizierungsmodus wird im Normalmodus
kein High-Rücksetzsignal
RS ausgegeben und das Schieberegister wird nicht zurückgesetzt.
Als Ergebnis enthalten die in den Speicherzellen ME des Schieberegisters
R gespeicherten Werte auch die Entropie der vorherigen der Zufallswörter RW,
und ihre Entropie wird vergrößert.
-
Für Fachleute
ist ersichtlich, daß verschiedene
Modifikationen und Abwandlungen an dem Zufallszahlengenerator und
dem Verfahren zum Betreiben eines solchen Zufallszahlengenerators
der vorliegenden Erfindung vorgenommen werden können. Im Hinblick auf das obige
ist beabsichtigt, daß die vorliegende
Erfindung Modifikationen und Abwandlungen der vorliegenden Erfindung
abdeckt, solange sie in den Schutzumfang der folgenden Ansprüche fallen.
-
- A1,
A2
- AND-Gatter
- AN
- analoges
Rauschsignal
- B
- Zähler
- C
- Steuereinheit
- CD
- Countdown-Signal
- CF
- Komprimierungsfaktor
- CLK
- Taktsignal
- CRF
- Zertifizierungsmodussignal
- D
- Digitalisierer
- DN
- digitalisierte
Rauschquelle
- EN
- Freigabesignal
- F
- Rückkopplungsnetzwerk
- FB
- Rückkopplungsbit
- I1
- Inverter
- K
- Anzahl
der Bit für
Komprimierungsfaktor
- LD
- Ladesignal
- M
- Anzahl
der komprimierten Zufallsbit RB
- ME
- Speicherelement
- N
- Anz.
der Bit in dem Zufallswort RW und Schieberegister R
- NN
- nichtdeterministische
Rauschquelle
- P
- Nachverarbeitungseinheit
- R
- Schieberegister
- RB
- Zufallsbit
- RN
- Laufsignal
- RS
- Rücksetzsignal
- RW
- Zufallswort
- X
- Exclusive-OR-Gatter