DE102004013481A1 - Random number generator, especially for a data bus encryptor, has first and second combination arrangements each of which generate different feeback properties and which are selected by a switch activated by an external signal - Google Patents

Random number generator, especially for a data bus encryptor, has first and second combination arrangements each of which generate different feeback properties and which are selected by a switch activated by an external signal Download PDF

Info

Publication number
DE102004013481A1
DE102004013481A1 DE200410013481 DE102004013481A DE102004013481A1 DE 102004013481 A1 DE102004013481 A1 DE 102004013481A1 DE 200410013481 DE200410013481 DE 200410013481 DE 102004013481 A DE102004013481 A DE 102004013481A DE 102004013481 A1 DE102004013481 A1 DE 102004013481A1
Authority
DE
Germany
Prior art keywords
random number
feedback
memory cells
number generator
combination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE200410013481
Other languages
German (de)
Other versions
DE102004013481B4 (en
Inventor
Rainer GÖTTFERT
Berndt Gammel
Stefan RÜPING
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE200410013481 priority Critical patent/DE102004013481B4/en
Publication of DE102004013481A1 publication Critical patent/DE102004013481A1/en
Application granted granted Critical
Publication of DE102004013481B4 publication Critical patent/DE102004013481B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

Abstract

Random number generator has the following: a forward coupling arrangement with a multiplicity of serially connected memory cells (100-104) and a feedback arrangement (200) coupled to the forward coupling arrangement. The feedback arrangement comprises: first and second combination arrangements for attaining first and second feedback properties as well as a switch (203) for activating the first or second combination arrangement. The switch recieves an input signal from an external controller (210) and switches accordingly. An independent claim is made for a data bus encryption device.

Description

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 5154 bilden insgesamt eine Vorwärtskopplungseinrichtung, während das lineare Schieberegister, das durch die Speicherzellen 5154 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 101111 in den 6 bis 9 gegeben. Es sei darauf hingewiesen, dass nicht unbedingt alle Schieberegister, beispielsweise in 5 die Schieberegister 101111, 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

Figure 00320001
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
Figure 00320001
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

Claims (21)

Zufallszahlengenerator mit folgenden Merkmalen: einer Vorwärtskopplungseinrichtung mit einer Mehrzahl von zueinander in Serie geschalteten Speicherzellen (100, 101, 102, 103, 104); und einer Rückkopplungseinrichtung (200), die mit der Vorwärtskopplungseinrichtung gekoppelt ist und folgende Merkmale aufweist: eine erste Kombinationseinrichtung (201) zum Kombinieren von Zuständen von Speicherzellen, um eine erste Rückkopplungseigenschaft zu erreichen; eine zweite Kombinationseinrichtung (202) zum Kombinieren von Zuständen von Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen, die sich von der ersten Rückkopplungseigenschaft unterscheidet; und einen Umschalter (203) zum Aktivieren der ersten Rückkopplungseigenschaft in einem ersten Umschaltzustand und zum Aktivieren der zweiten Rückkopplungseigenschaft in einem zweiten Umschaltzustand, wobei der Umschalter (203) einen Steuereingang (204) zum Erhalten eines Steuersignals (z) von einer externen Steuerung (210) aufweist, und wobei der Umschalter (203) ausgebildet ist, um an sprechend auf das Steuersignal in den ersten oder den zweiten Umschaltzustand versetzt zu werden.A random number generator having the following features: a feedforward device having a plurality of memory cells connected in series with each other ( 100 . 101 . 102 . 103 . 104 ); and a feedback device ( 200 ) coupled to the feedforward device and comprising: a first combination device ( 201 ) for combining states of memory cells to achieve a first feedback characteristic; a second combination device ( 202 ) for combining states of memory cells to achieve a second feedback characteristic different from the first feedback characteristic; and a switch ( 203 ) for activating the first feedback characteristic in a first switching state and for activating the second feedback characteristic in a second switching state, wherein the switch ( 203 ) a control input ( 204 ) for obtaining a control signal (z) from an external controller ( 210 ), and wherein the switch ( 203 ) is adapted to be in response to the control signal in the first or the second switching state. Zufallszahlengenerator nach Anspruch 1, bei dem die erste Kombinationseinrichtung (201) oder die zweite Kombinationseinrichtung (202) ein UND-Gatter zum UND-Verknüpfen von zwei Zuständen der Mehrzahl von Speicherzellen aufweist.Random number generator according to Claim 1, in which the first combination means ( 201 ) or the second combination device ( 202 ) has an AND gate for ANDing two states of the plurality of memory cells. Zufallszahlengenerator nach Anspruch 1 oder 2, bei dem die erste Kombinationseinrichtung (201) und die zweite Kombinationseinrichtung (202) so ausgebildet sind, dass die erste Rückkopplungseigenschaft oder die zweite Rückkopplungseigenschaft nicht linear sind.Random number generator according to Claim 1 or 2, in which the first combination means ( 201 ) and the second combination device ( 202 ) are formed so that the first feedback characteristic or the second feedback characteristic is not linear. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem das Steuersignal eine Steuerperiodendauer hat, und wobei der Zufallszahlengenerator ferner folgendes Merkmal aufweist: eine Takteinrichtung zum Takten der Vorwärtskopplungseinrichtung mit einem Takt, der eine Taktperiodendauer hat, wobei die Taktperiodendauer kleiner als die Steuerperiodendauer ist.A random number generator according to any one of the preceding claims, wherein the control signal has a control period, and wherein the random number generator further comprises: a clock means for clocking the feedforward means with a clock having a clock period, the clock period being smaller as the tax period is. Zufallszahlengenerator nach Anspruch 4, bei dem die Steuerperiodendauer wenigstens zwanzigmal so groß ist wie die Taktperiodendauer.Random number generator according to claim 4, wherein the Control period is at least twenty times as large as the clock period. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, der einen Ausgang aufweist, der mit einem Ausgang einer Speicherzelle oder mit der ersten oder zweiten Kombinationseinrichtung gekoppelt ist, wobei der Ausgang, an dem im Betrieb des Zufallszahlengenerators eine Ausgabefolge erzeugbar ist, mit einem Schlüsseleingang einer Verschlüsselungseinrichtung oder einer Entschlüsselungseinrichtung gekoppelt ist.Random number generator after one of the preceding ones Claims, having an output connected to an output of a memory cell or is coupled to the first or second combination means, the output at which in the operation of the random number generator an output sequence can be generated, with a key input of an encryption device or a decryption device is coupled. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die erste Kombinationseinrichtung (201) und die zweite Kombinationseinrichtung (202) wenigstens ein gemeinsames Logik-Gatter (212, 214) aufweisen.Random number generator according to one of the preceding claims, in which the first combination means ( 201 ) and the second combination device ( 202 ) at least one common logic gate ( 212 . 214 ) exhibit. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die erste Kombinationseinrichtung (201) und die zweite Kombinationseinrichtung (202) Logik-Gatter aufweisen, wobei wenigstens die Hälfte der Logik-Gatter in der ersten Kombinationseinrichtung auch in der zweiten Kombinationseinrichtung enthalten sind.Random number generator according to one of the preceding claims, in which the first combination means ( 201 ) and the second combination device ( 202 ) Logic gates, wherein at least half of the logic gates in the first combination means are also included in the second combination means. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die Rückkopplungseinrichtung (200) ausgebildet ist, um Zustände einer Anzahl von Speicherzellen in der Vorwärtskopplungseinrichtung zu verwenden, wobei die Anzahl höchstens halb so groß ist wie eine gesamte Anzahl von Speicherzellen in der Vorwärtskopplungseinrichtung.Random number generator according to one of the preceding claims, in which the feedback device ( 200 ) is adapted to use states of a number of memory cells in the feedforward means, the number being at most half as large as a total number of memory cells in the feedforward means. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die erste Kombinationseinrichtung und die zweite Kombinationseinrichtung Logikelemente aufweisen, die aus der Gruppe ausgewählt sind, die ein UND-Gatter, ein XOR-Gatter, ein NAND-Gatter, ein OR-Gatter, ein NOR-Gatter, einen Invertierer oder ein XNOR-Gatter umfasst.Random number generator after one of the preceding ones Claims, wherein the first combination means and the second combination means Have logic elements selected from the group the an AND gate, an XOR gate, a NAND gate, an OR gate, a NOR gate, an inverter or an XNOR gate. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, der ferner folgendes Merkmal aufweist: eine Zufallszahlenausgabeeinrichtung (106), die ausgebildet ist, um Zustände einer Gruppe von wenigstens zwei Speicherzellen zu kombinieren, um eine Ausgabefolge zu erhalten.A random number generator according to any one of the preceding claims, further comprising: a random number output device ( 106 ) configured to combine states of a group of at least two memory cells to obtain an output sequence. Zufallszahlengenerator nach Anspruch 11, bei dem die Zufallszahlenausgabeeinrichtung (106) ausgebildet ist, um Zustände von einer zweiten Gruppe von Speicherzellen zu kombinieren, um eine zweite Ausgabefolge zu erhalten, wobei sich die zweite Gruppe von der ersten Gruppe unterscheidet.Random number generator according to Claim 11, in which the random number output device ( 106 ) is configured to combine states of a second group of memory cells to obtain a second output sequence, the second group being different from the first group. Zufallszahlengenerator nach Anspruch 11 oder 12, bei dem die Zufallszahlenausgabeeinrichtung (106) ausgebildet ist, um Zustände der Gruppe von wenigstens zwei Speicherzellen gemäß einer ersten Kombinationsvorschrift zu kombinieren, um die Ausgabefolge zu erhalten, und um die Zustände der Gruppe von Speicherzellen ferner gemäß einer zweiten Kombinationsvorschrift zu kombinieren, wobei sich die zweite Kombinationsvorschrift von der ersten Kombinationsvorschrift unterscheidet.Random number generator according to Claim 11 or 12, in which the random number output device ( 106 ) is arranged to combine states of the group of at least two memory cells according to a first combination rule to obtain the output sequence, and to further combine the states of the group of memory cells according to a second combination rule, wherein the second combination rule is from the first combination rule different. Zufallszahlengenerator nach einem der Ansprüche 11 bis 13, bei dem eine Anzahl N von Speicherzellen vorgesehen ist; und bei dem die Zufallszahlenausgabeeinrichtung (106) ausgebildet ist, um eine Anzahl M von Ausgabefolgen zu erzeugen, wobei die Anzahl M größer als die Anzahl N ist, und wobei sich die M Ausgabefolgen voneinander aufgrund der ihnen zugrunde liegenden Gruppen von Speicherzellen oder der ihnen zugrunde liegenden Kombinationsvorschriften voneinander unterscheiden.A random number generator according to any one of claims 11 to 13, wherein a number N of memory cells is provided; and in which the random number output device ( 106 ) is adapted to generate a number M of output sequences, wherein the number M is greater than the number N, and wherein the M output sequences differ from each other due to their underlying groups of memory cells or their underlying combination rules. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die Rückkopplungseinrichtung (105) mit der Mehrzahl von Speicherzellen so gekoppelt ist, dass die Rückkopplungseinrichtung (105) als Eingabe einen Zustand einer in Verarbeitungsrichtung vorne angeordneten Speicherzelle enthält, und das Rückkopplungssignal in eine in Verarbeitungsrichtung hinten angeordnete Speicherzelle einspeist.Random number generator according to one of the preceding claims, in which the feedback device ( 105 ) is coupled to the plurality of memory cells such that the feedback device ( 105 ) contains as input a state of a forward-facing memory cell, and feeds the feedback signal into a downstream memory cell. Zufallszahlengenerator nach einem der vorhergehenden Ansprüche, bei dem die Anzahl von Speicherzellen eine Primzahl ist.Random number generator after one of the preceding ones Claims, where the number of memory cells is a prime number. Zufallszahlengenerator nach einem der Ansprüche 11 bis 14, bei dem die Zufallszahlenausgabeeinrichtung (106) ein XOR-Gatter zum Kombinieren von Zuständen von Speicherzellen einer Gruppe aufweist.Random number generator according to one of Claims 11 to 14, in which the random number output device ( 106 ) has an XOR gate for combining states of memory cells of a group. Busverschlüsselungsvorrichtung mit folgenden Merkmalen: einem Bus mit einer Anzahl N von parallelen Busleitungen; für jede Busleitung, eine Verschlüsselungs- oder Entschlüsselungseinrichtung zum Verschlüsseln oder Entschlüsseln eines Signals auf der Busleitung unter Verwendung eines Schlüssels für die Busleitung; einen Zufallszahlengenerator mit einer Mehrzahl von seriell angeordneten Speicherzellen, einer Rückkopplungseinrichtung zum Erzeugen eines Rückkopplungssignals und zum Einspeisen des Rückkopplungssignals in eine der Speicherzellen, wobei die Rückkopplungseinrichtung eine erste Kombinationseinrichtung (201) zum Kombinieren von Zuständen von Speicherzellen, um eine erste Rückkopplungseigenschaft zu erreichen, eine zweite Kombinationseinrichtung (202) zum Kombinieren von Zuständen von Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen, die sich von der ersten Rückkopplungseigenschaft unterscheidet, und einen Umschalter (203) zum Aktivieren der ersten Rückkopplungseigenschaft in einem ersten Umschaltzustand und zum Aktivieren der zweiten Rückkopplungseigenschaft in einem zweiten Umschaltzustand aufweist, wobei der Umschalter (203) einen Steuereingang (204) zum Erhalten eines Steuersignals (z) von einer externen Steuerung (210) aufweist, und wobei der Umschalter (203) ausgebildet ist, um ansprechend auf das Steuersignal in den ersten oder den zweiten Umschaltzustand versetzt zu werden.A bus encryption device comprising: a bus having a number N of parallel bus lines; for each bus, encryption or decryption means for encrypting or decrypting a signal on the bus using a key for the bus; a random number generator having a plurality of serially arranged memory cells, a feedback device for generating a feedback signal and for feeding the feedback signal into one of the memory cells, wherein the feedback device comprises a first combination device ( 201 ) for combining states of memory cells to achieve a first feedback characteristic, a second combination means ( 202 ) for combining states of memory cells to achieve a second feedback characteristic different from the first feedback characteristic and a switch 203 ) for activating the first feedback characteristic in a first switching state and for activating the second feedback characteristic in a second switching state, wherein the switch ( 203 ) a control input ( 204 ) for obtaining a control signal (z) from an external controller ( 210 ), and wherein the switch ( 203 ) is adapted to be placed in the first or the second switching state in response to the control signal. Busverschlüsselungseinrichtung nach Anspruch 18, bei der der Zufallszahlengenerator folgendes Merkmal aufweist: eine Zufallszahlenausgabeeinrichtung (106), wobei die Zufallszahlenausgabeeinrichtung (106) ausgebildet ist, um für jede Busleitung durch Kombination von Zuständen einer Gruppe von Speicherzellen eine Ausgabefolge zu erzeugen und zu einer Einrichtung zum Entschlüsseln oder Verschlüsseln für die Busleitung zuzuführen, wobei die Zufallszahlenausgabeeinrichtung (106) ausgebildet ist, so dass für jede Busleitung eine Gruppe von Speicherzellen vorgesehen ist, die sich von einer Gruppe von Speicherzellen unterscheidet, die für eine andere Busleitung vorgesehen ist.A bus encryption device according to claim 18, wherein the random number generator comprises: a random number output device ( 106 ), wherein the random number output device ( 106 ) is adapted to generate for each bus by combining states of a group of memory cells an output sequence and to supply to a device for decrypting or encrypting for the bus, wherein the random number output device ( 106 ) is formed, so that for each bus line, a group of memory cells is provided, which is different from a group of memory cells, which is provided for a different bus line. Verfahren zum Erzeugen von Zufallszahlen mit einem Zufallszahlengenerator, der eine Vorwärtskopplungseinrichtung mit einer Mehrzahl von in Serie zueinander geschalteten Speicherzellen und eine Rückkopplungseinrichtung aufweist, die mit der Vorwärtskopplungseinrichtung gekoppelt ist, mit folgenden Schritten: Aktivieren einer ersten Kombinationseinrichtung zum Kombinieren von Zuständen von Speicherzellen gemäß einer ersten Rückkopplungseigenschaft; und alternativ zum Aktivieren der ersten Kombinationseinrichtung, Aktivieren einer zweiten Kombinationseinrichtung zum Kombinieren von Zuständen von Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen, die sich von der ersten Rückkopplungseigenschaft unterscheidet, wobei der Schritt des Aktivierens der ersten Kombinationseinrichtung und der Schritt des Aktivierens einer zweiten Kombinationseinrichtung abhängig von einem Steu ersignal durchgeführt werden, das von einer externen Steuerung geliefert wird.Method for generating random numbers with a Random number generator comprising a feedforward means a plurality of series-connected memory cells and a feedback device having, with the feedforward device is coupled, with the following steps: Activate a first A combination device for combining states of memory cells according to a first feedback property; and alternatively to activate the first combination device, Activating a second combination means for combining of states of memory cells to achieve a second feedback characteristic, which differs from the first feedback property different, wherein the step of activating the first Combining means and the step of activating a second Combination device dependent performed by a control signal which is supplied by an external controller. Computerprogramm mit einem Programmcode zum Ausführen des Verfahrens zum Erzeugen von Zufallszahlen gemäß Patentanspruch 20, wenn das Programm auf einem Computer abläuft.Computer program with a program code for executing the Method for generating random numbers according to claim 20, when the Program runs on a computer.
DE200410013481 2004-03-18 2004-03-18 Random number generator and method for generating random numbers with external refresh Expired - Fee Related DE102004013481B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410013481 DE102004013481B4 (en) 2004-03-18 2004-03-18 Random number generator and method for generating random numbers with external refresh

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410013481 DE102004013481B4 (en) 2004-03-18 2004-03-18 Random number generator and method for generating random numbers with external refresh

Publications (2)

Publication Number Publication Date
DE102004013481A1 true DE102004013481A1 (en) 2005-10-13
DE102004013481B4 DE102004013481B4 (en) 2013-01-24

Family

ID=34982802

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410013481 Expired - Fee Related DE102004013481B4 (en) 2004-03-18 2004-03-18 Random number generator and method for generating random numbers with external refresh

Country Status (1)

Country Link
DE (1) DE102004013481B4 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276067A (en) * 1993-03-18 1994-09-30 Anritsu Corp Pseudo-random signal generating device
US5365585A (en) * 1993-08-30 1994-11-15 Motorola, Inc. Method and apparatus for encryption having a feedback register with selectable taps
DE4409341A1 (en) * 1994-03-18 1995-09-21 Sel Alcatel Ag Pseudo-random sequence generator with fed back shift register
WO1999059246A1 (en) * 1998-05-11 1999-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Sequence generator

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04250713A (en) * 1991-01-28 1992-09-07 Hitachi Ltd M series generating circuit
US6763363B1 (en) * 1999-12-02 2004-07-13 Honeywell International Inc. Computer efficient linear feedback shift register
US7571200B2 (en) * 2002-04-24 2009-08-04 Hewlett-Packard Development Company, L.P. Seedable pseudo-random number generator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276067A (en) * 1993-03-18 1994-09-30 Anritsu Corp Pseudo-random signal generating device
US5365585A (en) * 1993-08-30 1994-11-15 Motorola, Inc. Method and apparatus for encryption having a feedback register with selectable taps
DE4409341A1 (en) * 1994-03-18 1995-09-21 Sel Alcatel Ag Pseudo-random sequence generator with fed back shift register
WO1999059246A1 (en) * 1998-05-11 1999-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Sequence generator

Also Published As

Publication number Publication date
DE102004013481B4 (en) 2013-01-24

Similar Documents

Publication Publication Date Title
DE10357782B3 (en) Random number generator for cryptographic applications e.g. for chip card, has intermediate condition of pseudo-random number generator stored in memory as initializing information
DE10339999B4 (en) Pseudorandom number generator
DE10347455B4 (en) Pseudo-random number generator for a stream cipher
DE102004047425B4 (en) Random number generator and method for generating random numbers
DE10201449C1 (en) Arithmetic unit, method for performing an operation with an encrypted operand, carry select adder and cryptography processor
DE102005010779B4 (en) Key disposition device and system for encrypting / decrypting data
DE102004013480B4 (en) Random number generator and method for generating random numbers
EP1342148A2 (en) Cryptographic processor
DE102015110431A1 (en) Cryptographic processor, method for implementing a cryptographic processor and key generation circuit
EP2446580B1 (en) Apparatus and method for forming a signature
DE102008057907B4 (en) Control a pseudo-random number generator and a consumer circuit coupled thereto
DE102009007246A1 (en) Pseudo-random number generator and method for generating a pseudorandom number bit sequence
EP3215931B1 (en) Device and method for multiplication for impeding side-channel attacks
DE60004409T2 (en) Circuit and method for generating random numbers
DE102004037814B4 (en) Apparatus and method for generating a sequence of numbers
DE102004013481B4 (en) Random number generator and method for generating random numbers with external refresh
DE10250831B3 (en) Device and method for generating a pseudorandom sequence of numbers
DE10224742B4 (en) Data processing circuit and method for transmitting data
DE10319508B4 (en) Apparatus and method for generating a sequence of numbers
DE60302249T2 (en) AES MIXCOLUMN TRANSFORMATION
DE102004042756B3 (en) Method of generating pseudo random numbers using shift registers and feedback coupled inputs
DE10303723B4 (en) Apparatus and method for calculating encrypted data from unencrypted data or unencrypted data from encrypted data
DE102022102594A1 (en) INTEGRATED CIRCUIT FOR GENERATION OF RANDOM VECTORS
DE10136575B4 (en) Method and device for executing scrambler mechanisms
DE4409341A1 (en) Pseudo-random sequence generator with fed back shift register

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R018 Grant decision by examination section/examining division
R082 Change of representative
R020 Patent grant now final

Effective date: 20130425

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