DE102008057907B4 - Steuerung eines Pseudozufallszahlengenerators und einer Verbraucherschaltung, die mit demselben gekoppelt ist - Google Patents

Steuerung eines Pseudozufallszahlengenerators und einer Verbraucherschaltung, die mit demselben gekoppelt ist Download PDF

Info

Publication number
DE102008057907B4
DE102008057907B4 DE102008057907.6A DE102008057907A DE102008057907B4 DE 102008057907 B4 DE102008057907 B4 DE 102008057907B4 DE 102008057907 A DE102008057907 A DE 102008057907A DE 102008057907 B4 DE102008057907 B4 DE 102008057907B4
Authority
DE
Germany
Prior art keywords
random number
pseudo
number generator
output signal
quality
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102008057907.6A
Other languages
English (en)
Other versions
DE102008057907A1 (de
Inventor
Stefan Rüping
Rainer Göttfert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102008057907A1 publication Critical patent/DE102008057907A1/de
Application granted granted Critical
Publication of DE102008057907B4 publication Critical patent/DE102008057907B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Ein System umfasst einen Pseudozufallszahlengenerator, eine Steuerschaltung, die konfiguriert ist, um eine Qualität eines Pseudozufallszahlenausgangssignals des Pseudozufallszahlengenerators zu erhöhen, durch Koppeln des Pseudozufallszahlengenerators mit einem Echte-Zufallszahlen-Ausgangssignal eines Echte-Zufallszahlen-Generators, und eine Verbraucherschaltung, die konfiguriert ist, um das Pseudozufallszahlenausgangssignal vor und nach der Erhöhung zu verwenden.

Description

  • Die vorliegende Erfindung bezieht sich auf das Steuern eines Pseudozufallszahlengenerators und eine Verbraucherschaltung, die mit demselben gekoppelt ist.
  • Pseudozufallszahlengeneratoren (PRNG; PRNG = pseudo random number generator) geben eine Sequenz von Pseudozufallszahlen aus, deren Qualität von der Menge an echter Zufälligkeit und/oder der Menge an echten Zufallszahlendaten abhängt, die in den Pseudozahlengenerator eingegeben werden. Anders ausgedrückt, es ist notwendig, ausreichend echte Zufallszahlendaten in den Pseudozufallszahlengenerator einzugeben, um Pseudozufallszahlen der erforderlichen Qualität zu erhalten. Ein echter Zufallszahlengenerator (TRNG; TRNG = true random number generator) kann verwendet werden, um die echten Zufallszahlendaten zu erzeugen.
  • Die US 2002/0156819 A1 beschreibt einen TNRG bzw. eine TNRG-Schaltung mit einem LFSR, das als Kompressor fungiert, der ständig dazu da ist, eingangsseitig von der Rauschquelle erhaltene Bits in wenige zu komprimieren, um die echten Zufallszahlen zu erhalten.
  • Die US 2007/0140485 A1 befasst sich mit der laufenden Verbesserung einer PRNG-Sequenz durch laufende Einmischung von Zufallsbits eines TRNG in das LFSR des PRNG.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein System, eine Vorrichtung und ein Verfahren zum Steuern eines Pseudozufallszahlengenerators und einer Verbraucherschaltung, die mit demselben gekoppelt ist, sowie ein Computerprogramm und ein computerlesbares Medium mit verbesserten Charakteristika zu schaffen, so dass ein PRNG-Ausgangssignal effektiver genutzt werden kann.
  • Diese Aufgabe wird durch ein System gemäß Anspruch 1, eine Vorrichtung gemäß Anspruch 7, ein Verfahren gemäß Anspruch 11, ein Computerprogramm gemäß Anspruch 15 sowie ein computerlesbares Medium gemäß Anspruch 16 gelöst.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1a und 1b Diagramme, die die Qualität des Pseudozufallszahlenausgangssignals über der Zeit für unterschiedliche Startparametereinstellungsszenarien aufzeigen;
  • 2 ein Blockdiagramm einer Schaltungsanordnung, die einen Pseudozufallszahlengenerator umfasst, der gemäß einem Ausführungsbeispiel gesteuert wird;
  • 3 ein Blockdiagramm einer Verbraucherschaltung von 2 gemäß einem Ausführungsbeispiel;
  • 4 ein Flussdiagramm zum Darstellen einer Funktionsweise der Steuerung von 3 gemäß einem Ausführungsbeispiel;
  • 5a und 5b schematisch Startparametereinstellungsszenarien mit unterschiedlicher Zeitgebung, die möglicherweise mit der Schaltungsanordnung von 2 verwendet werden;
  • 6 ein Blockdiagramm eines Ausführungsbeispiels für den Echte-Zufallszahlen-Generator von 2;
  • 7 ein Blockdiagramm eines Ausführungsbeispiels für den Pseudozufallszahlengenerator von 2; und
  • 8 ein Blockdiagramm eines Ausführungsbeispiels für das Rückkopplungsschieberegister von 7 gemäß einem Ausführungsbeispiel.
  • Innerhalb der Figuren sind gleiche Elemente oder Elemente mit gleicher Funktionalität durch gleiche oder ähnliche Bezugszeichen angezeigt, und Beschreibungen bezüglich der dargestellten Elemente, die sich auf die vorhergehenden Figuren beziehen, werden bei der Beschreibung von nachfolgenden Figuren nicht wiederholt.
  • 1a und 1b zeigen unterschiedliche Möglichkeiten der Startparametereinstellung (seeding) eines Pseudozufallszahlengenerators. In dem Fall von 1a wird der Startparameter des Pseudozufallszahlengenerators beispielhaft eingestellt mit 24 Bits echter Zufallszahlendaten, bis zu einem Zeitpunkt t0. Von diesem Zeitpunkt an nimmt die Qualität des Pseudozufallszahlenausgangssignals des Pseudozufallszahlengenerators einen Wert von Q0 an. Beispielsweise findet die Startparametereinstellung mit den 24 Echte-Zufallszahlen-Bits fortlaufend statt während einer Zeitperiode von aufeinanderfolgenden Taktzyklen des Pseudozufallszahlengenerators, wobei die Zeitperiode zu dem Zeitpunkt t0 endet.
  • Im Vergleich dazu zeigt 1b die Qualität Q des Pseudozufallszahlenausgangssignals des Pseudozufallszahlengenerators über der Zeit t im Fall der Startparametereinstellung des Pseudozufallszahlengenerators intermittierend bei mehr als einem Zeitpunkt. In 1b sind beispielhaft drei Zeitpunkte t–2, t–1 und t0 gezeigt. In den Zeitintervallen zwischen den Zeitpunkten t–2, t–1 und t0 kann der Pseudozufallszahlengenerator in einem freilaufenden Modus arbeiten, d. h. unbeeinflusst durch echte Zufallszahlendaten. Zu jedem Zeitpunkt t–2, t–1 und t0 erfolgt eine Startparametereinstellung des Pseudozufallszahlengenerators beispielhaft mit 8 Bits echter Zufallszahlendaten. Folglich, wie es in 1b dargestellt ist, liefert der Pseudozufallszahlengenerator ein Pseudozufallszahlenausgangssignal von zunehmender Qualität Q–2, Q–1 und Q0'.
  • Beim Vergleich der Szenarien von 1a und 1b wird klar, dass von dem Zeitpunkt t0 an, d. h. der Zeit, die der Echte-Zufallszahlen-Generator benötigt, um 24 Bits echter Zufallszahlendaten zu erzeugen, beispielsweise von einem Einschalten des Echte-Zufallszahlen-Generators, der Pseudozufallszahlengenerator in einem freilaufenden Modus Pseudozufallszahlendaten von gleicher oder ähnlicher Qualität Q0 bzw. Q0' liefert. Im Fall des Startparametereinstellungsszenarios von 1b ist es jedoch möglich, das Pseudozufallszahlenausgangssignal vor dem Zeitpunkt t0 zu verwenden. Beispielsweise kann das Pseudozufallszahlenausgangssignal, das durch den Pseudozufallszahlengenerator ausgegeben wird, vor dem Zeitpunkt t0 für Aufgaben verwendet werden, die nicht die volle Qualität Q0 oder Q0' erfordern, die wiederum nach dem Zeitpunkt t0 geliefert wird.
  • Vor der Beschreibung der folgenden Ausführungsbeispiele muss angemerkt werden, dass die Beispiele von 1a und 1b lediglich darstellender Natur waren. Dies gilt insbesondere für die Anzahl von Bits, die für die einzelnen Startparametereinstellungsschritte verwendet werden, die beispielhaft in 1a und 1b angezeigt sind. Diese Vereinfachung gilt jedoch auch für die Steilheit des Qualitätsanstiegs zu den einzelnen Zeitpunkten t0, t1– bzw. t–2. Anders ausgedrückt, obwohl 1a und 1b darauf schließen lassen, dass sich die Qualität des Pseudozufallszahlenausgangssignals sofort erhöht aus die Startparametereinstellung hin mit einer Mehrzahl von Bits, können die einzelnen Startparametereinstellungsschritte so durchgeführt werden, dass der Qualitätsanstieg zu einem allmählichen Qualitätsanstieg führt. Beispielsweise zeigt 1a mit einer gestrichelten Linie einen allmählichen Qualitätsanstieg des Pseudozufallszahlenausgangssignals von dem Zeitpunkt 0 zu dem Zeitpunkt t0, was zu einer Qualität Q0 zum Zeitpunkt t0 führt. 1b zeigt eine ähnliche allmähliche Erhöhung von dem Zeitpunkt 0 zu dem Zeitpunkt t0, wobei sich die Qualität allmählich von 0 zu Q0' erhöht. In diesem Fall ist die Differenz zwischen beiden Startparametereinstellungsszenarien, dass das Pseudozufallszahlenausgangssignal in dem Fall von 1a nur nach dem Zeitpunkt t0 verwendet wird, während das Pseudozufallszahlenausgangssignal des Pseudozufallszahlengenerators auch vor dem Zeitpunkt t0 verwendet wird, wodurch eine frühere Durchführung von Aufgaben ermöglicht wird, die nicht die volle Qualität Q0' erfordern.
  • 2 zeigt eine Schaltungsanordnung, die einen Echte-Zufallszahlen-Generator 10, einen Pseudozufallszahlengenerator 12, eine Verbraucherschaltung 14 und eine Steuerung 16 umfasst, wobei der Pseudozufallszahlengenerator 12 in Reihe geschaltet ist zwischen den Echte-Zufallszahlen-Generator 10 und die Verbraucherschaltung 14, und die Steuerung 16 mit dem Pseudozufallszahlengenerator 12 gekoppelt ist.
  • Der Echte-Zufallszahlen-Generator 10 erzeugt ein Echte-Zufallszahlen-Ausgangssignal 18 und gibt dasselbe aus. Wie es später mit Bezugnahme auf 6 näher beschrieben wird, kann der Echte-Zufallszahlen-Generator 10 eine physikalische Rauschquelle umfassen, um das Echte-Zufallszahlen-Ausgangssignal 18 zu erzeugen. Das Echte-Zufallszahlen-Ausgangssignal 18 kann eine Sequenz von Bits sein, die regelmäßig zeitlich beabstandet sind. Es ist jedoch auch möglich, dass der Echte-Zufallszahlen-Generator 10 das Echte-Zufallszahlen-Ausgangssignal 18 erzeugt und intermittierend in Gruppen von Bits ausgibt, regelmäßig oder unregelmäßig zeitlich beabstandet, und wobei die Gruppen eine gleiche Größe aufweisen oder nicht.
  • Der Pseudozufallszahlengenerator 12 kann ein Rückkopplungsschieberegister umfassen, wie es nachfolgend mit Bezugnahme auf 7 und 8 näher beschrieben wird. Der Pseudozufallszahlengenerator 12 erzeugt ein Pseudozufallszahlenausgangssignal 20 und gibt dasselbe aus. Das Pseudozufallszahlenausgangssignal 20 kann eine Sequenz von Bits sein, die nacheinander durch den Pseudozufallszahlengenerator 20 in aufeinanderfolgenden Taktzyklen eines Takts 22 ausgegeben werden, durch den die Pseudozufallszahl 12 getaktet wird. Insbesondere kann die Rate, mit der der Pseudozufallszahlengenerator 12 das Pseudozufallszahlenausgangssignal 20 erzeugt und ausgibt, größer sein als die Rate, mit der der Echte-Zufallszahlen-Generator 10 das Echte-Zufallszahlen-Ausgangssignal 18 erzeugt und ausgibt.
  • Der Pseudozufallszahlengenerator 12 ist steuerbar, um in einem Startparametereinstellungsmodus oder in einem freilaufenden Modus zu arbeiten. In dem Startparametereinstellungsmodus ist der Pseudozufallszahlengenerator 12 mit dem Echte-Zufallszahlen-Ausgangssignal 18 gekoppelt, so dass sein interner Zustand beeinflusst wird durch das Echte-Zufallszahlen-Ausgangssignal 18, und so dass eine Qualität des Pseudozufallszahlenausgangssignals 20 sich erhöht aufgrund eines Anstiegs der Unsicherheit, die durch das Echte-Zufallszahlen-Ausgangssignal 18 in den inneren Zustand des Pseudozufallszahlengenerators 12 eingeführt wird. In dem freilaufenden Modus ist der Pseudozufallszahlengenerator 12 entkoppelt von dem Echte-Zufallszahlen-Ausgangssignal 18, so dass sein interner Zustand nicht durch das Echte-Zufallszahlen-Ausgangssignal 18 beeinflusst wird. Während des freilaufenden Modus stagniert die Qualität des Pseudozufallszahlenausgangssignals 20 und der Pseudozufallszahlengenerator gibt weiterhin PRNG-Daten aus.
  • Die Steuerung 16 steuert den Pseudozufallszahlengenerator 12, um in dem freilaufenden Modus oder dem Startparametereinstellungsmodus zu arbeiten. Anders ausgedrückt, die Steuerung 16 dient dazu, die Qualität des Pseudozufallszahlenausgangssignals des Pseudozufallszahlengenerators 12 zu erhöhen. Weitere Einzelheiten diesbezüglich werden nachfolgend aufgeführt.
  • Die Verbraucherschaltung 14 ist konfiguriert, um das Pseudozufallszahlenausgangssignal 20 zu verwenden. Die Verbraucherschaltung 14, von der ein Ausführungsbeispiel nachfolgend mit Bezugnahme auf 3 näher beschrieben wird, kann eine kryptographische Schaltung umfassen, wie z. B. eine Verschlüsselungseinrichtung oder eine Entschlüsselungseinrichtung. Alternativ umfasst die Verbraucherschaltung 14 eine nicht-kryptographische Schaltung, wie z. B. eine Übertragungsschaltung für Datenkommunikation mit einem externen Gerät. Gemäß noch einem weiteren Ausführungsbeispiel kann die Verbraucherschaltung 14 unterschiedliche Verbraucherentitäten umfassen, die für unterschiedliche Verbraucheraufgaben verantwortlich sind, die für ihre Durchführung die Verwendung eines Pseudozufallszahlenausgangssignals 20 erfordern.
  • Wie es nachfolgend näher beschrieben wird, ist die Verbraucherschaltung 14 insbesondere konfiguriert, um das Pseudozufallszahlenausgangssignal 20 vor und nach einer Erhöhung der Qualität des Pseudozufallszahlenausgangssignals 20 zu verwenden, die durch die Steuerung 16 verursacht wird, und den Pseudozufallszahlengenerator 12 mit dem Echte-Zufallszahlen-Ausgangssignal 18 zu koppeln. Zu diesem Zweck kann die Verbraucherschaltung 14 so implementiert sein, dass die Verbraucherschaltung 14 das Pseudozufallszahlenausgangssignal 20 vor und nach der Erhöhung verwendet. Beispielsweise kann die Verbraucherschaltung 14 eine erste Aufgabe, die eine geringere Qualität des Pseudozufallszahlenausgangssignal 20 erfordert, vor der Erhöhung durchführen, und kann das Durchführen einer zweiten Aufgabe, die einen höheren Pegel von Pseudozufallszahlenqualität erfordert, nach der Erhöhung beginnen. Um sicherzustellen, dass die Verbraucherschaltung 14 das Verwenden der zweiten Aufgabe lediglich nach der Erhöhung beginnt, kann die Steuerung 16 eine jeweilige Funktion implementieren, um die Durchführung der zweiten Aufgabe durch die Verbraucherschaltung 14 zu beginnen, oder die Verbraucherschaltung 14 kann auf eine Weise implementiert sein, dass die Durchführung der zweiten Aufgabe in jedem Fall nach der Erhöhung beginnt.
  • Obwohl dies nicht notwendig ist, kann die Verbraucherschaltung 14 den Takt 22 empfangen und die Durchführung der zweiten Aufgabe abhängig von diesem Takt 22 beginnen, um sicherzustellen, dass der Zeitpunkt des Beginns der Durchführung der zweiten Aufgabe nach der Erhöhung der Qualität liegt, so dass die Qualität des Pseudozufallszahlenausgangssignals 20 mit der erforderlichen Qualität der zweiten Aufgabe übereinstimmt. Gemäß einem weiteren Ausführungsbeispiel kann die Verbraucherschaltung 14 nicht durch die Steuerung 16 gesteuert werden, sondern kann durch die Steuerung 16 über die Erhöhung der Qualität bei dem Pseudozufallszahlenausgangssignal informiert werden, durch Koppeln des Pseudozufallszahlengenerators 12 mit dem Echte-Zufallszahlen-Ausgangssignal 18, um in der Lage zu sein, über jeweilige Anforderungen zum Durchführen einer Aufgabe zu entscheiden, abhängig von der aktuellen Qualität im Vergleich zu der Qualität, die durch die jeweilige Aufgabe gefordert wird. Die letztere Möglichkeit wird nachfolgend mit Bezugnahme auf 4 näher beschrieben.
  • Die Schaltungsanordnung von 2 kann in einer Chipkarte oder in einer kryptographischen Steuerung implementiert sein, für die Verwendung in einer Chipkarte oder Smartcard. Ferner ist die Verbraucherschaltung 14 nicht auf die oben erwähnten Ausführungsbeispiele begrenzt. Stattdessen kann die Verbraucherschaltung 14 Schaltungen umfassen, die das Pseudozufallszahlenausgangssignal 20 verwenden, zum Zweck des Maskierens interner Signale, Randomisierens interner Signale oder Randomisierens eines Leistungsverbrauchs, um Korrelationsangriffen, wie z. B. Differenzfehlerangriffen, entgegenzuwirken.
  • 3 zeigt ein beispielhaftes Ausführungsbeispiel für die Verbraucherschaltung 14. Gemäß 3 umfasst die Verbraucherschaltung 14 eine Steuerung 30, einen ersten Verbraucher 32 und einen zweiten Verbraucher 34. Die Steuerung 30 kann eine zentrale Verarbeitungseinheit umfassen oder kann fest verdrahtet sein oder kann sogar als ein feldprogrammierbares Array implementiert sein. Die Verbraucher 32 und 34 können Coprozessoren sein oder können andere Programme oder Anwendungen sein. Die Verbraucher 32 und 34 sind konfiguriert, um unterschiedliche Aufgaben durchzuführen. Wenn die unterschiedlichen Aufgaben durchgeführt werden, verwenden die Verbraucher 32 und 34 das Pseudozufallszahlenausgangssignal 20. Beispielhaft erfordert der Verbraucher 34 einen höheren Grad an Qualität des Pseudozufallszahlenausgangssignals 20 als der Verbraucher 32. Die Steuerung 30 steuert die Verbraucher 32 und 34. Insbesondere steuert die Steuerung 30 Verbraucher 32 und 34 derart, dass der Verbraucher 32 das Durchführen seiner Aufgabe lediglich nach dem Zeitpunkt beginnt, zu dem die Qualität des Pseudozufallszahlenausgangssignals 20 die Qualität überschreitet oder zumindest erreicht, die von der Aufgabe gefordert wird, die durch den Verbraucher 34 durchgeführt wird, während der Verbraucher 32 das Durchführen seiner Aufgabe vor diesem Zeitpunkt beginnt.
  • Die Steuerung 30 kann beispielsweise eine zentrale Verarbeitungseinheit sein, während die Verbraucher 32 und 34 Coprozessoren und/oder Softwareroutinen sind, die durch die zentrale Verarbeitungseinheit 30 auf den Empfang jeweiliger Programmbefehle hin gestartet werden können. Die zentrale Verarbeitungseinheit 30 kann verschiedene Programme ausführen. Beim Ausführen dieser Programme kann die zentrale Verarbeitungseinheit 30 Befehle oder Anforderungen empfangen zum Durchführen der Aufgabe des Verbrauchers 34 oder der Aufgabe des Verbrauchers 32 und somit den Verbraucher 34 oder Verbraucher 32 starten. Auf den Empfang eines solchen Befehls hin prüft die zentrale Verarbeitungseinheit 30, ob die aktuelle Qualität des Pseudozufallszahlenausgangssignals 20 die Anforderung gefüllt bezüglich der Qualität, die durch die jeweilige Aufgabe gefordert wird, um zu bestimmen, ob der jeweilige Verbraucher 32 oder 34 gestartet werden kann oder nicht. Die Steuerung 30 kann die aktuelle Qualität ableiten basierend auf einer Zeitperiode, die seit einem Einschalten des Echte-Zufallszahlen-Generators 10 vergangen ist, oder basierend auf einer Anzahl von Taktzyklen des Takts 22. Alternativ kann die Steuerung 30 die Qualität von einem jeweiligen Signal ableiten, das von der Steuerung 16 empfangen wurde, wie es durch den gestrichelten Pfeil 36 angezeigt ist. Beispielsweise inkrementiert die Steuerung 16 einen Index 36 jedes Mal, wenn oder während der Pseudozufallszahlengenerator 12 mit dem Echte-Zufallszahlen-Ausgangssignal 18 gekoppelt ist.
  • Alternativ ist die Steuerung 30 fest verdrahtet und initiiert die Verbraucher 32 und 34 bedingungslos, so dass beispielsweise jeder Verbraucher so früh wie möglich beginnt, d. h., sobald die aktuelle Qualität des Pseudozufallszahlenausgangssignals 20 die Qualität überschreitet oder erreicht, die durch den jeweiligen Verbraucher 32 bzw. 34 gefordert wird. In diesem Fall kann die Steuerung 30 auch als ein programmierbares Gatter-Array konfiguriert sein. So implementiert kann die Steuerung 30 abhängig von dem Signal 36 auf dem Takt 22 arbeiten, um die Verbraucher 32 bzw. 34 entsprechend einzuleiten.
  • Alternativ ist die Steuerung 30 fest verdrahtet auf einem programmierbaren Gatter-Array und empfängt Anforderungssignale von den Verbrauchern 32 und 34, die ebenfalls als fest verdrahtete Schaltungsanordnung oder feldprogrammierbares Array implementiert sind, und aktiviert die jeweiligen Verbraucher 32 und 34 durch jeweilige Aktivierungssignale zu den vorher erwähnten Zeiten – d. h., wenn die Qualität des Pseudozufallszahlenausgangssignals 20 die jeweilige Qualität, die durch den jeweiligen Verbraucher 32 bzw. 34 erforderlich ist, erreicht oder überschritten hat. Nur wenn dieselben aktiviert sind, beginnen die jeweiligen Verbraucher 32 bzw. 34 damit, ihre jeweilige Aufgabe durchzuführen.
  • 4 zeigt ein Beispiel für Schritte, die in der Steuerung 30 von 3 ausgeführt wurden, in dem Fall, in dem die Steuerung 30 als eine Einrichtung zum Verarbeiten von Anforderungen zum Durchführen jeweiliger Aufgaben wirkt. Obwohl 4 die beispielhafte Funktionsweise der Steuerung 30 durch funktionale Schritte zeigt, wird angemerkt, dass die in 4 gezeigten funktionalen Schritte als jeweilige Schaltungsteile, Subroutinen oder dergleichen implementiert sein können, so dass 4 auch so gesehen werden kann, dass sie eine Einrichtung zum Durchführen der jeweiligen Funktionen zeigt, die in den Blöcken von 4 gezeigt sind, wobei diese Einrichtung in der Steuerung 30 implementiert ist.
  • Der in 4 gezeigte Prozess beginnt bei Schritt 40, wo die Steuerung 30 eine Anforderung empfängt zum Durchführen einer Aufgabe, die eine zugeordnete Qualität erfordert. Insbesondere kann die Steuerung 30 die Anforderung zum Durchführen einer Aufgabe, die eine zugeordnete Qualität erfordert, von einer Softwareanwendung empfangen. Die Aufgabe, die durchgeführt werden soll, kann eine Differenzleistungsangriffsgegenmaßnahme, eine Maskierung oder eine Verschlüsselung oder Entschlüsselung sein. Die erforderliche Qualität kann der Aufgabe, die durchzuführen ist, zugeordnet sein, gemäß der Anforderung, und/oder kann der anfordernden Entität zugeordnet sein.
  • Beispielsweise könnte in dem Fall, in dem die Schaltungsanordnung von 2 in einer Mehranwendungschipkarte enthalten ist, die Anforderung in Schritt 40 von einer einer Mehrzahl von unterschiedlichen Anwendungen stammen, wie z. B. einer elektronischen Zahlungsanwendung, einer Fahrscheinzahlanwendung für öffentliche Verkehrsmittel oder dergleichen. Alle diese Anwendungen könnten unterschiedlichen Sicherheitsebenen zugeordnet sein. Trotzdem könnte es sein, dass einige dieser Anwendungen mit unterschiedlichen Sicherheitspegeln die Durchführung einer gemeinsamen Ausgabe erfordern. In diesem Fall kann eine Anwendung, die der höheren Sicherheit zugeordnet ist, erfordern, dass die Aufgabe unter Verwendung einer höheren Qualität des Pseudozufallszahlenausgangssignals durchgeführt wird als die andere Anwendung. Mit Bezugnahme auf 3 müssen in diesem Fall diese Anwendungen mit unterschiedlichen Sicherheitsebenen als die Verbraucher in 3 interpretiert werden, wobei beide Verbraucher die gleiche Aufgabe durchführen, aber mit unterschiedlichen Anforderungen bezüglich der Höhe der Qualität des Pseudozufallszahlenausgangssignals.
  • Als Nächstes vergleicht die Steuerung 30 in Schritt 42 die erforderliche Qualität mit der aktuellen Qualität. Wie es oben bereits beschrieben wurde, kann die Steuerung 30 die aktuelle Qualität von Informationen ableiten, die von der Steuerung 16 empfangen werden. Ferner ist es möglich, dass die Steuerung 30 die aktuelle Qualität einstellt oder die aktuelle Qualität basierend auf einer entsprechenden Zeitbasis ableitet, wie z. B. basierend auf der Zeit oder der Anzahl von Taktzyklen, die vergangen sind oder auftreten seit einem Einschalten des Echte-Zufallszahlen-Generators 10, wobei die Anzahl von Takten auf den Takt 22 bezogen sein kann, durch den der Pseudozufallszahlengenerator 12 getaktet wird.
  • Falls der Vergleich in Schritt 42 offenbart, dass die erforderliche Qualität größer ist als die aktuelle Qualität, kann die Steuerung 30 den Zeitpunkt abwarten, zu dem die Qualität des Pseudozufallszahlenausgangssignals die erforderliche Qualität erreicht oder überschreitet, durch warten, indem einfach der Schritt 42 wiederholt wird. Alternativ, wie es in dem gestrichelten Kasten in 4 angezeigt ist, kann die Steuerung 30 eine alternative Verarbeitung 44 durchführen, wie z. B. das Beginnen anderer Aufgaben, als in Schritt 40 gefordert, woraufhin der Prozess von 4 erneut zu Schritt 42 zurückkehrt.
  • Falls die aktuelle Qualität jedoch gleich oder größer ist als die angeforderte Qualität, bewirkt die Steuerschaltung 30 die Durchführung der Aufgabe unter Verwendung des Pseudozufallszahlenausgangssignals 20.
  • Nachfolgend werden unterschiedliche Szenarien von Startparametereinstellungs- und Aufgabendurchführungen, die mit den vorher erwähnten Ausführungsbeispielen möglich sind, mit Bezugnahme auf 5a und 5b beschrieben. In beiden Figuren werden Klammern verwendet, um die Zeitperiode anzuzeigen, während der eine jeweilige Startparametereinstellung des Pseudozufallszahlengenerators 12 (2) oder eine Durchführung der jeweiligen Aufgabe durch einen der Verbraucher 32 bzw. 34 (3) stattfindet.
  • In 5a und 5b wird angenommen, dass der Startparametereinstellungsprozess der Startparametereinstellung des Pseudozufallszahlengenerators 12 mit dem Echte-Zufallszahlen-Ausgangssignal 18 (siehe 2) kein sofortiger Prozess ist, d. h. ein Prozess, der lediglich einen Pseudozufallszahlentaktzyklus benötigt. Stattdessen wird angenommen, dass der Startparametereinstellungsprozess oder die Startparametereinstellungsschritte sich über mehrere aufeinanderfolgende Taktzyklen erstrecken. Wie es bereits mit Bezugnahme auf 1a und 1b angemerkt wurde, ist es jedoch auch möglich, dass die Startparametereinstellungsschritte innerhalb eines Taktzyklus ausgeführt werden.
  • 5a zeigt ein Beispiel, wo der Pseudozufallszahlengenerator innerhalb des Zeitintervalls [t1, t2] einer Startparametereinstellung unterzogen wird, woraufhin die Durchführung einer ersten Aufgabe, nämlich Aufgabe Nr. 1, zu dem Zeitpunkt t3 ≥ t2 begonnen wird, gleichzeitig mit oder zeitlich getrennt von dem Zeitpunkt t2. Ein zweiter Startparametereinstellungsschritt wird während des Zeitintervalls [t5, t6] durchgeführt. Später, d. h. zu einem Zeitpunkt t7 ≥ t6 wird die Durchführung einer zweiten Aufgabe, nämlich Aufgabe Nr. 2, begonnen. Beide Aufgaben, d. h. Aufgabe Nr. 1 und Aufgabe Nr. 2 verwenden das Pseudozufallszahlenausgangssignal. Somit wird in 5a das Pseudozufallszahlenausgangssignal vor und nach der Erhöhung der Qualität des Pseudozufallszahlenausgangssignals verwendet, auf die Startparametereinstellung innerhalb des Zeitintervalls [t5, t6] hin. Vorausgesetzt, dass die Qualität des Pseudozufallszahlenausgangssignals nach dem Zeitpunkt t2 hoch genug oder gleich ist wie die Qualität, die durch die Aufgabe Nr. 1 benötigt wird, und die Qualität des Pseudozufallszahlenausgangssignals nach dem Zeitpunkt t6 gleich oder höher ist als die Qualität, die durch die zweite Aufgabe, Aufgabe Nr. 2, benötigt wird, werden ferner alle Sicherheitsanforderungen und somit Anforderungen an die Qualität des Pseudozufallszahlenausgangssignals erfüllt.
  • Lediglich der Vollständigkeit halber wird angemerkt, dass das Ende der Durchführung der ersten Aufgabe, nämlich der Aufgabe Nr. 1, vor dem Zeitpunkt t5 (siehe t4), während des Startparametereinstellungsschritts [t5, t6] (siehe t4'), oder nach dem zweiten Startparametereinstellungsschritt, d. h. nach dem Zeitpunkt t6 (siehe t4') auftreten kann.
  • 5b zeigt ein Beispiel, wo der Pseudozufallszahlengenerator während eines Zeitintervalls t1 bis t2, d. h. [t1, t2] fortlaufend einer Startparametereinstellung unterzogen wird. Wie es mit Bezugnahme auf 1a und 1b beschrieben ist, erhöht sich die Qualität des Pseudozufallszahlenausgangssignals allmählich während dieses Zeitintervalls. Die Durchführung der ersten Aufgabe, Aufgabe Nr. 1, wird zu einem Zeitpunkt t3 > t1 begonnen. Die Durchführung einer zweiten Aufgabe, Aufgabe Nr. 2, wird zu einem Zeitpunkt t5 > t2 begonnen. Erneut verwenden beide Aufgaben, d. h. Aufgabe Nr. 1 und Aufgabe Nr. 2, das Pseudozufallszahlenausgangssignal. Gleichartig zu dem Fall von 5a wird das Pseudozufallszahlenausgangssignal vor und nach der Erhöhung der Qualität des Pseudozufallszahlenausgangssignals verwendet, daraufhin, dass die Startparametereinstellung während des Zeitintervalls stattfindet, das von t3 bis t2 reicht (t2 > t3 > t1). Erneut wird lediglich der Vollständigkeit halber angemerkt, dass das Ende der Durchführung der ersten Aufgabe in das Startparametereinstellungszeitintervall [t1, t2] fallen kann, oder nach diesem Zeitintervall auftreten kann (siehe t4 oder t4').
  • 6 zeigt ein Beispiel für einen Echte-Zufallszahlen-Generator, der in 2 verwendet werden kann. Insbesondere umfasst der Echte-Zufallszahlen-Generator von 6 eine physikalische Rauschquelle 50 und eine Komprimierungseinrichtung 52. Die physikalische Rauschquelle 50 kann auf einer Phasenregelschleife basieren und gibt eine rauschhafte Sequenz von Bits 54 aus. Die Komprimierungseinrichtung 52 kann ein Rückkopplungsschieberegister umfassen und dient zum Verbessern der Zufälligkeitseigenschaften der rauschhaften Sequenz von Bits 54, um an ihrem Ausgang das Echte-Zufallszahlen-Ausgangssignal 18 zu erhalten. Zu diesem Zweck gibt die Komprimierungseinrichtung 52 das Echte-Zufallszahlen-Ausgangssignal 18 mit einer Rate aus, die geringer ist als die rauschhafte Sequenz von Bits 54, die von der physikalischen Rauschquelle 50 zu der Komprimierungseinrichtung 52 geleitet wird, wodurch die Sequenz 54 etwas „komprimiert” wird. Die physikalische Rauschquelle 50 und die Komprimierungseinrichtung 52 können so konfiguriert werden, dass dieselben lediglich in Kombination aktivierbar und deaktivierbar sind, so dass, anders ausgedrückt, keine dieser beiden Entitäten ohne die andere laufen kann.
  • 7 zeigt ein Beispiel für einen Pseudozufallszahlengenerator, wie er in 2 gezeigt ist. Der Pseudozufallszahlengenerator 12 von 7 umfasst ein Rückkopplungsschieberegister 60 und einen Multiplexer 62. Das Rückkopplungsschieberegister 60 wird durch einen Takt 22 getaktet und gibt synchron mit dem Takt das Pseudozufallszahlenausgangssignal 20 aus. Das Rückkopplungsschieberegister 60 umfasst einen internen Zustand, der dem Inhalt der Speicherzellen des Rückkopplungsschieberegisters 60 entspricht. Der innere Zustand ändert sich pro Taktzyklus des Takts 22 gemäß einer Rückkopplungsfunktion des Rückkopplungsschieberegisters 60. Der interne Zustand kann beeinflusst werden durch ein Signal 62 an einem Eingang des Rückkopplungsschieberegisters 60. Mit diesem Eingang ist ein Ausgang des Multiplexers 62 verbunden. Ein erster Eingang des Multiplexers 62 empfängt das Echte-Zufallszahlen-Ausgangssignal 18. Ein zweiter Eingang des Multiplexers 62 empfängt ein konstantes Signal, wie z. B. 0, wie es in 7 zu Darstellungszwecken angezeigt ist. Der Multiplexer 62 weist einen Steuereingang auf, zum Empfangen eines Steuersignals 66 von der Steuerung 16. Abhängig von dem Steuersignal 66 leitet der Multiplexer 62 das Echte-Zufallszahlen-Ausgangssignal 18 oder das konstante Signal 65 als Signal 64 zu dem Eingang des Rückkopplungsschieberegisters 60. Obwohl das konstante Signal 65 ausgewählt ist, um den internen Zustand des Rückkopplungsschieberegisters 60 unbeeinflusst zu lassen, beeinflusst das Echte-Zufallszahlen-Ausgangssignal 18, wenn es zu dem Eingang des Rückkopplungsschieberegisters 60 geleitet wird, den internen Zustand desselben, wodurch der Unsicherheitsbetrag innerhalb des Rückkopplungsschieberegisters 60 und die Qualität des Pseudozufallszahlenausgangssignals 20 erhöht wird.
  • Lediglich der Vollständigkeit halber wird angemerkt, dass das Rückkopplungsschieberegister ein nichtlineares Rückkopplungsschieberegister oder ein lineares Rückkopplungsschieberegister sein kann. Ferner kann ein Rückkopplungsschieberegister 60 von 7 eine Rückkopplungsschieberegisterschaltung sein, die aus mehr als einem Schieberegister besteht, wobei eine Rückkopplungsschaltung eine Rückkopplung von dem jeweiligen Ausgangsende jedes Schieberegisters zu dem jeweiligen Eingangsende liefert.
  • Insbesondere kann das Rückkopplungsschieberegister 60 von 7 eine Rückkopplungsschieberegisterschaltung sein, die Rückkopplungsschieberegister umfasst, die parallel zueinander geschaltet sind, mit einem arithmetischen Kombinierer, der die Ausgaben der einzelnen Rückkopplungsschieberegister mit einem gemeinsamen Pseudozufallszahlenausgangssignal kombiniert.
  • Die letztere Möglichkeit ist in 8 gezeigt. 8 zeigt eine Rückkopplungsschieberegisterschaltung, die eine Mehrzahl von Schieberegistern 70 und 72 umfasst. Obwohl in 8 nur zwei Schieberegister gezeigt sind, die die Rückkopplungsschieberegisterschaltung 60 umfasst, können mehr als zwei Schieberegister vorgesehen sein. Beispielhaft haben beide Schieberegister eine unterschiedliche Anzahl von Bitpositionen oder Speicherzellen, d. h. n1 ≠ n2. Beide Schieberegister haben einen Eingang und einen Ausgang, wobei der Ausgang der Schieberegister 70 und 72, sowie ein oder mehrere der Zwischenspeicherzellenausgänge mit einer jeweiligen Rückkopplungsfunktionsschaltung 74 bzw. 76 gekoppelt sind. Jede Rückkopplungsfunktionsschaltung 74 und 76 kombiniert die ankommenden Bits gemäß einer Rückkopplungsfunktion und gibt ein Rückkopplungssignal aus. Insbesondere kombiniert die Rückkopplungsfunktionsschaltung 74 die Ausgabe des Schieberegisters 70 sowie Zwischenspeicherzelleninhalte in dem Schieberegister 70, um das Rückkopplungssignal zu erhalten. Ein XOR-Gatter 78 ist zwischen den Ausgang der Rückkopplungsfunktionsschaltung 74 und den Eingang des Schieberegisters 70 gekoppelt, um das Rückkopplungssignal ohne Änderungen an den Eingang des Schieberegisters 70 zu koppeln, solange das Signal an dem weiteren Eingang des logischen XOR-Gatters 78 bei einem vorbestimmten logischen Wert bleibt, wie z. B. 0. Selbstverständlich könnte ein anderes logisches Gatter verwendet werden, so dass der vorbestimmte logische Wert 1 sein könnte. Gleichartig dazu ist ein XOR-Gatter 80 zwischen den Ausgang der Rückkopplungsfunktionsschaltung 76 und den Eingang des Schieberegisters 72 gekoppelt. Die weiteren Eingänge der XOR-Gatter 78 und 80 können mit dem Echte-Zufallszahlen-Ausgangssignal 18 gekoppelt werden, abhängig von einem Steuersignal von der Steuerung 16 (siehe 2), wobei ein Beispiel für die Steuerbarkeit mit Bezugnahme auf 7 bereitgestellt wurde.
  • Somit bilden das Schieberegister 70, die Rückkopplungsfunktionsschaltung 74 und das XOR-Gatter 78 ein erstes Rückkopplungsschieberegister, während das Schieberegister 72, die Rückkopplungsfunktionsschaltung 76 und das XOR-Gatter ein anderes Rückkopplungsschieberegister bilden. Beide Rückkopplungsschieberegister können durch den gleichen Takt getaktet werden, wie z. B. den Takt 22. Während jedes Taktzyklus erzeugen die Rückkopplungsfunktionsschaltungen 74 und 76 jeweils ein Rückkopplungsbit, das zu dem Eingang der jeweiligen Schieberegister 70 bzw. 72 geleitet wird. Das Rückkopplungssignal kann jedoch beeinflusst werden durch das Echte-Zufallszahlen-Ausgangssignal 18, vorausgesetzt, die Steuerung 16 entscheidet, den Pseudozufallszahlengenerator aktuell einer Startparametereinstellung zu unterziehen. Somit wird in jedem Taktzyklus das jeweilige Rückkopplungsschieberegister 70, 74 und 78 bzw. 72, 76 und 80 durch ein Bit des Echte-Zufallszahlen-Ausgangssignals beeinflusst. Somit erhöht sich in aufeinanderfolgenden Startparametereinstellungstaktzyklen die Qualität des Ausgangssignals dieser Rückkopplungsschieberegister allmählich. Insbesondere sind die Ausgänge der Schieberegister 70 und 72 mit jeweiligen Eingängen einer arithmetischen Kombinationseinheit 82 verbunden, die ebenfalls in der Rückkopplungsschieberegisterschaltung 60 enthalten ist. Die arithmetische Kombinationseinheit 82 kombiniert pro Taktzyklus die ankommenden Bits durch eine arithmetische Funktion, um pro Taktzyklus ein kombiniertes Bit an seinem Ausgang auszugeben, uns somit das Pseudozufallszahlenausgangssignal 20 zu erhalten.
  • Es sollte angemerkt werden, dass die oben gegebenen Ausführungsbeispiele lediglich darstellender Natur sind. Dies gilt insbesondere für 68. Die darin dargestellten Ausführungsbeispiele dienen lediglich dazu, das Verständnis des Betriebs beispielhafter Instantiierungen der jeweiligen Elemente in den vorhergehenden Figuren zu erleichtern, wie z. B. 2. Ferner können die Ausführungsbeispiele in 68 variiert werden. Beispielsweise kann die Anzahl von Bits, die pro Taktzyklus in dem Startparametereinstellungsmodus in den Komparator 52 eingegeben werden, 1 überschreiten. Das gleiche gilt für den Ausgang der PRNG-Bitsequenz.
  • Die obigen Ausführungsbeispiele können Nachteile und Verzögerungen vermeiden, wenn ein Pseudozufallszahlengenerator verwendet wird, die sich aus dem Einschalten und der Ausgaberate des Echte-Zufallszahlen-Generators ergeben. Ein Einschalten eines Echte-Zufallszahlen-Generators ist eine zeitaufwendige Prozedur. Ferner ist ein Echte-Zufallszahlen-Generator normalerweise langsamer oder hat eine langsamere Ausgaberate als ein Pseudozufallszahlengenerator. Gemäß den obigen Ausführungsbeispielen kann ein langsamer Echte-Zufallszahlen-Generator, der nach einer langen Einschaltzeit fertig ist, auf effektive Weise mit einem schnellen Pseudozufallszahlengenerator kombiniert werden, falls der Pseudozufallszahlengenerator früh gestartet wird, mit nur einigen wenigen echten Zufallszahlenbits von dem Echte-Zufallszahlen-Generator, und somit ein echtes Pseudozufallszahlenausgangssignal verfügbar macht. Während dieser Zeit liefert der Pseudozufallszahlengenerator Pseudozufallsbits mit geringerer Qualität. Durch Übertragen weiterer echter Zufallszahlenbits von dem Echte-Zufallszahlen-Generator ist jedoch die Menge an Bytes für den Pseudozufallszahlengenerator 16 erhöht während des Betriebs des Pseudozufallszahlengenerators, wodurch nacheinander die Qualität des Pseudozufallszahlenausgangssignals erhöht wird. Sobald die Menge an echten Zufallszahlen von dem Echte-Zufallszahlen-Generator hoch genug ist, können die Module, d. h. der Pseudozufallszahlengenerator und der Echte-Zufallszahlen-Generator, entkoppelt werden und unabhängig voneinander laufen.
  • Es wird ferner angemerkt, dass die obigen Ausführungsbeispiele modifiziert werden könnten, dadurch, dass die Rate, mit der die Pseudozufallszahlenausgangsbits durch die nachfolgende Verbraucherschaltung verwendet werden, begrenzt wird, abhängig von dem Verhältnis der Ausgaberate des Pseudozufallszahlengenerators und des Echte-Zufallszahlen-Generators. Falls beispielsweise der Pseudozufallszahlengenerator x-mal schneller ist als der Echte-Zufallszahlen-Generator, dann sollten gemäß einem Ausführungsbeispiel nur x/2 Bits verwendet werden.
  • Obwohl 8 das Beeinflussen des Rückkopplungssignals mit dem Echte-Zufallszahlen-Ausgangssignal vorschlägt, findet das Beeinflussen des internen Zustands des Rückkopplungsschieberegisters gemäß weiteren Ausführungsbeispielen an einigen Zwischenabschnitten des Schieberegisters näher zu dem Ausgang des Rückkopplungsschieberegisters statt. Obwohl 1 ferner die Startparametereinstellung des Pseudozufallszahlengenerators mit einer Menge an Bits des Echte-Zufallszahlen-Ausgangssignals gleich dem Fall vorschlägt, wo das Echte-Zufallszahlen-Ausgangssignal während eines fortlaufenden Zeitintervalls an den Pseudozufallszahlengenerator angelegt wird, könnte in dem Fall der Zwischenstartparametereinstellungsschritte die Menge an Echte-Zufallszahlen-Ausgangssignalbits, mit denen der Pseudozufallszahlengenerator einer Startparametereinstellung unterzogen wird, erhöht werden relativ zu der Startparametereinstellung in einem fortlaufenden Zeitintervall, wodurch Q0' erhöht wird oder Q0' an Q0 angepasst wird. Beispielsweise könnte in dem Fall eines Rückkopplungsschieberegisters, das n Speicherzellen und eine Periodenlänge von zwischen 2n-1 und 2n aufweist, die Erhöhung der Qualität des Pseudozufallszahlenausgangssignals in einer Anzahl I von Schritten ausgeführt werden, wobei insgesamt der Pseudozufallszahlengenerator mit ni Bits des Echte-Zufallszahlen-Ausgangssignals des Echte-Zufallszahlen-Generators gekoppelt wird, pro Schritt i der Mehrzahl von Schritten, wobei
    Figure DE102008057907B4_0002
  • Abhängig von einer tatsächlichen Implementierung können die obigen Ausführungsbeispiele in Hardware oder in Software implementiert werden. Daher beziehen sich dieselben auch auf ein Computerprogramm, das auf einem computerlesbaren Medium, wie z. B. einer CD, einer Diskette oder jedem anderen Datenträger gespeichert sein kann. Diese Ausführungsbeispiele definieren daher auch ein Computerprogramm mit einem Programmcode, der, wenn er auf einem Computer ausgeführt wird, die obigen Verfahren ausführt, die in Verbindung mit den obigen Figuren beschrieben sind.
  • Obwohl diese Erfindung bezüglich mehrerer bevorzugter Ausführungsbeispiele beschrieben wurde, gibt es Änderungen, Permutationen und Äquivalente, die in den Schutzbereich dieser Erfindung fallen. Es sollte auch angemerkt werden, dass es viele alternative Möglichkeiten zum Implementieren der Verfahren und Anordnungen der vorliegenden Erfindung gibt.

Claims (16)

  1. System, das folgende Merkmale umfasst: einen Pseudozufallszahlengenerator (12); eine Steuerschaltung, die konfiguriert ist, um eine Qualität eines Pseudozufalls zahlenausgangssignals (20) des Pseudozufallszahlengenerators (12) von einem Einschalten eines Echte-Zufallszahlen-Generators (10) ab schrittweise bis zu einem vorbestimmten Zeitpunkt (t0) in aufeinanderfolgenden Startparametereinstellungsschritten jeweils durch Koppeln des Pseudozufallszahlengenerators (12) mit einem Echte-Zufallszahlen-Ausgangssignal (18) des Echte-Zufallszahlen-Generators (10) zu erhöhen, so dass ein interner Zustand des Pseudozufallszahlengenerators (12) durch das Echte-Zufallszahlen-Ausgangssignal (18) beeinflusst und damit eine Qualität des Pseudozufallszahlenausgangssignals erhöht wird, und zwar unter Betreiben des Pseudozufallszahlengenerators (12) zwischen den Startparametereinstellungsschritten in einem freilaufenden Modus, bei dem der Pseudozufallszahlengenerator (12) entkoppelt von dem Echte-Zufallszahlen-Ausgangssignal (18) ist, so dass der interne Zustand nicht durch das Echte-Zufallszahlen-Ausgangssignal (18) beeinflusst wird, und die Qualität des Pseudozufallszahlenausgangssignals stagniert, und von dem vorbestimmten Zeitpunkt ab den Pseudozufallszahlengenerator (12) und den Echte-Zufallszahlen-Generator zu entkoppeln und unabhängig voneinander laufenzulassen, so dass der Pseudozufallszahlengenerator (12) in dem freilaufenden Modus betrieben wird; und eine Verbraucherschaltung (14), die konfiguriert ist, um das Pseudozufallszahlenausgangssignal (20) zu verwenden, wobei die Verbraucherschaltung (14) eine zentrale Verarbeitungseinheit (30) umfasst, die konfiguriert ist, um folgende Schritte auszuführen: Empfangen einer Anforderung, um eine Aufgabe durchzuführen, die eine zugeordnete Qualität erfordert; Vergleichen der zugeordneten Qualität, die erforderlich ist, mit einer aktuellen Qualität des Pseudozufallszahlenausgangssignals (20) unter Ableitung der aktuellen Qualität basierend auf einer Zeitperiode oder einer Anzahl von Taktzyklen, die seit dem Einschalten des Echte-Zufallszahlen-Generators (10) vergangen sind, oder einem Index (36), der jedes Mal, wenn oder während der Pseudozufallszahlengenerator (12) mit dem Echte-Zufallszahlen-Ausgangssignal (18) gekoppelt ist, inkrementiert wird; und Durchführen der Aufgabe unter Verwendung des Pseudozufallszahlenausgangssignals (20) abhängig von dem Vergleich.
  2. System gemäß Anspruch 1, bei dem die Verbraucherschaltung (14) eine kryptographische Schaltung umfasst, die konfiguriert ist, um das Pseudozufallszahlenausgangssignal (20) nach dem letzten Startparametereinstellungsschritt zu verwenden.
  3. System gemäß Anspruch 2, bei dem die Verbraucherschaltung (14) eine nichtkryptographische Einheit aufweist, die konfiguriert ist, um das Pseudozufallszahlenausgangssignal (20) vor dem letzten Startparametereinstellungsschritt zu verwenden.
  4. System gemäß einem der Ansprüche 1 bis 3, bei dem der Pseudozufallszahlengenerator (12) n Speicherzellen und eine Periodenlänge zwischen 2n-1 und 2n aufweist, und die Steuerschaltung konfiguriert ist, um die Qualität des Pseudozufallszahlenausgangssignals (20) in einer Anzahl I von Startparametereinstellungsschritten zu erhöhen, durch Koppeln des Pseudozufallszahlengenerators (12) mit ni Bits des Echte-Zufallszahlen-Ausgangssignals (18) des Echte-Zufallszahlen-Generators (10) pro Startparametereinstellungsschritt i der Mehrzahl von Startparametereinstellungsschritten, wobei
    Figure DE102008057907B4_0003
  5. System gemäß einem der Ansprüche 1 bis 4, das ferner den Echte-Zufallszahlen-Generator (10) umfasst, wobei der Echte-Zufallszahlen-Generator (10) eine zweite Rauschquelle und eine Komprimierungseinrichtung (52) umfasst, die zwischen die physikalische Rauschquelle (50) und den Pseudozufallszahlengenerator (12) gekoppelt sind.
  6. System gemäß einem der Ansprüche 1 bis 5, bei dem der Pseudozufallszahlengenerator (12), die Steuerschaltung und die Verbraucherschaltung (14) so konfiguriert sind, dass nach der Erhöhung ein Zeitpunkt existiert, zu dem die Menge des Echte-Zufallszahlen-Ausgangssignals (18), das an den Pseudozufallszahlengenerator (12) zum Erhöhen der Qualität des Pseudozufallszahlenausgangssignals (20) bis zu diesem Zeitpunkt gekoppelt wurde, geringer ist als eine Menge des Pseudozufallszahlenausgangssignals (20), das durch die Verbraucherschaltung (14) bis zu dem Zeitpunkt verwendet wurde.
  7. Vorrichtung zum Steuern eines Pseudozufallszahlengenerators (12) und einer Verbraucherschaltung (14), die mit demselben gekoppelt ist, die folgende Merkmale umfasst: eine Einrichtung zum Erhöhen einer Qualität eines Pseudozufallszahlenausgangssignals (20) des Pseudozufallszahlengenerators (12) von einem Einschalten eines Echte-Zufallszahlen-Generators (10) ab bis zu einem vorbestimmten Zeitpunkt (t0) schrittweise in aufeinanderfolgenden Startparametereinstellungsschritten jeweils durch Koppeln des Pseudozufallszahlengenerators (12) mit einem Echte-Zufallszahlen-Ausgangssignal (18) des Echte-Zufallszahlen-Generators (10), so dass ein interner Zustand des Pseudozufallszahlengenerators (12) durch das Echte-Zufallszahlen-Ausgangssignal (18) beeinflusst und damit eine Qualität des Pseudozufallszahlenausgangssignals erhöht wird, und zwar unter Betreiben des Pseudozufallszahlengenerators (12) zwischen den Startparametereinstellungsschritten in einem freilaufenden Modus, bei dem der Pseudozufallszahlengenerator (12) entkoppelt von dem Echte-Zufallszahlen-Ausgangssignal (18) ist, so dass der interne Zustand nicht durch das Echte-Zufallszahlen-Ausgangssignal (18) beeinflusst wird und die Qualität des Pseudozufallszahlenausgangssignals stagniert, und zum, von dem vorbestimmten Zeitpunkt (t0) ab, Entkoppeln des Pseudozufallszahlengenerators (12) und des Echte-Zufallszahlen-Generators und Laufenlassen derselben unabhängig voneinander mit dem Pseudozufallszahlengenerator (12) in dem freilaufenden Modus; und eine Einrichtung zum Bewirken, dass die Verbraucherschaltung (14) das Pseudozufallszahlenausgangssignal (20) verwendet, wobei die Einrichtung zum Bewirken folgende Merkmale umfasst: eine Einrichtung zum Empfangen einer Anforderung zum Durchführen einer Aufgabe, die eine zugeordnete Qualität erfordert; eine Einrichtung zum Vergleichen der zugeordneten Qualität, die erforderlich ist, mit einer aktuellen Qualität des Pseudozufallszahlenausgangssignals (20) unter Ableitung der aktuellen Qualität basierend auf einer Zeitperiode oder einer Anzahl von Taktzyklen, die seit dem Einschalten des Echte-Zufallszahlen-Generators (10) vergangen sind, oder einem Index (36), der jedes Mal, wenn oder während der Pseudozufallszahlengenerator (12) mit dem Echte-Zufallszahlen-Ausgangssignal (18) gekoppelt ist, inkrementiert wird; und eine Einrichtung zum Durchführen der Aufgabe unter Verwendung des Pseudozufallszahlenausgangssignals (20), abhängig von dem Vergleich.
  8. Vorrichtung gemäß Anspruch 7, bei der der Pseudozufallszahlengenerator (12) n Speicherzellen und eine Periodenlänge von 2n-1 und 2n aufweist, und die Einrichtung zum Erhöhen konfiguriert ist, um die Qualität des Pseudozufallszahlenausgangssignals (20) in einer Anzahl I von Startparametereinstellungsschritten zu erhöhen, durch Koppeln des Pseudozufallszahlengenerators (12) mit ni Bits des Echte-Zufallszahlen-Ausgangssignals (18) des Echte-Zufallszahlen-Generators (10) pro Startparametereinstellungsschritt i der Mehrzahl von Startparametereinstellunsschritten, wobei
    Figure DE102008057907B4_0004
  9. Vorrichtung gemäß einem der Ansprüche 7 und 8, wobei die Vorrichtung ferner den Echte-Zufallszahlen-Generator (10) und den Pseudozufallszahlengenerator (12) umfasst, wobei der Echte-Zufallszahlen-Generator (10) eine physikalische Rauschquelle (50) und eine Komprimierungseinrichtung (52) umfasst, die zwischen die physikalische Rauschquelle (50) und den Pseudozufallszahlengenerator (12) gekoppelt sind.
  10. Vorrichtung gemäß einem der Ansprüche 7 bis 9, bei der die Einrichtung zum Erhöhen und die Einrichtung zum Bewirken konfiguriert sind, so dass nach der Erhöhung ein Zeitpunkt existiert, zu dem die Menge des Echte-Zufallszahlen-Ausgangssignals (18), die an den Pseudozufallszahlengenerator (12) zum Erhöhen der Qualität des Pseudozufallszahlenausgangssignals (20) bis zu diesem Zeitpunkt gekoppelt wurde, niedriger ist als eine Menge des Pseudozufallszahlenausgangssignals (20), das durch die Verbraucherschaltung (14) bis zu dem Zeitpunkt verwendet wurde.
  11. Verfahren zum Steuern eines Pseudozufallszahlengenerators (12) und einer Verbraucherschaltung (14), die mit demselben gekoppelt ist, das folgende Schritte umfasst: Erhöhen einer Qualität eines Pseudozufallszahlenausgangssignals (20) des Pseudozufallszahlengenerators (12) durch Koppeln des Pseudozufallszahlengenerators (12) von einem Einschalten eines Echte-Zufallszahlen-Generators (10) ab schrittweise bis zu einem vorbestimmten Zeitpunkt (t0) in aufeinanderfolgenden Startparametereinstellungsschritten jeweils durch Koppeln des Pseudozufallszahlengenerators (12) mit einem Echte-Zufallszahlen-Ausgangssignal (18) des Echte-Zufallszahlen-Generators (10), so dass ein interner Zustand des Pseudozufallszahlengenerators (12) durch das Echte-Zufallszahlen-Ausgangssignal (18) beeinflusst und damit eine Qualität des Pseudozufallszahlenausgangssignals erhöht wird, und zwar unter Betreiben des Pseudozufallszahlengenerators (12) zwischen den Startparametereinstellungsschritten in einem freilaufenden Modus, bei dem der Pseudozufallszahlengenerator (12) entkoppelt von dem Echte-Zufallszahlen-Ausgangssignal (18) ist, so dass der interne Zustand nicht durch das Echte-Zufallszahlen-Ausgangssignal (18) beeinflusst wird und die Qualität des Pseudozufallszahlenausgangssignals stagniert, und, von dem vorbestimmten Zeitpunkt ab, Entkoppeln des Pseudozufallszahlengenerators (12) und des Echte-Zufallszahlen-Generators und Laufenlassen derselben unabhängig voneinander, so dass der Pseudozufallszahlengenerator (12) in dem freilaufenden Modus betrieben wird; und Bewirken, dass die Verbraucherschaltung (14) das Pseudozufallszahlenausgangssignal (20) verwendet, wobei das Bewirken folgende Schritte umfasst: Empfangen einer Anforderung zum Durchführen einer Aufgabe, die eine zugeordnete Qualität erfordert; Vergleichen der zugeordneten Qualität, die erforderlich ist, mit einer aktuellen Qualität des Pseudozufallszahlenausgangssignals (20) unter Ableitung der aktuellen Qualität basierend auf einer Zeitperiode oder einer Anzahl von Taktzyklen, die seit dem Einschalten des Echte-Zufallszahlen-Generators (10) vergangen sind, oder einem Index (36), der jedes Mal, wenn oder während der Pseudozufallszahlengenerator (12) mit dem Echte-Zufallszahlen-Ausgangssignal (18) gekoppelt ist, inkrementiert wird; und Durchführen der Aufgabe unter Verwendung des Pseudozufallszahlenausgangssignals (20) abhängig von dem Vergleich.
  12. Verfahren gemäß Anspruch 11, bei dem der Pseudozufallszahlengenerator (12) n Speicherzellen und eine Periodenlänge von 2n-1 und 2n aufweist, und das Erhöhen das Erhöhen der Qualität des Pseudozufallszahlenausgangssignals (20) in einer Anzahl I von Startparametereinstellungsschritten umfasst, durch Koppeln des Pseudozufallszahlengenerators (12) mit ni Bits des Echte-Zufallszahlen-Ausgangssignals (18) des Echte-Zufallszahlen-Generators (10) pro Startparametereinstellungsschritt i der Mehrzahl von Startparametereinstellungsschritten, wobei
    Figure DE102008057907B4_0005
  13. Verfahren gemäß einem der Ansprüche 11 und 12, das ferner das Erzeugen eines Echte-Zufallszahlen-Ausgangssignals (18) durch einen Echte-Zufallszahlen-Generator (10) umfasst, der eine physikalische Rauschquelle (50) und eine Komprimierungseinrichtung (52) umfasst, die zwischen die physikalische Rauschquelle (50) und den Pseudozufallszahlengenerator (12) gekoppelt sind.
  14. Verfahren gemäß einem der Ansprüche 11 bis 13, bei dem das Erhöhen und das Bewirken so durchgeführt werden, dass nach der Erhöhung ein Zeitpunkt existiert, zu dem die Menge des Echte-Zufallszahlen-Ausgangssignals (18), die an den Pseudozufallszahlengenerator (12) zum Erhöhen der Qualität des Pseudozufallszahlenausgangssignals (20) bis zu diesem Zeitpunkt gekoppelt wurde, niedriger ist als eine Menge des Pseudozufallszahlenausgangssignals (20), das durch die Verbraucherschaltung (14) bis zu dem Zeitpunkt verwendet wurde.
  15. Computerprogramm, das Befehle aufweist zum Durchführen, wenn dasselbe auf einem Computer läuft, eines Verfahrens zum Steuern eines Pseudozufallszahlengenerators (12) und einer Verbraucherschaltung (14), die mit demselben gekoppelt ist, gemäß einem der Ansprüche 11 bis 14.
  16. Computerlesbares Medium, auf dem ein Programm gespeichert ist, das Befehle aufweist zum Durchführen, wenn dasselbe auf einem Computer läuft, eines Verfahrens zum Steuern eines Pseudozufallszahlengenerators (12) und einer Verbraucherschaltung (14), die mit demselben gekoppelt ist, gemäß einem der Ansprüche 11 bis 14.
DE102008057907.6A 2007-11-30 2008-11-18 Steuerung eines Pseudozufallszahlengenerators und einer Verbraucherschaltung, die mit demselben gekoppelt ist Expired - Fee Related DE102008057907B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/948,108 2007-11-30
US11/948,108 US8180816B2 (en) 2007-11-30 2007-11-30 Control of a pseudo random number generator and a consumer circuit coupled thereto

Publications (2)

Publication Number Publication Date
DE102008057907A1 DE102008057907A1 (de) 2009-06-04
DE102008057907B4 true DE102008057907B4 (de) 2015-07-23

Family

ID=40586092

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008057907.6A Expired - Fee Related DE102008057907B4 (de) 2007-11-30 2008-11-18 Steuerung eines Pseudozufallszahlengenerators und einer Verbraucherschaltung, die mit demselben gekoppelt ist

Country Status (2)

Country Link
US (1) US8180816B2 (de)
DE (1) DE102008057907B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9049232B2 (en) * 2013-02-28 2015-06-02 Amazon Technologies, Inc. Configurable-quality random data service
JP6093043B2 (ja) * 2013-02-28 2017-03-08 アマゾン・テクノロジーズ・インコーポレーテッド 品質設定可能ランダムデータサービス
US9819727B2 (en) * 2013-02-28 2017-11-14 Amazon Technologies, Inc. Computing infrastructure for configurable-quality random data
KR20170092601A (ko) * 2014-12-03 2017-08-11 쓰리엠 이노베이티브 프로퍼티즈 컴파니 재료 샘플에 존재하는 물리적 변화를 이용하여 난수를 생성하기 위한 시스템 및 방법
US10116441B1 (en) 2015-06-11 2018-10-30 Amazon Technologies, Inc. Enhanced-security random data
CN106293617B (zh) * 2016-08-12 2018-11-09 上海坚芯电子科技有限公司 真随机数发生器
CN114244397B (zh) * 2022-02-25 2022-05-10 北京智芯微电子科技有限公司 跳频通信装置、方法、芯片、发射机及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156819A1 (en) * 2001-04-23 2002-10-24 Pijnenburg Beheer B.V. Digital true random number generator circuit
US20070140485A1 (en) * 2004-02-26 2007-06-21 Giovanni Ghigo Method and circuit for generating random numbers, and computer program product therefor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047262B2 (en) * 2002-08-21 2006-05-16 Koninklijke Philips Electronics N.V. Entropy estimation and decimation for improving the randomness of true random number generation
JP3732188B2 (ja) * 2003-03-31 2006-01-05 Necマイクロシステム株式会社 擬似乱数発生回路
JP4248950B2 (ja) * 2003-06-24 2009-04-02 株式会社ルネサステクノロジ 乱数発生装置
DE10357782B3 (de) * 2003-12-10 2005-05-04 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen von Zufallszahlen mit einem Pseudozufallsgenerator
US8244785B2 (en) * 2007-04-30 2012-08-14 Acei Ab Method of generating random numbers for a gaming system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156819A1 (en) * 2001-04-23 2002-10-24 Pijnenburg Beheer B.V. Digital true random number generator circuit
US20070140485A1 (en) * 2004-02-26 2007-06-21 Giovanni Ghigo Method and circuit for generating random numbers, and computer program product therefor

Also Published As

Publication number Publication date
DE102008057907A1 (de) 2009-06-04
US20090144351A1 (en) 2009-06-04
US8180816B2 (en) 2012-05-15

Similar Documents

Publication Publication Date Title
DE102008057907B4 (de) Steuerung eines Pseudozufallszahlengenerators und einer Verbraucherschaltung, die mit demselben gekoppelt ist
DE60204708T2 (de) Auf hash basierter pseudozufallszahlengenerator
DE69118977T2 (de) Verschlüsselungssystem auf Grundlage der Chaostheorie
EP1354264B1 (de) Zufallszahlengenerator und verfahren zum erzeugen einer zufallszahl
DE102012014512A1 (de) Spreizung eines Taktsignals
DE10339999A1 (de) Pseudozufallszahlengenerator
DE102014203497A1 (de) Maskiertes nichtlinear rückgekoppeltes Schieberegister
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE112008001707T5 (de) Finite-Feld-Operationen verwendender kryptographischer Zufallszahlengenerator
DE102008008099B4 (de) Verfahren und Vorrichtung zum Verteilen von Zufallselementen
DE69821461T2 (de) Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren
DE102004013480B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE102014222825A1 (de) Vorrichtung und Verfahren zur Multiplikation zur Erschwerung von Seitenkanalangriffen
AT515097B1 (de) Verschlüsselungsverfahren und Pseudo-Zufallszahlengenerator
EP3289685B1 (de) Verfahren und vorrichtung zur erzeugung einer geräte-spezifischen kennung und geräte umfassend einen personalisierten programmierbaren schaltungsbaustein
EP1099192B1 (de) Getaktete integrierte halbleiterschaltung und verfahren zum betreiben einer solchen
EP1913457B1 (de) Gals-schaltung und verfahren zum betrieb einer gals-schaltung
DE602004012096T2 (de) Verfahren und vorrichtung für eine hadwareimplementierung der schlüsselexpansionsfunktion mit wenig speicher
WO2014191178A1 (de) Bereitstellung von zufallsbitfolgen in einer virtuellen ausführungsumgebung
DE10012121B4 (de) Signalumwandlungsvorrichtung
DE102016115551A1 (de) Konfigurierbare Sicherheitsmodule
DE10148134B4 (de) Verfahren zur Busansteuerung
EP3231127B1 (de) Verfahren zum betreiben eines sicherheitsmoduls
DE102015214427A1 (de) Ableitung eines Sitzungsschlüssels mit Zugriff auf eine physikalisch unklonbare Funktion

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee