DE102004013481B4 - Random number generator and method for generating random numbers with external refresh - Google Patents

Random number generator and method for generating random numbers with external refresh Download PDF

Info

Publication number
DE102004013481B4
DE102004013481B4 DE200410013481 DE102004013481A DE102004013481B4 DE 102004013481 B4 DE102004013481 B4 DE 102004013481B4 DE 200410013481 DE200410013481 DE 200410013481 DE 102004013481 A DE102004013481 A DE 102004013481A DE 102004013481 B4 DE102004013481 B4 DE 102004013481B4
Authority
DE
Germany
Prior art keywords
random number
feedback
memory cells
number generator
output
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.)
Expired - Fee Related
Application number
DE200410013481
Other languages
German (de)
Other versions
DE102004013481A1 (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

Images

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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

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 Ste(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, wobei die Steuerung (210) ein externer Zufallszahlengenerator...A random number generator comprising: a feedforward means having a plurality of memory cells (100, 101, 102, 103, 104) connected in series with each other; and feedback means (200) coupled to the feedforward means and comprising: first combining means (201) for combining states of memory cells to achieve a first feedback characteristic; second combining means (202) for combining states of memory cells to achieve a second feedback characteristic different from the first feedback characteristic; and a changeover 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 changeover switch (203) has a sense (z) from an external controller (210), and wherein the changeover switch (203) is adapted to be placed in the first or second switching state in response to the control signal, the controller (210) being an external random number generator.

Description

Die vorliegende Erfindung bezieht sich auf Pseudozufallszahlengeneratoren und insbesondere auf Pseudozufallszahlengeneratoren, die für Schlüsselgeneratoren bei der Busverschlüsselung geeignet sind.The present invention relates to pseudorandom number generators, and more particularly to pseudorandom number generators suitable for key generators in bus encryption.

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.In addition, there are irregularly clocked LFSRs. These show a somewhat increased hardware expenditure at a mostly lower period. However, the linear complexity can be significantly higher. A disadvantage of such irregularly clocked devices, however, is the fact that due to the irregular clocking by current measurement in the context of a SPA (SPA = Simple Power Analysis) could in principle be concluded on the output sequence. By using the shift register devices as parts of key generators that generate inherently secret data, key data, it is particularly important to them that they are secure against any type of cryptographic attack.

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 vertretbarer 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. With regard to 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 within 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 can.

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 pseudo-random sequence of numbers thus consists on the one hand to be safe and on the other hand to take up as little space as possible, that is to have the least possible hardware effort.

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. The bus start may be, for example, 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. Alternatively, the bus start may of course also 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 enthält, und das an seinem zweiten Eingang ein Schlüsselbit k1 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 contains at its first input a message bit m i to be encrypted, and which receives at its second input a key bit k 1 , 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 c1 aufgrund der Übertragung über einen Bus einer bestimmten Länge „erleidet” – synchron laufen.When bus encryption is thus, as it is in 13 2, 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 that "suffers" the encrypted bit c 1 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üsselfolge zum Verschlüsseln der siebten Busleitung verwendet wird, etc.So far, a key sequence generator has been used as a shift register. Since a bus consists of several bus lines, such as 32 bus lines, each bus line is to be supplied with a key sequence. This problem can be solved by providing a memory cell in a feedback shift register for each bus, and providing the state of each memory cell - as viewed over time - to the encryption input of a bus encryptor / bus descrambler. This means that, for example, the state of the seventh memory cell over time serves as a key sequence for encryption of the eighth bus line, that, for example, the state of the sixth memory cell over time is used as a key sequence for encrypting the seventh bus line, 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 being used for the encryption of a corresponding bus line.

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.However, this means that essentially the same key sequence was always used for the encryption of all bus lines, since the individual key sequences are only shifted versions of one and the same shift register sequence.

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.For security reasons, this is of course disadvantageous in that the attacker, if he has determined a key sequence, with this one 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.Another disadvantage is that shift registers are needed which have at least as many cells as bus lines are to supply. For a 32-bit bus, a shift register with at least 32 shift register cells is 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 described concept is thus disadvantageous in that the security of the encryption is critical, since all bus lines are encrypted with the same sequence, which is only shifted in time, and in addition there is an efficiency problem with regard to chip area consumption, since at least as much Memory cells are needed as bus lines are present.

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.In particular with regard to the chip area requirement, it should be noted that this represents a very considerable cost factor for products offered in large quantities.

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 more restrictive requirements for the chip area requirement, in particular for chip card applications, since the size of a chip is predetermined by the user, ie the chip card manufacturer. Typically, the chipmaker has the option according to his needs, the available chip area on logic elements, memory elements, etc. split. 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 as a whole, 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 registers that generate key sequences, which are pseudo-random number generators, can be "refreshed" by a random number generator (RNG) pulse at more or less regular intervals. This is understood to mean that the content of a cell of the shift register is complemented upon the arrival of the random number generator pulse depending on the random number generator pulse or not. Alternatively, the random number generator or any other control generator can simply send a pulse that always complements, which also causes the feedback shift register to switch to a different 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 Zufallszahlengenerators, 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 clocked much higher than the random number generator, for example at 33 MHz versus 50 kHz. This means that the output sequence of the random number generator, which has a feedback shift register, has a clock frequency of 33 MHz, while the random number generator only sends a signal with a frequency of 50 kHz. This means that only after 600 to 700 shift register clocks does a pulse from the random number generator arrive.

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”.This allows an attacker to repeatedly observe and log large portions of the period of the shift register. Thus, for an attacker, there is at least one possibility of evaluating the data in order to draw conclusions about the shift register via this evaluation, in order, for. B. to "crack" a bus encryption.

Das US-Patent Nr. 5,365,585 offenbart einen Pseudozufallszahlengenerator mit einem Rückkopplungsregister, das eine vorbestimmte Anzahl von Bits speichert, wobei ein Ausgang einer Speicherstelle den Ausgang des Pseudozufallszahlengenerator darstellt, während ein Eingang an einer anderen Speicherstelle mit einem Umschalter gekoppelt ist. Abhängig von einer UND-Verknüpfung der Zustände der ersten beiden Bits wird entweder ein erstes lineares Rückkopplungspolynom oder ein zweites lineares Rückkopplungspolynom verwendet, um eine Ausgangsfolge zu liefern. Zusätzlich kann zum Umschalten ein Ausgangssignal eines Schieberegisters mit linearer Rückkopplung, ein Taktinitialisierungssignal oder ein zellulares Automaton verwendet werden. Außerdem kann ein Wert aus einer Zugriffstabelle verwendet werden, die durch eine Mehrzahl von Bits des Schieberegisters adressiert wird.The U.S. Patent No. 5,365,585 discloses a pseudo-random number generator having a feedback register storing a predetermined number of bits, an output of a memory location representing the output of the pseudo-random number generator, while an input at another memory location is coupled to a switch. Depending on an ANDing of the states of the first two bits, either a first linear feedback polynomial or a second linear feedback polynomial is used to provide an output sequence. In addition, an output of a linear feedback shift register, a clock initialization signal or a cellular automaton may be used for switching. In addition, a value from an access table addressed by a plurality of bits of the shift register may be used.

Die JP 06276067 A offenbart eine Pseudozufallszahlensignalerzeugungsvorrichtung mit rückgekoppelten Schieberegistern. Im Rückkopplungspfad ist ein XOR-Gatter vorgesehen. Eingänge des XOR-Gatters werden von zwei taktgesteuerten Elementen geliefert.The JP 06276067 A discloses a pseudorandom number signal generating device with feedback shift registers. In the feedback path, an XOR gate is provided. Inputs to the XOR gate are supplied by two clock-controlled elements.

Die WO 99/59246 A1 offenbart einen Sequenzgenerator zum Erzeugen von Sequenzen von binären oder diskreten Werten. Eine erste Auswahleinrichtung wählt Schieberegisterspeicherpositionen als Rückkopplungsposition zum Erzeugen eines Rückkopplungssignals aus. Eine zweite Auswahleinrichtung ist vorgesehen, um Schieberegisterspeicherpositionen als Einspeisepositionen zum Empfangen des Kopplungssignals auszuwählen. Diese beiden Auswahleinrichtungen werden zur flexiblen Konfiguration des Sequenzgenerators eingesetzt und hierzu von einer Steuereinrichtung vor einer Anwendung eingestellt.The WO 99/59246 A1 discloses a sequence generator for generating sequences of binary or discrete values. A first selector selects shift register storage positions as a feedback position to generate a feedback signal. A second selector is provided for selecting shift register storage positions as supply positions for receiving the coupling signal. These two selection devices are used for the flexible configuration of the sequence generator and for this purpose set by a control device before an application.

Die DE 440 9341 A1 offenbart einen Pseudozufallsgenerator mit einem einzigen rückgekoppelten Schieberegister. Die Rückkoppelungsfunktion für das rückgekoppelte Schieberegister wird durch eine kombinatorische Logik realisiert, welche Steuersignale mit einem Schieberegister-Ausgangsvektor kombiniert, um das Rückkopplungssignal zu erhalten.The DE 440 9341 A1 discloses a pseudo-random generator with a single feedback shift register. The feedback function for the feedback shift register is implemented by combinational logic which combines control signals with a shift register output vector to obtain the feedback signal.

Die JP 04250713 A offenbart eine Schaltung zum Erzeugen von M Folgen. Zu diesem Zweck ist eine Folge von Speicherzellen mit linearer Rückkopplung vorgesehen. Ausgänge der Speicherzellen werden über XOR-Gatter in unterschiedlichen Varianten verknüpft, um bis zu acht Ausgangsfolgen zu erzeugen. Jede Ausgangsfolge wird mit einem Signal auf einer entsprechenden Leitung XOR-verknüpft.The JP 04250713 A discloses a circuit for generating M sequences. For this purpose, a series of memory cells with linear feedback is provided. Outputs of the memory cells are linked via XOR gates in different variants to produce up to eight output sequences. Each output sequence is XORed with a signal on a corresponding line.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein sicheres Konzept zum Erzeugen einer Zufallszahl zu schaffen.The object of the present invention is to provide a secure concept for generating 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 19 oder ein Computerprogramm nach Patentanspruch 20 gelöst.This object is achieved 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 19 or a computer program according to claim 20.

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ückgekoppeltes 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.The present invention is based on the finding that a more secure concept for generating random numbers is obtained by using the refresh pulse, the every 600 to 700 cycles of the feedback shift register is selectively applied to the feedback device is intervened to implement depending on the refresh signal either a first feedback characteristic or to implement a second feedback characteristic which is different from the first feedback characteristic. As a result, the feedback pulse effectively replaces a feedback shift register with the other feedback shift register, since a different feedback characteristic is selected, the feedback characteristic being exactly what constitutes 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 pulse from the random number generator is used to affect the feedback logic. The incoming pulse changes the feedback function so that it has to do with another shift register. Only when the next random number generator pulse arrives, the possibility exists in the first place that the change is reversed again, this being done, depending on the circumstances, either whenever the pulse occurs, or only when a pulse is being made 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, the random number generator pulse thus influences the feedback function and upon the arrival of the random number generator pulse, the feedback function of the shift register is converted into another, but also preferably generates maximum periodic sequences of high linear complexity. Upon re-arrival of a random number generator pulse, the old feedback function is restored.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:Preferred embodiments of the present invention will be explained below in detail with reference to the accompanying drawings. 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 FIG 1 is designated has. The feedback device 200 also includes a second one combiner 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ätzliche 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, wherein the switch is adapted to z. B. whenever a zero is present, to take 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 be designed to always, if a zero in the control signal z, z. B. to cause no switching and whenever a one in the control signal, to effect a switch or vice versa. If the signal is provided by the random number generator as a random signal, then an additional randomness can be introduced into one or more output sequences of the random number generator.

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. Moreover, it is preferred that the feedback logic to achieve F (x) and G (x) be only slightly different from each other, or in general, to share at least one or more gates together.

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, wobei 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 region of the two equations F (x) and G (x) show the part x 1 x 4 + x 0 used in common by both feedback properties, this sharing of this term serving 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 includes 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, so to speak, "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 Zufallszahlenausgabeeinrichtung 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 indicate the states of a group of at least two memory cells with each other, preferably by XOR gate to combine with each other, as for example in 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 of not supplying the output sequences from the individual Schiebergisterzellen directly to the individual bus lines, but previously with each other z. B. by adding modulo 2, has an important consequence. It is now possible to supply all bus lines with different encryption sequences, wherein the different encryption sequences can be derived from a shift register which contains fewer memory cells than there are bus lines. For example, a 32-bit wide bus of a chip is served by a shift register containing only 11 memory cells.

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 includes, 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 combine sequences of random numbers into buffers, 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 Zustand 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) is input to the feedback, while in the case of the second feedback characteristic, 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 mentioned values is 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.In addition, values of the memory devices SE1 and SEn need not be supplied directly to a combination device in the feedback device, but these values may be, for. B. be inverted, combined with each other or in any other way z. For example, they may be processed nonlinearly before being fed to processed values of a combiner.

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 Speichereinrichtungen 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 a device for generating a pseudorandom sequence of numbers is obtained. which has a feedback device whose feedback characteristic is not static, but is dynamically variable depending on the feedforward device and in particular on one or more states in memory units of the feedforward device.

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.For example, the control signal may be a true random number sequence, such that the output sequence of the shift register arrangement is a random number sequence. The control signal can also be a deterministic control signal, so that on the output side a pseudorandom number sequence is obtained.

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 is referred to 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 is indicated. 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 8 + 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 8 + 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 has been found that the linear complexities of sequences obtained according to the invention are high, namely between 234 and 254, when the shift register 8th Has flip flops. It should be noted that the period length of a sequence generated by any eight-stage shift register may be at most 255. The maximum value for the linear complexity of such a sequence is 254.

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 which is a sequence of period length 255 and the linear complexity 8th can generate. In contrast, much more shift registers - namely 2020 - according to the present invention, exist the sequences of the period length 255 can produce according to 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ückkopplungseinrichtung 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 coming from the feedback device 8th With variable feedback characteristic is tapped. Of course, could the signal for the controller also signalflußmäßig after the XOR gate 21 Be tapped. 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. For signal processing reasons, 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. Thus, no corresponding output stages for logic gates must be generated when the outputs of the logic gates themselves control signals or output signals are tapped.

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, then the decision block is answered "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 relabeling 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 should be understood that this method may be performed using a regular clock, or even using an irregular clock, although the regular clock variant is preferred for better security against power or time attacks.

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. 5, it should be 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 that is 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 to 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 intended, wherein the first control device 13 between the memory cell 2 and 3 is switched while the second control device 60 between the memory cell 3 and (via the feedback device 14 ) of the memory cell 2 is switched. 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 one 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 gezeigten 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, and 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 In the embodiment shown, the output sequence of the fourth cell D4 represents the second pseudorandom 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 being designed to include at least one nonzero value for a memory element so that the shift register effectively "starts up" and does not output eight null sequences at the eight outputs. Then, when this condition is met, all eight sequences are maximally periodic, ie, have a period length of 255. Further, each of the eight output sequences has at the in 10 embodiment shown the maximum linear complexity 254 , Moreover, as stated, 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 feedforward device and with a Feedback device labeled 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, D1, ..., Dn-1 und der (elektronischen) Realisierung einer Rückkopplungsfunktion F(x0, xi, ..., 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 1 , ..., D n-1 and the (electronic) realization of a feedback function F (x 0 , x i , ..., 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 Inhalte 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 is moved to the left adjacent cell D j -1. 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 , s t + 1 ..., s t + n-2 , s t + n-1 .

Dann enthalten die Speicherzellen einen Uhrentakt später, also zum Zeitpunkt t + 1, die Bits st+1, st+2, ..., st+n-1, st+n, wobei der in der Zelle Dn-1 eingeflossene Wert st+n gegeben 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 + 1 , 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 completely determine the shift register sequence. 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 sD = 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, ie if F (0, 0, ..., 0) = 0. A homogeneous, in the initial state s = s D 1 = ... = s n-1 = 0 offset shift register produces the null 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 00340001
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 00340001
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 a1 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 feed-back 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 × 0 + a 1 × 1 + ... + a n-1 × n-1 , where the occurring coefficients a 1 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 feed-back 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).An n-stage linear feedback shift register is usually characterized by a binary polynomial f (x) of degree n in a variable x. This polynomial f is called the characteristic polynomial of the linear feedback shift register. For the shift register write then 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 NOT-Funktion. Die nicht-lineare Funktion könnte jedoch auch irgendeine andere Funktion sein, beispielsweise eine nicht-lineare Zuordnungsfunktion oder eine kryptographische Funktion.The nonlinearity of the feedback function can thus be determined by relatively arbitrary Embodiments of the feedback function F are performed. 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 NOT 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 can be 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, which may interact with a programmable computer system such that the method is performed. In general, the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention, when the computer program product runs on a computer. In other words, the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

11
VorwärtskopplungseinrichtungFeedforward means
22
Speichereinrichtungmemory device
33
Speichereinrichtungmemory device
44
Speichereinrichtungmemory device
55
Speichereinrichtungmemory device
66
Eingang der VorwärtskopplungseinrichtungInput of the feedforward device
77
Ausgang der VorwärtskopplungseinrichtungOutput of the feedforward device
88th
RückkopplungseinrichtungFeedback means
99
erste Rückkopplungseigenschaftfirst feedback property
1010
zweite Rückkopplungseigenschaftsecond feedback property
1111
Auswahleinrichtungselector
1212
Steuerleitung für die AuswahleinrichtungControl line for the selection device
1313
erste Steuereinrichtungfirst control device
13a13a
Steuereingang der ersten SteuereinrichtungControl input of the first control device
1414
RückkopplungseinrichtungFeedback means
14a14a
Abzweigungspunktbranching point
1515
Ausgang für die zweite FolgeExit 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 operation
5858
zweite ODER-Verknüpfungsecond OR operation
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 der VorwärtskopplungseinrichtungSignal flow direction in the feedforward device
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 combination device
202202
zweite Kombinationseinrichtungsecond combination device
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
508508
Busverschlüsselungs/Entschlüsselungs-EinheitBusverschlüsselungs / decryption unit

Claims (20)

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 ansprechend auf das Steuersignal in den ersten oder den zweiten Umschaltzustand versetzt zu werden, wobei die Steuerung (210) ein externer Zufallszahlengenerator ist, so dass als Steuersignal ein Zufallssignal geliefert wird.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 placed in the first or the second switching state in response to the control signal, wherein the controller ( 210 ) is an external random number generator, so that a random signal is supplied as a control signal. 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 duration, and wherein the random number generator further comprises a clock means for clocking the feed forward means with a clock having a clock period, the clock period being less than the control period. Zufallszahlengenerator nach Anspruch 4, bei dem die Steuerperiodendauer wenigstens zwanzigmal so groß ist wie die Taktperiodendauer.A random number generator according to claim 4, wherein the control period is at least twenty times 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 according to one of the preceding claims, having an output which is coupled to an output of a memory cell or to the first or second combination means, wherein the output at which an output sequence is generated in the operation of the random number generator, 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.A random number generator according to any one of the preceding claims, wherein the first combining means and the second combining means comprise logic elements selected from the group consisting of an AND gate, an XOR gate, a NAND gate, an OR gate, a NOR gate, 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 adapted 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 adapted to detect states of the group of at least two memory cells according to combine a first combination rule to obtain the output sequence, and further to combine the states of the group of memory cells according to a second combination rule, wherein the second combination rule differs from the first combination rule. 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.A random number generator according to any one of the preceding claims, wherein 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 folgendem Merkmalen: einem Bus mit einer Anzahl N von parallelen Busleitungen; für jede Busleitung, einer 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; einem 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, wobei die Steuerung (210) ein externer Zufallszahlengenerator ist, so dass als Steuersignal ein Zufallssignal geliefert wird, wobei der Zufallszahlengenerator ferner eine Zufallszahlenausgabeeinrichtung (106) aufweist, 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 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 comprising: 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, the feedback device comprising 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, wherein the controller ( 210 ) is an external random number generator, so that a random signal is supplied as a control signal, wherein the random number generator further 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 Steuersignal durchgeführt werden, das von einer externen Steuerung geliefert wird, wobei die Steuerung (210) ein externer Zufallszahlengenerator ist, so dass als Steuersignal ein Zufallssignal geliefert wird.A method of generating random numbers with a random number generator comprising a feedforward means having a plurality of memory cells connected in series with each other and a feedback means coupled to the feedforward means, comprising the steps of: activating a first combining means for combining states of memory cells according to a first one feedback feature; and alternatively for activating the first combining means, activating a second combining means for combining states of memory cells to achieve a second feedback characteristic different from the first feedback characteristic, the step of activating the first combining means and the step of activating a second combining means depending on a control signal supplied by an external controller, wherein the controller ( 210 ) is an external random number generator, so that a random signal is supplied as a control signal. Computerprogramm mit einem Programmcode zum Ausführen des Verfahrens zum Erzeugen von Zufallszahlen gemäß Patentanspruch 19, wenn das Programm auf einem Computer abläuft.Computer program with a program code for carrying out the method for generating Random numbers according to claim 19, when the program is run 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 DE102004013481A1 (en) 2005-10-13
DE102004013481B4 true 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 (7)

* 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
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
WO2001048594A2 (en) * 1999-12-02 2001-07-05 Honeywell, Inc. Computer efficient linear feedback shift register
US20030204541A1 (en) * 2002-04-24 2003-10-30 Hewlett Packard Company Seedable pseudo-random number generator

Patent Citations (7)

* 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
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
WO2001048594A2 (en) * 1999-12-02 2001-07-05 Honeywell, Inc. Computer efficient linear feedback shift register
US20030204541A1 (en) * 2002-04-24 2003-10-30 Hewlett Packard Company Seedable pseudo-random number generator

Also Published As

Publication number Publication date
DE102004013481A1 (en) 2005-10-13

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
DE60222052T2 (en) Encryption secured against attacks through the analysis of power consumption (DPA)
DE10347455B4 (en) Pseudo-random number generator for a stream cipher
EP1643643B1 (en) Random number generator and method for random number generation
DE69722367T2 (en) Pseudo random generator with clock selection
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
EP2446580B1 (en) Apparatus and method for forming a signature
DE102009007246A1 (en) Pseudo-random number generator and method for generating a pseudorandom number bit sequence
DE60004409T2 (en) Circuit and method for generating random numbers
EP3215931B1 (en) Device and method for multiplication for impeding side-channel attacks
DE102004013481B4 (en) Random number generator and method for generating random numbers with external refresh
DE102004037814B4 (en) Apparatus and method for generating a sequence of numbers
WO2002046912A1 (en) Method and device for generating a pseudo random sequence using a discrete logarithm
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
DE10136575B4 (en) Method and device for executing scrambler mechanisms
DE102022102594A1 (en) INTEGRATED CIRCUIT FOR GENERATION OF RANDOM VECTORS
EP1488566A1 (en) Circuit arrangement for securing information exchange between a transmitter and a receiver
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