DE102014219083A1 - Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators - Google Patents

Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators Download PDF

Info

Publication number
DE102014219083A1
DE102014219083A1 DE102014219083.5A DE102014219083A DE102014219083A1 DE 102014219083 A1 DE102014219083 A1 DE 102014219083A1 DE 102014219083 A DE102014219083 A DE 102014219083A DE 102014219083 A1 DE102014219083 A1 DE 102014219083A1
Authority
DE
Germany
Prior art keywords
feedback
ring oscillator
parity generator
activated
parity
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.)
Withdrawn
Application number
DE102014219083.5A
Other languages
English (en)
Inventor
Markus Dichtl
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Priority to DE102014219083.5A priority Critical patent/DE102014219083A1/de
Publication of DE102014219083A1 publication Critical patent/DE102014219083A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

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)
  • Logic Circuits (AREA)

Abstract

Die Erfindung betrifft einen Paritätsgenerator zum Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators, der Ringoszillator aufweisend eine Mehrzahl an aktivierbaren Rückkopplungspfaden, wobei die Rückkopplungsfunktion eine Eignung des Ringoszillators zur Erzeugung von Zufallsbits festlegt und durch aktivierte Rückkopplungspfade realisiert wird, wobei durch den Paritätsgenerator eine Parität einer Anzahl von mittels einer Konfiguration aktivierten Rückkopplungspfaden ermittelbar ist und in Abhängigkeit von der Parität mindestens ein durch den Paritätsgenerator aktivierbarer und/ oder deaktivierbarer Rückkopplungspfad derart schaltbar ist, dass eine Gesamtanzahl der aktivierten Rückkopplungspfade aus mittels der Konfiguration und durch den Paritätsgenerator aktivierten Rückkopplungspfaden hinsichtlich einer Parität der Gesamtanzahl derart ausgestaltet ist, dass der Ringoszillator fixpunktfrei ist.

Description

  • Die Erfindung betrifft einen Paritätsgenerator sowie ein Verfahren zum Ausgleichen einer Rückkopplungsfunktion und eine Vorrichtung mit Paritätsoperator zur Erzeugung von Zufallsbits.
  • Es sind allgemein als Zufallszahlengeneratoren rückgekoppelte, chaotisch schwingende Schaltungen aus Logikgattern zur Erzeugung echter Zufallszahlen bekannt. Das Vorliegen einer chaotischen Schwingung erhöht dabei die Entropierate. Solche Zufallszahlen werden beispielsweise in kryptographischen Verfahren für die Erzeugung von kryptographischen Schlüsseln oder in Challenge-Response-Verfahren für die Erzeugung einmalig verwendeter Werte, sogenannter Nonces, benötigt. Als Zufallszahlengeneratoren werden insbesondere chaotisch schwingende Galois- oder Fibonacci-Ringoszillatoren verwendet. Für Galois-Ringoszillatoren wird in der Schrift von Jovan Golic „New Methods for Digital Generation and Postprocessing of Random Data" (IEEE Trans. Computers 55(10): 1217–1229 (2006)) als Bedingung für Rückkopplungspolynome bei Galois-Ringoszillatoren insbesondere gefordert, dass ein Rückkopplungspolynom von der Form f(x) = (1 + x)h(x) mit ungeradem Grad von f ist. Überdies wird dort gefordert, dass h(x) primitiv ist. Für einen Fibonacci-Ringsozillator wird als Bedingung für Rückkopplungspolynome insbesondere gefordert, dass ein Rückkopplungspolynom von der Form f(x) = (1 + x)h(x) mit h(1) = 1 ist. Überdies wird dort gefordert, dass h(x) primitiv ist.
  • Geeignete Rückkopplungspolynome für rückgekoppelte Ringoszillatoren zur Erzeugung von Zufallsbits wurden bislang rechnergestützt von Hand bestimmt. Vor diesem Hintergrund besteht die Aufgabe der vorliegenden Erfindung darin, ein Ausgleichen einer Rückkopplungsfunktion zu ermöglichen, so dass auf einfache Weise zwischen geeigneten Rückkopplungsfunktionen eines Ringoszillators umgeschaltet werden kann.
  • Diese Aufgabe wird durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
  • Die Erfindung betrifft einen Paritätsgenerator zum Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators, der Ringoszillator aufweisend eine Mehrzahl an aktivierbaren Rückkopplungspfaden, wobei die Rückkopplungsfunktion eine Eignung des Ringoszillators zur Erzeugung von Zufallsbits festlegt und durch aktivierte Rückkopplungspfade realisiert wird, wobei durch den Paritätsgenerator eine Parität einer Anzahl von mittels einer Konfiguration aktivierten Rückkopplungspfaden ermittelbar ist und in Abhängigkeit von der Parität mindestens ein durch den Paritätsgenerator aktivierbarer und/ oder deaktivierbarer Rückkopplungspfad derart schaltbar ist, dass eine Gesamtanzahl der aktivierten Rückkopplungspfade aus mittels der Konfiguration und durch den Paritätsgenerator aktivierten Rückkopplungspfaden hinsichtlich einer Parität der Gesamtanzahl derart ausgestaltet ist, dass der Ringoszillator fixpunktfrei ist.
  • Unter einer Parität wird die Eigenschaft eines ganzzahligen Wertes, wie insbesondere einer Anzahl, verstanden, geradzahlig oder ungeradzahlig zu sein. Der Paritätsgenerator ermittelt somit für eine vorgegebene Konfiguration des Ringoszillators anhand der Anzahl aktiver Rückkopplungspfade, ob eine fixpunktfreie Konfiguration vorliegt. D.h. der Paritätsgenerator ermittelt, ob ein sogenannter Fixpunkt, d.h. ein stabiler Zustand, aus dem keine weitere Schwingung mehr entsteht, eingenommen werden kann und stellt sicher, dass aufgrund aktivierter Rückkopplungspfade eine Schwingung in der Schaltung erhalten bleibt. Dafür werden diejenigen Rückkopplungspfade innerhalb des Ringoszillators ausgewertet, welche über eine Konfiguration in aktiviertem Zustand vorliegen oder zumindest ein Teil dieser Rückkopplungspfade, insbesondere jeder zweite Rückkopplungspfad nach einem Inverter von je einem Paritätsgenerator. Dabei kann die Konfiguration manuell vorgegeben sein oder durch eine Einheit zufällig oder nach einer vorgegebenen Vorschrift vorgegeben werden. Beispielsweise wird für logische Abbildungseinrichtungen innerhalb der Rückkopplungspfade von einer Einheit ein Wert vorgegeben, so dass die Rückkopplung in diesem Rückkopplungspfad aktiviert wird. Der Paritätsgenerator ermittelt beispielsweise die Anzahl der aktivierten Rückkopplungspfade und insbesondere die Parität dieser Anzahl, d.h. ob die Anzahl gerad- oder ungeradzahlig ist.
  • Der Paritätsgenerator legt die Rückkopplung in dem über ihn aktivierbaren und/ oder deaktivierbaren Rückkopplungspfad fest und schaltet ihn in Abhängigkeit von der ermittelten Parität derart, dass der Ringoszillator fixpunktfrei ist oder die Gesamtkonfiguration des Ringoszillators keinen Fixpunkt auftreten lässt. Dazu wird die Parität der Gesamtanzahl der aktivierten Rückkopplungspfade, d.h. der über die Konfiguration und über den Paritätsgenerator aktivierten Pfade, berücksichtigt, d.h. die Gesamtanzahl geradzahlig oder ungeradzahlig gewählt, so dass der Ringoszillator fixpunktfrei ist. Falls fest aktivierte Rückkopplungspfade vorgesehen sind, die nicht aktivierbar oder deaktivierbar ausgestaltet sind, werden diese vorteilhafterweise zur Gesamtanzahl hinzugezählt.
  • Je nach zugrundeliegender Ringoszillator-Konstruktion, z.B. für einen Fibonacci-Ringoszillator, sind mehrere aktivierbare Rückkopplungspfade als ausgleichende Rückkopplungspfade vorgesehen, die jeweils von einem Paritätsgenerator aktiviert oder deaktiviert werden. Somit kann berücksichtigt werden, dass aufgrund der Konstruktion eines Fibonacci-Ringoszillators zwei mögliche Fixpunktszenarien auftreten können und beide durch Ausgleich der Anzahl aktivierter Rückkopplungen verhindert werden sollen. Aufgrund der beiden möglichen Bitmuster in der Inverterkette, die einen Fixpunkt bilden, nämlich beispielsweise 01010101 und 10101010, regeln zwei Paritätsgeneratoren an den beiden Positionen gerade/ ungerade die zusätzlich zu aktivierenden oder zu deaktivierenden Rückkopplungspfade. Die Position gerade/ ungerade wird dabei durch die Position innerhalb der Kette der Inverter bestimmt. Die erste, dritte, usw. Position wird im Folgenden als ungerade, die zweite, vierte usw. als gerade bezeichnet.
  • Überdies unterscheidet sich je nachdem, ob die Länge des Fibonacci-Ringoszillators geradzahlig oder ungeradzahlig ist, das Kriterium, ob die Gesamtanzahl der durch jeweils einen Paritätsgenerator ausgleichbaren aktivierten Rückkopplungspfade jeweils an ungeraden und geraden Positionen ungeradzahlig oder geradzahlig sein soll.
  • Mindestens einer der aktivierbaren Rückkopplungspfade innerhalb des Ringoszillators wird somit durch den Paritätsgenerator gesteuert. Schaltbar bedeutet dabei, dass ein Umschalten von einem aktivierten in einen deaktivierten Zustand oder andersherum vorgenommen wird oder, dass ein Umschalten nicht vorgenommen wird und ein aktivierter oder deaktivierter Zustand beibehalten wird. Der durch den Paritätsgenerator schaltbare Rückkopplungspfad wird oder bleibt beispielsweise zusätzlich zu den über die Konfiguration aktivierten Rückkopplungspfaden aktiviert, so dass insgesamt in dem Ringoszillator geradzahlig oder ungeradzahlig viele Rückkopplungspfade aktiviert sind. Alternativ wird der durch den Paritätsgenerator zuschaltbare Rückkopplungspfad nicht aktiviert oder deaktivert, falls bereits durch die Konfiguration eine geradzahlige oder ungeradzahlige Anzahl an Rückkopplungspfaden im Ringoszillator aktiviert ist.
  • Aktiviert bedeutet dabei, dass ein Signalwechsel im Rückkopplungspfad sich auf einen logischen Wert innerhalb des Ringoszillators logisch hinter der Stelle, an der der Rückkopplungspfad eingekoppelt wird, auswirkt.
  • Die aktivierbaren Rückkopplungspfade des Ringoszillators bestehen aus Pfaden aufgrund einer konfigurationsgetriebenen Rückkopplung sowie mindestens einer Ausgleichsrückkopplung, letztere gesteuert durch jeweils einen Paritätsgenerator.
  • Bei Zufallszahlengeneratoren, welche auf Grundlage einer theoretischen Berechnung chaotisch schwingen sollten, unerwünschter Weise aber periodisch schwingen oder nach einer Zeitspanne, in der eine chaotische Schwingung vorliegt, in ein periodisches Schwingen übergehen, kann so vorteilhaft zwischen mehreren geeigneten Rückkopplungspolynomen gewechselt werden. D.h. es kann zwischen unterschiedlichen Konfigurationen des Galois-oder Fibonacci-Ringoszillators gewechselt werden, welche potentiell eine chaotische Schwingung eines Signals im Ringoszillator bewirken.
  • Es wird durch den Paritätsgenerator sichergestellt, dass für jede Konfiguration eine fixpunktfreie Schaltung vorliegt. Beispielsweise weist ein Ringoszillator dazu eine ungerade Länge auf, d.h. besteht beispielsweise aus einer ungeradzahligen Anzahl an logisch negierenden Abbildungseinrichtungen. Insbesondere handelt es sich bei dem Ringoszillator um einen Galois-Ringoszillator. Verfällt der chaotisch schwingende Ringoszillator in eine periodische Schwingung, so wird mittels der Konfiguration die Rückkopplungsfunktion des Ringoszillators geändert. Es wird beispielsweise auf eine zweite Konfiguration umgeschaltet. Wiederum ermittelt der Paritätsgenerator die mittels der Konfiguration aktivierten Rückkopplungspfade und passt den Ausgleichsrückkopplungspfad entsprechend an.
  • Für eine Ausgestaltung mit einem Fibonacci-Ringoszillator stellen zwei Paritätsgeneratoren sicher, dass jeweils die Rückkopplung der ungeraden Rückkopplungspfade und der geraden Rückkopplungspfade durch einen jeweiligen Paritätsgenerator ausgeglichen wird.
  • Somit können beliebig viele und insbesondere alle der möglichen fixpunktfreien Konstruktionen eines Ringoszillators vorgegebener Länge, insbesondere einer Galois- oder Fibonacci-Ringoszillatorschaltung, mit Hilfe des mindestens einen Paritätsgenerators gebildet werden. Insbesondere können nur Teilmengen aller möglichen fixpunktfreien Galois-Ringoszillatorschaltungen einer vorgegebenen Länge erzeugt werden, indem Rückkopplungspfade fest vorgesehen sind sowie die aktivierbaren Rückkopplungspfade über die Konfiguration und den Paritätsgenerator steuerbar sind. Für eine fest vorgegebene Länge eines Galois-Ringoszillators sind auf diese Weise verschiedenartige flexible Galois-Ringoszillatoren ohne Entwurfsaufwand implementierbar. Da die Konstruktion des zugrundeliegenden Ringoszillators nicht geändert wird, sondern lediglich einzelne von vorhandenen Rückkopplungspfaden aktiviert oder deaktiviert werden, ist der Hardwareaufwand für die Implementierung sehr gering. Gleichzeitig ist eine maximale Anzahl von umschaltbaren Polynomen verfügbar für den Fall, dass eine unerwünschte periodische Schwingung auftritt.
  • Für einen Fibonacci-Ringoszillator sind ebenso fest vorgegebene, nicht deaktivierbare Rückkopplungspfade denkbar, je nach Anforderung an die Anzahl der Umschaltmöglichkeiten.
  • Das heißt, mittels des vorgeschlagenen Paritätsgenerators ist ein Zufallszahlengenerator konstruierbar, welcher die maximal mögliche Sicherheit aufweist, ein geeignetes Rückkopplungspolynom aus möglichen aus der zugrundeliegenden Ringoszillatorschaltung realisierbaren Rückkopplungspolynomen zu finden, auch bei Auftreten einer periodischen Schwingung. Die maximale Anzahl verschiedener fixpunktfreier Schaltung steht zur Verfügung falls alle vorgesehenen Rückkopplungspfade über die Konfiguration oder den Paritätsgenerator steuerbar sind. Es kann so die maximale Anzahl an möglichen Kombinationen aktivierter bzw. deaktivierter Rückkopplungspfade gebildet werden.
  • Gemäß einer Ausgestaltung ist die Konfiguration mittels eines Zählers vorgebbar. Dabei kann ein Zähler insbesondere die Rückkopplung einzelner Rückkopplungspfade festlegen. Beispielsweise wird ein binärer Zähler verwendet, welcher die Werte 0 oder 1 an einem Zählerausgang festlegt. Je nach logischem Wert ist der Rückkopplungspfad aktiviert oder deaktiviert. Insbesondere weist der Zähler mehrere Zählerausgänge auf und ein jeweiliger Zählerausgang ist mit einem jeweiligen Rückkopplungspfad des Ringoszillators verbunden. Für den jeweiligen Rückkopplungspfad gibt ein jeweiliger Zählerausgang vor, ob der Rückkopplungspfad aktiviert ist. Insbesondere weist der Zähler einen Zähleingang auf, welcher dem Zähler einen Wert 0 oder 1 zuführt. Bei jedem Übergang des Eingangs von 0 auf 1 oder andersherum von 1 auf 0 oder bei jedem Wechsel des logischen Wertes am Zähleingang erhöht der Zähler seinen Zählerstand. Dadurch ändern sich beispielsweise die logischen Werte am jeweiligen Zählerausgang je nach Zählerstand. Somit kann auf vorteilhafte Weise durch kontinuierliches Erhöhen des Zählerstandes oder durch Erhöhen des Zählerstandes auf zufällige oder unregelmäßige Weise die Konfiguration des Ringoszillators geändert werden. Durch ein Erhöhen oder alternativ Erniedrigen des Zählerstandes ändert sich zumindest ein Zählerausgang des Zählers und somit ändert sich die Anzahl oder die Auswahl der mittels der Konfiguration aktivierten Rückkopplungspfade im Ringoszillator. Der Paritätsgenerator registriert die gegebenenfalls geänderte Parität der Anzahl der mittels der Konfiguration aktivierten Rückkopplungspfade und aktiviert oder deaktiviert gegebenenfalls den zuschaltbaren Rückkopplungspfad, der mit dem Paritätsgenerator verbunden ist.
  • Das Umschalten von einer bestehenden ersten Konfiguration zu einer zweiten Konfiguration mittels geänderter Zählerausgänge, d.h. insbesondere mittels eines Erhöhens des Zählerstandes, kann insbesondere dann erfolgen, wenn eine periodische Schwingung in einem Ringoszillatorsignal ermittelt wird. Beispielsweise erfasst eine Periodizitätserkennungseinrichtung innerhalb des Ringoszillators das im Ringoszillator propagierende Signal und erkennt eine periodische Schwingung. Damit erkennt die Periodizitätserkennungseinrichtung, dass das als zufällig erwartete Zufallssignal nicht länger zur Extraktion von Zufallsbits verwendet werden kann und gibt ein Umschaltsignal aus. Bei dem Umschaltsignal handelt es sich beispielsweise um ein Signal, das das Erhöhen des Zählerstandes bewirkt. Daraus ergibt sich eine neue Konfiguration, welche unter Einbeziehung des durch den Paritätsgenerator schaltbaren Rückkopplungspfades eine fixpunktfreie Ringoszillatorschaltung ergibt. Diese schwingt beispielsweise chaotisch und insbesondere zumindest in einem Anfangszeitraum der Schwingung chaotisch. Es kann wiederum bis zum Auftreten der nächsten periodischen Schwingung gewartet werden, bis der Zählerstand weiter erhöht wird.
  • Gemäß einer Ausgestaltung ist eine jeweilige logische Abbildungseinrichtung in einem jeweiligen Rückkopplungspfad zum Aktivieren einer Rückkopplung vorgesehen. Es sind insbesondere AND-Gatter, NAND-Gatter, OR-Gatter oder NOR-Gatter vorgesehen oder es ist eine AND-Funktion, NAND-Funktion, OR-Funktion oder NOR-Funktion mittels einer Nachschlagetabelle oder sogenannten Look-Up-Table realisiert. Auf reprogrammierbaren Digitalbausteinen, sogenannten Field Programmable Gate Arrays, kurz FPGAs, kann beispielsweise eine logische Abbildungseinrichtung besonders günstig durch sogenannte Look-Up-Tables, kurz LUTs, realisiert werden. LUTs können im Rahmen ihrer verfügbaren Eingangs- und Ausgangssignale beliebige Logikfunktionen realisieren, da in ihnen in Form einer Wertetabelle zu jeder möglichen Kombination von Eingangssignalen ein dazugehöriger Ausgangswert hinterlegt werden kann.
  • Die jeweilige logische Abbildungseinrichtung ist beispielsweise geeignet zum Rückkoppeln eines Wertes im Rückkopplungspfad an eine beliebige Stelle innerhalb des Ringoszillators in einem aktivierten Zustand und koppelt ein Signal im Rückkopplungspfad nicht rück, falls sie im deaktivierten Zustand vorliegt. Dies ist insbesondere für Galois-Ringoszillatoren der Fall. Ferner kann die jeweilige logische Abbildungseinrichtung ein Rückkoppeln eines Wertes an einer beliebigen Stelle innerhalb des Ringoszillators über eine Verknüpfung dieses Wertes oder des negierten Wertes mit einem Wert, der im den Ringoszillator schließenden Rückführungspfad vorliegt, aktivieren oder deaktivieren. Dies ist insbesondere für Fibonacci-Ringoszillatoren der Fall.
  • Die Funktion der aktivierten oder deaktivierten Rückkopplung wird insbesondere dadurch realisiert, dass ein erster Eingang der logischen Abbildungseinrichtung durch die Konfiguration mit einem logischen Wert belegt wird und der zweite Eingang aufgrund der Funktionsweise der logischen Abbildungseinrichtung nur für einen der beiden am ersten Eingang angelegten Werte rückgekoppelt wird. Für den anderen der beiden Werte am ersten Eingang ist der deaktivierte Zustand vorliegend, in welchem ein Signalwechsel am zweiten Eingang keinen Einfluss auf den rückgekoppelten Wert nimmt.
  • Gemäß einer Ausgestaltung ist mindestens einer der aktivierbaren Rückkopplungspfade über einen jeweiligen Zählereingang der jeweiligen logischen Abbildungseinrichtung aktivierbar, wobei in Abhängigkeit von einem Zähler am Zählereingang oder ersten Eingang vorgegebenen logischen Zählerwert ein an einem Rückkopplungseingang der jeweiligen logischen Abbildungseinrichtung anliegendes Signal rückkoppelbar ist. Wird der erste Eingang der logischen Abbildungseinrichtung also durch den Zählereingang belegt, so ist durch den Zählerstand des Zählers vorgebbar, ob der Rückkopplungspfad aktiviert oder deaktiviert ist.
  • Gemäß einer Ausgestaltung werden zum Ermitteln der Parität der Anzahl von mittels des Zählers aktivierten Rückkopplungspfaden durch den Paritätsgenerator den jeweiligen Zählereingängen zugeführte logische Zählerwerte ermittelt. Dafür werden insbesondere die jeweiligen Zählerausgänge des Zählers jeweils zu dem jeweiligen Rückkopplungspfad sowie zusätzlich jeweils zum Paritätsgenerator geführt. Somit ist ohne großen Schaltungsaufwand die Funktionsweise der jeweiligen logischen Abbildungseinrichtungen bekannt. Der Paritätsgenerator kann somit auf die mittels der Konfiguration oder mittels des Zählers vorgesehenen Rückkopplungspfade bzw. deren Anzahl und Parität reagieren. Zusätzlich kann dem Paritätsgenerator eine Information über fest vorgesehene, nicht-aktivierbare Rückkopplungspfade vorliegen.
  • Gemäß einer Ausgestaltung weist ein jeweiliger durch den Paritätsgenerator schaltbarer Rückkopplungspfad jeweils eine logische Abbildungseinrichtung auf, wobei in Abhängigkeit von einem von dem Paritätsgenerator an einem Paritätsgeneratoreingang vorgegebenen logischen Wert ein an einem Rückkopplungseingang der jeweiligen logischen Abbildungseinrichtung anliegendes Signal rückkoppelbar ist. Ein über den Paritätsgenerator gesteuerter Rückkopplungspfad weist somit insbesondere eine identische Funktionsweise wie die übrigen Rückkopplungspfade innerhalb des Ringoszillators auf.
  • Die Erfindung betrifft ferner eine Vorrichtung zur Erzeugung von Zufallsbits mit
    • – einem eine ungerade Anzahl an logisch negierenden Abbildungseinrichtungen umfassenden Ringoszillator und mindestens einem Rückkopplungspfad mit jeweiliger logischer Abbildungseinrichtung und einem Ausgleichsrückkopplungspfad mit logischer Ausgleichsabbildungseinrichtung, der Ausgleichsrückkopplungspfad abzweigend von dem mindestens einen Rückkopplungspfad ausgebildet,
    • – einer Konfigurationseinheit mit mindestens einem Ausgang zum Vorgeben eines jeweiligen Wertes an einem Eingang der jeweiligen logischen Abbildungseinrichtung eines jeweiligen Rückkopplungspfades, wobei mittels der jeweiligen logischen Abbildungseinrichtung in Abhängigkeit von dem jeweiligen Wert eine jeweilige konfigurationsgetriebene Rückkopplung eines Signales des Ringoszillators im Rückkopplungspfad aktivierbar ist;
    • – einem Paritätsgenerator zum Vorgeben eines Paritätsgeneratorwertes an einem Eingang der logischen Ausgleichsabbildungseinrichtung, wobei mittels der logischen Ausgleichsabbildungseinrichtung in Abhängigkeit von dem Paritätsgeneratorwert eine Ausgleichsrückkopplung des Signales aktivierbar und/ oder deaktivierbar ist, wobei der Paritätsgenerator ausgebildet ist zum Ermitteln der jeweiligen Werte der jeweiligen Ausgänge und zum Ausgeben des Paritätsgeneratorwertes derart, dass eine eine Parität einer Gesamtanzahl aus aktivierten konfigurationsgetriebenen Rückkopplungen und aktivierter Ausgleichsrückkopplung derart ausgebildet ist, dass der Ringoszillator fixpunktfrei ist;
    • – einer Einheit zur Erfassung eines Zufallssignales innerhalb des Ringoszillators und zum Ausgeben der Zufallsbits.
  • Ein oben beschriebener Paritätsoperator wird also in der beschriebenen Vorrichtung verbaut und weist die Funktionalität auf, die Rückkopplungsfunktion des beschriebenen Ringoszillators auszugleichen.
  • Fest in der Ringoszillatorschaltung vorgesehene, d.h. dauerhaft aktivierte, Rückkopplungspfade sind gesondert zu berücksichtigen. Diese können insbesondere festlegen, ob die Gesamtanzahl aktivierter Rückkopplungspfade geradzahlig oder ungeradzahlig zu wählen ist.
  • Gemäß einer Ausgestaltung ist der Ringoszillator als ein Galois-Ringoszillator ausgeführt und der mindestens eine Rückkopplungspfad ein in dem Galois-Ringoszillator vorgesehener Galois-Rückkopplungspfad.
  • Gemäß einer Ausgestaltung weist die Vorrichtung zwei oder mehrere Rückkopplungspfade sowie den Ausgleichsrückkopplungspfad auf, so dass ein Signal insbesondere an jede der negierenden Abbildungseinrichtungen rückkoppelbar ist sowie fest von der letzten negierenden Abbildungseinrichtung in einer Kette zur ersten zurückgeführt wird. Somit ist mittels einer Einstellung aller möglichen Kombinationen an Zählerausgängen gleichzeitig die maximale Anzahl an Umschaltvorgängen möglich, so dass die Gefahr, dass der Ringoszillator aus einer periodischen Schwingung nicht mehr in ein chaotisches Schwingen gebracht werden kann, minimiert ist.
  • Die Erfindung betrifft ferner eine Vorrichtung zur Erzeugung von Zufallsbits mit
    • – einem eine Anzahl an logisch negierenden Abbildungseinrichtungen umfassenden Ringoszillator;
    • – mindestens einem Rückkopplungspfad mit jeweiliger logischer Abbildungseinrichtung zum Rückkoppeln eines Signales an einer jeweiligen Stelle zwischen den logisch negierenden Abbildungseinrichtungen;
    • – mindestens einem Ausgleichsrückkopplungspfad mit jeweiliger logischer Ausgleichsabbildungseinrichtung zum Rückkoppeln eines weiteren Signales an mindestens einer weiteren Stelle zwischen den logisch negierenden Abbildungseinrichtungen;
    • – einer Konfigurationseinheit mit mindestens einem Ausgang zum Vorgeben eines jeweiligen Wertes an einem Eingang der jeweiligen logischen Abbildungseinrichtung eines jeweiligen Rückkopplungspfades, wobei mittels der jeweiligen logischen Abbildungseinrichtung in Abhängigkeit von dem jeweiligen Wert eine jeweilige konfigurationsgetriebene Rückkopplung des Signales des Ringoszillators aktivierbar ist;
    • – mindestens einem Paritätsgenerator zum Vorgeben eines Paritätsgeneratorwertes an einem Eingang der jeweiligen logischen Ausgleichsabbildungseinrichtung, wobei mittels der jeweiligen logischen Ausgleichsabbildungseinrichtung in Abhängigkeit von dem Paritätsgeneratorwert eine Ausgleichsrückkopplung des weiteren Signales aktivierbar und/ oder deaktivierbar ist,
    • – wobei der mindestens eine Paritätsgenerator ausgebildet ist zum Ermitteln der jeweiligen Werte ausgewählter Ausgänge, insbesondere jedes zweiten Ausganges, und zum Ausgeben des Paritätsgeneratorwertes derart, dass eine Parität einer Gesamtanzahl aus aktivierten konfigurationsgetriebenen Rückkopplungen und aktivierter Ausgleichsrückkopplung derart ausgebildet ist, dass der Ringoszillator fixpunktfrei ist;
    • – einer Einheit zur Erfassung eines Zufallssignales innerhalb des Ringoszillators und zum Ausgeben der Zufallsbits.
  • Auch für diese beschriebene Variante einer Vorrichtung wird ein Paritätsgenerator mit der oben beschriebenen Funktionalität verbaut, insbesondere sind zwei Paritätsgeneratoren nötig, um eine jeweilige Auswahl an Rückkopplungspfaden getrennt voneinander auszugleichen. Die Funktionalität des Paritätsgenerators bleibt dabei immer gleich. Welche Rückkopplungspfade hinsichtlich ihrer Aktivierung durch den Paritätsgenerator untersucht werden und welche Ausgleichsrückkopplungspfade zum Ausgleich betrieben werden, hängt dabei vom Aufbau des Ringoszillators ab.
  • Gemäß einer Ausgestaltung ist der Ringoszillator als ein Fibonacci-Ringoszillator ausgeführt und der mindestens eine Rückkopplungspfad ein in dem Fibonacci-Ringoszillator vorgesehener Fibonacci-Rückkopplungspfad, welcher das Signal aus einer Stelle innerhalb der Kette der logisch negierenden Abbildungseinrichtungen auskoppelt und über eine logische XOR- oder XNOR-Verknüpfung mit einem rückgeführten Signal zum Schließen des Ringoszillators verknüpft.
  • Gemäß einer Ausgestaltung weist die Vorrichtung zwei oder mehr Rückkopplungspfade auf sowie mindestens zwei Ausgleichsrückkopplungspfade, so dass insbesondere ein jedes Signal am Ausgang einer jeden logisch negierenden Abbildungseinrichtung rückkoppelbar ist.
  • Gemäß einer Ausgestaltung ist durch einen für einen ersten Ausgleichsrückkopplungspfad vorgesehenen ersten Paritätsgenerator eine erste Auswahl von Ausgängen der Konfigurationseinheit ermittelbar, und zwar diejenigen, die logisch negierenden Abbildungseinrichtungen an ungeraden Positionen innerhalb der Kette zugeführt werden. Durch einen für einen zweiten Ausgleichsrückkopplungspfad vorgesehenen zweiten Paritätsgenerator ist eine zweite Auswahl an Werten von den logisch negierenden Abbildungseinrichtungen, die sich an geraden Positionen innerhalb der Kette befinden, zugeführten Ausgängen ermittelbar.
  • Gemäß einer Ausgestaltung sind die negierenden Abbildungseinrichtungen als Logik-Gatter, insbesondere als Inverter oder als Nachschlagetabellen ausgebildet. Insbesondere werden digitale Schaltungselemente verwendet, um die gewünschte Logikfunktion zu realisieren. Auf reprogrammierbaren Digitalbausteinen, sogenannten Field Programmable Gate Arrays, kurz FPGAs, kann beispielsweise die Invertierungsfunktion besonders günstig durch sogenannte Look-Up-Tables, kurz LUTs, realisiert werden.
  • Gemäß einer Ausgestaltung ist die Schaltung digital und/oder zumindest teilweise analog ausgeführt. Somit können bereits vorhandene Schaltungselemente vorteilhaft in die Schaltung integriert werden.
  • Gemäß einer Ausgestaltung sind eine jeweilige logische Abbildungseinrichtung des mindestens einen Rückkopplungspfades und/oder eine jeweilige logische Ausgleichsabbildung des Ausgleichsrückkopplungspfades als Logik-Gatter, insbesondere als AND-Gatter, NAND-Gatter, OR-Gatter oder NOR-Gatter, oder als Nachschlagetabellen ausgebildet.
  • Gemäß einer Ausgestaltung wird die Vorrichtung als Teil einer FPGA-Einrichtung oder einer ASIC-Einrichtung ausgeführt.
  • Die Erfindung betrifft ferner ein Verfahren zum Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators, der Ringoszillator aufweisend eine Mehrzahl an aktivierbaren Rückkopplungspfaden, wobei aktivierte Rückkopplungspfade die Rückkopplungsfunktion realisieren und wobei die Rückkopplungsfunktion eine Eignung des Ringoszillators zur Erzeugung von Zufallsbits festlegt, wobei durch einen Paritätsgenerator eine Parität einer Anzahl von mittels einer Konfiguration aktivierten Rückkopplungspfaden ermittelt wird und in Abhängigkeit von der Parität mindestens ein durch den Paritätsgenerator aktivierbarer und/ oder deaktivierbarer Rückkopplungspfad derart geschaltet wird, dass eine Gesamtanzahl der aktivierten Rückkopplungspfade aus mittels der Konfiguration und durch den Paritätsgenerator aktivierten Rückkopplungspfade hinsichtlich einer Parität der Gesamtanzahl derart ausgestaltet ist, dass der Ringoszillator fixpunktfrei ist.
  • Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen mit Hilfe der Figuren näher erläutert. Es zeigen:
  • 1 eine schematische Darstellung einer Vorrichtung zur Erzeugung von Zufallsbits mit einem Paritätsgenerator gemäß einem ersten Ausführungsbeispiel der Erfindung;
  • 2 eine schematische Darstellung einer Vorrichtung zur Erzeugung von Zufallsbits mit zwei Paritätsgeneratoren gemäß einem zweiten Ausführungsbeispiel der Erfindung;
  • 3 eine schematische Darstellung eines Oszillogramms mit einem Signalverlauf innerhalb des Ringoszillators bei einem Durchführen des Verfahrens mit einem Ringoszillator gemäß dem ersten Ausführungsbeispiel;
  • In 1 ist schematisch eine Vorrichtung 100 zur Erzeugung von Zufallsbits ZB dargestellt. Die Vorrichtung 100 besteht aus einem Ringoszillator RO, beispielsweise einem Galois-Ringoszillator. Der Ringoszillator RO weist eine Anzahl an logisch negierenden Abbildungseinrichtungen I1, I2, I3, I4, I5 auf. Es handelt sich insbesondere um eine ungerade Anzahl an Invertern. Ein Ausgang des ersten Inverters I1 ist insbesondere mit dem Eingang des zweiten Inverters I2 verbunden, der Ausgang des zweiten Inverters I2 mit dem Eingang des dritten Inverters I3 usw. Außerdem ist der Ausgang des fünften Inverters I5 mit dem Eingang des ersten Inverters I1 verbunden, so dass ein geschlossener Ring entsteht. Dieser Aufbau kann analog für eine beliebige Anzahl ungerader Inverter erfolgen, insbesondere für eine Länge von neun, elf oder mehr Invertern. Es sind für dieses Ausführungsbeispiel vier Rückkopplungspfade 1, 2, 3, 4 vorgesehen, welche ausgehend von der Verbindung zwischen fünftem Inverter I5 und erstem Inverter I1 abzweigen und das Signal in dieser Verbindung jeweils zwischen zwei Invertern rückkoppeln. Dafür ist zwischen jedem der Inverter I1 bis I5 jeweils eins, d.h. insgesamt vier XOR-Gatter X1, X2, X3 und X4 vorgesehen. Einem jeweiligen XOR-Gatter werden also der Ausgang des vorherigen Inverters sowie das Signal aus dem jeweiligen Rückkopplungspfad zugeführt. Es kann alternativ zu dem XOR-Gatter ebenso ein XNOR-Gatter verwendet werden. In dem zweiten bis vierten Rückkopplungspfad 2 bis 4 ist jeweils eine logische Abbildungseinrichtung U2, U3, U4 vorgesehen.
  • Eine jeweilige logische Abbildungseinrichtung U2, U3, U4 weist zwei Eingänge auf, und zwar jeweils einen Zählereingang und einen Rückkopplungseingang. Der Rückkopplungseingang führt der jeweiligen logischen Abbildungseinrichtung U2, U3, U4 das jeweilige Signal im jeweiligen Rückkopplungspfad 2, 3, 4 zu. Dabei handelt es sich um das am letzten Inverter I5 vorliegende Signal.
  • Der Zählereingang führt der jeweiligen logischen Abbildungseinrichtung U2, U3, U4 einen jeweiligen Zählerwert zu, welcher durch einen Zähler Z, in diesem Ausführungsbeispiel einen Binärzähler, vorgegeben wird. Der Zähler Z weist dazu jeweilige Zählerausgänge Z2, Z3, Z4 auf, welche einen Zählerstand ausgeben. Die Anzahl der Zählerausgänge regelt, wie viele Bit der Zählerstand umfassen kann, d.h. legt den maximalen Zählerstand fest. Die verschiedenen Zählerausgänge Z2, Z3, Z4 geben also die unterschiedlich wertigen Bits des Zählerstandes aus. Der Zählerstand des Zählers Z wird insbesondere durch einen Zähleingang C beeinflusst. Beispielsweise erhöht sich der Zählerstand des Zählers Z bei jedem Übergang eines am Zähleingang C vorliegenden logischen Wertes von 0 auf 1. Der Zählerwert, d.h. die am jeweiligen Zählerausgang Z2, Z3, Z4 vorliegenden logischen Werte legen die Konfiguration des Ringoszillators RO insoweit fest, als die über den Zähler Z konfigurierbaren Rückkopplungspfade aktiviert oder deaktiviert werden.
  • Über das Vorgeben eines Wertes am Zählereingang einer jeweiligen logischen Abbildungseinrichtung U2, U3, U4 wird festgelegt, ob der am Rückkopplungseingang anliegende Wert rückgekoppelt wird oder nicht. Beispielsweise ist als eine jeweilige logische Abbildungseinrichtung ein AND-Gatter vorgesehen und bei Anliegen eines logischen Wertes 0 am Zählereingang eines jeweiligen AND-Gatters wird unabhängig vom Wert im Rückkopplungspfad, d.h. am Rückkopplungseingang des AND-Gatters, am Ausgang des AND-Gatters eine 0 ausgegeben. Eine Rückkopplung ist somit für diesen Rückkopplungspfad bei dieser Konfiguration deaktiviert. Ein Signalwechsel im jeweiligen Rückkopplungspfad wirkt sich dann nicht logisch auf den rückgekoppelten Wert, der über das XOR-Gatter an der Rückkopplungsstelle zwischen zwei Invertern zugeführt wird, aus.
  • Liegt dagegen am Zählereingang des AND-Gatters eine logische 1 vor, so gibt das AND-Gatter den Wert 0 aus, falls im Rückkopplungspfad eine 0 vorliegt und den Wert 1, falls im Rückkopplungspfad der Wert 1 vorliegt. Für diese Konfiguration ist der Rückkopplungspfad aktiviert und der zwischen zwei Invertern rückgekoppelte Wert hängt ab vom Wert im durch den Ausgangswert des letzten Inverters I5 gebildeten Rückkopplungspfad.
  • Die Konfiguration wird über die Zählerausgänge des Zählers Z vorgegeben und ändert sich somit mit jedem Erhöhen des Zählerstandes. Dabei können sich ein oder mehr Rückkopplungspfade ändern, d.h. die Änderung der Konfiguration kann ein Aktivieren oder Deaktivieren eines deaktivierten bzw. aktivierten Rückkopplungspfades bewirken.
  • Die jeweiligen logischen Werte an den Zählerausgängen des Zählers Z werden zudem einem Paritätsgenerator P zugeführt. Dieser ermittelt, wie viele Zählerausgänge den Wert logisch 1 ausgeben. Wenn geradzahlig viele der dadurch am Paritätsgenerator P zugeführten Zählwerteingänge den Wert 1 haben, so gibt der Paritätsgenerator an seinem Ausgang den Wert 0 vor. Der Ausgang des Paritätsgenerators wird einem der aktivierbaren Rückkopplungspfade zugeführt, welcher insbesondere nicht mit dem Zähler Z verbunden ist. Dieser Ausgleichsrückkopplungspfad weist ebenfalls ein AND-Gatter als logische Abbildungseinrichtung U1 auf und hat einen Rückkopplungseingang, welcher den Wert im Rückkopplungspfad zuführt. Überdies hat er einen Paritätsgeneratoreingang, welchem der am Paritätsgeneratorausgang vorliegende logische Wert zugeführt wird. Gibt der Paritätsgenerator also den Wert 0 aus, so ist die Funktionsweise des Rückkopplungspfades 1 analog zu dem der Rückkopplungspfade 2 bis 4 deaktiviert.
  • Ermittelt der Paritätsgenerator P hingegen eine ungerade Anzahl an Zählerausgängen, welche den Wert 1 ausgeben, so wird am Ausgang des Paritätsgenerators P der logische Wert 1 ausgegeben. Damit wird der Ausgleichsrückkopplungspfad aktiviert, falls davor eine 0 anlag, und innerhalb der gesamten Ringoszillatorschaltung ist die Anzahl aktivierter Rückkopplungspfade geradzahlig.
  • Für eine gewählte Konfiguration, d.h. für eine Vorgabe eines Zählerstandes, die die über die Konfiguration aktivierbaren Rückkopplungspfade 2 bis 4 vorgibt, ermittelt der Paritätsgenerator P, ob ein Zuschalten eines weiteren Rückkopplungspfades nötig ist, um das Vorliegen einer fixpunktfreien Schaltung, insbesondere eines fixpunktfreien Galois-Ringoszillators, sicherzustellen. Für die sowohl durch den Zähler Z als auch durch den Paritätsgenerator P ermittelte Gesamtkonfiguration des Ringoszillators RO wird somit ein fixpunktfreier Ringoszillator bereitgestellt.
  • Für diese Gesamtkonfiguration wird eine chaotische Schwingung eines Signals innerhalb der Ringoszillatorschaltung, beispielsweise des Signals, das an der Stelle zwischen dem ersten Inverter I1 und dem zweiten Inverter I2 abgreifbar ist, erwartet. Dieses Signal wird beispielsweise zwischen dem ersten Inverter I1 und dem zweiten Inverter I2 ausgekoppelt und einer Einheit F zugeführt. Es handelt sich bei dem Signal für einen rückgekoppelten Ringoszillator, insbesondere einen Galois-Ringoszillator in der vorgegebenen Gesamtkonfiguration, um ein Zufallssignal. Auf vorteilhafte Weise handelt es sich bei der Einheit F um einen weiteren Zähler, um einen Modulo-M-Zähler oder ein Toggle-Flipflop, welches beispielsweise zu vorgebbaren Zeitpunkten ausgelesen wird und welches zur Ausgabe von Zufallsbits ZB geeignet ist. Die Einheit F kann ferner vorteilhaft ein Zwischenspeicherelement, wie beispielsweise ein D- oder Delay-Flipflop sein, welches einen Pegel zu einem durch ein Taktsignal vorgegebenen Zeitpunkt speichert.
  • Geht die sich aufgrund der Gesamtkonfiguration ergebende chaotische Schwingung unerwünschter Weise in eine periodische Schwingung über, so wird vorteilhafterweise der Zählerstand des Zählers Z durch einen Übergang am Zähleingang C erhöht. Dadurch ändert sich die Konfiguration der Rückkopplungspfade 2 bis 4. Beispielsweise ändert sich die Anzahl aktivierter Rückkopplungspfade von einem geradzahligen Wert auf einen ungeradzahligen Wert. Je nach Beschaffenheit des Zählers kann sich ein Erhöhen des Zählerstandes auch derart auswirken, dass andere Rückkopplungspfade oder eine andere Anzahl an Rückkopplungspfaden aktiviert sind, die Anzahl aber sowohl vor dem Erhöhen des Zählerstandes als auch nach dem Erhöhen des Zählerstandes jeweils geradzahlig oder jeweils ungeradzahlig ist. Nach einer Veränderung am Zähleingang C und damit gegebenenfalls veränderten jeweiligen Zählerausgängen Z2, Z3, Z4 ermittelt der Paritätsgenerator automatisch oder getriggert durch den Zähler Z oder den Zähleingang C die Anzahl der über den Zähler Z aktivierten Rückkopplungspfade. Gegebenenfalls schaltet der Paritätsgenerator P den Ausgleichsrückkopplungspfad zu oder deaktiviert ihn, so dass die Gesamtanzahl der aktivierten Rückkopplungspfade geradzahlig ist.
  • Es liegt somit eine neue, von der ursprünglichen Konfiguration abweichende Gesamtkonfiguration vor und auch diese neue Konfiguration stellt einen fixpunktfreien Ringoszillator bereit. Ist also das im Ringoszillator RO abgreifbare Zufallssignal unerwünschter Weise in eine periodische Schwingung übergangen, so wird durch die vorgeschlagene Vorrichtung 100 die Möglichkeit geschaffen, wiederum eine chaotische Schwingung in dem Ringoszillator RO hervorzurufen, wobei sich die Gesamtkonfiguration auf vorteilhafte Weise über den Paritätsgenerator P automatisch derart ergibt, dass die Bedingung einer fixpunktfreien Rückkopplungsschaltung erfüllt ist. Eine aufwändige Überprüfung, ob eine gewählte Konfiguration fixpunktfrei ist, entfällt somit auf vorteilhafte Weise.
  • 2 zeigt eine zweite Ausführungsform der Erfindung, bei der zwei Paritätsgeneratoren in einem Fibonacci-Ringoszillator verbaut sind. In 2 ist schematisch eine Vorrichtung 200 zur Erzeugung von Zufallsbits ZB dargestellt. Die Vorrichtung 200 besteht aus einem Ringoszillator RO, beispielsweise einem Fibonacci-Ringoszillator. Der Ringoszillator RO weist für dieses Ausführungsbeispiel eine gerade Anzahl an logisch negierenden Abbildungseinrichtungen I1, I2, I3, I4, I5, I6, I7, I8 auf. Es handelt sich insbesondere um einen Fibonacci-Ringoszillator gerader Länge. Ein Ausgang des ersten Inverters I1 ist insbesondere mit dem Eingang des zweiten Inverters I2 verbunden, der Ausgang des zweiten Inverters I2 mit dem Eingang des dritten Inverters I3 usw. Außerdem ist der Ausgang des achten Inverters I8 mit dem Eingang des ersten Inverters I1 verbunden, so dass ein geschlossener Ring entsteht. Dieser Aufbau kann analog für eine beliebige Anzahl ungerader Inverter erfolgen, insbesondere für eine Länge von neun, elf oder mehr Invertern. Es sind für dieses Ausführungsbeispiel sieben Rückkopplungspfade 1, 2, 3, 4, 5, 6, 7 vorgesehen, welche jeweils ein Signal zwischen zwei Invertern auskoppeln und dem Rückführungspfad zwischen achtem und erstem Inverter zuführen. Dafür wird jedes Signal eines Rückkopplungspfades über jeweils ein XOR-Gatter X1, X2, X3, X4, X5, X6, X7 mit dem Signal im Rückführungspfad logisch verknüpft.
  • In dem dritten bis siebten Rückkopplungspfad 3 bis 7 ist jeweils eine logische Abbildungseinrichtung U3, U4, U5, U6, U7 vorgesehen.
  • Eine jeweilige logische Abbildungseinrichtung U3, U4, U5, U6, U7 weist zwei Eingänge auf, und zwar jeweils einen Zählereingang und einen Rückkopplungseingang. Der Rückkopplungseingang führt der jeweiligen logischen Abbildungseinrichtung U3, U4, U5, U6, U7 das jeweilige auszukoppelnde Signal zwischen den entsprechenden Invertern zu.
  • Der Zählereingang führt der jeweiligen logischen Abbildungseinrichtung U3, U4, U5, U6, U7 einen jeweiligen Zählerwert zu, welcher durch einen Zähler Z vorgegeben wird. Der Zähler Z weist dazu jeweilige Zählerausgänge Z3, Z4, Z5, Z6, Z7 auf, welche einen Zählerstand ausgeben. Die Anzahl der Zählerausgänge regelt, wie viele Bit der Zählerstand umfassen kann, d.h. legt den maximalen Zählerstand fest. Die verschiedenen Zählerausgänge Z3, Z4, Z5, Z6, Z7 geben also die unterschiedlich wertigen Bits des Zählerstandes aus. Der Zählerstand des Zählers Z wird insbesondere durch einen Zähleingang C beeinflusst. Beispielsweise erhöht sich der Zählerstand des Zählers Z bei jedem Übergang eines am Zähleingang C vorliegenden logischen Wertes von 0 auf 1. Der Zählerwert und speziell die am jeweiligen Zählerausgang Z3, Z4, Z5, Z6, Z7 vorliegenden logischen Werte legen die Konfiguration des Ringoszillators RO insoweit fest, als die über den Zähler Z konfigurierbaren Rückkopplungspfade aktiviert oder deaktiviert werden können.
  • Für einen Fibonacci-Ringoszillator ist eine getrennte Behandlung verschiedener Rückkopplungspfade notwendig. Einerseits werden die geraden Rückkopplungspfade betrachtet, andererseits die ungeraden. Dabei handelt es sich jeweils um die übernächst benachbarten, also jeweils jeden zweiten Rückkopplungspfad.
  • Für die ungeraden Rückkopplungspfade, d.h. die Rückkopplungspfade 3, 5 und 7, wird über das Vorgeben eines jeweiligen Wertes an den Zählereingängen Z3, Z5 und Z7 der jeweiligen logischen Abbildungseinrichtung U3, U5 und U7 festgelegt, ob der am Rückkopplungseingang anliegende Wert rückgekoppelt wird oder nicht. Beispielsweise ist als eine jeweilige logische Abbildungseinrichtung ein AND-Gatter vorgesehen und bei Anliegen eines logischen Wertes 0 am Zählereingang eines jeweiligen AND-Gatters wird unabhängig vom Wert im Rückkopplungspfad, d.h. am Rückkopplungseingang des AND-Gatters, am Ausgang des AND-Gatters eine 0 ausgegeben. Eine Rückkopplung ist somit für diesen Rückkopplungspfad bei dieser Konfiguration deaktiviert. Ein Signalwechsel im jeweiligen Rückkopplungspfad wirkt sich dann nicht logisch auf den rückgekoppelten Wert aus, der über das XOR-Gatter in dem vom letzten Inverter der Kette zum ersten Inverter rückführenden Pfad dem ersten Inverter zugeführt wird.
  • Liegt dagegen am Zählereingang des AND-Gatters eine logische 1 vor, so gibt das AND-Gatter den Wert 0 aus, falls im Rückkopplungspfad eine 0 vorliegt und den Wert 1, falls im Rückkopplungspfad der Wert 1 vorliegt. Für diese Konfiguration ist der Rückkopplungspfad aktiviert und der am ersten Inverter rückgekoppelte Wert hängt ab vom Wert, der ausgekoppelt wird.
  • Die Konfiguration wird über die Zählerausgänge des Zählers Z vorgegeben und kann sich somit beim Erhöhen des Zählerstandes ändern. Dabei können sich ein oder mehr Rückkopplungspfade ändern, d.h. die Änderung der Konfiguration kann ein Aktivieren oder Deaktivieren eines oder mehrerer deaktivierter bzw. aktivierter Rückkopplungspfade bewirken oder ebenso keine Änderung bewirken.
  • Die jeweiligen logischen Werte an den ungeraden Zählerausgängen Z3, Z5, Z7 des Zählers Z werden zudem einem ersten Paritätsgenerator P zugeführt. Dieser ermittelt, wie viele Zählerausgänge den Wert logisch 1 ausgeben. Wenn ungeradzahlig viele der am Paritätsgenerator P zugeführten Zählerausgänge den Wert 1 haben, so gibt der Paritätsgenerator an seinem Ausgang den Wert 0 vor. Der Ausgang des Paritätsgenerators wird einem der ungeraden aktivierbaren Rückkopplungspfade zugeführt, welcher zusätzlich nicht mit dem Zähler Z verbunden ist, beispielsweise dem ersten Rückkopplungspfad 1. Dieser erste Ausgleichsrückkopplungspfad weist ebenfalls ein AND-Gatter als logische Abbildungseinrichtung U1 analog zu den übrigen Rückkopplungspfaden auf. Überdies hat er einen Paritätsgeneratoreingang, welchem der am Paritätsgeneratorausgang vorliegende logische Wert zugeführt wird. Gibt der Paritätsgenerator also den Wert 0 aus, so ist die Funktionsweise des Rückkopplungspfades 1 analog zu dem der Rückkopplungspfade 3, 5 und 7 deaktiviert.
  • Ermittelt der erste Paritätsgenerator P hingegen eine gerade Anzahl an Zählerausgängen, welche den Wert 1 ausgeben, so wird am Ausgang des Paritätsgenerators der logische Wert 1 ausgegeben. Damit wird oder bleibt der erste Ausgleichsrückkopplungspfad aktiviert.
  • Für eine gewählte Konfiguration, d.h. für eine Vorgabe eines Zählerstandes, den die über die Konfiguration aktivierbaren Rückkopplungspfade 3, 5 und 7 vorgeben, ermittelt der erste Paritätsgenerator P, ob ein Zuschalten eines weiteren Rückkopplungspfades nötig ist, um das Vorliegen einer fixpunktfreien Schaltung, insbesondere eines fixpunktfreien Fibonacci-Ringoszillators, sicherzustellen. Dabei wurden zunächst die geraden Positionen unberücksichtigt gelassen. In einer Variante sind die geraden Positionen nicht über den Zähler aktivierbar, sondern fest und hinsichtlich der Parität der aktivierten geraden Rückkopplungspfade derart ausgestaltet, dass geradzahlig viele feste Rückkopplungspfade aktiviert sind.
  • Gemäß diesem Ausführungsbeispiel sind auch die geraden Positionen über den Zähler (Z) konfigurierbar. Nun werden die geraden Positionen im Ringoszillator untersucht. Entsprechend wird die Parität der Anzahl der aktivierten geraden Rückkopplungspfade ermittelt. Dies geschieht durch einen zweiten Paritätsgenerator P', der getrennt oder gemeinsam mit dem ersten Paritätsgenerator P realisiert ist, und dem die Werte der Zählerausgänge Z4 und Z6 zugeführt werden.
  • Auch der zweite Paritätsgenerator P' ermittelt, wie viele dieser beiden Zählerausgänge Z4 und Z6 den Wert logisch 1 ausgeben. Wenn ungeradzahlig viele der am Paritätsgenerator P zugeführten Zählwerteingänge den Wert 1 haben, so gibt der Paritätsgenerator an seinem Ausgang den Wert 1 vor. Der Ausgang des Paritätsgenerators wird einem der geraden aktivierbaren Rückkopplungspfade zugeführt, welcher außerdem nicht mit dem Zähler Z verbunden ist, beispielsweise dem zweiten Rückkopplungspfad 2. Dieser zweite Ausgleichsrückkopplungspfad weist ebenfalls ein AND-Gatter als logische Abbildungseinrichtung U2 analog zu den übrigen Rückkopplungspfaden auf. Überdies hat er einen zweiten Paritätsgeneratoreingang, welchem der am zweiten Paritätsgeneratorausgang vorliegende logische Wert zugeführt wird. Gibt der Paritätsgenerator also den Wert 1 aus, so ist die Funktionsweise des Rückkopplungspfades 2 analog zu dem der Rückkopplungspfade 3 bis 7 aktiviert.
  • Ermittelt der Paritätsgenerator P hingegen eine gerade Anzahl an Zählerausgängen, welche den Wert 1 ausgeben, so wird am Ausgang des Paritätsgenerators der logische Wert 0 ausgegeben. Damit wird oder bleibt der Ausgleichsrückkopplungspfad deaktiviert.
  • Für alle möglichen Konfigurationen, die sich aus der Vorgabe durch den Zähler Z und aus der aktuellen Bitmusterfolge in der Inverterkette ergeben, wird zu jedem Zeitpunkt sichergestellt, dass eine vorliegenden Schwingung im Ringoszillator nicht in einem Fixpunkt endet.
  • Für die sowohl durch den Zähler Z als auch durch die Paritätsgeneratoren P und P' ermittelte Gesamtkonfiguration des Ringoszillators RO wird somit ein fixpunktfreier Ringoszillator bereitgestellt.
  • Auch für die Ausführungsformen gemäß dem zweiten Ausführungsbeispiel wird für die Gesamtkonfiguration eine chaotische Schwingung eines Signals innerhalb der Ringoszillatorschaltung, beispielsweise des Signals, das an der Stelle zwischen dem vorletzten Inverter I7 und dem letzten Inverter I8 abgreifbar ist, erwartet. Dieses Signal wird beispielsweise zwischen dem vorletzten Inverter I7 und dem letzten Inverter I8 ausgekoppelt und einer Einheit F zugeführt. Es handelt sich bei dem Signal für einen rückgekoppelten Ringoszillator, Fibonacci-Ringoszillator in der beschriebenen Gesamtkonfiguration, um ein Zufallssignal. Geht die Schwingung im Falle des Fibonacci-Ringoszillators analog zu dem Fall des Galois-Ringoszillators in eine periodische Schwingung über, kann über den Zähler Z die Konfiguration geändert werden, beide Paritätsgeneratoren P, P' passen wiederum die Ausgleichsrückkopplungspfade an und es liegt eine neue, von der ursprünglichen Konfiguration abweichende Gesamtkonfiguration vor und auch diese neue Konfiguration stellt einen fixpunktfreien Ringoszillator bereit. Ist also das im Ringoszillator RO abgreifbare Zufallssignal unerwünschter Weise in eine periodische Schwingung übergangen, so wird durch die vorgeschlagene Vorrichtung 200 die Möglichkeit geschaffen, wiederum eine chaotische Schwingung in dem Ringoszillator RO hervorzurufen, wobei sich die Gesamtkonfiguration auf vorteilhafte Weise über den ersten Paritätsgenerator P und den zweiten Paritätsoperator P' automatisch derart ergibt, dass die Bedingung einer fixpunktfreien Rückkopplungsschaltung erfüllt ist. Dann können aus dem Zufallssignal die Zufallsbits ZB abgleitet werden. Eine aufwändige Berechnung der Verknüpfung aller rückgekoppelten Signale mit dem Ausgangssignal des letzten Inverters in der Kette, d.h. dem rückgeführten Signal zum Schließen des Ringes, entfällt. Eine aufwändige Überprüfung, ob eine gewählte Konfiguration fixpunktfrei ist, entfällt somit ebenfalls für einen Fibonacci-Ringoszillator auf vorteilhafte Weise.
  • Aus Gründen der Darstellbarkeit wurden die beiden Ausführungsformen der Vorrichtung 100 und 200 in 1 und 2 derart gewählt, dass eine konkrete feste Zuordnung von Zählerausgängen zu AND-Gattern gewählt wurde. Welche Ausgangsbits des Zählers Z man welchen Eingängen der AND-Gatter zuordnet, ist im Allgemeinen beliebig und muss nicht fest oder unveränderbar sein. Genauso können die Paritätsgeneratoren an einer beliebigen Stelle mit einem Eingang eines der AND-Gatter und damit einem der Rückkopplungspfade verbunden sein.
  • Im Allgemeinen ist es auch möglich, mehrere Paritätsgeneratoren vorzusehen, die verschiedene Zählerausgänge überwachen und ausgleichen.
  • Es ist ferner möglich, nur Teilmengen von fixpunktfreien Ringoszillatorschaltungen, beispielsweise Fibonacci- oder Galois-Ringoszillatorschaltungen einer vorgegebenen Länge zu erzeugen, indem man XOR-Gatter sowie die dazugehörigen AND-Gatter im Rückkopplungspfad für eine gewisse Anzahl der Rückkopplungspfade nicht vorsieht und entsprechend den Zähler Z um die entsprechende Anzahl kürzt. Somit gibt es fest vorgegebene Rückkopplungspfade, welche nicht über die Zählerausgänge aktiviert oder deaktiviert werden können und es gibt überdies die mit Hilfe des Zählers aktivierbaren oder deaktivierbaren Rückkopplungspfade. Die fest vorgegebenen Rückkopplungspfade werden entweder für sich betrachtet derart geschaltet, dass das Auftreten eines Fixpunktes verhindert wird oder werden bei der Ermittlung durch den Paritätsgenerator berücksichtigt.
  • Neben dem im zweiten Ausführungsbeispiel beschriebenen Fall des Fibonacci-Ringoszillators mit gerader Länge ist der Paritätsgenerator ebenso für den Fall ungerader Länge einsetzbar. Dann wird statt des jeweiligen ungeraden Paritätsgenerators jeweils ein gerader Paritätsgenerator eingesetzt. Die Aufteilung in die geraden und ungeraden Rückkopplungspfade wird analog zum Fall gerader Länge vorgenommen. Ein erster und zweiter gerader Paritätsgenerator ermittelt dann ebenso die Parität der jeweiligen Zählerausgänge. Ein Unterschied besteht darin, dass bei einer geradzahligen Anzahl an ermittelten 1-Werten an den Zählerausgängen für beide geraden Paritätsgeneratoren jeweils eine 0 am Ausgang ausgegeben wird.
  • Die Schaltung kann neben den beschriebenen Ausführungsformen überdies durch zahlreiche weitere denkbare Realisierungen gebildet werden. Insbesondere fallen unter den Schutzbereich auch Ausführungen, bei denen der Ausgleich durch das Zuschalten eines Schalters vorgenommen wird. Beispielsweise wird mittels des Paritätsgenerators die Anzahl der aktivierten Rückkopplungspfade ermittelt und durch diesen wird ein Schalter innerhalb eines der aktivierten Rückkopplungspfade gesteuert, der – falls nötig – einen Ausgleich der Rückkopplungen vornimmt. Auch durch Schalter oder Logikgatter kann ein Ausgleichen vorgenommen werden. Damit wird durch den Paritätsgenerator nicht auf die Funktionsweise einer verbauten Logikfunktion Einfluss genommen, sondern insbesondere eine Abbildungsvorschrift innerhalb des Ringoszillators unverändert gelassen und stattdessen eine Zu- oder Abschaltung eines aktivierbaren Rückkopplungspfades vorgenommen mittels zusätzlich verbauter Schaltelemente, beispielsweise zusätzlicher Logikgatter oder Look-up-Tables zur Realisierung einer logischen Abbildungsvorschrift.
  • Für den Fall, dass für einen Galois-Ringoszillator oder einen ungeraden Fibonacci-Ringoszillator am Zähler Z der Zählerstand 0 vorliegt, erhält man lediglich einen klassischen Ringoszillator. Möchte man diesen Zustand vermeiden, so kann der Zähler entsprechend modifiziert werden, dass dieser Zählerstand nicht auftritt.
  • Der vorgeschlagene Paritätsgenerator ermöglicht die Umsetzung der algebraischen Formulierung dafür, dass ein Rückkopplungspolynom für einen Galois- oder Fibonacci-Ringoszillator geeignet ist bzw. derart angepasst wird, dass eine fixpunktfreie Schaltung vorliegt. Versuche der Anmelderin haben ergeben, dass eine Forderung nach Primitivität des Rückkopplungspolynoms für den Galois-Ringoszillator bzw. nach Primitivität von h(x) bei einem Rückkopplungspolynom h(x)(x + 1) für den Fibonacci-Ringoszillator irrelevant ist und ignoriert werden kann, da dies nur für einen theoretisch synchronen Betrieb eines Galois- oder Fibonacci-Ringoszillators relevant ist, der Betrieb eines Galois-oder Fibonacci-Ringoszillators praktisch aber asynchron verläuft.
  • In 3 ist der Signalverlauf gezeigt, wie er mit Hilfe eines Oszillogramms von einem Signal am Ausgang des ersten Inverters I1 bei einem Aufbau der Schaltung gemäß 1 erfassbar ist. Ein Skalenteil entspricht 200ns. Beispielsweise wird die anhand von 1 beschriebene Vorrichtung 100 auf einem FPGA-Chip des Typs Cyclone V von Altera in vhdl implementiert. Die Länge des verwendeten Galois-Ringoszillators als Ringoszillator RO ist dabei für dieses weitere Ausführungsbeispiel neun. 3 zeigt, wie der Wert A des Signals sich über die Zeit T verändert. Im linken Abschnitt des Signalverlaufes ist eine unerwünschte periodische Schwingung zu erkennen. Die Schwingung wird dann für eine gewisse Zeit abgeschaltet und der Zählerstand des Zählers Z in der Vorrichtung 100 wird inkrementiert. Die dann entstehende Schwingung, abgebildet in der rechten Hälfte des Oszillogrammausschnitts, kommt durch das nun durch den Zählerstand gewählte Rückkopplungspolynom zustande und ist offensichtlich chaotisch.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Jovan Golic „New Methods for Digital Generation and Postprocessing of Random Data“ (IEEE Trans. Computers 55(10): 1217–1229 (2006)) [0002]

Claims (19)

  1. Paritätsgenerator (P) zum Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators (RO), der Ringoszillator (RO) aufweisend eine Mehrzahl an aktivierbaren Rückkopplungspfaden (1, 2, 3, 4), wobei die Rückkopplungsfunktion eine Eignung des Ringoszillators (RO) zur Erzeugung von Zufallsbits (ZB) festlegt und durch aktivierte Rückkopplungspfade realisiert wird, wobei durch den Paritätsgenerator (P) eine Parität einer Anzahl von mittels einer Konfiguration aktivierten Rückkopplungspfaden ermittelbar ist und in Abhängigkeit von der Parität mindestens ein durch den Paritätsgenerator aktivierbarer und/ oder deaktivierbarer Rückkopplungspfad derart schaltbar ist, dass eine Gesamtanzahl der aktivierten Rückkopplungspfade aus mittels der Konfiguration und durch den Paritätsgenerator aktivierten Rückkopplungspfaden hinsichtlich einer Parität der Gesamtanzahl derart ausgestaltet ist, dass der Ringoszillator (RO) fixpunktfrei ist.
  2. Paritätsgenerator (P) nach Anspruch 1, wobei die Konfiguration mittels eines Zählers (Z), insbesondere eines Binärzahlers, vorgebbar ist.
  3. Paritätsgenerator (P) nach Anspruch 1 oder 2, wobei eine jeweilige logische Abbildungseinrichtung (U1, U2, U3, U4) in einem jeweiligen Rückkopplungspfad zum Aktivieren einer Rückkopplung vorgesehen ist.
  4. Paritätsgenerator (P) nach Anspruch 3, wobei mindestens einer der aktivierbaren Rückkopplungspfade über einen jeweiligen Zählereingang der jeweiligen logischen Abbildungseinrichtung aktivierbar ist, wobei in Abhängigkeit von einem von einem Zähler (Z) am Zählereingang vorgegebenen logischen Zählerwert ein an einem Rückkopplungseingang der jeweiligen logischen Abbildungseinrichtung anliegendes Signal rückkoppelbar ist.
  5. Paritätsgenerator (P) nach Anspruch 4, wobei zum Ermitteln der Parität der Anzahl von mittels des Zählers (Z) aktivierten Rückkopplungspfaden durch den Paritätsgenerator (P) den jeweiligen Zählereingängen zugeführte logische Zählerwerte ermittelt werden.
  6. Paritätsgenerator (P) nach einem der vorstehenden Ansprüche, wobei ein jeweiliger durch den Paritätsgenerator (P) schaltbarer Rückkopplungspfad (1) eine jeweilige logische Abbildungseinrichtung (U1) aufweist, wobei in Abhängigkeit von einem von dem Paritätsgenerator (P) an einem Paritätsgeneratoreingang vorgegebenen logischen Wert ein an einem Rückkopplungseingang der jeweiligen logischen Abbildungseinrichtung (U1) anliegendes Signal rückkoppelbar ist.
  7. Vorrichtung (100) zur Erzeugung von Zufallsbits (ZB) mit – einem eine ungerade Anzahl an logisch negierenden Abbildungseinrichtungen (I1, I2, I3, I4, I5) umfassenden Ringoszillator (RO) und mindestens einem Rückkopplungspfad (2, 3, 4) mit jeweiliger logischer Abbildungseinrichtung (U2, U3, U4) und einem Ausgleichsrückkopplungspfad (1) mit logischer Ausgleichsabbildungseinrichtung (U1), der Ausgleichsrückkopplungspfad (1) abzweigend von dem mindestens einen Rückkopplungspfad (2, 3, 4) ausgebildet, – einer Konfigurationseinheit (Z) mit mindestens einem Ausgang zum Vorgeben eines jeweiligen Wertes an einem Eingang der jeweiligen logischen Abbildungseinrichtung (U2, U3, U4) eines jeweiligen Rückkopplungspfades (2, 3, 4), wobei mittels der jeweiligen logischen Abbildungseinrichtung (U2, U3, U4) in Abhängigkeit von dem jeweiligen Wert eine jeweilige konfigurationsgetriebene Rückkopplung eines Signales des Ringoszillators (RO) im Rückkopplungspfad aktivierbar ist; – einem Paritätsgenerator (P) zum Vorgeben eines Paritätsgeneratorwertes an einem Eingang der logischen Ausgleichsabbildungseinrichtung (U1), wobei mittels der logischen Ausgleichsabbildungseinrichtung (U1) in Abhängigkeit von dem Paritätsgeneratorwert eine Ausgleichsrückkopplung des Signales aktivierbar und/ oder deaktivierbar ist, wobei der Paritätsgenerator (P) ausgebildet ist zum Ermitteln der jeweiligen Werte der jeweiligen Ausgänge und zum Ausgeben des Paritätsgeneratorwertes derart, dass eine Parität einer Gesamtanzahl aus aktivierten konfigurationsgetriebenen Rückkopplungen und aktivierter Ausgleichsrückkopplung derart ausgebildet ist, dass der Ringoszillator (RO) fixpunktfrei ist; – einer Einheit (F) zur Erfassung eines Zufallssignales innerhalb des Ringoszillators und zum Ausgeben der Zufallsbits (ZB).
  8. Vorrichtung (100) nach Anspruch 7, wobei der Ringoszillator als ein Galois-Ringoszillator ausgeführt ist und der mindestens eine Rückkopplungspfad (2, 3, 4) ein in dem Galois-Ringoszillator vorgesehener Galois-Rückkopplungspfad ist.
  9. Vorrichtung (100) nach Anspruch 7 oder 8 mit zwei oder mehr Rückkopplungspfaden (2, 3, 4) sowie dem Ausgleichsrückkopplungspfad, so dass ein Signal insbesondere an jede der negierenden Abbildungseinrichtungen (I1, I2, I3, I4, I5) rückkoppelbar ist.
  10. Vorrichtung (200) zur Erzeugung von Zufallsbits (ZB) mit – einem eine Anzahl an logisch negierenden Abbildungseinrichtungen (I1, I2, I3, I4, I5, I6, I7, I8) umfassenden Ringoszillator (RO); – mindestens einem Rückkopplungspfad (3, 4, 5, 6, 7) mit jeweiliger logischer Abbildungseinrichtung (U3, U4, U5, U6, U7) zum Rückkoppeln eines Signales an einer jeweiligen Stelle zwischen den logisch negierenden Abbildungseinrichtungen (I3, I4, I5, I6, I7, I8); – mindestens einem Ausgleichsrückkopplungspfad (1, 2) mit jeweiliger logischer Ausgleichsabbildungseinrichtung (U1, U2) zum Rückkoppeln eines weiteren Signales an mindestens einer weiteren Stelle zwischen den logisch negierenden Abbildungseinrichtungen (I1, I2, I3); – einer Konfigurationseinheit (Z) mit mindestens einem Ausgang zum Vorgeben eines jeweiligen Wertes an einem Eingang der jeweiligen logischen Abbildungseinrichtung (U3, U4, U5, U6, U7) eines jeweiligen Rückkopplungspfades (3, 4, 5, 6, 7), wobei mittels der jeweiligen logischen Abbildungseinrichtung (U3, U4, U5, U6, U7) in Abhängigkeit von dem jeweiligen Wert eine jeweilige konfigurationsgetriebene Rückkopplung des Signales des Ringoszillators (RO) aktivierbar ist; – mindestens einem Paritätsgenerator (P, P') zum Vorgeben eines Paritätsgeneratorwertes an einem Eingang der jeweiligen logischen Ausgleichsabbildungseinrichtung (U1, U2), wobei mittels der jeweiligen logischen Ausgleichsabbildungseinrichtung (U1, U2) in Abhängigkeit von dem Paritätsgeneratorwert eine Ausgleichsrückkopplung des weiteren Signales aktivierbar und/ oder deaktivierbar ist, – wobei der mindestens eine Paritätsgenerator (P, P') ausgebildet ist zum Ermitteln der jeweiligen Werte ausgewählter Ausgänge, insbesondere jedes zweiten Ausganges, und zum Ausgeben des Paritätsgeneratorwertes derart, dass eine Parität einer Gesamtanzahl aus aktivierten konfigurationsgetriebenen Rückkopplungen und aktivierter Ausgleichsrückkopplung derart ausgebildet ist, dass der Ringoszillator fixpunktfrei ist; – einer Einheit (F) zur Erfassung eines Zufallssignales innerhalb des Ringoszillators und zum Ausgeben der Zufallsbits (ZB).
  11. Vorrichtung (200) nach Anspruch 10, wobei der Ringoszillator als ein Fibonacci-Ringoszillator ausgeführt ist und der mindestens eine Rückkopplungspfad (3, 4, 5, 6, 7) ein in dem Fibonacci-Ringoszillator vorgesehener Fibonacci-Rückkopplungspfad ist, welcher das Signal aus einer Stelle innerhalb der Kette der logisch negierenden Abbildungseinrichtungen auskoppelt und über eine logische XOR- oder XNOR-Verknüpfung mit einem rückgeführten Signal zum Schließen des Ringoszillators verknüpft.
  12. Vorrichtung (200) nach Anspruch 10 oder 11 mit zwei oder mehr Rückkopplungspfaden (3, 4, 5, 6, 7) sowie mindestens zwei Ausgleichsrückkopplungspfaden, so dass ein jeweiliges Signal insbesondere zwischen jeder der negierenden Abbildungseinrichtungen (I3, I4, I5, I6, I7, I8) rückkoppelbar ist.
  13. Vorrichtung (100, 200) nach einem der Ansprüche 11 oder 12, wobei durch einen für einen ersten Ausgleichsrückkopplungspfad vorgesehenen ersten Paritätsgenerator (P) eine erste Auswahl an Werten von an ungeraden Positionen von logisch negierenden Abbildungseinrichtungen (U3, U5, U7) innerhalb der Kette zugeführten Ausgängen der Konfigurationseinheit ermittelbar ist und durch einen für einen zweiten Ausgleichsrückkopplungspfad vorgesehenen zweiten Paritätsgenerator (P') eine zweite Auswahl an Werten von an geraden Positionen von logisch negierenden Abbildungseinrichtungen (U4, U6) innerhalb der Kette zugeführten Ausgängen ermittelbar ist.
  14. Vorrichtung (100, 200) nach einem der Ansprüche 7 bis 13, wobei die negierenden Abbildungseinrichtungen (I1, I2, I3, I4, I5) als Logikgatter, insbesondere als Inverter, oder als Nachschlagetabellen ausgebildet sind.
  15. Vorrichtung (100, 200) nach einem der Ansprüche 7 bis 14, wobei die Schaltung digital und/ oder zumindest teilweise analog ausgeführt ist.
  16. Vorrichtung (100, 200) nach einem der Ansprüche 7 bis 15, wobei eine jeweilige logische Abbildungseinrichtung (U2, U3, U4) des mindestens einen Rückkopplungspfades (2, 3, 4) und / oder eine jeweilige logische Ausgleichsabbildungseinrichtung (U1) des Ausgleichsrückkopplungspfades (1) als Logikgatter, insbesondere als AND-Gatter, NAND-Gatter, OR-Gatter oder NOR-Gatter, oder als Nachschlagetabellen ausgebildet sind.
  17. Vorrichtung (100, 200) nach einem der Ansprüche 7 bis 16, wobei die Vorrichtung (100, 200) als Teil einer FPGA-Einrichtung oder einer ASIC-Einrichtung ausgeführt wird.
  18. Vorrichtung nach einem der Ansprüche 7 bis 17, ferner aufweisend eine Periodizitätserkennungseinrichtung zum Ermitteln einer Periodizität des Zufallssignales und zum Ausgeben eines Umschaltsignales an die Konfigurationseinrichtung (Z).
  19. Verfahren zum Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators (RO), der Ringoszillator (RO) aufweisend eine Mehrzahl an aktivierbaren Rückkopplungspfaden (1, 2, 3, 4), wobei aktivierte Rückkopplungspfade die Rückkopplungsfunktion realisieren und wobei die Rückkopplungsfunktion eine Eignung des Ringoszillators (RO) zur Erzeugung von Zufallsbits (ZB) festlegt, wobei durch einen Paritätsgenerator (P) eine Parität einer Anzahl von mittels einer Konfiguration aktivierten Rückkopplungspfaden ermittelt wird und in Abhängigkeit von der Parität mindestens ein durch den Paritätsgenerator aktivierbarer und/ oder deaktivierbarer Rückkopplungspfad derart geschaltet wird, dass eine Gesamtanzahl der aktivierten Rückkopplungspfade aus mittels der Konfiguration und durch den Paritätsgenerator aktivierten Rückkopplungspfade hinsichtlich einer Parität der Gesamtanzahl derart ausgestaltet ist, dass der Ringoszillator (RO) fixpunktfrei ist.
DE102014219083.5A 2014-09-22 2014-09-22 Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators Withdrawn DE102014219083A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014219083.5A DE102014219083A1 (de) 2014-09-22 2014-09-22 Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014219083.5A DE102014219083A1 (de) 2014-09-22 2014-09-22 Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators

Publications (1)

Publication Number Publication Date
DE102014219083A1 true DE102014219083A1 (de) 2016-03-24

Family

ID=55444655

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014219083.5A Withdrawn DE102014219083A1 (de) 2014-09-22 2014-09-22 Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators

Country Status (1)

Country Link
DE (1) DE102014219083A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038015A (zh) * 2016-11-18 2017-08-11 杭州电子科技大学 一种高速真随机数发生器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009057090A2 (en) * 2007-10-30 2009-05-07 Sandisk Il Ltd. Configurable random number generator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009057090A2 (en) * 2007-10-30 2009-05-07 Sandisk Il Ltd. Configurable random number generator

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GOLIC, Jovan Dj.: New methods for digital generation and postprocessing of random data. In: Computers, IEEE Transactions on, 2006, 55. Jg., Nr. 10, S. 1217-1229 *
Jovan Golic "New Methods for Digital Generation and Postprocessing of Random Data" (IEEE Trans. Computers 55(10): 1217-1229 (2006))

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038015A (zh) * 2016-11-18 2017-08-11 杭州电子科技大学 一种高速真随机数发生器
CN107038015B (zh) * 2016-11-18 2020-04-07 杭州电子科技大学 一种高速真随机数发生器

Similar Documents

Publication Publication Date Title
EP3028140B1 (de) Konstruieren einer schaltung geeignet zur erzeugung von zufallsbits und schaltung zur erzeugung von zufallsbits
DE2255198C2 (de) Impulsfrequenzteilerkreis
DE112011106024B4 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
DE60122787T2 (de) Digitaler frequenzvervielfacher
WO2014177300A1 (de) Vorrichtung und verfahren zum erzeugen von zufallsbits
DE112005003742T5 (de) LVDS-Treiber mit Pre-Emphasis
DE102013213473A1 (de) Schaltungsanordnung und Betriebsverfahren hierfür
EP1177628A1 (de) Schaltungsanordnung zur erzeugung von strompulsen im versorgungsstrom integrierter schaltungen
DE10130122A1 (de) Verzögerungsregelkreis
DE10130123B4 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
DE102005007652A1 (de) DLL-Schaltung zum Bereitstellen eines Ausgangssignals mit einer gewünschten Phasenverschiebung
EP1612936A2 (de) Taktsteuerzelle
DE10241982A1 (de) Digitale Signal-Verzögerungs-Einrichtung
DE102014219083A1 (de) Ausgleichen einer Rückkopplungsfunktion eines Ringoszillators
DE10231186B4 (de) Frequenzteiler
DE112018005269T5 (de) Differenzladungspumpe
DE102008051222B4 (de) Schaltung eines Funksystems, Verwendung und Verfahren zum Betrieb
EP1495542B1 (de) Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals
DE102014203648A1 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
DE102004052092A1 (de) Schaltungsanordung zur Pegelverschiebung
DE102014219084A1 (de) Umschalten zwischen mindestens zwei vorgegebenen Konfigurationen eines rückgekoppelten Ringoszillators
DE102014216231B4 (de) Spannungsversorgungsvorrichtung für eine elektronische Schaltung, wie etwa eine Steuerungsschaltung in einem Kraftfahrzeug
DE102013213095A1 (de) Erzeugen von einer Anzahl von Zufallsbits
EP0985271A1 (de) Eingangsschaltung für eine integrierte schaltung
DE102010006383A1 (de) Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee