DE102015203577A1 - Verfahren und Vorrichtung zum Erzeugen von Zufallsbits - Google Patents

Verfahren und Vorrichtung zum Erzeugen von Zufallsbits Download PDF

Info

Publication number
DE102015203577A1
DE102015203577A1 DE102015203577.8A DE102015203577A DE102015203577A1 DE 102015203577 A1 DE102015203577 A1 DE 102015203577A1 DE 102015203577 A DE102015203577 A DE 102015203577A DE 102015203577 A1 DE102015203577 A1 DE 102015203577A1
Authority
DE
Germany
Prior art keywords
input
bit pattern
random
combinatorial
entropy
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.)
Withdrawn
Application number
DE102015203577.8A
Other languages
English (en)
Inventor
Markus Dichtl
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Priority to DE102015203577.8A priority Critical patent/DE102015203577A1/de
Publication of DE102015203577A1 publication Critical patent/DE102015203577A1/de
Withdrawn legal-status Critical Current

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
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Abstract

Bei einem Verfahren zum Erzeugen von Zufallsbits werden eine Mehrzahl von kombinatorischen Abbildungen verkettet nacheinander und im Wesentlichen rückkopplungsfrei voneinander durchgeführt. Eine kombinatorische Abbildung bildet n Eingangssignale auf p Ausgangssignale ab, wobei mindestens eine der Abbildungen eine Zustandsänderung eines Eingangssignals im Mittel auf mehr als ein Ausgangssignal abbildet. Dabei werden einer jeweiligen ersten kombinatorischen Abbildung durch Umschalten von einem ersten zu einem zweiten Eingangsbitmuster wohldefinierte logische Pegelwechsel eingekoppelt. Es werden mehrere Ausgangssignale, die nicht von der ersten Abbildung stammen, als Zufallsbitmuster erfasst. Dabei sind das erste und das zweite Eingangsbitmuster derart ausgewählt, dass eine Entropie des Zufallsbitmusters oberhalb einer vorgegebenen Entropieschwelle liegt. Eine entsprechend eingerichtete und nach dem Verfahren betriebene Vorrichtung wird in einer Verschlüsselungsvorrichtung eingesetzt.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen eines oder mehrerer Zufallsbits. Es wird zum Beispiel eine Zufallsbitfolge erzeugt, welche als binäre Zufallszahl verwendet wird. Die vorgeschlagenen Vorrichtungen und Verfahren zum Erzeugen von Zufallsbits dienen beispielsweise der Implementierung von Zufallszahlengeneratoren. Die Erfindung ermöglicht beispielsweise die Erzeugung echter Zufallsbits.
  • In sicherheitsrelevanten Anwendungen, beispielsweise bei asymmetrischen Authentifikationsverfahren, sind Zufallsbitfolgen als binäre Zufallszahlen notwendig. Dabei ist es gewünscht, insbesondere bei mobilen Anwendungen einen möglichst geringen Hardwareaufwand zu betreiben. Bekannte Maßnahmen, um Zufallszahlen zu erzeugen, sind beispielsweise Pseudozufallszahlengeneratoren, analoge Zufallsquellen, Ringoszillatoren und deren Abwandlungen.
  • Bei Pseudozufallszahlengeneratoren werden Seeds verwendet, von denen ausgehend deterministische Pseudozufallszahlen berechnet werden. Zur Erzeugung des Seeds wird in der Regel ein physikalischer Zufallsgenerator verwendet. Als analoge Zufallsquellen werden Rauschquellen, wie z. B. das Rauschen von Zenerdioden, verstärkt und digitalisiert. Dabei ist die Verbindung von digitaler mit analoger Schaltungstechnik meist nur aufwändig zu verwirklichen.
  • Bei Ringoszillatoren, die aus einer ungeraden Anzahl von hintereinander geschalteten Invertern aufgebaut sind, ergeben sich zufällige Jitter aus schwankenden Durchlaufzeiten der Signale durch die Inverter. Diese Jitter, also eine unregelmäßige zeitliche Schwankung in Zustandsänderungen der durch die Inverter geschickten Signale, können bei mehrfachen Durchläufen durch die Ringoszillatorschaltung akkumuliert werden, so dass letztlich ein zufälliges analoges Signal entsteht. Nachteilig bei Ringoszillatoren ist häufig die notwendige lange Zeit vom Start der Schwingung bis ein brauchbar zufälliges Signal aufgrund der Jitter-Akkumulierung entsteht. Daher ergeben sich meist niedrige nicht akzeptable Datenerzeugungsraten bei Ringoszillatoren. Ferner ist möglich, dass die sich addierenden Jitter-Beiträge sich auch selbst wieder aufheben, so dass im Mittel zufällige kurze Gatterlaufzeiten durch zufällige längere Gatterlaufzeiten kompensiert werden.
  • Fibonacci- und Galois-Ringoszillatoren erzeugen schneller zufällige Signalformen als klassische Ringoszillatoren. Allerdings werden verschiedene digitale Gatter wie XOR- und NOT-Gatter eingesetzt. Dadurch können sich insbesondere bei Implementierungen auf ASICs große Geschwindigkeitsunterschiede der Gattertypen ergeben. Häufig besteht der Wunsch, mit Hilfe von FPGAs (Field Programmable Gate Arrays) Zufallsbitfolgen zu erzeugen. Allerdings können auch bei diesen Digitalbausteinen beispielsweise aufgrund von Umgebungstemperaturschwankungen periodische Schwingungen einsetzen, die nur eine geringe Entropie oder Zufälligkeit in den Signalen haben.
  • Ferner kann sich der Energieverbrauch bei Oszillatorschaltungen in Zufallszahlengeneratoren als nachteilig erweisen, denn im Betrieb muss ständig ein elektrischer Strom fließen.
  • Bei digitalen Schaltungen hängt der Stromverbrauch im Wesentlichen von der Anzahl der Umschaltvorgänge pro Zeit ab. Bei entsprechenden digitalen Schwingschaltungen muss dies ständig stattfinden, so dass ein eher ungünstiger Energieverbrauch bei auf Ringoszillatoren basierenden Zufallszahlengeneratoren entsteht. Insbesondere bei mobilen Anwendungen ist es wünschenswert, den Energieverbrauch bzw. die Stromaufnahme der hardwaremäßig implementierten Schaltungen gering zu halten. Dennoch soll ein statistisch guter physikalischer Zufall entstehen.
  • Ferner ist eine möglichst hohe Entropie der Ausgangsbits wünschenswert.
  • Daher besteht eine Aufgabe der vorliegenden Erfindung darin, eine verbesserte Vorrichtung und/oder ein Verfahren zum Erzeugen von Zufallsbits bereitzustellen.
  • Demgemäß wird ein Verfahren zum Erzeugen von Zufallsbits vorgeschlagen, bei dem eine Mehrzahl von kombinatorische Abbildungen verkettet nacheinander durchgeführt werden, wobei eine jeweilige kombinatorische Abbildung eine vorgegebene Anzahl n Eingangssignale auf eine vorgegebene Anzahl p Ausgangssignale abbildet. Mindestens eine der Mehrzahl von kombinatorischen Abbildungen ist derart gewählt, dass eine Zustandsänderung eines Eingangssignals durch die kombinatorische Abbildung im Mittel auf mehr als ein Ausgangssignal abgebildet wird. Es wird dabei keine Rückkopplungsschleife derart erzeugt, dass eine Zustandsänderung mindestens eines Rückkopplungsausgangssignals einer bestimmten kombinatorischen Abbildung als eine Zustandsänderung mindestens eines Eingangssignal für eine andere kombinatorische Abbildung derart zugeführt wird, dass eines oder mehrere Ausgangssignale der bestimmten Abbildung von der Zustandsänderung des Rückkopplungsausgangssignals beeinflusst wird. Einer ersten kombinatorischen Abbildung der Mehrzahl der miteinander verketteten Abbildungen werden durch ein Umschalten von einem ersten Eingangsbitmuster zu einem zweiten Eingangsbitmuster ein wohldefinierter logischer Pegelwechsel als Eingangsstartsignale eingekoppelt. Mehrere Ausgangssignale von einer oder mehreren kombinatorischen Abbildungen, welche von der ersten kombinatorischen Abbildung unterschiedlich ist, werden als ein Zufallsbitmuster erfasst. Dabei werden das erste Eingangsbitmuster und das zweite Eingangsbitmuster derart ausgewählt, dass eine Entropie des Zufallsbitmusters oberhalb einer vorgegebenen Entropieschwelle liegt.
  • Durch die Auswahl der beiden Eingangsbitmuster kann die Entropie und damit die Zufälligkeit der erzeugten Zufallsbitmuster verändert werden. Vorzugsweise werden die Eingangsstartsignale, welche von den Eingangsbitmustern abhängen, derart gewählt, dass eine möglichst hohe Entropie in den erfassten Zufallsbits des Zufallsbitmusters entsteht.
  • Als Entropiemaß kommt eine empirische ermittelte Entropie nach Shannon in Frage. Als Entropie kann prinzipiell allerdings jedes Maß für eine Zufälligkeit von Ereignissen, insbesondere von binären Ereignissen, verstanden werden. Bei dem vorgeschlagenen Verfahren werden ermittelte Entropiewerte untereinander oder mit Schwellwerten verglichen. Insofern kommt es auf die genaue Bestimmung oder Berechnung des Zufälligkeitsmaß nicht an.
  • Ein Erfassen erfolgt beispielsweise durch Abtasten, beispielsweise getaktet oder zu vorgegebenen anderen Zeitpunkten und dient der Ableitung eines Bitwertes H oder L, der aufgrund des stark schwankenden zufälligen Signals eine hohe Entropie bzw. Zufälligkeit aufweist.
  • Zum Beispiel wird die jeweilige kombinatorische Abbildung mit Hilfe einer entsprechenden kombinatorischen Abbildungseinrichtung implementiert. Es ist z. B. möglich, periodisch einen ”Zufallslauf” zu erzeugen, indem an eine erste Eingangsabbildungseinrichtung festgelegte Eingangssignalpegel gelegt werden, diese einen gesteuerten Zustandswechsel vollziehen und nach Durchlauf dieses Signals bzw. der sich ergebenden Signalflanke/n durch alle Abbildungseinrichtungen an einer End- oder Ausgangsabbildungseinrichtung die anliegenden Ausgangssignale oder eines der Ausgangssignale erfasst wird. Innerhalb des jitter- und zufallsbehafteten Signalverlaufs kann gesampelt werden, oder ein Zwischenspeicherelement erfasst die zeitlich nicht vorhersagbaren Zustandswechsel. Möglich ist auch, eine Zählereinrichtung an die Ausgänge, beispielsweise der letzten Ausgangsabbildungseinrichtung, anzulegen, welche Signalflanken oder die modulo einer natürlichen Zahl reduzierte Anzahl von Signalflanken zählt. Der oder die sich ergebenden Zählbitwerte können als Zufallsbit verstanden werden.
  • Durch die vorgegebenen Pegelwechsel, beispielsweise von einem logischen Low-Pegel (0) auf einen logischen High-Pegel (1) oder umgekehrt, wird aufgrund der logischen Abbildungseinrichtungen ein Durchlaufen des Signalwechsels durch die Kette von Abbildungseinrichtungen in Gang gesetzt. Durch die statistischen Schwankungen der Gatterdurchlaufzeiten entsteht dabei Jitter. Durch das Abtasten wird jeweils ein zufälliger Pegel abgegriffen, der von einer Erfassungsvorrichtung einem jeweiligen Zufallsbitwert zugeordnet ist.
  • In Ausführungsformen werden zum Auswählen des ersten Eingangsbitmuster und des zweiten Eingangsbitmusters in einem Initialisierungsschritt mehrere Zufallsbitmuster mit Hilfe von Probebitmusterpaaren erzeugt, wobei ein Probebitmusterpaar ein erstes und ein zweites Probeeingangsbitmuster zum Erzeugen von wohldefinierten logischen Pegelwechseln als Eingangsstartsignale umfasst. Vor der eigentlichen Zufallszahlerzeugung können so die Eingangsstartsignalformen bestimmt werden, die eine geeignete Entropie in den Zufallsbitwerten hervorrufen.
  • Dabei können die Probebitmusterpaare alle Kombinationen von ersten und zweiten Probeeingangsbitmuster umfassen. Dabei sind das erste und das zweite Eingangsbitmuster vorzugsweise unterschiedlich voneinander. Bei einer Bitbreite von vier der ersten kombinatorischen Abbildung sind beispielsweise 240 = 16·15 verschiedene Muster von Pegelwechseln, bzw. Probebitmusterpaaren, für die Eingangsstartsignale möglich, weil es für das erste Bitmuster 16 Möglichkeiten gibt, für das zweite, das vom ersten verschieden sein muss, nur 15
  • Man kann in Ausführungsbeispielen für jedes Probebitmusterpaar eine Entropie der mit Hilfe des jeweiligen Probebitmusterpaars erzeugten Zufallsbitmusters bestimmen. Insofern kann aus den Entropiewerten das günstigste Probebitmusterpaar ausgewählt werden.
  • Insbesondere wird aus den Probebitmusterpaaren dasjenige als erstes Eingangsbitmuster und zweites Eingangsbitmuster ausgewählt, für welches die erzeugten Zufallsbitmuster die größte Entropie aufweisen.
  • In einer Variante des Verfahrens wird ein Probebitmusterpaar als erstes Eingangsbitmuster und zweites Eingangsbitmuster ausgewählt, sobald die mit Hilfe des jeweiligen Probebitmusterpaars erzeugten Zufallsbitmuster eine Entropie oberhalb der vorgegebenen Entropieschwelle aufweisen.
  • Vorzugsweise ist wenigstens eine der kombinatorischen Abbildungen eine Bijektion mit einem maximalen Avalancheeffekt.
  • Die Bijektion ist insbesondere derart gewählt, dass eine Zustandsänderung eines Eingangsbits durch die mindestens eine kombinatorische Bijektion im Mittel auf eine maximale Anzahl von Ausgangsbits abgebildet wird, wobei im Mittel heißen kann, dass über alle möglichen Eingangsbitmuster mit jeweils einer Zustandsänderung eines der Eingangsbits der mindestens einen kombinatorischen Bijektion gemittelt wird. Bei dem Verfahren kann die Anzahl von Signalflanken in den mehreren Ausgangssignalen als Zufallsbitmuster, insbesondere mit Hilfe von Zwischenspeicherelementen, ermittelt werden.
  • Eine Ausführungsform einer Vorrichtung zum Erzeugen von Zufallsbits umfasst:
    eine Mehrzahl von Abbildungseinrichtungen, wobei jede der Mehrzahl von Abbildungseinrichtungen eingerichtet ist, eine vorgegebene Anzahl n Eingangssignale mit Hilfe einer kombinatorischen Abbildung in eine vorgegebene Anzahl p Ausgangssignale abzubilden,
    wobei die Abbildungseinrichtungen der Mehrzahl von Abbildungseinrichtungen miteinander verkettet sind und mindestens eine Abbildungseinrichtung eine kombinatorische Abbildung derart implementiert, dass eine Zustandsänderung eines Eingangssignals der mindestens einen Abbildungseinrichtung im Mittel auf mehr als ein Ausgangssignal der mindestens einen Abbildungseinrichtung abgebildet wird,
    wobei keine Rückkopplungsschleife derart vorliegt, dass eine Zustandsänderung mindestens eines Rückkopplungsausgangssignals einer bestimmten Abbildungseinrichtung als eine Zustandsänderung mindestens eines Eingangssignals einer anderen Abbildungseinrichtung derart zugeführt ist, dass eines oder mehrere Ausgangssignale der bestimmten Abbildungseinrichtung von der Zustandsänderung des Rückkopplungsausgangssignals beeinflusst wird; und
    eine Starteinrichtung, welche eingerichtet ist, einer ersten Abbildungseinrichtung der Mehrzahl der miteinander verketteten Abbildungseinrichtungen durch ein Umschalten von einem ersten Eingangsbitmuster zu einem zweiten Eingangsbitmuster wohldefinierte logische Pegelwechsel als Eingangsstartsignale einzukoppeln;
    eine Erfassungsvorrichtung, welche eingerichtet ist, mehrere Ausgangssignale an Ausgängen einer oder mehrerer Abbildungseinrichtungen, welche von der ersten Abbildungseinrichtung unterschiedlich sind, abzutasten und ein Zufallsbitmuster zu erzeugen;
    eine Speichereinrichtung zum Speichern des ersten Eingangsbitmusters und das zweiten Eingangsbitmusters, wobei das erste Eingangsbitmuster und das zweite Eingangsbitmuster derart gewählt sind, dass eine Entropie des Zufallsbitmusters oberhalb einer vorgegebene Entropieschwelle liegt.
  • Die Vorrichtung zum Erzeugen von Zufallsbits ist beispielsweise zur Durchführung des zuvor und im Folgenden beschriebenen Verfahrens eingerichtet.
  • Vorzugsweise ist n, p > 2, besonders bevorzugt ist n, p > 3. Die Anzahl von verketteten kombinatorischen Abbildungen ist vorzugsweise geringer als 20, besonders bevorzugt geringer als 11 und in Ausführungsformen vier oder fünf.
  • Das ausgewählte erste Eingangsbitmuster und das zweiten Eingangsbitmuster sind insbesondere in einem Speicher abgelegt.
  • In Ausführungsformen ist die Erfassungseinrichtung eingerichtet, die Ausgangssignale einer letzten Abbildungseinrichtung der Mehrzahl der miteinander verketteten Abbildungseinrichtungen als Zufallsbits zu erfassen. Beispielsweise, ist eine lineare Kette von kombinatorischen Abbildungseinrichten vorgesehen, wobei der Kette eingangsseitig Pegelwechsel zum Erzeugen von Signalflanken eingekoppelt werden, und ausgangsseitig echte Zufallssignale abgetastet werden.
  • Die Erfassungseinrichtung kann eingerichtet sein, ein Ausgangssignal in Abhängigkeit von einem anderen Ausgangssignal abzutasten.
  • Die Erfassungsvorrichtung weist beispielsweise ein Zwischenspeicherelement, insbesondere ein T-Flip-Flop, auf. Mithilfe von Flip-Flops, insbesondere T-Flip-Flops können aufwandsgünstig eine Erfassung der Ausgangssignale und eine Abbildung auf logische Zufallspegel erfolgen. Denkbar sind auch einer oder mehrere Zähler zum Erfassen von Signalflanken oder Zustandswechseln einzelner Signale. Ein T-Flip-Flop ist insbesondere geeignet, steigende oder fallende Signalflanken modulo 2 zu zählen.
  • In Ausführungsformen werden die wohldefinierten logischen Pegelwechsel durch ein Umschalten von einem ersten Eingangsbitmuster zu einem zweiten Eingangsbitmuster erzeugt. Es kann insbesondere ein logischer Pegelwechsel durch ein Umschalten von einem ersten Eingangsbitmuster zu einem zweiten Eingangsbitmuster erfolgen und die abgetasteten Ausgangssignale ersten Zufallsbits zugeordnet werden.
  • In Ausführungsformen ist die Erfassungsvorrichtung ferner eingerichtet, eine zeitliche Reihenfolge von Zustandswechseln von Ausgangssignalen bei jedem wohldefinierten logischen Pegelwechsel der Eingangsstartsignale zu erfassen.
  • Vorzugsweise sind die Abbildungseinrichtungen derart miteinander verkettet, dass keine Rückkopplung entsteht. Dadurch ergibt sich, dass die Vorrichtung nicht kontinuierlich Umschaltvorgänge in einer Implementierung als Digitalschaltung vollziehen muss, was den Stromverbrauch begrenzt.
  • Man kann sagen, die Vorrichtung entwickelt keine „Schwingungen” oder Signalwechsel propagieren nicht im Kreis. Beispielsweise sind die Ausgangssignale alle vorwärtsgekoppelt. Vorzugsweise hängt keines der Ausgangssignale kausal von sich selbst ab, indem es rückgekoppelt wird.
  • In Ausführungsformen sind die Abbildungseinrichtungen derart miteinander verkettet, dass keine Rückkopplungsschleife derart ausgebildet ist, dass eine Zustandsänderung mindestens eines Ausgangssignals einer Abbildungseinrichtung als eine Zustandsänderung mindestens eines Eingangssignals einer anderen Abbildungseinrichtung zugeführt ist. Prinzipiell können Rückkopplungspfade vorgesehen sein, die jedoch vorzugsweise nicht zu Schwingungen führen. Grundsätzlich ist es möglich, dass der Ausgang einer Abbildungseinrichtung bzw. ein Ausgangssignal als Eingangssignal für eine im Signalpfad stromaufwärts vorliegende Abbildungseinrichtung genutzt wird.
  • Die Anzahl der n Eingangssignale einer jeweiligen Abbildungseinrichtung kann der Anzahl p der Ausgangssignale entsprechen. Es ist aber auch denkbar, dass n ungleich p ist, also dass mit Hilfe einer jeweiligen Abbildungseinrichtung die Zustände der Eingangssignale auf Zustände von Ausgangssignalen abgebildet werden, wobei die Anzahl der Ausgangssignale kleiner oder größer als die Anzahl der Eingangssignale für eine jeweilige Abbildungseinrichtung ist.
  • Die Abbildungseinrichtungen können logische oder kombinatorische Gatter sein, die insbesondere eine bijektive Abbildung von n Eingangssignalen auf n Ausgangssignale realisieren. Die Eingangssignale schwanken zwischen Pegeln, die logischen Zuständen, wie Bits 1 bzw. High oder 0 bzw. Low zugeordnet werden können. Unter einer bijektiven Abbildung versteht man eine eineindeutige Abbildung zwischen den 2n möglichen logischen Werten der Eingangssignale und den 2n logischen Werten der Ausgangssignale.
  • In Ausführungsformen der Vorrichtung ist mindestens eine kombinatorische Abbildung derart eingerichtet, dass die Eingangssignale unter Beaufschlagung eines Jitters und einer logischen Funktion auf die Ausgangssignale abgebildet werden. Durch die hardwaremäßige Implementierung der kombinatorischen Abbildung durch die Abbildungseinrichtungen können sich Jitter, also Schwankungen, in dem zeitlichen Verlauf von Signalflanken ergeben. Dieser Jitter wird dann durch Vollziehen der logischen Funktion, also der Abbildung der Kombination von n Eingangssignalen oder Bitwerten auf p Ausgangssignale oder Bitwerte, jeweils weitergeführt und akkumuliert sich über die Durchläufe durch die Abbildungseinrichtungen.
  • Insofern ergibt sich in Ausführungsformen der Vorrichtung eine begrenzte Kette von Abbildungseinrichtungen. Die Abbildungseinrichtungen können auch als Knoten oder Gatter bezeichnet sein. Wenigstens eine der kombinatorischen Abbildungen ist insbesondere derart eingerichtet, dass im Mittel bei einer Zustandsänderung eines Eingangssignals an mehr als einem Ausgangssignal ein Zustandswechsel erfolgt. Das führt dazu, dass ein jeweiliger Jitter des Eingangssignals auf mehrere Ausgangssignale abgebildet wird und daher verstärkt wird. Ein einmal aufgetretener Jitter in einem Signal wird mit Hilfe der Abbildungseinrichtungen bzw. der darin implementierten kombinatorischen Abbildungen auf mehrere Ausgangsspuren kopiert, so dass sich Jitter-Komponenten kaum kompensieren können.
  • In Ausführungsformen ist mindestens eine ausgewählte Abbildungseinrichtung vorgesehen, deren Ausgangssignale von allen Eingangssignalen der übrigen Abbildungseinrichtungen entkoppelt sind. Beispielsweise kann dies die letzte Abbildungseinrichtung einer Kette von m Abbildungseinrichtungen sein, die linear miteinander verkoppelt sind. Es ergibt sich insbesondere ein endlicher Signalverlauf. Das kann bedeuten, dass ausschließlich in einem vorgegebenen Zeitintervall ein Signal- oder ein Zustandswechsel eines Signals sich durch die verketteten Abbildungseinrichtungen fortsetzt. Denn von einer ersten Eingangsabbildungsvorrichtung aus propagiert entlang der verketteten Abbildungseinrichtungen ein sich sukzessive mit Jittern und Zufallsbeiträgen ausbreitendes Zufallssignal bzw. mehrere gemäß der jeweiligen Bitbreite der Abbildungseinrichtungen. Unter einer Entkopplung kann man verstehen, dass die Ausgangssignale nicht an Eingänge anderer Abbildungseinrichtungen geführt sind.
  • Es können in einem derartigen Signalpfad von einer ersten bis zu einer letzten Abbildungseinrichtung, die als Ausgangsabbildung bezeichnet werden kann, weitere Schaltungen, wie Logikgatter oder Verzögerungselemente, vorgesehen sein.
  • Vorzugsweise sind zumindest einige der Abbildungen keine kombinatorischen Abbildungen, welche ausschließlich eine Permutation der Eingangssignale auf die Ausgangssignale liefern. Eine Permutation der Eingangssignale liegt insbesondere dann vor, wenn die Ausgangssignale den Eingangssignalen entsprechen oder lediglich durch eine Änderung der Reihenfolge aus den Eingangssignalen entstehen. Bei einer Permutation ergibt sich keine ”Vervielfältigung” des Jitters.
  • In Ausführungsformen der Vorrichtung zum Erzeugen von Zufallsbits sind die Abbildungseinrichtungen derart eingerichtet, dass deren Signaldurchlaufzeiten gleich sind. Durch möglichst gleiche Signallaufzeiten wird das Risiko vermindert, dass sich Jitter-Beiträge gegenseitig kompensieren können. Außerdem wird eine Implementierung in der Art von ASICs oder FPGAs erleichtert. Beispielsweise sind die Abbildungseinrichtungen so eingerichtet, dass alle möglichen Zustandswechsel an den jeweiligen Ausgängen alle innerhalb eines Toleranzintervalls von 100 ps und bevorzugt innerhalb von 50 ps erfolgen.
  • In Ausführungsformen der Vorrichtung umfasst mindestens eine Abbildungseinrichtung eine Lookup-Table bzw. eine Nachschlagetabelle zur Implementierung der kombinatorischen Abbildung. Es ist auch möglich, dass alle Abbildungseinrichtungen mit einer oder mehreren jeweiligen Lookup-Tables versehen sind. Lookup-Tables können einfach ausgelesen werden und erfordern nur einen geringen Hardwareaufwand. Häufig sind in programmierbaren Logikchips, wie FPGAs, entsprechende Felder oder bereits Tabellen vorgesehen.
  • In Ausführungsformen der Vorrichtung können die Lookup-Tables mit zufälligen Bitwerten unter Verwendung von Zufallselementen gefüllt werden. Es ist beispielsweise möglich, die Lookup-Tables, die in Abhängigkeit von einem Eingangsbitmuster an Eingängen der Abbildungseinrichtungen ein entsprechendes Ausgangsbitmuster an Ausgängen liefern, so zu erzeugen, dass die durch die Lookup-Table repräsentierte Abbildung zufällig aus allen (2n)! Bijektionen von n logischen Signalen auf n logische Signale ausgewählt wird. Vorzugsweise sind in den Abbildungseinrichtungen jeweils unterschiedliche kombinatorische Abbildungen implementiert.
  • Die Vorrichtung zum Erzeugen von Zufallsbits kann Teil einer Verschlüsselungsvorrichtung sein. Insofern wird ferner eine Verschlüsselungsvorrichtung vorgeschlagen, die eine Recheneinrichtung zur Durchführung eines Verschlüsselungsalgorithmus an Eingangsdaten umfasst und eine Vorrichtung zum Erzeugen von Zufallsbits, wie sie zuvor und im Folgenden beschrieben ist.
  • In Abhängigkeit von einem oder mehreren mit Hilfe der Vorrichtung zum Erzeugen von Zufallsbits erzeugten Zufallsbits werden so verschlüsselte Daten erzeugt.
  • Insofern ermöglichen die Vorrichtung und das Verfahren zum Erzeugen von Zufallsbits eine besonders sichere Verschlüsselung, da zuverlässig zufällige Bits erzeugt werden können.
  • In Ausführungsformen ist die Vorrichtung Teil einer FPGA-Einrichtung oder einer ASIC-Einrichtung.
  • Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst.
  • Ein Computerprogrammprodukt, wie z. B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z. B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen. Als programmgesteuerte Einrichtung kommt insbesondere eine Steuereinrichtung, wie zum Beispiel ein Mikroprozessor für eine Smartcard oder dergleichen in Frage. Das Verfahren oder die Vorrichtung kann auch festverdrahtet oder in konfigurierbaren FPGAs oder ASICSs implementiert werden.
  • Das Verfahren kann insbesondere über geeignete Beschreibungssprachen, beispielsweise VHDL oder Verilog, auf oder in einer FPGA- oder ASIC-Vorrichtung implementiert werden. Bei der FPGA-Vorrichtung bzw. dem Verfahren sind die Abbildungseinrichtungen vorzugsweise derart eingerichtet, dass Zustandsänderungen an einem Eingangssignal der n Eingangssignale in Abhängigkeit von der kombinatorischen Abbildung zu einem gleichen Zeitpunkt einen Zustandswechsel in einem oder mehreren der p Ausgangssignale möglichst zeitgleich hervorrufen.
  • Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Vorrichtungen oder Verfahrensvarianten. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen oder abändern.
  • Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden.
  • Dabei zeigen:
  • 1 eine schematische Darstellung eines Ausführungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits;
  • 2 zeigt ein schematisches Ablaufdiagramm für ein erstes Verfahren zum Erzeugen von Zufallsbits;
  • 3 zeigt ein schematisches Ablaufdiagramm für ein zweites Verfahren zum Erzeugen von Zufallsbits;
  • 4 zeigt eine Tabelle mit Häufigkeiten von auftretenden Bitmustern in einem Ausführungsbeispiel für eine Vorrichtung zum Erzeugen von Zufallsbits; und
  • 5 zeigt eine schematische Darstellung eines Ausführungsbeispiels für eine Verschlüsselungsvorrichtung.
  • In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.
  • In der Beschreibung wird unter einem „wohldefinierten Pegelwechsel” verstanden, dass eine im Wesentlichen steigende oder fallende Signalflanke erzeugt wird. Die jeweilige Signalflanke kann aber muss nicht reproduzierbar erzeugt werden.
  • Dass die Abbildungen „im Mittel” eine Zustandsänderung eines Eingangssignals – oder eine Signalflanke – einer jeweiligen Abbildungseinrichtung auf mehr als ein Ausgangssignal der jeweiligen Abbildungseinrichtung abbilden, bedeutet, dass über alle möglichen Kombinationen von Eingangszustandsänderungen gemittelt mehr als eine Ausgangsbitmusteränderungen von einer Abbildung hervorgerufen werden.
  • Zum Beispiel sind alle oder eine Auswahl der kombinatorischen Abbildungen derart ausgestaltet, dass bei einem n Bit breiten Eingangsbitmuster wenigstens eine Eingangsbitmusteränderung, bei der beispielsweise q < n Bits den Zustand ändern, zu einer Ausgangsbitänderung, bei der q + 1 Bits ihren Zustand ändern, führt.
  • Die 1 zeigt eine schematische Darstellung eines ersten Ausführungsbeispiels für eine Vorrichtung zum Erzeugen von Zufallsbits. Die Vorrichtung 1 ist in der Art einer Kette von Abbildungseinrichtungen 2 12 m ausgestaltet. Dazu sind seriell hintereinander kombinatorische Digitalschaltungen 2 12 m gekoppelt. Die kombinatorischen Digitalschaltungen 2 12 m können auch als logische Gatter oder Abbildungseinrichtungen für eine jeweilige kombinatorische Abbildung K1–Km verstanden werden.
  • Ferner ist eine Starteinrichtung 3 vorgesehen, die festgelegte Werte für die Eingangssignale ES11–ES1n für die erste Abbildungseinrichtung 2 1 bereitstellt und davon ausgehend Pegelwechsel für diese Eingangsstartsignale erzeugt. Es wird von einem ersten Eingangsbitmuster BM1 auf ein zweites Eingangsbitmuster BM2 umgeschaltet. Die dadurch entstehenden Signalflanken setzen sich durch die Kette von Abbildungen fort. An die letzte Ausgangsabbildungseinrichtung 2 m der Kette ist eine Erfassungs- oder Abtastvorrichtung 4 gekoppelt, die die Ausgangssignale Am1–Amn der letzten Abbildungseinrichtung 2 m erfasst. Beispielsweise werden dazu Latches oder Flip-Flops eingesetzt, die Signalflanken innerhalb des zufälligen Signalverlaufs erfassen. Man erhält dadurch ein Zufallsbitmuster TBMi, das an eine Speichereinrichtung 6 übermittelt wird. Der Index i steht für die Anzahl der „Zufallsläufe”, beispielsweise ausgehend von demselben Eingangsstartsignalen ES11–ES1n.
  • Aus den erfassten Pegeln oder der Anzahl von Signalflanken, die in das Zufallsbitmuster TBMi eingehen, lässt sich ein Zufallsbit oder mehrere Zufallsbits als eine Zufallszahl ZZ ableiten, die von der Speichereinrichtung 6 ausgegeben werden kann.
  • In der 1 ist n = p. Das Abtasten kann durch ein Taktsignal CK getriggert werden.
  • Das derart erzeugte Zufallsbitsignal oder Zufallsbitmuster TBMi kann einer optionalen Steuer- und Auswerteeinrichtung 7 zugeführt werden. Die Steuereinrichtung 7 unterzieht die erfassten Zufallsbits des Zufallsbitmusters TBMi beispielsweise mit Hilfe statistischer Methoden einer Nachbearbeitung, um Schiefen in den erzeugten Zufallsbits zu kompensieren. Man erhält dadurch am Ausgang echte Zufallszahlen ZZ. Eine Schiefe von erzeugten Zufallsbits bezeichnet die Abweichung des Verhältnisses der Anteile von Nullen und Einsen vom Idealwert 0,5. Bei einer idealen Schiefe liegt eine Verteilung von Zufallsbits von 1 und 0 mit einer Wahrscheinlichkeit von 0,5 vor. Eine Schiefe von 2% bedeutet, dass eine Wahrscheinlichkeit für einen H-Pegel oder eine Eins bei 0,52 liegt.
  • Jede Abbildungseinrichtung 2 i hat n Eingänge für ein n Bit breites Eingangssignal Eij mit j = 1...n und p Ausgänge für ein p Bit-breites Ausgangssignal Aij mit j = 1...p. In der 1 sind die Ein- und Ausgänge nicht explizit angegeben. Eine jeweilige Abbildungseinrichtung 2 i empfängt insofern Ei1–Ein Eingangssignale und gibt Ai1–Aip Ausgangssignale aus. Die Verknüpfung zwischen Ein- und Ausgangssignalen ist über eine kombinatorische Abbildung Ki realisiert. Man erkennt in der Darstellung der 1, in der n = p ist, dass die K1 bis Km kombinatorischen Abbildungen hintereinander verkettet erfolgen.
  • Beim Betrieb der Vorrichtung zum Erzeugen von Zufallsbits 1 propagieren mit Jittern beaufschlagte Signale von der ersten Eingangsabbildungseinrichtung 2 1 bis zur Ausgangsabbildungseinrichtung 2 m. Die Abbildungseinrichtungen 2 12 m sind derart als kombinatorische Abbildungen K1–Km implementiert, dass im Mittel ein Zustandswechsel des an einem jeweiligen Eingang vorliegenden Signals Ek1–Ekn zu einem Zustandswechsel in mehr als einem der Ausgangssignale Ak1–Akn führt. Das heißt, eine Veränderung eines jeweiligen Input-Bits bzw. eines logischen Zustandes eines Eingangssignals Ekj führt im Mittel (beispielsweise über alle möglichen Inputbelegungen von Ek1–Ekn und allen Ein-Bit Wechseln des Eingangssignals Ekj für j von 1–n) zu Änderungen in mehr als einem der Output-Bits des jeweiligen Knotens bzw. der jeweiligen Abbildungseinrichtung. Insofern akkumulieren und vervielfältigen sich Jitter, die in den Signalen E11 bis Emn bzw. A11 bis Am-1,n vorliegen, beim Durchlauf durch die verketteten Abbildungseinrichtungen 2 1 bis 2 m. Das bedeutet, je länger der Signalweg ist, also je mehr verkettete seriell verschaltete Abbildungseinrichtungen 2 12 m vorliegen, desto stärker wird ein vorliegender Jitter verstärkt und auf die n oder p verschiedenen Kanäle kopiert.
  • Obgleich dies der Einfachheit halber in der 1 so dargestellt ist, müssen die Abbildungseinrichtungen 2 12 m nicht zwingend dieselbe Anzahl n von Ein- und Ausgängen haben. Die Bitbreite kann in der 1 im Verlauf des Signalweges von der Startvorrichtung 3 zur Abtastvorrichtung 6 variieren. Die Abbildungseinrichtungen können die jeweilige kombinatorische Abbildung K1 bis Km in der Art von Lookup-Tables 5 15 m implementieren.
  • Die jeweilige Signaldurchlaufzeit in einer Abbildungseinrichtung bzw. einem logischen oder kombinatorischen Gatter 2 i ist bei Implementierung durch Lookup-Tables für alle Eingangssignale Ei1 bis Ein im Wesentlichen gleich, so dass aufgrund der implementierten kombinatorischen Abbildung Ki der Wechsel eines logischen Zustands an einem Eingangssignal Eij im Wesentlichen zeitgleich zu logischen Wechseln an einem oder mehreren Ausgangssignalen Ail mit l = 1...n ist. Insofern ergeben sich n Kanäle mit zufälligen Signalformen, die von den Jittern hervorgerufen sind, die von den die digitalen Abbildungseinrichtungen aufbauenden Schaltelementen hervorgerufen sind.
  • Die schematisch angedeutete Vorrichtung zum Erzeugen von Zufallsbits 1 lässt sich insbesondere aufwandsgünstig in FPGA- oder ASIC-Einrichtungen realisieren. Gegenüber konventionellen Ringoszillatoren lassen sich mit einer höheren Datenrate Zufallsbits erzeugen, da insbesondere der den Zufall begünstigende Jitter mit Hilfe der mehreren Kanäle potenziell n-fach vervielfältigt wird. Es ist durch die vielen Kanäle und Abbildungen unwahrscheinlich, dass Jitter-Beiträge einander kompensieren. Insofern kann aufwandsgünstig ein Zufallszahlengenerator mit einer hohen Zufallsbit-Erzeugungsfrequenz realisiert werden.
  • Aufgrund der linearen Topologie und endlichen Anzahl von kombinatorischen Abbildungen bzw. Abbildungseinrichtungen 2 12 m durchläuft eine Signalflanke oder eine Eingangssignaländerung unter Beaufschlagung eines Jitters und Anwendung der kombinatorischen Abbildungen eine begrenzte Anzahl von Logikgattern. Demnach ist auch die Anzahl der Umschaltvorgänge beim Durchlauf einer Signalflanke oder Signaländerung von der Starteinrichtung 3 bis zur Abtasteinrichtung 6 endlich. Es ergibt sich dadurch ein besonders niedriger Stromverbrauch, so dass die vorgeschlagene Vorrichtung insbesondere zum Einsatz in mobilen Anwendungen, beispielsweise auf Chipkarten, geeignet ist.
  • Vorzugsweise sind maximal 100 Abbildungseinrichtungen verkettet miteinander vorgesehen. In Ausführungsformen sind jedoch auch nur bis zu 50 Abbildungen denkbar. Bevorzugt ist die Anzahl der miteinander verketteten Abbildungen bzw. Abbildungseinrichtungen zwischen 3 und 20. In besonderen Ausführungsformen ist die Anzahl zwischen 4 und 10 Abbildungseinrichtungen.
  • Um einen sogenannten Zufallslauf zu erzeugen, liefert die Starteinrichtung 3 wohldefinierte Pegelwechsel als Eingangssignale ES11–ES1n, welche durch die Kette von Abbildungseinrichtungen 2 12 m propagieren. Die tatsächliche Entropie der erzeugten Zufallsbitmuster TBMi hängt dabei von dem jeweiligen Eingangsbitmusterpaar ab. Bei einer n = 4 breiten Ausgestaltung der kombinatorischen Abbildungen K1–Km bzw. Abbildungseinrichtungen 2 12 m erfolgt das Einkoppeln der Eingangsstartsignale ES11–ES14 durch Umschalten von einem ersten Bitmuster BM1 = BM11...BM14 auf ein zweites Bitmuster BM2 = BM21...BM24. Dieses Bitmusterpaar ist so gewählt, dass eine möglichst hohe Entropie für die erfassten Zufallsbitmuster TBMi entsteht. Die Bitmuster BM1 und BM2 sind in der Speichereinrichtung 8 abgelegt. Die Steuereinrichtung 7 kann über geeignete Steuersignale CT die Eingangsbitmusterpaare speichern oder verändern. Ferner ist die Steuereinrichtung 7 eingerichtet, aus einer Statistik von erhaltenen Zufallsbitmusters TBMi die Entropie auszurechnen.
  • In den 2 und 3 sind mögliche Ablaufdiagramme für Verfahren zum Erzeugen von Zufallsbits insbesondere mit der in 1 dargestellten Vorrichtung 1 dargestellt. Gemäß der 2 wird beispielsweise in einem Initialisierungsschritt S1 zunächst ein geeignetes günstiges erstes und zweites Bitmuster BM1, BM2 als Startbitmusterpaar bestimmt. Im Wesentlichen koordiniert die Steuereinrichtung 7 die Durchführung des in der 2 angedeuteten Verfahrens.
  • In einem ersten Schritt S11 werden Eingangsstartsignale ES11–ES1n aus einem Bitmusterpaar BM1, BM2 erzeugt. Wie zuvor beschrieben, entstehen dadurch propagierende Signalformen, die im Schritt S12 durch die Abtasteinrichtung 4 erfasst werden. Man erhält dadurch ein Zufallsbitmuster TBMi. Das Zufallsbitmuster TBMi wird im Schritt S13 abgespeichert, was durch die Speichereinrichtung 6 erfolgen kann.
  • Um eine Entropie im Folgeschritt S14 erstellen zu können, wird dieser Vorgang wiederholt. Das heißt, aus demselben Bitmusterpaar BM1, BM2 werden mehrfach Zufallsbitmuster TBMi erzeugt. Dies geschieht durch Abtastung im Schritt S12 und Abspeicherung im Schritt S13. Die Steuereinrichtung 7 führt nach Auslesen und Auswerten der erhaltenen Zufallsbitmuster TBMi eine Entropieberechnung durch.
  • Liegt die Entropie beispielsweise oberhalb einer bestimmten Schwelle, kann im Schritt S15 entschieden werden, dass der Zufallsbiterzeuger 1 mit den ausgewählten vorliegenden und abgespeicherten ersten und zweiten Bitmustern B1l und BM2 betrieben werden soll. Das heißt, in einer Betriebsphase S2 werden die Schritte S21, das Einkoppeln von Eingangsstartsignalen, S22, Abtasten mit Hilfe der Erfassungseinrichtung 4 und Ableiten einer Zufallszahl im Schritt S23 durchgeführt. Aus den mehreren Stellen des Zufallsbitmusters TBMi kann ein Zufallsbit oder mehrere Zufallsbits als binäre Zufallszahl ZZ ermittelt werden. Diese wird im Speicher 6 auslesbar bereitgestellt.
  • Falls im Schritt S15 erkannt wird, dass die ermittelte Entropie zu niedrig ist, wird im Schritt S16 die Kombination von erstem und zweitem Bitmuster zum Erzeugen der Eingangsstartsignale verändert. Daran schließt sich erneut eine Durchführung der Schritt S11–S15 an, bis ein Startbitmusterpaar ermittelt wird, welches zu einer ausreichend hohen Entropie in den Zufallsbitmustern TBMi führt. Es ist zum Beispiel möglich, alle Kombinationen von zwei Bitmustern BM1 und BM2 zu testen.
  • In der 3 ist ein abgewandelter Betrieb für die Vorrichtung zum Erzeugen von Zufallszahlen 1 angedeutet. Die in der 2 bereits erläuterten Schritte sind mit denselben Bezeichnungen S11–S14 und S16 versehen. Gemäß dem Ablaufdiagramm der 3 führt die Steuereinrichtung 7 anhand von Probebitmusterpaaren BMPj eine Entropiebestimmung durch. Beispielsweise werden bei einem n = 4 Bit breiten Zufallsbitgenerator 1, wie in der 1 dargestellt ist, die 16 × 16 möglichen Probebitmusterpaare BMPi mit j = 1–256 ausprobiert. Für jedes Probebitmusterpaar BMPj wird die Entropie im Schritt S14 ermittelt. Im Schritt S17 wird diese abgespeichert. Dies erfolgt beispielsweise in der Speichereinrichtung 6. Nachdem alle möglichen Probebitmusterpaare BMPj hinsichtlich der erzeugten Entropie im jeweiligen Zufallsbitmuster TBMi ermittelt wurde, erfolgt die Auswahl im Schritt S18. Beispielsweise wird das Probebitmusterpaare BMPi ausgewählt, welches den höchsten Entropiewert liefert. Dieses Probebitmusterpaar wird dann als erstes Eingangsbitmuster BM1 und zweites Eingangsbitmuster BM2 im Speicher 8 abgelegt.
  • Die Initialisierungsphase, die mit S1 bezeichnet ist, kann bereits herstellerseitig durchgeführt werden. Denkbar ist auch, dass bei einem Hochfahren oder Initialisieren einer entsprechenden Vorrichtung 1 zum Erzeugen von Zufallsbits, die für eine möglichst hohe Entropie geeigneten Start- oder Eingangsbitmuster festgelegt werden.
  • Insofern ermöglicht die vorgeschlagene Vorgehensweise eine chipindividuelle Auswahl der zum Start der Zufallsbiterzeugung umzuschaltenden Bitmuster. Dadurch werden besonders kurze rückkopplungsfreie Mehrspur-Zufallszahlengeneratoren möglich, denn bei einer gezielten Auswahl der Eingangsstartsignalen kann auch bei kurzen Längen, wie beispielsweise m = 4 bis 10 eine gute bzw. hohe Entropie erzielt werden. Insbesondere bei kurzen Generatoren ist der Hardwareaufwand nur sehr gering.
  • Dadurch, dass nur wenige kombinatorische Abbildungseinrichtungen notwendig sind, die zudem als Lookup-Table ausgeführt sein können, ist der Energieaufwand pro erzeugtem Zufallsbit gering.
  • Da im Vergleich zu konventionellen langen Ketten von kombinatorischen Abbildungseinrichtungen die Signaldurchlaufzeit geringer ist, kann die Vorrichtung zum Erzeugen von Zufallsbits mit einer hohen Takt- oder Abtastrate betrieben werden. Dadurch wird eine hohe Entropieausbeute pro Zeit erreicht.
  • Es kann ferner der in der Initialisierungsphase ermittelte Entropiewert für die verschiedenen Probebitmusterpaare bei einer algorithmischen Nachbearbeitung der Zufallsbits berücksichtigt werden.
  • Die Anmelderin hat ferner Untersuchungen hinsichtlich der möglichen Entropiewerte durchgeführt. Die Anmelderin hat dabei einen FPGA-Chip vom Typ Spartan-3 von Xilinx als Vierspurschaltung mit vier Knoten implementiert, das heißt übertragen auf die Darstellung, wie sie in der 1 wiedergegeben ist, mit n = m = 4. Die kombinatorischen Bijektionen K1–K4 sind derart ausgestaltet worden, dass sich ein maximaler Avalanche-Effekt ergibt. Das heißt, bei einem Ändern eines einzelnen Inputbits in die jeweilige Abbildung Ki ändern sich möglichst viele Outputbits.
  • Es wurden nun alle möglichen Kombinationen von Bitmusterpaaren mit der Bitbreite vier untersucht. Die 4 zeigt eine Tabelle der erhaltenen Entropiewerte. In der linken Spalte sind die aus vier Bit möglichen Bitmuster PBM1i mit i = 1–16 nummeriert. In der oberen Zeile sind die als zweites Probebitmuster PBM2i mit i = 1–16 Bitmuster angedeutet.
  • Die Hauptdiagonale der Tabelle in 4 ergibt Nullwerte, weil das jeweilige erste Probebitmuster PBM1i auf dasselbe Probebitmuster PBM2i umgeschaltet wurde. Insofern ergibt sich kein wohldefinierter Pegelwechsel an den Eingängen der ersten Abbildungseinrichtung 2 1 (vgl. 1). Man erkennt in der Tabelle, dass die Entropiewerte erheblich von der Wahl der Probebitmusterpaare abhängen. Bei einer Umschaltung zum Erzeugen von Eingangsstartsignalen vom Bitmuster PBM17 auf das Bitmuster PBM212 erhält man beispielsweise eine Entropie von 2,183.
  • Die Entropie wurde dabei durch eine 10.000-fache Umschaltung pro Probebitmusterpaar ermittelt. Bezogen auf die 1 wurde die Erfassungseinrichtung 4, welche an die Ausgänge der vierten Abbildungseinrichtung 2 4 gekoppelt ist, mit T-Flip-Flops abgetastet. Als erhaltener Zufallsbitwert wurde insofern die Anzahl der positiven Signalflanken modulo-2 betrachtet. Bei dem von der Anmelderin untersuchten Ausführungsbeispiel war das die Umschaltung vom Bitmuster PBM17 = 1011 auf das Bitmuster PBM212 = 0110 die Kombination, welche die höchste Entropie lieferte. Die Entropie von 2,183 Bits ergibt sich aus den Häufigkeiten der durch die Abtasteinrichtung ermittelten 4 Bit breiten Zufallsbitmuster TBMi. Bei den Untersuchungen ergab sich 1.458 mal der Wert 4, 670 mal der Wert 5, 70 mal der Wert 6, 16 mal der Wert 7, 1.681 mal der Wert 12, 4.572 mal der Wert 13, 1.323 mal der Wert 14 und 210 mal der Wert 15.
  • Die Untersuchungen zeigen, dass selbst bei einem Vierspur-Zufallszahlengenerator der Länge 4 Zufallsbits mit einer Entropie von größer als zwei erreicht werden können.
  • Durch eine Initialisierung können insbesondere die Bitmusterpaare als Probebitmusterpaare ausgeschlossen werden, die keine Entropie liefern. Diese sind für die Zufallszahlenerzeugung eher nicht geeignet. Insgesamt kann aufgrund der Ermittlung der Entropie für verschiedene Probebitmusterpaare eine chipangepasste Auswahl von Eingangsstartsignalformen ermittelt werden. Beispielsweise in einer als ROM-Speicher 8 ausgestalteten Speichereinrichtung können die zwei besten, also die höchste Entropie liefernden, Eingangsbitmuster abgelegt werden. Es ist auch möglich, vor einem Betrieb einer entsprechenden Vorrichtung zum Erzeugen von Zufallsbits die jeweils bestgeeigneten Eingangsbitmuster zu bestimmen.
  • Die Vorrichtung 1 eignet sich insbesondere zum Einsatz in einer Verschlüsselungseinrichtung. Eine Vorrichtung zum Verschlüsseln von Daten ist als Ausführungsbeispiel in der 5 angedeutet. Die Verschlüsselungsvorrichtung 10 hat eine Vorrichtung zum Erzeugen von Zufallsbits 1 und eine Recheneinrichtung 9. Die Verschlüsselungseinrichtung 10 dient dem Verschlüsseln von Reindaten DT, die der Vorrichtung 10 zugeführt werden, in verschlüsselte oder chiffrierte Ausgangsdaten CDT. Dabei wird der Recheneinrichtung 9 eine Zufallszahl oder Zufallsbitfolge aus dem Zufallsbitgenerator 1 zugeführt. Diese Zufallsbitfolge ZZ kann als kryptographischer Schlüssel eingesetzt werden, so dass unter Anwendung eines Verschlüsselungsalgorithmus, beispielsweise AES oder dergleichen, aus den Eingangsdaten DT verschlüsselte Daten CDT erzeugt werden. Aufgrund der Zufallszahlerzeugung, die mit hoher Datenrate erfolgen kann, ergibt sich eine besonders sichere und schnelle Verschlüsselungsmöglichkeit.
  • Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.

Claims (10)

  1. Verfahren zum Erzeugen von Zufallsbits (ZB), bei dem eine Mehrzahl von kombinatorische Abbildungen (K1–Km) verkettet nacheinander durchgeführt werden, wobei eine jeweilige kombinatorische Abbildung (K1–Km) eine vorgegebene Anzahl n Eingangssignale (E11–Emn) auf eine vorgegebene Anzahl p Ausgangssignale (A11–Amp) abbildet und mindestens eine der Mehrzahl von kombinatorischen Abbildungen (K1–Km) derart gewählt ist, dass eine Zustandsänderung eines Eingangssignals (E11–Emn) durch die kombinatorische Abbildung (K1–Km) im Mittel auf mehr als ein Ausgangssignal (A11–Amp) abgebildet wird, wobei keine Rückkopplungsschleife derart erzeugt wird, dass eine Zustandsänderung mindestens eines Rückkopplungsausgangssignals (Aij) einer bestimmten kombinatorischen Abbildung (Ki) als eine Zustandsänderung mindestens eines Eingangssignals (Ekl) für eine andere kombinatorische Abbildung (Kk) derart zugeführt wird, dass eines oder mehrere Ausgangssignale (Ai1–Aip) der bestimmten Abbildung (Ki) von der Zustandsänderung des Rückkopplungsausgangssignals (Aij) beeinflusst wird, wobei einer ersten kombinatorischen Abbildung (K1) der Mehrzahl der miteinander verketteten Abbildungen (K1–Km) durch ein Umschalten von einem ersten Eingangsbitmuster (BM1) zu einem zweiten Eingangsbitmuster (BM2) wohldefinierte logische Pegelwechsel (PW) als Eingangsstartsignale (ES11–ES1n) eingekoppelt werden; wobei mehrere Ausgangssignale (A11–Amp) von einer oder mehreren kombinatorischen Abbildungen (K1–Km), welche von der ersten kombinatorischen Abbildung (K1) unterschiedlich ist, als ein Zufallsbitmuster (TBMi) erfasst werden; und wobei das erste Eingangsbitmuster (BM1) und das zweite Eingangsbitmuster (BM2) derart ausgewählt werden, dass eine Entropie des Zufallsbitmusters (TBMi) oberhalb einer vorgegebene Entropieschwelle liegt.
  2. Verfahren nach Anspruch 1, wobei zum Auswählen des ersten Eingangsbitmuster (BM1) und des zweiten Eingangsbitmusters (BM2) in einem Initialisierungsschritt (S1) mehrere Zufallsbitmuster (TBMi) mit Hilfe von Probebitmusterpaaren (BMPi) erzeugt werden, wobei ein Probebitmusterpaar (PBMi) ein erstes und ein zweites Probeeingangsbitmuster (PBM1i, PBM2i) zum Erzeugen von wohldefinierten logische Pegelwechseln (PW) als Eingangsstartsignale (ES11–ES1n) umfasst.
  3. Verfahren nach Anspruch 2, wobei die Probebitmusterpaare (PBMi) alle Kombinationen von ersten und zweiten, vom ersten verschiedenen Probeeingangsbitmuster (PBM1i, PBM2i) umfassen.
  4. Verfahren nach Anspruch 2 oder 3, wobei für jedes Probebitmusterpaar (PBMi) eine Entropie der mit Hilfe des jeweiligen Probebitmusterpaars (PBMi) erzeugten Zufallsbitmusters (TBMi) bestimmt wird.
  5. Verfahren nach Anspruch 4, wobei aus den Probebitmusterpaaren (PBMi) dasjenige als erstes Eingangsbitmuster (BM1) und zweites Eingangsbitmuster (BM2) ausgewählt wird, für welches die erzeugten Zufallsbitmusters (TBMi) die größte Entropie aufweisen.
  6. Verfahren nach Anspruch 4, wobei ein Probebitmusterpaar (PBMi) als erstes Eingangsbitmuster (BM1) und zweites Eingangsbitmuster (BM2) ausgewählt wird, sobald die mit Hilfe des jeweiligen Probebitmusterpaars (PBMi) erzeugten Zufallsbitmusters (TBMi) eine Entropie oberhalb der vorgegebenen Entropieschwelle aufweisen.
  7. Verfahren nach einem der Ansprüche 1–6, wobei wenigstens eine der kombinatorischen Abbildungen ein Bijektion mit einem maximalen Avalancheeffekt ist.
  8. Verfahren nach einem der Ansprüche 1–7, wobei die Anzahl oder die modulo einer natürlichen Zahl reduzierten Anzahl von Signalflanken in den mehreren Ausgangssignalen (A11–Amp) als Zufallsbitmuster, insbesondere mit Hilfe von Zwischenspeicherelementen, ermittelt wird.
  9. Vorrichtung (1) zum Erzeugen von Zufallsbits (ZB) umfassend: eine Mehrzahl von Abbildungseinrichtungen (2 12 m), wobei jede der Mehrzahl von Abbildungseinrichtungen (2 12 m) eingerichtet ist, eine vorgegebene Anzahl n Eingangssignale (E11–Emn) mit Hilfe einer kombinatorischen Abbildung (K1–Km) in eine vorgegebene Anzahl p Ausgangssignale (A11–Amp) abzubilden, wobei die Abbildungseinrichtungen (2 12 m) der Mehrzahl von Abbildungseinrichtungen (2 12 m) miteinander verkettet sind und mindestens eine Abbildungseinrichtung (2 12 m) eine kombinatorische Abbildung (K1–Km) derart implementiert, dass eine Zustandsänderung eines Eingangssignals (E11–Emn) der mindestens einen Abbildungseinrichtung (2 12 m) im Mittel auf mehr als ein Ausgangssignal (A11–Amp) der mindestens einen Abbildungseinrichtung (2 12 m) abgebildet wird, wobei keine Rückkopplungsschleife derart vorliegt, dass eine Zustandsänderung mindestens eines Rückkopplungsausgangssignals (Aij) einer bestimmten Abbildungseinrichtung (2 i) als eine Zustandsänderung mindestens eines Eingangssignals (Ekl) einer anderen Abbildungseinrichtung (2 k) derart zugeführt ist, dass eines oder mehrere Ausgangssignale (Ai1–Aip) der bestimmten Abbildungseinrichtung (2 i) von der Zustandsänderung des Rückkopplungsausgangssignals (Aij) beeinflusst wird; und umfassend eine Starteinrichtung (3), welche eingerichtet ist, einer ersten Abbildungseinrichtung (2 1) der Mehrzahl der miteinander verketteten Abbildungseinrichtungen (2 12 m) durch ein Umschalten von einem ersten Eingangsbitmuster (BM1) zu einem zweiten Eingangsbitmuster (BM2) wohldefinierte logische Pegelwechsel (PW) als Eingangsstartsignale (ES11–ES1n) einzukoppeln; eine Erfassungsvorrichtung (4), welche eingerichtet ist, mehrere Ausgangssignale (A11–Amp) an Ausgängen einer oder mehrerer Abbildungseinrichtungen (2 12 m), welche von der ersten Abbildungseinrichtung (2 1) unterschiedlich sind, abzutasten und ein Zufallsbitmuster (TBMi) zu erzeugen; eine Speichereinrichtung (8) zum Speichern des ersten Eingangsbitmusters (BM1) und das zweiten Eingangsbitmusters (BM2), wobei das erste Eingangsbitmuster (BM1) und das zweite Eingangsbitmuster (BM2) derart gewählt sind, dass eine Entropie des Zufallsbitmusters (TBMi) oberhalb einer vorgegebenen Entropieschwelle liegt.
  10. Verschlüsselungsvorrichtung (100) mit einer Vorrichtung (1) nach Anspruch 9, und einer Recheneinrichtung (13) zur Durchführung eines Verschlüsselungsalgorithmus an Eingangsdaten (DT) in Abhängigkeit von einem mit Hilfe der Vorrichtung nach Anspruch 9 erzeugten Zufallsbits (ZB) zum Erzeugen von verschlüsselten Daten (CDT).
DE102015203577.8A 2015-02-27 2015-02-27 Verfahren und Vorrichtung zum Erzeugen von Zufallsbits Withdrawn DE102015203577A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015203577.8A DE102015203577A1 (de) 2015-02-27 2015-02-27 Verfahren und Vorrichtung zum Erzeugen von Zufallsbits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015203577.8A DE102015203577A1 (de) 2015-02-27 2015-02-27 Verfahren und Vorrichtung zum Erzeugen von Zufallsbits

Publications (1)

Publication Number Publication Date
DE102015203577A1 true DE102015203577A1 (de) 2016-03-24

Family

ID=55444957

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015203577.8A Withdrawn DE102015203577A1 (de) 2015-02-27 2015-02-27 Verfahren und Vorrichtung zum Erzeugen von Zufallsbits

Country Status (1)

Country Link
DE (1) DE102015203577A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014203648A1 (de) * 2014-02-28 2014-06-05 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
US20140164458A1 (en) * 2012-12-12 2014-06-12 Thomas E. Tkacik Systems with adjustable sampling parameters and methods of their operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164458A1 (en) * 2012-12-12 2014-06-12 Thomas E. Tkacik Systems with adjustable sampling parameters and methods of their operation
DE102014203648A1 (de) * 2014-02-28 2014-06-05 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen von Zufallsbits

Similar Documents

Publication Publication Date Title
EP2976707B1 (de) Vorrichtung und verfahren zum erzeugen von zufallsbits
EP1643643B1 (de) Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
DE112011106024B4 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
DE102008048292A1 (de) Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
EP2240848A1 (de) Schaltung und verfahren zur generierung einer echten, schaltungsspezifischen und zeitinvarianten zufallszahl
DE102014102501A1 (de) Zufallszahlgenerator
DE102014200163A1 (de) Verfahren zum Erzeugen einer Ausgabe einer Zufallsquelle eines Zufallsgenerators
DE102014203648A1 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
DE102015203577A1 (de) Verfahren und Vorrichtung zum Erzeugen von Zufallsbits
DE102014200164A1 (de) Verfahren zum Erzeugen einer Ausgabe einer Zufallsquelle eines Zufallsgenerators
DE102014224421A1 (de) Verfahren und Vorrichtung zum Erzeugen von Zufallsbits
DE102014209689A1 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
DE102015203580A1 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
EP2799980A2 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
DE102014203649A1 (de) Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits
DE102014219651A1 (de) Verfahren und Vorrichtung zum Erzeugen von Zufallsbits
DE102016201176A1 (de) Verfahren und Vorrichtung zum Erzeugen von Zufallsbits
DE102013213095A1 (de) Erzeugen von einer Anzahl von Zufallsbits
WO2015043855A2 (de) Erzeugen von zufallsbits
DE102013210147A1 (de) Erzeugen von Zufallsbits
DE102014226996A1 (de) Verfahren und Vorrichtung zum Erzeugen von Zufallsbits
DE102014221827A1 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
DE102006009939B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
WO2014117983A1 (de) Verfahren und vorrichtung zum erzeugen von zufallsbits
AT515814A1 (de) Verfahren und Vorrichtung zur Durchführung einer symmetrischen Stromverschlüsselung von Daten

Legal Events

Date Code Title Description
R163 Identified publications notified
R230 Request for early publication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee