PatentDe  


Dokumentenidentifikation DE602004005959T2 20.12.2007
EP-Veröffentlichungsnummer 0001562291
Titel Vorrichtung zum Erzeugen einer Zufalls-Bitfolge
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Luzzi, Raimondo, 8020 Graz, AT;
Bucci, Marco, 8010 Graz, AT;
Bock, Holger, 8020 Graz, AT;
Drexel, Werner, 8081 Heiligen Krenz, AT
DE-Aktenzeichen 602004005959
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 04.02.2004
EP-Aktenzeichen 040024846
EP-Offenlegungsdatum 10.08.2005
EP date of grant 18.04.2007
Veröffentlichungstag im Patentblatt 20.12.2007
IPC-Hauptklasse H03K 3/84(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse G06F 7/58(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Liefern eines Zufallsbitstroms und insbesondere auf eine Vorrichtung, die auf Jitter-basierter Oszillatorabtastung basiert.

Symmetrische und asymmetrische Verschlüsselungsalgorithmen erfordern eine Verfügbarkeit einer qualitativ hochwertigen Zufallszahlquelle für Schlüsselerzeugung. Zufallszahlen werden auch verwendet zum Erzeugen von Herausforderungen in Authentifizierungsprotokollen, zum Erzeugen von Auffüllbytes und Ausblendwerten für Zufallsmaskierung.

Selbst wenn Pseudozufallszahlengeneratoren (PRNG; PRNG = pseudo random number generator) basierend auf kryptographischen sicheren deterministischen Algorithmen für diese Zwecke verwendet werden können, wird eine physikalische Quelle von wahrer Zufälligkeit benötigt zur Algorithmus-Startwerteinstellung. Zu diesem Zweck muss ein kryptographisches Token, wie z.B. eine Chipkarte, auch einen wahren Zufallsgenerator (RNG; RNG = Zufallszahlengenerator) unter seinen Peripheriegeräten aufweisen.

Das Hauptmerkmal einer qualitativ hochwertigen Zufallsquelle ist die Unvorhersagbarkeit des erzeugten Bitstroms. Ein Beobachter oder sogar ein Angreifer darf nicht in der Lage sein, eine sinnvolle Vorhersage über die Ausgabe des wahren RNG auszuführen, selbst wenn der Entwurf des RNG bekannt ist.

Ein wahrer RNG erzeugt einen Zufallsbitstrom von einer nicht-deterministischen natürlichen Quelle, wie einem elektronischen Rauschen oder einem radioaktiven Zerfall. In der Tat sind bei einer integrierten Implementierung elektronische Rauschquellen, wie thermisches oder Schrotrauschen die einzigen stochaischen Prozesse, die ausgenutzt werden können.

Gemäß dem Stand der Technik können drei unterschiedliche Techniken zum Erzeugen von Zufallsbitströmen betrachtet werden: Direktverstärkung einer Rauschquelle, Jitter-basierte Oszillatorabtastung und zeitdiskrete chaotische Abbildungen.

Die erste Technik, eine direkte Verstärkung einer Rauschquelle nutzt eine Verstärkung einer Quelle von weißem Rauschen, das normalerweise thermisches Rauschen von einem integrierten Widerstand oder ein Schrotrauschen von aktiven Vorrichtungen ist. Ein Hochleistungsverstärker ist erforderlich, um ein Rauschsignal zu erhalten, dessen Amplitude groß genug ist für weiter Verarbeitung, wie einen Vergleich mit einer Spannungsreferenz und Abtastung. Das Hauptproblem beim Entwurf eines verstärkungsbasierten RNG ist eine Versatzspannung nach dem Rauschverstärker. Ein Versatz, der sehr viel kleiner ist als eine Rauschstandardabweichung, wird benötigt, um einen qualitativ hochwertigen Zufallsbitstrom zu erhalten. Eine Rauschverstärkerbandbreite ist auch ein Thema, falls eine schnelle Abtastfrequenz erforderlich ist. Ein weiterer Nachteil ist das Vorliegen einer internen Störung von einer Leistungsversorgung, einem Substrat oder einer Kreuzkopplung, und einer externen Störung, deren Leistungsebene höher sein kann als der Zufallsrauschpegel an dem Verstärkereingang, falls keine ordnungsgemäßen Entwurfstechniken verwendet werden. Als Folge können periodische Strukturen in die Ausgabe des wahren RNG gezwungen werden, die somit seine statistische Qualität und Unvorhersagbarkeit beeinträchtigen. Periodische Strukturen sind ein Hauptproblem bei einer Chipkarten-Implementierung eines RNG, da keine adäquate externe Abschirmung nutzbar ist und der RNG auf einem allgemeinen Siliziumsubstrat nahe zu rauschbehafteten digitalen Schaltungen integriert ist. Um das Versatzproblem zu adressieren, wird bei W. T. Holman, J. A. Connelly und A. B. Downlatabadi, „An integrated analog/digital random noise source", IEEE Trans. Circuits and Syst. I, Band 44, Nr. 6, Seiten 521–528, Juni 1997, ein einfaches Tiefpassfilter verwendet, um die Versatzspannung an dem Verstärkerausgang aufzuheben. Die vorgeschlagene Lösung erfordert eine Chipfläche, die zu groß ist und darüber hinaus wird der Komparatorversatz nicht ausreichend entfernt. In M. Bucci, L. Germani, R. Luzzi, P. Tommasino, A. Trifiletti, M. Varanonuovo, "A high speed truly IC random number source for Smart Card microcontrollers", Proc. 9th IEEE International Conf. on Electronics, Circuits and Systems (ICECS 2002), Seiten 239–242, Sept. 2002, und M. Bucci, L. Germani, R. Luzzi, P. Tommasino, A. Trifiletti, M. Varanonuovo, „A high speed IC random number source for Smart Card microcontrollers", IEEE Trans. Circuits and Syst. I, Band 50, Nr. 11, Seiten 1.377–1.380, Nov. 2003, wird ein verstärkungsbasierter wahrer RNG beschrieben, der ein genaues Versatz-Nullpunkteinstellung-System aufweist, ohne externe Komponenten und große Kondensatoren zu verwenden.

Ein wahrer RNG, der auf der zweiten Technik basiert, der Jitter-basierten Oszillatorabtastung, umfasst grundsätzlich zwei freilaufende Oszillatoren und ein Abtastelement, wie ein einzelnes D-Typ-Flip-Flop. Ein Ausgangssignal von einem langsameren der beiden Oszillatoren tastet eine Ausgabe des schnelleren der beiden Oszillatoren ab und erzeugt somit einen Bitstrom. Die resultierende Bitsequenz leitet sich von der Oszillatormittelfrequenzverhältnis und deren Zyklus-zu-Zyklus-Jitter ab. Ordnungsgemäß gewählte Frequenzverhältnisse führen zu Bitströmen, die zufälliger erscheinen, wenn statistische Zufallstests angewendet werden. Trotzdem liegt die Ausgangsbitentropie daran, dass der Jitter des Oszillators die einzige Zufallsquelle in einem solchen System ist. Falls das Abtastsignal des schnellen Oszillators einen unsymmetrischen Mittelwert aufweist, gibt dies wiederum Anlass zu einem unsymmetrischen Mittelwert auf dem Ausgangsbitstrom oder zu einem Anstieg in seiner Bit-zu-Bit-Korrelation gemäß dem angenommenen Abtastelement. Dies ist jedoch nicht der Hauptnachteil, den es zu berücksichtigen gilt. Darüber hinaus können periodische Störungen wie ein Systemtakt den Abtastoszillator synchronisieren, und somit seinen Jitter dramatisch reduzieren. In M. Bucci, L. Germani, R. Luzzi, A. Trifiletti, M. Varanonuovo, "A high-speed oscillator-based truly random number source for Cryptographic Applications on a Smart Card IC", IEEE Trans. Computers, Band 52, Nr. 4, Seiten 403–490, April 2003, wird ein oszillatorbasierter wahrer RNG beschrieben, wo der Abtastoszillator eine verstärkte Rauschquelle innerhalb aufweist und somit ein sehr hohes Jitter-zu-Mittelperiodenverhältnis von etwa 10 % erreicht. Dies erhöht die Zufallsbitstromqualität auf Kosten eines Anstiegs bei den Flächen- und Leistungsanforderungen.

1 zeigt eine schematische Ansicht eines gejitterten Oszillatorabtast-basierten RNG gemäß dem Stand der Technik. Eine RNG-Quelle 100 umfasst einen Hochfrequenzoszillator 102, einen Niederfrequenzoszillator 104, einen Vorskalierer 106 und einen Abtaster 108. Der Abtaster 108 ist ein D-Flip-Flop. Der Hochfrequenzoszillator 102 erzeugt ein schnelles Taktsignal 110, das ein Dateneingangssignal in den Abtaster 108 ist. Der Niederfrequenzoszillator 104 erzeugt ein langsames Taktsignal 112, das durch den Vorskalierer 106 vorskaliert wird. Der Vorskalierer 106 gibt ein Abtastsignal 114 aus, das ein Eingangssignal in einen Takteingang des Abtasters 108 ist. Der Abtaster 108 tastet das schnelle Taktsignal 110 auf einer ansteigenden Flanke des Abtastsignals 114 ab und gibt ein Zufallsbit 116 aus, das von einem Abtastzustand des schnellen Taktsignals 110 abhängt, während dasselbe abgetastet wird. Hier sind aufeinanderfolgende Zufallbits 116 eine Eingabe in einen digitalen Post-Prozessor 120, der einen Zufallsbitstrom 122 ausgibt.

2 zeigt Charakteristika des schnellen Taktsignals 110, des langsamen Taktsignals 112 und des Abtastsignals 114, wie sie in 1 gezeigt sind, Das schnelle Taktsignal 110weist eine Periode TFAST und ein Tastverhältnis d auf. Das langsame Taktsignal 112 weist eine Periode TSLOW auf. Flanken des langsamen Taktsignals 112 umfassen einen Jitter. Das Abtastsignal 114 wird von dem langsamen Taktsignal 112 erzeugt, durch Vorskalieren des Abtastsignals 112 um einen Faktor, der in dem Vorskalierer definiert ist. Hier wird das langsame Taktsignal 112 um einen Faktor von 4 vorskaliert. Während das Abtastsignal 114 von dem langsamen Taktsignal 112 erzeugt wird, umfasst die Flanke des Abtastsignals 114 ebenfalls einen Jitter. Eine Periode des Abtastsignals 114 ist TSAMPLE und eine Standardabweichung des Jitters des Abtastsignals 114 ist &sgr; (TSAMPLE) • Flanken des Abtastsignals 114 und des schnellen Taktsignals 110 sind nicht synchronisiert. Hier tritt die Flanke des schnellen Taktsignals 110 um eine Zeitperiode t0 später auf als die Flanke des Abtastsignals 114. Frequenzschwebung der beiden freilaufenden Oszillatoren 102, 104 (in 1 gezeigt) erzeugt ein nicht-weißes Rauschsignal. Dies ist insbesondere ein Problem bei einem standardzellenbasierten RNG, wo der Jitter typischerweise eine geringe Intensität aufweist. Darüber hinaus wird ein unsymmetrischer Zufallsbitstrom 122 erhalten, falls das Tastverhältnis d des schnellen Taktsignals 110 unsymmetrisch ist. Ein relativer Jitter bezüglich des schnellen Taktsignals ist hilfreich.

Die letzte erwähnte Technik nutzt basierend auf zeitdiskreten chaotischen Abbildungen eine Abtastung eines chaotischen Systems, um eine Zufallsbitsequenz zu erzeugen. Nicht-lineare oder stückweise lineare Systeme können ein chaotisches Verhalten zeigen, unter ordnungsgemäßen Bedingungen für ihre internen Parameter. Unter chaotischen Bedingungen führen zwei beliebig nahe Anfangszustände zu zwei vollständig unterschiedlichen Systementwicklungen. Daher sind die Quellen der Zufälligkeit der Fehler oder das Rauschen über der Messung des Anfangszustands und der Rauschbeitrag während den Zustandsübergängen. Wenn ein chaotisches System in einem physikalischen Gerät implementiert wird, bewirken Umgebungs- und Prozessschwankungen leider Parameterschwankungen, die das System zwingen können, sein chaotisches Verhalten zu verlassen und sich somit gemäß einer periodischen Bahn zu entwickeln. Verweise auf chaos-basierte wahre RNGs finden sich in T. Stojanovski and L. Kocarev, „Chaos-based random number generators – Part I: Analysis", IEEE Trans. Circuits and Syst. I, Band 48, Nr. 3, Seiten 281–288, März 2001, und T. Stojanovski, J. Pihl, und L. Kocarev, „Chaos-based random number generators – Part II: Practical realization", IEEE Trans. Circuits and Syst. I, Band 48, Nr. 3, Seiten 382–385, März 2001.

Da verschiedene Techniken verschiedene Vorteile aufweisen zum Erhöhen der Qualität der Gesamtquelle, wird in C. S. Petrie, J. A. Connelly, „A noise-based IC random number generator for applications in cryptography", IEEE Trans. Circuits and Systems I, Band 47, Nr. 5, Seiten 615–621, Mai 2000, ein wahrer RNG präsentiert, der eine Mischung der drei oben erwähnten RNG-Techniken annimmt. Eine Quelle, die gegenüber deterministischen Störungen ziemlich widerstandsfähig ist, wird erreicht, selbst wenn es aufgrund des Mischens der unterschiedlichen Techniken schwierig ist, ein statistisches Modell für das System zu liefern, das es ermöglicht, seinen Betrieb zu zertifizieren. Eine effektivere Lösung, ein Nachverarbeiten des gesamten Bitstroms von der Quelle mit einem sorgfältig entworfenen Korrektur- oder Dekorrelationsalgorithmus, der auch eine gewisse Komprimierung aufweist, kann verwendet werden. Ein langsamerer Bitstrom mit erhöhter statistischer Qualität wird von einem Hochgeschwindigkeits-Beinahezufallseingabestrom erzeugt, durch Auswählen der Entropieabschnitte desselben.

Aus dem Obigen folgt, dass jede Zufallsquelle, selbst wenn sie gut entworfen ist, einen Bitstrom erzeugt, der normalerweise einen bestimmten Korrelationspegel anzeigt, unter anderem aufgrund von Bandbreitenbegrenzung, Herstellungstoleranzen, Alterung und Temperaturschwankungen oder deterministischen Störungen.

Die US-B-6,631,390 zeigt einen Zufallszahlgenerator, der einen Taktoszillator zum Liefern eines Taktsignals und ein Dividieren-Durch-Zwei-Flip-Flops zum Liefern eines Eingangssignals umfasst. Das Taktsignal und das Eingangssignal sind über Verzögerungen mit einem Flip-Flop verbunden. Aufgrund einer metastabilen Operation des Flip-Flops werden Zufallszahlen erzeugt. Die Verzögerungen können eingestellt werden, um die Anzahl von Fehlern zu erhöhen.

„Design on an On-Shift Random Number Generator using Meta-Stability" by D. J. Kinninent beschreibt einen Zufallszahlgenerator, der ein geschaltetes Kondensatornetzwerk umfasst, das sicherstellt, dass eine bistabile Vorrichtung anfangs an einem meta-stabilen Punkt gehalten wird. Eine Rückkopplungsschleife ist vorgesehen, die die Ausgangsspannung mittelt, um sicherzustellen, dass sich der Ausgang 50 % von hohen und 50 % von niedrigen Werten nähert.

Die WO-A-03081417 offenbart einen Zufallszahlgenerator, der eine Geschlossene-Schleife-Inverterkette, eine Verarbeitungsvorrichtung zum Verarbeiten eines Signals zwischen zwei aufeinanderfolgenden Inverterketten der Inverter, die in Reihe geschaltet sind, und eine Ausgabevorrichtung umfasst zum Ausgeben einer Zufallszahl. Durch spezifisches Beeinflussen der Geschlossene-Schleife-Inverterkette ist die Gefahr einer periodischen Abtastung durch die Ausgabevorrichtung reduziert.

Es ist die Aufgabe der vorliegenden Erfindung, eine Vorrichtung zum Liefern eines qualitativ hochwertigen Zufallsbitstroms zu schaffen. Diese Aufgabe wird durch eine Vorrichtung zum Liefern eines Zufallsbitstroms gemäß Anspruch 1 gelöst.

Die vorliegende Erfindung basiert auf der Erkenntnis, dass eine Synchronisation der Abtastflanke des Abtastsignals zu einer Flanke des abgetasteten Taktsignals eine Erzeugung eines qualitativ hochwertigen Zufallsbitstroms ermöglicht, Gemäß der erfindungsgemäßen Anordnung werden das Taktsignal und das Abtastsignal synchronisiert durch die Einrichtung zum Aktivieren der Einrichtung zum Liefern des Taktsignals und der Einrichtung zum Liefern des Abtastsignals. Dies ermöglicht es, einen qualitativ hochwertigen Zufallsbitstrom zu erhalten, selbst wenn die Einrichtung zum Liefern eines Taktsignals und die Einrichtung zum Liefern eines Abtastsignals einen sehr geringen Jitterpegel aufweisen. Darüber hinaus kann das gesamte System in einem vollständig digitalen Entwurf implementiert werden. Dies ermöglicht eine leichtere integrierte Implementierung. Eine solche Implementierung kann vorteilhafterweise für eine Chipkartensteuerung verwendet werden. Der erfindungsgemäße Lösungsansatz ermöglicht ferner das Liefern eines synchronisierten Zufallsbitstroms durch Synchronisieren der Einrichtung zum Aktivieren mit einem Systemtakt. Dies ermöglicht das Kompensieren jeglicher Störungen des Systemtakts.

Da die erfindungsgemäße Vorrichtung zum Liefern eines Zufallsbitstroms implementiert werden kann unter Verwendung von nur digitalen Gattern, die in jeden Standardzellenbibliotheken verfügbar sind, ohne eine analoge Schaltung zu benötigen, werden eine kürzere Entwurfszeit, höhere Erträge und eine höhere Übertragbarkeit auf unterschiedliche Technologien erreicht.

Gemäß einem bevorzugten Ausführungsbeispiel umfassen die Einrichtung zum Liefern eines Taktsignals und die Einrichtung zum Liefern eines Abtastsignals einen digitalen Ringoszillator und die Einrichtung für die Synchronisation umfasst eine Verzögerungsleitung, die beide durch Verwenden digitaler Gatter implementierbar sind.

Gemäß einem weiteren bevorzugten Ausführungsbeispiel wird die Ausrichtung der Abtastflanke des Abtastsignals mit der Flanke des Taktsignals eingestellt durch eine Rückkopplungsschleife und Verzögerungsleitungen. Dies ermöglicht es, einen symmetrischen Zufallsbitstrom zu liefern, selbst wenn das Abtastsignal mit Bezugnahme auf das Taktsignal einen geringen Jitter aufweist. Ferner ermöglicht die Rückkopplungsschleife eine Kompensation jeder Asymmetrie zwischen den Signalwegen des Taktsignals und des Abtastsignals. Da die Abtastung um eine Flanke des Taktsignals ausgeführt wird, beeinträchtigt ein unsymmetrisches Tastverhältnis des Taktsignals nicht die Symmetrierung des gelieferten Zufallsbitstroms. Ein weiterer Vorteil der vorgeschlagenen Erfindung basiert auf der Einrichtung zum Deaktivieren der Einrichtung zum Liefern eines Taktsignals und der Einrichtung zum Liefern eines Abtastsignals nach dem Erzeugen eines Zufallsbits, was garantiert, dass es in dem gelieferten Zufallsbitstrom keinen Übergang gibt, aufgrund einer Schwebung des Taktsignals und des Abtastsignals. Dies wiederum ermöglicht die Verwendung einer Übergangszählung als einfachen Laufzeittest, um die Qualität des Zufallsbitstroms zu erfassen, wie es vorgeschlagen ist in V. Bagini and M. Bucci, „A design of a reliable true random number generator for cryptographic applications", Proc. Workshop on Cryptographic Hardware Embedded Systems (CHES 99), Lecture Notes in Computer Science 1717, Springer-Verlag, Heidelberg, Germany, 1999, Seiten 204–218 und in E. Trichina, M. Bucci, D. De Seta, und R. Luzzi, „Supplemental cryptographic hardware for Smart Cards", IEEE Micro, Band 21, Nr. 6, Seiten 26–35, Nov. 2001, und in NIST FIPS 140-2, Security requirements for cryptographic modules", Mai 2001.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden hierin nachfolgend mit Bezugnahme auf die angehängten Zeichnungen beschrieben.

1 zeigt eine Zufallszahlgeneratorquelle gemäß dem Stand der Technik;

2 zeigt eine Charakteristik von Signalen der Zufallszahlgeneratorquelle gemäß dem Stand der Technik;

3 zeigt eine schematische Ansicht einer Vorrichtung zum Liefern eines Zufallbitstroms gemäß der vorliegenden Erfindung;

4 zeigt eine Charakteristik von Signalen der Vorrichtung zum Liefern eines Zufallbitstroms gemäß der vorliegenden Erfindung;

5 zeigt eine schematische Ansicht einer Vorrichtung zum Liefern eines Zufallbitstroms gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung;

6 zeigt eine schematische Ansicht einer Vorrichtung zum Liefern eines Zufallbitstroms gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; und

7 zeigt eine schematische Ansicht eines Zufallszahlgenerators basierend auf einer Vorrichtung zum Liefern eines Zufallbitstroms gemäß der vorliegenden Erfindung.

3 zeigt eine schematische Ansicht eines bevorzugten Ausführungsbeispiels eines wahren Zufallszahlgenerators, basierend auf einer Vorrichtung 300 zum Liefern eines Zufallsbitstroms gemäß der vorliegenden Erfindung. Die Vorrichtung 300 zum Liefern eines Zufallsbitstroms umfasst eine Einrichtung 302 zum Liefern eines Taktsignals, eine Einrichtung 306 zum Liefern eines Abtastsignals und eine Einrichtung 308 zum Abtasten. Die Einrichtung 302 zum Liefern eines Taktsignals erzeugt ein schnelles Taktsignal 310, das mit der Einrichtung 308 zum Abtasten verbunden ist. Die Einrichtung 306 zum Liefern eines Abtastsignals erzeugt ein Abtastsignal 314, das mit der Einrichtung 308 zum Abtasten verbunden ist. Ansprechend auf das Abtastsignal 314 tastet die Einrichtung 308 zum Abtasten das schnelle Taktsignal 310 ab und gibt ein Zufallsbit 316 aus, abhängig von dem Abtastergebnis. Aufeinanderfolgende Zufallsbits 316 bilden einen Zufallsbitstrom.

Der gezeigte Zufallszahlgenerator umfasst ferner eine Einrichtung 322 zum Aktivieren, eine Einrichtung 328 zum Deaktivieren und eine Einrichtung 330 zum Bestimmen eines Mittelwerts. Die Einrichtung 322 zum Aktivieren steuert die Einrichtung 302 zum Liefern eines Taktsignals und die Einrichtung 306 zum Liefern eines Abtastsignals. Die Einrichtung 322 zum Aktivieren gibt ein Startsignal 340 und dann ein Freigabesignal 342 aus. Das Startsignal 340 ist mit der Einrichtung 306 zum Liefern eines Abtastsignals verbunden, und das Freigabesignal 342 ist mit der Einrichtung 302 zum Liefern eines Taktsignals verbunden. Die Einrichtung 302, 306 startet das Erzeugen des schnellen Taktsignals 310 und des Abtastsignals 314 ansprechend auf das Freigabesignal 342 und das Startsignal 340. Die Einrichtung 302 zum Liefern eines Taktsignals und die Einrichtung 306 zum Liefern eines Abtastsignals werden durch die Einrichtung 328 zum Deaktivieren deaktiviert. Daher ist die Einrichtung 328 zum Deaktivieren mit dem Abtastsignal 314 verbunden. Ansprechend auf das Abtastsignal 314 erzeugt die Einrichtung 328 zum Deaktivieren ein Stoppsignal 346, das mit der Einrichtung 302, 306 verbunden ist. Ansprechend auf das Stoppsignal 346 stoppen die Einrichtung 302, 306 das Erzeugen des schnellen Taktsignals 310 und des Abtastsignals 314.

Gemäß einem weiteren Ausführungsbeispiel können das Startsignal 340 und das Freigabesignal 342 eingestellt werden. Daher ist die Einrichtung 330 zum Bestimmen eines Mittelwerts mit dem Zufallsbitstrom 316 verbunden. Die Einrichtung 330 zum Bestimmen eines Mittelwerts bestimmt einen Mittelwert von aufeinanderfolgenden Zufallbits 316. Die Einrichtung 330 gibt ein Steuersignal 348 aus, das die Einrichtung 322 zum Aktivieren einstellt, abhängig von dem bestimmten Mittelwert von aufeinanderfolgenden Zufallbits 316.

4 zeigt Charakteristika des Startsignals 340, des schnellen Taktsignals 310 und des Abtastsignals 314, wie dieselben in 3 gezeigt sind, und eines Fertig-Signals, wie es in 5 bis 7 gezeigt ist. Wie es von 4 ersichtlich ist, spricht das Abtastsignal 314 auf das Startsignal 314 an. Das Abtastsignal 314 weist eine Zeitperiode von TSAMPLE auf. Nach einer halben Zeitperiode TSAMPLE/2 tritt eine Abtastflanke 470 auf. Die Abtastflanke 470, die eine erste ansteigende Flanke des Abtastsignals 314 ist, ist mit einer Flanke 472 des schnellen Taktsignals 310 ausgerichtet, die periodisch zwischen einem ersten Zustand und einem zweiten Zustand schaltet. Die Ausrichtung der Abtastflanke 470 und der Flanke 472 des schnellen Taktsignals 310 wird durch eine Verzögerungszeit 474 erreicht. Die Verzögerungszeit 472 wird durch die Einrichtung 322 zum Aktivieren (in 3 gezeigt) gesteuert, und ist die Zeit, die die Einrichtung 302 zum Liefern eines Taktsignals aktiviert ist, nach der Einrichtung 306 zum Verarbeiten eines Abtastsignals. Somit wird eine Ausrichtung der Flanken 470, 472 erreicht.

Die Ausrichtung der Abtastflanke 470 und der Flanke 472 des Taktsignals vermeidet Frequenzschwebung und maximiert die Zufallsbitstromdatenqualität, insbesondere beim Vorliegen eines Niedrig-Jitter-behafteten Abtasttaktsignals. Außerdem beeinträchtigt ein unsymmetrisches Tastverhältnis d eine Symmetrierung des erzeugten Zufallsbitstroms 316 (in 3 gezeigt) nicht. Das Fertig-Signal 417 wird ansprechend auf die Abtastflanke 470 aktiviert und zeigt eine Erzeugung eines Zufallsbits 316 an.

5 zeigt ein weiteres bevorzugtes Ausführungsbeispiel einer Vorrichtung zum Liefern eines Zufallsbitstroms. Die Vorrichtung 500 zum Liefern eines Zufallbitstroms umfasst eine Einrichtung zum Liefern eines Taktsignals, das durch einen Hochfrequenzringoszillator 502 gebildet wird, eine Einrichtung zum Liefern eines Abtastsignals, das durch einen Niederfrequenzringoszillator 504 und einen konfigurierbaren Vorskalierer 506 gebildet wird, eine Einrichtung zum Abtasten, die durch ein Abtastelement oder einen Abtaster 508 gebildet wird. Der Hochfrequenzoszillator 502 erzeugt ein schnelles Taktsignal 510, wie das schnelle Taktsignal 310, das in 4 gezeigt ist. Das schnelle Taktsignal 510 ist mit dem Abtaster 508 verbunden. Der Niederfrequenzoszillator 510 erzeugt ein langsames Taktsignal 512, wie das in 2 gezeigte langsame Taktsignal 112. Das langsame Taktsignal 512 ist mit dem Vorskalierer 506 verbunden. Der Vorskalierer 506 skaliert das Niedrigtaktsignal 512 vor und gibt ein Abtastsignal 514 aus, wie das in 4 gezeigte Abtastsignal 314. Das Abtastsignal 514 ist mit dem Abtaster 508 verbunden. Der Abtaster 508 tastet das schnelle Taktsignal 510 ansprechend auf die Abtastflanke des Abtastsignals 514 ab. Entsprechend einem Abtastergebnis gibt der Abtaster 508 ein Zufallsbit 516 und ein Fertigsignal 517 aus. Das Fertigsignal 517 zeigt eine Erzeugung eines neuen Zufallsbits 516 an und wird verwendet, um die Oszillatoren 502, 504 zu deaktivieren. Die Vorrichtung 500 umfasst ferner eine Einrichtung 524 zum Verzögern eines Startsignals 540 und zum Ausgeben eines Freigabesignals 542. Die Einrichtung 524 zum Verzögern ist Teil der Einrichtung 322 zum Aktivieren, wie es in 3 gezeigt ist. Das Startsignal 540 aktiviert den Niederfrequenzoszillator 504. Das Freigabesignal 542 aktiviert den Hochfrequenzoszillator 502. Die Einrichtung 524 zum Verzögern verzögert das Startsignal 540 um eine Verzögerungszeit, wie es in 4 gezeigt ist, und richtet somit die Abtastflanke und eine Flanke des schnellen Taktsignals 510 aus. Die Einrichtung 524 zum Verzögern spricht auf ein Steuersignal 548 an.

Das Steuersignal 548 ist Teil einer Rückkopplungsschleife, wie es in 3 gezeigt ist, zum Synchronisieren der Abtastflanke des Abtastsignals mit einer Flanke des schnellen Taktsignals. Als Folge wird der Zufallsbitstrom, der aus aufeinanderfolgenden Zufallbits 516 gebildet ist, symmetrisch, selbst wenn der Niederfrequenzoszillator 504 und der Vorskalierer 506 bezüglich einer Periode des schnellen Taktsignals 510 einen niedrigen Jitter aufweisen.

Ein Vorskalierungsfaktor des Vorskalierers 506 kann eingestellt werden, um die Standardabweichung &sgr;' (TSAMPLE) des Jitters der Abtastflanke einzustellen.

6 zeigt eine schematische Ansicht eines weiteren Ausführungsbeispiels einer Vorrichtung 600 zum Liefern eines Zufallsbitstroms. Die Elemente, die bereits in 5 gezeigt und beschrieben wurden, sind mit den gleichen Bezugszeichen bezeichnet und hierin nachfolgend nicht beschrieben. Bei diesem Ausführungsbeispiel umfasst der Niederfrequenzringoszillator 504 einen Niederfrequenzringoszillator 604 und ein lineares Rückkopplungsschieberegister 605 (LFSR; LFSR = linear feedback shift register). Der Niederfrequenzringoszillator 604 und das LFSR 605 sind mit dem Startsignal 540 verbunden. Für das LFSR 605 ist das Startsignal 540 ein Rücksetzsignal. Das LFSR 605 ist mit dem langsamen Taktsignal 512 verbunden und getaktet. Das LFSR 605 ist mit dem Niederfrequenzringoszillator 604 verbunden, um eine mittlere Periode des Niederfrequenzringoszillators 604 zu stören.

Die Einrichtung 524 zum Verzögern des Startsignals 514 umfasst eine erste Verzögerungsleitung 624 und eine zweite Verzögerungsleitung 625. Die erste Verzögerungsleitung 624 ist eine Grobverzögerungsleitung und die zweite Verzögerungsleitung 625 ist eine Feinverzögerungsleitung. Um die beiden Verzögerungsleitungen 624, 625 einzustellen, umfasst das Steuersignal 548, wie es in 5 gezeigt ist, ein Grobsteuersignal 648 und ein Feinsteuersignal 649.

In diesem Ausführungsbeispiel ist eine Einrichtung zum Deaktivieren durch ein Stoppsignal 646 gebildet. Das Stoppsignal 646 ist gleich dem Abtastsignal 514 und ist mit dem Hochfrequenzoszillator 502 und dem Niederfrequenzoszillator 604 verbunden. Um die Abtastflanke des Abtastsignals 514 und eine Flanke des schnellen Taktsignals 510 zu synchronisieren, werden die Oszillatoren 502, 604 nach jedem Abtastschritt angehalten und erneut gestartet, gemäß einem externen Befehl, der durch das Startsignal 540 geliefert wird. Der schnelle Ringoszillator 502 beginnt nach einer Verzögerungszeit bezüglich des Niederfrequenzringoszillators. Wie es in 3 beschrieben ist, kann die Verzögerungszeit eingestellt werden durch eine Rückkopplungsschleife gemäß einem Mittelwert des Zufallsbits 516 des Ausgangsstroms und erhöht dadurch eine Flankensynchronisation. Die Verzögerungszeit wird durch die Grobverzögerungsleitung 624 eingestellt, die durch das Grobsteuersignal 648 gesteuert wird, und die Feinverzögerungsleitung 625, die durch das Feinsteuersignal 649 gesteuert wird. Die einstellbare Einrichtung 524 zum Verzögern ist mit zwei unterschiedlich gekörnten Verzögerungsleitungen 624, 625 implementiert, um die Übergangsantwort der Rückkopplungsschleife zu beschleunigen. Die Rückkopplungsschleife kompensiert jede Asymmetrie zwischen dem Signalweg des schnellen Taktsignals 510 und dem Signalweg des langsamen Taktsignals 512 und des Abtastsignals 514 von dem Startsignal 540 zu dem Abtaster 508, einschließlich Drahtausbreitungsverzögerungszeiten und einer Abtastereinrichtungszeit.

Um eine Synchronisation des Niederfrequenzoszillators 604 mit einer periodischen Störung zu vermeiden, wird ein Pseudozufalls-Verwürfen der mittleren Periode des langsamen Taktsignals 512 verwendet. Daher umfasst der Niederfrequenzoszillator 504 das LFSR 605, um ein Pseudozufalls-Verwürfen zu implementieren und dadurch eine Synchronisation mit einer periodischen Störung zu vermeiden. Am Anfang eines neuen Erzeugungszyklusses beginnt das LFSR 605 ansprechend auf das Startsignal 540 erneut von seinem Rücksetzwert. Somit wird die gleiche Pseudozufallssequenz jedes Mal wiederholt, wenn die Vorrichtung 600 damit beginnt, ein neues Zufallsbit 516 zu erzeugen. Als eine Folge liegt nach dem Vorskalierer 506 eine Schwankung bei der Periode des Abtastsignals 514 an einem Jitter des Niederfrequenzoszillators 604 selbst, und keine Pseudozufallsmodulation ist sichtbar, wodurch das Synchronisationsproblem adressiert wird, ohne eine künstliche Pseudozufälligkeit in den Zufallsbitstrom 516 einzuführen.

Bei den oben beschriebenen Ausführungsbeispielen werden die Niederfrequenzoszillatoren auf der abfallenden Flanke eines Anfangspulses des Startsignals aktiviert, und die schnellen Oszillatoren werden nach einer Verzögerung aktiviert, die durch eine Rückkopplungsschleife eingestellt wird. Nach einer Abtastung des Taktsignals auf einer ersten ansteigenden Flanke des Abtastsignals wird ein Fertigpuls erzeugt, beide Oszillatoren werden angehalten und ein neuer Zyklus kann wieder beginnen. Alternativ zu dem Fertigsignal werden die Oszillatoren mit dem Abtastsignal verbunden und durch die Abtastflanke deaktiviert. Da der Anfangspuls synchron ist mit dem Systemtakt, ist anzumerken, dass, die Zufallsbiterzeugung ebenfalls synchron sein wird. Als Folge ist jede Störung von dem Takt während jedes Erzeugungszyklus gleich, und wird durch die Rückkopplungsschleife kompensiert. Es ist klar, dass die beschriebenen Signale bezüglich Tastverhältnissen und Übergängen unterschiedliche Charakteristika aufweisen können.

7 zeigt eine Architektur oberer Ebene eines wahren Zufallszahlgenerators, der die vorgeschlagene Vorrichtung 600 zum Liefern einer Zufallsbitquelle verwendet, wie es in 6 gezeigt ist. Der wahre Zufallszahlgenerator umfasst vier Hauptfunktionsblöcke, einschließlich der Vorrichtung 600 zum Liefern eines Zufallsbitstroms, einer Steuerung oberer Ebene (RNGP-CTRL) 750, einer Verzögerungsleitungssteuerung 752 und eines Nachverarbeitungsregisters 754. Das Nachverarbeitungsregister 754 ist mit dem Zufallsbitstrom 516 verbunden, der durch aufeinanderfolgende Zufallbits gebildet ist, die durch die Vorrichtung 600 und das Fertig-Signal 517 erzeugt werden, und gibt ein 32-Bit-breites Zufallsbitausgabewort 760 aus. Die Verzögerungsleitungssteuerung 752 ist mit dem Zufallsbitstrom 560 und dem Fertig-Signal 517 verbunden und erzeugt das Grobsteuersignal 648 und das Feinsteuersignal 649. Die Steuerung oberer Ebene 750 ist mit dem Fertig-Signal 517, dem Zufallsbitstrom 516 und dem Ausgangssignal 760 verbunden. Darüber hinaus gibt die Steuerung oberer Ebene 750 ein Anforderungssignal 762 ein und gibt ein Bestätigungssignal 764, ein Warnsignal 766 und ein Fehlersignal 768 aus.

Wenn eine Anforderung für ein neues Zufallswort 760 über das Anforderungssignal 762 empfangen wird, werden Zufallsbits 516 durch die Vorrichtung 600 erzeugt und durch das Nachverarbeitungsregister 754 verarbeitet. Die Steuerung oberer Ebene 750 steuert die Erzeugung von Zufallsbits 516 durch das Startsignal 540, bis eine gewünschte Übergangszahl auf dem Zufallsbitstrom 516 erreicht ist. Dann wird das Bestätigungssignal 764 erhöht, oder falls nach einem maximalen Komprimierungsverhältnis zu wenige Übergänge erfasst werden, wird das Warnsignal 766 aktiviert. Daher wird ein Komprimierungsverhältnis des Zufallsbitstroms dynamisch geändert, gemäß einer statistischen Qualität des Zufallsbitstroms 516. Eine solche adaptive Nachverarbeitung des Zufallsbitstroms 516 ist ein weiterer Vorteil der vorgeschlagenen Vorrichtung 600 zum Liefern eines Zufallsbitstroms.

Bei den obigen Ausführungsbeispielen kann eine Kette von Invertern oder eine Kette von Puffern anstatt einer Verzögerungsleitung verwendet werden. Gemäß einem weiteren Ausführungsbeispiel ist die zweite Einrichtung angeordnet, um bezüglich einer Abtastfrequenz steuerbar zu sein, so dass ein Kompromiss zwischen einem Durchsatz und einer Zufallszahlqualität erhalten werden kann. Dies ermöglicht es, die Vorrichtung zum Liefern eines Zufallsbitstroms an unterschiedliche Anwendungen anzupassen.

100
Zufallszahlgeneratorquelle
102
Hochfrequenzoszillator
104
Vorskalierer
108
Abtaster
110
schnelles Taktsignal
112
langsames Taktsignal
114
Abtastsignal
116
Zufallsbitsignal
120
digitaler Nachverarbeiter
122
Zufallsbitstrom
300
Vorrichtung zum Liefern eines Zufallsbitstroms
302
Einrichtung zum Liefern eines Taktsignals
306
Einrichtung zum Liefern eines Abtastsignals
308
Einrichtung zum Abtasten
310
schnelles Taktsignal
314
Abtastsignal
316
Zufallsbit
322
Einrichtung zum Aktivieren
328
Einrichtung zum Deaktivieren
330
Einrichtung zum Bestimmen eines Mittelwerts
340
Startsignal
342
Freigabesignal
346
Stoppsignal
348
Steuersignal
417
Fertigsignal
470
Abtastflanke
472
Flanke des schnellen Taktsignals
474
Verzögerungszeit
500
Vorrichtung zum Liefern eines Zufallsbitstroms
502
Hochfrequenzoszillator
504
Niederfrequenzoszillator
506
Vorskalierer
508
Abtaster
510
schnelles Taktsignal
512
langsames Taktsignal
514
Abtastsignal
516
Zufallsbit
517
Fertigsignal
524
Einrichtung zum Verzögern
540
Startsignal
548
Steuersignal
600
Vorrichtung zum Liefern eines Zufallsbitsignals
604
Niederfrequenzoszillator
605
lineares Rückkopplungsschieberegister
624
Grobverzögerungsleitung
625
Feinverzögerungsleitung
646
Stoppsignal
648
Grobsteuersignal
649
Feinsteuersignal
750
Steuerung
752
Verzögerungsleitungssteuerung
754
Nachverarbeitungsregister
760
Zufallswort
762
Anforderungssignal
764
Bestätigungssignal
766
Warnsignal
768
Fehlersignal


Anspruch[de]
Vorrichtung zum Liefern eines Zufallsbitstroms, die folgende Merkmale umfasst:

eine erste Einrichtung (302; 502) zum Liefern eines Taktsignals (310; 510), wobei das Taktsignal regelmäßig zwischen einem ersten Zustand und einem zweiten Zustand schaltet;

eine zweite Einrichtung (306; 504, 506) zum Liefern eines Abtastsignals (314; 514), wobei das Abtastsignal eine Abtastflanke (470) umfasst;

eine dritte Einrichtung (322; 540) zum Aktivieren der ersten und zweiten Einrichtung, so dass die Abtastflanke mit einer Flanke (472) des Taktsignals ausgerichtet ist;

eine vierte Einrichtung (308; 508) zum Abtasten des Taktsignals ansprechend auf die Abtastflanke des Abtastsignals, und zum Erzeugen eines Zufallsbits (316; 516) abhängig von dem abgetasteten Zustand des Taktsignals;

eine fünfte Einrichtung (328; 646) zum Deaktivieren der ersten und zweiten Einrichtung ansprechend auf die Abtastflanke; und

eine sechste Einrichtung (330; 752) zum Bestimmen eines Mittelwerts von aufeinander folgenden Zufallsbits (316) und zum Liefern eines Steuersignals (348; 548; 648, 649) abhängig von dem Mittelwert,

wobei die dritte Einrichtung (322) eine Verzögerungsleitung (524) umfasst, zum Verzögern eines Startsignals (540) zum Aktivieren der ersten Einrichtung (502) um eine Verzögerungszeit (474), wobei die Verzögerungszeit auf das Steuersignal (548) anspricht, und wobei die Verzögerungszeit konfiguriert ist zum Einstellen der Ausrichtung der Abtastflanke (470) mit der Flanke (472) des Taktsignals (310), und

wobei aufeinander folgende Zufallsbits einen Zufallsbitstrom bilden.
Vorrichtung gemäß Anspruch 1, bei der die erste Einrichtung ein erster Oszillator (502) ist. Vorrichtung gemäß einem der Ansprüche 1 oder 2, bei der die zweite Einrichtung einen zweiten Oszillator (504) umfasst, zum Erzeugen eines weiteren Taktsignals (512), und einen Vorskalierer (506) zum Vorskalieren des weiteren Taktsignals und zum Erzeugen des Abtastsignals (514). Vorrichtung gemäß einem der Ansprüche 1 bis 3, bei der die Abtastflanke (470) des Abtastsignals (514) zittert und eine Jitterstandardabweichung &sgr;' (TSAMPLE) der Abtastflanke kleiner ist als eine Periode (TFAST) des Taktsignals (510). Vorrichtung gemäß einem der Ansprüche 3 oder 4, bei der der zweite Oszillator (504) eine siebte Einrichtung (605) zum Verwürfeln einer mittleren Periode des weiteren Taktsignals (512) umfasst. Vorrichtung gemäß einem der Ansprüche 1 bis 5, die ferner eine Einrichtung (750, 754) zum Nachverarbeiten des Zufallsbitstroms und zum Erzeugen eines Warnsignals (766) umfasst, abhängig von einer statistischen Qualität des Zufallsbitstroms (560). Vorrichtung gemäß einem der Ansprüche 3 bis 6, bei der der erste und der zweite Oszillator (502, 504) Ringoszillatoren sind. Vorrichtung gemäß einem der Ansprüche 1 bis 7, die in digitalen Gattern implementiert ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com