DE102009007246A1 - Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz - Google Patents

Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz Download PDF

Info

Publication number
DE102009007246A1
DE102009007246A1 DE102009007246A DE102009007246A DE102009007246A1 DE 102009007246 A1 DE102009007246 A1 DE 102009007246A1 DE 102009007246 A DE102009007246 A DE 102009007246A DE 102009007246 A DE102009007246 A DE 102009007246A DE 102009007246 A1 DE102009007246 A1 DE 102009007246A1
Authority
DE
Germany
Prior art keywords
length
feedback shift
shift register
shift registers
cycle
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.)
Ceased
Application number
DE102009007246A
Other languages
English (en)
Inventor
Berndt Gammel
Rainer Goettfert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102009007246A1 publication Critical patent/DE102009007246A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/582Parallel finite field implementation, i.e. at least partially parallel implementation of finite field arithmetic, generating several new bits or trits per step, e.g. using a GF multiplier

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)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Ein Pseudozufallszahlengenerator, der eine Mehrzahl von nichtsingulären rückgekoppelten Schieberegistern umfasst, von denen jedes dahingehend konfiguriert ist, eine Bitsequenz auszugeben. Zumindest ein erstes der Mehrzahl von nichtsingulären rückgekoppelten Schieberegistern umfasst einen oder mehr erste Zyklen einer Länge von weniger als oder gleich zwei, und ein zweites der Mehrzahl von nichtsingulären rückgekoppelten Schieberegistern umfasst einen oder mehr zweite Zyklen einer Länge von weniger als oder gleich zwei, und der eine oder die mehreren ersten Zyklen aufweist beziehungsweise aufweisen, eine erste Menge eines oder mehrerer von Schieberegisterzustandsvektoren 000..., 111..., 010... und 101..., und der eine oder die mehreren zweiten Zyklen aufweist beziehungsweise aufweisen, eine zweite Menge eines oder mehrerer der Schieberegisterzustandsvektoren 000..., 111..., 010... und 101..., wobei die erste und die zweite Menge voneinander getrennt sind.

Description

  • Die vorliegende Erfindung bezieht sich auf Pseudozufallszahlengeneratoren und die Erzeugung einer Pseudozufallsbitsequenz, und insbesondere auf Pseudozufallszahlengeneratoren und die Erzeugung von Pseudozufallsbitsequenzen auf der Basis einer Mehrzahl von rückgekoppelten Schieberegistern.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, Pseudozufallszahlengeneratoren, Verfahren und ein Computerprogramm mit verbesserten Charakteristika zu liefern.
  • Die Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Weiterbildungen finden sich in den abhängigen Ansprüchen.
  • Bevorzugte Ausführungsbeispiele der Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher beschrieben. Es zeigen:
  • 1 ein Blockdiagramm eines Pseudozufallszahlengenerators gemäß einem Ausführungsbeispiel;
  • 2 ein Blockdiagramm eines rückgekoppelten Schieberegisters, das als Beispiel zur Veranschaulichung der Nicht-Singularität von nicht-singulären rückgekoppelten Schieberegistern verwendet wird;
  • 3 ein Blockdiagramm eines rückgekoppelten Schieberegisters zum Veranschaulichen eines weiteren Beispiels eines nicht-singulären rückgekoppelten Schieberegisters und eines Schieberegisters vom Typ A;
  • 4 ein Blockdiagramm eines Pseudozufallszahlengenerators gemäß einem weiteren Ausführungsbeispiel;
  • 5 ein Blockdiagramm eines Pseudozufallszahlengenerators gemäß einem weiteren Ausführungsbeispiel; und
  • 6 ein Blockdiagramm einer Verschlüsselungsvorrichtung, die einen Pseudozufallszahlengenerator gemäß einem weiteren Ausführungsbeispiel umfasst.
  • 1 zeigt einen Pseudozufallszahlengenerator gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wie zu sehen ist, umfasst der Pseudozufallszahlengenerator der 1 eine Mehrzahl von rückgekoppelten Schieberegistern 10, deren Ausgänge mit jeweiligen Eingängen eines Kombinierers oder einer Kombinationsschaltung 12 verbunden sind. Der Kombinierer 12 weist einen Ausgang 14 auf, der den Ausgang des Pseudozufallszahlengenerators der 1 darstellt. Die in 1 gezeigte Anzahl von rückgekoppelten Schieberegistern 10 ist lediglich veranschaulichend, und jede Anzahl von rückgekoppelten Schieberegistern 10, die größer als 1 ist, ist möglich. Jedes rückgekoppelte Schieberegister 10 gibt eine Pseudozufallszahlenfolge von Symbolen wie z. B. Bits aus, und der Kombinierer 12 kombiniert diese Pseudozufallsfolgen, um eine einzige Pseudozufallsfolge zu erhalten. Um diese Kombination durchzuführen, kann der Kombinierer 12 dahin gehend konfiguriert sein, eine nichtlineare Boolesche Funktion durchzuführen und diese Funktion auf die durch rückgekoppelte Schieberegister 10 ausgegebenen Pseudozufallsfolgen anzuwenden.
  • Insbesondere sind die rückgekoppelten Schieberegister 10 dahin gehend getaktet, ein Pseudozufallssymbol auszugeben und pro Taktzyklus einen internen Zustand zu aktualisieren. Beispielsweise werden die rückgekoppelten Schieberegister 10 üblicherweise anhand desselben Taktes getaktet. Der Kombinierer 12 kann dahin gehend konfiguriert sein, pro Taktzyklus ein Symbol jedes der rückgekoppelten Schieberegister 10 zu kombinieren, um als Ausgabe ein resultierendes Symbol an dem Ausgang 14 zu erhalten. Im Falle von Bits als Symbolen kann der Kombinierer 12 dahin gehend konfiguriert sein, Bits, die in den Kombinierer 12 eintreten, bitweise zu kombinieren, um ein einzelnes Bit zu erhalten. In diesem Fall würde die Bitrate, mit der Symbole in den Kombinierer 12 eintreten, das N-fache der Bitrate der an dem Ausgang 14 ausgegebenen Ausgabesequenz betragen, wobei N die Anzahl an rückgekoppelten Schieberegistern 10 ist. Alternativ dazu kann der Kombinierer 12 jedoch dahin gehend entworfen sein, auf andere Weise zu arbeiten, so dass sich das Verhältnis zwischen der Eingabebitrate und der Ausgabebitrate von 1/N unterscheidet.
  • Intern kann jedes rückgekoppelte Schieberegister 10 eine Mehrzahl von in Reihe geschalteten Speicherzellen umfassen. Die Speicherzellen können dahin gehend konfiguriert sein, binäre Werte, d. h. 0 oder 1, zu speichern. Alternativ dazu kann jede Speicherzelle dahin gehend konfiguriert sein, einen Wert oder ein Symbol eines Alphabets R zu speichern. Um die nachstehende Beschreibung zu vereinfachen, wird angenommen, dass die Speicherzellen binär beschaffen sind.
  • Der Zustand der Speicherzellen eines bestimmten rückgekoppelten Schieberegisters 10 zu einem bestimmten Zeitpunkt stellt den internen Zustand dieses rückgekoppelten Schieberegisters 10 dar. Der Zustand aller Speicherzellen aller rückgekoppelten Schieberegister 10 bestimmt den internen Zustand des Pseudozufallszahlengenerators der 1 oder stellt den Zustand desselben dar.
  • Wie aus 1 hervorgeht, können die rückgekoppelten Schieberegister 10 des Pseudozufallszahlengenerators beispielhaft unterschiedliche Längen aufweisen.
  • Wie unter Bezugnahme auf 2 bis 4 deutlicher wird, kann jedes rückgekoppelte Schieberegister 10 eine Nächster- Zustand-Funktion-Logik (next-state-function logic) aufweisen, die den internen Zustand des jeweiligen rückgekoppelten Schieberegisters 10 bei dem Taktzyklus oder zu dem Zeitpunkt t + 1 auf der Basis des internen Zustands dieses rückgekoppelten Schieberegisters 10 zum Zeitpunkt t bestimmt.
  • Während eines normalen oder freilaufenden Betriebsmodus arbeiten die rückgekoppelten Schieberegister 10 auf unbeeinflusste und in sich geschlossene Weise. Das heißt, dass keine externen Informationen den internen Zustand der rückgekoppelten Schieberegister 10 beeinflussen. Jedoch werden die rückgekoppelten Schieberegister 10 bei einer Initialisierungsphase initialisiert (engl.: seeded). Der interne Zustand der rückgekoppelten Schieberegister 10 zu Beginn des freilaufenden Modus, d. h. Zeitpunkt t = 0, wird als Seed der rückgekoppelten Schieberegister 10 bezeichnet. Demgemäß ist der interne Zustand aller rückgekoppelten Schieberegister 10 zum Zeitpunkt t = 0 das Seed des Pseudozufallszahlengenerators der 1. Falls der Pseudozufallszahlengenerator bei einer Verschlüsselungsanwendung verwendet wird, sollte das Seed nicht-autorisierten Dritten unbekannt sein oder für dieselben nicht vorhersehbar sein. Die Seed-Quelle, die das Seed liefert, könnte beispielsweise einen echten Zufallszahlengeneratoren (TRNG – true random number generator) umfassen. Der echte Zufallszahlengenerator kann wiederum eine physische Rauschquelle nutzen, um die echte Zufallszahlenbitsequenz zu erlangen.
  • Wie aus dem Obenstehenden hervorgeht, ist das Seed des Pseudozufallszahlengenerators (PRNG – pseudo random number generator) eine relativ kurze Bitsequenz, die „wahrhaft" zufällig sein kann. Der PRNG erzeugt dann eine lange Pseudozufallsfolge aus dem Seed, die wahrhaft zufällig sein kann. Das heißt, dass das relativ kurze Seed zu einer relativ langen Pseudozufallsfolge erweitert wird. Die Pseudozufallsfolge sollte statistischen Tests genügen, die beispielsweise beweisen, dass die Anzahl von Nullen und Einsen in der an dem Ausgang 14 ausgegebenen Bitsequenz zueinander gleich ist, d. h. die Nullen und Einsen gleich wahrscheinlich sind, oder dass die Wahrscheinlichkeitsverteilung der Nullen und Einsen keine systematische Abweichung aufweist.
  • Je nach der Nächster-Zustand-Funktion-Logik der rückgekoppelten Schieberegister 10 können die Register 10 lineare rückgekoppelte Schieberegister (LFSR – linear feedback shift registers) oder nichtlineare rückgekoppelte Schieberegister (NLFSR – non-linear feedback shift registers) sein. Ferner sind die durch Schieberegister 10 ausgegebenen Bitsequenzen periodische Bitsequenzen, die eine gewisse Periodenlänge aufweisen. Die Operation, die durch den Kombinierer 12 an den durch die Mehrzahl von rückgekoppelten Schieberegistern 10 ausgegebenen Bitsequenzen durchgeführt wird, kann derart entworfen sein, dass die Periodenlänge der an dem Ausgang 14 ausgegebenen Pseudozufallsbitsequenz eine Periodenlänge aufweist, die länger oder sogar bei weitem länger ist als die maximale Periodenlänge unter den rückgekoppelten Schieberegistern 10. Wie bereits oben angemerkt wurde, kann diese Operation eine nichtlineare Boolesche Kombinationsfunktion F sein.
  • Wie nachstehend ausführlicher beschrieben wird, werden die rückgekoppelten Schieberegister 10 der 1 unter bestimmten Typen von binären rückgekoppelten Schieberegistern ausgewählt. Bevor jedoch die Zuordnung der rückgekoppelten Schieberegister 10 zu bestimmten Typen beschrieben wird, werden diese Typen und die Unterschiede zwischen denselben erläutert.
  • Ein rückgekoppeltes Schieberegister, das n Speicherzellen wie z. B. Flip-Flops aufweist, wird als n-stufiges rückgekoppeltes Schieberegister oder rückgekoppeltes Schieberegister einer Länge n bezeichnet. Fn n 2 bezeichnet die Menge aller binären n-Vektoren. Das heißt, Fn n 2 bezeichnet die Menge aller Zeilenvektoren, die n binäre Koordinaten aufweisen, im Folgenden als (a1, a2, a3, ..., an)n mit a1 ϵ {1 ... n} geschrie ben. Ferner ist ein rückgekoppeltes Schieberegister nicht-singulär, wenn jeder mögliche Zustand der rückgekoppelten Schieberegister einen eindeutigen Vorgängerzustand aufweist. Ein nicht-singuläres rückgekoppeltes Schieberegister könnte daher auch rückwärts betrieben werden. Es kann bewiesen werden, dass nicht-singuläre rückgekoppelte Schieberegister genau jene rückgekoppelten Schieberegister sind, deren Rückkopplungsfunktion F(x0, x1, ..., xn) die Form F(x0, x1, ..., xn) = x0 + G(x1, ..., xn) aufweist, d. h. die Variable x0 liegt nur einmal vor und liegt nur als lineare Komponente vor. Lediglich als Vorsichtsmaßnahme sei angemerkt, dass x0 bis xn den Inhalt der Sequenz der Speicherzellen des jeweiligen rückgekoppelten Schieberegisters bezeichne, wobei der Index die Speicherzellen in der Schieberichtung in der abnehmenden Reihenfolge des Schieberegisters bezeichnet. Die Funktion G kann linear oder nichtlinear sein. Die zum Definieren der nicht-singulären Schieberegister durch die obige Gleichung verwendete Bezeichnung beruht auf der Annahme, dass das Rückkopplungsergebnis F an die Speicherzelle n zurückgekoppelt wird, so dass der neue interne Zustand (x1, ..., xn, F(x0, x1, ..., xn)) ist, der von dem aktuellen Zustand (x0, x1, ..., xn) erhalten wird.
  • Aufgrund der Eigenschaften von nicht-singulären rückgekoppelten Schieberegistern bewirken diese rückgekoppelten Schieberegister eine Klasseneinteilung innerhalb der Menge Fn n 2 , wobei n die Länge des rückgekoppelten Schieberegisters bezeichnet. Das heißt, nicht-singuläre rückgekoppelte Schieberegister der Länge n unterteilen die Menge Fn n 2 in nicht zusammenhängende oder elementfremde Klassen. Eine Art und Weise, diese Klasseneinteilung zu erzielen, besteht darin, die folgende Vorgehensweise anzuwenden:
    Zuerst wird das rückgekoppelte Schieberegister mit einem beliebigen binären Vektor der Länge n geladen. Dieser Zeilen vektor sei das erste Element einer Klasse. Anschließend wird das Schieberegister solange getaktet, bis das rückgekoppelte Schieberegister wieder den Anfangszustand oder das erste Element in der Klasse annimmt, d. h. bis es wieder den ersten Zeilenvektor enthält. Die Menge des ersten Elements und aller dazwischen vorkommenden Zeilenvektoren bildet eine Klasse oder einen Zyklus des rückgekoppelten Schieberegisters. Falls diese Klasse jedoch eine ordnungsgemäße Teilmenge von Fn n 2 ist, fährt die Prozedur mit einem Laden eines anderen Zeilenvektors von Fn n 2 , der kein Element der ersten Klasse ist, in das rückgekoppelte Schieberegister fort, um das rückgekoppelte Schieberegister mit diesem anderen Vektor zu initialisieren. Wiederum bilden alle möglichen Zustandsvektoren, die aus dieser Initialisierung hervorgehen, die zweite Klasse oder den zweiten Zyklus. Die Vorgehensweise wird fortgesetzt, bis die auf diese Weise erhaltene Klasseneinheit gleich Fn n 2 ist. Durch diese Maßnahme werden alle Vektoren von Fn n 2 gefunden.
  • Ferner fällt jeder Vektor in genau eine Klasse. Und wiederum umfassen alle Klassen zusammengenommen alle Fn n 2 -Vektoren.
  • Ein Beispiel eines nicht-singulären rückgekoppelten Schieberegisters ist in 2 gezeigt. Das rückgekoppelte Schieberegister der 2 weist die Länge n = 3 auf und weist eine Rückkopplungsfunktion F(x0, x1, x2) = x0 + x1 + x2 auf, wobei die Operation „+" eine XOR-Verknüpfung angibt. Insbesondere umfasst das rückgekoppelte Schieberegister der 2 drei Speicherzellen D0, D1 und D2, die in Reihe geschaltet sind, um ein Schieberegister zu bilden. Die Ausgabe der letzten Speicherzelle D0 bildet gleichzeitig die Ausgabe des rückgekoppelten Schieberegisters der 2. Gemäß der Rückkopplungsfunktion sind die Ausgänge der Register D0 und D1 mit einem XOR-Gatter 20 verbunden, dessen Ausgabe in der Formel, die die Rückkopplungsfunktion F beschreibt, „x0 + x1" entspricht. Die Eingänge eines weiteren XOR-Gatters 22 sind mit einem Ausgang des XOR-Gatters 20 sowie mit dem Ausgang der ersten Speicherzelle D2 verbunden, wenn der Ausgang des XOR- Gatters 22 an den Eingang der ersten Speicherzelle D2 zurückgekoppelt wird.
  • Das in 2 gezeigte rückgekoppelte Schieberegister weist die folgende Zyklusstruktur auf:
    • Zyklus 1: {(0, 0, 0)}
    • Zyklus 2: {(1, 1, 1)}
    • Zyklus 3: {(0, 1, 0)} {(1, 0, 1)}
    • Zyklus 4: {(0, 0, 1)} {(0, 1, 1)} {(1, 1, 0)} {(1, 0, 0)}
  • Das heißt, dass das rückgekoppelte Schieberegister der 2 vier Zyklen, nämlich zwei Zyklen der Länge eins, einen Zyklus der Länge zwei und einen weiteren Zyklus der Länge vier, aufweist.
  • Desgleichen ist ein weiteres Beispiel eines nicht-singulären rückgekoppelten Schieberegisters in 3 gezeigt. Dieses rückgekoppelte Schieberegister weist die Länge vier auf, d. h. n = 4. Demgemäß umfasst sein Schieberegister vier Speicherzellen D0, D1, D2 und D3. Das in den Eingang der ersten Speicherzelle D3 zurückgekoppelte Eingangssignal wird durch die Rückkopplungsfunktion des rückgekoppelten Schieberegisters der 3 beschrieben, die F(x0, x1, x2, x3) = x0 + x1 + x1·x2 + x1·x2·x3) lautet. Die Multiplikation „·", beispielsweise zwischen x1 und x2, wird durch UND-Gatter 24 verkörpert. Ein weitere Multiplikation zwischen dem Ergebnis von x1·x2 einerseits und x3 andererseits wird durch ein weiteres UND-Gatter 26 durchgeführt. Drei XOR-Gatter 28, 30 und 32 führen die „+"-Operationen innerhalb der Rückkopplungsfunktion durch. Die Gatter 24 bis 32 sind auf die Art und Weise, die durch die Rückkopplungsfunktion F vorgeschrieben wird, und wie in 3 gezeigt ist, miteinander und mit den Speichern D0 bis D3 verbunden.
  • Die Rückkopplungsfunktion der 3 weist drei Zyklen auf, nämlich einen Zyklus der Länge eins, einen Zyklus der Länge 7 und einen Zyklus der Länge 8. Die drei Zyklen sind durch
    • Zyklus 1: {(0, 0, 0, 0)}
    • Zyklus 2: {(1, 1, 1, 1), (1, 1, 1, 0), (1, 1, 0, 1), (1, 0, 1, 0), (0, 1, 0, 1), (1, 0, 1, 1), (0, 1, 1, 1)}
    • Zyklus 3: {(0, 0, 1, 1), (0, 1, 1, 0), (1, 1, 0, 0), (1, 0, 0, 0,), (0, 0, 0, 1), (0, 0, 1, 0), (0, 1, 0, 0), (1, 0, 0, 1)} gegeben.
  • Nachdem die Eigenschaften von nicht-singulären rückgekoppelten Schieberegistern beschrieben wurden, werden im Folgenden verschiedene Arten dieser nicht-singulären rückgekoppelten Schieberegister präsentiert, die spezielle Eigenschaften aufweisen, aufgrund derer sie bei einer Verwendung derselben zum Erzeugen von Pseudozufallsbitsequenzen in Kombination oder, für einen dieser Typen, sogar individuell, vorteilhaft sind. Insbesondere weisen die nicht-singulären rückgekoppelten Schieberegister der nachstehend beschriebenen Typen einen Zyklus einer relativ langen Länge von zumindest 2N–2 auf. Neben diesem langen Zyklus weisen diese nicht-singulären rückgekoppelten Schieberegister einen oder zwei Zyklen der Länge eins oder zwei auf, wobei diese kurzen Zyklen relativ „einfache" Zustandsvektoren umfassen, die aus der Gruppe ausgewählt sind, die aus dem Alles-Eins-Vektor (1, 1, 1, ... 1), dem Alles-Null-Vektor (0, 0, ... 0) und zwei Vektoren von abwechselnden Nullen und Einsen, nämlich (1, 0, 1, ...) und (0, 1, 0, ...), besteht.
  • Insbesondere soll ein rückgekoppeltes Schieberegister der Länge N vom Typ A sein, falls es ein nicht-singuläres Schieberegister ist, das zwei Zyklen aufweist, nämlich einen Zyklus der Länge 2N–1, der alle Vektoren aus Fn n 2 ohne den Alles-Nullen-Vektor (0, 0, 0 ...) aufweist, und einen Zyklus, der lediglich den Alles-Nullen-Vektor aufweist.
  • Ein rückgekoppeltes Schieberegister der Länge N soll vom Typ B sein, falls es ein nicht-singuläres Schieberegister ist, das zwei Zyklen aufweist, von denen ein Zyklus eine Länge 2N–1 aufweist, der alle Vektoren aus Fn n 2 ohne den Alles-Eins-Vektor (1, 1, 1, ...) umfasst, und von denen der andere Zyklus lediglich den Alles-Eins-Vektor umfasst.
  • Ein rückgekoppeltes Schieberegister der Länge N soll vom Typ C sein, falls es ein nicht-singuläres rückgekoppeltes Schieberegister ist, das drei Zyklen umfasst, nämlich einen Zyklus der Länge 2N–2, der alle Vektoren aus Fn n 2 minus ohne den Alles-Eins-Vektor (1, 1, 1, ...) und den (Alles-)Null-Vektor umfasst, wobei ein Zyklus lediglich den Null-Vektor umfasst und ein anderer Vektor lediglich den Alles-Eins-Vektor umfasst.
  • Schließlich soll ein rückgekoppeltes Schieberegister der Länge N soll vom Typ D sein, falls es ein nicht-singuläres rückgekoppeltes Schieberegister ist, das genau zwei Zyklen aufweist, von denen ein Zyklus eine Länge zwei aufweist und Vektoren (1, 0, 1, ...) und (0, 1, 0, ...) umfasst und von denen ein weiterer Zyklus eine Länge 2N–2 aufweist, der alle anderen Vektoren aus FN N 2 umfasst.
  • Einzeln sind die rückgekoppelten Schieberegister gemäß den oben genannten Typen A bis D für verschiedene Fehlerangriffe oder Forcing-Angriffe anfällig, wenn diese rückgekoppelten Schieberegister bei einer Verschlüsselungsanwendung einzeln verwendet werden. Insbesondere sind mache dieser Typen für Fehlerangriffe oder Forcing-Angriffe anfällig, die leichter durchzuführen sind als andere. Insofern sind die obigen Typen im kryptographischen Sinn unterschiedlich sicher. Unabhängig davon sind die obigen Typen weniger sicher, wenn sie einzeln oder in Kombination mit rückgekoppelten Schieberegistern desselben Typs verwendet werden.
  • Man stelle sich z. B. vor, dass der PRNG der 1 bei einem Sicherheitskontroller wie z. B. einem Chipkartenkontroller oder einem sicheren RFID-Tag verwendet werden. Beispielsweise könnte die PRNG-Ausgabesequenz am Ausgang 14 zum Erzeugen von Masken gegen Differentialleistungsanalyse-Angriffe (DPA-Angriffe, DPA = differential power analysis) oder zum Maskieren von Bussen gegen Probing-Angriffe verwendet werden. Ferner könnte der PRNG der 1 in einer Stromchiffre verwendet werden. Bei all diesen Anwendungen ist es wichtig, zu gewährleisten, dass die PRNG-Ausgabesequenz trotz Fehlerangriffen oder Forcing-Angriffen durch nicht-autorisierte Personen sicher bleibt, d. h. ihre Pseudozufälligkeit aufrechterhält.
  • Durch Verwendung von Fehlerangriffen manipuliert ein Angreifer beispielsweise ein oder mehr in Speicherzellen gespeicherte(s) Datenbit(s). Beispielsweise können diese Bits selektiv auf eins eingestellt oder gelöscht, d. h. auf null gestellt, werden, oder sie können dazu gezwungen werden, auf unkontrollierte oder zufällige Weise umzuschalten, d. h. sogenanntes Zufallsbit-Flip. Die Auswahl seitens des Angreifers aus den soeben erwähnten Möglichkeiten hängt von den Fähigkeiten und der Absicht des Angreifers ab. Insbesondere ist es relativ leicht, zu bewirken, dass benachbarte Flip-Flops gleichzeitig gelöscht werden. Ferner ist es relativ leicht, viele benachbarte Flip-Flops auf eins zu setzen.
  • Die soeben erwähnten Angriffe sind erfolgreich, sobald die Pseudozufallszahlenbitsequenzausgabe an dem Ausgang 14 ihre Zufälligkeit verliert. Dies ist der Fall, wenn die rückgekoppelten Schieberegister 10 nicht in ihren langen Zyklen arbeiten. Falls beispielsweise alle rückgekoppelten Schieberegister 10 in ihren kurzen Zyklen gefangen sind, ist auch die Periodenlänge der Bitsequenzausgabe an dem Ausgang 14 relativ kurz. Falls der Pseudozufallszahlengenerator der 1 jedoch in einem kryptographischen Sinn verwendet wird, gefährdet eine derartige Situation das gesamte System, das denselben umfasst. Somit muss eine derartige Situation vermieden werden. Eine Möglichkeit bestünde darin, den Inhalt der rückgekoppelten Schieberegister 10 aktiv zu prüfen. Dies würde jedoch einen relativ großen Mehraufwand an Hardware erfordern. Wenn beispielsweise Komparatoren bereitgestellt würden, um den Inhalt eines großen Schieberegisters zu prüfen, würden die Maßnahmen oder Mittel zum Schützen des Komparators selbst vor Angriffen eine Schaltung erfordern, die so groß ist wie der ganze Pseudozufallszahlengenerator selbst.
  • Eine weitere Möglichkeit bestünde darin, singuläre rückgekoppelte Schieberegister zu verwenden, d. h. Schieberegister, die nicht in der Lage sind, rückwärts zu arbeiten, und insbesondere singuläre rückgekoppelte Schieberegister, die lediglich einen einzigen großen Zyklus aufweisen. Jedoch weisen diese rückgekoppelten Schieberegister insofern einen Nachteil auf, als die Implementierung erfordert, dass die Ausgaben aller Speicherzellen des Schieberegisters an der Rückkopplungsfunktion beteiligt sind. Dies wiederum führt zu einer großen Implementierung, einer großen Chipfläche und einem großen Stromverbrauch aufgrund dynamischer Gefahren.
  • Somit sollten alle rückgekoppelten Schieberegister 10 in ihren größtmöglichen Zyklen arbeiten, um das stärkste Pseudozufallsbitsequenzergebnis zu erzielen. Man stelle sich jedoch vor, dass alle rückgekoppelten Schieberegister 10 vom Typ A in 1 sind. Rückgekoppelte Schieberegister vom Typ A sind einfach zu konstruieren, da die Theorie über dieselben ausgereift ist. Jedoch verhaften rückgekoppelte Schieberegister vom Typ A – wenn sie erst einmal in dem Alles-Null-Zustand sind – per definitionem sogar dann in diesem Alles-Null-Zustand, wenn das rückgekoppelte Schieberegister nichtlinear ist. Dies bedeutet wiederum, dass ein Initialisieren eines derartigen rückgekoppelten Schieberegisters vom Typ A mit einem Alles-Null-Zustand zu einer Ausgabesequenz von lauter Nullen führt, d. h. zu einer Nullsequenz 000 ... führt. Wie oben angedeutet wurde, ist dies unerwünscht, und die Sicherheit des Systems ist drastisch verringert. Der Angreifer wiederum wird versuchen, diese Schwäche auszunutzen, indem er die Speicherzellen von Flip-Flops von möglichst vielen rückgekoppelten Schieberegistern 10 in den Nullzustand zwingt.
  • Gleichermaßen stelle man sich vor, dass die rückgekoppelten Schieberegister 10 der 1 lediglich vom Typ B sind. In diesem Fall müsste bei allen rückgekoppelten Schieberegistern 10 der Alles-Eins-Zustand vermieden werden, und der Angreifer würde wiederum versuchen, aus dieser Unzulänglichkeit einen Nutzen zu ziehen, indem er alle Speicherzellen oder Flip-Flops dieser rückgekoppelten Schieberegister 10 in den Zustand Eins zwingt.
  • Im Fall des Typs C ist die Situation sogar noch schlimmer. Falls alle rückgekoppelten Schieberegister 10 vom Typ C wären, würde es dem Angreifer gelingen, die durch den Pseudozufallszahlengenerator der 1 gelieferte Pseudozufälligkeit zu umgehen, wenn er in der Lage wäre, die Speicherzellen oder Flip-Flops der rückgekoppelten Schieberegister 10 entweder in den Alles-Eins-Zustand oder den Alles-Null-Zustand zu bringen. Im Gegensatz dazu ist der Angreifer im Fall von rückgekoppelten Schieberegistern 10 des Typs A oder des Typs B lediglich bei jeweils einer dieser Alternativen erfolgreich.
  • Falls alle rückgekoppelten Schieberegister 10 vom Typ D sind, würde ein Angreifer die Periodenlänge der Ausgabesequenz des PRNG der 1 lediglich in dem Fall erfolgreich verkürzen, dass der Angreifer in der Lage ist, die rückgekoppelten Schieberegister 10 in den Zustand 01010 ... oder 1010101 ... zu versetzen. Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung umfasst der PRNG der 1 jedoch zumindest eine Rückkopplungsverschiebung, wobei der Term vom Typ D ist, und ist anhand dieser Maßnahme zumindest vor den oben beschriebenen leicht durchzuführenden unidirektionalen Angriffen geschützt. Gemäß einem weiteren Ausführungsbeispiel sind mehr als eines oder alle der rückgekoppelten Schieberegister 10 vom Typ D. Im Vergleich zu den Fällen, bei denen die rückgekoppelten Schieberegister 10 allesamt vom Typ A, allesamt vom Typ B, allesamt entweder vom Typ A oder C oder allesamt entweder vom Typ B oder C sind, muss der Angreifer den Fehler- oder Forcing-Angriff derart durchführen, dass das oder die rückgekoppelte(n) Schieberegister vom Typ D in Zustände verschiedener Inhalte, nämlich den Zustand 1, 0, 1, ... oder 0, 1, 0, ..., gebracht werden muss bzw. müssen, was schwieriger ist als ein gemeinsames Setzen aller Speicherzellen der rückgekoppelten Schieberegister auf 1 oder auf 0. Somit nutzen diese Ausführungsbeispiele die Tatsache, dass ein physischer Angriff auf den Zustand von rückgekoppelten Schieberegistern mit dem Ziel, sie gemeinsam in eine Richtung zu setzen (unidirektionaler Angriff), bei weitem leichter ist, als ein spezifisches Bitmuster in die Speicherzellen der rückgekoppelten Schieberegister zu laden. Mit anderen Worten, wenn lediglich ein Teil der oder alle rückgekoppelten Schieberegister 10 vom Typ D sind, ist es nicht möglich, den Pseudozufallszahlengenerator der 1 durch Verwendung eines unidirektionalen Angriffs lahmzulegen.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist zumindest eines der rückgekoppelten Schieberegister 10 von einem der Typen A bis D, während zumindest ein weiteres der rückgekoppelten Schieberegister 10 von einem anderen der Typen A bis D ist, so dass die kurzen Zyklen der Länge 1 oder 2 des ersten Typs eine Menge von Vektoren umfassen, die von der Menge von Zustandsvektoren, die durch den zweiten Typ beinhaltet sind, getrennt ist. Um dies zu veranschaulichen, sei auf die nachstehende Tabelle verwiesen.
    Typ A Typ B Typ C Typ D
    0, 0, 0, ... x x
    1, 1, 1, ... x x
    0, 1, 0, ... x
    1, 0, 1, ... x
  • Die Tabelle zeigt die Zustandsvektoren, die in jeglichem der kurzen Zyklen, d. h. der Zyklen, die die Länge 1 oder 2 aufweisen, jeglicher der Typen A bis D, d. h. 0, 0, 0 ..., 1, 1, 1, ..., 0, 1, 0, ... und 1, 0, 1, ..., vorkommen. Diese Vektoren sind in der ersten Spalte aufgelistet. Die nächsten vier Spalten zeigen für jeden der Typen A bis D, welcher dieser Vektoren durch den einen oder die zwei kurzen Zyklen des jeweiligen Typs umfasst ist. Beispielsweise zeigt die Tabelle, dass der kurze Zyklus vom Typ A lediglich den Alles-Nullen-Vektor umfasst, während der kurze Zyklus vom Typ B lediglich den Alles-Eins-Vektor umfasst, und so weiter.
  • Erstens umfassen die rückgekoppelten Schieberegister 10 gemäß dem soeben erwähnten Ausführungsbeispiel zumindest ein Paar von rückgekoppelten Schieberegistern eines unterschiedlichen Typs der Typen A bis D, wobei die Kreuze für diese Typen in der Tabelle üblicherweise nicht in einer Zeile liegen. Das heißt, dass die rückgekoppelten Schieberegister ein Paar von rückgekoppelten Schieberegistern umfassen können, wobei die rückgekoppelten Schieberegister dieses Paares gemäß unterschiedlichen Ausführungsbeispielen vom Typ (A, B), (A, D), (B, D) oder (C, D) sind. Gemäß einem wieder anderen Ausführungsbeispiel umfassen die rückgekoppelten Schieberegister 10 zumindest drei rückgekoppelte Schieberegister der Typen A bis D, nämlich Typ A, Typ B und Typ D. Selbstverständlich ist es möglich, dass alle rückgekoppelten Schieberegister 10 einen beliebigen der Typen der soeben erwähnten Paare oder der soeben erwähnten Triplets aufweisen, wobei im Fall von m FSRs m1 zum Beispiel vom Typ A ist und m2 = m – m1 vom Typ B ist, im Fall eines Paares (A, B).
  • Eine Verwendung der soeben erwähnten rückgekoppelten Schieberegister 10 unterschiedlicher Typen in dem PRNG der 1 ermöglicht ein zuverlässiges Abwenden unidirektionaler Angriffe. Insbesondere wenn die soeben erwähnten Ausführungsbeispiele unter Verwendung unterschiedlicher Typen von rückgekoppelten Schieberegistern in dem PRNG der 1 verwendet werden, führt ein Versetzen aller Speicherzellen der rückgekoppelten Schieberegister in einen gemeinsamen Zustand, d. h. 1 oder 0, nicht zu einem Zustand, bei dem sich alle rückgekoppelten Schieberegister in einem ihrer kurzen Zyklen befinden. Vielmehr bleiben zumindest die rückgekoppelten Schieberegister eines der Typen in einem langen Zyklus. Ferner kann die zum Implementieren des PRNG der 1 benötigte Chipfläche und der Leistungsverbrauch des PRNG der 1 genauso niedrig wie in dem Fall gehalten werden, bei dem lediglich rückgekoppelte Schieberegister des Typs A verwendet werden, da es rückgekoppelte Schieberegister der Typen A, B und D mit spärlichen Rückkopplungsfunktionen gibt.
  • Man stelle sich beispielsweise vor, dass ein rückgekoppeltes Schieberegister vom Typ A zusammen mit einem rückgekoppelten Schieberegister vom Typ B bei dem PRNG der 1 verwendet wird. Dann könnte ein direktionaler Angriff höchstens lediglich einen Teil des PRNG lahmlegen, nämlich die Unterkomponenten, die das rückgekoppelte Schieberegister vom Typ A umfassen, oder die Unterkomponente, die das rückgekoppelte Schieberegister vom Typ B umfasst.
  • Lediglich der Vollständigkeit halber sind im Folgenden Beispiele von NLFSRs vom Typ A, Typ B und Typ D angegeben. Ein NLFSR der Länge N = 5 ist beispielsweise das rückgekoppelte Schieberegister, das die Rückkopplungsfunktion F(x0, x1, x2, x3, x4) = x0 + x2 + x4 + x1·x4 aufweist. Ein Beispiel eines NLFSR vom Typ B ist beispielsweise das NLFSR der Länge N = 6, das die Rückkopplungsfunktion F(x0, x1, x2, x3, x4, x5) = 1 + x0 + x2·x5 aufweist. Ein Beispiel eines NLFSR vom Typ D ist das NLFSR der Länge N = 5, das die Rückkopplungsfunktion F(x0, x1, x2, x3, x4) = 1 + x0 + x1 + x2 + x4 + x1·x3 aufweist. Ein weiteres Beispiel eines rückgekoppelten Schieberegisters vom Typ D ist ein affines rückgekoppeltes Schieberegister, d. h. ein rückgekoppeltes Schieberegister, das eine Rückkopplungsfunktion ohne Multiplikationen oder UNDs aufweist, sondern lediglich mit Additionen oder XORs, das die Länge N = 6 und die Rückkopplungsfunktion F(x0, x1, x2, x3, x4, X5) = 1 + x0 + x1 + x4 + x5 aufweist.
  • Unter Bezugnahme auf 1 wurde der Seeding-Prozess (bisher noch nicht ausführlich beschrieben. In der Tat kann der Seeding-Prozess parallel stattfinden, d. h. durch ein paralleles Laden das Seedungsbits in die einzelnen Speicherzellen der rückgekoppelten Schieberegister 10. Jedoch ist es auch möglich, das Seed seriell in die einzelnen rückgekoppelten Schieberegister des PRNG zu laden. Beispielsweise zeigt 4 einen gemäß dem der 1 konstruierten PRNG ausführlicher, um eine Möglichkeit eines seriellen Ladens eines Seeds in die Schieberegister der rückgekoppelten Schieberegister zu zeigen. Insbesondere zeigt 4 einen Pseudozufallszahlengenerator, der eine Mehrzahl von rückgekoppelten Schieberegistern aufweist, bei denen dasselbe Seed in die Schieberegister geladen wird.
  • Insbesondere umfasst der PRNG der 4 eine Mehrzahl von rückgekoppelten Schieberegistern, wobei zu Veranschaulichungszwecken lediglich zwei derartige rückgekoppelte Schieberegister 10a und 10b in 4 gezeigt sind. Ferner umfasst der PRNG der 4 einen Kombinierer 12, dessen Eingänge mit den Ausgängen der rückgekoppelten Schieberegister 10a und 10b verbunden sind und dessen Ausgang den Ausgang 14 des PRNG selbst darstellt. Jedes der rückgekoppelten Schieberegister 10a und 10b umfasst ein Schieberegister 40a und 40b, eine Nächster-Zustand-Funktion-Schaltungsanordnung 42a und 42b und Beeinflussungsgatter 44a und 44b zum Beeinflussen der Ausgabe der Nächster-Zustand-Funktion-Schaltungsanordnung 42a bzw. 42b, mit einem gemeinsamen Seed-Signal, das üblicherweise an den jeweiligen Eingang der Beeinflussungsgatter 44a und 44b angelegt wird. Insbesondere können die Schieberegister 40a und 40b der verschiedenen rückgekoppelten Schieberegister 10a und 10b verschiedene Längen, d. h. eine unterschiedliche Anzahl von Speicherzellen, aufweisen. Die Nächster-Zustand-Funktion-Schaltungsanordnung 42a bzw. 42b ist mit den Ausgängen spezifischer Speicherzellen des jeweiligen Schieberegisters 40a und 40b verbunden und ist intern gemäß der Rückkopplungsfunktion des jeweiligen rückgekoppelten Schieberegisters 10a bzw. 10b aufgebaut, oder ist intern so aufgebaut, wie es durch dasselbe vorgeschrieben ist. Das Ausgangssignal der Nächster-Zustand-Funktion-Schaltungsanordnung 42a und 42b umfasst ein Rückkopplungsbit, das in einen jeweiligen Eingang des Beeinflussungsgatters 44a und 44b eintritt. Im Fall der 4 ist das Beeinflussungsgatter als XOR-Gatter verkörpert. Der Ausgang der XOR-Gatter 44a und 44b ist mit der ersten Speicherzelle des jeweiligen Schieberegisters 40a bzw. 40b verbunden. Aufgrund der Eigenschaft der XOR-Verknüpfung beeinflussen die Beeinflussungsgatter 44a oder 44b das Rückkopplungsbit lediglich in dem Fall, dass das Signal an dem anderen Eingang nicht null beträgt. In 4 stellt der Ausgang der letzten Speicherzelle der Schieberegister 40a und 40b gleichzeitig den Ausgang des jeweiligen rückgekoppelten Schieberegisters 40a und 40b dar, der mit dem Eingang des Kombinierers 12 verbunden ist. Jedoch wird angemerkt, dass es ebenfalls möglich ist, einen anderen Ausgang einer der anderen Speicherzellen in den Schieberegistern 40a und 40b abzugreifen, um das Ausgangssignal des jeweiligen rückgekoppelten Schieberegisters 40a und 40b zu erhalten. Ferner könnte eine Mehrzahl von Speicherzellenausgängen der Schieberegister 40a und 40b verwendet werden, um den Ausgang der jeweiligen rückgekoppelten Schieberegister 10a und 10b zu definieren.
  • Der Seed-Eingang jedes der Beeinflussungsgatter 44a und 44b ist über einen Schalter 48 mit einer Seed-Quelle 46 gemeinsam verbunden. Die Seed-Quelle ist z. B. ein TRNG, der eine echte Zufallszahlenbitsequenz liefert. Falls der Schalter geschlossen wird, wird die durch die Seed-Quelle 46 ausgegebene echte Zufallsbitsequenz an den Seed-Eingang der Beeinflussungsgatter 44a und 44b angelegt, so dass die rückgekoppelten Schieberegister 10a und 10b während dieser Situation, in der der Schalter 48 geschlossen ist, mit demselben Seed initialisiert werden.
  • Die rückgekoppelten Schieberegister 10a und 10b des Pseudozufallszahlengenerators der 4 können auf die oben unter Bezugnahme auf 1 angegebene Weise aus den Typen A bis D ausgewählt werden. Falls die rückgekoppelten Schieberegister 10a und 10b zumindest ein Paar von rückgekoppelten Schieberegistern umfassen, die unterschiedliche Typen aufweisen, die aus den Typen A bis D ausgewählt sind, wobei die ausgewählten Typen in ihren kurzen Zyklen keine gemeinsamen Zustandsvektoren aufweisen, führt nicht einmal ein Fehlerangriff oder Forcing-Angriff auf die Seed-Quelle 46 in dem Ausmaß, dass die Seed-Quelle lediglich ein Bei-Eins-Steckengeblieben-Signal oder ein Bei-Null-Steckengeblieben-Signal oder ein abwechselndes Signal von abwechselnden Nullen und Einsen ausgibt, zu einer gefährlichen Situation, bei der sich alle rückgekoppelten Schieberegister 10a und 10b in dem kurzen Zyklus befinden. Vielmehr würden zumindest zwei der rückgekoppelten Schieberegister in dem langen Zyklus bleiben.
  • Schließlich sei angemerkt, dass die Ausführungsbeispiele der 1 und 4 lediglich der Veranschaulichung dienten. Beispielsweise kann die Anzahl von rückgekoppelten Schieberegistern variiert werden, solange zumindest zwei rückgekoppelte Schieberegister beibehalten werden. Gemäß einem weiteren Ausführungsbeispiel ist der PRNG jedoch nicht als Bündel von rückgekoppelten Schieberegistern konstruiert, deren Ausgänge mit einem Kombinierer verbunden sind, wie dies in 1 und 4 der Fall war. Gemäß verschiedenen Ausführungsbeispielen gelten die oben erläuterten Vorteile dieser spezifischen Ausführungsbeispiele vielmehr auch für PRNGs, bei denen die rückgekoppelten Schieberegister beispielsweise nicht parallel geschaltet sind. Deshalb umfasst der Pseudozufallszahlengenerator gemäß einem weiteren Ausführungsbeispiel eine Mehrzahl von rückgekoppelten Schieberegistern, die auf dieselbe Weise, wie sie oben erläutert wurde, aus den Typen A bis D ausgewählt sind, wobei jedoch die rückgekoppelten Schieberegister auf andere Weise miteinander verbunden sind, beispielsweise in Reihe geschaltet sind. Ein alternatives Ausführungsbeispiel ist beispielsweise in 5 gezeigt. Wie zu sehen ist, umfasst der in 5 gezeigte PRNG (beispielhaft) zwei rückgekoppelte Schieberegister 10a und 10b, eine Verbindungsschaltungsanordnung 50, die die Eingänge und Ausgänge der rückgekoppelten Schieberegister 10a und 10b miteinander verbindet, einen Ausgang 14 zum Ausgeben der Pseudozufallsbitsequenz, die durch eine Kombination der Pseudozufallssignale, die sowohl durch die rückgekoppelten Schieberegister 10a und 10b als auch durch einen Seed-Eingang 52 ausgegeben werden, mit der Verbindungsschaltungsanordnung 50, die zwischen den Eingang 52 und den Ausgang 14 geschaltet ist, erhalten wird. Selbstverständlich kann der PRNG der 5 mehr als zwei rückgekoppelte Schieberegister 10a und 10b aufweisen und kann eine unterschiedliche Länge aufweisen, wie in Bezug auf das obige Ausführungsbeispiel angegeben ist.
  • Ferner sei angemerkt, dass die unter Bezugnahme auf 1, 4 und 5 oben präsentierten PRNGs in einer Stromchiffre oder einer sonstigen kryptographischen Entität wie z. B. einer kryptographischen Steuerung verwendet werden können. Eine Stromchiffre dient zum Erzeugen einer Sequenz von Bits, die nicht nur statistisch unauffällig ist, sondern die auch schwierig zu knacken ist. Das heißt, es sollte fast unmöglich sein, das Seed aus Stücken der Pseudozufallsbitsequenz zu berechnen, sogar wenn dieses Stück lang ist. In Kombination mit Stromchiffren wird das Seed auch als Anfangszustand der Stromchiffre bezeichnet. Der Anfangszustand einer Stromchiffre kann mit einem geheimen Schlüssel identisch sein oder kann ohne weiteres von dem geheimen Schlüssel ableitbar sein. 6 zeigt ein Ausführungsbeispiel, bei dem ein PRNG gemäß einem der obigen Ausführungsbeispiele, der mit dem Bezugszeichen 60 bezeichnet ist, einen Ausgang 14 aufweist, der mit einer Verschlüsselungsschaltungsanordnung 62 gekoppelt ist. Die Verschlüsselungsschaltungsanordnung 62 kann beispielsweise dahin gehend konfiguriert sein, eine Dateneingabe an einem Eingang 64 anhand einer Pseudozufallsbitsequenz, die von dem Ausgang 14 eintritt, kryptographisch zu schützen und die resultierende geschützte Bitsequenz an einem Ausgang 66 auszugeben. Beispielsweise verschlüsselt oder maskiert die Verschlüsselungsschaltungsanordnung 62 die an dem Eingang 64 eingegebenen Daten durch eine Verwendung einer Pseudozufallsbitsequenz an dem Ausgang 14, und sie gibt die resultierenden Daten an dem Ausgang 66 aus.
  • Schließlich sei angemerkt, dass die obigen Ausführungsbeispiele, bei denen zumindest ein Paar der rückgekoppelten Schieberegister unterschiedliche Typen aufweisen, nicht auf Fälle beschränkt sind, bei denen die Typen dieses Paares von rückgekoppelten Schieberegistern aus den Typen A bis D ausgewählt sind. Vielmehr weisen die rückgekoppelten Schieberegister 10 der 1 gemäß einem anderen Ausführungsbeispiel zumindest zwei rückgekoppelte Schieberegister auf, bei denen die Einheit von Zustandsvektoren des kleinen Zyklus oder der kleinen Zyklen des einen rückgekoppelten Schieberegisters zu einer Menge von Zustandsvektoren führt, die von der Einheit von Zustandsvektoren des einen oder der mehreren kurzen Zyklen des anderen rückgekoppelten Schieberegisters getrennt sind.
  • Je nach einer tatsächlichen Implementierung können die obigen Ausführungsbeispiele in Hardware oder in Software implementiert sein. Deshalb beziehen sie sich auch auf ein Computerprogramm, das auf einem computerlesbaren Medium wie z. B. einer CD, einer Diskette oder einem sonstigen Datenträger gespeichert werden kann. Diese Ausführungsbeispiele definieren somit auch ein Computerprogramm, das einen Programmcode aufweist, der, wenn er auf einem Computer ausgeführt wird, die obigen Verfahren, die in Verbindung mit den obigen Figuren beschrieben sind, durchführt.
  • Obwohl die vorliegende Erfindung anhand mehrerer bevorzugter Ausführungsbeispiele beschrieben wurde, gibt es Änderungen, Permutationen und Äquivalente, die in den Schutzumfang der vorliegenden Erfindung fallen. Ferner ist zu beachten, dass es viele alternative Möglichkeiten gibt, die Verfahren und Zusammensetzungen der vorliegenden Erfindung zu implementieren. Deshalb ist beabsichtigt, dass die folgenden beigefügten Patentansprüche dahin gehend interpretiert werden, dass sie alle derartigen Änderungen, Permutationen und Äquivalente, die innerhalb der wahren Wesensart und des Schutzumfangs der vorliegenden Erfindung liegen, umfassen.

Claims (23)

  1. Pseudozufallszahlengenerator, der folgende Merkmale aufweist: eine Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern (10), von denen jedes dahin gehend konfiguriert ist, eine Bitsequenz auszugeben, wobei zumindest ein erstes der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern einen oder mehr erste Zyklen einer Länge von weniger als oder gleich zwei umfasst und ein zweites der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern einen oder mehr zweite Zyklen einer Länge von weniger als oder gleich zwei umfasst, und wobei der eine oder die mehreren ersten Zyklen eine erste Menge eines oder mehrerer von Schieberegisterzustandsvektoren 000 ..., 111 ..., 010 ... und 101 ... aufweist beziehungsweise aufweisen und der eine oder die mehreren zweiten Zyklen eine zweite Menge eines oder mehrerer der Schieberegisterzustandsvektoren 000 ..., 111 ..., 010 ... und 101 ... aufweist beziehungsweise aufweisen, wobei die erste und die zweite Menge voneinander getrennt sind.
  2. Pseudozufallszahlengenerator gemäß Anspruch 1, der ferner einen Kombinierer (12) umfasst, der dahin gehend konfiguriert ist, die Bitsequenzen der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern (10) zu einer Pseudozufallsausgabebitsequenz des Pseudozufallszahlengenerators zu kombinieren.
  3. Pseudozufallszahlengenerator gemäß Anspruch 1 oder 2, bei dem das erste und das zweite nicht-singuläre rückgekoppelte Schieberegister unterschiedliche Längen aufweisen.
  4. Pseudozufallszahlengenerator gemäß einem der Ansprüche 1 bis 3, bei dem das erste nicht-singuläre rückgekoppelte Schieberegister eine Länge N1 aufweist und das zweite nicht-singuläre rückgekoppelte Schieberegister eine Länge N2 aufweist und das erste und das zweite nicht-singuläre rückgekoppelte Schieberegister unterschiedliche Typen aus den aus Folgenden bestehenden Typen sind: einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (1, 1, 1, ...)N aufweist, und einen weiteren Zyklus der Länge 2N–1, der alle Vektoren von FN N 2 mit Ausnahme von (1, 1, 1, ...)N aufweist, umfasst, einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (0, 0, 0, ...)N aufweist, und einen weiteren Zyklus der Länge 2N–1, der alle Vektoren von FN N 2 mit Ausnahme von (0, 0, 0, ...)N aufweist, umfasst, einem FSR-Typ, der einen ersten Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (1, 1, 1, ...)N aufweist, einen zweiten Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (0, 0, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2, der alle Vektoren von FN N 2 mit Ausnahme von (1, 1, 1, ...)N und (0, 0, 0, ...)N aufweist, umfasst, und einem FSR-Typ, der einen Zyklus einer Länge 2, der die Schieberegisterzustandsvektoren (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2 umfasst, der alle Vektoren von FN N 2 mit Ausnahme von (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, umfasst, wobei N ϵ {N1, N2}.
  5. Pseudozufallszahlengenerator gemäß einem der Ansprüche 2 bis 4, bei dem der Kombinierer (12) dahin gehend konfiguriert ist, an Bits der Bitsequenzen eine Boolesche Operation durchzuführen.
  6. Pseudozufallszahlengenerator gemäß einem der Ansprüche 2 bis 5, bei dem der Kombinierer (12) dahin gehend konfiguriert ist, an Bits der Bitsequenzen eine nichtlineare Operation durchzuführen.
  7. Pseudozufallszahlengenerator gemäß einem der Ansprüche 2 bis 5, bei dem der Kombinierer (12) dahin gehend konfiguriert ist, die Pseudozufallsausgabebitsequenz mit einer Bitrate gleich 1/N der Summe der Bitraten der Bitsequenzen zu erzeugen, wobei N die Anzahl der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern ist.
  8. Pseudozufallszahlengenerator gemäß einem der Ansprüche 1 bis 7, der ferner eine Schaltschaltung umfasst, die dahin gehend konfiguriert ist, Eingänge der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern selektiv mit einer Seed-Quelle zu verbinden, so dass die Mehrzahl von rückgekoppelten Schieberegistern, nachdem die Eingänge mit der Seed-Quelle verbunden sind, mit demselben Seed initialisiert werden.
  9. Pseudozufallszahlengenerator gemäß einem der Ansprüche 1 bis 8, bei dem das erste nicht-singuläre rückgekoppelte Schieberegister eine Länge N1 aufweist und das zweite nicht-singuläre rückgekoppelte Schieberegister eine Länge N2 aufweist und das erste und das zweite nicht-singuläre rückgekoppelte Schieberegister unterschiedliche Typen aus den aus Folgenden bestehenden Typen sind: einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (1, 1, 1, ...)N aufweist, und einen weiteren Zyklus der Länge 2N–1, der alle Vektoren von FN N 2 mit Ausnahme von (1, 1, 1, ...)N aufweist, umfasst, einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (0, 0, 0, ...)N aufweist, und einen weiteren Zyklus der Länge 2N–1, der alle Vektoren von FN N 2 mit Ausnahme von (0, 0, 0, ...)N aufweist, umfasst, wobei N ϵ {N1, N2}.
  10. Pseudozufallszahlengenerator gemäß einem der Ansprüche 1 bis 9, bei dem eine Menge von Typen aller nicht-singulären rückgekoppelten Schieberegister der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern aus Folgenden besteht: einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (1, 1, 1, ...)N aufweist, und einen weiteren Zyklus der Länge 2N –1, der alle Vektoren von FN N 2 mit Ausnahme von (1, 1, 1, ...)N aufweist, umfasst, einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (0, 0, 0, ...)N aufweist, und einen weiteren Zyklus der Länge 2N–1, der alle Vektoren von FN N 2 mit Ausnahme von (0, 0, 0, ...)N aufweist, umfasst, und einem FSR-Typ, der einen Zyklus einer Länge 2, der die Schieberegisterzustandsvektoren (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2 umfasst, der alle Vektoren von FN N 2 mit Ausnahme von (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, umfasst, wobei N die Länge des jeweiligen nicht-singulären rückgekoppelten Schieberegisters ist.
  11. Pseudozufallszahlengenerator, der folgende Merkmale aufweist: eine Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern, von denen jedes dahin gehend konfiguriert ist, eine Bitsequenz auszugeben, wobei die Mehrzahl von rückgekoppelten Schieberegistern zumindest ein nicht-singuläres rückgekoppel tes Schieberegister umfasst, das einen Zyklus einer Länge 2, der Schieberegisterzustandsvektoren (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2, der alle Vektoren von FN N 2 mit Ausnahme von (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, umfasst, wobei N die Länge des zumindest einen nicht-singulären rückgekoppelten Schieberegisters ist.
  12. Pseudozufallszahlengenerator gemäß Anspruch 11, bei dem die Mehrzahl von rückgekoppelten Schieberegistern ausschließlich nicht-singuläre rückgekoppelte Schieberegister umfasst, die einen Zyklus einer Länge 2, der Schieberegisterzustandsvektoren (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2, der alle Vektoren von FN N 2 mit Ausnahme von (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, umfassen, wobei N die Länge des jeweiligen nicht-singulären rückgekoppelten Schieberegisters ist.
  13. Pseudozufallszahlengenerator gemäß Anspruch 12, bei dem die Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern unterschiedliche Längen aufweisen.
  14. Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz, wobei das Verfahren folgende Schritte umfasst: Erzeugen von Bitsequenzen durch Verwenden einer Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern (10), von denen jedes dahin gehend konfiguriert ist, eine jeweilige der Bitsequenzen auszugeben, wobei zumindest ein erstes der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern einen oder mehr erste Zyklen einer Länge von weniger als oder gleich zwei aufweist und ein zweites der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern einen oder mehr zweite Zyklen einer Länge von weniger als oder gleich zwei aufweist, und wobei der eine oder die mehreren ersten Zyklen eine erste Menge eines oder mehrerer von Schieberegisterzustandsvektoren 000 ..., 111 ..., 010 ... und 101 ... aufweist beziehungsweise aufweisen und der eine oder die mehreren zweiten Zyklen eine zweite Menge eines oder mehrerer der Schieberegisterzustandsvektoren 000 ..., 111 ..., 010 ... und 101 ... aufweist beziehungsweise aufweisen, wobei die erste und die zweite Menge voneinander getrennt sind.
  15. Verfahren gemäß Anspruch 14, das ferner ein Kombinieren der Mehrzahl von Bitsequenzen der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern zu einer Pseudozufallsausgabebitsequenz des Pseudozufallszahlengenerators umfasst.
  16. Verfahren gemäß Anspruch 14 oder 15, bei dem das erste und das zweite nicht-singuläre rückgekoppelte Schieberegister unterschiedliche Längen aufweisen.
  17. Verfahren gemäß einem der Ansprüche 14 bis 16, bei dem das erste nicht-singuläre rückgekoppelte Schieberegister eine Länge N1 aufweist und das zweite nicht-singuläre rückgekoppelte Schieberegister eine Länge N2 aufweist und das erste und das zweite nicht-singuläre rückgekoppelte Schieberegister unterschiedliche Typen aus den aus Folgenden bestehenden Typen sind: einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (1, 1, 1, ...)N aufweist, und einen weiteren Zyklus der Länge 2N–1, der alle Vektoren von FN N 2 mit Ausnahme von (1, 1, 1, ...)N aufweist, umfasst, einem FSR-Typ, der einen Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (0, 0, 0, ...)N aufweist, und einen weiteren Zyklus der Länge 2N–1, der alle Vektoren von FN N 2 mit Ausnahme von (0, 0, 0, ...)N aufweist, umfasst, einem FSR-Typ, der einen ersten Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (1, 1, 1, ...)N aufweist, einen zweiten Zyklus einer Länge 1, der den Schieberegisterzustandsvektor (0, 0, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2, der alle Vektoren von FN N 2 mit Ausnahme von (1, 1, 1, ...)N und (0, 0, 0, ...)N aufweist, umfasst, und einem FSR-Typ, der einen Zyklus einer Länge 2, der die Schieberegisterzustandsvektoren (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2 umfasst, der alle Vektoren von FN N 2 mit Ausnahme von (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, umfasst, wobei N ϵ {N1, N2}.
  18. Verfahren gemäß einem der Ansprüche 15 bis 17, bei dem der Kombinierer (12) dahin gehend konfiguriert ist, an Bits der Mehrzahl von Bitsequenzen eine Boolesche Operation durchzuführen.
  19. Verfahren gemäß einem der Ansprüche 15 bis 18, bei dem das Kombinieren ein Durchführen einer nichtlinearen Operation an Bits der Mehrzahl von Bitsequenzen umfasst.
  20. Verfahren gemäß einem der Ansprüche 15 bis 19, bei dem das Kombinieren ein Erzeugen der Pseudozufallsausgabebitsequenz mit einer Bitrate gleich 1/N der Summe der Bitraten der Mehrzahl von Bitsequenzen umfasst, wobei N die Anzahl der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern ist.
  21. Verfahren gemäß einem der Ansprüche 15 bis 20, das ferner ein selektives Verbinden von Eingängen der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern mit einer Seed-Quelle, so dass die Mehrzahl von rückgekoppelten Schieberegistern, nachdem die Eingänge mit der Seed-Quelle, mit demselben Seed initialisiert werden, umfasst.
  22. Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz, wobei das Verfahren folgende Schritte umfasst: Erzeugen von Bitsequenzen durch Verwendung einer Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern, von denen jedes dahin gehend konfiguriert ist, eine jeweilige der Bitsequenzen auszugeben, wobei die Mehrzahl von rückgekoppelten Schieberegistern zumindest ein nicht-singuläres rückgekoppeltes Schieberegister umfasst, das einen Zyklus einer Länge 2, der Schieberegisterzustandsvektoren (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, und einen weiteren Zyklus einer Länge 2N–2, der alle Vektoren von FN N 2 mit Ausnahme von (1, 0, 1, ...)N und (0, 1, 0, ...)N aufweist, umfasst, wobei N die Länge des zumindest einen nicht-singulären rückgekoppelten Schieberegisters ist.
  23. Computerprogramm zum Durchführen, wenn es an einem Prozessor abläuft, eines Verfahrens zum Erzeugen einer Pseudozufallszahlenbitsequenz, wobei das Verfahren folgende Schritte umfasst: Erzeugen von Bitsequenzen durch Verwenden einer Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern (10), von denen jedes dahin gehend konfiguriert ist, eine jeweilige der Mehrzahl von Bitsequenzen auszugeben, wobei zumindest ein erstes der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern einen oder mehr erste Zyklen einer Länge von weniger als oder gleich zwei aufweist und ein zweites der Mehrzahl von nicht-singulären rückgekoppelten Schieberegistern einen oder mehr zweite Zyklen einer Länge von weniger als oder gleich zwei aufweist, und wobei der eine oder die mehreren ersten Zyklen eine erste Menge eines oder mehrerer von Schieberegisterzustandsvektoren 000 ..., 111 ..., 010 ... und 101 ... aufweist beziehungsweise aufweisen und der eine oder die mehreren zweiten Zyklen eine zweite Menge eines oder mehrerer der Schieberegisterzustandsvektoren 000 ..., 111 ..., 010 ... und 101 ... aufweist beziehungsweise aufweisen, wobei die erste und die zweite Menge voneinander getrennt sind.
DE102009007246A 2008-02-13 2009-02-03 Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz Ceased DE102009007246A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/030,665 2008-02-13
US12/030,665 US20090204656A1 (en) 2008-02-13 2008-02-13 Pseudo random number generator and method for generating a pseudo random number bit sequence

Publications (1)

Publication Number Publication Date
DE102009007246A1 true DE102009007246A1 (de) 2009-08-20

Family

ID=40874230

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009007246A Ceased DE102009007246A1 (de) 2008-02-13 2009-02-03 Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz

Country Status (2)

Country Link
US (1) US20090204656A1 (de)
DE (1) DE102009007246A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513872B2 (en) * 2009-11-25 2016-12-06 Aclara Technologies Llc Random number generator
WO2013060695A1 (en) * 2011-10-24 2013-05-02 Koninklijke Kpn N.V. Secure distribution of content
US9559844B2 (en) * 2011-11-09 2017-01-31 Kddi Corporation Non-linear processor, stream-cipher encrypting device, stream-cipher decrypting device, mask processing method, stream-cipher encrypting method, stream-cipher decrypting method, and program
US8879733B2 (en) * 2012-07-10 2014-11-04 Infineon Technologies Ag Random bit stream generator with guaranteed minimum period
US8861725B2 (en) 2012-07-10 2014-10-14 Infineon Technologies Ag Random bit stream generator with enhanced backward secrecy
CN103929278B (zh) * 2014-05-14 2017-06-06 中国电子科技集团公司第五十四研究所 一种基于交织器伪随机码的构造方法
JP6542171B2 (ja) * 2016-09-15 2019-07-10 東芝メモリ株式会社 ランダマイザおよび半導体記憶装置
US11662978B2 (en) 2020-06-04 2023-05-30 PUFsecurity Corporation Modular operation circuit adopting iterative calculations

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3911330A (en) * 1974-08-27 1975-10-07 Nasa Nonlinear nonsingular feedback shift registers
US4852023A (en) * 1987-05-12 1989-07-25 Communications Satellite Corporation Nonlinear random sequence generators
JP2003259316A (ja) * 2002-02-28 2003-09-12 Toshiba Corp ストリーム処理システムおよびストリーム処理プログラム
US7822797B2 (en) * 2002-07-29 2010-10-26 Broadcom Corporation System and method for generating initial vectors
DE10339999B4 (de) * 2003-08-29 2005-07-14 Infineon Technologies Ag Pseudozufallszahlengenerator

Also Published As

Publication number Publication date
US20090204656A1 (en) 2009-08-13

Similar Documents

Publication Publication Date Title
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE102005056814B4 (de) Kryptografiesystem und Datenverschlüsselungsverfahren
DE602004013206T2 (de) Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung
DE102015110431A1 (de) Kryptografischer Prozessor, Verfahren zum Implementieren eines kryptografischen Prozessors und Schlüsselgenerierungsschaltung
DE60302512T2 (de) Feistel-Verschlüsselungsverfahren und -vorrichtung mit Schutz gegen DPA-Angriffe
DE102010029735A1 (de) Verfahren zum Generieren eines Bitvektors
DE102009006389A1 (de) Hybridzufallszahlengenerator
DE102006004557A1 (de) Kryptografische Logikschaltung und Kryptografieverfahren
DE102016120558A1 (de) Datenverarbeitungsvorrichtung und -verfahren für kryptographische verarbeitung von daten
DE102013213316A1 (de) Zufallsbitstromgenerator mit verbesserter rückwärts gerichteter Gemeinhaltung
DE102013213354A1 (de) Zufallsbitstromgenerator mit garantierter mindestperiode
EP0981115B1 (de) Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
DE102008057907B4 (de) Steuerung eines Pseudozufallszahlengenerators und einer Verbraucherschaltung, die mit demselben gekoppelt ist
DE102013205542A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Daten
DE102009027086A1 (de) Vorrichtung und Verfahren zur Bildung einer Signatur
DE60113721T2 (de) Logischer schaltkreis mit variablen internen polaritäten
DE102019112583A1 (de) Integrierte elektronische schaltung
DE102004013480A1 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
WO2013004490A1 (de) Verfahren zum erzeugen einer zufälligen ausgangsbitfolge
DE102006028944B3 (de) Schaltungsanordnung und Verfahren zum Initialisieren eines Zufallsgenerators
DE102006037016B4 (de) Pseudo-Zufallszahlengenerator für eine Chipkarte
DE69928684T2 (de) Gegenmassnahmenvorrichtung in einem elktronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durch zu führen
DE102021101697B3 (de) Datenverarbeitungsvorrichtung und verfahren zum verarbeiten geheimer daten
DE60034944T2 (de) Gegenmassnahmeverfahren in einer geheimen und dynamischen Verschlüsselungsalgorithmus ausführenden elektronischen Schaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final