DE102014203646A1 - Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits - Google Patents

Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits Download PDF

Info

Publication number
DE102014203646A1
DE102014203646A1 DE201410203646 DE102014203646A DE102014203646A1 DE 102014203646 A1 DE102014203646 A1 DE 102014203646A1 DE 201410203646 DE201410203646 DE 201410203646 DE 102014203646 A DE102014203646 A DE 102014203646A DE 102014203646 A1 DE102014203646 A1 DE 102014203646A1
Authority
DE
Germany
Prior art keywords
bit
random
bits
bit pattern
count
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
DE201410203646
Other languages
English (en)
Inventor
Pascale Böffgen
Markus Dichtl
Andreas Mucha
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 DE201410203646 priority Critical patent/DE102014203646A1/de
Publication of DE102014203646A1 publication Critical patent/DE102014203646A1/de
Priority to PCT/EP2015/050457 priority patent/WO2015128109A1/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

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)
  • Tests Of Electronic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

Ein Verfahren zum Erzeugen von Zufallsbits (ZBi) umfasst die Schritte: Bereitstellen (S0) von Zufallsbits (ZBi) als eine Bitfolge (BF); Erfassen (S1) einer vorgegebenen Anzahl N von Bits (B1–Bn) der Bitfolge (BF) als Bitgruppe (BG); Zuordnen (S2) der erfassten Bitgruppe (BG) zu einem Bitmuster (BM1...BM2N), wobei dem Bitmuster (BM1...BM2N) ein Verschiebungsvektor (V1...V2N) in einem N-dimensionalen Raum zugeordnet ist; Verschieben (S3) einer Bitmusterzählposition (BZ) in dem N-dimensionalen Raum um den dem Bitmuster (BM1...BM2N) zugeordneten Verschiebungsvektor (V1...V2N); Vergleichen (S4) der Bitmusterzählposition (BZ) mit mindestens einer vorgegebenen Grenzposition (GPi) in dem N-dimensionalen Raum; und Klassifizieren (S5, S6) der Zufallsbits (ZBi) als zufällig oder nicht zufällig in Abhängigkeit von dem Vergleichen (S4). Eine Vorrichtung (1) zum Erzeugen von Zufallsbits (ZBi) mit einer ersten Speichereinrichtung (3) zum Abspeichern von N Bits (B1–BN) der Zufallsbits (ZBi) als Bitgruppe (BG); einer zweiten Speichereinrichtung (5) zum Speichern einer N-stelligen Bitmusterzählposition (BZ); einer Vergleichseinrichtung (6) zum Vergleichen der Bitmusterzählposition (BZ) mit vorgegebenen N-stelligen Grenzpositionen (GP); einer Bitgruppenzähleinrichtung (4) zum Zählen der Anzahl von Bitgruppen; und mit einer Klassifizierungseinrichtung (8), welche eingerichtet ist, in Abhängigkeit von einem Vergleichsergebnis (CP) der Vergleichseinrichtung (6) die Zufallsbits (ZBi) als zufällig oder nicht zufällig zu klassifizieren, ausgestattet.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits. Beispielsweise werden Zufallsbits als Sequenzen oder Folgen erzeugt, die als binäre Zufallszahlen weiterverwendet werden können.
  • Die vorgeschlagenen Verfahren und Vorrichtungen dienen beispielsweise der Erkennung von Zufallsbits oder Zufallsbitfolgen, die gute zufällige Eigenschaften haben, und andererseits Zufallsbits, die als nicht zufällig gelten. Zufallsdaten werden beispielsweise bei Sicherheitsanwendungen benötigt, wobei aus erzeugten Zufallsbits beispielsweise kryptographische Schlüssel oder dergleichen abgeleitet werden.
  • Bei idealen Zufallsbits oder Zufallsbitfolgen haben die erzeugten Bits eine gleiche Auftrittswahrscheinlichkeit von 0- und 1-Bits und sind voneinander statistisch unabhängig. Als Quelle für entsprechende zufällige Bits sind Einrichtungen mit hoher Entropie gewünscht. Unter anderem können physikalische Prozesse, wie radioaktive Zerfälle, die zufällige Ereignisse sind, als zufallsgebende Objekte verwendet werden.
  • Eine Schwierigkeit besteht meist darin, aufwandsgünstige Messungen an entsprechenden physikalischen Systemen durchzuführen, um Zufallsbits oder -daten ableiten zu können, und dann zu klassifizieren. Einfacher realisierbare Pseudozufallszahlengeneratoren erzeugen deterministisch in Abhängigkeit von einem Algorithmus und so genannten Seed-Daten Zufallsbits.
  • Wünschenswert ist es insbesondere, aufwandsgünstige Hardware-Zufallszahlengeneratoren zu verwenden, die dennoch für die jeweilige Anwendung ausreichend gute Zufälligkeiten, also statistische Unabhängigkeit und geringe Schiefe (Abweichung der Wahrscheinlichkeit von Null- bzw. Eins-Bits vom Idealwert ½), in ihren erzeugten Zufallsbits haben. Um die Zufälligkeit beispielsweise bei physikalischen Zufallszahlengeneratoren zu bestimmen, werden üblicher Weise statistische Tests eingesetzt, um Abweichungen vom statistischen Ideal zu erkennen. Dabei wird eine große Anzahl von Zufallsbits erfasst und dann auf einem geeigneten Rechnersystem statistisch ausgewertet. Es sind in der Vergangenheit so genannte Online-Tests wichtiger geworden, die direkt auf dem System, das auch die Zufallszahlen oder -bits erzeugt, ablaufen können und wenig Implementierungsaufwand haben. Derartige Online-Tests ermöglichen es, bei einer starken Abweichung vom statistischen Ideal der erzeugten zufälligen Daten eine Warnung auszusenden bzw. die Zufallszahlenproduktion zu unterbinden.
  • In der Vergangenheit wurden solche statistischen Tests von Zufallszahlen mit Hilfe aufwändiger Speicher- und Rechenoperationen durchgeführt. Bekannt ist beispielsweise der so genannte n-Tupel-Test, wobei zu testende Daten in nicht überlappende Blöcke von einer vorgegebenen Bitzahl, beispielsweise n, aufgeteilt werden. Aus der Häufigkeit des Auftretens der in entsprechend n-Bit-langen Blöcken vorliegenden Bitmuster wird dann mit Hilfe des Chi-Quadrat-Tests statistisch eine Abweichung vom statistisch erwarteten Wert durchgeführt. Entsprechende Chi-Quadrat-Prüfungen sind jedoch nur mit hohem Rechenaufwand möglich, insbesondere bei längeren Bitblöcken rechenintensiv und daher unerwünscht. Um Chi-Quadrat-Statistiken auszuwerten, müssen Potenzen der Abweichungen vom Erwartungswert bestimmt werden, so dass besonders aufwändige Subtraktions- und Multiplikationsschaltungen selbst bei einer fest verdrahteten Implementierung notwendig werden.
  • Bekannt ist ferner ein so genannter Kollisionstest, bei dem die zu testenden Bitfolgen in n-Tupel von Bits aufgeteilt werden. Es wird dann laufend überprüft, ob ein vorliegendes n-Bit-Muster bereits zuvor aufgetreten ist oder nicht. Jedes Mal, wenn ein Bitmuster zuvor bereits erfasst wurde, wird ein Kollisionszähler um Eins erhöht. Anhand des Kollisionszählers wird nach Durchlauf der Zufallsdaten entschieden, ob die Daten als zufällig akzeptiert werden können. Beim Kollisionstest werden aussagekräftige Klassifizierungen von Zufallsdaten nur bei größeren Werten von n erreicht, da ansonsten nach kurzer Zeit ausschließlich Kollisionen gezählt werden. Bei beispielsweise möglichen n-Werten von n = 30 ergibt sich dann ein sehr hoher Speicherbedarf, was insbesondere in prozessorlosen Systemen unerwünscht ist.
  • Wünschenswert ist daher eine einfach mögliche Implementierung hinsichtlich der Rechen- und Speicheranforderungen von Zufälligkeitstests, die online an Zufallsdaten durchgeführt werden sollen. Insofern ist es eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und/oder eine verbesserte Vorrichtung zum Erzeugen und/oder Klassifizieren von Zufallsbits bereitzustellen.
  • Demgemäß wird ein Verfahren zum Erzeugen von Zufallsbits vorgeschlagen, welches die Schritte umfasst:
    • a) Bereitstellen von Zufallsbits als eine Bitfolge;
    • b) Erfassen einer vorgegebenen Anzahl N von Bits der Bitfolge als Bitgruppe;
    • c) Zuordnen der erfassten Bitgruppe zu einem Bitmuster, wobei dem Bitmuster ein Verschiebungsvektor in einem N-dimensionalen Raum zugeordnet ist;
    • d) Verschieben einer Bitmusterzählposition in dem N-dimensionalen Raum um den dem Bitmuster zugeordneten Verschiebungsvektor;
    • e) Vergleichen der Bitmusterzählposition mit mindestens einer vorgegebenen Grenzposition in dem N-dimensionalen Raum; und
    • f) Klassifizieren der Zufallsbits als zufällig oder nicht zufällig in Abhängigkeit von dem Vergleichen.
  • Bei dem vorgeschlagenen Verfahren können die beispielsweise von einem Zufallsbitgenerator, wie einem Pseudo-Zufallsbitgenerator, bereitgestellten oder erzeugten Zufallsbits zunächst mit Hilfe des Verfahrens untersucht werden und dann gegebenenfalls als Zufallsbits freigegeben werden oder zurückgehalten werden. Es ist ein nur geringer Speicherbedarf und extrem geringer Implementierungsaufwand erforderlich.
  • Man kann bei dem bitweisen Nachverfolgen der Bitmusterzählposition in dem N-dimensionalen Raum auch von einem Random Walk sprechen. Mit zunehmender Anzahl von untersuchten Zufallsbits, beispielsweise beim mehrfachen Durchlaufen der Schritte b) bis f), bewegt sich die Bitmusterzählposition in Abhängigkeit von den erzeugten Bits. Verlässt die Bitmusterzählposition einen vorgegebenen Bereich in dem N-dimensionalen Raum, der von bestimmten Grenzpositionen bestimmt ist, geht man beispielsweise von einer ungenügenden Zufälligkeit der Zufallsbits aus. Werden beispielsweise nur dann die Zufallsbits auch als Zufallsbits ausgegeben, wenn die Klassifizierung eine ausreichende Zufälligkeit ergibt, erhält man ein zuverlässiges Verfahren für beispielsweise kryptographische Anwendungen, die Zufallsbits benötigen.
  • Es wird ferner eine Vorrichtung zum Erzeugen von Zufallsbits vorgeschlagen, welche aufweist:
    eine erste Speichereinrichtung zum Abspeichern von N Bits der Zufallsbits als Bitgruppe;
    eine zweite Speichereinrichtung zum Speichern einer N-stelligen Bitmusterzählposition;
    eine Vergleichseinrichtung zum Vergleichen der Bitmusterzählposition mit vorgegebenen N-stelligen Grenzpositionen;
    eine Bitgruppenzähleinrichtung zum Zählen der Anzahl von Bitgruppen; und
    eine Klassifizierungseinrichtung, welche eingerichtet ist, in Abhängigkeit von einem Vergleichsergebnis der Vergleichseinrichtung die Zufallsbits als zufällig oder nicht zufällig zu klassifizieren. Die Vorrichtung ist dabei insbesondere für ein wie zuvor und im Folgenden beschriebenes Verfahren zum Erzeugen von Zufallsbits eingerichtet.
  • In Ausführungsformen des Verfahrens oder der Vorrichtung wird eine Startposition für die Bitmusterzählposition in dem N-dimensionalen Raum festgelegt. Mit jedem Bitmuster, welches sich aus der betrachteten Bitgruppe ergibt, wird ausgehend von der Startposition die Bitmusterzählposition verändert. Insofern erhält man Trajektorien oder Random Walks in dem N-dimensionalen Raum, der zur Klassifizierung der Zufallsbits verwendet wird.
  • In Ausführungsformen des Verfahrens sind die Schritte vorgesehen:
    Zählen der Anzahl der erfassten Bitgruppen als Bitgruppenzählerstand eines Bitgruppenzählers;
    Setzen der Bitmusterzählposition auf die Startposition, falls der Bitgruppenzählerstand einen vorgegebenen Zählwert überschreitet; und
    Zurücksetzen des Bitgruppenzählers.
  • Es ist möglich, mehrere Grenzpositionen festzulegen. Die Grenzpositionen sind beispielsweise in einem Grenzpositionsspeicher abgelegt. Die Grenzpositionen stecken einen erlaubten Bereich innerhalb des N-dimensionalen Raumes ab. Bewegt sich die Bitmusterzählposition über eine vorgegebene Anzahl von Bitgruppen nur innerhalb dieses Bereiches, kann von einer ausreichenden Zufälligkeit der Bitmuster bzw. Bitgruppen ausgegangen werden.
  • Falls beispielsweise die Bitmusterzählposition über eine vorgegebene Anzahl von Bitgruppen keiner Grenzposition entspricht, wird die Bitfolge als Zufallsbitfolge ausgegeben. Man erhält insofern eine zuverlässige Bereitstellung von zufälligen Bitfolgen. Bei dem Verfahren können die Zufallsbits insbesondere mit Hilfe eines Zufallsbitgenerators als die Bitfolge erzeugt werden.
  • In Ausführungsformen des Verfahrens und/oder der Vorrichtung ist N = 1. Werden einzelne Bits nacheinander betrachtet, ergibt sich ein eindimensionaler Random Walk. Bei einer entsprechenden Vorrichtung lässt sich diese besonders aufwandsgünstig aufbauen, da lediglich ein Up/Down-Zähler, der beispielsweise bei einem Null-Bit den Zähler abwärts zählt und bei einem Eins-Bit aufwärts, zwei Komparatoren, die das Über- und Unterschreiten von vorgegebenen Grenzen überwachen, und ein Zähler, der die Gesamtzahl der betrachteten Bits zählt, notwendig sind. Ein weiterer Komparator kann bei einem entsprechenden Zählerstand für die betrachteten Bits den Up/Down-Zähler als Positionszähler und den Bitzähler zurücksetzen.
  • In weiteren Ausführungsformen des Verfahrens und/oder der Vorrichtung ist N = 2. Das heißt, man betrachtet einen Random Walk in zwei Dimensionen. Die Bitmuster umfassen dann jeweils zwei Bits.
  • In weiteren Ausführungsformen ist N = 3 oder größer. Durch das einfache Nachverfolgen der Bitmusterzählposition in dem jeweiligen N-dimensionalen Raum wird aufwandsgünstig und schnell die Qualität der Zufallsbits bzw. der zunächst betrachteten Bits der Bitfolge ermittelt. Das Verfahren und die Vorrichtung eignen sich insbesondere zum Online-Test, d.h. es wird in Echtzeit erfasst, ob sich echte bzw. Pseudozufallsbits von dem verwendeten Zufallsbitgenerator abgreifen lassen.
  • Die nur wenigen Vergleichs- und Zählvorgänge lassen sich aufwandsgünstig festverdrahtet implementieren. Insofern ist in Ausführungsformen die Vorrichtung als festverdrahtete Vorrichtung ausgestaltet. Es sind keine aufwändigen Rechenoperationen oder Arithmetikschaltungen notwendig.
  • In Ausführungsformen der Vorrichtung umfasst die zweite Speichereinrichtung N Einzelpositionszählereinrichtungen, welche jeweils eingerichtet sind, in Abhängigkeit von einem der N Bits einen Positionszählerstand zu inkrementieren oder dekrementieren.
  • Die Einzelpositionszählereinrichtungen können als einfache Up/Down-Zähler ausgeführt sein.
  • In Ausführungsformen der Vorrichtung umfasst die Vergleichseinrichtung 2N Einzelvergleichseinrichtungen zum Erzeugen von Einzelvergleichsergebnissen, wobei jeder Einzelpositionszählereinrichtung zwei Einzelvergleichseinrichtungen zugeordnet sind, welche eingerichtet sind, einen Positionszählerstand mit einem Grenzpositionswert zu vergleichen.
  • Insofern wird keine aufwändige Norm innerhalb des N-dimensionalen Raumes berechnet. Vielmehr können die einzelnen Koordinatenrichtungen (N Stück) mit Hilfe einfacher Vergleichseinrichtungen geprüft werden.
  • In Ausführungsformen ist ferner eine Rücksetzeinrichtung vorgesehen, welche eingerichtet ist, in Abhängigkeit von dem Bitgruppenzählerstand und/oder den Einzelvergleichsergebnissen die Bitmusterzählposition oder die Positionszählerstände zurückzusetzen. Ist beispielsweise über eine vorgegebene Anzahl von Bitgruppen die Bitmusterzählposition noch immer innerhalb der Grenzpositionswerte, wird von einer ausreichenden Zufälligkeit der betrachteten Bits ausgegangen. Das heißt, man kann die Positionszählerstände zurücksetzen. Insofern ist ein nur begrenzter Zähler notwendig, wodurch Speicherplatz eingespart werden kann.
  • Bei einer Vorrichtung ist ferner in Ausführungsformen ein Zufallsbitgenerator zum Erzeugen der Zufallsbits vorgesehen. Dies kann ein Pseudo-Zufallsbitgenerator sein.
  • Das vorgeschlagene Verfahren und die Vorrichtung zum Klassifizieren und Erzeugen von Zufallsbits haben insbesondere den Vorteil, dass das Verfahren als Online-Test einfach auch auf prozessorloser Hardware realisierbar ist. Es sind keine üblichen aufwändigen statistischen Operationen mit Potenzbestimmungen notwendig. Es kann daher ein aussagekräftiger Test für die Qualität der betrachteten Zufallsdaten erzeugt werden, ohne notwendigerweise Mikroprozessoren einzusetzen. Man erzeugt beispielsweise mit Hilfe eines Pseudozufallsbitgenerators Bitfolgen oder auch Bitgruppen und gibt diese als Zufallsbits aus, wenn bei vorgegebenen Grenzpositionen und/oder maximalen Bitgruppenzählerständen die Bitmusterzählposition innerhalb des „erlaubten“ Bereichs ist. Ansonsten wird die Bitfolge als nicht zufällig klassifiziert und beispielsweise zurückgehalten.
  • Es ist möglich, die vorgeschlagenen Test- bzw. Erzeugungsverfahren auch mehrfach an einer Auswahl oder mehrfach an verschiedenen Teilsequenzen von zuvor bereitgestellten Zufallsbits durchzuführen und anhand der Einzeltestergebnisse die Zufallsdaten zu klassifizieren.
  • Weiterhin wird ein Computerprogramm-Produkt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung eines entsprechenden Verfahrens veranlasst.
  • Ein Computerprogramm-Produkt wie ein Computerprogramm-Mittel kann beispielsweise als Speichermedium, wie 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 Computerprogramm-Produkt 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.
  • Weiterhin wird ein Datenträger mit einem gespeicherten Computerprogramm mit Befehlen vorgeschlagen, welche die Durchführung eines entsprechenden Verfahrens auf einer programmgesteuerten Einrichtung veranlassen.
  • Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Verfahrensschritte, Merkmale oder Ausführungsformen des Verfahrens oder der Vorrichtung zum Erzeugen und/oder Klassifizieren von Zufallsbits. 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 ein schematisches Ablaufdiagramm für ein Verfahren zum Klassifizieren von Zufallsbits;
  • 2 eine schematische Darstellung eines Ausführungsbeispiels für eine Vorrichtung zum Erzeugen und Klassifizieren von Zufallsbits;
  • 3, 4 schematische Darstellungen für eine mögliche Zuordnung von Zufallsbits in Bitgruppen, Bitmustern, Bitm201400656usterzählpositionen und Verschiebungsvektoren; und
  • 5 eine schematische Darstellung eines weiteren Ausführungsbeispiels für eine Vorrichtung zum Erzeugen und Klassifizieren von Zufallsbits.
  • In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.
  • In der 1 ist ein schematisches Ablaufdiagramm für ein Verfahren zum Klassifizieren von Zufallsbits dargestellt, und die 2 zeigt ein Ausführungsbeispiel für eine Vorrichtung, welche zur Durchführung des Verfahrens geeignet ist.
  • Bei dem Verfahren werden Zufallsdaten in der Form von Zufallsbits, die logische Zustände High und Low oder 1 und 0 darstellen, überprüft. Bei idealen Zufallszahlen tritt jedes Bit 0 oder 1 mit der gleichen Wahrscheinlichkeit 1/2 auf. Die zu klassifizierenden Daten werden beispielsweise im Schritt S1, wie in der 1 angedeutet ist, bereitgestellt. Die Bits können dabei taktweise erzeugt werden oder auch in einem Speicher vorliegen und untersucht werden.
  • In der 2, die eine Vorrichtung 1 zum Erzeugen und Klassifizieren von Zufallsdaten bzw. Zufallsbits zeigt, ist ein Zufallsbitgenerator 2 angedeutet. Der Zufallsbitgenerator 2 erzeugt im Sinne des Schritts S1 Zufallsbits als eine Bitfolge BF.
  • Zum Prüfen und Klassifizieren der Zuverlässigkeit der erzeugten Bits wird im Schritt S2 eine vorgegebene Anzahl von Bits der Bitfolge BF erfasst. Bei einer Implementierung der Vorrichtung, wie sie in der 2 gezeigt ist, wird eine Bitgruppe BG mit einer vorgegebenen Anzahl von N Bits B1–BN im Speicher 3 abgelegt. Das Erfassen oder Speichern der Bits B1–BN der Bitgruppe BG kann beispielsweise durch einfaches nacheinander Einlesen der Bits der Bitfolge in die N Speicherzellen erfolgen. Es sind jedoch auch andere Erfassungsmöglichkeiten der Bits B1–BN der Bitgruppe BG möglich.
  • In der 3 ist vereinfacht der Fall für N = 2 Bits erläutert. Insofern ist in der 3 links oben eine Bitgruppe BG mit zwei Bits B1 und B2 angedeutet. Aus den zwei Bits B1 und B2 der Bitgruppe BG können vier Bitmuster BM1, BM2, BM3, BM4 abgeleitet werden. Bei einer Anzahl von N betrachteten Bits können 2N Bitmuster zugeordnet werden. Wie in der Tabelle angedeutet ist, sind Bitmuster BM1 = 00, BM2 = 10, BM3 = 01, BM4 = 11 möglich. Im Schritt S2 wird nun ferner jedem Bitmuster BM1–BM4 ein Verschiebungsvektor V1, V2, V3, V4 zugewiesen.
  • In der 3 rechts ist beispielhaft ein zweidimensionaler Raum mit einer x- und y-Koordinate dargestellt. Um festzustellen, ob die im Schritt S1 bereitgestellten Bits zufällig sind bzw. als ausreichend zufällig erachtet werden können oder nicht, wird eine Abwandlung eines Random-Walk-Tests durchgeführt. Ausgehend von einer Startposition BZ0, die in der 3 rechts im Ursprung des Koordinatensystems angenommen ist, wird mit jedem betrachteten Bitmuster eine Bitmusterzählposition BZ verschoben. In der Darstellung der 3 ist rechts dargestellt, wie das Auftreten des Bitmusters BM1 zu einem Verschiebevektor V1 in der Orientierung der 3 nach links unten führt. Wird von der Bitgruppe BG ein Bitmuster BM2 erzeugt, wird die Bitmusterzählposition BZ in dem zweidimensionalen Raum um den Verschiebevektor V2 verschoben. In der 3 sind die Verschiebevektoren V1 bis V4 als Pfeile dargestellt. Das heißt, bei jeder neu betrachteten Bitgruppe BG, die ein bestimmtes Bitmuster BM1–BM4 darstellt, verschiebt sich die Bitmusterzählposition BZ in der Ebene. Das erste Bit B1 erzeugt Verschiebungen in der x-Achse, die auch mit B1‘ beschriftet ist, die Stelle B2 in der Bitgruppe BG Verschiebungen in der y-Achse (auch mit B2‘ bezeichnet). Insofern wird im Schritt S3 die Bitmusterzählposition BZ in dem N-dimensionalen Raum um den dem Bitmuster BM1–BM4 zugeordneten Verschiebungsvektor V1–V4 verschoben.
  • In Schritt S4 wird nun verglichen, ob die Bitmusterzählposition die Grenze eines in dem zwei- bzw. N-dimensionalen Raum vorgegebenen Bereichs überschreitet. Es erfolgt im Schritt S4 ein Vergleich der aktuellen Bitmusterzählposition BZ mit mindestens einer vorgegebenen Grenzposition in dem N-dimensionalen Raum. In der 4 ist dies näher erläutert.
  • Die 4 zeigt wiederum den zweidimensionalen Raum, in dem Grenzpositionen als Bereich GP dargestellt sind. Die Grenzpositionen haben ebenfalls Koordinaten in dem zweidimensionalen Raum. Beispielhaft sind zwei Trajektorien T1 und T2 für die Bitzählerposition angedeutet. Die Trajektorie T1 zeigt die Bewegung der Bitmusterzählposition BZ ausgehend vom Ursprung BZ0 über fünf betrachtete Bitgruppen. Beim Verschieben der Bitmusterzählposition BZ durch den fünften Verschiebungsvektor, der einem Verschiebungsvektor V4 entspricht, wird eine Grenzposition überschritten. Das heißt, eine für die Verwendung als Zufallsbits oder Zufallsbitmuster intolerable Grenze wurde überschritten.
  • Die Bitmuster sind in diesem Fall nicht gleich verteilt. Vielmehr überwiegt die Eins, so dass bei den erzeugten Bits die Trajektorie T1 nach rechts oben orientiert ist. Ist dies der Fall, werden in einem Schritt S5 die Zufallsbits als nicht zufällig klassifiziert, beispielsweise wird eine Ausgabe unterbunden. Sofern jedoch über eine vorgegebene Anzahl von betrachteten Bitmustern die Bitmusterzählposition BZ innerhalb des vorgegebenen Grenzbereichs GP liegt, kann von einer ausreichenden Zufälligkeit ausgegangen werden. Die Trajektorie T2 zeigt beispielsweise nach vier betrachteten Bitgruppen eine Rückkehr zur Ausgangs- oder Startposition BZ0.
  • Im Mittel über die Anzahl der Bits bzw. Bitgruppen ist eine statistische Gleichverteilung über Eins- und Nullwerte der Zufallsbits zu erwarten, wenn zufällige Bits untersucht werden. Insofern führt eine Klassifizierung im Schritt S6 zu einer Ausgabe der Bits als zufällige Bits.
  • Bei der in der 2 dargestellten Ausführungsform der Vorrichtung zum Erzeugen von Zufallsbits wird in einem Bitgruppenzähler 4 die Anzahl der betrachteten Bitgruppen gezählt und im Bitgruppenzählerstand BGZ abgelegt. Der Bitgruppenzählerstand BGZ wird einer Steuereinrichtung 8, die als eine Logikschaltung ausgestaltet sein kann, zugeführt. Ferner ist eine Positionszählereinrichtung 5 vorgesehen, die N Einzelpositionszählereinrichtungen 5 15 N umfasst. In der Einzelpositionszählereinrichtung 5 15 N werden für die Stellen in der Bitgruppe beispielsweise für das Auftreten einer Eins der Positionszählerstand BZ1...BZN hochgezählt und für das Auftreten einer Null heruntergezählt. Beispielsweise ist die Positionszählereinrichtung 5 N dem N-ten Bit BN der Bitgruppe BG zugeordnet. Ist BN = 0, dekrementiert die Einzelpositionszählereinrichtung 5 N, und ist BN = 1, inkrementiert die Einzelpositionszählereinrichtung 5 N ihren Positionszählerstand BZN.
  • In einem Grenzpositionsspeicher 7 sind für jede Stelle der N Bits obere und untere Grenzpositionswerte GP1U, GP1D abgelegt. Die Grenzpositionswerte GP1U, GP1D legen den Bereich GP, wie er in der 4 zweidimensional angedeutet ist, fest.
  • Einer Vergleichseinrichtung 6 werden die Werte bzw. Positionszählerstände BZ1–BZN zugeführt. Die Vergleichseinrichtung 6 hat 2N Einzelvergleichseinrichtungen 6 16 N, welche die Positionszählerstände BZ1–BZN mit den zugeordneten Grenzpositionswerten GP1U–GPNU und GP1D–GPND vergleicht. Beispielsweise vergleicht eine Einzelvergleichseinrichtung 6 1, ob für die erste Stelle der Bitgruppe B1 der Positionszählerstand BZ1 innerhalb der Grenzen GP1U und GP1D liegt. Die Vergleichseinrichtung 6 liefert insofern ein Vergleichsergebnis CP an die Steuereinrichtung 8. Die Steuereinrichtung 8 wertet die Vergleichsergebnisse CP aus und liefert Steuersignale CT beispielsweise an den Zufallsbitgenerator 2 und den Grenzpositionsspeicher 7. Die Grenzpositionswerte GP1U–GPNU und GP1D–GPND können beispielsweise in Abhängigkeit von den Vergleichsergebnissen CP verändert werden.
  • An einem Ausgang 9 sind die Zufallsbits ZBi abgreifbar. Die Steuereinrichtung 8 kann darüber hinaus an einem Ausgang 11 ein Kontrollsignal oder Kontroll-Flag A liefern. Beispielsweise kann ein Alarmsignal A mit einem logischen H-Pegel erzeugt werden, sofern die erzeugten Bits ZBi als nicht zufällig klassifiziert werden, das heißt, sofern die Vergleichsergebnisse CP anzeigen, dass der Positionszählerstand BZ1–BZN außerhalb der durch die Grenzpositionswerte GP1U–GPNU und GP1D–GPND definierten Bereiche GP liegt.
  • Die 5 zeigt eine weitere Ausführungsform einer Vorrichtung 10 zum Erzeugen von Zufallsbits. Die 1 zeigt dabei eine einfache implementierbare Vorrichtung, die Bitmuster mit N = 1 prüft. Es ist ein Zufallsbitgenerator 2 vorgesehen, der Bits Bi erzeugt. Die Vorrichtung 10 umfasst dabei einen Up/Down-Counter oder Up/Down-Zähler, dem die Zufallsbits Bi zugeführt sind. Beispielsweise inkrementiert der Up/Down-Counter 5 seinen Wert bei Bi = 1 und dekrementiert seinen Wert bei Bi = 0.
  • Der Inhalt des Up/Down-Counters 5 ist einer ersten Vergleichseinrichtung 6 und einer zweiten Vergleichseinrichtung 6‘ zugeführt. Beispielsweise zeigen die Vergleichseinrichtungen 6, 6‘ an, wenn der Zählerstand des Up/Down-Zählers 5 über 256 oder unter –256 liegt.
  • Die Vergleichsergebnisse werden einer ODER-Schaltung 8 zugeführt. Das Ergebnis der Ver-ODER-ung ist an einem Ausgang 11 abgreifbar. Am Ausgang 11 liegt ein H- oder Eins-Pegel an, wenn der Zählerstand des Up/Down-Zählers 5 außerhalb des Bereichs GP von +256 und –256 liegt. Man kann von einem eindimensionalen Random Walk sprechen, wobei die Grenzpositionen +256 und –256 sind. Am Ausgang 9 ist das jeweilige Zufallsbit Bi abgreifbar.
  • Untersuchungen der Anmelderin haben ergeben, dass beispielsweise bei der Implementierung als eindimensionalem Random Walk-Test unter Untersuchung von 4.096 Bits bei einer Schiefe von 0, also Verteilung von Zufallsbits 1 und 0 mit Wahrscheinlichkeiten je ½, die Vorrichtung keinen Alarm liefert, wenn 10.000 Durchläufe erfolgen. Nimmt man an, dass die Bits Bi mit einer Schiefe von 2% von einem Zufallsbitgenerator 2 geliefert werden, das heißt, die Wahrscheinlichkeit für einen H-Pegel oder eine Eins liegt bei 0,52, ergeben sich 956 Alarme bei der Betrachtung von 10.000 Läufen. Wird eine Schiefe der betrachteten Bits von 5% angenommen, d.h. die Eins-Wahrscheinlichkeit liegt bei 0,55, ergeben sich 9.947 Alarme. Werden 4.096 Testbits mit einer Schiefe von 6% geprüft, führt dies bei allen 10.000 Tests zu einem Alarm. Bei den vorgenannten Untersuchungen wurden jeweils 4.096 Einzelbits nacheinander abgegriffen und ausgewertet.
  • Diese vereinfachte Untersuchung zeigt, dass beispielsweise bei üblichen kryptographischen Anwendungen bereits eine geringe Schiefe erkannt wird. Durch eine Anpassung der Anzahl der betrachteten Bits bzw. Anzahl der Bitgruppen im N-dimensionalen Fall kann die Zuverlässigkeit ferner erhöht werden. Auch eine Anpassung der jeweiligen Grenzwerte, ab denen ein Alarm ausgelöst wird, so dass die erzeugten Bits Bi nicht mehr als zufällig erkannt oder ausgegeben werden, ist möglich. Insbesondere ergibt sich eine einfache hardwaremäßige festverdrahtete Implementierung des Verfahrens bzw. der Vorrichtung.
  • Die vorgeschlagenen Verfahren und Vorrichtungen haben insbesondere den Vorteil, eine Online-Klassifizierung aufwandsgünstig durchführen zu können. Dabei ist insbesondere bei physikalischen Zufallszahlengeneratoren eine hardwaremäßig besonders günstige Implementierung möglich, um die zur weiteren Verwendung vorgesehenen Zufallsbitfolgen oder -sequenzen, die auch als Zufallszahlen oder Zufallsdaten bezeichnet werden können, zu klassifizieren.
  • 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 (15)

  1. Verfahren zum Erzeugen von Zufallsbits (ZBi) umfassend: a) Bereitstellen (S0) von Zufallsbits (ZBi) als eine Bitfolge (BF); b) Erfassen (S1) einer vorgegebenen Anzahl N von Bits (B1–Bn) der Bitfolge (BF) als Bitgruppe (BG); c) Zuordnen (S2) der erfassten Bitgruppe (BG) zu einem Bitmuster (BM1...BM2N), wobei dem Bitmuster (BM1...BM2N) ein Verschiebungsvektor (V1...V2N) in einem N-dimensionalen Raum zugeordnet ist; d) Verschieben (S3) einer Bitmusterzählposition (BZ) in dem N-dimensionalen Raum um den dem Bitmuster (BM1...BM2N) zugeordneten Verschiebungsvektor (V1...V2N); e) Vergleichen (S4) der Bitmusterzählposition (BZ) mit mindestens einer vorgegebenen Grenzposition (GPi) in dem Ndimensionalen Raum; und f) Klassifizieren (S5, S6) der Zufallsbits (ZBi) als zufällig oder nicht zufällig in Abhängigkeit von dem Vergleichen (S4).
  2. Verfahren nach Anspruch 1, ferner umfassend: Festlegen einer Startposition (BZ0) für die Bitmusterzählposition (BZ) in dem N-dimensionalen Raum.
  3. Verfahren nach Anspruch 2, ferner umfassend: Zählen der Anzahl der erfassten Bitgruppen (BG) als Bitgruppenzählerstand (BGZ) eines Bitgruppenzählers (4); Setzen der Bitmusterzählposition (BZ) auf die Startposition (BZ0), falls der Bitgruppenzählerstand einen vorgegebenen Schwellwert überschreitet; und Zurücksetzen des Bitgruppenzählers (4).
  4. Verfahren nach einem der Ansprüche 1–3, ferner umfassend: Festlegen von mehreren Grenzpositionen.
  5. Verfahren nach einem der Ansprüche 3 oder 4, ferner umfassend: Festlegen von mindestens einer Grenzposition in Abhängigkeit von dem Bitgruppenzählerstand (BGZ).
  6. Verfahren nach einem der Ansprüche 1–5, ferner umfassend: Ausgeben der Bitgruppe (BG) als Zufallsbitmuster, falls die Bitmusterzählposition (BZ) keiner Grenzposition (GP) entspricht.
  7. Verfahren nach einem der Ansprüche 1–6, wobei die Schritte b) bis d) mehrfach nacheinander durchgeführt werden.
  8. Verfahren nach einem der Ansprüche 1–7, ferner umfassend: Erzeugen der Zufallsbits (ZBi) mit Hilfe eines Zufallsbitgenerators (2) als die Bitfolge (BF).
  9. Verfahren nach einem der Ansprüche 1–8, wobei N = 1 ist.
  10. Vorrichtung (1) zum Erzeugen von Zufallsbits (ZBi) mit: einer ersten Speichereinrichtung (3) zum Abspeichern von N Bits (B1–BN) der Zufallsbits (ZBi) als Bitgruppe (BG); einer zweiten Speichereinrichtung (5) zum Speichern einer N-stelligen Bitmusterzählposition (BZ); einer Vergleichseinrichtung (6) zum Vergleichen der Bitmusterzählposition (BZ) mit vorgegebenen N-stelligen Grenzpositionen (GP); einer Bitgruppenzähleinrichtung (4) zum Zählen der Anzahl von Bitgruppen; und einer Klassifizierungseinrichtung (8), welche eingerichtet ist, in Abhängigkeit von einem Vergleichsergebnis (CP) der Vergleichseinrichtung (6) die Zufallsbits (ZBi) als zufällig oder nicht zufällig zu klassifizieren.
  11. Vorrichtung (1) nach Anspruch 10, welche eingerichtet ist, ein Verfahren nach einem der Ansprüche 1–9 durchzuführen.
  12. Vorrichtung (1) nach Anspruch 10 oder 11, wobei die zweite Speichereinrichtung (5) N Einzelpositionszählereinrichtungen (5 1...5 N) umfasst, welche jeweils eingerichtet sind, in Abhängigkeit von einem der N Bits (B1–BN) einen Positionszählerstand (BZ1...BZN) zu inkrementieren oder dekrementieren.
  13. Vorrichtung (1) nach einem der Ansprüche 10–12, wobei die Vergleichseinrichtung (6) 2N Einzelvergleichseinrichtungen (6 1...6 N) zum Erzeugen von Einzelvergleichsergebnissen umfasst, wobei jeder Einzelpositionszählereinrichtung (5 1...5 N) zwei Einzelvergleichseinrichtungen zugeordnet sind, welche eingerichtet sind, einen Positionszählerstand mit einem Grenzpositionswert zu vergleichen.
  14. Vorrichtung (1) nach Anspruch 12 und/oder 13, ferner mit einer Rücksetzeinrichtung (8), welche eingerichtet ist, in Abhängigkeit von dem Bitgruppenzählerstand (BGZ) und/oder den Einzelvergleichsergebnissen (CP) die Bitmusterzählposition (BZ) oder die Positionszählerstände (BZ1...BZN) zurückzusetzen.
  15. Vorrichtung (1) nach einem der Ansprüche 10–14, ferner mit einem Zufallsbitgenerator (2) zum Erzeugen der Zufallsbits (ZBi).
DE201410203646 2014-02-28 2014-02-28 Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits Withdrawn DE102014203646A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE201410203646 DE102014203646A1 (de) 2014-02-28 2014-02-28 Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits
PCT/EP2015/050457 WO2015128109A1 (de) 2014-02-28 2015-01-13 Verfahren und vorrichtung zum erzeugen von zufallsbits und verschlüsselungsvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201410203646 DE102014203646A1 (de) 2014-02-28 2014-02-28 Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits

Publications (1)

Publication Number Publication Date
DE102014203646A1 true DE102014203646A1 (de) 2014-05-15

Family

ID=50556100

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410203646 Withdrawn DE102014203646A1 (de) 2014-02-28 2014-02-28 Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits

Country Status (2)

Country Link
DE (1) DE102014203646A1 (de)
WO (1) WO2015128109A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL292573A (de) * 1962-05-10

Also Published As

Publication number Publication date
WO2015128109A1 (de) 2015-09-03

Similar Documents

Publication Publication Date Title
EP2940620B1 (de) Ableiten eines gerätespezifischen wertes mit hilfe einer unklonbaren funktion
DE102014208212A1 (de) Ableiten eines gerätespezifischen Wertes
EP3692388A1 (de) Verfahren zur prüfung der zugehörigkeit von funkknoten zu einer funkumgebung mittels einer auswertung von störsignalanteilen
EP1504336B1 (de) Vorrichtung und verfahren zum erzeugen einer zufallszahl
EP3682610A1 (de) Verfahren und vorrichtung zum erkennen eines angriffs auf ein serielles kommunikationssystem
DE102015102602A1 (de) Zufallszahlengenerator
DE10344327B3 (de) Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl
DE102015102363A1 (de) Anordnung und verfahren zum überprüfen der entropie einer zufallszahlenfolge
DE102014203646A1 (de) Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits
DE112015006287T5 (de) Informationsverarbeitungs-Vorrichtung
DE102019216017A1 (de) Verfahren und Vorrichtung zur Verarbeitung einer Doppler-Range-Matrix und Radarsystem
EP2928157A1 (de) Verfahren zur Analyse und/oder Evaluierung von mindestens einem Ereignis einer technischen Anlage
DE102014203649A1 (de) Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits
DE102020209078A1 (de) Automatisierte Prozessüberwachung
DE102013204678A1 (de) Verfahren und Vorrichtung zum Klassifizieren und/oder Erzeugen von Zufallsbits
DE102018214674A1 (de) Verfahren und Vorrichtung zur Unfallfrüherkennung
DE112008000213T5 (de) Verfahren und Vorrichtung zum Bestimmen eines Minimums/Maximums einer Mehrzahl von Binärwerten
DE112016006791B4 (de) Datenverarbeitungsvorrichtung, Datenverarbeitungsverfahren und Datenverarbeitungsprogramm
DE102017001748A1 (de) Signalprüfungsvorrichtung, signalprüfungssystem, signalprüfungsverfahren und signalprüfungsprogramm
DE102020205156A1 (de) Auswertung von Messdaten für sicherheitskritische Anwendungen
EP3484094B1 (de) Übertragungsvorrichtung zum übertragen eines datenpakets
DE112021007910T5 (de) Bildverarbeitungssystem und bildgebungsvorrichtung
DE102016224692A1 (de) Vorrichtung und Verfahren zur Erfassung und/oder Verarbeitung von Messdaten für ein Kraftfahrzeug
DE102021202512A1 (de) Verfahren für eine Überprüfung von Gepäckstücken zur Erkennung von Objekten
DE102016200850A1 (de) Verfahren zum Betreiben einer sicherheitsrelevanten Vorrichtung und Vorrichtung

Legal Events

Date Code Title Description
R230 Request for early publication
R163 Identified publications notified
R163 Identified publications notified

Effective date: 20140603

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee