DE60031101T2 - Tastverhältniskorrektur für einen zufallszahlengenerator - Google Patents

Tastverhältniskorrektur für einen zufallszahlengenerator Download PDF

Info

Publication number
DE60031101T2
DE60031101T2 DE60031101T DE60031101T DE60031101T2 DE 60031101 T2 DE60031101 T2 DE 60031101T2 DE 60031101 T DE60031101 T DE 60031101T DE 60031101 T DE60031101 T DE 60031101T DE 60031101 T2 DE60031101 T2 DE 60031101T2
Authority
DE
Germany
Prior art keywords
bit
output
pair
circuit
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60031101T
Other languages
English (en)
Other versions
DE60031101D1 (de
Inventor
E. Steven El Dorado Hills WELLS
A. David Sacramento WARD
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE60031101D1 publication Critical patent/DE60031101D1/de
Publication of DE60031101T2 publication Critical patent/DE60031101T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Error Detection And Correction (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein die Computersicherheit und im Besonderen das Erzeugen eines ungefähr einheitlichen Arbeitszyklus in einem Zufallszahlengenerator.
  • STAND DER TECHNIK
  • Zufallszahlengeneratorschaltungen werden in einer Vielzahl von elektronischen Anwendungen eingesetzt. Eine wichtige Anwendung für Zufallszahlengeneratoren betrifft das Gebiet der Computersicherheit, wenn Nachrichten- bzw. Mitteilungsdaten verschlüsselt und entschlüsselt werden. Die Kryptographie umfasst die Transformation von Daten in eine codierte Nachricht, die an einen vorgesehenen Empfänger übermittelt und von diesem decodiert werden soll. Die meisten kryptographischen Techniken verwenden Schlüssel, die von dem Sender verwendet werden, um die Nachricht zu codieren, und wobei sie von dem Empfänger verwendet werden, um die codierte Nachricht zu decodieren. Herkömmliche Verschlüsselungssysteme verwenden entweder einen einzigen Schlüssel, d.h. einen Schlüssel zum Codieren und Decodieren einer Nachricht, oder zwei Schlüssel, einen zum Codieren der Nachricht und einen zum Decodieren der Nachricht.
  • Die Schlüssel, die zum Verschlüsseln und Entschlüsseln von Nachrichten verwendet werden, sind im Wesentlichen binäre Datenmuster, in Bezug auf welche eine Nachricht verarbeitet oder gefiltert wird. Effektive Verschlüsselungssysteme erfordern den Einsatz von Schlüsseln mit einer ausreichend hohen Anzahl von Bits, um eine Replikation eines Schlüssels nahezu unmöglich zu machen. Ferner müssen die Datenmuster, welche die Schlüssel umfassen, ausreichend zufällig bzw. willkürlich sein, so dass ihr Muster oder die Muster in der durch den Schlüssel codierten Nachricht nicht vorhergesehen werden können. Effektive kryptographische Systeme erfordern somit den Einsatz hochwertiger Zufallszahlengeneratoren, um zu gewährleisten, dass die binären Daten in einer Nachricht auf eine vollständig unvorhersehbare Art und Weise transformiert werden. Im Allgemeinen erzeugt jeglicher Mangel der Willkürlichkeit bzw. der Zufälligkeit in einem Verschlüsselungssystem ein gewisses Maß der Korrelation zwischen den codierten und den nicht codierten Daten. Diese Korrelation kann dann dazu eingesetzt werden, den Code durch Techniken zu knacken, wie etwa durch iterative empirische Versuchsprädiktionen möglicher Ausgabemuster auf der Basis einer codierten Nachricht.
  • Ein wünschenswertes Merkmal eines binären Zufallszahlengenerators ist es, dass er Bits von Einsen und Nullen in einer absolut zufälligen Anordnung ausgibt. Der Wert des Ausgangsbits sollte somit jederzeit vollständig unvorhersehbar sein. Es ist wünschenswert, dass der Arbeitszyklus des Ausgangs des Zufallszahlengenerators ungefähr fünfzig Prozent über einer unendlichen Probengröße liegt, so dass die Wahrscheinlichkeit, dass eine Ausgabe logisch niedrig (Null) ist, gleich der Wahrscheinlichkeit ist, dass es sich bei der Ausgabe um einen logisch hohen Wert (Eins) handelt. Ferner ist es wünschenswert, dass ein Zufallszahlengenerator eine niedrige Korrelation (z.B. eine Korrelation von ungefähr Null) zwischen jedem Bit und jedem anderen Bit aufweist sowie eine flache Fourier-Verteilung zwischen den Ausgangsbits.
  • Das U.S. Patent US-A-5.781.458 offenbart eine Vorrichtung zum Erzeugen von Zufallszahlen zur Verwendung in einem kryptographischen Schlüsselgenerator. Die Vorrichtung extrahiert Entropie (mittleren Informationsgehalt) aus dem Ausgangssignal einer RC-Oszillationsschaltung, indem die Periode eines ersten Signals mit der Periode eines zweiten Signals verglichen wird, wobei die erste und die zweite Periode durch zwei Zyklen getrennt sind. Wenn die Perioden gleich sind, werden die Daten verworfen. Wenn die vorherige Periode größer ist als die spätere Periode, so wird einem Schieberegister eine „1" zugeordnet, wobei im anderen Fall dem Schieberegister eine „0" zugeordnet wird. Eine derartige Vorrichtung ist nicht in der Lage eine einheitliche Arbeitszyklusausgabe von 1en und 0en zu erzeugen, was eine wünschenswerte Aufgabe der vorliegenden Erfindung ist.
  • Aktuell bekannte Zufallszahlengeneratoren neigen jedoch dazu, eine uneinheitliche Anzahl von Nullen oder Einsen über eine statistisch signifikante Probengröße zu erzeugen. Ein typischer Grund dafür, dass dem Stand der Technik entsprechende Zufallszahlengeneratoren einen ungleichmäßigen Arbeitszyklus aufweisen ist es, dass die Latches, welche den Zufallszahlengenerator umfassen, für gewöhnlich einen der beiden Zustände bevorzugen, wenn Daten während einer unzulässigen Einricht-/Haltezeit zwischengespeichert werden. Ein kennzeichnendes aktuelles Verfahrne zur Reduzierung der Schwankungen von Arbeitszyklen in Zufallszahlengeneratoren umfasst den Einsatz eines Linear Feedback Shift Registers (LFSR bzw. eines linear rückgekoppelten Schieberegisters) auf der Ausgangsstufe einer Zufallsbitquelle bzw. einer wahlfreien Bitquelle.
  • Die Abbildung aus 1 veranschaulicht einen dem Stand der Technik entsprechenden Zufallszahlengenerator, der ein linear rückgekoppeltes Schieberegister 104 verwendet, das mit dem Ausgang einer Zufallsbitquelle 102 gekoppelt ist. Das LFSR 104 umfasst eine Reihe von Latches 105 und Gattern 106, durch welche die Ausgangsbit von der Zufallsbitquelle 102 verteilt werden. Die Zustände der Ausgangsbits werden durch die Gatter 106 zufällig invertiert, und die Reihenfolge der Bits wird durch Rückkopplung der Bits durch Latches 105 weiter gemischt.
  • Im Allgemeinen weisen linear rückgekoppelte Schieberegister, wie das in der Abbildung aus 1 veranschaulichte Register, bestimmte Nachteile auf und berichtigen nicht in vollem Umfang uneinheitliche Arbeitzykluseigenschaften, die kennzeichnende Zufallsbitquellen aufweisen. Wie dies durch das LFSR 104 dargestellt ist, umfasst ein kennzeichnendes LFSR selbst eine Reihe von Latches und Gattern. Diese Latches und Gatter neigen dazu, unter bestimmten Umständen die gleiche Eigenschaft zum Zwischenspeichern einer Null oder einer Eins aufzuweisen wie die Latches in der Zufallsbitquelle 102. Ein kennzeichnendes LFSR erzeugt somit selbst keine einheitliche Arbeitszyklusausgabe von Einsen und Nullen und kann somit etwaige Arbeitszyklusschwankungen in einer Zufallsbitquelle nicht vollständig berichtigen.
  • Ein weiterer Nachteil der linear rückgekoppelten Schieberegister ist die Anforderung in Bezug auf eine große Anzahl von Latches und Gattern. Zum Beispiel erfordert ein 32-Bit-LFSR, wie etwa gemäß der Abbildung aus 1, 32 D-Typ-Latches sowie eine Reihe kombinatorischer Gatter. Dies erhöht signifikant die erforderliche Siliziumfläche für eine Zufallszahlengeneratorschaltung, die ein LFSR verwendet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen Anspruch 1.
  • Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung eine Arbeitszyklus-Berichtigungsschaltung gemäß dem gegenständlichen Anspruch 8.
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung werden aus den beigefügten Zeichnungen sowie aus der folgenden genauen Beschreibung der Erfindung deutlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist in den Abbildungen der beigefügten Zeichnungen beispielhaft und ohne einzuschränken veranschaulicht, wobei die gleichen Elemente darin mit den gleichen Bezugszeichen bezeichnet sind. Es zeigen:
  • 1 einen herkömmlichen Zufallszahlengenerator unter Verwendung eines linearen rückgekoppelten Schieberegisters;
  • 2 ein Blockdiagramm einer Zufallsbitquelle und eines Ausführungsbeispiels der Arbeitszyklus-Berichtigungseinrichtung;
  • 3 ein Logikdiagramm eines Ausführungsbeispiels der Arbeitszyklus-Berichtigungseinrichtung aus 2;
  • 4 ein Flussdiagramm des Betriebs der Arbeitszyklus-Berichtigungseinrichtung aus 2;
  • 5 ein Beispiel für ein berichtigtes Bitmuster, das durch die Arbeitszyklus-Berichtigungseinrichtung aus 3 erzeugt worden ist;
  • 6 ein Logikdiagramm eines weiteren Ausführungsbeispiels der Arbeitszyklus-Berichtigungseinrichtung aus 2;
  • 7 ein Flussdiagramm, das den Betrieb der Arbeitszyklus-Berichtigungseinrichtung aus 6 veranschaulicht;
  • 8 ein Beispiel des durch die Arbeitszyklus-Berichtigungseinrichtung aus 6 erzeugten berichtigten Bitmusters;
  • 9 ein Logikdiagramm eines Ausführungsbeispiels der Arbeitszyklus-Berichtigungseinrichtung aus 2;
  • 10 ein Flussdiagramm des Betriebs der Arbeitszyklus-Berichtigungseinrichtung aus 9;
  • 11 ein Beispiel für das durch die Arbeitszyklus-Berichtigungseinrichtung aus 9 erzeugte berichtigte Bitmuster;
  • 12 ein Logikdiagramm eines Ausführungsbeispiels der Arbeitszyklus-Berichtigungseinrichtung aus 2;
  • 13 ein Flussdiagramm des Betriebs der Arbeitszyklus-Berichtigungseinrichtung aus 12;
  • 14 ein Beispiel des durch die Arbeitszyklus-Berichtigungseinrichtung aus 12 erzeugten berichtigten Bitmusters; und
  • 15 ein Blockdiagramm eines Computernetzwerks, das ein Bitpaarbildungssystems zur Datenverschlüsselung/Datenentschlüsselung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Beschrieben wird eine Arbeitszyklus-Berichtigungseinrichtung zur Verwendung in einem Zufallszahlengenerator. In einem Ausführungsbeispiel werden sequentielle Par von Bitausgaben der Zufallsbitquelle bzw. der wahlfreien Bitquelle durch die Arbeitszyklus-Berichtigungseinrichtung verarbeitet. Wenn beide Bits in einem Bitpaar identisch sind, verwirft die Arbeitszyklus-Berichtigungseinrichtung das Bitpaar oder gibt das Bitpaar nicht aus. Wenn sich die Bits in einem Bitpaar unterscheiden, so gibt die Arbeitszyklus-Berichtigungseinrichtung eines der Bits aus dem Bitpaar aus.
  • Es ist ein beabsichtigter Vorteil der Ausführungsbeispiele der Erfindung, eine Schaltung bereitzustellen, die einen ungefähr einheitlichen bzw. gleichmäßigen Arbeitszyklus für die Ausgabe einer wahlfreien Bitquelle bereitstellt. Ein weiterer beabsichtigter Vorteil der Ausführungsbeispiele der Erfindung ist es, einen Zufallszahlengenerator bereitzustellen, der eine kleinere Siliziumfläche erfordert, wenn er in einem integrierten Schaltungsbaustein implementiert ist.
  • Eine Zufallsbitquelle ist eine digitale Schaltung, die eine Reihe binärer Stellen in scheinbar willkürlicher Reihenfolge ausgibt. Bei einer idealen Zufallsbitquelle ist die Wahrscheinlichkeit, dass ein bestimmtes Ausgangsbit gleich Null ist, identisch mit der Wahrscheinlichkeit, dass es einer Eins entspricht. Das heißt, der Arbeitszyklus der Ausgangskurvenform der Zufallsbitquelle entspricht einheitlich fünfzig Prozent über eine statistisch signifikante Probengröße. Die meisten wahlfreien Bitquellen bzw. Zufallsbitquellen weisen jedoch eine gewisse Schwankung des Arbeitzyklus auf, aufgrund einer Tendenz der Latches und Gatter in der Zufallsbitquelle, einen bestimmten Logikwert zwischenzuspeichern, wenn Daten während einer unzulässigen Halte- oder Einrichtzeit zwischengespeichert werden.
  • Die Wahrscheinlichkeit, dass ein bestimmtes Bit zu einem bestimmten Zeitpunkt durch eine wahlfreie Bitquelle ausgegeben wird, kann durch bestimmte mathematische Beziehungen ausgedrückt werden. Wenn die Wahrscheinlichkeit, dass die Ausgabe eine Null ist (P(0)), gleich p ist, so ist die Wahrscheinlichkeit, dass es sich bei der Ausgabe um eine Eins (P(1)) handelt, gleich 1 – p. Das heißt:
    Wahrscheinlichkeit für die Erzeugung einer Null: P(0) = p
    Wahrscheinlichkeit für die Erzeugung einer Eins: P(1) = 1 – p
  • Für eine ideale Zufallsbitquelle ist p gleich 50 Prozent. Bei einer nicht idealen Zufallsbitquelle kann p deutlich größer oder kleiner sein als 50 Prozent.
  • Wenn sequentielle Ausgangsbits der Zufallsbitquelle in Paaren berücksichtigt werden, so werden die Wahrscheinlichkeiten zu:
    Wahrscheinlichkeit für die Erzeugung von Null, Null:
    P(00) = P(0)P(0) = p2
    Wahrscheinlichkeit für die Erzeugung von Null, Eins:
    P(01) = P(0)P(1) = p(1 – p)
    Wahrscheinlichkeit für die Erzeugung von Eins, Null:
    P(10) = P(1)P(0) = (1 – p)p
    Wahrscheinlichkeit für die Erzeugung von Eins, Eins:
    P(11) = P (1)P(1) = (1 – p)2
  • Mathematisch sind die Wahrscheinlichkeiten für die Erzeugung eines Ausgangspaares von 0,1 oder eines Ausgangspaares von 1,0 identisch, wie dies aus den oben genannten Wahrscheinlichkeitsgleichungen hervorgeht. Das heißt, da p(1 – p) = (1 – p)p, gilt P(01) = P(10).
  • Diese Eigenschaft gilt unabhängig von der Wahrscheinlichkeit der Zufallsbitquelle für die Erzeugung einer Eins oder Null für jede gegebene Ausgabe. Selbst wenn p somit für eine bestimmte Zufallsbitquelle ungleich 50 Prozent ist, so entspricht die Wahrscheinlichkeit, dass die Zufallsbitquelle ein Ausgabepaar Null-Eins erzeugt, gleich der Wahrscheinlichkeit, dass sie ein Ausgabepaar Eins-Null erzeugt. In einem Ausführungsbeispiel der vorliegenden Erfindung wird dieses Prinzip eingesetzt für die Berichtigung der Ausgabe einer Zufallsbitquelle, die einen uneinheitlichen Arbeitszyklus aufweist und eine ungleichmäßige Verteilung von Nullen und Einsen in einem bestimmten Ausgangsbitstrom erzeugt.
  • Gemäß einem Verfahren der vorliegenden Erfindung verarbeitet die Arbeitszyklus-Berichtigungseinrichtung ausgegebene Bitpaare von einer Zufallsbitquelle, um einen berichtigten, im Wesentlichen einheitlichen Bitstrom zu bestimmen. Wenn in einem Ausführungsbeispiel beide Bits in einem Paar identisch sind, so wird das Paar verworfen, und es wird nicht durch die Arbeitszyklus-Berichtigungseinrichtung als Teil des berichtigten Bitstroms ausgegeben. Wenn somit beide Bits in einem Ausgangsbitpaar eine Null darstellen, so wird dieses Paar verworfen. Wenn beide Bits in einem Ausgangsbitpaar im anderen Fall eine Eins darstellen, so wird das Paar ebenfalls verworfen. Wenn sich die Bits in einem Ausgangsbitpaar hingegen unterscheiden, so gibt die Arbeitszyklus-Berichtigungseinrichtung eines der Bits in dem Paar als ein Bit in dem berichtigten Bitstrom aus. In einem Ausführungsbeispiel gibt die Arbeitszyklus-Berichtigungseinrichtung das erste Bit in einem ungleichen Paar von Bits als das berichtigte Bit aus. Wenn somit in Bezug auf dieses Ausführungsbeispiel das Ausgabepaar Null-Eins lautet, so wird das berichtigte Bit auf Null gesetzt, und wenn das Ausgabepaar Eins-Null lautet, so wird das berichtigte Bit auf Eins gesetzt. Die berichtigten Bitwerte, die den verschiedenen paarweisen Fällen entsprechen, können durch die folgenden Beziehungen dargestellt werden:
    P(00) = P(0)P(0) = p2 Zurückweisung
    P(01) = P(0)P(1) = p(1 – p) Ausgabe logische 0
    P(10) = P(1)P(0) = (1 – p)p Ausgabe logische 1
    P(11) = P(1)P(1) = (1 – p)p2 Zurückweisung
  • In einem alternativen Ausführungsbeispiel gibt die Arbeitszyklus-Berichtigungseinrichtung das zweite Bit in einem ungleichen Paar als das berichtigte Bit aus. Wenn in diesem Ausführungsbeispiel das Ausgabepaar Null-Eins lautet, wird das berichtigte Bit auf Eins gesetzt; und wenn das Ausgabepaar Eins-Null lautet, wird das berichtigte Bit auf Null gesetzt. Die berichtigten Bitwerte, die den verschiedenen Paaren entsprechen, können für dieses alternative Ausführungsbeispiel durch die folgenden mathematischen Beziehungen dargestellt:
    P(00) = P(0)P(0) = p2 Zurückweisung
    P(01) = P(0)P(1) = p(1 – p) Ausgabe logische 1
    P(10) = P(1)P(0) = (1 – p)p Ausgabe logische 0
    P(11) = P(1)P(1) = (1 – p)p2 Zurückweisung
  • Die Abbildung aus 2 zeigt ein Ausführungsbeispiel einer Arbeitszyklus-Berichtigungseinrichtung 200, das die vorstehend beschriebenen Ausführungsbeispiele implementiert, um einen im Wesentlichen einheitlichen Bitstrom von einer Zufallsbitquelle 202 zu erzeugen, wobei weniger Gatter als in früheren LFSR-Schaltungen verwendet werden. Bei der Zufallsbitquelle 202 kann es sich um jede Zufallsbitquelle handeln, die einen Zufallsbitstrom auf der Signalleitung 222 ausgibt. In einem Ausführungsbeispiel der vorliegenden Erfindung ist die Zufallsbitquelle 202 als eine Latch-Schaltung implementiert, die ein zufällig schwankendes Taktsignal mit niedriger Geschwindigkeit verwendet, um periodisch ein Hochgeschwindigkeits-Oszillationssignal zwischenzuspeichern. Der Wert Des Ausgangsbits aus dem Latch der Zufallsbitquelle ist abhängig von dem Spannungswert des Hochgeschwindigkeitssignals, wenn dieses durch das Niedergeschwindigkeitssignal zwischengespeichert wird. Die Zufallsbitquelle 202 kann auch ein Takt- oder Strobe-Signal CLK auf der Signalleitung 216 erzeugen, wie dies im Fach allgemein bekannt ist.
  • Die Arbeitszyklus-Berichtigungseinrichtung 200 weist die Speicherelemente 204 und 206 auf, die Vergleichsschaltung 208, die Validierungslogik 210 und eine Ausgangsschaltung 212. Die Speicherschaltungen 204 und 206 speichern Paar aufeinander folgender Bits in dem Zufallsbitstromausgang aus der Zufallsbitquelle 202 für einen Vergleich durch die Vergleichsschaltung 208. In einem ersten Taktzyklus von CLK wird das erste Bit in einem Bitpaar in der Speicherschaltung 204 gespeichert. In einem späteren Taktzyklus wird das erste Bit in der Speicherschaltung 206 gespeichert, während die nächste Bitausgabe der Zufallsbitquelle 202 in der Speicherschaltung 204 gespeichert wird. Die Speicherschaltungen 204 und 206 können jede Art von Speicherelementen darstellen, einschließlich Latches, Register, flüchtige oder nichtflüchtige Speicherzellen und dergleichen.
  • Die in den Speicherschaltungen 204 und 206 gespeicherten Bits werden durch die Vergleichsschaltung 208 verglichen. Bei der Vergleichsschaltung 208 kann es sich um jede Art von Vergleichsschaltung handeln, einschließlich eines XOR-Gatters oder eines Komparators bzw. einer Vergleichseinrichtung. Wenn beide Bits identisch sind, aktiviert die Vergleichsschaltung 208 das Signal ACCEPT auf der Signalleitung 220 in einen hohen Logikzustand. Wenn beide Bits nicht identisch sind, deaktiviert die Vergleichsschaltung 208 das Signal ACCEPT in einen niedrigen Logikzustand. Somit zeigt das Signal ACCEPT an, ob das Paar der von der Zufallsbitquelle ausgegebenen Bits ein berichtigtes Bit in dem Bitstrom erzeugt, der durch die Arbeitszyklus-Berichtigungseinrichtung 200 ausgegeben wird.
  • Das Signal ACCEPT wird gemeinsam mit CLK an die Validierungslogik 210 bereitgestellt. Die Vergleichsschaltung 208 aktiviert ACCEPT, wenn es sich bei zwei beliebigen aufeinander folgenden Bits in den Speicherschaltungen 204 und 206 um unterschiedliche Bits handelt. Es ist jedoch vorteilhaft, sich nicht überschneidende Paar aus der Zufallsbitquelle 202 ausgegebenen Bits zu vergleichen, um einen einheitlichen Arbeitszyklus-Ausgangsstrom der Arbeitszyklus-Berichtigungseinrichtung 200 zu erzeugen. Die Validierungslogik 210 führt diese Funktion aus. Die Validierungslogik 210 aktiviert das Strobe-Signal STB auf einen hohen Logikzustand auf der Signalleitung 218, wenn ACCEPT aktiviert wird, und wobei das gewünschte Bitpaar in den Seicherschaltungen 204 und 206 gespeichert wird. Wenn STB aktiviert wird, speichert die Ausgangsschaltung 212 das Bit in der Speicherschaltung 206. Die Ausgangsschaltung 212 kann jedes Speicherelement darstellen, dazu zählen ein Register, ein Latch, eines oder mehrere flüchtige oder nichtflüchtige Speicherelemente, ein AND-Gatter oder eine andere Logik. Das durch die Ausgangsschaltung 212 gespeicherte Bit wird an die Signalleitung 214 ausgegeben, wenn das berichtigte Bit den Bits entspricht, die in den Speicherschaltungen 204 und 206 gespeichert sind.
  • In Bezug auf ein alternatives Ausführungsbeispiel kann die Ausgabe der Speicherschaltung 204 an Stelle der Ausgabe der Speicherschaltung 206 an die Ausgangsschaltung 212 bereitgestellt werden. Wenn in Bezug auf das vorliegende Ausführungsbeispiel STB aktiviert wird, speichert die Ausgangsschaltung 212 das Bit in der Speicherschaltung 204 und gibt das Bit als das berichtigte Bit aus, das den Bits entspricht, die in den Speicherschaltungen 204 und 206 gespeichert werden.
  • Die Abbildung aus 3 zeigt eine Arbeitszyklus-Berichtigungseinrichtung 300, die ein Ausführungsbeispiel der Arbeitszyklus-Berichtigungseinrichtung 200 darstellt. Die Arbeitszyklus-Berichtigungseinrichtung 300 weist die Latches 304 und 306 auf, die ein Ausführungsbeispiel der entsprechenden Speicherschaltungen 204 und 206 darstellen; das XOR-Gatter 310, das ein Ausführungsbeispiel der Vergleichsschaltung 210 darstellt; das transparente Latch 308 und das AND-Gatter 309, die gemeinsam ein Ausführungsbeispiel der Validierungslogik 210 umfassen; und das Latch 312, das ein Ausführungsbeispiel der Ausgangsschaltung 212 darstellt.
  • Die Latches 304 und 306 speichern Paare aufeinander folgender Bits von der Zufallsbitquelle 202 für einen Vergleich durch das XOR-Gatter 310. Das erste Bit in einem Paar von Bits wird durch CLK in dem Latch 304 zwischengespeichert. Bei dem nächsten Taktimpuls von CLK wird das erste Bit in dem Latch 306 zwischengespeichert, und das nächste aus der Zufallsbitquelle 202 ausgegebene Bit, wird in dem Latch 304 zwischengespeichert. Wenn beide Bits in einem Bitpaar identisch sind, deaktiviert das XOR-Gatter 310 ACCEPT auf eine Null; wenn beide Bits in einem Bitpaar nicht identisch sind, aktiviert das XOR-Gatter 310 ACCEPT auf Eins.
  • Das transparente Latch 308 speichert CLK von der Zufallsbitquelle 302 zwischen, um das UND-Gatter 309 zu takten, so dass STB nur dann aktiviert wird, wenn ACCEPT aktiviert wird, und ein sich nicht überschneidendes Bitpaar in den Latches 304 und 306 gespeichert wird. Wenn STB aktiviert wird, speichert das Latch 312 das von dem Latch 306 ausgegebene Bit als die berichtigte Bitausgabe auf der Signalleitung 214 zwischen. In einem alternativen Ausführungsbeispiel kann die Ausgabe des Latches 304 an das Latch 312 bereitgestellt werden. Das Bit kann als Reaktion auf STB durch das Latch 312 zwischengespeichert werden.
  • Die Abbildung aus 4 zeigt ein Flussdiagramm des Betriebs bzw. der Funktionsweise der Arbeitszyklus-Berichtigungseinrichtung 300. In dem Schritt 400 wird ein erstes Bitpaar von der Zufallsbitquelle 202 in den Latches 304 und 306 zwischengespeichert, wobei das erste Bit in dem Latch 306 gespeichert wird und das zweite Bit in dem Latch 304. In dem Schritt 402 bestimmt das XOR-Gatter 310, ob die beiden Bits in dem Paar identisch sind. Wenn das Bitpaar in dem Schritt 204 übereinstimmt, wird ACCEPT deaktiviert, STB deaktiviert und das Bitpaar zurückgewiesen bzw. verworfen. In dem Schritt 402 wird keines der Bits durch das Latch 312 zwischengespeichert und an die Signalleitung 214 ausgegeben. Wenn hingegen in dem Schritt 402 bestimmt wird, dass sich die beiden Bits voneinander unterscheiden, wird in dem Schritt 406 das erste Bit als das Ausgabebit verwendet.
  • In dem nächsten Schritt 408 wird das nächste sich überschneidende Bitpaar von der Zufallsbitquelle 202 gesammelt und dar Ablauf wiederholt sich ab Schritt 402. Der Ablauf wird wiederholt, bis alle Ausgangbitpaar von der Zufallsbitquelle verarbeitet worden sind. Alle Ausgangsbits von der Zufallsbitquelle, die nicht zu Paaren zusammengefasst sind, können nicht verarbeitet werden und werden somit zurückgewiesen. Hiermit wird festgestellt, dass das erste Bit des Paars aus dem Latch 306 zwar als das berichtigte Bit vorgesehen wird, in einem alternativen Verfahren das zweite Bit des Paares aus dem Latch 304 als das berichtigte Bit bereitgestellt wird.
  • Die Abbildung aus 5 zeigt eine weitere Darstellung des Betriebs der Arbeitszyklus-Berichtigungseinrichtung 300. Die Abbildung aus 5 zeigt, dass das zweite Bitpaar (Bits 2 und 3) und das dritte Bitpaar (Bits 4 und 5) berichtigte Bits erzeugen, während das erste Bitpaar (Bits 0 und 1) und das vierte Bitpaar (Bits 6 und 7) dies nicht machen.
  • Die Zufallsbitquelle 202 kann Bits ausgeben, die eine Autokorrelation erster Ordnung zwischen nacheinander erzeugten Bits aufgrund der Beschaffenheit der Latches, der Logikgatter und anderer Schaltungselemente aufweisen. Obgleich eine Arbeitszyklus-Berichtigungseinrichtung wie etwa gemäß den Abbildungen der 2 und 3 ein im Wesentlichen zufälliges bzw. wahlfreies Bitmuster mit einem im Wesentlichen einheitlichen Arbeitszyklus ausgeben kann, nimmt die Wahrscheinlichkeit dafür zu, dass die Ausgabe der Arbeitszyklus-Berichtigungseinrichtung näher an einem einheitlichen Arbeitszyklus ist, wenn die Autokorrelation zwischen den von der Zufallsbitquelle ausgegebenen Bits niedriger ist. Das heißt, die Wahrscheinlichkeit, dass die Ausgabe der Arbeitszyklus-Berichtigungseinrichtung näher an einem einheitlichen Arbeitszyklus liegt, nimmt zu, wenn die Bits in dem Zufallsbitstrom zueinander in keinem Verhältnis stehen.
  • Wie dies in der Abbildung aus 5 dargestellt ist, kann die Arbeitszyklus-Berichtigungseinrichtung 300 aus 3 beeinflusst werden durch die Autokorrelation erster Ordnung zwischen den Bits in dem Zufallsbitstrom, der durch die Zufallsbitquelle 202 ausgegeben wird, wenn die Arbeitszyklus-Berichtigungseinrichtung 300 konsekutive Bitpaare bearbeitet. Die Abbildung aus 6 zeigt ein weiteres Ausführungsbeispiel der Arbeitszyklus-Berichtigungseinrichtung 600, das die Auswirkung der Autokorrelation erster Ordnung zwischen den Bitpaarausgaben durch die Zufallsbitquelle 202 reduziert. Die Arbeitszyklus-Berichtigungseinrichtung 600 reduziert die Autokorrelation erster Ordnung, indem ein Bit von der Zufallsbitquelle 202 verworfen wird, sobald ein Bitpaar detektiert wird, das ein berichtigtes Bit erzeugt.
  • Die Arbeitszyklus-Berichtigungseinrichtung 600 entspricht der Arbeitszyklus-Berichtigungseinrichtung 300, mit der Ausnahme, dass das transparente Latch 308 der Validierungslogik durch einen Modulo-2-Zähler 602 ersetzt wird. Die Funktionsweise der Arbeitszyklus-Berichtigungseinrichtung 600 ist in der Abbildung aus 7 veranschaulicht. In dem Schritt 700 wird ein erstes Bitpaar von der Zufallsbitquelle 202 in den Latches 304 und 306 bei den Zählwerten 0 und 1 des Modul-2-Zählers 602 zwischengespeichert. In dem Schritt 702 bestimmt das XOR-Gatter 310, ob die beiden Bits des Paares übereinstimmen. Wenn die Bits des Paares identisch sind, wird in dem Schritt 704 ACCEPT deaktiviert, STB deaktiviert und das Bitpaar zurückgewiesen oder verworfen. In dem Schritt 704 wird kein Bit durch das Latch 312 zwischengespeichert und auf die Signalleitung 214 ausgegeben. Wenn die Bits in dem Schritt 702 nicht übereinstimmen, wird in dem Schritt 704 ACCEPT beim Zählwert 1 aktiviert, STB wird aktiviert und das erste Bit (oder alternativ das zweite Bit) wird durch das Latch 312 ausgegeben. STB wird ferner in den Modulo-2-Zähler 602 zurückgeführt, so dass bei einer Aktivierung von STB der Modulo-2-Zähler 602 einen Zählwert überspringt und die nächsten beiden Taktzyklen niedrig hält (d.h. beide mit einem Zählwert 0). Dies bewirkt, dass die Arbeitszyklus-Berichtigungseinrichtung 600 in dem Schritt 807 das nächste Bit in dem Zufallsbitstrom von der Zufallsbitquelle 202 verwirft. Dies erfolgt, da es, obwohl das nächste Bit in das Latch 304 geladen wird, durch das Latch 306 getaktet wird, bevor der Modulo-2-Zähler 602 zum nächsten Mal den Zählwert 1 an das AND-Gatter 309 ausgibt. In dem Schritt 708 wird das nächste sich überschneidende Bitpaar der Zufallsbitquelle 202 erfasst bzw. gesammelt, und wobei sich der Ablauf ab Schritt 702 wiederholt. Der Ablauf wiederholt sich, bis alle Ausgangsbitpaare von der Zufallsbitquelle verarbeitet worden sind.
  • Die Abbildung aus 8 zeigt eine weitere Darstellung des Betriebs der Arbeitszyklus-Berichtigungseinrichtung 600. Wenn die Bits des ersten Bitpaares (Bits 0 und 1) übereinstimmen, werden die Bits verworfen, und für das erste Bitpaar wird kein berichtigtes Bit erzeugt. Darüber hinaus wird STB nicht aktiviert und der Modulo-2-Zähler 602 überspringt keinen Zählwert. Die Bits des zweiten Bitpaares (Bits 2 und 3) stimmen nicht überein, und die Arbeitszyklus-Berichtigungseinrichtung 600 gibt eine Null aus, und wobei sie danach bewirkt, dass das nächste Bit, das Bit 4, verworfen wird, da der Modulo-2-Zähler 600 einen Zählwert überspringt. Die Bits des dritten Bitpaares (Bits 5 und 6) stimmen ebenfalls nicht überein. Die Arbeitszyklus-Berichtigungseinrichtung 600 gibt eine Eins aus und bewirkt, dass das nächste Bit, das Bit 7, verworfen wird, da der Modulo-2-Zähler 602 einen Zählwert überspringt. Die Bits des letzten Bitpaares (Bits 8 und 9) stimmen überein und werden verworfen.
  • Das Verwerfen der Bits 4 und 7 reduziert die Autokorrelation erster Ordnung zwischen dem zweiten Bitpaar (Bits 2 und 3) und dem dritten Bitpaar (Bits 5 und 6) und zwischen dem dritten Bitpaar und dem vierten Bitpaar (Bits 8 und 9). Der berichtigte Bitstrom wird beeinflusst durch eine weniger signifikante Autokorrelation zweiter Ordnung zwischen dem zweiten Bitpaar und dem dritten Bitpaar und zwischen dem dritten Bitpaar und dem vierten Bitpaar, die durch die Zufallsbitquelle 202 ausgegeben werden.
  • Die Arbeitszyklus-Berichtigungseinrichtung 600 reduziert die Autokorrelation erster Ordnung zwischen den durch die Zufallsbitquelle erzeugten Bits. Sie kann jedoch eine gewisse Uneinheitlichkeit in den Arbeitszyklus des berichtigten Bitstroms einfügen, da die einzelnen verworfenen Bits (z.B. die Bits 4 und 7 aus 8) eine uneinheitliche Verteilung in dem Zufallsbitstrom aufweisen können.
  • Die Abbildung aus 9 zeigt ein weiteres Ausführungsbeispiel einer Arbeitszyklus-Berichtigungseinrichtung 900, welche die Auswirkungen der Autokorrelation erster Ordnung zwischen den durch die Zufallsbitquelle 202 ausgegebenen Bitpaaren reduziert. Die Arbeitszyklus-Berichtigungseinrichtung 900 reduziert die Autokorrelation erster Ordnung, indem Bits von der Zufallsbitquelle 202 verworfen werden, die bei anderen speziellen Zählwerten eines Modulo-5-Zählers verschoben werden.
  • Die Arbeitszyklus-Berichtigungseinrichtung 900 entspricht der Arbeitszyklus-Berichtigungseinrichtung 300, mit der Ausnahme, dass das transparente Latch 308 der Validierungslogik ersetzt wird durch den Modulo-5-Zähler 902, die Inverter 904, 906 und 908, die AND-Gatter 910 und 912 und das NOR-Gatter 914. Der Modulo-5-Zähler 902 weist drei binäre Ausgabebits C0, C1 und C2 auf. Das AND-Gatter 910 ist ein AND-Gatter mit drei Eingängen, das einen ersten Eingang aufweist, der über den Inverter 904 mit C2 gekoppelt ist, mit einem zweiten Eingang, der mit C1 gekoppelt ist, und mit einem dritten Eingang, der über den Inverter 908 mit C0 gekoppelt ist. Das AND-Gatter 912 ist ein AND-Gatter mit drei Eingängen, das einen ersten Eingang aufweist, der mit C2 gekoppelt ist, mit einem zweiten Eingang, der über den Inverter 906 mit C1 gekoppelt ist, und mit einem dritten Eingang, der über den Inverter 908 mit C0 gekoppelt ist. Das NOR-Gatter 914 empfängt die Ausgänge der UND-Gatter 910 und 912 und steuert einen Eingang des UND-Gatters 309.
  • Der Betrieb der Arbeitszyklus-Berichtigungseinrichtung 900 ist in der Abbildung aus 10 veranschaulicht. In dem Schritt 1000 und bei dem Zählwert 0 des Modulo-5-Zählers 902 wird ein erstes Bit in das Latch 304 geladen. Das Bit wird verworfen, da das Signal auf der Signalleitung 915 für die Zählwerte 0 und 1 nicht aktiviert bzw. behauptet wird. In dem Schritt 1002 wird ein erstes Bitpaar von der Zufallsbitquelle 202 bei den Zählwerten 1 und 2 in den Latches 304 und 306 zwischengespeichert. Dies bewirkt, dass das erste Bit aus der Berichtigungseinrichtung 1000 verworfen wird. In dem Schritt 1004 und bei dem Zählwert 2 bestimmt das XOR-Gatter 310, ob die beiden Bits des Paars übereinstimmen. Wenn die Bits des Paares übereinstimmen, wird in dem Schritt ACCEPT deaktiviert, STB deaktiviert und das Bitpaar zurückgewiesen bzw. verworfen. In dem Schritt 1006 wird kein Bit durch das Latch 312 zwischengespeichert und an die Signalleitung 214 ausgegeben. Wenn die Bits in dem Schritt 1004 und bei dem Zählwert 2 nicht übereinstimmen, so wird ACCEPT in dem Schritt 1008 aktiviert, STB aktiviert und das erste Bit (oder alternativ das zweite Bit) durch das Latch 312 ausgegeben.
  • In dem Schritt 1010 wird ein zweites Bitpaar von der Zufallsbitquelle 202 bei den Zählwerten 3 und 4 in den Latches 304 und 306 zwischengespeichert. In dem Schritt 1012 und bei dem Zählwert 4 bestimmt das XOR-Gatter 310, ob die beiden Bits des Paares übereinstimmen. Wenn die Bits des Paares übereinstimmen, so wird in dem Schritt 1014 ACCEPT deaktiviert, STB deaktiviert und das Bitpaar zurückgewiesen bzw. verworfen. Wenn die Bits in dem Schritt 1012 und bei dem Zählwert 4 nicht übereinstimmen, wird in dem Schritt 1016 ACCEPT aktiviert, STB aktiviert und das erste Bit (oder alternativ das zweite Bit) durch das Latch 312 ausgegeben. Dieser Vorgang wird wiederholt, bis alle Ausgangsbitpaare der Zufallsbitquelle verarbeitet worden sind.
  • Die Abbildung aus 11 zeigt eine weitere Darstellung des Betriebs der Arbeitszyklus-Berichtigungseinrichtung 900. Das erste Bit, das Bit 0, wird in die Berichtigungseinrichtung 900 geladen, wobei es verworfen wird, wenn das erste Bitpaar geladen wird. Wenn die Bits des ersten Paares (Bits 1 und 2) übereinstimmen, werden die Bits verworfen, und es wird für dieses Bitpaar kein berichtigtes Bit erzeugt. Die Bits des zweiten Bitpaares (Bits 3 und 4) stimmen nicht überein, und die Arbeitszyklus-Berichtigungseinrichtung 900 gibt eine Null aus. Der Modulo-5-Zähler 902 gibt danach den Zählwert 0 zurück, so dass das Bit 5 schließlich verworfen wird. Die Bits des dritten Bitpaares (Bits 6 und 7) stimmen nicht überein, und die Arbeitszyklus-Berichtigungseinrichtung 900 gibt eine Eins aus. Die Bits des letzten Bitpaares (Bits 8 und 9) stimmen überein und werden verworfen.
  • Das Verwerfen der Bits 0 und 5 reduziert die Autokorrelation der ersten Ordnung zwischen dem zweiten Bitpaar (Bits 3 und 4) und dem dritten Bitpaar (Bits 6 und 7). Der berichtigte Bitstrom wird beeinflusst durch eine weniger signifikante Autokorrelation zweiter Ordnung zwischen den zweiten und dritten Bitpaaren. Die verworfenen Bits des Zählwertes 0 (Zählwert 5, Zählwert 10, etc.) sind einheitlich bzw. gleichmäßig in dem Zufallsbitstrom verteilt, und somit kann deren Ausschluss zu einem ungefähr einheitlichen Arbeitszyklus für den berichtigten Bitstrom führen.
  • Die Abbildung aus 12 zeigt ein weiteres Beispiel der Arbeitszyklus-Berichtigungseinrichtung 1200, welche die Auswirkungen der Autokorrelation erster Ordnung zwischen durch die Zufallsbitquelle 202 ausgegebenen Bitpaaren reduziert. Die Arbeitszyklus-Berichtigungseinrichtung 1200 reduziert die Autokorrelation erster Ordnung, indem Bits von der Zufallsbitquelle 202 verworfen werden, die sich zwischen Bitpaaren befinden, die verglichen werden.
  • Die Arbeitszyklus-Berichtigungseinrichtung 1200 entspricht der Arbeitszyklus-Berichtigungseinrichtung 300, mit der Ausnahme, dass das transparente Latch 308 der Validierungslogik durch den Modulo-3-Zähler 1202 ersetzt wird, der ein hohes Logiksignal auf der Signalleitung 1204 nu bei dem Zählwert 2 ausgibt.
  • Der Betrieb der Arbeitszyklus-Berichtigungseinrichtung 1200 ist in der Abbildung aus 13 veranschaulicht. In dem Schritt 1300 und bei dem Zählwert 0 des Modulo-3-Zählers 902 wird ein erstes Bit in das Latch 304 geladen. Das Bit wird verworfen, da das Signal auf der Signalleitung 1204 für die Zählwerte 0 und 1 nicht aktiviert wird. In dem Schritt 1302 wird ein erstes Bitpaar der Zufallsbitquelle 202 bei den Zählwerten 1 und 2 in den Latches 304 und 306 zwischengespeichert. Dies bewirkt, dass das erste Bit aus der Berichtigungseinrichtung 1200 verworfen wird. In dem Schritt 1304 und bei dem Zählwert 2 bestimmt das XOR-Gatter 310, ob die beiden Bits des Paares übereinstimmen. Wenn die Bits des Paares übereinstimmen, so wird in dem Schritt 1306 ACCEPT deaktiviert, STB deaktiviert und das Bitpaar zurückgewiesen bzw. verworfen. In dem Schritt 1306 wird kein Bit durch das Latch 312 zwischengespeichert und an die Signalleitung 214 ausgegeben. Wenn die Bits in dem Schritt 1304 und bei dem Zählwert 2 nicht übereinstimmen, so wird in dem Schritt 1308 ACCEPT aktiviert, STB aktiviert und das erste Bit (oder alternativ das zweite Bit) durch Ausgabe durch das Latch 312 ausgegeben. Der Ablauf wiederholt sich, bis alle Ausgabebitpaare aus der Zufallsbitquelle verarbeitet worden sind.
  • Die Abbildung aus 14 zeigt eine weitere Darstellung des Betriebs der Arbeitszyklus-Berichtigungseinrichtung 1200. Das erste Bit, das Bit 0, wird in die Berichtigungseinrichtung 1200 geladen, jedoch verworfen, wenn das erste Bitpaar geladen wird. Wenn die Bits des ersten Bitpaares (Bits 1 und 2) übereinstimmen, werden die Bits verworfen, und es wird für dieses Bitpaar kein berichtigtes Bit erzeugt. Das vierte Bit, Bit 3, wird in die Berichtigungseinrichtung 1200 geladen, wobei es jedoch verworfen wird, wenn das zweite Bitpaar geladen wird. Die Bits des zweiten Bitpaars (Bits 4 und 5) stimmen nicht überein, und die Arbeitszyklus-Berichtigungseinrichtung 1200 gibt eine Null aus. Das siebte Bit, Bit 6, wird in die Berichtigungseinrichtung 1200 geladen, wobei es jedoch verworfen wird, wenn das dritte Bitpaar geladen wird. Die Bits des dritten Bitpaares (Bits 7 und 8) stimmen nicht überein, und die Arbeitszyklus-Berichtigungseinrichtung 1200 gibt eine Null aus. Das zehnte Bit, Bit 9, wird in die Berichtigungseinrichtung 1200 geladen, jedoch verworfen, wenn das vierte Bitpaar geladen wird. Die Bits des vierten Bitpaares (Bits 10 und 11) sind identisch und werden verworfen.
  • Das Verwerfen der Bits 0, 3, 6, 9, etc. reduziert die Autokorrelation erster Ordnung zwischen den verglichenen Bitpaaren. Der berichtigte Bitstrom wird durch eine weniger signifikante Autokorrelation zweiter Ordnung zwischen den verglichenen Bitpaaren beeinflusst. Die verworfenen Bits der Zählwerte 0, 3, 6, 9, etc. des Modulo-3-Zählers 1202 sind in dem Zufallsbitstrom gleichmäßig bzw. einheitlich verteilt, und deren Ausschluss kann zu einem ungefähr einheitlichen Arbeitszyklus des berichtigten Bitstroms führen.
  • Für die vorstehend veranschaulichten Arbeitszyklus-Berichtigungseinrichtungen wurde zwar beschrieben, dass sie zwei konsekutive Bits in dem Zufallsbitstrom einer Zufallsbitquelle vergleichen, wobei aber in alternativen Ausführungsbeispielen auch nicht konsekutive Bits verglichen werden können. Zum Beispiel können zusätzliche Speicherschaltungen zwischen den Speicherschaltungen 204 und 206 eingefügt werden, oder jede Speicherschaltung kann durch andere Takte oder unterschiedliche Taktflanken getaktet werden.
  • Darüber hinaus ist die Ausgangsschaltung 212 so dargestellt, dass sie entweder die Ausgabe der Speicherschaltung 204 oder 206 empfängt. In einem alternativen Ausführungsbeispiel kann die Vergleichslogik 208 eine Logik aufweisen, welche die an die Ausgangsschaltung 212 bereitgestellten Daten als Reaktion auf die Daten bestimmt, die in den Speicherschaltungen 204 und 206 gespeichert sind.
  • Die zur Erzeugung einer im Wesentlichen einheitlichen Verteilung von Einsen und Nullen von einer Zufallsbitquelle beschriebenen Arbeitszyklus-Berichtigungseinrichtungen können in Verbindung mit einem Zufallszahlengenerator zum Codieren und Decodieren von Nachrichten eingesetzt werden, die über ein Computernetzwerk übermittelt werden. Die Abbildung aus 15 zeigt ein Blockdiagramm eines Computernetzwerks zur Übertragung verschlüsselter Nachrichten unter Verwendung eines beliebigen der vorstehend beschriebenen Ausführungsbeispiele. Das Netzwerk 1500 weist einen sendenden Host-Computer 1502 auf, der über ein Netzwerk mit einem empfangenden Host-Computer 1504 gekoppelt ist. Sowohl der sendende Host-Computer als auch der empfangende Host-Computer weisen Netzwerkschnittstellenvorrichtungen auf, welche die physikalischen und logischen Verbindungen zwischen den Host-Computersystemen und dem Netzwerkmedium bereitstellen. Beide Host-Computer weisen ferner Verschlüsselungs-/Entschlüsselungsschaltungen auf, die verschiedene kryptographische Funktionen ausführen, um Datenübertragungen zu schützen. Der sendende Host 1502 weist eine Verschlüsselungs-/Entschlüsselungsschaltung 1506 auf, und der empfangende Host 1504 weist eine Verschlüsselungs-/Entschlüsselungsschaltung 1507 auf. Die Verschlüsselungs-/Entschlüsselungsschaltungen 1506 und 1507 weisen beide entsprechende Zufallszahlengeneratoren 1508 und 1509 auf, die ein beliebiges der Ausführungsbeispiele aus den 2, 3, 6, 9 oder 12 einsetzen. Die Zufallszahlengeneratoren werden eingesetzt, um Paare aus öffentlichen/privaten Schlüsseln in Systemen mit öffentlichen/privaten Schlüsseln zu erzeugen.
  • Verschiedene Verfahren der Datenverschlüsselung können in dem Netzwerk 1500 eingesetzt werden, um Kommunikationen zwischen dem sendenden Host 1502 und dem empfangenden Host 1504 zu schützen bzw. zu sichern. In einem Ausführungsbeispiel verwendet das Netzwerk 1500 ein kryptographisches System mit öffentlichem Schlüssel (asymmetrisch). In einem System mit öffentlichem Schlüssel werden zwei unterschiedliche Schlüssel eingesetzt. Ein Schlüssel wird von dem Sender verwendet, um eine Nachricht zu codieren, und der andere Schlüssel wird von dem Empfänger verwendet, um die codierte Nachricht zu entschlüsseln. Bei diesem System kann der (öffentliche) Verschlüsselungsschlüssel weit verbreitet veröffentlicht werden, während der (private) Entschlüsselungsschlüssel geheim gehalten werden muss, so dass nur der vorgesehene Empfänger die Nachricht decodieren kann. Die öffentlichen und privaten Schlüssel werden für gewöhnlich gemeinsam von sehr großen Prim- und Zufallszahlen abgeleitet. Effektive Zufallszahlengeneratoren sind somit erforderlich, um wirklich zufällig bzw. wahlfreie Schlüsselpaare zu erzeugen.
  • Bei einem Beispiel einer Datenübertragung unter Verwendung eines öffentlichen Schlüsselsystems setzt der sendende Host 1502 eine Nachricht M für die Übertragung an einen empfangenden Host 1504 zusammen. Die beiden für die Übermittlung verwendeten Schlüssel umfassen den öffentlichen Schlüssel des Empfängers (PuKR) und den privaten Schlüssel des Empfängers (PrKR). Der Empfänger wählt für gewöhnlich einen öffentlichen Schlüssel aus dem öffentlich verfügbaren Register von Schlüsseln aus und leitet den privaten Schlüssel aus dem öffentlichen Schlüssel über ein nur dem Empfänger bekanntes Transformationsverfahren ab. Die Korrelation zwischen dem öffentlichen Schlüssel und dem privaten Schlüssel ist somit allgemein geheim und sicher. Unter Verwendung des öffentlichen Schlüssels codiert der sendende Host 1502 die Nachricht über die Verschlüsselungs-/Entschlüsselungsschaltung 1506, so dass eine codierte Nachricht M' erzeugt wird. Nach der Codierung kann nur der entsprechende private Schlüssel die Nachricht decodieren. Nach dem Empfang der Nachricht decodiert der empfangende Host 1504 die Nachricht M' mit dem privaten Schlüssel, um die ursprüngliche Nachricht wiederherzustellen.
  • In einem Ausführungsbeispiel weist die Verschlüsselungs-/Entschlüsselungsschaltung 1507 in dem empfangenden Host 1504 einen Zufallszahlengenerator 1509 auf, der ein beliebiges der Ausführungsbeispiele aus den 2, 3, 6, 9 oder 12 einsetzt. Diese Technik stellt sicher, dass die Bitverteilung von dem Zufallszahlengenerator 1509 ausreichend einheitlich und wahlfrei ist, so dass keine einheitliche Korrelation zwischen den durch den empfangenen Host 1504 erzeugten privaten Schlüssels und öffentlichen Schlüsseln existiert. Wie dies in dem Netzwerk 1500 dargestellt ist, weist die Verschlüsselungs-/Entschlüsselungsschaltung 1506 in dem sendenden Host 1502 ebenfalls einen Zufallszahlengenerator 1508 auf, der ein beliebiges der Ausführungsbeispiele der 2, 3, 6, 9 oder 12 einsetzt. Dies ermöglicht es, dass der sendende Host 1502 sichere private Schlüssel und öffentliche Schlüssel erzeugt, wenn er eine Übermittlung eines öffentlichen Schlüssels einsetzt. Ein hohes Maß der Zufälligkeit bzw. Wahlfreiheit ist erforderlich, um das Schlüsselpaar zu erzeugen, um eine nicht umfassende Suche nach privaten Schlüsseln übermäßig schwierig zu gestalten.
  • In einem alternativen Ausführungsbeispiel verwendet das Netzwerk 1500 ein System mit einem einzigen Schlüssel (symmetrisch) für die Ausführung kryptographischer Funktionen. Bei einem System mit einem Schlüssel wird ein Schlüssel sowohl von dem Sender zum Verschlüsseln der Nachricht als auch von dem Empfänger zum entschlüsseln der codierten Nachricht verwendet. Das System basiert auf der Geheimhaltung des Schlüssels. Somit ist ein sicherer Prozess erforderlich, damit der Schlüssel nur zwischen dem Sender und dem Empfänger und keinem Dritten offenbart wird. Bei diesem Ausführungsbeispiel werden für gewöhnlich unterschiedliche Schlüssel für verschiedene Nachrichtentransaktionen verwendet. Somit erfordert die Erzeugung verschiedener Schlüssel einen wahlfreien Prozess, um sicherzustellen, dass ein Schlüssel, der für eine Nachrichtentransaktion verwendet wird, aus keinem Schlüssel bestimmt werden kann, der für eine andere Nachrichtentransaktion verwendet wird. Bei diesem System werden die Zufallsgeneratoren in den Verschlüsselungs-/Entschlüsselungsschaltungen in jedem der Host-Computer des Netzwerks 1500 verwendet, um die zufälligen Schlüsselmuster zum Codieren und Decodieren der zwischen den Host-Computern übertragenen Nachrichtendaten zu erzeugen.
  • Hiermit wird festgestellt, dass neben den beschriebenen Ausführungsbeispielen der vorliegenden Erfindung in Bezug auf Verschlüsselungssysteme mit einem Schlüssel und öffentlichem/privatem Schlüssel auch Ausführungsbeispiele für die Zufallszahlenerzeugung in andersartigen kryptographischen Systemen für sichere Computernetzwerkanwendungen verwendet werden können. Ferner können die in der Abbildung aus 15 veranschaulichten Verschlüsselungs-/Entschlüsselungsschaltungen in Systemen zur sicheren Datenübertragung für die Ausführung verschiedener kryptographischer Funktionen eingesetzt werden, wie etwa der Codierung und Decodierung von Nachrichten, der Authentifizierung von übermittelten Nachrichten, der Verifizierung digitaler Signaturen und anderer ähnlicher Funktionen.
  • Vorstehend wurde eine Schaltung zum Erzeugen eines Zufallszahlengenerators mit einheitlichem Arbeitszyklus beschrieben. Die vorliegende Erfindung wurde vorstehend in Bezug auf bestimmte Ausführungsbeispiele beschrieben, wobei jedoch ersichtlich ist, dass verschiedene Modifikationen und Abänderungen in Bezug auf diese Ausführungsbeispiele möglich sind, ohne dabei vom weiteren Umfang der Erfindung abzuweichen, der in den Ansprüchen ausgeführt ist. Folglich dienen die Beschreibung und die Zeichnungen Zwecken der Veranschaulichung und haben keine einschränkende Funktion.

Claims (18)

  1. Verfahren zum Erzeugen eines Bitstroms mit einer Korrelation von ungefähr Null aus einem wahlfreien Bitstromausgang einer wahlfreien Bitquelle, wobei das Verfahren folgendes umfasst: das Vergleichen (208) der Bits jedes Paares der Mehrzahl von Bitpaaren, welche miteinander den wahlfreien Bitstrom bilden; das Verwerfen (210) jedes Paars der genannten Mehrzahl von Bitpaaren, wenn die Bitpaare identisch sind; das Ausgeben (212) eines Bits jedes Paars der genannten Mehrzahl von Bitpaaren, wenn die Bitpaare nicht identisch sind; und das Verwerfen (708) jedes X-ten Bits, das durch eine Modulo-X-Zählung des Taktsignals der wahlfreien Bitquelle bestimmt wird, aus dem Ausgangs-Bitstrom, um die Autokorrelation zwischen den Bits zu reduzieren.
  2. Verfahren nach Anspruch 1, wobei das Ausgeben eines Bits jedes Paars der Mehrzahl von Bitpaaren das Ausgeben des ersten Bits des Bitpaares umfasst.
  3. Verfahren nach Anspruch 1, wobei das Ausgeben eines Bits jedes Paars der Mehrzahl von Bitpaaren das Ausgeben des zweiten Bits des Bitpaares umfasst.
  4. Verfahren nach Anspruch 1, wobei dieses ferner das synchrone Verriegeln jedes Paars der Mehrzahl von Bitpaaren in einem Paar seriell gekoppelter Latches (304, 306) umfasst.
  5. Verfahren nach Anspruch 1, wobei das Verfahren ferner folgendes umfasst: das Vergleichen von Bits eines anderen folgenden Bitpaares; und das Verwerfen eines Bits in einem wahlfreien Bitstrom zwischen den beiden Paaren verglichener Bits.
  6. Verfahren nach Anspruch 1, wobei das Verfahren folgendes umfasst: das Verwerfen des anderen Bits in dem wahlfreien Bitstrom, unabhängig davon, ob das Bitpaar identisch oder nicht identisch ist.
  7. Verfahren nach einem der vorstehenden Ansprüche beim Einsatz in einem Zufallszahlengenerator, der so betrieben werden kann, dass binäre Zufallszahlen zur Verwendung in einem kryptographischen System erzeugt werden, für sichere Kommunikationen zwischen einer Mehrzahl von Computern in einem Netzwerk.
  8. Arbeitszyklus-Berichtigungsschaltung (200) zum Erzeugen eines Bitstroms mit einer Korrelation von ungefähr Null aus einem wahlfreien Bitstromausgang einer wahlfreien Bitquelle (202), wobei die Arbeitszyklus-Berichtigungsschaltung folgendes umfasst: eine erste Speicherschaltung (204), die so angeordnet ist, dass sie ein erstes Bit jedes Paars einer Mehrzahl von Bitpaaren, welche den wahlfreien Bitstrom bilden, empfängt und speichert; eine zweite Speicherschaltung (206), die mit der ersten Speicherschaltung gekoppelt und so angeordnet ist, dass sie ein zweites Bit jedes Paars der genannten Mehrzahl von Bitpaaren empfängt und speichert; eine Vergleichsschaltung (208), die mit der ersten Speicherschaltung und der zweiten Speicherschaltung gekoppelt und so angeordnet ist, dass die Bits jedes Paars der genannten Mehrzahl von Bitpaaren in dem wahlfreien Bitstrom miteinander verglichen werden; eine Validierungslogik (210), die mit der ersten Speicherschaltung, der zweiten Speicherschaltung und der Vergleichsschaltung gekoppelt ist, wobei die Validierungslogik so angeordnet ist, dass sie jedes der Paare der genannten Mehrzahl von Bitpaaren verwirft, wenn die Bitpaare identisch sind, und wobei ein Bit jedes Paars der genannten Mehrzahl von Bitpaaren ausgegeben wird, wenn die Bitpaare nicht identisch sind; und eine Zeitsteuerungsschaltung, die mit der Validierungslogik gekoppelt ist, um jedes X-te Bit aus dem durch einen Modulo-X-Zähler (602), der mit einem Taktausgang der wahlfreien Bitquelle gekoppelt ist, bestimmten Ausgangsbitstrom zu verwerfen, um die Autokorrelation zwischen den Bits zu reduzieren.
  9. Arbeitszyklus-Berichtigungsschaltung nach Anspruch 8, wobei die erste Speicherschaltung und die zweite Speicherschaltung Latches (304, 306) umfassen.
  10. Arbeitszyklus-Berichtigungsschaltung nach Anspruch 8, wobei die Vergleichsschaltung ein XOR-Gatter (310) umfasst.
  11. Arbeitszyklus-Berichtigungsschaltung nach Anspruch 8, wobei diese ferner eine Ausgangsschaltung (212) umfasst, die so gekoppelt ist, dass sie den Signalausgang durch die Validierungslogik und das in der ersten Speicherschaltung oder in der zweiten Speicherschaltung gespeicherte Bit empfängt, wobei die Ausgangsschaltung so angeordnet ist, dass sie das Bit mit einer Korrelation von ungefähr Null in dem Bitstrom ausgibt.
  12. Arbeitszyklus-Berichtigungsschaltung nach Anspruch 11, wobei die Ausgangsschaltung eine Speicherschaltung (312) umfasst.
  13. Arbeitszyklus-Berichtigungsschaltung nach Anspruch 8, wobei die Validierungsschaltung folgendes umfasst: ein transparentes Latch (308), das mit einem Taktausgang der wahlfreien Bitquelle gekoppelt ist; und ein erstes AND-Gatter (309) mit einem ersten Eingang, der mit einem Ausgang des transparenten Latches gekoppelt ist, und mit einem zweiten Eingang, der mit einem ersten Ausgang der Vergleichsschaltung gekoppelt ist.
  14. Arbeitszyklus-Berichtigungsschaltung nach Anspruch 8, wobei die Validierungslogik ferner folgendes umfasst: den Modulo-X-Zähler (602), der mit dem Taktausgang der wahlfreien Bitquelle gekoppelt ist, wobei X eine ganze Zahl größer als 1 ist; und ein zweites AND-Gatter (309) mit einem ersten Eingang, der mit einem Ausgang des Modulo-X-Zählers gekoppelt ist, und mit einem zweiten Eingang, der mit einem zweiten Ausgang der Vergleichsschaltung gekoppelt ist.
  15. Computernetzwerk (1500), das folgendes umfasst: einen Computer (1502); eine Netzwerkschnittstellenvorrichtung, die so betrieben werden kann, dass sie Nachrichten zwischen dem Computer und einem Netzwerkmedium sendet und empfängt; und eine Verschlüsselungs-/Entschlüsselungsschaltung (1506), die so angeordnet ist, dass sie von dem Computer übertragene Nachrichten codiert und decodiert, wobei die Verschlüsselungs-/Entschlüsselungsschaltung einen Zufallszahlengenerator aufweist, der so angeordnet ist, dass er den wahlfreien Bitstrom erzeugt und an die Arbeitszyklus-Berichtigungsschaltung gemäß der Definition in einem der Ansprüche 8 bis 14 ausgibt.
  16. Schaltung nach Anspruch 15, wobei die Verschlüsselungs-/Entschlüsselungsschaltung ferner so angeordnet ist, dass sie durch den Computer übertragene und empfangene Nachrichten unter Verwendung eines schlüsselbasierten kryptographischen Verfahrens codiert und decodiert.
  17. Schaltung nach Anspruch 16, wobei das schlüsselbasierte kryptographische Verfahren ein System mit einem Schlüssel darstellt.
  18. Schaltung nach Anspruch 17, wobei das schlüsselbasierte kryptographische Verfahren ein System mit einem öffentlichen Schlüssel/einem privaten Schlüssel darstellt.
DE60031101T 1999-03-31 2000-03-16 Tastverhältniskorrektur für einen zufallszahlengenerator Expired - Fee Related DE60031101T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US283096 1994-07-29
US09/283,096 US6643374B1 (en) 1999-03-31 1999-03-31 Duty cycle corrector for a random number generator
PCT/US2000/006916 WO2000059153A2 (en) 1999-03-31 2000-03-16 Duty cycle corrector for a random number generator

Publications (2)

Publication Number Publication Date
DE60031101D1 DE60031101D1 (de) 2006-11-16
DE60031101T2 true DE60031101T2 (de) 2007-05-10

Family

ID=23084499

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031101T Expired - Fee Related DE60031101T2 (de) 1999-03-31 2000-03-16 Tastverhältniskorrektur für einen zufallszahlengenerator

Country Status (8)

Country Link
US (1) US6643374B1 (de)
EP (1) EP1166492B1 (de)
JP (1) JP4629876B2 (de)
AU (1) AU762617B2 (de)
DE (1) DE60031101T2 (de)
HK (1) HK1039846B (de)
TW (1) TW490967B (de)
WO (1) WO2000059153A2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19914407A1 (de) * 1999-03-30 2000-10-05 Deutsche Telekom Ag Verfahren zur Ableitung von Identifikationsnummern
US6795837B1 (en) 1999-03-31 2004-09-21 Intel Corporation Programmable random bit source
US6643374B1 (en) 1999-03-31 2003-11-04 Intel Corporation Duty cycle corrector for a random number generator
US6687721B1 (en) 2000-03-31 2004-02-03 Intel Corporation Random number generator with entropy accumulation
US6792438B1 (en) 2000-03-31 2004-09-14 Intel Corporation Secure hardware random number generator
US7350083B2 (en) 2000-12-29 2008-03-25 Intel Corporation Integrated circuit chip having firmware and hardware security primitive device(s)
FR2821181A1 (fr) * 2001-02-22 2002-08-23 Schlumberger Systems & Service Procede de creation de valeurs aleatoires par un module associe a un microprocesseur
JP3732188B2 (ja) 2003-03-31 2006-01-05 Necマイクロシステム株式会社 擬似乱数発生回路
US7177888B2 (en) 2003-08-01 2007-02-13 Intel Corporation Programmable random bit source
US8229108B2 (en) * 2003-08-15 2012-07-24 Broadcom Corporation Pseudo-random number generation based on periodic sampling of one or more linear feedback shift registers
WO2005020064A2 (en) * 2003-08-22 2005-03-03 North-West University Hardware generator employing analog and digital correction circuits for generating uniform and gaussian distributed true random numbers
US7876866B1 (en) * 2005-01-27 2011-01-25 Pmc-Sierra Us, Inc. Data subset selection algorithm for reducing data-pattern autocorrelations
DE102005042135B3 (de) * 2005-09-05 2006-08-31 Infineon Technologies Ag Vorrichtung und Verfahren mit Computerprogramm zur Zufallszahlenerzeugung mit Schiefenregelung und algorithmischer Nachbearbeitung
US20090161246A1 (en) * 2007-12-23 2009-06-25 Hitachi Global Storage Technologies Netherlands, B.V. Random Number Generation Using Hard Disk Drive Information
MY146159A (en) * 2008-10-20 2012-06-29 Mimos Berhad Autocorrelation circuit for random number generator
US8489660B2 (en) 2009-06-26 2013-07-16 Intel Corporation Digital random number generator using partially entropic data
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
US8788551B2 (en) 2011-11-15 2014-07-22 Seagate Technology Llc Random number generation using switching regulators
US9201630B2 (en) 2012-02-10 2015-12-01 Seagate Technology Llc Random number generation using startup variances
US11394530B2 (en) * 2017-11-01 2022-07-19 Gideon Samid RandoSol: randomness solutions

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3706941A (en) * 1970-10-28 1972-12-19 Atomic Energy Commission Random number generator
US3790768A (en) 1972-09-28 1974-02-05 Prayfel Inc Random number generator
US4355366A (en) * 1980-11-28 1982-10-19 Ncr Corporation Circuitry for minimizing auto-correlation and bias in a random number generator
US4694412A (en) 1982-09-22 1987-09-15 Intel Corporation Random number generator for use in an authenticated read-only memory
US4578649A (en) 1985-02-04 1986-03-25 Motorola, Inc. Random voltage source with substantially uniform distribution
US4791594A (en) 1986-03-28 1988-12-13 Technology Inc. 64 Random-access psuedo random number generator
US4855690A (en) 1987-08-10 1989-08-08 Dallas Semiconductor Corporation Integrated circuit random number generator using sampled output of variable frequency oscillator
US4810975A (en) 1987-08-10 1989-03-07 Dallas Semiconductor Corp. Random number generator using sampled output of variable frequency oscillator
DE4006251C1 (en) * 1990-02-28 1991-04-11 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De Recognising periodicity in pseudo-stochastic sequence of bits - using comparison registers charged with different cycle and generating alarm if last bits of series correspond
US5007087A (en) * 1990-04-16 1991-04-09 Loral Aerospace Corp. Method and apparatus for generating secure random numbers using chaos
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5627775A (en) 1995-04-18 1997-05-06 Applied Computing Systems, Inc. Method and apparatus for generating random numbers using electrical noise
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5706218A (en) 1996-05-15 1998-01-06 Intel Corporation Random number generator
US5778070A (en) 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US5844925A (en) 1996-07-17 1998-12-01 Ericsson Inc. Spiral scrambling
WO1998007251A1 (en) 1996-08-16 1998-02-19 Bell Communications Research, Inc. Improved cryptographically secure pseudo-random bit generator for fast and secure encryption
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5828753A (en) 1996-10-25 1998-10-27 Intel Corporation Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
AU6433198A (en) * 1997-01-13 1998-08-18 Sage Technology, Incorporated Random number generator based on directional randomness associated with naturally occurring random events, and method therefor
US5781458A (en) * 1997-03-05 1998-07-14 Transcrypt International, Inc. Method and apparatus for generating truly random numbers
US6195433B1 (en) 1998-05-08 2001-02-27 Certicom Corp. Private key validity and validation
US6026016A (en) 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US6643374B1 (en) 1999-03-31 2003-11-04 Intel Corporation Duty cycle corrector for a random number generator

Also Published As

Publication number Publication date
WO2000059153A3 (en) 2001-01-11
JP2002540482A (ja) 2002-11-26
AU4797100A (en) 2000-10-16
HK1039846B (zh) 2007-05-04
HK1039846A1 (en) 2002-05-10
JP4629876B2 (ja) 2011-02-09
AU762617B2 (en) 2003-07-03
EP1166492B1 (de) 2006-10-04
EP1166492A2 (de) 2002-01-02
US6643374B1 (en) 2003-11-04
DE60031101D1 (de) 2006-11-16
WO2000059153A2 (en) 2000-10-05
TW490967B (en) 2002-06-11

Similar Documents

Publication Publication Date Title
DE60031101T2 (de) Tastverhältniskorrektur für einen zufallszahlengenerator
DE69825171T2 (de) Verfahren und vorrichtung zur erzeugung eines bitstromverschlüsselungsschlüssels
DE69632707T2 (de) Verschlüsselungseinrichtung mit doppelter vorwärtsgeregelter Hash-Funktion
EP0809905B1 (de) Verschlüsselungsvorrichtung
DE60006935T2 (de) Ein fuzzy engagement schema
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69728465T2 (de) Nichtparalleler Mehrzyklus-Verschlüsselungsapparat
DE2231835A1 (de) Verfahren zur in mehreren stufen erfolgenden ver- und entschluesselung binaerer daten
DE69831982T2 (de) Kryptographisches vermittlungsverfahren und gerät
DE3237489A1 (de) Stromchiffrierung unter verwendung einer chiffrieranlage mit oeffentlichem schluessel
EP0482154A1 (de) Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben.
DE69933108T2 (de) Synchrone bitstromverschlüsselung
EP2240848A1 (de) Schaltung und verfahren zur generierung einer echten, schaltungsspezifischen und zeitinvarianten zufallszahl
WO2012071597A1 (de) Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
DE102004042826A1 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE102014200163A1 (de) Verfahren zum Erzeugen einer Ausgabe einer Zufallsquelle eines Zufallsgenerators
DE102010045580A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
AT412747B (de) Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identifikation oder ver- und endschlüsselung von daten beliebiger länge
EP4059204B1 (de) Vorrichtungen, system, verfahren und computerprogramm zur hardware-basierten datenverschlüsselung mit impedanzschalter
DE602004012096T2 (de) Verfahren und vorrichtung für eine hadwareimplementierung der schlüsselexpansionsfunktion mit wenig speicher
DE60023934T2 (de) Verfahren und vorrichtung zur erzeugung einer schlüsselsequenz
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
EP2288073B1 (de) Vorrichtung zur Verschlüsselung von Daten
WO1995034968A1 (de) Entschlüsselungseinrichtung von entschlüsselungsalgorithmen und verfahren zur durchführung der ver- und entschlüsselung derselben

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee