Die
vorliegende Erfindung bezieht sich auf Pseudozufallszahlengeneratoren
und insbesondere auf Pseudozufallszahlengeneratoren, die für Schlüsselgeneratoren
bei der Busverschlüsselung
geeignet sind.The
The present invention relates to pseudorandom number generators
and in particular pseudo-random number generators used for key generators
at the bus encryption
are suitable.
Ein
bekannter Zufallszahlengenerator ist in 12 dargestellt. Der Pseudozufallszahlengenerator
von 12, der auch als
lineares rückgekoppeltes
Schieberegister bezeichnet wird, umfasst eine Mehrzahl von Speicherelementen 51, 52, 53, 54,
die in 12 von 0 bis
n durchnumeriert sind. Die Speicherzellen sind über eine Initialisierungseinrichtung 55 auf
einen Startwert initialisierbar. Die Speicherzellen 51–54 bilden
insgesamt eine Vorwärtskopplungseinrichtung,
während
das lineare Schieberegister, das durch die Speicherzellen 51–54 gebildet
ist, durch eine Rückkopplungseinrichtung
rückgekoppelt ist,
die zwischen einen Ausgang 56 der Schaltung und der Speicherzelle
n gekoppelt ist. Die Rückkopplungseinrichtung
umfasst im einzelnen eine oder mehrere Kombinationseinrichtungen 57, 58,
die von jeweiligen Rückkopplungszweigen 59a, 59b, 59c so gespeist
werden, wie es in 12 beispielhaft
dargestellt ist. Der Ausgangswert der letzten Kombinationseinrichtung 58 wird
in die Speicherzelle n, die in 12 mit 54 bezeichnet
ist, eingespeist.A well-known random number generator is in 12 shown. The pseudo-random number generator of 12 , also referred to as a linear feedback shift register, comprises a plurality of memory elements 51 . 52 . 53 . 54 , in the 12 are numbered from 0 to n. The memory cells are via an initialization device 55 initializable to a starting value. The memory cells 51 - 54 as a whole form a feed-forward means, while the linear shift register passing through the memory cells 51 - 54 is formed, is fed back by a feedback device which is between an output 56 the circuit and the memory cell n is coupled. The feedback device comprises in detail one or more combination devices 57 . 58 derived from respective feedback branches 59a . 59b . 59c be fed as it is in 12 is shown by way of example. The initial value of the last combination device 58 is inserted into the memory cell n, which in 12 With 54 is designated, fed.
Das
in 12 gezeigte lineare
rückgekoppelte
Schieberegister wird von einem Takt betrieben, so dass in jedem
Taktzyklus die Belegung der Speicherzellen um eine Stufe Bezug nehmend
auf 12 nach links geschoben
wird, so dass in jedem Taktzyklus der in der Speichereinrichtung 51 gespeicherte Zustand
als Zahl ausgegeben wird, während
gleichzeitig der Wert am Ausgang der letzten Kombinationseinrichtung 58 in
die erste Speichereinheit n der Folge von Speichereinheiten eingespeist
wird. Das in 12 dargestellte
lineare rückgekoppelte
Schieberegister liefert somit eine Folge von Zahlen ansprechend
auf eine Folge von Taktzyklen. Die am Ausgang 56 erhaltene
Folge von Zahlen hängt
von dem Startzustand ab, der durch die Initialisierungseinrichtung 55 vor
Inbetriebnahme des Schieberegisters hergestellt wird. Der durch
die Initialisierungseinrichtung 55 eingegebene Startwert
wird auch als Keim oder Seed bezeichnet, weshalb solche in 12 dargestellte Anordnungen
auch als Seed-Generatoren bezeichnet werden.This in 12 shown linear feedback shift registers is operated by a clock, so that in each clock cycle, the occupancy of the memory cells by one step reference to 12 is pushed to the left, so that in each clock cycle in the memory device 51 stored state as a number, while at the same time the value at the output of the last combination device 58 is fed to the first memory unit n of the sequence of memory units. This in 12 represented linear feedback shift registers thus provides a sequence of numbers in response to a sequence of clock cycles. The at the exit 56 The sequence of numbers obtained depends on the start condition provided by the initializer 55 before commissioning the shift register is made. The one by the initialization device 55 entered seed value is also referred to as seed or seed, which is why such in 12 arrangements are also referred to as seed generators.
Die
an dem Ausgang 56 erhaltene Folge von Zahlen wird als pseudozufällige Folge
von Zahlen bezeichnet, da die Zahlen scheinbar zufällig aufeinander
folgen, aber insgesamt periodisch sind, obgleich die Periodendauer
groß ist.
Darüber
hinaus ist die Folge von Zahlen eindeutig wiederholbar und damit pseudozufällig, wenn
der Initialisierungswert, der durch die Initialisierungseinrichtung 55 den
Speicherelementen zugeführt
wird, bekannt ist. Solche Schieberegister werden beispielsweise
als Key-Stream-Generatoren eingesetzt, um einen von einem speziellen
Initialisierungswert (Seed) abhängigen
Strom von Ver-/Ent-Schlüsselungsschlüsseln zu liefern.The at the exit 56 The sequence of numbers obtained is referred to as a pseudorandom sequence of numbers, as the numbers appear to follow one another randomly but are periodic overall, although the period is large. In addition, the sequence of numbers is uniquely repeatable and thus pseudorandom when the initialization value passed through the initializer 55 the storage elements is supplied, is known. Such shift registers are used, for example, as key-stream generators to provide a special seed-dependent stream of encryption / decryption keys.
Solche
in 12 dargestellten
Schieberegister haben den Nachteil einer geringen linearen Komplexität. So genügen bei
einem n-Bit-LFSR (LFSR = Linear Feedback Shift Register) 2 n Bits
der Ausgabefolge, um die gesamte Folge zu berechnen. Der Vorteil
solcher in 12 dargestellten
bekannten LFSRs besteht jedoch darin, dass der Hardwareaufwand sehr
gering ist.Such a 12 Shift registers shown have the disadvantage of low linear complexity. Thus, with an n-bit LFSR (LFSR = Linear Feedback Shift Register), 2 n bits suffice for the output sequence to calculate the entire sequence. The advantage of such in 12 However, the known LFSRs shown is that the hardware cost is very low.
Darüber hinaus
existieren unregelmäßig getaktete
LFSRs. Diese zeigen einen etwas erhöhten Hardwareaufwand bei einer
meist geringeren Periode. Die lineare Komplexität kann jedoch deutlich höher sein.
Ein Nachteil solcher unregelmäßig getakteter
Vorrichtungen ist jedoch die Tatsache, dass aufgrund der unregelmäßigen Taktung
durch Strommessung im Rahmen einer SPA (SPA = Simple Power Analysis)
prinzipiell auf die Ausgabefolge geschlossen werden könnte. Indem
die Schieberegistervorrichtungen als Teile von Schlüsselgeneratoren
verwendet werden, die inhärent
geheim zu haltende Daten, also Schlüsseldaten, erzeugen, ist es
bei ihnen besonders wichtig, dass sie gegen jegliche Art von kryptographischen
Angriffen sicher sind.Furthermore
exist irregularly clocked
LFSRs. These show a somewhat increased hardware expenditure at one
usually lower period. However, the linear complexity can be significantly higher.
A disadvantage of such irregularly clocked
However, devices is the fact that due to the irregular timing
through current measurement in the context of a SPA (SPA = Simple Power Analysis)
in principle could be concluded on the output sequence. By doing
the shift register devices as parts of key generators
used to be inherent
It is it that generates secret data, ie key data
especially important to them against any kind of cryptographic
Attacks are safe.
Andererseits
besteht jedoch bei solchen Vorrichtungen insbesondere dann, wenn
sie auf Chipkarten untergebracht werden sollen, die Anforderung,
dass der Hardwareaufwand gering sein muss. In anderen Worten ausgedrückt muss
die Chipfläche, die
solche Vorrichtungen in Anspruch nehmen, so klein als möglich sein.
Dies liegt daran, dass in der Halbleiterherstellung die Chipfläche einer
gesamten Vorrichtung letztendlich den Preis und damit die Gewinnmarge
des Chipherstellers bestimmt. Ferner ist besonders bei Chipkarten üblicherweise
eine Spezifikation so, dass ein Kunde sagt, dass ein Prozessorchip
eine maximale Fläche
in Quadratmillimetern haben darf, auf der verschiedenartigste Funktionalitäten untergebracht
werden müssen.
Daher liegt es an dem Schaltungshersteller, diese kostbare Fläche auf die
einzelnen Komponenten zu verteilen. Im Hinblick auf die immer komplexer
werdenden kryptographischen Algorithmen ist eine Anstrengung des
Chipherstellers dahingehend gerichtet, dass der Chip möglichst
viel Speicher hat, um auch Arbeitsspeicher-intensive Algorithmen
in ver tretbarer Zeit berechnen zu können. Die Chipfläche für Schlüsselgeneratoren
und andere derartige Komponenten muss daher so klein als möglich gehalten
werden, um auf der gegebenen Chipfläche mehr Speicher unterbringen
zu können.On the other hand, in such devices, in particular, when they are to be accommodated on smart cards, there is a requirement that the hardware cost must be low. In other words, the chip area occupied by such devices must be as small as possible. This is because in semiconductor manufacturing, the chip area of an entire device ultimately determines the price and hence the profit margin of the chipmaker. Furthermore, especially with smart cards, a specification is usually such that a customer says that a processor chip may have a maximum area in square millimeters, on which a variety of functionalities must be accommodated. Therefore, it is up to the circuit manufacturer to distribute this precious area among the individual components. In view of the increasingly complex cryptographic algorithms, an effort of the chip manufacturer is directed to the effect that the chip has as much memory as possible in order to be able to calculate memory-intensive algorithms in a reasonable time. The chip area for key generators and other such components must therefore be kept as small as possible in order to accommodate more memory on the given chip area to be able to.
Die
generelle Anforderung an Schlüsselgeneratoren
bzw. Vorrichtungen zum Erzeugen einer pseudozufälligen Folge von Zahlen besteht
somit darin, einerseits sicher zu sein und andererseits möglichst
wenig Platz zu benötigen,
also einen möglichst geringen
Hardware-Aufwand zu haben.The
general requirement for key generators
or devices for generating a pseudorandom sequence of numbers
thus, on the one hand, to be safe and, on the other, as possible
little space to need
So the lowest possible
To have hardware overhead.
Zufallszahlengeneratoren
können
beispielsweise zur Busverschlüsselung
eingesetzt werden. Hierzu wird auf 13 Bezug
genommen, welche ein herkömmliches
Busverschlüsselungskonzept zeigt.
An einem Busanfang muss ein über
den Bus zu übertragendes
Bit mi verschlüsselt werden, um während der Übertragung
auf der Busleitung geschützt zu
sein. Dann, am Busende muss das verschlüsselte Bit wieder zurück in das
unverschlüsselte
Bit gebracht werden, damit das Bit mi weiterverarbeitet werden
kann. Der Busanfang kann beispielsweise der Ausgang eines Prozessors
sein, während
das Busende der Eingang in einen Speicher sein kann, in dem das
Bit dann typischerweise in eine „härtere" Verschlüsselungsart umverschlüsselt wird,
um schließlich
im Speicher gespeichert zu werden. Alternativ kann der Busanfang
natürlich
auch eine Speicher-Ausgabeschnittstelle
sein, und kann das Busende ein Eingang eines Prozessors sein.Random number generators can be used, for example, for bus encryption. This is on 13 Reference is made, which shows a conventional bus encryption concept. At the beginning of a bus, a bit m i to be transmitted over the bus must be encrypted in order to be protected during transmission on the bus line. Then, at the end of the bus, the encrypted bit must be brought back into the unencrypted bit so that the bit m i can be further processed. For example, the bus start may be the output of a processor while the bus end may be the input to a memory in which the bit is then typically rewrapped in a "harder" type of encryption to eventually be stored in memory may be a memory output interface, and the bus end may be an input of a processor.
Generell
geht man davon aus, dass Bits, die auf Busleitungen übertragen
werden, dort besonders gefährdet
sind, so dass die Busverschlüsselung
eingesetzt wird. Als typische Verschlüsselungseinrichtung wird ein
XOR-Gatter verwendet, das an seinem ersten Eingang ein zu verschlüsselndes
Nachrichtenbit mi ent hält, und das an seinem zweiten
Eingang ein Schlüsselbit
ki erhält,
das typischerweise von einem Zufallszahlengenerator erzeugt wird.
Typischerweise ist die zeitliche Folge von Schlüsselbits ki,
wobei i der Zeitindex ist, eine Pseudozufallszahlenfolge,
also eine Zahlenfolge, die wie ein Zufallszahlenfolge aussieht,
die jedoch insofern deterministisch ist, dass sie reproduzierbar
ist. Typische Zufallszahlengeneratoren sind, wie es später noch
ausgeführt
wird, rückgekoppelte
Schieberegister, die ausgehend von einem definierten Anfangszustand
(Seed) eine definierte Ausgangsfolge erzeugen, die eine bestimmte
Periodendauer hat.In general, it is assumed that bits that are transmitted on bus lines, there are particularly vulnerable, so that the bus encryption is used. As a typical encryption device, an XOR gate is used, which holds at its first input a message bit m i ent to be encrypted, and receives at its second input a key bit k i , which is typically generated by a random number generator. Typically, the temporal sequence of key bits k i , where i is the time index, is a pseudorandom number sequence, that is, a sequence of numbers that looks like a random number sequence but that is deterministic in that it is reproducible. Typical random number generators are, as will be explained later, feedback shift registers which, starting from a defined initial state (seed), generate a defined output sequence which has a certain period duration.
Bei
der Busverschlüsselung
wird somit, wie es in 13 gezeigt
ist, am Anfang und am Ende des Busses der selbe Schlüsselfolgengenerator
identischer Bauart eingesetzt, wobei die Schlüsselfolgengeneratoren – abgesehen
von einer oft vernachlässigbaren
Verzögerung,
die das verschlüsselte
Bit ci aufgrund der Übertragung über einen Bus einer bestimmten
Länge „erleidet" – synchron laufen.When bus encryption is thus, as it is in 13 1, the same key sequence generator of identical type is used at the beginning and at the end of the bus, with the key sequence generators running synchronously, apart from an often negligible delay which "suffers" the encrypted bit c i due to transmission over a bus of a certain length.
Bisher
wurde als Schieberegister ein Schlüsselfolgengenerator verwendet.
Da ein Bus aus mehreren Busleitungen besteht, wie beispielsweise
aus 32 Busleitungen, soll jede Busleitung mit einer Schlüsselfolge
versorgt werden. Dieses Problem kann dadurch gelöst werden, dass für jede Busleitung
eine Speicherzelle in einem rückgekoppelten Schieberegister
vorgesehen und dass der Zustand jeder Speicherzelle – über der
Zeit betrachtet – zum Verschlüsselungseingang
einer Busverschlüsselungseinrichtung/Busentschlüsselungseinrichtung geliefert
wird. Dies bedeutet, dass beispielsweise der Zustand der siebten
Speicherzelle über
der Zeit als Schlüsselfolge
zur Verschlüsselung
der achten Busleitung dient, dass beispielsweise der Zustand der sechsten
Speicherzelle über
der Zeit als Schlüs selfolge
zum Verschlüsseln
der siebten Busleitung verwendet wird, etc.So far
was used as a shift register, a key sequence generator.
Since a bus consists of several bus lines, such as
From 32 bus lines, each bus line should have a key sequence
be supplied. This problem can be solved by having each bus line
a memory cell in a feedback shift register
provided and that the state of each memory cell - over the
Time considered - to the encryption input
a bus encryption / Busentschlüsselungseinrichtung supplied
becomes. This means that, for example, the state of the seventh
Memory cell over
time as a key sequence
for encryption
the eighth bus line serves that, for example, the state of the sixth
Memory cell over
time as a key
to encrypt
the seventh bus line is used, etc.
Jede
Zelle des Schieberegisters wird somit ausgegeben, wobei diese Ausgabefolge
dann für
die Verschlüsselung
einer entsprechenden Busleitung verwendet wird.each
Cell of the shift register is thus output, this output sequence
then for
the encryption
a corresponding bus line is used.
Dies
bedeutet jedoch, dass im wesentlichen immer die selbe Schlüsselfolge
zur Verschlüsselung aller
Busleitungen verwendet wurde, da die einzelnen Schlüsselfolgen
ja nur verschobene Versionen ein und derselben Schieberegisterfolge
sind.This
means, however, that essentially always the same key sequence
for the encryption of all
Bus lines was used because the individual key sequences
yes only shifted versions of the same shift register sequence
are.
Aus
Sicherheitsaspekten ist dies natürlich dahin
gehend nachteilhaft, dass der Angreifer dann, wenn er eine Schlüsselfolge
ermittelt hat, mit dieser einen Schlüsselfolge durch zeitliche Verschiebung sozusagen
alle weiteren Schlüsselfolgen,
mit denen die anderen Busleitungen verschlüsselt sind, automatisch erhält.Out
Safety aspects, this is of course gone
Going disadvantageous that the attacker, if he has a key sequence
has determined, with this a key sequence by temporal shift, so to speak
all other key sequences,
with which the other bus lines are encrypted automatically receives.
Ein
weiterer Nachteil besteht darin, dass Schieberegister benötigt werden,
die wenigstens so viel Zellen haben, wie Busleitungen zu versorgen sind.
Für einen
32 Bit breiten Bus wird also ein Schieberegister mit wenigstens
32 Schieberegisterzellen benötigt.One
Another disadvantage is that shift registers are needed
which have at least as many cells as bus lines are to supply.
For one
So a 32-bit bus will be a shift register with at least
32 shift register cells needed.
Zusammenfassend
ist das beschriebene Konzept somit dahin gehend nachteilhaft, dass
die Sicherheit der Verschlüsselung
kritisch ist, nachdem alle Busleitungen mit der selben – nur zeitlich
verschobenen – Folge
verschlüsselt
sind, und dass zudem ein Effizienzproblem im Hinblick auf den Chipflächenverbrauch
existiert, da immer mindestens so viel Speicherzellen benötigt werden,
wie Busleitungen vorhanden sind.In summary
the concept described is thus disadvantageous in that
the security of encryption
is critical, after all bus lines with the same - only in time
postponed - episode
encoded
are, and that also an efficiency problem in terms of chip area consumption
exists because at least as much memory cells are needed
how bus lines are available.
Insbesondere
im Hinblick auf den Chipflächenbedarf
sei darauf hingewiesen, dass dieser für in hohen Stückzahlen
angebotene Produkte einen ganz erheblichen Kostenfaktor darstellt.Especially
in view of the chip area requirement
It should be noted that this is for in high volumes
offered products represents a very significant cost factor.
Neben
dem Kostenfaktor existieren jedoch insbesondere auch für Chipkartenanwendungen
weitere restriktive Anforderungen an den Chipflächenbedarf, da die Größe eines
Chips durch den Anwender, also den Chipkartenhersteller vorgegeben
ist. Typischerweise hat der Chiphersteller die Möglichkeit, nach seinen Bedürfnissen
die zur Verfügung
stehende Chipfläche
auf Logikelemente, Speicherelemente etc. aufzuteilen. Aufgrund hoher
Rechenleistungen wird daher immer ein möglichst hoher Anteil an Arbeitsspeicher
und Rechenpower benötigt,
so dass, um insgesamt die Chipflächenkriterien
zu erfüllen, jede
Einsparung an jedem Element, wie beispielsweise einem Schieberegister-Pseudozufallszahlengenerator
von großer
Bedeutung ist.In addition to the cost factor, however, there are also white chip card applications in particular tere restrictive requirements on the chip area requirement, since the size of a chip is specified by the user, ie the chip card manufacturer. The chip manufacturer typically has the option of dividing the available chip area into logic elements, memory elements, etc. according to his needs. Due to high computing power, therefore, the highest possible proportion of main memory and computing power is always required, so that, in order to meet the chip area criteria, every saving on each element, such as a shift register pseudorandom number generator, is of great importance.
Schieberegister,
die Schlüsselfolgen
generieren, die also Pseudozufallszahlengeneratoren sind, können durch
einen Impuls von einem Zufallszahlengenerator (RNG) in mehr oder
weniger regelmäßigen Abständen „refreshed" werden. Hierunter versteht
man, dass der Inhalt einer Zelle des Schieberegisters beim Eintreffen
des Zufallszahlengenerator-Impulses abhängig von dem Zufallszahlengenerator-Impuls
komplementiert wird oder nicht. Alternativ kann vom Zufallszahlengenerator
oder von irgendeinem anderen Steuergenerator einfach ein Impuls
geschickt werden, der immer komplementiert, was ebenfalls dazu führt, dass
das rückgekoppelte Schieberegister
zu einer anderen Ausgabefolge wechselt.Shift register
the key sequences
generate, which are thus pseudo-random number generators, by
a pulse from a random number generator (RNG) in more or
"refreshed" at less regular intervals
one that the contents of a cell of the shift register on arrival
of the random number generator pulse depending on the random number generator pulse
is complemented or not. Alternatively, from the random number generator
or simply a pulse from any other control generator
be sent, which always complements, which also leads to that
the feedback shift register
changes to another output sequence.
Typischerweise
ist das Schieberegister viel höher
getaktet als der Zufallszahlengenerator, beispielsweise mit 33 MHz
gegenüber
50 kHz. Dies bedeutet, dass die Ausgabefolge des Zu fallszahlengenerators,
der ein rückgekoppeltes
Schieberegister aufweist, eine Taktfrequenz von 33 MHz hat, während vom
Zufallszahlengenerator nur ein Signal mit einer Frequenz von 50
kHz gesendet wird. Dies bedeutet, dass nur nach 600 bis 700 Schieberegistertakten
ein Impuls vom Zufallszahlengenerator eintrifft.typically,
the shift register is much higher
clocked as the random number generator, for example at 33 MHz
across from
50 kHz. This means that the output sequence of the random number generator,
the one fed back
Shift register has a clock frequency of 33 MHz, while from the
Random number generator only one signal with a frequency of 50
kHz is sent. This means that only after 600 to 700 shift register clocks
a pulse from the random number generator arrives.
Hierdurch
ist es möglich,
dass ein Angreifer große
Teile der Periode des Schieberegisters wiederholt beobachtet und
protokollieren kann. Somit existiert für einen Angreifer zumindest
eine Möglichkeit der
Auswertung der Daten, um über
diese Auswertung Rückschlüsse auf
das Schieberegister an sich zu ziehen, um z.B. eine Busverschlüsselung
zu „knacken".hereby
Is it possible,
that an attacker big
Parts of the period of the shift register are repeatedly observed and
can log. Thus, at least for an attacker exists
a possibility of
Evaluation of the data to over
this evaluation draws conclusions
draw the shift register to itself, e.g. a bus encryption
to crack".
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein sicheres Konzept
zum Erzeugen einer Zufallszahl zu schaffen.The
The object of the present invention is a secure concept
to create a random number.
Diese
Aufgabe wird durch einen Zufallszahlengenerator nach Patentanspruch
1, eine Busverschlüsselungseinrichtung
nach Patentanspruch 18, ein Verfahren zum Erzeugen von Zufallszahlen
nach Patentanspruch 20 oder ein Computerprogramm nach Patentanspruch
21 gelöst.These
Task is by a random number generator according to claim
1, a bus encryption device
according to claim 18, a method for generating random numbers
according to claim 20 or a computer program according to claim
21 solved.
Der
vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass ein sichereres
Konzept zum Erzeugen von Zufallszahlen dadurch erhalten wird, dass
mit dem Refresh-Impuls, der alle 600 bis 700 Takte des rückgekoppelten
Schieberegisters zugeführt
wird, gezielt auf die Rückkopplungseinrichtung eingegriffen
wird, um abhängig
von dem Refresh-Signal entweder eine erste Rückkopplungseigenschaft zu implementieren
oder eine zweite Rückkopplungseigenschaft
zu implementieren, die sich von der ersten Rückkopplungseigenschaft unterscheidet.
Dadurch wird durch den Refresh-Impuls gewissermaßen ein rückge koppeltes Schieberegister
durch das andere rückgekoppelte
Schieberegister ausgetauscht, da eine andere Rückkopplungseigenschaft gewählt wird,
wobei die Rückkopplungseigenschaft genau
das ist, was die Eigenart eines Schieberegisters ausmacht.Of the
The present invention is based on the finding that a safer
Concept for generating random numbers obtained by
with the refresh pulse, which is fed back every 600 to 700 cycles
Shift register supplied
is specifically intervened on the feedback device
will depend on
to implement either a first feedback characteristic from the refresh signal
or a second feedback property
to implement, which differs from the first feedback property.
As a result, by the refresh pulse to a certain extent a feedback shift register
fed back through the other
Shift registers exchanged because another feedback characteristic is selected,
where the feedback property is accurate
that's what makes up the nature of a shift register.
Erfindungsgemäß wird somit
der Impuls vom Zufallszahlengenerator dazu verwendet, um auf die Feedback-Logik
einzuwirken. Durch den eintreffenden Impuls wird die Rückkopplungsfunktion
verändert,
so dass man es dadurch mit einem anderen Schieberegister zu tun
hat. Erst wenn der nächste Zufallszahlengenerator-Impuls
eintrifft, besteht überhaupt
erst die Möglichkeit,
dass die Änderung
wieder rückgängig gemacht
wird, wobei dies abhängig
von den Gegebenheiten entweder immer dann gemacht wird, wenn der
Impuls auftritt, oder immer nur dann gemacht wird, wenn ein Impuls
einen bestimmten Wert hat.Thus, according to the invention
the impulse from the random number generator is used to access the feedback logic
act. The incoming pulse becomes the feedback function
changed
so that makes it possible to do it with another shift register
Has. Only when the next random number generator pulse
arrives, exists at all
first the possibility
that change
Undone
being dependent on this
is made of the circumstances either always when the
Pulse occurs, or is always done only when a pulse
has a certain value.
Erfindungsgemäß nimmt
der Zufallszahlengenerator-Impuls somit Einfluss auf die Rückkopplungsfunktion
und bei Eintreffen des Zufallszahlengenerator-Impulses wird die
Rückkopplungsfunktion des
Schieberegisters in eine andere umgewandelt, die aber ebenfalls
vorzugsweise maximal-periodische Folgen hoher linearer Komplexität generiert. Beim
erneuten Eintreffen eines Zufallszahlengenerator-Impulses wird die
alte Rückkopplungsfunktion wieder
hergestellt.According to the invention takes
the random number generator pulse thus influences the feedback function
and upon arrival of the random number generator pulse, the
Feedback function of the
Shift register converted to another, but also
preferably generates maximum periodic sequences of high linear complexity. At the
re-arrival of a random number generator pulse is the
old feedback function again
produced.
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die
beiliegenden Zeichnungen detailliert erläutert. Es zeigen:preferred
embodiments
The present invention will be described below with reference to FIGS
attached drawings explained in detail. Show it:
1 ein
Beispiel eines erfindungsgemäßen Zufallszahlengenerators; 1 an example of a random number generator according to the invention;
2a einen
Zufallszahlengenerator mit einer ersten Rückkopplungsfunktion F(x); 2a a random number generator having a first feedback function F (x);
2b einen
Zufallszahlengenerator mit einer zweiten Rückkopplungsfunktion G(x); 2 B a random number generator having a second feedback function G (x);
3 einen
Zufallszahlengenerator mit Umschalter zum Umschalten zwischen den
beiden Rückkopplungsfunktionen
der 2a und 2b; 3 a random number generator with changeover switch for switching between the two feedback functions of the 2a and 2 B ;
4 einen
Zufallszahlengenerator in seinem Einsatz als Busverschlüsselungsvorrichtung
mit verschiedenen durch Kombination erzeugten Ausgabefolgen; 4 a random number generator in its use as a bus encryption device with various output sequences produced by combination;
5a einen
alternativen Zufallszahlengenerator mit einer Rückkopplungsfunktion F(x); 5a an alternative random number generator with a feedback function F (x);
5b den
alternativen Zufallszahlengenerator von 5a, jedoch
mit einer anderen Rückkopplungsfunktion
G(x); 5b the alternative random number generator of 5a but with a different feedback function G (x);
5c einen
erfindungsgemäßen Zufallszahlengenerator
mit einem Umschalter zum Umschalten zwischen den in 5a und 5b gezeigten
Rückkopplungseigenschaften; 5c a random number generator according to the invention with a switch for switching between in 5a and 5b shown feedback characteristics;
6 einen
bevorzugten Aufbau eines Elementarschieberegisters mit nicht-linearer
Rückkopplung; 6 a preferred construction of a non-linear feedback elementary shift register;
7 einen
alternativen Aufbau für
ein Elementarschieberegister mit nicht-linearer Rückkopplung; 7 an alternative construction for a non-linear feedback elementary shift register;
8 einen
alternativen Aufbau für
ein Elementarschieberegister mit nicht-linearer Rückkopplung; 8th an alternative construction for a non-linear feedback elementary shift register;
9 einen
alternativen Aufbau für
ein Elementarschieberegister mit nicht-linearer Rückkopplungseigenschaft; 9 an alternative construction for an elementary shift register with non-linear feedback characteristic;
10 einen
beispielhaften Aufbau für
ein Elementarschieberegister mit nicht-linearer Rückkopplung; 10 an exemplary structure for an elementary shift register with non-linear feedback;
11 eine
allgemeine Darstellung eines Elementarschieberegisters mit Speicherzellen
in der Vorwärtskopplungseinrichtung
und einer Rückkopplungsfunktion
F; und 11 a general representation of an elementary shift register with memory cells in the feedforward means and a feedback function F; and
12 ein
bekanntes lineares Schieberegister zur Erzeugung einer Zufallszahlenfolge;
und 12 a known linear shift register for generating a random number sequence; and
13 eine
Prinzipskizze der Busverschlüsselung. 13 a schematic diagram of the bus encryption.
1 zeigt
einen erfindungsgemäßen Zufallszahlengenerator
mit einer Vorwärtskopplungseinrichtung
mit einer Mehrzahl von in Serie zueinander geschalteten Speicherzellen,
von denen einige mit 100 bis 104, bzw. mit D0, ... D4, D5 bezeichnet sind. Der in 1 gezeigte
erfindungsgemäße Zufallszahlengenerator
umfasst ferner eine Rückkopplungseinrichtung 200,
die mit der Vorwärtskopplungseinrichtung
gekoppelt ist und eine erste Kombinationseinrichtung 201 zum
Kombinieren von Zuständen von
Speicherzellen, um eine erste Rückkopplungseigenschaft
zu erreichen, die mit F(x0, X1,
... X5) in 1 bezeichnet
ist, aufweist. Die Rückkopplungseinrichtung 200 umfasst
ferner eine zweite Kombinationseinrichtung 202 zum Kombinieren
von Zuständen
von Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen,
die mit G(x0, x1,
..., x5) bezeichnet ist. Darüber hinaus
umfasst die Rückkopplungseinrichtung 200 ferner
einen Umschalter 203 zum Aktivieren der ersten Rückkopplungseigenschaft
F(x) in einem ersten Umschaltzustand und zum Aktivieren der zweiten
Rückkopplungseigenschaft
G(x) in einem zweiten Umschaltzustand, wobei der Umschalter 203 einen
Steuereingang zum Erhalten eines Steuersignals von einer externen
Steuerung aufweist, und wobei der Umschalter 203 ausgebildet
ist, um ansprechend auf das Steuersignal in den ersten oder den
zweiten Umschaltzustand versetzt zu werden. 1 shows a random number generator according to the invention with a feedforward device with a plurality of series-connected memory cells, some of which with 100 to 104 , or with D 0 , ... D 4 , D 5 are designated. The in 1 A random number generator according to the invention also comprises a feedback device 200 coupled to the feedforward means and a first combining means 201 for combining states of memory cells to achieve a first feedback characteristic associated with F (x 0 , X 1 , ... X 5 ) in 1 is designated has. The feedback device 200 further comprises a second combination means 202 for combining states of memory cells to achieve a second feedback characteristic labeled G (x 0 , x 1 , ..., x 5 ). In addition, the feedback device comprises 200 also a switch 203 for activating the first feedback characteristic F (x) in a first switching state and for activating the second feedback characteristic G (x) in a second switching state, wherein the switch 203 a control input for obtaining a control signal from an external controller, and wherein the switch 203 is configured to be in the first or the second switching state in response to the control signal.
Der
Umschalter 203 ist bei einem bevorzugten Ausführungsbeispiel
so ausgebildet, dass er immer dann, wenn er einen Impuls von einem
externen Zufallszahlengenerator bzw. einer externen Steuerung 210 erhält, umzuschalten.
Der Zufallszahlengenerator 210 sendet somit bei diesem
einfachen Ausführungsbeispiel
zum Umschalter 203 eine gleichmäßige Folge von Impulsen, wobei
bei jedem Impuls der Umschalter 203 von der einen Rückkopplungseigenschaft
F(x) auf die andere Rückkopplungseigenschaft
G(x) oder umgekehrt umschaltet. Alternativ kann das Signal z vom
Zufallszahlengenerator 210 eine zufällige Folge von Nullen und
Einsen sein, wobei der Umschalter ausgebildet ist, um z.B. immer dann,
wenn eine Null anliegt, die Rückkopplungseigenschaft
F(x) zu nehmen, und um immer dann, wenn eine „Eins" im Signal z vom Zufallszahlengenerator 210 enthalten
ist, die zweite Rückkopplungseigenschaft
G(x) zu verwenden. Alternativ kann der Umschalter 203 auch
ausgebildet sein, um immer dann, wenn eine Null im Steuersignal
z ist, z.B. keine Umschaltung zu bewirken und immer dann, wenn eine
Eins im Steuersignal ist, eine Umschaltung zu bewirken oder umgekehrt.
Wird das Signal vom Zufallszahlengenerator als Zufallssignal bereitgestellt, so
kann noch eine zusätzli che
Zufälligkeit
in eine oder mehrere Ausgangsfolgen des Zufallszahlengenerators
eingebracht werden.The switch 203 In a preferred embodiment, it is designed such that whenever it receives a pulse from an external random number generator or an external controller 210 receives to switch. The random number generator 210 thus sends to the switch in this simple embodiment 203 a steady sequence of pulses, with each switch the switch 203 from the one feedback characteristic F (x) to the other feedback characteristic G (x) or vice versa. Alternatively, the signal z from the random number generator 210 be a random sequence of zeros and ones, the switch being designed to take, for example, whenever a zero is present, the feedback characteristic F (x), and whenever there is a "one" in the signal z from the random number generator 210 is included to use the second feedback characteristic G (x). Alternatively, the switch 203 also be designed to always cause, when a zero in the control signal z, for example, no switching and always, if a one in the control signal, to effect a switchover, or vice versa. If the signal from the random number generator provided as a random signal, it can still be an addi tional randomness in one or more output sequences of the random number generator can be introduced.
In
einem bevorzugten Ausführungsbeispiel wird
zur Einsparung von Hardware sowohl die erste Rückkopplungsfunktion F(x) als
auch die zweite Rückkopplungsfunktion
G(x) „dünn besetzt" sein. Darüber hinaus
wird es bevorzugt, dass die Feedback-Logik zum Erreichen von F(x) und G(x)
nur geringfügig
voneinander unterschiedlich sind bzw. allgemein gesagt wenigstens
eines oder mehrere Gatter gemeinsam verwenden.In a preferred embodiment, to save hardware, both the first feedback function F (x) and the second feedback function G (x) will be "sparse." In addition, it is preferred that the feedback logic be to achieve F (x). and G (x) only ge are slightly different from each other or generally speaking, at least one or more gates together use.
Ferner
wird es bevorzugt, dass sowohl das durch F(x) definierte Schieberegister
als auch das durch G(x) definierte Schieberegister maximal-periodische
Folgen hoher linearer Komplexität
erzeugen. 2a zeigt eine erste Rückkopplungsfunktion
F(x) für
N=11 Speicherzellen in der Vorwärtskopplungseinrichtung,
wobei F(x) in 2a eingezeichnet ist und insbesondere
zwei UND-Gatter 212, 213 und zwei XOR-Gatter 214 und 215 sowie
einen Invertierer 216 umfasst. Damit kann die in 2a gezeigte Rückkopplungseigenschaft
F(x) implementiert werden.Further, it is preferred that both the shift register defined by F (x) and the shift register defined by G (x) generate maximum periodic sequences of high linear complexity. 2a shows a first feedback function F (x) for N = 11 memory cells in the feedforward device, where F (x) in 2a is located and in particular two AND gates 212 . 213 and two XOR gates 214 and 215 as well as an inverter 216 includes. Thus, the in 2a shown feedback characteristic F (x) can be implemented.
Eine
vorzugsweise zu 2a passende zweite Rückkopplungseigenschaft
G(x) ist in 2b samt einer möglichen
Implementierung gezeigt. Es ist zu sehen, dass die beiden Rückkopplungseigenschaften
F(x) und G(x) das UND-Gatter 212 und das XOR-Gatter 214 gemeinsam
verwenden. Bei dem in 2b gezeigten Ausführungsbeispiel
wird jedoch noch ein anderes XOR-Gatter 218 sowie
ein weiteres XOR-Gatter 219 benötigt. Der in 2a und
in 2b unterstrichene Bereich der beiden Gleichungen
F(x) und G(x) zeigen den von beiden Rückkopplungseigenschaften gemeinsam
verwendeten Teil x1 x4 +
x0, wo bei diese gemeinsame Verwendung dieses Terms
zu Hardwareeinsparung dient.A preferably too 2a matching second feedback characteristic G (x) is in 2 B including a possible implementation. It can be seen that the two feedback characteristics F (x) and G (x) are the AND gate 212 and the XOR gate 214 use together. At the in 2 B However, shown embodiment, yet another XOR gate 218 as well as another XOR gate 219 needed. The in 2a and in 2 B The underlined area of the two equations F (x) and G (x) show the part x 1 x 4 + x 0 used in common by the two feedback properties, where this common use of this term serves to save hardware.
Die
in 2a und 2b gezeigten
beiden Rückkopplungseigenschaften
können
erfindungsgemäß kombiniert
werden, wie es in 3 gezeigt ist. Im einzelnen
umfasst 3 dieselben Logikelemente, wie
sie anhand der 2a, 2b dargestellt worden
sind. 3 umfasst somit neben den Speicherzellen x0, ... x10 ein erstes
UND-Gatter 212, ein zweites UND-Gatter 213, ein
erstes XOR-Gatter 214, ein zweites XOR-Gatter 218 sowie
einen Invertierer 216, um die beiden alternativen Funktionen
F(x) und G(x) wie sie in 3 dargestellt sind, abhängig von der
Stellung des Umschalters 203 zu implementieren. Das Ergebnis
des Umschalters 203 wird mit einem weiteren XOR-Gatter 221 in
die Rückkopplung gewissermaßen „eingekoppelt". Der Umschalter
hat den Steuereingang 204, an dem das Steuersignal z angelegt
wird. Der Steuereingang 204 ist mit einem externen Zufallszahlengenerator 210 bzw.
einer externen Steuerung zum Liefern des Steuersignals z verbunden.In the 2a and 2 B shown two feedback characteristics can be combined according to the invention, as shown in 3 is shown. In detail includes 3 the same logic elements, as they are based on the 2a . 2 B have been shown. 3 Thus, in addition to the memory cells x 0 , ... x 10, a first AND gate 212 , a second AND gate 213 , a first XOR gate 214 , a second XOR gate 218 as well as an inverter 216 to get the two alternative functions F (x) and G (x) as they are in 3 are shown, depending on the position of the switch 203 to implement. The result of the switch 203 comes with another XOR gate 221 in the feedback to a certain extent "coupled." The switch has the control input 204 at which the control signal z is applied. The control input 204 is with an external random number generator 210 or an external controller for supplying the control signal z.
Bei
dem in 2a, 2b oder 3 gezeigten
Schieberegister hat jede Ausgabefolge aufgrund der 11 Zellen des
Schieberegisters und aufgrund einer bevorzugten nichtlinearen Rückkopplung eine
Periodendauer von 211 – 1 = 2047 und eine lineare
Komplexität
von 211 – 2 = 2046. Die Feedback-Funktionen sind in 3 dargestellt,
wobei ein Oberstrich über
einem Symbol das binäre
Kompliment bedeuten soll.At the in 2a . 2 B or 3 As shown in FIG. 12, each output sequence has a period of 2 11 - 1 = 2047 and a linear complexity of 2 11 - 2 = 2046 due to the 11 cells of the shift register and due to a preferred nonlinear feedback. The feedback functions are in 3 an upper bar above an icon should mean the binary compliment.
Wird
das in 3 gezeigte Schieberegister in einer Busverschlüsselungseinrichtung
verwendet, so hat das Schieberegister nicht nur einen Ausgang, wie
es in 3 bei 206 zu sehen ist, sondern wird
um eine Zufallszahlenausgabeeinheit 106 ergänzt, wie es
in 4 zu sehen ist. Die Zufallszahlenaus gabeeinrichtung
dient dazu, die Zustände
einer Gruppe von wenigstens zwei Speicherzellen miteinander vorzugsweise
durch XOR-Gatter miteinander zu kombinieren, wie es beispielsweise
in 4 für
beispielhaft herausgegriffene Ausgabefolgen AF1,
..., AF8 dargestellt ist.Will that be in 3 Shift registers used in a bus encryption device, so the shift register not only has an output, as in 3 at 206 but is a random number output unit 106 complements how it is in 4 you can see. The random number output device serves to combine the states of a group of at least two memory cells with each other, preferably by XOR gates, as described, for example, in US Pat 4 for exemplary selected output sequences AF 1 , ..., AF 8 is shown.
Die
Idee, die Ausgabefolgen aus den einzelnen Schiebergisterzellen nicht
direkt den einzelnen Busleitungen zuzuführen, sondern sie vorher untereinander
z. B. durch eine Addition modulo 2 zu kombinieren, hat eine wichtige
Konsequenz. Es ist nunmehr möglich,
alle Busleitungen mit unterschiedlichen Verschlüsselungsfolgen zu versorgen,
wobei die unterschiedlichen Verschlüsselungsfolgen von einem Schieberegister
abgeleitet werden können,
das weniger Speicherzellen enthält
als es Busleitungen gibt. Z. B. wird ein 32-Bit-breiter Bus eines
Chips von einem Schieberegister versorgt, das nur 11 Speicherzellen
enthält.The
Idea, the output sequences from the individual Schiebergisterzellen not
directly to the individual bus lines to supply, but before each other
z. B. by adding modulo 2 has an important
Consequence. It is now possible
supply all bus lines with different encryption sequences,
the different encryption sequences being from a shift register
can be derived
which contains less memory cells
when there are bus lines. For example, a 32-bit wide bus becomes one
Chips powered by a shift register, which has only 11 memory cells
contains.
Diese
Idee sei nachfolgend anhand von 4 dargestellt.
Das in 4 gezeigte Schieberegister hat fünf Zellen
und versorgt acht Busleitungen mit unterschiedlichen Schlüsselfolgen.
Für jede
Busleitung ist wieder eine eigene Verschlüsselungs- bzw. Entschlüsselungseinrichtung 500 vorgesehen,
wobei an dem Schlüsseleingang
jeder Verschlüsselungs- bzw.
Entschlüsselungseinrichtung
eine Ausgabefolge AF1 bis AF8 anliegt.
Wie es aus 4 ersichtlich ist, wird zum
Erzeugen der Ausgabefolgen AF1 die Gruppe
von Speicherzellen, die die Speicherzellen D0 und
D1 umfassen, verwendet. Darüber hinaus
wird zum Erzeugen der Ausgabefolge AF2 die
Gruppe von Speicherzellen verwendet, die die Speicherzellen D0 + D1 + D2 umfasst. Zum Erzeugen der Ausgabefolge AF3 wird die Gruppe von Speicherzellen verwendet, die
die Speicherzellen D0 und D2 umfasst.This idea is based on 4 shown. This in 4 Shift register shown has five cells and provides eight bus lines with different key sequences. For each bus is again a separate encryption or decryption device 500 provided, wherein at the key input of each encryption or decryption device an output sequence AF 1 to AF 8 is applied. Like it out 4 is apparent, to generate the output sequences AF 1, the group of memory cells comprising the memory cells D 0 and D 1 is used. Moreover, to generate the output sequence AF 2, the group of memory cells comprising the memory cells D 0 + D 1 + D 2 is used. To generate the output sequence AF 3 , the group of memory cells is used which comprises the memory cells D 0 and D 2 .
Die
Gruppe von Speicherzellen für
die Ausgabefolge AF4 ist die Gruppe, die
die Speicherzellen D0, D1 und
D3 umfasst.The group of memory cells for the output sequence AF 4 is the group comprising the memory cells D 0 , D 1 and D 3 .
Analog
hierzu wird die Ausgabefolge AF5 durch Kombination
der Speicherzellen der für
die fünfte
Busleitung vorgesehenen Gruppe erzeugt, die die Speicherzellen D0 und D3 umfasst.Analogously, the output sequence AF 5 is generated by combining the memory cells of the group provided for the fifth bus line, which comprises the memory cells D 0 and D 3 .
Ähnlich wird
auch die Ausgabefolge AF6 aus den Speicherzellen
erzeugt, die als D0, D1 und
D4 eine Gruppe bilden.Similarly, the output sequence AF 6 is also generated from the memory cells which form a group as D 0 , D 1 and D 4 .
Wieder
analog wird die Ausgabefolge AF7 für die Busverschlüsselung
der siebten Busleitung durch die Gruppe von Speicherzellen erzeugt,
die D0 und D4 umfasst.Analogously, the output sequence AF 7 for the bus encryption of the seventh bus line is generated by the group of memory cells comprising D 0 and D 4 .
Schließlich wird
die Ausgabefolge AF8 aus der Kombination
der Zustände
der Gruppen von Speicherzellen erzeugt, die die Speicherzelle D0, D2 und D4 erfasst.Finally, the output sequence AF 8 is generated from the combination of the states of the groups of memory cells which detects the memory cells D 0 , D 2 and D 4 .
Weitere
Ausgabefolgen könnten
in 4 erzeugt werden, und zwar z. B. die Ausgabefolge,
bei der als Gruppe von Speicherzellen alle Speicherzellen D0, D1, D2,
D3 und D4 verwendet
werden.Further output sequences could be found in 4 be generated, and z. Example, the output sequence in which all memory cells D 0 , D 1 , D 2 , D 3 and D 4 are used as a group of memory cells.
Ferner
werden auch alle Gruppen von Speicherzellen, die jeweils vier Speicherzellen
umfassen, bei dem in 4 gezeigten Ausführungsbeispiel nicht
verwendet. Daher ist zu sehen, dass aus den fünf Speicherzellen D0 bis D4 noch wesentlich
mehr als acht Ausgabefolgen erzeugt werden können, wobei jede Folge dann
unterschiedlich zu einer anderen Folge ist, wenn die Rückkopplungseinrichtung 105 eine
nicht-lineare Rückkopplungseigenschaft
umfasst, wie es später
noch ausgeführt
wird. Furthermore, all groups of memory cells, each comprising four memory cells, in which in 4 embodiment shown not used. Therefore, it can be seen that substantially more than eight output sequences can be generated from the five memory cells D 0 to D 4 , wherein each sequence is then different from another sequence when the feedback device 105 comprises a non-linear feedback characteristic, as will be explained later.
Die 5a, 5b und 5c zeigen
eine weitere Möglichkeit
für ein
4-zelliges Schieberegister mit zwei verschiedenen Rückkopplungseinrichtungen
F(x) und G(x), die auf der Basis eines Umschalters 203 implementiert
werden können,
wie es in 2 gezeigt ist. Wieder ist
die Rückkopplungseinheit
in Form der ersten Kombinationseinrichtung in 5a als
ein UND-Gatter und drei XOR-Gatter aufgebaut, während die Kombinationseinrichtung
für die zweite
Rückkopplungseinrichtung,
wie es in 5b gezeigt ist, wieder zwei
UND-Gatter und drei XOR-Gatter
umfasst. Die „Symbiose" der 5a und 5b ist
in 5c gezeigt, wo wieder zwei UND-Gatter und drei
XOR-Gatter samt dem Umschalter 203 eingesetzt werden, um
abhängig
von dem Signal z, das dem Umschalter 203 zugeführt wird,
die Rückkopplungseigenschaft
F(x) und G(x) zu aktivieren bzw. zu deaktivieren.The 5a . 5b and 5c show another possibility for a 4-cell shift register with two different feedback devices F (x) and G (x), based on a switch 203 can be implemented as it is in 2 is shown. Again, the feedback unit is in the form of the first combination means in FIG 5a as an AND gate and three XOR gates, while the combination means for the second feedback device as shown in FIG 5b is shown again comprising two AND gates and three XOR gates. The "symbiosis" of 5a and 5b is in 5c shown where again two AND gates and three XOR gates including the switch 203 be used to depend on the signal z, which is the switch 203 is supplied to activate or deactivate the feedback characteristic F (x) and G (x).
Wie
es bereits ausgeführt
worden ist, wird es bevorzugt, dass sämtliche Schieberegister in
den 5a, 5b bzw. 2a, 2b nicht-linear sind,
also ein nicht-lineares Element haben, wie beispielsweise ein Multiplikationselement,
das – auf
Logikebene betrachtet – ein
UND-Gatter ist.As has already been stated, it is preferred that all the shift registers in the 5a . 5b respectively. 2a . 2 B are non-linear, that is to say have a non-linear element, such as a multiplication element, which - seen at the logic level - is an AND gate.
Nachfolgend
wird Bezug nehmend auf die 6 bis 10 eine
Anzahl von verschiedenen Ausführungsbeispielen
zur Ausgestaltung der einzelnen Elementarschieberegister 101–111 in
den 6 bis 9 gegeben. Es sei darauf hingewiesen,
dass nicht unbedingt alle Schieberegister, beispielsweise in 5 die Schieberegister 101–111,
denselben Aufbau haben müssen,
sondern dass sie unterschiedliche Aufbauten haben können, so
lange wenigstens eines, und vorzugsweise alle Schieberegister eine
nicht-lineare Rückkopplungseigenschaft
haben.Hereinafter, referring to the 6 to 10 a number of different embodiments for the design of the individual elementary shift registers 101 - 111 in the 6 to 9 given. It should be noted that not necessarily all shift registers, for example in 5 the shift registers 101 - 111 have to have the same structure, but that they may have different constructions as long as at least one, and preferably all shift registers have a non-linear feedback characteristic.
6 zeigt
ein Elementarschieberegister mit nichtlinearer Rückkopplung zum Erzeugen einer pseudozufälligen Folge
von Zahlen mit einer Vorwärtskopplungseinrichtung 1,
die eine Folge von Speichereinheiten 2 bis 5 aufweist,
und die ferner einen Eingang 6 sowie einen Ausgang 7 umfasst,
der dem Ausgang der Vorrichtung zum Ausgeben der Folge von Pseudozufallszahlen
entspricht. Es sei darauf hingewiesen, dass die Folge von Pseudozufallszahlen
durch weitere Einrichtungen, die in 6 nicht
gezeigt sind, ergänzt
werden kann, um Folgen von Zufallszahlen zu puffern, auf irgendeine
andere Art und Weise zu kombinieren etc. 6 shows a non-linear feedback elementary shift register for generating a pseudorandom sequence of numbers with a feedforward device 1 that is a sequence of storage units 2 to 5 and further comprising an input 6 as well as an exit 7 which corresponds to the output of the device for outputting the sequence of pseudorandom numbers. It should be noted that the sequence of pseudorandom numbers is governed by other facilities located in 6 not shown, can be supplemented to buffer sequences of random numbers, to combine them in some other way, etc.
Die
in 6 gezeigte Vorrichtung umfasst ferner eine Rückkopplungseinrichtung 8,
die eine veränderbare
Rückkopplungseigenschaft
aufweist und zwischen den Eingang 6 und den Ausgang 7 der Vorwärtskopplungseinrichtung 1 geschaltet
ist. Die veränderbare
Rückkopplungseigenschaft
der Rückkopplungseinrichtung 8 ist
in 6 dahingehend dargestellt, dass die Rückkopplungseinrichtung 8 eine erste
Rückkopplungseigenschaft 9 oder
eine zweite Rückkopplungseigenschaft 10 annehmen
kann, wobei zwischen der ersten Rückkopplungseigenschaft 9 und
der zweiten Rückkopplungseigenschaft 10 durch eine
Umschalteinrichtung 11 z. B. hin- und hergeschaltet werden
kann. Das Steuersignal für
die Umschalteinrichtung 11 wird lediglich beispielhaft
von der vierten Speichereinrichtung SE2 geliefert, wie es durch
einen Signalpfad 12 symbolisch dargestellt ist. Die erste
Rückkopplungseigenschaft 9 und
die zweite Rückkopplungseigenschaft 10 unterscheiden
sich bei einem in 6 gezeigten Ausführungsbeispiel dadurch,
dass im Falle der ersten Rückkopplungseigenschaft
der Zustand der Speichereinrichtung 1 (Nr. 3) in die Rückkopplung
eingeht, während
im Falle der zweiten Rückkopplungseigenschaft
der Zu stand der Speichereinrichtung 5 (SEn) zur Rückkopplung
beiträgt.In the 6 The device shown further comprises a feedback device 8th having a variable feedback characteristic and between the input 6 and the exit 7 the feedforward device 1 is switched. The variable feedback characteristic of the feedback device 8th is in 6 illustrated in that the feedback device 8th a first feedback property 9 or a second feedback property 10 where between the first feedback property 9 and the second feedback characteristic 10 by a switching device 11 z. B. can be switched back and forth. The control signal for the switching device 11 is merely exemplified by the fourth memory device SE2, as indicated by a signal path 12 is shown symbolically. The first feedback property 9 and the second feedback characteristic 10 differ in one in 6 shown embodiment in that in the case of the first feedback property of the state of the memory device 1 (No. 3) enters into the feedback, while in the case of the second feedback property of the state of the memory device 5 (SEn) contributes to the feedback.
Alternativ
oder zusätzlich
kann die Rückkopplungseinrichtung 8 derart
ausgebildet sein, dass in der Rückkopplungseigenschaft,
die den Wert am Ausgang 7 der Vorwärtskopplungseinrichtung mit
einem inneren Zustand der Vorwärtskopplungseinrichtung
kombiniert, je nach ausgewählter
Rückkopplungseigenschaft
eine andere Kombinationsvorschrift eingesetzt wird. So könnte beispielsweise
in der ersten Rückkopplungseigenschaft
zur Kombination des Werts am Ausgang 7 mit dem Wert der
Registerzelle 3 eine UND-Kombination eingesetzt werden,
während
die zweite Rückkopplungseigenschaft
sich von der ersten Rückkopplungseigenschaft
dadurch unterscheidet, dass zur Kombination der beiden genannten
Werte nicht eine UND- sondern eine OR-Kombination eingesetzt wird.
Für Fachleute
ist es klar, dass verschiedene Arten von unterschiedlichen Kombinationsvorschriften
eingesetzt werden können.Alternatively or additionally, the feedback device 8th be formed such that in the feedback characteristic, the value at the output 7 the feedforward device combines with an internal state of the feedforward device, depending on the selected feedback characteristic another combination rule is used. For example, in the first feedback property, it could be used to combine the value at the output 7 with the value of the register cell 3 an AND combination, while the second feedback characteristic differs from the first feedback characteristic in that the combination of the two genann values are not an AND but an OR combination. It will be clear to those skilled in the art that various types of different combination rules can be used.
Darüber hinaus
müssen
Werte der Speichereinrichtungen SE1 bzw. SEn nicht unmittelbar einer Kombinationseinrichtung
in der Rückkopplungseinrichtung
zugeführt
werden, sondern diese Werte können
z. B. invertiert werden, miteinander kombiniert werden oder auf
irgend eine andere Art und Weise z. B. nichtlinear verarbeitet werden,
bevor dann sie verarbeiteten Werte einer Kombinationseinrichtung
zugeführt
werden.Furthermore
have to
Values of the memory devices SE1 and SEn are not directly a combination device
in the feedback device
supplied
but these values can be
z. B. be inverted, combined with each other or on
any other way z. B. be processed nonlinear,
before then they processed values of a combination device
supplied
become.
Darüber hinaus
ist es nicht wesentlich, dass die Umschalteinrichtung 11 direkt
von dem Zustand der Speichereinheit SE2 gesteuert wird. Statt dessen könnte der
Zustand der Speichereinrichtung SE2 invertiert werden, auf irgend
eine andere Art und Weise logisch oder arithmetisch verarbeitet
werden oder sogar mit dem Zustand einer oder mehrerer weiterer Spei chereinrichtungen
kombiniert werden, so lange eine Vorrichtung zum Erzeugen einer
pseudozufälligen
Folge von Zahlen erhalten wird, die eine Rückkopplungseinrichtung aufweist,
deren Rückkopplungseigenschaft
nicht statisch ist, sondern dynamisch abhängig von der Vorwärtskopplungseinrichtung
und insbesondere von einem oder mehreren Zuständen in Speichereinheiten der
Vorwärtskopplungseinrichtung
variierbar ist.In addition, it is not essential that the switching device 11 is directly controlled by the state of the memory unit SE2. Instead, the state of the memory device SE2 could be inverted, logically or arithmetically processed in some other way, or even combined with the state of one or more other memory devices as long as an apparatus for generating a pseudorandom sequence of numbers is obtained comprising a feedback device whose feedback characteristic is not static, but is dynamically variable depending on the feedforward means and in particular on one or more states in storage units of the feed forward means.
In
der Vorwärtskopplungseinrichtung 1 von 6 ist
ferner eine Steuereinrichtung 13 eingebracht, die zwischen
zwei Speicherelementen angeordnet ist, nämlich bei dem in 6 gezeigten
Beispiel den Speicherelementen 4 und 5. Nachdem
ein Signalfluss von dem Speicherelement 0 bis zum Speicherelement
n in 6 stattfindet, ist das Speicherelement 4 das
signalflußmäßig vor
der Steuereinrichtung angeordnete Speicherelement, während das
Speicherelement 5 das signalflußmäßig nach der Steuereinrichtung
angeordnete Signal ist. Die Steuereinrichtung 13 hat einen
Steuereingang 13a, der mit einem Steuersignal beaufschlagbar
ist, das prinzipiell ein beliebiges Steuersignal sein kann.In the feedforward device 1 from 6 is also a control device 13 introduced, which is arranged between two memory elements, namely in the in 6 Example shown the memory elements 4 and 5 , After a signal flow from the memory element 0 to the memory element n in 6 takes place, is the storage element 4 the signal flow moderately arranged in front of the control device memory element, while the memory element 5 the signal flow is arranged after the control device signal. The control device 13 has a control input 13a , which can be acted upon by a control signal, which in principle can be any control signal.
Das
Steuersignal kann beispielsweise eine echte Zufallszahlenfolge sein,
so dass die Ausgabefolge der Schieberegisteranordnung eine Zufallszahlenfolge
ist. Das Steuersignal kann auch ein deterministisches Steuersignal
sein, so dass ausgangsseitig eine Pseudozufallszahlenfolge erhalten
wird.The
Control signal may be, for example, a true random number sequence,
such that the output sequence of the shift register arrangement is a random number sequence
is. The control signal may also include a deterministic control signal
be such that on the output side receive a pseudo-random number sequence
becomes.
Vorzugsweise
ist der Steuereingang 13a jedoch, wie es durch die in 6 gezeigte
entsprechende gestrichelte Linie dargestellt ist, mit der Rückkopplungseinrichtung 8 verbunden,
derart, dass ein Signal in der Rückkopplungseinrichtung
das Steuersignal für
die Steuereinrichtung 13 liefert, das Steuersignal also
ein deterministisches Signal ist.Preferably, the control input 13a however, as by the in 6 shown corresponding dashed line is shown, with the feedback device 8th connected such that a signal in the feedback device, the control signal for the control device 13 supplies, so the control signal is a deterministic signal.
Obgleich
bei dem in 6 gezeigten Ausführungsbeispiel
die Rückkopplungseinrichtung 8 als
variable Rückkopplungseinrichtung
bezeichnet ist, kann die Rückkopplungseinrichtung
auch eine Rückkopplungseinrichtung
mit konstanter Rückkopplungseigenschaft
sein, wie es durch eine gestrichelte Linie 14 angedeutet ist. In
diesem Fall würde
das Steuersignal für
den Steuereingang 13a von einem Verzweigungspunkt 14a abgeleitet
werden, wie es in 6 schematisch dargestellt ist,
und zwar durch die gestrichelte Linie vom Punkt 14a zu
dem Steuereingang 13a der Steuereinrichtung 13.Although in the in 6 embodiment shown, the feedback device 8th As a variable feedback device, the feedback device may also be a feedback device with a constant feedback characteristic, as indicated by a dashed line 14. In this case, the control signal would be for the control input 13a from a branch point 14a be derived as it is in 6 is shown schematically, by the dashed line from the point 14a to the control input 13a the control device 13 ,
Ferner
wird, um die Effizienz zu steigern, der in 6 gezeigte
Elementar-Zahlenfolgengenerator dazu verwendet, um z. B. nicht nur
eine Folge an dem Ausgang 7 zu erzeugen, sondern um eine
zweite Folge von vorzugsweise Pseudozufallszahlen an einem weiteren
Ausgang 15 zu erzeugen, wobei beide Folgen oder nur eine
Folge der beiden folgen in die Kombinationseinrichtung eingespeist
werden kann. Das Einfügen
der Steuereinrichtung 13 bewirkt, dass die an dem Ausgang 7 ausgegebene
Folge tatsächlich
unterschiedlich zu der am Ausgang 15 ausgegebenen Folge
ist, wobei die beiden Folgen nicht nur zueinander verschoben sind,
sondern, wie es ausgeführt
worden ist, tatsächlich
unterschiedlich sind, da sie signalflußmäßig vor bzw. hinter der Steuereinrichtung 13 „abgezapft" werden.Furthermore, in order to increase the efficiency, in 6 shown elementary sequence generator used to z. B. not just a consequence at the exit 7 but to generate a second sequence of preferably pseudorandom numbers at a further output 15 wherein both sequences or only a sequence of the two sequences can be fed into the combination device. The insertion of the control device 13 causes the at the output 7 output sequence actually different from that at the output 15 output sequence, the two sequences are not only shifted from each other, but, as has been stated, are actually different, as they signal flow before or behind the control device 13 Be tapped.
7 zeigt
ein 8-Bit-Schieberegister, bei dem abhängig von dem Zustand der Speichereinrichtung
mit der Nr. 4 ein Multiplexer 20 über einen Steuereingang 20a angesteuert
wird. Ist der Steuereingang 20a auf einem Null-Zustand,
d. h. liegt in der Speicherzelle mit der Nr. 4 ein Null-Zustand
vor, so wird der Multiplexer derart gesteuert, dass er den Zustand
der Speichereinrichtung mit der Nr. 7 an einer ersten Eingangsleitung 20b desselben
mit einer Ausgangsleitung 20d verbindet. Dies würde der
Wirkung eines linearen Schieberegisters mit dem folgende Rückkopplungspolynom
entsprechen: x8 + x7 + 1 7 shows an 8-bit shift register in which, depending on the state of the memory device with the No. 4, a multiplexer 20 via a control input 20a is controlled. Is the control input 20a in a zero state, that is, in the memory cell with the No. 4 is in a zero state, the multiplexer is controlled so that it the state of the memory device with the No. 7 on a first input line 20b the same with an output line 20d combines. This would correspond to the effect of a linear shift register with the following feedback polynomial: x 8th + x 7 + 1
Ist
der Steuereingang 20a dagegen auf einem Eins-Zustand, so
wird der Zustand der Speichereinrichtung mit der Nr. 6 an einem
zweiten Eingang 20c mit der Ausgangsleitung 20d des
Multiplexers 20 verbunden. Die Ausgangsleitung 20d ist
mit einer Kombinationseinrichtung 21 verbunden, der ferner bei
dem in 7 gezeigten Ausführungsbeispiel der Wert am
Ausgang 7 der Vorwärtskopplungseinrichtung,
der gleichzeitig den Ausgang der Vorrichtung zum Erzeugen einer
pseudozufälligen
Folge von Zahlen bildet, zugeführt.
Das Ergebnis, das durch die Kombinationseinrichtung 21 berechnet
wird, wird wiederum der ersten Speichereinrichtung mit der Nr. 7
in 7 zugeführt.Is the control input 20a on the other hand, on a one-state, the state of the memory device of No. 6 at a second input becomes 20c with the output line 20d of the multiplexer 20 connected. The output line 20d is with a combination device 21 further connected to the in 7 embodiment shown, the value at the output 7 the feedforward means, which simultaneously forms the output of the apparatus for generating a pseudorandom sequence of numbers, supplied. The result, by the combination device 21 is calculated, in turn, the first memory device with the no. 7 in 7 fed.
Ist
daher der Inhalt der Speicherzelle mit der Nr. 4 gleich 1, so liegt
folgendes Rückkopplungspolynom
vor: X8 + X6 +
1 Therefore, if the content of the memory cell of No. 4 is 1, the following feedback polynomial is present: X 8th + X 6 + 1
Aus
dem vorstehenden wird ersichtlich, dass zwischen den beiden genannten
Rückkopplungspolynomen
umgeschaltet wird, und zwar abhängig
von dem Inhalt der Speicherzelle mit der Nr. 4 der Vorwärtskopplungseinrichtung 1.From the above, it will be seen that switching between the two mentioned feedback polynomials is effected, depending on the content of the memory cell with the No. 4 of the feedforward means 1 ,
Es
hat sich herausgestellt, dass die linearen Komplexitäten von
erfindungsgemäß erhaltenen
Sequenzen hoch sind, nämlich
zwischen 234 und 254, wenn das Schieberegister 8 Flip-Flops hat.
Es sei darauf hingewiesen, dass die Periodenlänge einer Sequenz, die durch
ein beliebiges achtstufiges Schieberegister erzeugt wird, maximal
255 betragen kann. Der maximale Wert für die lineare Komplexität einer
solchen Sequenz beträgt
254.It
It has been found that the linear complexities of
obtained according to the invention
Sequences are high, namely
between 234 and 254 when the shift register 8 has flip-flops.
It should be noted that the period length of a sequence by
an arbitrary eight-stage shift register is generated, maximum
255 may be. The maximum value for the linear complexity of a
such sequence
254th
Das
einfachste von allen achtstufigen Elementarschieberegistern, die
eine Sequenz erzeugen können,
ist das in 7 dargestellte Schieberegister mit
den beiden in 7 dargestellten Rückkopplungspolynomen.
Im Hinblick auf die Theorie der linearen Schieberegister als Vergleichsbeispiel
sei darauf hingewiesen, dass es 16 primitive Polynome des Grads
8 gibt. Jedes derartige Polynom beschreibt ein lineares Schieberegister
das eine Sequenz der Periodenlänge
255 und der linearen Komplexität
8 erzeugen kann. Demgegenüber
existieren viel mehr Schieberegister – nämlich 2020 – gemäß der vorliegenden Erfindung,
die Sequenzen der Periodenlänge
255 gemäß der vorliegenden
Erfindung erzeugen können.The simplest of all eight-level elementary shift registers that can produce a sequence is that in 7 shown shift register with the two in 7 illustrated feedback polynomials. With respect to the theory of linear shift registers as a comparative example, it should be noted that there are 16 primitive polynomials of grade 8. Each such polynomial describes a linear shift register that can produce a sequence of period length 255 and linear complexity 8. In contrast, there are many more shift registers - namely, 2020 - in accordance with the present invention that can generate period length 255 sequences in accordance with the present invention.
Darüber hinaus
haben die Sequenzen, die durch die erfindungsgemäßen Schieberegister erzeugt
werden, viel größere lineare
Komplexitäten
als ihre analogen Ausführungen
gemäß dem Stand
der Technik. Wie es ausgeführt
worden ist, wird unter allen untersuchten Möglichkeiten für ein 8-Bit-Schieberegister
mit Rückkopplungseinrichtung
die in 7 gezeigte Ausführungsform bevorzugt, da sie
den einfachsten Hardware-Aufwand mit sich bringt, gleichzeitig eine
maximale Periodendauer hat und ferner eine maximale lineare Komplexität aufweist.Moreover, the sequences generated by the shift registers of the present invention have much greater linear complexities than their prior art analog designs. As has been stated, among all the possibilities examined for an 8-bit shift register with feedback means, the in 7 shown embodiment, since it brings the simplest hardware effort, at the same time has a maximum period and further has a maximum linear complexity.
In 7 ist
ferner wieder eine Steuereinrichtung 13 zwischen zwei Speicherelementen
angeordnet, wobei dies die Speicherelemente 1 und 2 sind. Die
Steuereinrichtung 13 wird mit einem Steuersignal versorgt,
das aus der Rückkopplungsein richtung 8 mit
variabler Rückkopplungseigenschaft
abgezapft wird. Selbstverständlich
könnte
das Signal für
die Steuereinrichtung auch signalflußmäßig nach dem XOR-Gatter 21 „abgezapft" werden. Darüber hinaus kann
die Steuereinrichtung 13 selbstverständlich auch zwischen zwei beliebigen
anderen Speicherzellen ausgebildet sein, wie z. B. zwischen den
Speicherzellen 5 und 6 oder zwischen den Speicherzellen 0 und 7,
also entweder in Signalflussrichtung hinter der Speicherzelle 0,
so dass unmittelbar das Signal am Ausgang der Speichereinrichtung
an dem Ausgang 7 ausgegeben wird, oder unmittelbar vor
der Speicherzelle 7.In 7 is again a control device 13 arranged between two memory elements, this being the memory elements 1 and 2 are. The control device 13 is supplied with a control signal from the direction Rückkopplungsein 8th With variable feedback characteristic is tapped. Of course, could the signal for the controller also signalflußmäßig after the XOR gate 21 In addition, the control device 13 Of course, be formed between any two other memory cells, such. B. between the memory cells 5 and 6 or between the memory cells 0 and 7, that is, either in the signal flow direction behind the memory cell 0, so that immediately the signal at the output of the memory device at the output 7 is output, or immediately before the memory cell. 7
Aus
Signalverarbeitungsgründen
wird es jedoch bevorzugt, dass sämtliche
Signale, wie z. B. Ausgangsfolgen, Steuersignale und Datensignale
für den
Multiplexer etc. am Ausgang von Schieberegistern abgegriffen werden,
so dass das Schieberegister neben seiner Funktionalität zum Erzeugen
der Zahlenfolge auch dazu dient, stabile Signale für Logikgatter
zu liefern. Damit müssen
keine entsprechenden Ausgangsstufen für Logikgatter erzeugt werden, wenn
von den Ausgängen
der Logikgatter selbst Steuersignale oder Ausgangssignale abgezapft
werden.Out
Signal processing reasons
However, it is preferred that all
Signals, such. B. output sequences, control signals and data signals
for the
Multiplexer, etc. are tapped at the output of shift registers,
so that the shift register in addition to its functionality for generating
the sequence of numbers also serves to provide stable signals for logic gates
to deliver. So have to
no corresponding output stages for logic gates are generated when
from the exits
the logic gate itself tapped control signals or output signals
become.
Nachfolgend
wird auf 8 Bezug genommen, um eine spezielle
Implementierung der Multiplexereinrichtung 20 von 7 darzustellen.
Der Multiplexer 20 kann ohne weiteres durch zwei UND-Gatter 40a, 40b implementiert
werden, die beide mit seriell geschalteten ODER-Gattern (oder XOR-Gattern) 41a, 41b so
verbunden sind, wie es in 8 gezeigt ist.
Im einzelnen wird der Zustand der Speicherzelle 4 dem ersten UND-Gatter 40a zugeführt, während der
invertierte Zustand der Speicherzelle 4 dem zweiten UND-Gatter 40b zugeführt wird.
Zur Bestimmung des entsprechenden Rückkopplungspolynoms wird der Inhalt
der Speicherzelle 6 dem ersten UND-Gatter 40a als zweiter
Eingang zugeführt,
während
der Inhalt der Speicherzelle 7 dem zweiten UND-Gatter 40b als
zweiter Eingang zugeführt
wird. Ferner sei darauf hingewiesen, dass die beiden hintereinander geschalteten
ODER-Gatter 41a, 41b alternativ implementiert
werden können.
Wenn jedoch Implementierungen benötigt werden, bei denen jedes
logische Gatter zwei Eingänge
und einen Ausgang hat, ist die in 8 gezeigte
beispielhafte Darstellung vorteilhaft.The following will be on 8th With reference to a specific implementation of the multiplexer device 20 from 7 display. The multiplexer 20 can easily through two AND gates 40a . 40b both with serial OR gates (or XOR gates) 41a . 41b are connected as it is in 8th is shown. More specifically, the state of the memory cell 4 becomes the first AND gate 40a while the inverted state of the memory cell 4 is applied to the second AND gate 40b is supplied. To determine the corresponding feedback polynomial, the content of the memory cell 6 becomes the first AND gate 40a supplied as the second input, while the content of the memory cell 7 to the second AND gate 40b is supplied as a second input. It should also be noted that the two OR gates connected in series 41a . 41b alternatively can be implemented. However, if implementations are needed where each logic gate has two inputs and one output, then the one in 8th shown exemplary representation advantageous.
Bei
einem Verfahrens zum Erzeugen einer pseudozufälligen Folge von Zahlen aus
einem Elementarschieberegister unter Verwendung einer Vorwärtskopplungseinrichtung 1 mit
einer Mehrzahl von Speichereinrichtungen, die einen Eingang und
einen Ausgang zum Ausgeben der Folge von Zahlen aufweist, und einer
Rückkopplungseinrichtung,
die eine veränderbare
Rückkopplungseigenschaft
aufweist und zwischen den Eingang und den Ausgang geschaltet ist,
wird zunächst
ein Schritt des Initialisierens der Speichereinrichtung in der Vorwärtskopplungseinrichtung
auf einen vorbestimmten Startwert ausgeführt.In a method for generating a pseudorandom sequence of numbers from an elementary shift register using feedforward means 1 With a plurality of memory devices having an input and an output for outputting the series of numbers, and a feedback device having a variable feedback characteristic and connected between the input and the output, first a step of initializing the memory device in the feedforward means to a predetermined starting value.
Ansprechend
auf einen Zustand einer Speichereinrichtung der Mehrzahl von Speichereinrichtungen
der Vorwärtskopplungseinrichtung
wird dann in einem weiteren Schritt die Steuerungseinrichtung abhängig von
dem Rückkopplungssignal
gesteuert. Hierauf wird ein Zustand einer Speichereinrichtung, die
mit dem Ausgang der Vorwärtskopplungseinrichtung 1 verbunden
ist, ausgegeben, um eine Zahl der Folge von Zufallszahlen zu erhalten.
Hierauf wird in einem Entscheidungsblock untersucht, ob weitere Zufallszahlen
benötigt
werden. Wird diese Frage mit nein beantwortet, so wird das Verfahren
beendet. Wird dagegen festgestellt, dass weitere Zahlen benötigt werden,
so wird der Entscheidungsblock mit „ja" beantwortet, woraufhin ein weiteren
Schritt folgt, in dem die Mehrzahl von Speichereinrichtungen basierend
auf einem vorherigen Zustand der Speichereinrichtung und auf einer
Ausgabe der Rückkopplungseinrichtung
neu belegt werden. In einer Schleife werden die Schritte des Steuerns
der Steuerungseinrichtung, Ausgebens und Neubelegens so oft wie
gewünscht
wiederholt, um schließlich
die pseudozufällige
Folge von Zahlen zu erhalten.In response to a state of a memory device of the plurality of memory devices of the feedforward device, the controller is then controlled in a further step in response to the feedback signal. This is followed by a state of a memory device connected to the output of the feedforward device 1 connected to obtain a number of the sequence of random numbers. It is then examined in a decision block whether more random numbers are needed. If this question is answered with no, the procedure is ended. On the other hand, if it is determined that more numbers are needed, the decision block is answered with "yes", followed by another step in which the plurality of memory devices are reused based on a previous state of the memory device and on an output of the feedback device In a loop, the steps of controlling the controller, outputting and re-paging are repeated as many times as desired to finally obtain the pseudorandom sequence of numbers.
Es
sei darauf hingewiesen, dass dieses Verfahren unter Verwendung eines
regelmäßigen Takts durchgeführt werden
kann, oder auch unter Verwendung eines unregelmäßigen Takts, obgleich die Variante
mit regelmäßigem Takt
im Hinblick auf eine bessere Sicherheit gegenüber Leistungs- oder Zeit-Attacken
bevorzugt wird.It
It should be noted that this method using a
regular clocks
can, or even using an irregular clock, although the variant
with regular clock
with a view to better security against performance or time attacks
is preferred.
Im
Falle des in 7 dargestellten linearen Schieberegisters
wird darauf hingewiesen, dass das Neubelegen der Mehrzahl von Speichereinrichtungen
seriell erfolgt, und zwar basierend auf dem vorherigen Zustand der
Speichereinrichtungen, der – insgesamt
gesehen – um
einen Schritt nach links verschoben wird, so dass ausgangsseitig
ein Zustand der Speichereinrichtung 0 „herausfällt". Dieser „herausgefallene" Wert ist die Zahl,
die ausgegeben wird. Durch das Links-Verschieben des insgesamt betrachteten
Zustands der gesamten Speichereinrichtungen kann die ganz rechte
Speichereinrichtung mit der Nr. 7 in 7 neu belegt
werden. Die Mehrzahl von Speichereinrichtungen und insbesondere
die Speichereinrichtung 7 wird daher abhängig von einer Ausgabe der
Rückkopplungseinrichtung
zum aktuellen Taktzeitpunkt neu belegt.In the case of in 7 As shown in FIG. 12, it is noted that the relocation of the plurality of memory devices is performed serially, based on the previous state of the memory devices, which is shifted one step to the left as a whole, so that a state of the memory device O "is dropped on the output side This "dropped out" value is the number spent. By shifting the overall state of the entire memory devices to the left, the rightmost memory device with the number 7 in FIG 7 be occupied again. The plurality of memory devices and in particular the memory device 7 is therefore re-assigned depending on an output of the feedback device at the current clock time.
9 zeigt
ein alternatives Ausführungsbeispiel,
bei dem die in 6 mit dem Bezugszeichen 14 bezeichnete
Alternative der Rückkopplungseinrichtung
dargestellt ist. Insbesondere ist die Rückkopplungseinrichtung 14 in 9 derart
ausgebildet, dass sie keine variable Rückkopplungseigenschaft hat,
sondern eine konstante Rückkopplungseigenschaft
hat. Die erfindungsgemäßen Vorteile
werden dadurch erreicht, dass in der Vorwärtskopplungseinrichtung zumindest
eine Steuereinrichtung 13 und vorzugsweise eine weitere
Steuereinrichtung 60 angeordnet sind. 9 shows an alternative embodiment in which the in 6 with the reference number 14 designated alternative of the feedback device is shown. In particular, the feedback device 14 in 9 is formed such that it has no variable feedback characteristic but has a constant feedback characteristic. The advantages according to the invention are achieved in that at least one control device in the feed forward device 13 and preferably another control device 60 are arranged.
Bei
dem in 9 gezeigten Ausführungsbeispiel wird die Steuereinrichtung 13 mit
einem Steuersignal gesteuert, das direkt von der Rückkopplungseinrichtung 14 abgeleitet
wird. Bei der in 9 gezeigten Vorwärtskopplungseinrichtung
sind lediglich zwei Speichereinrichtungen 2 und 3 vorgesehen,
wobei die erste Steuereinrichtung 13 zwischen der Speicherzelle
2 und 3 geschaltet ist, während
die zweite Steuereinrichtung 60 zwischen der Speicherzelle
3 und (über
die Rückkopplungseinrichtung 14)
der Speicherzelle 2 geschaltet ist. Ferner ist in 9 ein Signalfluss
durch einen Pfeil 61 markiert, der den Signalfluss in der
Vorwärtskopplungseinrichtung
darstellt, der sich bei dem in 9 gezeigten
Ausführungsbeispiel
von rechts nach links erstreckt. Ein Bit gelangt zunächst in
die Speichereinrichtung D2. Damit wird das in D2 gespeicherte Bit
ausgegeben und bildet ein Bit der ersten Folge. Gleichzeitig wird
das von der Speichereinrichtung 2 ausgegebene Bit mit einem
gerade auf der Rückkopplungseinrichtung 14 anliegenden
Bit bei dem in 9 gezeigten Ausführungsbeispiel
XOR-verknüpft,
um an einem Ausgang der XOR-Verknüpfung ein
Ergebnisbit zu erhalten, das dann beim nächsten Zyklus in das Speicherelement 3 eingetaktet
wird. Damit wird das gerade in dem Speicherelement 3 befindliche
Bit aus dem Speicherelement 3 herausgetaktet und stellt
damit ein Bit der zweiten Pseudozufallsfolge von Zahlen dar. Das
Bit am Ausgang der Speicherzelle 3 wird dann mit einem Steuersignal für die zweite
Steuereinrichtung 60 XOR-verknüpft, wobei das Steuersignal aus
dem Signal an der Rückkopplungseinrichtung 14 und
dem Ausgangssignal der ersten Steuereinrichtung 13 mittels
einer Kombinationseinrichtung erzeugt wird. Die Kombinationseinrichtung 62 ist
vorzugsweise ein logisches Gatter und insbesondere bei dem in 9 gezeigten
Ausführungsbeispiel
ein UND-Gatter. Die erste Folge wird über einen Ausgang 7 ausgegeben,
während
die zweite Folge über einen
Ausgang 15 ausgegeben wird. Die beiden über die Ausgänge 7 und 15 ausgegebenen
Folgen sind tatsächlich
unterschiedlich und nicht nur phasenverschoben zueinander.At the in 9 Shown embodiment, the control device 13 controlled by a control signal directly from the feedback device 14 is derived. At the in 9 shown feedforward means are only two memory devices 2 and 3 provided, wherein the first control device 13 between the memory cell 2 and 3, while the second control means 60 between the memory cell 3 and (via the feedback device 14 ) of the memory cell 2 is connected. Furthermore, in 9 a signal flow through an arrow 61 which represents the signal flow in the feedforward device which is located at the in 9 shown embodiment extends from right to left. A bit first enters the memory device D2. This outputs the bit stored in D2 and forms one bit of the first sequence. At the same time, this is done by the storage device 2 output bit with just one on the feedback device 14 applied bit at the in 9 XOR-linked in order to obtain a result bit at an output of the XOR operation, which then in the next cycle in the memory element 3 is clocked. So that's just in the memory element 3 located bits from the memory element 3 clocked out and thus represents a bit of the second pseudo-random sequence of numbers. The bit at the output of the memory cell 3 is then provided with a control signal for the second control device 60 XOR-linked, wherein the control signal from the signal at the feedback device 14 and the output of the first controller 13 is generated by means of a combination device. The combination device 62 is preferably a logic gate and in particular in the 9 shown embodiment, an AND gate. The first episode will have an output 7 while the second episode has an output 15 is issued. The two on the outputs 7 and 15 Output sequences are actually different and not just out of phase with each other.
Um
die Implementierung des XOR-Gatters 60 zu vereinfachen,
wird bei einem anderen bevorzugten Ausführungsbeispiel in Signalflussrichtung hinter
dem XOR-Gatter 60 noch ein weiteres Speicherelement vorgesehen,
wobei dann, am Ausgang dieses Speicherelements, eine Folge ausgegeben wird,
die lediglich phasenverschoben zu der ersten Folge am Ausgang 7 ist,
die jedoch grundsätzlich
unterschiedlich zur zweiten Folge am Ausgang 15 ist.To the implementation of the XOR gate 60 simplifies, in another preferred embodiment, in the signal flow direction behind the XOR gate 60 provided yet another memory element, in which case, at the output of this memory element, a sequence is output, which only phase-shifted to the first sequence at the output 7 is, however, fundamentally different from the second sequence at the exit 15 is.
10 zeigt
ein 8-Bit-Elementarschieberegister mit Flip-Flops D0–D7, die seriell zueinander geschaltet
sind, wobei ferner zwischen dem vierten und dem dritten Flip-Flop
die zweite Steuereinrichtung 60 vorgesehen ist, während zwischen
dem siebten und dem sechsten Flip-Flop die erste Steuereinrichtung 13 vorgesehen
ist. Die erste Steuereinrichtung 13 wird wieder direkt
mit dem Rückkopplungssignal
auf der Rückkopplungseinrichtung 14 versorgt, während die
zweite Steuereinrichtung 60 mit dem Ausgangssignal des
UND-Gatters 62 versorgt wird, das wiederum von der Rückkopplungseinrichtung 14 einerseits
und dem Ausgangssignal der fünften
Zelle D5 andererseits versorgt wird. In Analogie zu dem in 9 gezeig ten
Ausführungsbeispiel
stellt die Ausgangsfolge der vierten Zelle D4 die zweite Pseudozufallszahlenfolge
dar, während
die Ausgangsfolge der siebten Zelle D7 die erste Zufallszahlenfolge
darstellt. 10 shows an 8-bit elementary shift register with flip-flops D0-D7, which are connected in series with each other, further between the fourth and the third flip-flop, the second control device 60 is provided, while between the seventh and the sixth flip-flop, the first control device 13 is provided. The first control device 13 goes back directly to the feedback signal on the feedback device 14 supplied while the second control device 60 with the output of the AND gate 62 is supplied, in turn, from the feedback device 14 on the one hand and the output signal of the fifth cell D5 on the other hand is supplied. In analogy to that in 9 shown embodiment, the output sequence of the fourth cell D4 represents the second pseudo-random number sequence, while the output sequence of the seventh cell D7 represents the first random number sequence.
Die
in den 9 und 10 gezeigten Ausführungsbeispiele
für ein
Elementarschieberegister unterscheiden sich dahingehend, dass zwischen
den beiden Steuereinrichtungen zwei weitere Registerzellen D5, D6
geschaltet sind, und dass am Ausgang der XOR-Steuereinrichtung 60 weitere
Speicherzellen D0 – D3
ausgebildet sind, so dass ein 8-Bit-Schieberegister entsteht. Bei
einem Ausführungsbeispiel wird,
um einen besonders effizienten Pseudozufallszahlengenerator zu erhalten,
an dem Ausgang von jeder Speicherzelle D0 – D7 eine Pseudozufallszahlenfolge
abgezapft und einer Kombinationseinrichtung zugeführt. Insbesondere
sind die beiden Folgen, die von den Zellen D4 und D5 ausgegeben
werden, verschobene Versionen der Folge, die von der Zelle D6 ausgegeben
wird. Ferner sind die vier Folgen, die von den Zellen D2, D1, D0
und D7 ausgegeben werden, verschobene Versionen der Folge, die von
der Zelle D3 ausgegeben wird. Damit ist jede Folge der Zellen D7,
D0, D1, D2, D3 zu einer Folge der Zellen D4, D5, D6 essentiell verschieden.The in the 9 and 10 shown embodiments for an elemental shift register differ in that between the two control devices, two further register cells D5, D6 are connected, and that at the output of the XOR control device 60 further memory cells D0 - D3 are formed, so that an 8-bit shift register is formed. In one embodiment, to obtain a particularly efficient pseudo-random number generator, a pseudorandom number sequence is tapped and supplied to a combiner at the output of each memory cell D0-D7. In particular, the two sequences output by cells D4 and D5 are shifted versions of the sequence output by cell D6. Further, the four sequences output by the cells D2, D1, D0 and D7 are shifted versions of the sequence output from the cell D3. Thus, each sequence of cells D7, D0, D1, D2, D3 is essentially different to a sequence of cells D4, D5, D6.
Es
sei darauf hingewiesen, dass der Anfangszustand, mit dem das Schieberegister
initialisiert wird, als der sogenannte Seed oder Keim, der Bezug
nehmend auf 7, Element 55, erläutert worden
ist, dahingehend gestaltet sein soll, dass er zumindest einen Wert
für ein
Speicherelement umfasst, der ungleich Null ist, damit das Schieberegister gewissermaßen „anläuft" und nicht an den
acht Ausgängen
acht Nullfolgen ausgibt. Dann, wenn diese Bedingung erfüllt ist,
sind alle acht Folgen maximal periodisch, d. h. haben eine Periodenlänge von 255. Ferner
hat jede der acht ausgegebenen Folgen bei dem in 10 gezeigten
Ausführungsbeispiel
die maximale lineare Komplexität
254. Darüber
hinaus sind, wie es ausgeführt
worden ist, die beiden Folgen, die von den Zellen D3 und D6 ausgegeben
werden, essentiell verschieden.It should be noted that the initial state with which the shift register is initialized is referred to as the so-called seed or germ, referring to FIG 7 , Element 55 , has been described as having at least one value for a nonzero memory element for the shift register to "start up" to some extent and not output eight null sequences at the eight outputs, and then when that condition is met, For example, all eight sequences are maximally periodic, ie have a period length of 255. Further, each of the eight output sequences has the period in the 10 In addition, as has been pointed out, the two sequences output by cells D3 and D6 are essentially different.
Wie
es aus 10 ferner ersichtlich wird,
ist hier die Speicherzelle D5 die Steuerungszelle. Wenn die Zelle
D5 eine Null enthält,
dann wird die Wirkung der Steuereinrichtung 60 zwischen
den Zellen D3 und D4 unterdrückt.
Nur das XOR zwischen den Zellen D6 und D7 findet dann Anwendung.
Wenn die Zelle D5 dagegen eine 1 umfasst, kommen beide XOR-Einrichtungen 13 und 60 zur
Anwendung.Like it out 10 Further, here, the memory cell D5 is the control cell. If the cell D5 contains a zero, then the effect of the controller 60 suppressed between the cells D3 and D4. Only the XOR between cells D6 and D7 then applies. In contrast, if cell D5 includes a 1, both XOR devices will come 13 and 60 for use.
11 zeigt
ein allgemeines rückgekoppeltes
Schieberegister mit Speicherzellen D0, ...,
Dn-1 mit einer Vorwärtskopplungseinrichtung sowie
mit einer Rückkopplungseinrichtung,
die mit F(x0, x1,
..., xn-1) bezeichnet ist. 11 shows a general feedback shift register with memory cells D 0 , ..., D n-1 with a feed-forward device and with a feedback device, which is denoted by F (x 0 , x 1 , ..., x n-1 ).
Betrachtet
sei ein allgemeines n-stufiges (oder n-zelliges) rückgekoppeltes
Schieberegister über
dem Grundkörper
GF(2) = {0,1}. Das Schieberegister besteht aus n Speicherzellen
(Flip-Flops) D0, D0,
..., Dn-1 und der (elektronischen) Realisierung
einer Rückkopplungsfunktion
F(x0, x1, ..., xn-1). Die Rückkopplungsfunktion ordnet
jedem n-Tupel bestehend aus n Bits, einen eindeutigen Wert aus GF(2) zu,
also den Wert 0 oder 1. In mathematischer Terminologie ist F eine
Funktion mit Definitionsbereich GF(2)n und
Zielbereich GF(2).Consider a general n-stage (or n-cell) feedback shift register over the body GF (2) = {0,1}. The shift register consists of n memory cells (flip-flops) D 0 , D 0 ,..., D n-1 and the (electronic) realization of a feedback function F (x 0 , x 1 ,..., X n-1 ) , The feedback function assigns each n-tuple consisting of n bits a unique value from GF (2), ie the value 0 or 1. In mathematical terminology, F is a function with domain GF (2) n and target domain GF (2).
Das
Schieberegister wird von einer äußeren Uhr
gesteuert. Mit jedem Uhrentakt wird der Inhalt der Speicherzelle
Dj in die linke benachbarte Zelle Dj-1 verschoben. 1 ≤ j ≤ n – 1. Der Inhalt der Speicherzelle D0 wird ausgegeben. Seien die Inhal te der
Speicherzellen D0, D1,
... Dn-2, Dn-1 zum
Zeitpunkt t gegeben durch St,
St+1 ..., St+n-2,
St+n-1. The shift register is controlled by an external clock. With each clock cycle, the contents of the memory cell D j to the left adjacent cell D j-1 is shifted. 1 ≦ j ≦ n - 1. The content of the memory cell D 0 is output. Let the contents of the memory cells D 0 , D 1 , ... D n-2 , D n-1 be given at time t S t , P t + 1 ..., p t + n-2 , P t + n-1 ,
Dann
enthalten die Speicherzellen einen Uhrentakt später, also zum Zeitpunkt t +
1, die Bits st+l, st+2, ..., st+n-1,
st+n,wobei der in der Zelle Dn-1 eingeflossene Wert st+n gegeben
ist durch st+n = F (st, st+1, ..., st+n-1). Then, the memory cells one clock later, that is, at time t + 1, the bits s t + l , s t + 2 , ..., s t + n-1 , s t + n . wherein the value s t + n taken in the cell D n-1 is given by s t + n = F (s t , s t + 1 , ..., s t + n-1 ).
Das
n-Tupel (st, st+1,
..., st+n-1) beschreibt den Zustand des
Schieberegisters zum Zeitpunkt t. Das n-Tupel (s0,
s1 ,..., sn-1) heißt der Anfangszustand.
Als Abkürzung
für das
allgemeine rückgekoppelte
Schieberegister mit Rückkopplungsfunktion
F wird FSR(F) verwendet (FSR steht für feedback shift register). 12 zeigt
ein allgemeines rückgekoppeltes
Schieberegister.The n-tuple (s t , s t + 1 , ..., s t + n-1 ) describes the state of the shift register at time t. The n-tuple (s 0 , s 1 , ..., s n-1 ) is called the initial state. As an abbreviation for the general feedback shift register with feedback function F, FSR (F) is used (FSR stands for feedback shift register). 12 shows a general feedback shift register.
Mit
jedem Takt der äußeren Uhr
gibt das Schieberegister ein Bit aus. Auf diese Weise kann das Schieberegister
eine periodische Bitfolge S0, s1, s2, ... produzieren, eine sogenannte Schieberegisterfolge.
Es seien S0, s1,
..., sn-1 die Anfangswerte der Schieberegisterfolge.
Die Rückkopplungsfunktion
F (X0, X1, ...,
Xn-1) und die Anfangswerte S0,
s1, ..., sn-1 bestimmen
die Schieberegisterfolge vollständig.
Da es nur 2n verschiedene Zustände für das Schieberegister
gibt, beträgt
die Periodenlänge
der Schieberegisterfolge S0, s1,
s2 ... höchstens
2n.With each clock of the outer clock, the shift register outputs one bit. In this way, the shift register can produce a periodic bit sequence S 0 , s 1 , s 2 ,..., A so-called shift register sequence. Let S 0 , s 1 , ..., s n-1 be the initial values of the shift register sequence. The feedback function F (X 0 , X 1 ,..., X n-1 ) and the initial values S 0 , s 1 ,..., S n-1 determine the shift register sequence completely. Since there are only 2 n different states for the shift register, the period length of the shift register sequence S 0 , s 1 , s 2 is at most 2 n .
Ein
allgemeines rückgekoppeltes
Schieberegister FSR(F) heißt
homogen, wenn seine Rückkopplungsfunktion
F homogen ist, d. h, wenn F(0, 0, ..., 0) = 0 gilt. Ein homogenes,
in den Anfangszustand s0 = s1 =
... = sn-1 = 0 versetztes Schieberegister
produziert die Nullfolge. Daraus folgt, dass die Periodenlänge der
Ausgabefolge eines n-stufigen homogenen Schieberegisters höchstens
2n – 1
betragen kann. Wenn die Periodenlänge den maximalen Wert 2n – 1 annimmt,
dann nennt man die Schieberegisterfolge eine M-Folge und das Schieberegister
maximal. Es ist eine wichtige Aufgabe maximale Schieberegister zu
finden.A general feedback shift register FSR (F) is called homogeneous if its feedback function F is homogeneous, i. h, if F (0, 0, ..., 0) = 0. A homogeneous shift register offset to the initial state s 0 = s 1 = ... = s n-1 = 0 produces the zero sequence. It follows that the period length of the output sequence of an n-stage homogeneous shift register can be at most 2 n -1. If the period length takes on the maximum value 2 n -1, then the shift register sequence is called an M-series and the shift register is maximum. It is important to find maximum shift registers.
Zwei
Spezialfälle
des allgemeinen rückgekoppelten
Schieberegisters FSR(F) sind von besonderem Interesse. Der Fall
bei dem die Rückkopplungsfunktion
F die Form hat, wobei die Koeffizienten
aij entweder 0 oder 1 sind. In diesem Fall
spricht man von einer quadratischen Rückkopplungsfunktion als Beispiel
für eine nichtlineare
Rückkopplungsfunktion
und die Bezeichnung quadratisch überträgt sich
auch auf das Schieberegister.Two special cases of the general feedback shift register FSR (F) are of particular interest. The case where the feedback function F is the shape where the coefficients a ij are either 0 or 1. In this case we speak of a quadratic feedback function as an example of a non-linear feedback function and the term quadratic also applies to the shift register.
Der
andere Spezialfall liegt vor, wenn die Rückkopplungsfunktion F linear
ist. Dann hat F die Form F(x0,
x1, ..., xn-1) =
a0x0 + a1x1 + ... + an-1xn-1,wobei
die auftretenden Koeffizienten ai wieder
gleich 0 oder 1, also Elemente aus GF(2) sind. In diesem Fall spricht
man von einem linearen oder linear rückgekoppelten Schieberegister
und verwendet für
dieses die Abkürzung
LFSR (linear feedback shift register). Beachte, dass sowohl die
linear rückgekoppelten
als auch die quadratisch rückgekoppelten
Schieberegister homogen sind.The other special case is when the feedback function F is linear. Then F has the form F (x 0 , x 1 , ..., x n-1 ) = a 0 x 0 + a 1 x 1 + ... + a n-1 x n-1 . where the occurring coefficients a i again equal 0 or 1, ie elements of GF (2). In this case we speak of a linear or linear feedback shift register and use for this the abbreviation LFSR (linear feedback shift register). Note that both the linear feedback and quadrature feedback shift registers are homogeneous.
Ein
n-stufiges linear rückgekoppeltes
Schieberegister wird üblicherweise
durch ein binäres
Polynom f(x) vom Grad n in einer Variablen x charakterisiert. Man
nennt dieses Polynom f das charakteristische Polynom des linear
rückgekoppelten
Schieberegisters. Für
das Schieberegister schreibt man dann LFSR (f).One
n-stage linear feedback
Shift register is usually
through a binary
Polynomial f (x) of degree n is characterized in a variable x. you
This polynomial f calls the characteristic polynomial of the linear
feedback
Shift register. For
the shift register is then written LFSR (f).
Die
Rückkopplungsfunktion
F (x0, x1, ...,
xn-1) eines linear rückgekoppelten Schieberegisters
ist ein Polynom in n Variablen x0, x1, ..., xn-1 und
vom Grad 1. Demgegenüber
ist das charakteristische Polynom f(x) desselben linearen Schieberegisters
ein Polynom nur einer Variablen, nämlich der Variablen x, aber
vom Grad n. Es gilt f(x) = xn +
F (1, x, x2, ..., xn-1). The feedback function F (x 0 , x 1 , ..., x n-1 ) of a linear feedback shift register is a polynomial in n variables x 0 , x 1 ,..., X n-1 and of degree 1. On the other hand the characteristic polynomial f (x) of the same linear shift register is a polynomial of only one variable, namely the variable x, but of degree n. It holds f (x) = x n + F (1, x, x 2 , ..., x n-1 ).
Die
Nichtlinearität
der Rückkopplungsfunktion
kann somit durch relativ beliebige Ausgestaltungen der Rückkopplungsfunktion
F durchgeführt
werden. Hierzu wird es prinzipiell genügen, lediglich die Ausgangssignale
von zwei Speicherzellen Di und Di+1 miteinander zu multiplizieren, woraus
ein quadratisches Schieberegister entstehen würde. Selbstverständlich können auch
mehr als zwei Speicherzellenausgänge
miteinander multipliziert oder irgendeiner nicht-linearen Funktion
unterzogen werden. Prinzipiell kann jedoch auch eine Rückkopplung
mit nur einem Ausgangssignal einer einzigen Speicherzelle durchgeführt werden,
indem z. B. lediglich das Ausgangssignal der Speicherzelle D0 rückgekoppelt
wird, in die Funktion F(x0) eingespeist
wird und das Ausgangssignal dieser Funktion z. B. in die Speicherzelle Dn-1 eingangsseitig eingespeist wird. Eine
solche nicht-lineare Funktion mit nur einem einzigen Wert wäre beispielsweise
eine Inversion, also eine logisch N0T-Funktion. Die nicht-lineare
Funktion könnte
jedoch auch irgendeine andere Funktion sein, beispielsweise eine
nicht-lineare Zuordnungsfunktion oder eine kryptographische Funktion.The non-linearity of the feedback function can thus be performed by relatively arbitrary embodiments of the feedback function F. For this purpose, it will be sufficient in principle to multiply only the output signals of two memory cells D i and D i + 1 with one another, from which a quadratic shift register would result. Of course, more than two memory cell outputs may also be multiplied together or subjected to some non-linear function. In principle, however, a feedback can be performed with only one output of a single memory cell by z. B. only the output signal of the memory cell D 0 is fed back, in the function F (x 0 ) is fed and the output signal of this function z. B. in the memory cell D n-1 input side is fed. Such a non-linear function with only a single value would, for example, be an inversion, ie a logical N0T function. However, the non-linear function could be any other function, such as a nonlinear mapping function or a cryptographic function.
Abhängig von
den Gegebenheiten kann das erfindungsgemäße Verfahren zum Erzeugen von
Zufallszahlen in Hardware oder in Software implementiert werden.
Die Implementierung kann auf einem digitalen Speichermedium, insbesondere
einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen
erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken
können,
dass das Verfahren ausgeführt
wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem
auf einem maschinenlesbaren Träger
gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn
das Computer-Programm-Produkt auf einem Rechner abläuft. In
anderen Worten ausgedrückt kann
die Erfindung somit als ein Computer-Programm mit einem Programmcode
zur Durchführung des
Verfahrens realisiert werden, wenn das Computer-Programm auf einem
Computer abläuft.Depending on
the circumstances, the inventive method for generating
Random numbers are implemented in hardware or in software.
The implementation may be on a digital storage medium, in particular
a floppy disk or CD with electronically readable control signals
done so interact with a programmable computer system
can,
that the procedure executed
becomes. In general, the invention thus also consists in a computer program product with a
on a machine-readable carrier
stored program code for performing the method according to the invention, when
the computer program product runs on a computer. In
in other words can
the invention thus as a computer program with a program code
to carry out the
Method be realized when the computer program on a
Computer expires.
-
11
-
VorwärtskopplungseinrichtungFeedforward means
-
22
-
Speichereinrichtungmemory device
-
33
-
Speichereinrichtungmemory device
-
44
-
Speichereinrichtungmemory device
-
55
-
Speichereinrichtungmemory device
-
66
-
Eingang
der Vorwärtskopplungseinrichtungentrance
the feedforward device
-
77
-
Ausgang
der Vorwärtskopplungseinrichtungoutput
the feedforward device
-
88th
-
RückkopplungseinrichtungFeedback means
-
99
-
erste
Rückkopplungseigenschaftfirst
Feedback feature
-
1010
-
zweite
Rückkopplungseigenschaftsecond
Feedback feature
-
1111
-
Auswahleinrichtungselector
-
1212
-
Steuerleitung
für die
Auswahleinrichtungcontrol line
for the
selector
-
1313
-
erste
Steuereinrichtungfirst
control device
-
13a13a
-
Steuereingang
der ersten Steuereinrichtungcontrol input
the first control device
-
1414
-
RückkopplungseinrichtungFeedback means
-
14a14a
-
Abzweigungspunktbranching point
-
1515
-
Ausgang
für die
zweite Folgeoutput
for the
second episode
-
2020
-
Auswahleinrichtungselector
-
20a20a
-
Steuereingangcontrol input
-
20b20b
-
erster
Eingangfirst
entrance
-
20c20c
-
zweiter
Eingangsecond
entrance
-
20d20d
-
Ausgangoutput
-
2121
-
Kombinationseinrichtungcombiner
-
40a40a
-
erstes
UND-Gatterfirst
AND gate
-
40b40b
-
zweites
UND-Gattersecond
AND gate
-
41a41a
-
erstes
ODER-Gatterfirst
OR gate
-
41b41b
-
zweites
ODER-Gattersecond
OR gate
-
5151
-
Speicherzellememory cell
-
5252
-
Speicherzellememory cell
-
5353
-
Speicherzellememory cell
-
5454
-
Speicherzellememory cell
-
5555
-
Initialisierungseinrichtunginitializing
-
5656
-
Ausgangoutput
-
5757
-
erste
ODER-Verknüpfungfirst
Or link
-
5858
-
zweite
ODER-Verknüpfungsecond
Or link
-
59a59a
-
erste
Rückkopplungsleitungfirst
Feedback line
-
59b59b
-
zweite
Rückkopplungsleitungsecond
Feedback line
-
59c59c
-
dritte
Rückkopplungsleitungthird
Feedback line
-
6060
-
zweite
Steuereinrichtungsecond
control device
-
6161
-
Signalflussrichtung
in derSignal flow direction
in the
-
-
VorwärtskopplungseinrichtungFeedforward means
-
6262
-
Kombinationseinrichtungcombiner
-
100100
-
erste
Speicherzellefirst
memory cell
-
101101
-
Zweite
SpeicherzelleSecond
memory cell
-
102102
-
Dritte
Speicherzellethird
memory cell
-
103103
-
Vierte
SpeicherzelleFourth
memory cell
-
104104
-
Fünfte SpeicherzelleFifth memory cell
-
105105
-
RückkopplungseinrichtungFeedback means
-
106106
-
ZufallszahlenausgabeeinrichtungRandom number output means
-
201201
-
erste
Kombinationseinrichtungfirst
combiner
-
202202
-
zweite
Kombinationseinrichtungsecond
combiner
-
203203
-
Umschalterswitch
-
204204
-
Steuereingangcontrol input
-
206206
-
Ausgangoutput
-
210210
-
externe
Steuerungexternal
control
-
212212
-
UND-GatterAND gate
-
213213
-
UND-GatterAND gate
-
214214
-
XOR-GatterXOR gate
-
215215
-
XOR-GatterXOR gate
-
216216
-
Invertiererinverter
-
218218
-
XOR-GatterXOR gate
-
219219
-
XOR-GatterXOR gate
-
221221
-
Einkoppel-XOR-GatterInfeed XOR gate
-
500500
-
Busverschlüsselungs/Entschlüsselungs-EinheitBusverschlüsselungs / decryption unit
-
502502
-
Steuerleitungcontrol line
-
504504
-
Steuerleitungcontrol line
-
508 508
-
Busverschlüsselungs/Entschlüsselungs-EinheitBusverschlüsselungs / decryption unit