专利摘要:
Ein Zufallszahlengenerator umfasst eine Vorwärtskopplungseinrichtung mit einer Mehrzahl von in Serie zueinander geschalteten Speicherzellen (100, 101, 102, 103, 104) sowie eine Rückkopplungseinrichtung (200), die mit der Vorwärtskopplungseinrichtung gekoppelt ist und im einzelnen eine erste Kombinationseinrichtung (201) zum Kombinieren von Zuständen von Speicherzellen, um eine erste Rückkopplungseigenschaft zu erreichen, und eine zweite Kombinationseinrichtung (202) zum Kombinieren von Zuständen von Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen, aufweist, wobei sich die zweite Rückkopplungseigenschaft von der ersten Rückkopplungseigenschaft unterscheidet. Die Rückkopplungseinrichtung umfasst ferner einen Umschalter (203) zum Aktivieren der ersten Rückkopplungseigenschaft oder der zweiten Rückkopplungseigenschaft in Abhängigkeit von einem Steuersignal (z) an einem Steuersignaleingang (204) des Umschalters (203). Damit wird durch einen Refresh-Impuls de facto das Schieberegister ausgetauscht, so dass sich Schieberegisterfolgen vor und nach einem Refresh-Impuls stark voneinander unterscheiden und weniger leicht angreifbar sind.
公开号:DE102004013481A1
申请号:DE200410013481
申请日:2004-03-18
公开日:2005-10-13
发明作者:Berndt Gammel;Rainer GÖTTFERT;Stefan RÜPING
申请人:Infineon Technologies AG;
IPC主号:G06F7-58
专利说明:
[0001] Dievorliegende Erfindung bezieht sich auf Pseudozufallszahlengeneratorenund insbesondere auf Pseudozufallszahlengeneratoren, die für Schlüsselgeneratorenbei der Busverschlüsselunggeeignet sind.
[0002] Einbekannter Zufallszahlengenerator ist in 12 dargestellt. Der Pseudozufallszahlengeneratorvon 12, der auch alslineares rückgekoppeltesSchieberegister bezeichnet wird, umfasst eine Mehrzahl von Speicherelementen 51, 52, 53, 54,die in 12 von 0 bisn durchnumeriert sind. Die Speicherzellen sind über eine Initialisierungseinrichtung 55 aufeinen Startwert initialisierbar. Die Speicherzellen 51–54 bildeninsgesamt eine Vorwärtskopplungseinrichtung,währenddas lineare Schieberegister, das durch die Speicherzellen 51–54 gebildetist, durch eine Rückkopplungseinrichtungrückgekoppelt ist,die zwischen einen Ausgang 56 der Schaltung und der Speicherzellen gekoppelt ist. Die Rückkopplungseinrichtungumfasst im einzelnen eine oder mehrere Kombinationseinrichtungen 57, 58,die von jeweiligen Rückkopplungszweigen 59a, 59b, 59c so gespeistwerden, wie es in 12 beispielhaftdargestellt ist. Der Ausgangswert der letzten Kombinationseinrichtung 58 wirdin die Speicherzelle n, die in 12 mit 54 bezeichnetist, eingespeist.
[0003] Dasin 12 gezeigte linearerückgekoppelteSchieberegister wird von einem Takt betrieben, so dass in jedemTaktzyklus die Belegung der Speicherzellen um eine Stufe Bezug nehmendauf 12 nach links geschobenwird, so dass in jedem Taktzyklus der in der Speichereinrichtung 51 gespeicherte Zustandals Zahl ausgegeben wird, währendgleichzeitig der Wert am Ausgang der letzten Kombinationseinrichtung 58 indie erste Speichereinheit n der Folge von Speichereinheiten eingespeistwird. Das in 12 dargestelltelineare rückgekoppelteSchieberegister liefert somit eine Folge von Zahlen ansprechendauf eine Folge von Taktzyklen. Die am Ausgang 56 erhalteneFolge von Zahlen hängtvon dem Startzustand ab, der durch die Initialisierungseinrichtung 55 vorInbetriebnahme des Schieberegisters hergestellt wird. Der durchdie Initialisierungseinrichtung 55 eingegebene Startwertwird auch als Keim oder Seed bezeichnet, weshalb solche in 12 dargestellte Anordnungenauch als Seed-Generatoren bezeichnet werden.
[0004] Diean dem Ausgang 56 erhaltene Folge von Zahlen wird als pseudozufällige Folgevon Zahlen bezeichnet, da die Zahlen scheinbar zufällig aufeinanderfolgen, aber insgesamt periodisch sind, obgleich die Periodendauergroß ist.Darüberhinaus ist die Folge von Zahlen eindeutig wiederholbar und damit pseudozufällig, wennder Initialisierungswert, der durch die Initialisierungseinrichtung 55 denSpeicherelementen zugeführtwird, bekannt ist. Solche Schieberegister werden beispielsweiseals Key-Stream-Generatoren eingesetzt, um einen von einem speziellenInitialisierungswert (Seed) abhängigenStrom von Ver-/Ent-Schlüsselungsschlüsseln zu liefern.
[0005] Solchein 12 dargestelltenSchieberegister haben den Nachteil einer geringen linearen Komplexität. So genügen beieinem n-Bit-LFSR (LFSR = Linear Feedback Shift Register) 2 n Bitsder Ausgabefolge, um die gesamte Folge zu berechnen. Der Vorteilsolcher in 12 dargestelltenbekannten LFSRs besteht jedoch darin, dass der Hardwareaufwand sehrgering ist.
[0006] Darüber hinausexistieren unregelmäßig getakteteLFSRs. Diese zeigen einen etwas erhöhten Hardwareaufwand bei einermeist geringeren Periode. Die lineare Komplexität kann jedoch deutlich höher sein.Ein Nachteil solcher unregelmäßig getakteterVorrichtungen ist jedoch die Tatsache, dass aufgrund der unregelmäßigen Taktungdurch Strommessung im Rahmen einer SPA (SPA = Simple Power Analysis)prinzipiell auf die Ausgabefolge geschlossen werden könnte. Indemdie Schieberegistervorrichtungen als Teile von Schlüsselgeneratorenverwendet werden, die inhärentgeheim zu haltende Daten, also Schlüsseldaten, erzeugen, ist esbei ihnen besonders wichtig, dass sie gegen jegliche Art von kryptographischenAngriffen sicher sind.
[0007] Andererseitsbesteht jedoch bei solchen Vorrichtungen insbesondere dann, wennsie auf Chipkarten untergebracht werden sollen, die Anforderung,dass der Hardwareaufwand gering sein muss. In anderen Worten ausgedrückt mussdie Chipfläche, diesolche Vorrichtungen in Anspruch nehmen, so klein als möglich sein.Dies liegt daran, dass in der Halbleiterherstellung die Chipfläche einergesamten Vorrichtung letztendlich den Preis und damit die Gewinnmargedes Chipherstellers bestimmt. Ferner ist besonders bei Chipkarten üblicherweiseeine Spezifikation so, dass ein Kunde sagt, dass ein Prozessorchipeine maximale Flächein Quadratmillimetern haben darf, auf der verschiedenartigste Funktionalitäten untergebrachtwerden müssen.Daher liegt es an dem Schaltungshersteller, diese kostbare Fläche auf dieeinzelnen Komponenten zu verteilen. Im Hinblick auf die immer komplexerwerdenden kryptographischen Algorithmen ist eine Anstrengung desChipherstellers dahingehend gerichtet, dass der Chip möglichstviel Speicher hat, um auch Arbeitsspeicher-intensive Algorithmenin ver tretbarer Zeit berechnen zu können. Die Chipfläche für Schlüsselgeneratorenund andere derartige Komponenten muss daher so klein als möglich gehaltenwerden, um auf der gegebenen Chipfläche mehr Speicher unterbringenzu können.
[0008] Diegenerelle Anforderung an Schlüsselgeneratorenbzw. Vorrichtungen zum Erzeugen einer pseudozufälligen Folge von Zahlen bestehtsomit darin, einerseits sicher zu sein und andererseits möglichstwenig Platz zu benötigen,also einen möglichst geringenHardware-Aufwand zu haben.
[0009] Zufallszahlengeneratorenkönnenbeispielsweise zur Busverschlüsselungeingesetzt werden. Hierzu wird auf 13 Bezuggenommen, welche ein herkömmlichesBusverschlüsselungskonzept zeigt.An einem Busanfang muss ein überden Bus zu übertragendesBit mi verschlüsselt werden, um während der Übertragungauf der Busleitung geschützt zusein. Dann, am Busende muss das verschlüsselte Bit wieder zurück in dasunverschlüsselteBit gebracht werden, damit das Bit mi weiterverarbeitet werdenkann. Der Busanfang kann beispielsweise der Ausgang eines Prozessorssein, währenddas Busende der Eingang in einen Speicher sein kann, in dem dasBit dann typischerweise in eine „härtere" Verschlüsselungsart umverschlüsselt wird,um schließlichim Speicher gespeichert zu werden. Alternativ kann der Busanfangnatürlichauch eine Speicher-Ausgabeschnittstellesein, und kann das Busende ein Eingang eines Prozessors sein.
[0010] Generellgeht man davon aus, dass Bits, die auf Busleitungen übertragenwerden, dort besonders gefährdetsind, so dass die Busverschlüsselungeingesetzt wird. Als typische Verschlüsselungseinrichtung wird einXOR-Gatter verwendet, das an seinem ersten Eingang ein zu verschlüsselndesNachrichtenbit mi ent hält, und das an seinem zweitenEingang ein Schlüsselbitki 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 reproduzierbarist. Typische Zufallszahlengeneratoren sind, wie es später nochausgeführtwird, rückgekoppelteSchieberegister, die ausgehend von einem definierten Anfangszustand(Seed) eine definierte Ausgangsfolge erzeugen, die eine bestimmtePeriodendauer hat.
[0011] Beider Busverschlüsselungwird somit, wie es in 13 gezeigtist, am Anfang und am Ende des Busses der selbe Schlüsselfolgengeneratoridentischer Bauart eingesetzt, wobei die Schlüsselfolgengeneratoren – abgesehenvon einer oft vernachlässigbarenVerzögerung,die das verschlüsselteBit ci aufgrund der Übertragung über einen Bus einer bestimmtenLänge „erleidet" – synchron laufen.
[0012] Bisherwurde als Schieberegister ein Schlüsselfolgengenerator verwendet.Da ein Bus aus mehreren Busleitungen besteht, wie beispielsweiseaus 32 Busleitungen, soll jede Busleitung mit einer Schlüsselfolgeversorgt werden. Dieses Problem kann dadurch gelöst werden, dass für jede Busleitungeine Speicherzelle in einem rückgekoppelten Schieberegistervorgesehen und dass der Zustand jeder Speicherzelle – über derZeit betrachtet – zum Verschlüsselungseingangeiner Busverschlüsselungseinrichtung/Busentschlüsselungseinrichtung geliefertwird. Dies bedeutet, dass beispielsweise der Zustand der siebtenSpeicherzelle überder Zeit als Schlüsselfolgezur Verschlüsselungder achten Busleitung dient, dass beispielsweise der Zustand der sechstenSpeicherzelle überder Zeit als Schlüs selfolgezum Verschlüsselnder siebten Busleitung verwendet wird, etc.
[0013] JedeZelle des Schieberegisters wird somit ausgegeben, wobei diese Ausgabefolgedann fürdie Verschlüsselungeiner entsprechenden Busleitung verwendet wird.
[0014] Diesbedeutet jedoch, dass im wesentlichen immer die selbe Schlüsselfolgezur Verschlüsselung allerBusleitungen verwendet wurde, da die einzelnen Schlüsselfolgenja nur verschobene Versionen ein und derselben Schieberegisterfolgesind.
[0015] AusSicherheitsaspekten ist dies natürlich dahingehend nachteilhaft, dass der Angreifer dann, wenn er eine Schlüsselfolgeermittelt hat, mit dieser einen Schlüsselfolge durch zeitliche Verschiebung sozusagenalle weiteren Schlüsselfolgen,mit denen die anderen Busleitungen verschlüsselt sind, automatisch erhält.
[0016] Einweiterer Nachteil besteht darin, dass Schieberegister benötigt werden,die wenigstens so viel Zellen haben, wie Busleitungen zu versorgen sind.Für einen32 Bit breiten Bus wird also ein Schieberegister mit wenigstens32 Schieberegisterzellen benötigt.
[0017] Zusammenfassendist das beschriebene Konzept somit dahin gehend nachteilhaft, dassdie Sicherheit der Verschlüsselungkritisch ist, nachdem alle Busleitungen mit der selben – nur zeitlichverschobenen – Folgeverschlüsseltsind, und dass zudem ein Effizienzproblem im Hinblick auf den Chipflächenverbrauchexistiert, da immer mindestens so viel Speicherzellen benötigt werden,wie Busleitungen vorhanden sind.
[0018] Insbesondereim Hinblick auf den Chipflächenbedarfsei darauf hingewiesen, dass dieser für in hohen Stückzahlenangebotene Produkte einen ganz erheblichen Kostenfaktor darstellt.
[0019] Nebendem Kostenfaktor existieren jedoch insbesondere auch für Chipkartenanwendungenweitere restriktive Anforderungen an den Chipflächenbedarf, da die Größe einesChips durch den Anwender, also den Chipkartenhersteller vorgegebenist. Typischerweise hat der Chiphersteller die Möglichkeit, nach seinen Bedürfnissendie zur Verfügungstehende Chipflächeauf Logikelemente, Speicherelemente etc. aufzuteilen. Aufgrund hoherRechenleistungen wird daher immer ein möglichst hoher Anteil an Arbeitsspeicherund Rechenpower benötigt,so dass, um insgesamt die Chipflächenkriterienzu erfüllen, jedeEinsparung an jedem Element, wie beispielsweise einem Schieberegister-Pseudozufallszahlengeneratorvon großerBedeutung ist.
[0020] Schieberegister,die Schlüsselfolgengenerieren, die also Pseudozufallszahlengeneratoren sind, können durcheinen Impuls von einem Zufallszahlengenerator (RNG) in mehr oderweniger regelmäßigen Abständen „refreshed" werden. Hierunter verstehtman, dass der Inhalt einer Zelle des Schieberegisters beim Eintreffendes Zufallszahlengenerator-Impulses abhängig von dem Zufallszahlengenerator-Impulskomplementiert wird oder nicht. Alternativ kann vom Zufallszahlengeneratoroder von irgendeinem anderen Steuergenerator einfach ein Impulsgeschickt werden, der immer komplementiert, was ebenfalls dazu führt, dassdas rückgekoppelte Schieberegisterzu einer anderen Ausgabefolge wechselt.
[0021] Typischerweiseist das Schieberegister viel höhergetaktet als der Zufallszahlengenerator, beispielsweise mit 33 MHzgegenüber50 kHz. Dies bedeutet, dass die Ausgabefolge des Zu fallszahlengenerators,der ein rückgekoppeltesSchieberegister aufweist, eine Taktfrequenz von 33 MHz hat, während vomZufallszahlengenerator nur ein Signal mit einer Frequenz von 50kHz gesendet wird. Dies bedeutet, dass nur nach 600 bis 700 Schieberegistertaktenein Impuls vom Zufallszahlengenerator eintrifft.
[0022] Hierdurchist es möglich,dass ein Angreifer großeTeile der Periode des Schieberegisters wiederholt beobachtet undprotokollieren kann. Somit existiert für einen Angreifer zumindesteine Möglichkeit derAuswertung der Daten, um überdiese Auswertung Rückschlüsse aufdas Schieberegister an sich zu ziehen, um z.B. eine Busverschlüsselungzu „knacken".
[0023] DieAufgabe der vorliegenden Erfindung besteht darin, ein sicheres Konzeptzum Erzeugen einer Zufallszahl zu schaffen.
[0024] DieseAufgabe wird durch einen Zufallszahlengenerator nach Patentanspruch1, eine Busverschlüsselungseinrichtungnach Patentanspruch 18, ein Verfahren zum Erzeugen von Zufallszahlennach Patentanspruch 20 oder ein Computerprogramm nach Patentanspruch21 gelöst.
[0025] Dervorliegenden Erfindung liegt die Erkenntnis zugrunde, dass ein sichereresKonzept zum Erzeugen von Zufallszahlen dadurch erhalten wird, dassmit dem Refresh-Impuls, der alle 600 bis 700 Takte des rückgekoppeltenSchieberegisters zugeführtwird, gezielt auf die Rückkopplungseinrichtung eingegriffenwird, um abhängigvon dem Refresh-Signal entweder eine erste Rückkopplungseigenschaft zu implementierenoder eine zweite Rückkopplungseigenschaftzu implementieren, die sich von der ersten Rückkopplungseigenschaft unterscheidet.Dadurch wird durch den Refresh-Impuls gewissermaßen ein rückge koppeltes Schieberegisterdurch das andere rückgekoppelteSchieberegister ausgetauscht, da eine andere Rückkopplungseigenschaft gewählt wird,wobei die Rückkopplungseigenschaft genaudas ist, was die Eigenart eines Schieberegisters ausmacht.
[0026] Erfindungsgemäß wird somitder Impuls vom Zufallszahlengenerator dazu verwendet, um auf die Feedback-Logikeinzuwirken. Durch den eintreffenden Impuls wird die Rückkopplungsfunktionverändert,so dass man es dadurch mit einem anderen Schieberegister zu tunhat. Erst wenn der nächste Zufallszahlengenerator-Impulseintrifft, besteht überhaupterst die Möglichkeit,dass die Änderungwieder rückgängig gemachtwird, wobei dies abhängigvon den Gegebenheiten entweder immer dann gemacht wird, wenn derImpuls auftritt, oder immer nur dann gemacht wird, wenn ein Impulseinen bestimmten Wert hat.
[0027] Erfindungsgemäß nimmtder Zufallszahlengenerator-Impuls somit Einfluss auf die Rückkopplungsfunktionund bei Eintreffen des Zufallszahlengenerator-Impulses wird dieRückkopplungsfunktion desSchieberegisters in eine andere umgewandelt, die aber ebenfallsvorzugsweise maximal-periodische Folgen hoher linearer Komplexität generiert. Beimerneuten Eintreffen eines Zufallszahlengenerator-Impulses wird diealte Rückkopplungsfunktion wiederhergestellt.
[0028] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend bezugnehmend auf diebeiliegenden Zeichnungen detailliert erläutert. Es zeigen:
[0029] 1 einBeispiel eines erfindungsgemäßen Zufallszahlengenerators;
[0030] 2a einenZufallszahlengenerator mit einer ersten Rückkopplungsfunktion F(x);
[0031] 2b einenZufallszahlengenerator mit einer zweiten Rückkopplungsfunktion G(x);
[0032] 3 einenZufallszahlengenerator mit Umschalter zum Umschalten zwischen denbeiden Rückkopplungsfunktionender 2a und 2b;
[0033] 4 einenZufallszahlengenerator in seinem Einsatz als Busverschlüsselungsvorrichtungmit verschiedenen durch Kombination erzeugten Ausgabefolgen;
[0034] 5a einenalternativen Zufallszahlengenerator mit einer Rückkopplungsfunktion F(x);
[0035] 5b denalternativen Zufallszahlengenerator von 5a, jedochmit einer anderen RückkopplungsfunktionG(x);
[0036] 5c einenerfindungsgemäßen Zufallszahlengeneratormit einem Umschalter zum Umschalten zwischen den in 5a und 5b gezeigtenRückkopplungseigenschaften;
[0037] 6 einenbevorzugten Aufbau eines Elementarschieberegisters mit nicht-linearerRückkopplung;
[0038] 7 einenalternativen Aufbau fürein Elementarschieberegister mit nicht-linearer Rückkopplung;
[0039] 8 einenalternativen Aufbau fürein Elementarschieberegister mit nicht-linearer Rückkopplung;
[0040] 9 einenalternativen Aufbau fürein Elementarschieberegister mit nicht-linearer Rückkopplungseigenschaft;
[0041] 10 einenbeispielhaften Aufbau fürein Elementarschieberegister mit nicht-linearer Rückkopplung;
[0042] 11 eineallgemeine Darstellung eines Elementarschieberegisters mit Speicherzellenin der Vorwärtskopplungseinrichtungund einer RückkopplungsfunktionF; und
[0043] 12 einbekanntes lineares Schieberegister zur Erzeugung einer Zufallszahlenfolge;und
[0044] 13 einePrinzipskizze der Busverschlüsselung.
[0045] 1 zeigteinen erfindungsgemäßen Zufallszahlengeneratormit einer Vorwärtskopplungseinrichtungmit 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 gezeigteerfindungsgemäße Zufallszahlengeneratorumfasst ferner eine Rückkopplungseinrichtung 200,die mit der Vorwärtskopplungseinrichtunggekoppelt ist und eine erste Kombinationseinrichtung 201 zumKombinieren von Zuständen vonSpeicherzellen, um eine erste Rückkopplungseigenschaftzu erreichen, die mit F(x0, X1,... X5) in 1 bezeichnetist, aufweist. Die Rückkopplungseinrichtung 200 umfasstferner eine zweite Kombinationseinrichtung 202 zum Kombinierenvon Zuständenvon Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen,die mit G(x0, x1,..., x5) bezeichnet ist. Darüber hinausumfasst die Rückkopplungseinrichtung 200 fernereinen Umschalter 203 zum Aktivieren der ersten RückkopplungseigenschaftF(x) in einem ersten Umschaltzustand und zum Aktivieren der zweitenRückkopplungseigenschaftG(x) in einem zweiten Umschaltzustand, wobei der Umschalter 203 einenSteuereingang zum Erhalten eines Steuersignals von einer externenSteuerung aufweist, und wobei der Umschalter 203 ausgebildetist, um ansprechend auf das Steuersignal in den ersten oder denzweiten Umschaltzustand versetzt zu werden.
[0046] DerUmschalter 203 ist bei einem bevorzugten Ausführungsbeispielso ausgebildet, dass er immer dann, wenn er einen Impuls von einemexternen Zufallszahlengenerator bzw. einer externen Steuerung 210 erhält, umzuschalten.Der Zufallszahlengenerator 210 sendet somit bei diesemeinfachen Ausführungsbeispielzum Umschalter 203 eine gleichmäßige Folge von Impulsen, wobeibei jedem Impuls der Umschalter 203 von der einen RückkopplungseigenschaftF(x) auf die andere RückkopplungseigenschaftG(x) oder umgekehrt umschaltet. Alternativ kann das Signal z vomZufallszahlengenerator 210 eine zufällige Folge von Nullen undEinsen sein, wobei der Umschalter ausgebildet ist, um z.B. immer dann,wenn eine Null anliegt, die RückkopplungseigenschaftF(x) zu nehmen, und um immer dann, wenn eine „Eins" im Signal z vom Zufallszahlengenerator 210 enthaltenist, die zweite RückkopplungseigenschaftG(x) zu verwenden. Alternativ kann der Umschalter 203 auchausgebildet sein, um immer dann, wenn eine Null im Steuersignalz ist, z.B. keine Umschaltung zu bewirken und immer dann, wenn eineEins im Steuersignal ist, eine Umschaltung zu bewirken oder umgekehrt.Wird das Signal vom Zufallszahlengenerator als Zufallssignal bereitgestellt, sokann noch eine zusätzli cheZufälligkeitin eine oder mehrere Ausgangsfolgen des Zufallszahlengeneratorseingebracht werden.
[0047] Ineinem bevorzugten Ausführungsbeispiel wirdzur Einsparung von Hardware sowohl die erste Rückkopplungsfunktion F(x) alsauch die zweite RückkopplungsfunktionG(x) „dünn besetzt" sein. Darüber hinauswird es bevorzugt, dass die Feedback-Logik zum Erreichen von F(x) und G(x)nur geringfügigvoneinander unterschiedlich sind bzw. allgemein gesagt wenigstenseines oder mehrere Gatter gemeinsam verwenden.
[0048] Fernerwird es bevorzugt, dass sowohl das durch F(x) definierte Schieberegisterals auch das durch G(x) definierte Schieberegister maximal-periodischeFolgen hoher linearer Komplexitäterzeugen. 2a zeigt eine erste RückkopplungsfunktionF(x) fürN=11 Speicherzellen in der Vorwärtskopplungseinrichtung,wobei F(x) in 2a eingezeichnet ist und insbesonderezwei UND-Gatter 212, 213 und zwei XOR-Gatter 214 und 215 sowieeinen Invertierer 216 umfasst. Damit kann die in 2a gezeigte RückkopplungseigenschaftF(x) implementiert werden.
[0049] Einevorzugsweise zu 2a passende zweite RückkopplungseigenschaftG(x) ist in 2b samt einer möglichenImplementierung gezeigt. Es ist zu sehen, dass die beiden RückkopplungseigenschaftenF(x) und G(x) das UND-Gatter 212 und das XOR-Gatter 214 gemeinsamverwenden. Bei dem in 2b gezeigten Ausführungsbeispielwird jedoch noch ein anderes XOR-Gatter 218 sowieein weiteres XOR-Gatter 219 benötigt. Der in 2a undin 2b unterstrichene Bereich der beiden GleichungenF(x) und G(x) zeigen den von beiden Rückkopplungseigenschaften gemeinsamverwendeten Teil x1 x4 +x0, wo bei diese gemeinsame Verwendung dieses Termszu Hardwareeinsparung dient.
[0050] Diein 2a und 2b gezeigtenbeiden Rückkopplungseigenschaftenkönnenerfindungsgemäß kombiniertwerden, wie es in 3 gezeigt ist. Im einzelnenumfasst 3 dieselben Logikelemente, wiesie anhand der 2a, 2b dargestellt wordensind. 3 umfasst somit neben den Speicherzellen x0, ... x10 ein erstesUND-Gatter 212, ein zweites UND-Gatter 213, einerstes XOR-Gatter 214, ein zweites XOR-Gatter 218 sowieeinen Invertierer 216, um die beiden alternativen FunktionenF(x) und G(x) wie sie in 3 dargestellt sind, abhängig von derStellung des Umschalters 203 zu implementieren. Das Ergebnisdes Umschalters 203 wird mit einem weiteren XOR-Gatter 221 indie Rückkopplung gewissermaßen „eingekoppelt". Der Umschalterhat den Steuereingang 204, an dem das Steuersignal z angelegtwird. Der Steuereingang 204 ist mit einem externen Zufallszahlengenerator 210 bzw.einer externen Steuerung zum Liefern des Steuersignals z verbunden.
[0051] Beidem in 2a, 2b oder 3 gezeigtenSchieberegister hat jede Ausgabefolge aufgrund der 11 Zellen desSchieberegisters und aufgrund einer bevorzugten nichtlinearen Rückkopplung einePeriodendauer von 211 – 1 = 2047 und eine lineareKomplexitätvon 211 – 2 = 2046. Die Feedback-Funktionen sind in 3 dargestellt,wobei ein Oberstrich übereinem Symbol das binäreKompliment bedeuten soll.
[0052] Wirddas in 3 gezeigte Schieberegister in einer Busverschlüsselungseinrichtungverwendet, so hat das Schieberegister nicht nur einen Ausgang, wiees in 3 bei 206 zu sehen ist, sondern wirdum eine Zufallszahlenausgabeeinheit 106 ergänzt, wie esin 4 zu sehen ist. Die Zufallszahlenaus gabeeinrichtungdient dazu, die Zuständeeiner Gruppe von wenigstens zwei Speicherzellen miteinander vorzugsweisedurch XOR-Gatter miteinander zu kombinieren, wie es beispielsweisein 4 fürbeispielhaft herausgegriffene Ausgabefolgen AF1,..., AF8 dargestellt ist.
[0053] DieIdee, die Ausgabefolgen aus den einzelnen Schiebergisterzellen nichtdirekt den einzelnen Busleitungen zuzuführen, sondern sie vorher untereinanderz. B. durch eine Addition modulo 2 zu kombinieren, hat eine wichtigeKonsequenz. Es ist nunmehr möglich,alle Busleitungen mit unterschiedlichen Verschlüsselungsfolgen zu versorgen,wobei die unterschiedlichen Verschlüsselungsfolgen von einem Schieberegisterabgeleitet werden können,das weniger Speicherzellen enthältals es Busleitungen gibt. Z. B. wird ein 32-Bit-breiter Bus einesChips von einem Schieberegister versorgt, das nur 11 Speicherzellenenthält.
[0054] DieseIdee sei nachfolgend anhand von 4 dargestellt.Das in 4 gezeigte Schieberegister hat fünf Zellenund versorgt acht Busleitungen mit unterschiedlichen Schlüsselfolgen.Für jedeBusleitung ist wieder eine eigene Verschlüsselungs- bzw. Entschlüsselungseinrichtung 500 vorgesehen,wobei an dem Schlüsseleingangjeder Verschlüsselungs- bzw.Entschlüsselungseinrichtungeine Ausgabefolge AF1 bis AF8 anliegt.Wie es aus 4 ersichtlich ist, wird zumErzeugen der Ausgabefolgen AF1 die Gruppevon Speicherzellen, die die Speicherzellen D0 undD1 umfassen, verwendet. Darüber hinauswird zum Erzeugen der Ausgabefolge AF2 dieGruppe von Speicherzellen verwendet, die die Speicherzellen D0 + D1 + D2 umfasst. Zum Erzeugen der Ausgabefolge AF3 wird die Gruppe von Speicherzellen verwendet, diedie Speicherzellen D0 und D2 umfasst.
[0055] DieGruppe von Speicherzellen fürdie Ausgabefolge AF4 ist die Gruppe, diedie Speicherzellen D0, D1 undD3 umfasst.
[0056] Analoghierzu wird die Ausgabefolge AF5 durch Kombinationder Speicherzellen der fürdie fünfteBusleitung vorgesehenen Gruppe erzeugt, die die Speicherzellen D0 und D3 umfasst.
[0057] Ähnlich wirdauch die Ausgabefolge AF6 aus den Speicherzellenerzeugt, die als D0, D1 undD4 eine Gruppe bilden.
[0058] Wiederanalog wird die Ausgabefolge AF7 für die Busverschlüsselungder siebten Busleitung durch die Gruppe von Speicherzellen erzeugt,die D0 und D4 umfasst.
[0059] Schließlich wirddie Ausgabefolge AF8 aus der Kombinationder Zuständeder Gruppen von Speicherzellen erzeugt, die die Speicherzelle D0, D2 und D4 erfasst.
[0060] WeitereAusgabefolgen könntenin 4 erzeugt werden, und zwar z. B. die Ausgabefolge,bei der als Gruppe von Speicherzellen alle Speicherzellen D0, D1, D2,D3 und D4 verwendetwerden.
[0061] Fernerwerden auch alle Gruppen von Speicherzellen, die jeweils vier Speicherzellenumfassen, bei dem in 4 gezeigten Ausführungsbeispiel nichtverwendet. Daher ist zu sehen, dass aus den fünf Speicherzellen D0 bis D4 noch wesentlichmehr als acht Ausgabefolgen erzeugt werden können, wobei jede Folge dannunterschiedlich zu einer anderen Folge ist, wenn die Rückkopplungseinrichtung 105 einenicht-lineare Rückkopplungseigenschaftumfasst, wie es späternoch ausgeführtwird.
[0062] Die 5a, 5b und 5c zeigeneine weitere Möglichkeitfür ein4-zelliges Schieberegister mit zwei verschiedenen RückkopplungseinrichtungenF(x) und G(x), die auf der Basis eines Umschalters 203 implementiertwerden können,wie es in 2 gezeigt ist. Wieder istdie Rückkopplungseinheitin Form der ersten Kombinationseinrichtung in 5a alsein UND-Gatter und drei XOR-Gatter aufgebaut, während die Kombinationseinrichtungfür die zweiteRückkopplungseinrichtung,wie es in 5b gezeigt ist, wieder zweiUND-Gatter und drei XOR-Gatterumfasst. Die „Symbiose" der 5a und 5b istin 5c gezeigt, wo wieder zwei UND-Gatter und dreiXOR-Gatter samt dem Umschalter 203 eingesetzt werden, umabhängigvon dem Signal z, das dem Umschalter 203 zugeführt wird,die RückkopplungseigenschaftF(x) und G(x) zu aktivieren bzw. zu deaktivieren.
[0063] Wiees bereits ausgeführtworden ist, wird es bevorzugt, dass sämtliche Schieberegister inden 5a, 5b bzw. 2a, 2b nicht-linear sind,also ein nicht-lineares Element haben, wie beispielsweise ein Multiplikationselement,das – aufLogikebene betrachtet – einUND-Gatter ist.
[0064] Nachfolgendwird Bezug nehmend auf die 6 bis 10 eineAnzahl von verschiedenen Ausführungsbeispielenzur Ausgestaltung der einzelnen Elementarschieberegister 101–111 inden 6 bis 9 gegeben. Es sei darauf hingewiesen,dass nicht unbedingt alle Schieberegister, beispielsweise in 5 die Schieberegister 101–111,denselben Aufbau haben müssen,sondern dass sie unterschiedliche Aufbauten haben können, solange wenigstens eines, und vorzugsweise alle Schieberegister einenicht-lineare Rückkopplungseigenschafthaben.
[0065] 6 zeigtein Elementarschieberegister mit nichtlinearer Rückkopplung zum Erzeugen einer pseudozufälligen Folgevon 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 Pseudozufallszahlenentspricht. Es sei darauf hingewiesen, dass die Folge von Pseudozufallszahlendurch weitere Einrichtungen, die in 6 nichtgezeigt sind, ergänztwerden kann, um Folgen von Zufallszahlen zu puffern, auf irgendeineandere Art und Weise zu kombinieren etc.
[0066] Diein 6 gezeigte Vorrichtung umfasst ferner eine Rückkopplungseinrichtung 8,die eine veränderbareRückkopplungseigenschaftaufweist und zwischen den Eingang 6 und den Ausgang 7 der Vorwärtskopplungseinrichtung 1 geschaltetist. Die veränderbareRückkopplungseigenschaftder Rückkopplungseinrichtung 8 istin 6 dahingehend dargestellt, dass die Rückkopplungseinrichtung 8 eine ersteRückkopplungseigenschaft 9 odereine zweite Rückkopplungseigenschaft 10 annehmenkann, wobei zwischen der ersten Rückkopplungseigenschaft 9 undder zweiten Rückkopplungseigenschaft 10 durch eineUmschalteinrichtung 11 z. B. hin- und hergeschaltet werdenkann. Das Steuersignal fürdie Umschalteinrichtung 11 wird lediglich beispielhaftvon der vierten Speichereinrichtung SE2 geliefert, wie es durcheinen Signalpfad 12 symbolisch dargestellt ist. Die ersteRückkopplungseigenschaft 9 unddie zweite Rückkopplungseigenschaft 10 unterscheidensich bei einem in 6 gezeigten Ausführungsbeispiel dadurch,dass im Falle der ersten Rückkopplungseigenschaftder Zustand der Speichereinrichtung 1 (Nr. 3) in die Rückkopplungeingeht, währendim Falle der zweiten Rückkopplungseigenschaftder Zu stand der Speichereinrichtung 5 (SEn) zur Rückkopplungbeiträgt.
[0067] Alternativoder zusätzlichkann die Rückkopplungseinrichtung 8 derartausgebildet sein, dass in der Rückkopplungseigenschaft,die den Wert am Ausgang 7 der Vorwärtskopplungseinrichtung miteinem inneren Zustand der Vorwärtskopplungseinrichtungkombiniert, je nach ausgewählterRückkopplungseigenschafteine andere Kombinationsvorschrift eingesetzt wird. So könnte beispielsweisein der ersten Rückkopplungseigenschaftzur Kombination des Werts am Ausgang 7 mit dem Wert derRegisterzelle 3 eine UND-Kombination eingesetzt werden,währenddie zweite Rückkopplungseigenschaftsich von der ersten Rückkopplungseigenschaftdadurch unterscheidet, dass zur Kombination der beiden genanntenWerte nicht eine UND- sondern eine OR-Kombination eingesetzt wird.Für Fachleuteist es klar, dass verschiedene Arten von unterschiedlichen Kombinationsvorschrifteneingesetzt werden können.
[0068] Darüber hinausmüssenWerte der Speichereinrichtungen SE1 bzw. SEn nicht unmittelbar einer Kombinationseinrichtungin der Rückkopplungseinrichtungzugeführtwerden, sondern diese Werte könnenz. B. invertiert werden, miteinander kombiniert werden oder aufirgend eine andere Art und Weise z. B. nichtlinear verarbeitet werden,bevor dann sie verarbeiteten Werte einer Kombinationseinrichtungzugeführtwerden.
[0069] Darüber hinausist es nicht wesentlich, dass die Umschalteinrichtung 11 direktvon dem Zustand der Speichereinheit SE2 gesteuert wird. Statt dessen könnte derZustand der Speichereinrichtung SE2 invertiert werden, auf irgendeine andere Art und Weise logisch oder arithmetisch verarbeitetwerden oder sogar mit dem Zustand einer oder mehrerer weiterer Spei chereinrichtungenkombiniert werden, so lange eine Vorrichtung zum Erzeugen einerpseudozufälligenFolge von Zahlen erhalten wird, die eine Rückkopplungseinrichtung aufweist,deren Rückkopplungseigenschaftnicht statisch ist, sondern dynamisch abhängig von der Vorwärtskopplungseinrichtungund insbesondere von einem oder mehreren Zuständen in Speichereinheiten derVorwärtskopplungseinrichtungvariierbar ist.
[0070] Inder Vorwärtskopplungseinrichtung 1 von 6 istferner eine Steuereinrichtung 13 eingebracht, die zwischenzwei Speicherelementen angeordnet ist, nämlich bei dem in 6 gezeigtenBeispiel den Speicherelementen 4 und 5. Nachdemein Signalfluss von dem Speicherelement 0 bis zum Speicherelementn in 6 stattfindet, ist das Speicherelement 4 dassignalflußmäßig vorder Steuereinrichtung angeordnete Speicherelement, während dasSpeicherelement 5 das signalflußmäßig nach der Steuereinrichtungangeordnete Signal ist. Die Steuereinrichtung 13 hat einenSteuereingang 13a, der mit einem Steuersignal beaufschlagbarist, das prinzipiell ein beliebiges Steuersignal sein kann.
[0071] DasSteuersignal kann beispielsweise eine echte Zufallszahlenfolge sein,so dass die Ausgabefolge der Schieberegisteranordnung eine Zufallszahlenfolgeist. Das Steuersignal kann auch ein deterministisches Steuersignalsein, so dass ausgangsseitig eine Pseudozufallszahlenfolge erhaltenwird.
[0072] Vorzugsweiseist der Steuereingang 13a jedoch, wie es durch die in 6 gezeigteentsprechende gestrichelte Linie dargestellt ist, mit der Rückkopplungseinrichtung 8 verbunden,derart, dass ein Signal in der Rückkopplungseinrichtungdas Steuersignal fürdie Steuereinrichtung 13 liefert, das Steuersignal alsoein deterministisches Signal ist.
[0073] Obgleichbei dem in 6 gezeigten Ausführungsbeispieldie Rückkopplungseinrichtung 8 alsvariable Rückkopplungseinrichtungbezeichnet ist, kann die Rückkopplungseinrichtungauch eine Rückkopplungseinrichtungmit konstanter Rückkopplungseigenschaftsein, wie es durch eine gestrichelte Linie 14 angedeutet ist. Indiesem Fall würdedas Steuersignal fürden Steuereingang 13a von einem Verzweigungspunkt 14a abgeleitetwerden, wie es in 6 schematisch dargestellt ist,und zwar durch die gestrichelte Linie vom Punkt 14a zudem Steuereingang 13a der Steuereinrichtung 13.
[0074] Fernerwird, um die Effizienz zu steigern, der in 6 gezeigteElementar-Zahlenfolgengenerator dazu verwendet, um z. B. nicht nureine Folge an dem Ausgang 7 zu erzeugen, sondern um einezweite Folge von vorzugsweise Pseudozufallszahlen an einem weiterenAusgang 15 zu erzeugen, wobei beide Folgen oder nur eineFolge der beiden folgen in die Kombinationseinrichtung eingespeistwerden kann. Das Einfügender Steuereinrichtung 13 bewirkt, dass die an dem Ausgang 7 ausgegebeneFolge tatsächlichunterschiedlich zu der am Ausgang 15 ausgegebenen Folgeist, wobei die beiden Folgen nicht nur zueinander verschoben sind,sondern, wie es ausgeführtworden ist, tatsächlichunterschiedlich sind, da sie signalflußmäßig vor bzw. hinter der Steuereinrichtung 13 „abgezapft" werden.
[0075] 7 zeigtein 8-Bit-Schieberegister, bei dem abhängig von dem Zustand der Speichereinrichtungmit der Nr. 4 ein Multiplexer 20 über einen Steuereingang 20a angesteuertwird. Ist der Steuereingang 20a auf einem Null-Zustand,d. h. liegt in der Speicherzelle mit der Nr. 4 ein Null-Zustandvor, so wird der Multiplexer derart gesteuert, dass er den Zustandder Speichereinrichtung mit der Nr. 7 an einer ersten Eingangsleitung 20b desselbenmit einer Ausgangsleitung 20d verbindet. Dies würde derWirkung eines linearen Schieberegisters mit dem folgende Rückkopplungspolynomentsprechen: x8 + x7 + 1
[0076] Istder Steuereingang 20a dagegen auf einem Eins-Zustand, sowird der Zustand der Speichereinrichtung mit der Nr. 6 an einemzweiten Eingang 20c mit der Ausgangsleitung 20d desMultiplexers 20 verbunden. Die Ausgangsleitung 20d istmit einer Kombinationseinrichtung 21 verbunden, der ferner beidem in 7 gezeigten Ausführungsbeispiel der Wert amAusgang 7 der Vorwärtskopplungseinrichtung,der gleichzeitig den Ausgang der Vorrichtung zum Erzeugen einerpseudozufälligenFolge von Zahlen bildet, zugeführt.Das Ergebnis, das durch die Kombinationseinrichtung 21 berechnetwird, wird wiederum der ersten Speichereinrichtung mit der Nr. 7in 7 zugeführt.
[0077] Istdaher der Inhalt der Speicherzelle mit der Nr. 4 gleich 1, so liegtfolgendes Rückkopplungspolynomvor: X8 + X6 +1
[0078] Ausdem vorstehenden wird ersichtlich, dass zwischen den beiden genanntenRückkopplungspolynomenumgeschaltet wird, und zwar abhängigvon dem Inhalt der Speicherzelle mit der Nr. 4 der Vorwärtskopplungseinrichtung 1.
[0079] Eshat sich herausgestellt, dass die linearen Komplexitäten vonerfindungsgemäß erhaltenenSequenzen hoch sind, nämlichzwischen 234 und 254, wenn das Schieberegister 8 Flip-Flops hat.Es sei darauf hingewiesen, dass die Periodenlänge einer Sequenz, die durchein beliebiges achtstufiges Schieberegister erzeugt wird, maximal255 betragen kann. Der maximale Wert für die lineare Komplexität einersolchen Sequenz beträgt254.
[0080] Daseinfachste von allen achtstufigen Elementarschieberegistern, dieeine Sequenz erzeugen können,ist das in 7 dargestellte Schieberegister mitden beiden in 7 dargestellten Rückkopplungspolynomen.Im Hinblick auf die Theorie der linearen Schieberegister als Vergleichsbeispielsei darauf hingewiesen, dass es 16 primitive Polynome des Grads8 gibt. Jedes derartige Polynom beschreibt ein lineares Schieberegisterdas eine Sequenz der Periodenlänge255 und der linearen Komplexität8 erzeugen kann. Demgegenüberexistieren viel mehr Schieberegister – nämlich 2020 – gemäß der vorliegenden Erfindung,die Sequenzen der Periodenlänge255 gemäß der vorliegendenErfindung erzeugen können.
[0081] Darüber hinaushaben die Sequenzen, die durch die erfindungsgemäßen Schieberegister erzeugtwerden, viel größere lineareKomplexitätenals ihre analogen Ausführungengemäß dem Standder Technik. Wie es ausgeführtworden ist, wird unter allen untersuchten Möglichkeiten für ein 8-Bit-Schieberegistermit Rückkopplungseinrichtungdie in 7 gezeigte Ausführungsform bevorzugt, da sieden einfachsten Hardware-Aufwand mit sich bringt, gleichzeitig einemaximale Periodendauer hat und ferner eine maximale lineare Komplexität aufweist.
[0082] In 7 istferner wieder eine Steuereinrichtung 13 zwischen zwei Speicherelementenangeordnet, wobei dies die Speicherelemente 1 und 2 sind. DieSteuereinrichtung 13 wird mit einem Steuersignal versorgt,das aus der Rückkopplungsein richtung 8 mitvariabler Rückkopplungseigenschaftabgezapft wird. Selbstverständlichkönntedas Signal fürdie Steuereinrichtung auch signalflußmäßig nach dem XOR-Gatter 21 „abgezapft" werden. Darüber hinaus kanndie Steuereinrichtung 13 selbstverständlich auch zwischen zwei beliebigenanderen Speicherzellen ausgebildet sein, wie z. B. zwischen denSpeicherzellen 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 Speichereinrichtungan dem Ausgang 7 ausgegeben wird, oder unmittelbar vorder Speicherzelle 7.
[0083] AusSignalverarbeitungsgründenwird es jedoch bevorzugt, dass sämtlicheSignale, wie z. B. Ausgangsfolgen, Steuersignale und Datensignalefür denMultiplexer etc. am Ausgang von Schieberegistern abgegriffen werden,so dass das Schieberegister neben seiner Funktionalität zum Erzeugender Zahlenfolge auch dazu dient, stabile Signale für Logikgatterzu liefern. Damit müssenkeine entsprechenden Ausgangsstufen für Logikgatter erzeugt werden, wennvon den Ausgängender Logikgatter selbst Steuersignale oder Ausgangssignale abgezapftwerden.
[0084] Nachfolgendwird auf 8 Bezug genommen, um eine spezielleImplementierung der Multiplexereinrichtung 20 von 7 darzustellen.Der Multiplexer 20 kann ohne weiteres durch zwei UND-Gatter 40a, 40b implementiertwerden, die beide mit seriell geschalteten ODER-Gattern (oder XOR-Gattern) 41a, 41b soverbunden sind, wie es in 8 gezeigt ist.Im einzelnen wird der Zustand der Speicherzelle 4 dem ersten UND-Gatter 40a zugeführt, während derinvertierte Zustand der Speicherzelle 4 dem zweiten UND-Gatter 40b zugeführt wird.Zur Bestimmung des entsprechenden Rückkopplungspolynoms wird der Inhaltder Speicherzelle 6 dem ersten UND-Gatter 40a als zweiterEingang zugeführt,währendder Inhalt der Speicherzelle 7 dem zweiten UND-Gatter 40b alszweiter Eingang zugeführtwird. Ferner sei darauf hingewiesen, dass die beiden hintereinander geschaltetenODER-Gatter 41a, 41b alternativ implementiertwerden können.Wenn jedoch Implementierungen benötigt werden, bei denen jedeslogische Gatter zwei Eingängeund einen Ausgang hat, ist die in 8 gezeigtebeispielhafte Darstellung vorteilhaft.
[0085] Beieinem Verfahrens zum Erzeugen einer pseudozufälligen Folge von Zahlen auseinem Elementarschieberegister unter Verwendung einer Vorwärtskopplungseinrichtung 1 miteiner Mehrzahl von Speichereinrichtungen, die einen Eingang undeinen Ausgang zum Ausgeben der Folge von Zahlen aufweist, und einerRückkopplungseinrichtung,die eine veränderbareRückkopplungseigenschaftaufweist und zwischen den Eingang und den Ausgang geschaltet ist,wird zunächstein Schritt des Initialisierens der Speichereinrichtung in der Vorwärtskopplungseinrichtungauf einen vorbestimmten Startwert ausgeführt.
[0086] Ansprechendauf einen Zustand einer Speichereinrichtung der Mehrzahl von Speichereinrichtungender Vorwärtskopplungseinrichtungwird dann in einem weiteren Schritt die Steuerungseinrichtung abhängig vondem Rückkopplungssignalgesteuert. Hierauf wird ein Zustand einer Speichereinrichtung, diemit dem Ausgang der Vorwärtskopplungseinrichtung 1 verbundenist, ausgegeben, um eine Zahl der Folge von Zufallszahlen zu erhalten.Hierauf wird in einem Entscheidungsblock untersucht, ob weitere Zufallszahlenbenötigtwerden. Wird diese Frage mit nein beantwortet, so wird das Verfahrenbeendet. Wird dagegen festgestellt, dass weitere Zahlen benötigt werden,so wird der Entscheidungsblock mit „ja" beantwortet, woraufhin ein weiterenSchritt folgt, in dem die Mehrzahl von Speichereinrichtungen basierendauf einem vorherigen Zustand der Speichereinrichtung und auf einerAusgabe der Rückkopplungseinrichtungneu belegt werden. In einer Schleife werden die Schritte des Steuernsder Steuerungseinrichtung, Ausgebens und Neubelegens so oft wiegewünschtwiederholt, um schließlichdie pseudozufälligeFolge von Zahlen zu erhalten.
[0087] Essei darauf hingewiesen, dass dieses Verfahren unter Verwendung einesregelmäßigen Takts durchgeführt werdenkann, oder auch unter Verwendung eines unregelmäßigen Takts, obgleich die Variantemit regelmäßigem Taktim Hinblick auf eine bessere Sicherheit gegenüber Leistungs- oder Zeit-Attackenbevorzugt wird.
[0088] ImFalle des in 7 dargestellten linearen Schieberegisterswird darauf hingewiesen, dass das Neubelegen der Mehrzahl von Speichereinrichtungenseriell erfolgt, und zwar basierend auf dem vorherigen Zustand derSpeichereinrichtungen, der – insgesamtgesehen – umeinen Schritt nach links verschoben wird, so dass ausgangsseitigein Zustand der Speichereinrichtung 0 „herausfällt". Dieser „herausgefallene" Wert ist die Zahl,die ausgegeben wird. Durch das Links-Verschieben des insgesamt betrachtetenZustands der gesamten Speichereinrichtungen kann die ganz rechteSpeichereinrichtung mit der Nr. 7 in 7 neu belegtwerden. Die Mehrzahl von Speichereinrichtungen und insbesonderedie Speichereinrichtung 7 wird daher abhängig von einer Ausgabe derRückkopplungseinrichtungzum aktuellen Taktzeitpunkt neu belegt.
[0089] 9 zeigtein alternatives Ausführungsbeispiel,bei dem die in 6 mit dem Bezugszeichen 14 bezeichneteAlternative der Rückkopplungseinrichtungdargestellt ist. Insbesondere ist die Rückkopplungseinrichtung 14 in 9 derartausgebildet, dass sie keine variable Rückkopplungseigenschaft hat,sondern eine konstante Rückkopplungseigenschafthat. Die erfindungsgemäßen Vorteilewerden dadurch erreicht, dass in der Vorwärtskopplungseinrichtung zumindesteine Steuereinrichtung 13 und vorzugsweise eine weitereSteuereinrichtung 60 angeordnet sind.
[0090] Beidem in 9 gezeigten Ausführungsbeispiel wird die Steuereinrichtung 13 miteinem Steuersignal gesteuert, das direkt von der Rückkopplungseinrichtung 14 abgeleitetwird. Bei der in 9 gezeigten Vorwärtskopplungseinrichtungsind lediglich zwei Speichereinrichtungen 2 und 3 vorgesehen,wobei die erste Steuereinrichtung 13 zwischen der Speicherzelle2 und 3 geschaltet ist, währenddie zweite Steuereinrichtung 60 zwischen der Speicherzelle3 und (überdie Rückkopplungseinrichtung 14)der Speicherzelle 2 geschaltet ist. Ferner ist in 9 ein Signalflussdurch einen Pfeil 61 markiert, der den Signalfluss in derVorwärtskopplungseinrichtungdarstellt, der sich bei dem in 9 gezeigtenAusführungsbeispielvon rechts nach links erstreckt. Ein Bit gelangt zunächst indie Speichereinrichtung D2. Damit wird das in D2 gespeicherte Bitausgegeben und bildet ein Bit der ersten Folge. Gleichzeitig wirddas von der Speichereinrichtung 2 ausgegebene Bit mit einemgerade auf der Rückkopplungseinrichtung 14 anliegendenBit bei dem in 9 gezeigten AusführungsbeispielXOR-verknüpft,um an einem Ausgang der XOR-Verknüpfung einErgebnisbit zu erhalten, das dann beim nächsten Zyklus in das Speicherelement 3 eingetaktetwird. Damit wird das gerade in dem Speicherelement 3 befindlicheBit aus dem Speicherelement 3 herausgetaktet und stelltdamit ein Bit der zweiten Pseudozufallsfolge von Zahlen dar. DasBit am Ausgang der Speicherzelle 3 wird dann mit einem Steuersignal für die zweiteSteuereinrichtung 60 XOR-verknüpft, wobei das Steuersignal ausdem Signal an der Rückkopplungseinrichtung 14 unddem Ausgangssignal der ersten Steuereinrichtung 13 mittelseiner Kombinationseinrichtung erzeugt wird. Die Kombinationseinrichtung 62 istvorzugsweise ein logisches Gatter und insbesondere bei dem in 9 gezeigtenAusführungsbeispielein UND-Gatter. Die erste Folge wird über einen Ausgang 7 ausgegeben,währenddie zweite Folge über einenAusgang 15 ausgegeben wird. Die beiden über die Ausgänge 7 und 15 ausgegebenenFolgen sind tatsächlichunterschiedlich und nicht nur phasenverschoben zueinander.
[0091] Umdie Implementierung des XOR-Gatters 60 zu vereinfachen,wird bei einem anderen bevorzugten Ausführungsbeispiel in Signalflussrichtung hinterdem 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ätzlichunterschiedlich zur zweiten Folge am Ausgang 15 ist.
[0092] 10 zeigtein 8-Bit-Elementarschieberegister mit Flip-Flops D0–D7, die seriell zueinander geschaltetsind, wobei ferner zwischen dem vierten und dem dritten Flip-Flopdie zweite Steuereinrichtung 60 vorgesehen ist, während zwischendem siebten und dem sechsten Flip-Flop die erste Steuereinrichtung 13 vorgesehenist. Die erste Steuereinrichtung 13 wird wieder direktmit dem Rückkopplungssignalauf der Rückkopplungseinrichtung 14 versorgt, während diezweite Steuereinrichtung 60 mit dem Ausgangssignal desUND-Gatters 62 versorgt wird, das wiederum von der Rückkopplungseinrichtung 14 einerseitsund dem Ausgangssignal der fünftenZelle D5 andererseits versorgt wird. In Analogie zu dem in 9 gezeig tenAusführungsbeispielstellt die Ausgangsfolge der vierten Zelle D4 die zweite Pseudozufallszahlenfolgedar, währenddie Ausgangsfolge der siebten Zelle D7 die erste Zufallszahlenfolgedarstellt.
[0093] Diein den 9 und 10 gezeigten Ausführungsbeispielefür einElementarschieberegister unterscheiden sich dahingehend, dass zwischenden beiden Steuereinrichtungen zwei weitere Registerzellen D5, D6geschaltet sind, und dass am Ausgang der XOR-Steuereinrichtung 60 weitereSpeicherzellen D0 – D3ausgebildet sind, so dass ein 8-Bit-Schieberegister entsteht. Beieinem Ausführungsbeispiel wird,um einen besonders effizienten Pseudozufallszahlengenerator zu erhalten,an dem Ausgang von jeder Speicherzelle D0 – D7 eine Pseudozufallszahlenfolgeabgezapft und einer Kombinationseinrichtung zugeführt. Insbesonderesind die beiden Folgen, die von den Zellen D4 und D5 ausgegebenwerden, verschobene Versionen der Folge, die von der Zelle D6 ausgegebenwird. Ferner sind die vier Folgen, die von den Zellen D2, D1, D0und D7 ausgegeben werden, verschobene Versionen der Folge, die vonder 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.
[0094] Essei darauf hingewiesen, dass der Anfangszustand, mit dem das Schieberegisterinitialisiert wird, als der sogenannte Seed oder Keim, der Bezugnehmend auf 7, Element 55, erläutert wordenist, dahingehend gestaltet sein soll, dass er zumindest einen Wertfür einSpeicherelement umfasst, der ungleich Null ist, damit das Schieberegister gewissermaßen „anläuft" und nicht an denacht Ausgängenacht Nullfolgen ausgibt. Dann, wenn diese Bedingung erfüllt ist,sind alle acht Folgen maximal periodisch, d. h. haben eine Periodenlänge von 255. Fernerhat jede der acht ausgegebenen Folgen bei dem in 10 gezeigtenAusführungsbeispieldie maximale lineare Komplexität254. Darüberhinaus sind, wie es ausgeführtworden ist, die beiden Folgen, die von den Zellen D3 und D6 ausgegebenwerden, essentiell verschieden.
[0095] Wiees aus 10 ferner ersichtlich wird,ist hier die Speicherzelle D5 die Steuerungszelle. Wenn die ZelleD5 eine Null enthält,dann wird die Wirkung der Steuereinrichtung 60 zwischenden 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 zurAnwendung.
[0096] 11 zeigtein allgemeines rückgekoppeltesSchieberegister mit Speicherzellen D0, ...,Dn-1 mit einer Vorwärtskopplungseinrichtung sowiemit einer Rückkopplungseinrichtung,die mit F(x0, x1,..., xn-1) bezeichnet ist.
[0097] Betrachtetsei ein allgemeines n-stufiges (oder n-zelliges) rückgekoppeltesSchieberegister überdem GrundkörperGF(2) = {0,1}. Das Schieberegister besteht aus n Speicherzellen(Flip-Flops) D0, D0,..., Dn-1 und der (elektronischen) Realisierungeiner RückkopplungsfunktionF(x0, x1, ..., xn-1). Die Rückkopplungsfunktion ordnetjedem n-Tupel bestehend aus n Bits, einen eindeutigen Wert aus GF(2) zu,also den Wert 0 oder 1. In mathematischer Terminologie ist F eineFunktion mit Definitionsbereich GF(2)n undZielbereich GF(2).
[0098] DasSchieberegister wird von einer äußeren Uhrgesteuert. Mit jedem Uhrentakt wird der Inhalt der SpeicherzelleDj in die linke benachbarte Zelle Dj-1 verschoben. 1 ≤ j ≤ n – 1. Der Inhalt der Speicherzelle D0 wird ausgegeben. Seien die Inhal te derSpeicherzellen D0, D1,... Dn-2, Dn-1 zumZeitpunkt t gegeben durch St,St+1 ..., St+n-2,St+n-1.
[0099] Dannenthalten die Speicherzellen einen Uhrentakt später, also zum Zeitpunkt t +1, die Bits st+l, st+2, ..., st+n-1,st+n,wobei der in der Zelle Dn-1 eingeflossene Wert st+n gegebenist durch st+n = F (st, st+1, ..., st+n-1).
[0100] Dasn-Tupel (st, st+1,..., st+n-1) beschreibt den Zustand desSchieberegisters zum Zeitpunkt t. Das n-Tupel (s0,s1 ,..., sn-1) heißt der Anfangszustand.Als Abkürzungfür dasallgemeine rückgekoppelteSchieberegister mit RückkopplungsfunktionF wird FSR(F) verwendet (FSR steht für feedback shift register). 12 zeigtein allgemeines rückgekoppeltesSchieberegister.
[0101] Mitjedem Takt der äußeren Uhrgibt das Schieberegister ein Bit aus. Auf diese Weise kann das Schieberegistereine periodische Bitfolge S0, s1, s2, ... produzieren, eine sogenannte Schieberegisterfolge.Es seien S0, s1,..., sn-1 die Anfangswerte der Schieberegisterfolge.Die RückkopplungsfunktionF (X0, X1, ...,Xn-1) und die Anfangswerte S0,s1, ..., sn-1 bestimmendie Schieberegisterfolge vollständig.Da es nur 2n verschiedene Zustände für das Schieberegistergibt, beträgtdie Periodenlängeder Schieberegisterfolge S0, s1,s2 ... höchstens2n.
[0102] Einallgemeines rückgekoppeltesSchieberegister FSR(F) heißthomogen, wenn seine RückkopplungsfunktionF homogen ist, d. h, wenn F(0, 0, ..., 0) = 0 gilt. Ein homogenes,in den Anfangszustand s0 = s1 =... = sn-1 = 0 versetztes Schieberegisterproduziert die Nullfolge. Daraus folgt, dass die Periodenlänge derAusgabefolge eines n-stufigen homogenen Schieberegisters höchstens2n – 1betragen kann. Wenn die Periodenlänge den maximalen Wert 2n – 1 annimmt,dann nennt man die Schieberegisterfolge eine M-Folge und das Schieberegistermaximal. Es ist eine wichtige Aufgabe maximale Schieberegister zufinden.
[0103] ZweiSpezialfälledes allgemeinen rückgekoppeltenSchieberegisters FSR(F) sind von besonderem Interesse. Der Fallbei dem die RückkopplungsfunktionF die Form
[0104] Derandere Spezialfall liegt vor, wenn die Rückkopplungsfunktion F linearist. Dann hat F die Form F(x0,x1, ..., xn-1) =a0x0 + a1x1 + ... + an-1xn-1,wobeidie auftretenden Koeffizienten ai wiedergleich 0 oder 1, also Elemente aus GF(2) sind. In diesem Fall sprichtman von einem linearen oder linear rückgekoppelten Schieberegisterund verwendet fürdieses die AbkürzungLFSR (linear feedback shift register). Beachte, dass sowohl dielinear rückgekoppeltenals auch die quadratisch rückgekoppeltenSchieberegister homogen sind.
[0105] Einn-stufiges linear rückgekoppeltesSchieberegister wird üblicherweisedurch ein binäresPolynom f(x) vom Grad n in einer Variablen x charakterisiert. Mannennt dieses Polynom f das charakteristische Polynom des linearrückgekoppeltenSchieberegisters. Fürdas Schieberegister schreibt man dann LFSR (f).
[0106] DieRückkopplungsfunktionF (x0, x1, ...,xn-1) eines linear rückgekoppelten Schieberegistersist ein Polynom in n Variablen x0, x1, ..., xn-1 undvom Grad 1. Demgegenüberist das charakteristische Polynom f(x) desselben linearen Schieberegistersein Polynom nur einer Variablen, nämlich der Variablen x, abervom Grad n. Es gilt f(x) = xn +F (1, x, x2, ..., xn-1).
[0107] DieNichtlinearitätder Rückkopplungsfunktionkann somit durch relativ beliebige Ausgestaltungen der RückkopplungsfunktionF durchgeführtwerden. Hierzu wird es prinzipiell genügen, lediglich die Ausgangssignalevon zwei Speicherzellen Di und Di+1 miteinander zu multiplizieren, worausein quadratisches Schieberegister entstehen würde. Selbstverständlich können auchmehr als zwei Speicherzellenausgängemiteinander multipliziert oder irgendeiner nicht-linearen Funktionunterzogen werden. Prinzipiell kann jedoch auch eine Rückkopplungmit nur einem Ausgangssignal einer einzigen Speicherzelle durchgeführt werden,indem z. B. lediglich das Ausgangssignal der Speicherzelle D0 rückgekoppeltwird, in die Funktion F(x0) eingespeistwird und das Ausgangssignal dieser Funktion z. B. in die Speicherzelle Dn-1 eingangsseitig eingespeist wird. Einesolche nicht-lineare Funktion mit nur einem einzigen Wert wäre beispielsweiseeine Inversion, also eine logisch N0T-Funktion. Die nicht-lineareFunktion könntejedoch auch irgendeine andere Funktion sein, beispielsweise einenicht-lineare Zuordnungsfunktion oder eine kryptographische Funktion.
[0108] Abhängig vonden Gegebenheiten kann das erfindungsgemäße Verfahren zum Erzeugen vonZufallszahlen in Hardware oder in Software implementiert werden.Die Implementierung kann auf einem digitalen Speichermedium, insbesondereeiner Diskette oder CD mit elektronisch auslesbaren Steuersignalenerfolgen, die so mit einem programmierbaren Computersystem zusammenwirkenkönnen,dass das Verfahren ausgeführtwird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einemauf einem maschinenlesbaren Trägergespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenndas Computer-Programm-Produkt auf einem Rechner abläuft. Inanderen Worten ausgedrückt kanndie Erfindung somit als ein Computer-Programm mit einem Programmcodezur Durchführung desVerfahrens realisiert werden, wenn das Computer-Programm auf einemComputer abläuft.
1 Vorwärtskopplungseinrichtung 2 Speichereinrichtung 3 Speichereinrichtung 4 Speichereinrichtung 5 Speichereinrichtung 6 Eingangder Vorwärtskopplungseinrichtung 7 Ausgangder Vorwärtskopplungseinrichtung 8 Rückkopplungseinrichtung9 ersteRückkopplungseigenschaft 10 zweiteRückkopplungseigenschaft 11 Auswahleinrichtung 12 Steuerleitungfür dieAuswahleinrichtung 13 ersteSteuereinrichtung 13a Steuereingangder ersten Steuereinrichtung 14 Rückkopplungseinrichtung 14a Abzweigungspunkt 15 Ausgangfür diezweite Folge 20 Auswahleinrichtung 20a Steuereingang 20b ersterEingang 20c zweiterEingang 20d Ausgang 21 Kombinationseinrichtung 40a erstesUND-Gatter 40b zweitesUND-Gatter 41a erstesODER-Gatter 41b zweitesODER-Gatter 51 Speicherzelle 52 Speicherzelle 53 Speicherzelle 54 Speicherzelle 55 Initialisierungseinrichtung 56 Ausgang 57 ersteODER-Verknüpfung 58 zweiteODER-Verknüpfung 59a ersteRückkopplungsleitung 59b zweiteRückkopplungsleitung 59c dritteRückkopplungsleitung 60 zweiteSteuereinrichtung 61 Signalflussrichtungin der Vorwärtskopplungseinrichtung 62 Kombinationseinrichtung 100 ersteSpeicherzelle 101 ZweiteSpeicherzelle 102 DritteSpeicherzelle 103 VierteSpeicherzelle 104 Fünfte Speicherzelle 105 Rückkopplungseinrichtung 106 Zufallszahlenausgabeeinrichtung 201 ersteKombinationseinrichtung 202 zweiteKombinationseinrichtung 203 Umschalter 204 Steuereingang 206 Ausgang 210 externeSteuerung 212 UND-Gatter 213 UND-Gatter 214 XOR-Gatter 215 XOR-Gatter 216 Invertierer 218 XOR-Gatter 219 XOR-Gatter 221 Einkoppel-XOR-Gatter 500 Busverschlüsselungs/Entschlüsselungs-Einheit 502 Steuerleitung 504 Steuerleitung 508 Busverschlüsselungs/Entschlüsselungs-Einheit
权利要求:
Claims (21)
[1] Zufallszahlengenerator mit folgenden Merkmalen: einerVorwärtskopplungseinrichtungmit einer Mehrzahl von zueinander in Serie geschalteten Speicherzellen(100, 101, 102, 103, 104);und einer Rückkopplungseinrichtung(200), die mit der Vorwärtskopplungseinrichtunggekoppelt ist und folgende Merkmale aufweist: eine erste Kombinationseinrichtung(201) zum Kombinieren von Zuständen von Speicherzellen, umeine erste Rückkopplungseigenschaftzu erreichen; eine zweite Kombinationseinrichtung (202)zum Kombinieren von Zuständenvon Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen, diesich von der ersten Rückkopplungseigenschaft unterscheidet;und einen Umschalter (203) zum Aktivieren der ersten Rückkopplungseigenschaftin einem ersten Umschaltzustand und zum Aktivieren der zweiten Rückkopplungseigenschaftin einem zweiten Umschaltzustand, wobei der Umschalter (203)einen Steuereingang (204) zum Erhalten eines Steuersignals(z) von einer externen Steuerung (210) aufweist, und wobeider Umschalter (203) ausgebildet ist, um an sprechend aufdas Steuersignal in den ersten oder den zweiten Umschaltzustandversetzt zu werden.
[2] Zufallszahlengenerator nach Anspruch 1, bei dem dieerste Kombinationseinrichtung (201) oder die zweite Kombinationseinrichtung(202) ein UND-Gatter zum UND-Verknüpfen von zwei Zuständen derMehrzahl von Speicherzellen aufweist.
[3] Zufallszahlengenerator nach Anspruch 1 oder 2, beidem die erste Kombinationseinrichtung (201) und die zweiteKombinationseinrichtung (202) so ausgebildet sind, dassdie erste Rückkopplungseigenschaftoder die zweite Rückkopplungseigenschaftnicht linear sind.
[4] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,bei dem das Steuersignal eine Steuerperiodendauer hat, und wobeider Zufallszahlengenerator ferner folgendes Merkmal aufweist: eineTakteinrichtung zum Takten der Vorwärtskopplungseinrichtung miteinem Takt, der eine Taktperiodendauer hat, wobei die Taktperiodendauerkleiner als die Steuerperiodendauer ist.
[5] Zufallszahlengenerator nach Anspruch 4, bei dem dieSteuerperiodendauer wenigstens zwanzigmal so groß ist wie die Taktperiodendauer.
[6] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,der einen Ausgang aufweist, der mit einem Ausgang einer Speicherzelle odermit der ersten oder zweiten Kombinationseinrichtung gekoppelt ist,wobei der Ausgang, an dem im Betrieb des Zufallszahlengeneratorseine Ausgabefolge erzeugbar ist, mit einem Schlüsseleingang einer Verschlüsselungseinrichtungoder einer Entschlüsselungseinrichtunggekoppelt ist.
[7] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,bei dem die erste Kombinationseinrichtung (201) und diezweite Kombinationseinrichtung (202) wenigstens ein gemeinsames Logik-Gatter(212, 214) aufweisen.
[8] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,bei dem die erste Kombinationseinrichtung (201) und diezweite Kombinationseinrichtung (202) Logik-Gatter aufweisen,wobei wenigstens die Hälfteder Logik-Gatterin der ersten Kombinationseinrichtung auch in der zweiten Kombinationseinrichtungenthalten sind.
[9] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,bei dem die Rückkopplungseinrichtung(200) ausgebildet ist, um Zustände einer Anzahl von Speicherzellenin der Vorwärtskopplungseinrichtungzu verwenden, wobei die Anzahl höchstenshalb so groß istwie eine gesamte Anzahl von Speicherzellen in der Vorwärtskopplungseinrichtung.
[10] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,bei dem die erste Kombinationseinrichtung und die zweite KombinationseinrichtungLogikelemente 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.
[11] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,der ferner folgendes Merkmal aufweist: eine Zufallszahlenausgabeeinrichtung(106), die ausgebildet ist, um Zustände einer Gruppe von wenigstenszwei Speicherzellen zu kombinieren, um eine Ausgabefolge zu erhalten.
[12] Zufallszahlengenerator nach Anspruch 11, bei demdie Zufallszahlenausgabeeinrichtung (106) ausgebildet ist,um Zuständevon einer zweiten Gruppe von Speicherzellen zu kombinieren, um einezweite Ausgabefolge zu erhalten, wobei sich die zweite Gruppe vonder ersten Gruppe unterscheidet.
[13] Zufallszahlengenerator nach Anspruch 11 oder 12,bei dem die Zufallszahlenausgabeeinrichtung (106) ausgebildetist, um Zuständeder Gruppe von wenigstens zwei Speicherzellen gemäß einer erstenKombinationsvorschrift zu kombinieren, um die Ausgabefolge zu erhalten,und um die Zustände derGruppe von Speicherzellen ferner gemäß einer zweiten Kombinationsvorschriftzu kombinieren, wobei sich die zweite Kombinationsvorschrift vonder ersten Kombinationsvorschrift unterscheidet.
[14] Zufallszahlengenerator nach einem der Ansprüche 11 bis13, bei dem eine Anzahl N von Speicherzellen vorgesehen ist;und bei dem die Zufallszahlenausgabeeinrichtung (106) ausgebildetist, um eine Anzahl M von Ausgabefolgen zu erzeugen, wobei die AnzahlM größer alsdie Anzahl N ist, und wobei sich die M Ausgabefolgen voneinanderaufgrund der ihnen zugrunde liegenden Gruppen von Speicherzellenoder der ihnen zugrunde liegenden Kombinationsvorschriften voneinander unterscheiden.
[15] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,bei dem die Rückkopplungseinrichtung(105) mit der Mehrzahl von Speicherzellen so gekoppeltist, dass die Rückkopplungseinrichtung(105) als Eingabe einen Zustand einer in Verarbeitungsrichtungvorne angeordneten Speicherzelle enthält, und das Rückkopplungssignalin eine in Verarbeitungsrichtung hinten angeordnete Speicherzelleeinspeist.
[16] Zufallszahlengenerator nach einem der vorhergehendenAnsprüche,bei dem die Anzahl von Speicherzellen eine Primzahl ist.
[17] Zufallszahlengenerator nach einem der Ansprüche 11 bis14, bei dem die Zufallszahlenausgabeeinrichtung (106) einXOR-Gatter zum Kombinieren von Zuständen von Speicherzellen einerGruppe aufweist.
[18] Busverschlüsselungsvorrichtungmit folgenden Merkmalen: einem Bus mit einer Anzahl N von parallelenBusleitungen; fürjede Busleitung, eine Verschlüsselungs-oder Entschlüsselungseinrichtungzum Verschlüsselnoder Entschlüsselneines Signals auf der Busleitung unter Verwendung eines Schlüssels für die Busleitung; einenZufallszahlengenerator mit einer Mehrzahl von seriell angeordnetenSpeicherzellen, einer Rückkopplungseinrichtungzum Erzeugen eines Rückkopplungssignalsund zum Einspeisen des Rückkopplungssignalsin eine der Speicherzellen, wobei die Rückkopplungseinrichtung eineerste Kombinationseinrichtung (201) zum Kombinieren vonZuständenvon Speicherzellen, um eine erste Rückkopplungseigenschaft zu erreichen,eine zweite Kombinationseinrichtung (202) zum Kombinierenvon Zuständenvon Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen,die sich von der ersten Rückkopplungseigenschaftunterscheidet, und einen Umschalter (203) zum Aktivierender ersten Rückkopplungseigenschaftin einem ersten Umschaltzustand und zum Aktivieren der zweiten Rückkopplungseigenschaftin einem zweiten Umschaltzustand aufweist, wobei der Umschalter(203) einen Steuereingang (204) zum Erhalten einesSteuersignals (z) von einer externen Steuerung (210) aufweist, undwobei der Umschalter (203) ausgebildet ist, um ansprechendauf das Steuersignal in den ersten oder den zweiten Umschaltzustandversetzt zu werden.
[19] Busverschlüsselungseinrichtungnach Anspruch 18, bei der der Zufallszahlengenerator folgendes Merkmalaufweist: eine Zufallszahlenausgabeeinrichtung (106),wobei die Zufallszahlenausgabeeinrichtung (106) ausgebildetist, um fürjede Busleitung durch Kombination von Zuständen einer Gruppe von Speicherzelleneine Ausgabefolge zu erzeugen und zu einer Einrichtung zum Entschlüsseln oderVerschlüsselnfür dieBusleitung zuzuführen,wobei die Zufallszahlenausgabeeinrichtung (106) ausgebildetist, so dass fürjede Busleitung eine Gruppe von Speicherzellen vorgesehen ist, diesich von einer Gruppe von Speicherzellen unterscheidet, die für eine andereBusleitung vorgesehen ist.
[20] Verfahren zum Erzeugen von Zufallszahlen mit einemZufallszahlengenerator, der eine Vorwärtskopplungseinrichtung miteiner Mehrzahl von in Serie zueinander geschalteten Speicherzellenund eine Rückkopplungseinrichtungaufweist, die mit der Vorwärtskopplungseinrichtunggekoppelt ist, mit folgenden Schritten: Aktivieren einer erstenKombinationseinrichtung zum Kombinieren von Zuständen von Speicherzellen gemäß einerersten Rückkopplungseigenschaft;und alternativ zum Aktivieren der ersten Kombinationseinrichtung,Aktivieren einer zweiten Kombinationseinrichtung zum Kombinierenvon Zuständenvon Speicherzellen, um eine zweite Rückkopplungseigenschaft zu erreichen,die sich von der ersten Rückkopplungseigenschaftunterscheidet, wobei der Schritt des Aktivierens der erstenKombinationseinrichtung und der Schritt des Aktivierens einer zweitenKombinationseinrichtung abhängigvon einem Steu ersignal durchgeführtwerden, das von einer externen Steuerung geliefert wird.
[21] Computerprogramm mit einem Programmcode zum Ausführen desVerfahrens zum Erzeugen von Zufallszahlen gemäß Patentanspruch 20, wenn dasProgramm auf einem Computer abläuft.
类似技术:
公开号 | 公开日 | 专利标题
Barenghi et al.2012|Fault injection attacks on cryptographic devices: Theory, practice, and countermeasures
US6754345B2|2004-06-22|Pseudorandom number generation circuit and data communication system employing the same
CN101401103B|2012-04-18|用于跨越多个处理器的安全启动的系统和方法
Kocarev et al.2003|Pseudorandom bits generated by chaotic maps
EP1472587B1|2005-06-08|Rechenwerk und verfahren zum ausfuehren einer arithmetischen operation mit verschluesselten operanden
US5048086A|1991-09-10|Encryption system based on chaos theory
Golic2006|New methods for digital generation and postprocessing of random data
US8531247B2|2013-09-10|Device and method for generating a random bit sequence
US6065029A|2000-05-16|Method and system for providing a random number generator
CA1331789C|1994-08-30|Dynamic feedback arrangement scrambling technique keystream generator
Drutarovsky et al.2007|A robust chaos-based true random number generator embedded in reconfigurable switched-capacitor hardware
US8410857B2|2013-04-02|Apparatus and method for generating a random bit sequence
CN101965552B|2013-03-13|基于数控振荡器的数字随机数生成器
US7907722B2|2011-03-15|Protection against power analysis attacks
Hell et al.2007|Grain: a stream cipher for constrained environments
CN100583739C|2010-01-20|加密装置、加密方法及其存储介质
KR100610367B1|2006-08-10|정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치
Canivet et al.2011|Glitch and laser fault attacks onto a secure AES implementation on a SRAM-based FPGA
US20060069706A1|2006-03-30|Random number generator and method for generating random numbers
EP1776757B1|2019-04-10|Zufallszahlengenerator auf der basis von logikschaltungen mit rückkopplung
US8219602B2|2012-07-10|Method and apparatus for generating random data
JP3696209B2|2005-09-14|シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
JP2013242584A|2013-12-05|暗号乱数発生器にシードを与えるための方法及び装置
US20100262840A1|2010-10-14|Method and devices for protecting a microcircuit from attacks for obtaining secret data
CA2723405C|2013-06-25|Cryptographic system including a random number generator using finite field arithmetics
同族专利:
公开号 | 公开日
DE102004013481B4|2013-01-24|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-10-13| OP8| Request for examination as to paragraph 44 patent law|
2012-09-19| R018| Grant decision by examination section/examining division|
2013-07-02| R082| Change of representative|
2013-08-01| R020| Patent grant now final|Effective date: 20130425 |
优先权:
申请号 | 申请日 | 专利标题
DE200410013481|DE102004013481B4|2004-03-18|2004-03-18|Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen mit externer Auffrischung|DE200410013481| DE102004013481B4|2004-03-18|2004-03-18|Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen mit externer Auffrischung|
[返回顶部]