-
Die vorliegende Erfindung betrifft
eine Schaltung und ein Verfahren zur Erzeugung von Zufallszahlen.
-
Insbesondere betrifft die Erfindung
eine Schaltung und ein Verfahren zur Erzeugung von Zufallszahlen,
bei der insbesondere eine mit Rauschen behaftete Quelle bzw. ein
Hardware-Rauschgenerator
und ein Pseudozufallszahlengenerator eingesetzt werden.
-
Das Anwendungsgebiet der Erfindung
ist im Wesentlichen das Gebiet der Kryptologie. Die Kryptologie
ist definiert als die Wissenschaft der Verschleierung von Informationen.
Sie stellt zusammen mit der physischen Sicherheit der Bauteile und
der Betriebssysteme die wesentliche Maßnahme für die Sicherheit von Chipkarten
dar. Die Kryptologie umfasst die Kryptographie, d. h. das Gebiet
des Chiffrierens und Dechiffrierens von Nachrichten, und die Kryptoanalyse,
wobei es sich um das Gebiet der Durchbrechung von Geheimcodes handelt.
-
Die Erzeugung von Zufallszahlen ist
eines der wesentliche Werkzeuge der Kryptologie.
-
Die Erzeugung von Zufallszahlen kann
beispielsweise bei bestimmten kryptographischen Protokollen auftreten.
Bei bestimmten Kryptographie-Algorithmen wird die Verwendung von
digitalen Daten benötigt,
die in Worte aus mehreren Bits regruppiert sind. Es kann auch der
Fall eintreten, daß die
Anzahl der repräsentativen
Bits der zu kodierenden Daten nicht ausreichend ist, um eine durch
einen Kryptographie-Algorithmus verwertbare Anzahl zu bilden. Es ist
somit notwendig, zusätzliche
Bits zu erzeugen, die aus Gründen
der Sicherheit in zufälliger
Weise erzeugt werden.
-
Eine andere Anwendung einer Erzeugung von
Zufallszahlen ist die Verwendung eines zufällig bestimmten analogen Wertes
als eine in zufälliger Weise
erzeugte Zahl. Die Signale, die von der Außenseite eines elektronischen
Bauteils beobachtet werden können,
können
gestört
werden. Beispielsweise sind bei Chipkarten die elektrischen Signale auf
verschiedenen Bussen beim Laden eines geheimen Schlüssels in
die Register der Chipkarte zugänglich.
Ein geheimer Schlüssel
einer Chipkarte ist eine Gesamtheit von Parametern, die das Geheimnis ei nes
kryptogaphischen Algorithmus enthalten. Die elektrischen Signale
können
das Geheimnis des Schlüssels
verraten.
-
Die Verwendung eines zufälligen analogen Wertes
im Inneren der Chipkarte läßt es zu,
die Sichtbarkeit bestimmter vertraulicher Informationen zu maskieren,
insbesondere die Informationen, die in Beziehung zu den Schlüsseln einer
Chipkarte stehen.
-
Als letztes Anwendungsbeispiel einer
Schaltung zur Erzeugung von Zufallszahlen sei der Fall einer elektronischen
Schaltung angegeben, deren Charakteristika getestet werden müssen. Dafür ist es notwendig
am Eingang der Schaltung eine Gruppe von Eingangsparametern vorzusehen,
die in vollkommen zufälliger
Weise über
den gesamten Betriebsbereich der Schaltung erzeugt sind. Damit ist
es möglich
sicherzustellen, daß die
fragliche elektronische Schaltung keine ausschließlich auf
bestimmte erwartete Eingansparameter optimierte Betriebsweise hat.
-
Die Schaltung und das Verfahren zur
Erzeugung von Zufallszahlen können
bei den oben dargestellten Anwendungen eingesetzt werden, wie auch bei
jeder anderen Anwendung, bei der die Erzeugung von Zufallszahlen
notwendig ist.
-
In den meisten Fällen befinden sich die Hardware-Rauschgeneratoren
am Ausgangspunkt der Erzeugung der Zufallszahlen. Diese Hardware-Rauschgeneratoren
sind also in ein elektronisches System, wie beispielsweise eine
Chipkarte, integriert. Das elektronische System weist zumindest
eine Zentraleinheit auf, die eine Gesamtheit von Operationen erzeugt.
Die Rauschgeneratoren können
insbesondere eines oder mehrere Verschieberegister umfassen, die
entweder mit einer festen Frequenz, die von der Betriebsfrequenz
der Zentraleinheit verschieden ist, oder mit einer variablen Frequenz
abgetastet werden.
-
Die Bits werden somit in mehr oder
weniger zufälliger
Weise und zur Bildung von Bytes häufig in Achterguppen erzeugt.
Die erzeugten Bytes, die Zahlen assimiliert sind, können von
Schaltungen, die durch die Zentraleinheit gesteuert werden, verwendet
werden. In derartiger Weise erzeugte Zahlen müssen, in Abhängigkeit
von den kryptogaphischen Anforderungen, eine bestimmte Anzahl grundlegender
Eigenschaften empirischer Tests. erfüllen. Diese Tests können Aufteilungstests,
Gleichteilungstests, Tests von ansteigenden oder fallenden Reihen
von erzeugten Zahlen sein.
-
Es kommt vor, daß die Hardware-Rauschgeneratoren
nicht ausreichend leistungsfähig
sind, um auf die Gesamtheit dieser Tests zu reagieren. Beispielsweise
ist es möglich,
daß aus
Gründen
der verwendeten Hardware, insbesondere auf Grund des Vorhandenseins
eines Taktgebers, der die Gesamtheit der durch die Zentraleinheit
erzeugten Operationen taktet, bestimmte Bit-Sequenzen niemals oder nur
selten am Ausgang des Hardware-Rauschgenerators
auftreten. Wenn bezüglich
der Wahrscheinlichkeit ein Ereignis der Erzeugung einer Zufallszahl
entspricht, gibt es somit keine Gleichwahrscheinlichkeit für die Gesamtheit
der möglichen
Ereignisse.
-
Die verwendeten Hardware-Rauschgeneratoren
sind, wie es dargestellt wurde, in den häufigsten Fällen für bestimmte statistische Eigenschaften, welchen
Generatoren von Zufallszahlen genügen müssen, um auf dem Gebiet der
Kryptographie ausreichend leistungsfähig zu sein, unzureichend.
-
Ein Beispiel ist in dem Artikel mit
dem Titel "Random
numbers produced via a technique employing both a white noise generator
and the data encryption algorithm", der im IBM Technical disclosure Bulletin,
Vol. 34, No. 7B, Dezember 1991, Seiten 316–318 erschienen ist, angegeben.
-
Die vorliegende Erfindung hat die
Aufgabe die vorstehend beschriebenen Probleme zu lösen. Zu
diesem Zweck schlägt
die Erfindung eine Schaltung zur Erzeugung von Zufallszahlen vor,
die einen Hardware-Rauschgenerator verwendet und die eine Zufallszahl
in digitaler Form erzeugt, deren statistische Eigenschaften ausreichend
gut sind, um in zufriedenstellender Weise in der Kryptographie verwendet
zu werden.
-
Um diese Aufgabe zu lösen, schlägt die Erfindung
die Verwendung eines Pseudozufallszahlengenerators vor, dem an seinem
Eingang ein numerisches Signal zugeführt wird, das einer durch den Pseudozufallszahlengenerator
zuvor ausgesandten Zahl entspricht, wobei dieses Signal durch die
Einwirkung eines numerischen Signals, das von dem Hardware-Rauschgenerator ausgesandt
wurde, modifiziert ist. Die erfindungsgemäße Schaltung nutzt somit die
Tatsache aus, daß die
statistischen Eigenschaften am Ausgang eines geeigneten Pseudozufallszahlengenerators
sehr zufriedenstellend sind.
-
Andererseits stellt die Tatsache,
daß ein Hardware-Rauschgenerator
die perfekt bestimmte Sequenz eines Pseudozufallszahlengenerators
stört, den
unvorhersagbaren Charakter der von der erfindungsgemäßen Schaltung
ausgegebenen Zahl sicher.
-
Die Erfindung betrifft somit eine
Schaltung zur Erzeugung von Zufallszahlen, um ausgehend von einer
mit Rauschen behafteten Quelle bzw. einem Hardware-Rauschgenerator
eine Zufallszahl in binärer
Form zu erzeugen, die dadurch gekennzeichnet ist, daß die Schaltung
umfasst:
-
- – Einen
Logikschaltkreis, der an einem ersten Eingang digitale Eingangssignale
erhält,
die von dem Hardware-Rauschgenerator ausgegeben werden, und der
ein digitales Zwischensignal erzeugt, das eine Gleichverteilung
der Null-Bits und der Eins-Bits umfasst;
- – Einen
Pseudozufallszahlengenerator, der das digitale Zwischensignal empfängt, das
von dem Logikschaltkreis ausgegeben wird;
- – Eine
Speichereinheit, die ein digitales Ausgangssignal empfängt, das
von dem Pseudozufallszahlengenerator ausgegeben wird, und ein digitales
Rücksignal
an einen zweiten Eingang des Logikschaltkreises liefert;
- – Eine
Ausgangschnittstelle, welche das digitale Ausgangssignal empfängt, das
von dem Pseudozufallszahlengenerator ausgegeben wird.
-
Gemäß einer speziellen Ausführungsform der
erfindungsgemäßen Schaltung
ist der Logikschaltkreis ein Exklusiv-ODER-Gatter mit zwei Eingängen.
-
Gemäß anderen Ausführungsformen
der erfindungsgemäßen Schaltung
ist der Pseudozufallszahlengenerator ein Generator zur Erzeugung
von Zufallszahlen mit linearer Kongruenz oder mit inverser Kongruenz.
-
Gemäß einer anderen speziellen
Ausführungsform
der erfindungsgemäßen Schaltung
ist der Hardware-Rauschgenerator durch eine Anzahl von Schieberegistern
gebildet, die ausreichen, um ein digitales Eingangssignal zu liefern,
das in seiner Größe an den
Pseudozufallszahlengenerator angepaßt ist.
-
Eine weitere Aufgabe der Erfindung
ist es, ein Verfahren zur Erzeugung von Zufallszahlen vorzuschlagen,
um eine Zufallszahl in binärer
Form zu erzeugen, das besteht aus:
-
- – Erzeugen
von digitalen Einganssignalen ausgehend von einem Hardware-Rauschgenerator an einem
Eingang eines Logikschaltkreises, dadurch gekennzeichnet, daß es die
folgenden weiteren Verfahrensschritte umfasst:
- – Erzeugen
eines digitalen Ausgangssignals, das einer Zufallszahl entspricht,
am Ausgang eines Pseudozufallszahlengenerators ausgehend von einem
ersten digitalen Eingangssignal;
- – Speichern
des digitalen Ausgangssignals in einer Speichereinheit;
- – Mit
Hilfe des Logikschaltkreises und bei jeder Erzeugung eines neuen
digitalen Eingangssignals, Kombinieren des neuen digitalen Eingangssignals
und eines Rücksignals,
welches dem Inhalt der Speichereinheit entspricht, um ein digitales
Zwischensignal zu erzeugen, das eine Gleichverteilung der Null-Bits
und der Eins-Bits umfasst;
- – Übertragen
des digitalen Zwischensignals, das von dem Logikschaltkreis ausgegeben
wird, an den Pseudozufallszahlengenerator;
- – Erzeugen
eines digitalen Ausgangssignals am Ausgang des Pseudozufallszahlengenerators.
-
Die verschiedenen Aspekte und Vorteile
der Erfindung werden im Verlauf der Beschreibung mit Bezugnahme
auf die Figur, die nur beispielhaft und in keiner Weise für die Erfindung,
wie sie beansprucht wurde, beschränkend ist, klarer erscheinen.
-
Die einzige Figur zeigt ein Blockschema
der Schaltung zur Erzeugung von Zufallszahlen gemäß der Erfindung.
-
In dieser Figur liefert ein Hardware-Rauschgenerator 1 digitale
Eingangssignale Se. Die digitalen Eingangssignale
Se werden zu einem ersten Eingang E1 einer Logikschaltung 2 übertragen.
Die Logikschaltung 2 gibt an einem Ausgang S1 ein numerisches
Zwischensignal S; aus. Ein Pseudozufallszahlengenerator 3 empfängt als
Eingangssignal das digitale Zwischensignal Si,
das von der Logikschaltung 2 ausgegeben wird. Der Pseudozufallszahlengenerator 3 liefert
ein digitales Ausgangssignal Ss. Das digitale
Ausgangssignal Ss wird gleichzeitig zu einer Ausgangsschnittstelle 4 und
einer Speichereinheit 5 übertragen. Die Speichereinheit 5 ist
mit einem zweiten Eingang E2 der Logikschaltung 2 verbunden. Die
Speichereinheit 5 kann somit ein digitales Rücksignal
ST zur Logikschaltung 2 übertragen.
-
Das Funktionsprinzip der erfindungsgemäßen Schaltung
ist wie folgt: Der Hardware-Rauschgenerator
sendet die digitalen Einganssignale Se zu
verschiedenen Zeitpunkten. Das Zeitintervall, das zwischen der Erzeugung
von zwei digitalen Eingangssignalen durch den Hardware-Rauschgenerator 1 verstreicht,
ist nicht notwendigerweise konstant. Diese Erzeugung eines digitalen
Signals entspricht der Aussendung einer bestimmten Anzahl von Bits
gemäß dem zuvor
dargelegten Prinzip durch den Hardware-Rauschgenerator. Im häufigsten
Fall werden die Bits in Gruppen von acht Bits oder von sechzehn Bits
erzeugt, so daß sie
dem am Eingang des Pseudozufallszahlengenerators akzeptierten Signalformat entsprechen.
-
Jedes erzeugte digitale Eingangssignal
wird zum ersten Eingang E1 der Logikschaltung 2 übertragen.
Gleichzeitig wird der Inhalt der Speichereinheit 5 zum
zweiten Eingang E2 der Logikschaltung 2 übertragen.
Wenn im Speicher 5 zum Zeitpunkt der Ankunft eines digitalen
Eingangssignals am ersten Eingang der Logikschaltung 2 kein
Datum verfügbar ist, überträgt die Logikschaltung 2 ein
digitales Zwischensignal, das dem digitalen Eingangssignal ähnlich ist.
Dieser Fall kann beispielsweise während der Erzeugung einer ersten
Zufallszahl auftreten.
-
Es kann jedoch vorkommen, daß während der
Erzeugung einer ersten Zufallszahl die Speichereinheit 5 nicht
leer ist und ein Rücksignal
zur Logikschaltung 2 überträgt, wobei
sie sich des Inhalts ihres Speichers entledigt.
-
Gemäß einer anderen Ausführungsform
der Erfindung überträgt die Speichereinheit
die Informationen, die sie enthält,
in Form des digitalen Rücksignals
Sr zur Logikschaltung 2, wenn der
Speicher ein neues Ausgangssignal Ss empfängt. Das digitale Eingangssignal
und im vorliegenden Fall das digitale Rücksignal werden in der Logikschaltung 2 kombiniert.
-
In allen Fällen wird der Inhalt der Speichereinheit
nach dem Empfang eines neuen digitalen Ausgangssignals, das vom
Pseudozufallszahlengenerator ausgegeben wird, gelöscht.
-
Bei einer bevorzugten Anwendung der
Erfindung wird die Logikschaltung 2 aus einem einzigen logischen
Exklusiv-ODER-Gatter mit zwei Eingängen gebildet. Die Wahl eines
einfachen logischen Exlusiv-ODER-Gatters läßt sich mit der Einfachheit
einer Implementierung eines solchen logischen Gatters und mit der
Wahrheitstabelle eines solchen logischen Gatters erklären.
-
Tatsächlich weist ein logisches
Exklusiv-ODER-Gatter mit zwei Eingängen an seinem Ausgang eine
Gleichverteilung der Null-Bits und der Eins-Bits auf, wenn die Gesamtheit
der möglichen Kombination
der Eingangssignale herangezogen wird. Diese Gleichverteilung wird
weder mit einem "UND"-Gatter noch mit
einem "ODER"-Gatter beobachtet.
-
Jedoch kann der Fall auftreten, daß die Logikschaltung 2 aus
mehreren elementaren logischen Gattern gebildet ist, um eine komplexe
Logikschaltung zu bilden, um die statistischen Eigenschaften der
digitalen Zwischensignale in dem Fall zu verbessern, in dem die
digitalen Eingangssignale bezüglich der
Gleichwahrscheinlichkeit statistisch nicht zufriedenstellend sind.
-
Die digitalen Zwischensignale werden
zum Pseudozufallszahlengenerator 3 übertragen. Es existieren verschiedene
Typen verwendeter Pseudozufallszahlengeneratoren, deren statistische
Eigenschaften vollkommen bekannt sind.
-
Der erfindungsgemäße Schaltkreis zur Erzeugung
von Zufallszahlen verwendet bei einer bevorzugten Anwendung einen
Pseudozufallszahlengenerator mit linearer Kongruenz. Ein derartiger Pseudozufallszahlengenerator
ist zwischen seinem Ausgangssignal und seinem Ein- gangssignal durch eine
Beziehung der folgenden Form gekennzeichnet: xn+l =
a.xn+b (mod c), wobei xn+l den
letzten Wert des Ausgangssignals darstellt, der vom vorhergehenden Wert
des Ausgangssignals xn abhängig ist.
-
Die Wahl der Koeffizienten a, b und
c hängt von
den statistischen Eigenschaften ab, die man am Ausgang des Pseudozufallszahlengenerators
beobachten möchte.
Das Verfahren ihrer Bestimmung ist bekannt und wird hier nicht erläutert.
-
Gemäß einer weiteren Anwendung
der Erfindung kann ein Pseudozufallszahlengenerator der Bauart mit
inverser Kongruenz verwendet werden. Ein derartiger Pseudozufallszahlengenerator
ist bekannt und wird hier nicht weiter im Einzelnen betrachtet.
-
Im Allgemeinen kann jeder Pseudozufallszahlengenerator
in dem erfindungsgemäßen Schaltkreis
verwendet werden, der bezüglich
der Gleichwahrscheinlichkeit, der ansteigenden Sequenz, abfallenden
Sequenz und bezüglich
der Verteilung über die
Gesamtheit der möglichen
Werte zufriedenstellende statistische Eigenschaften aufweist.
-
Ein Pseudozufallszahlengenerator
ist jedoch nicht ausreichend, um Reihen von unvorhersagbaren Zahlen
zu erzeugen. Tatsächlich
ist es allein mit der Kenntnis bestimmter Werte, die von dem Zufallszahlengenerator
ausgegeben werden, möglich,
die mathematische Funktion des Zufallszahlengenerators zu charakterisieren.
Somit ist es beispielsweise im Fall eines Pseudozufallszahlengenerators
des Typs mit linearer Kongruenz bei Kenntnis von drei Ausgangswerten
möglich,
die Koeffizienten a, b und c, die zuvor genannt wurden, zu bestimmen.
Die durch den Zufallszahlengenerator erzeugten nachfolgenden Werte
sind somit vollkommen vorhersagbar, und dies ist umso einfacher,
da ein Zufallszahlengenerator zwingend zyklisch ist. Somit ist die
Qualität
des Schutzes eines Schaltkreises reduziert, wenn sie mit der Unvorhersagbarkeitseigenschaft
eines Parameters in Beziehung steht. Bei der Erfindung ermöglicht die
Schleifenverbindung des Schaltkreises durch die Speichereinheit 5 die
Wiedereinführung
des digitalen Ausgangssignals, was somit sicherstellt, daß die statistischen
Eigenschaften des Zufallszahlengenerators bewahrt bleiben.
-
Unter einem anderen Blickwinkel betrachtet, stellt
die Einbeziehung des Hardware-Rauschgenerators
eine Unterbrechung der am Eingang und somit am Ausgang des Pseudozufallszahlengenerators vorhersehbaren
Sequenz sicher. Die Kombination des Hardware-Rauschgenerators und des Pseudozufallszahlengenerators,
wie sie bei der Erfindung bewirkt wird, ermöglicht es somit, die günstigen
statistischen Eigenschaften des Pseudozufallszahlengenerators zu
verwenden, wobei gleichzeitig seine Eingangswerte wesentlich modifiziert
werden, um das Ergebnis unvorhersehbar zu machen.
-
Bei einer Abwandlung der Erfindung
ist es möglich,
daß der
Hardware-Rauschgenerator während
einer bestimmten Zeit keine digitalen Eingangssignale aussendet.
In diesem Fall, der zufällig
oder vollkommen gesteuert sein kann, verhält sich der Teil der Schaltung,
der aus dem Pseudozufallszahlengenerator 3, der Speichereinheit 5,
der Logikschaltung 2 und der Ausgangsschnittstelle 4 gebildet
ist, wie ein klassischer Pseudozufallszahlengenerator.
-
Wie es zuvor erläutert wurde, kann der Hardware-Rauschgenerator
ein Verschieberegister sein, das mit einer Frequenz abgetastet wird,
die der Frequenz der Zentraleinheit, die den gesamten betreffenden
Schaltkreis verwaltet, nicht entspricht.
-
Es kann auch der Fall sein, daß beispielsweise
in dem Fall, in dem der Pseudozufallszahlengenerator eine beträchtliche
Anzahl von Bits an seinem Eingang erfordert, mehrere Verschieberegister
verbunden sind, um das numerische Eingangssignal zu erzeugen. Ein
in der Größe, bezüglich der
Anzahl von Bits angepaßtes
digitales Eingangssignal wird somit zum Pseudozufallszahlengenerator
geliefert. Jedes Verschieberegister wird somit wie ein elementarer Hardware-Rauschgenerator
betrachtet. Die Verbindung dieser Verschieberegister kann darüber hinaus in
der Weise bewirkt werden, daß die
Gleichwahrscheinlichkeit der Werte, die der Gesamt-Hardware-Rauschgenerator
erzeugt, leicht verbessert wird.