DE102006012635B4 - Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung - Google Patents

Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung Download PDF

Info

Publication number
DE102006012635B4
DE102006012635B4 DE102006012635A DE102006012635A DE102006012635B4 DE 102006012635 B4 DE102006012635 B4 DE 102006012635B4 DE 102006012635 A DE102006012635 A DE 102006012635A DE 102006012635 A DE102006012635 A DE 102006012635A DE 102006012635 B4 DE102006012635 B4 DE 102006012635B4
Authority
DE
Germany
Prior art keywords
subset
encrypted data
bit string
providing
signal processing
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
DE102006012635A
Other languages
English (en)
Other versions
DE102006012635A1 (de
Inventor
Nikolai Sefzik
Franz Klug
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006012635A priority Critical patent/DE102006012635B4/de
Priority to US11/688,472 priority patent/US20070230695A1/en
Publication of DE102006012635A1 publication Critical patent/DE102006012635A1/de
Application granted granted Critical
Publication of DE102006012635B4 publication Critical patent/DE102006012635B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Vorrichtung (140) zum Bereitstellen einer Zahl mit einer zufälligen Verteilung zur Verwendung in einer Schaltung (120), die eine Signalverarbeitungseinrichtung (130) umfasst, die verschlüsselte Daten verarbeitet, mit folgenden Merkmalen:
einer Einrichtung zum Bereitstellen der Zahl, die ausgebildet ist, um zumindest aus einem Teil der verschlüsselten Daten, die die Signalverarbeitungseinrichtung (130) verarbeitet, die Zahl bereitzustellen,
wobei die Einrichtung zum Bereitstellen der Zahl ausgebildet ist, um die Zahl zumindest aus einem Teil der verschlüsselten Daten bereitzustellen, wenn die verschlüsselten Daten eine vorbestimmte Bedingung oder die verschlüsselten Daten und ein Vergleichswert eine vorbestimmte Beziehung zueinander erfüllen;
wobei die verschlüsselten Daten eine Bitfolge mit einer ersten Teilmenge und einer zweiten Teilmenge aufweisen, wobei jedes Bit der Bitfolge nicht gleichzeitig der ersten Teilmenge und der zweiten Teilmenge der Bitfolge angehört,
wobei entweder die vorbestimmte Beziehung darin besteht, dass die zweite Teilmenge der Bitfolge mit dem Vergleichswert übereinstimmt, oder die vorbestimmte Bedingung darin...

Description

  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung, insbesondere auf eine Vorrichtung, wie sie beispielsweise im Rahmen eines Mikrocontrollers, einer Chipkarte (Smartcard) oder einer anderen Prozessoreinrichtung verwendet werden kann, die beispielsweise im Rahmen kryptographischer Verfahren und Prozesse auf Zahlen mit einer zufälligen Verteilung angewiesen sind.
  • Viele kryptographische Verfahren benötigen, um eine ausreichende Sicherheit bieten zu können, Zahlen mit einer zufälligen Verteilung, wie etwa Zufallszahlen oder Pseudo-Zufallszahlen. Pseudo-Zufallszahlen werden hierbei durch sogenannte Pseudo-Zufallszahlengeneratoren erzeugt, die ausgehend von einer Saat bzw. einem Seed durch Anwenden eines deterministischen Verfahrens eine Folge von Pseudo-Zufallszahlen bereitstellen. Je nach verwendetem Verfahren und nach verwendetem Pseudo-Zufallszahlengenerator weist die Folge von Pseudo-Zufallszahlen eine unterschiedliche Qualität bezüglich statistischer und/oder kryptographischer Eigenschaften auf.
  • Hierbei werden Seeds auch zur gezielten Veränderung von Pseudo-Zufallszahlengeneratoren (PRNG; PRNG = Pseudo-Random Number Generator) gerne genutzt, um das vorhandene deterministische Verhalten der Pseudo-Zufallszahlengeneratoren zu brechen. Aufgrund des deterministischen Verhaltens der Pseudo-Zufallszahlengeneratoren weist die Folge von Pseudo-Zufallszahlen unter anderem eine feststehende Reihenfolge bzw. Sequenz auf. Darüber hinaus zeigen die meisten Folgen von Pseudo-Zufallszahlen eines Pseudo-Zufallszahlengenerators eine bestimmte Periodizität, so dass also die Sequenz der Pseudo-Zufallszahlen sich wiederholt.
  • Durch einen Wechsel des Seeds wird somit eine Sequenz von Pseudo-Zufallszahlen verlassen und an einer anderen Stelle wieder fortgesetzt. Eine mögliche Lösung besteht beispielsweise darin, solche Seeds beispielsweise zu einem LFSR (LFSR = Linear-Feedback Register = lineares Schieberegister mit Rückkopplung) oder anderen Schieberegistern mit Rückkopplung zu addieren, um dadurch neue Startwerte in einer Sequenz zu erhalten. Um dies sicher realisieren zu können, wird jedoch eine Quelle mit einem statistisch ausgewogenen Zufall benötigt. Diese wird im Rahmen von Controllern und anderen Mikroprozessoren bisher entweder im Rahmen eines echten Zufallszahlengenerators (TRNG; TRNG = True Random Number Generator) oder einem Hardware-Pseudo-Zufallszahlengenerator implementiert.
  • Bisherige Lösungen benutzten eine bestimmte Anzahl von Flip-Flops, typischerweise mehr als zehn Flip-Flops, um darin einen Zufallswert eines echten Zufallszahlengenerators zu speichern. Dieser Wert wird dann gegen einen deterministischen Wert eines Pseudo-Zufallszahlengenerators verglichen. Im Falle einer Identität der beiden Werte wird dann ein nachfolgender Zufallswert des echten Zufallszahlengenerators als Seed für den Pseudo-Zufallszahlengenerator benutzt. Durch die Größe der Anzahl der verwendeten Flip-Flops lässt sich dabei die Häufigkeit eines Wechsels des Seeds, das auch als sogenanntes Seeding bezeichnet wird, in Zweier-Potenzschritten steuern. Dies erfordert jedoch ein permanentes Benutzen des echten Zufallszahlengenerators, womit wesentliche Nachteile verbunden sind. Hierzu zählen insbesondere der wesentliche Energieverbrauch, der durch den Einsatz einer echten Zufallszahlenquelle hervorgerufen wird. So werden als echte Zufallszahlengeneratoren im Rahmen von Mikrocontrollern und anderen Prozessoreinrichtungen häufig rauschende Widerstände oder spannungsgesteuerte Oszillatoren (VCO; VCO = Voltage Controlled Oscillator), die ihrerseits mit einer Rauschquelle eingangsseitig beaufschlagt werden, verwendet. Diese Systeme weisen jedoch einen im Vergleich zu einem Energieverbrauch eines typischen Mikrocontrollers, wie er im Rahmen einer Chipkarte eingesetzt wird, hohen Energieverbrauch auf. Aufgrund der Notwendigkeit des permanenten Einsatzes der Zufallszahlenquelle im Rahmen der oben skizzierten Lösung verschärft sich dieses Problem massiv.
  • Darüber hinaus benötigt diese Lösung einen erheblichen zusätzlichen Hardware-Aufwand für die Flip-Flops, um einen Vergleich des deterministischen Wertes des Pseudo-Zufallszahlengenerators mit den Zufallszahlen des echten Zufallszahlengenerators im Rahmen einer Zufallszahlenhistorie durchzuführen.
  • Die US 2005/0097153 A1 bezieht sich auf einen Pseudozufallszahlengenerator, der ein erstes Elementarschieberegister mit einer nicht-linearen Rückkopplungseigenschaft, ein zweites Elementarschieberegister sowie eine Kombinationseinrichtung zum Kombinieren von Signalen an einem Ausgang des ersten Elementarschieberegisters und des zweiten Elementarschieberegisters umfasst, um ein kombiniertes Signal zu erhalten, das eine Pseudozufallszahl darstellt. Die Kombination von einzelnen nicht-linearen Elementarschieberegistern ermöglicht eine sichere und flexible Implementierung von Zufallszahlengeneratoren, deren Ausgangsfolgen eine hohe lineare Komplexität sowie eine hohe Periodenlänge umfassen.
  • Die US 5,600,720 bezieht sich auf eine Verschlüsselungsvorrichtung, ein Kommunikationssystem, das die Verschlüsselungsvorrichtung verwendet, und ein Verfahren zum Verschlüsseln. Um eine hohe Geschwindigkeit und eine sichere Verschlüsselung zu erzielen, enthält eine Kommunikationsvorrichtung eine Zufallszahlengeneratorschaltung zur sequentiellen Erzeugung von Zufallszahlensequenzen, die im Hinblick auf den Berechnungsaufwand im Falle der Kryptoanalyse der Sequenzen basierend auf den ausgegebenen Sequenzen. Hierbei wird ein kryptographischer Schlüssel von den Partnerstationen als Initialwert gemeinsam verwendet. Eine Verschlüsselungsschaltung zur sequentiellen Verschlüsselung von Kommunikationstexten und zur Ausgabe von Kryptogrammen in der sendenden Station. Die empfangende Station enthält eine Verschlüsselungsschaltung zur sequentiellen Kryptoanalyse der Kryptogramme und zur Ausgabe derselben. Hierbei erfolgt die Verschlüsselung, die Ausgabe, die Kryptoanalyse und die Ausgabe der Kryptogramme schneller als die sequentielle Erzeugung der Zufallszahlen durch die Zufallszahlengeneratorschaltung.
  • Ausgehend von diesem Stand der Technik besteht die Aufgabe der vorliegenden Erfindung darin, eine Vorrichtung und ein Verfahren zu schaffen, das eine energieoptimiertere und flächenoptimiertere Bereitstellung einer Zahl mit einer zufälligen Verteilung ermöglicht.
  • Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren gemäß Anspruch 4, eine Signalverarbeitung gemäß Anspruch 5 oder ein Programm gemäß Anspruch 6 gelöst.
  • Die erfindungsgemäße Vorrichtung zum Bereitstellen einer Zahl mit einer zufälligen Verteilung zur Verwendung in eine Schaltung, die eine Signalverarbeitungseinrichtung umfasst, die verschlüsselte Daten empfängt, umfasst eine Einrichtung, die ausgebildet ist, um zumindest aus einem Teil der verschlüsselten Daten, die die Signalverarbeitungseinrichtung empfängt, die Zahl bereitzustellen.
  • Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass eine energieoptimiertere und flächenoptimiertere Bereitstellung eine Zahl mit einer zufälligen Verteilung dadurch erreicht werden kann, dass diese aus zumindest einem Teil von verschlüsselten Daten gewonnen wird, die mittelbar oder unmittelbar der erfindungsgemäßen Vorrichtung zur Verfügung stehen. Insbesondere ermöglicht die erfindungsgemäße Vorrichtung somit eine energie- und flächenoptimierte Generierung von Seeds für Pseudo-Zufallszahlengeneratoren aus verschlüsselten Datenquellen, die eine statistisch gute, zufällige Verteilung aufweisen und in modernen Mikrocontroller-Umgebungen „automatisch" vorhanden sind. Mit anderen Worten nutzt die erfindungsgemäße Vorrichtung eine in Smartcard-Controllern, Chipkarten-Controllern und anderen Mikrocontrollern vorhandene Zufallszahlenquelle, deren statistische Eigenschaften sehr gut ist.
  • Die durch die Signalverarbeitungseinrichtung verarbeiteten Daten werden von dieser verschlüsselt z. B. über einen Lesebus bereitgestellt oder verschlüsselt auf einen Schreibbus ausgegeben.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegende Zeichnung näher erläutert. Es zeigt:
  • 1 ein Blockschaltbild einer Chipkarte mit einem Ausführungsbeispiel einer erfindungsgemäßen Vorrichtung zum Bereistellen einer Zahl mit einer zufälligen Verteilung.
  • Bezug nehmend auf 1 wird nun ein Ausführungsbeispiel einer erfindungsgemäßen Vorrichtung zum Bereitstellen einer Zahl mit einer zufälligen Verteilung, die im Rahmen einer Chipkarte implementiert ist, beschrieben.
  • 1 zeigt eine Chipkarte 100 mit einer Antenne 110, über die die Chipkarte 100 Daten mit einem externen, nicht in 1 gezeigten Empfänger austauschen kann. Die Chipkarte 100 weist darüber hinaus eine mit der Antenne 110 über einen Datenbus 115, der auch als Interconnect bezeichnet wird, gekoppelte Schaltung 120 auf, die eine Signalverarbeitungseinrichtung 130 und eine erfindungsgemäße Vorrichtung 140 zum Bereitstellen einer Zahl mit einer zufälligen Verteilung umfasst. Die Antenne 110 ist hierbei mit der Schaltung 120, und damit mit der Signalverarbeitungseinrichtung 130 und der erfindungsgemäßen Vorrichtung 140 gekoppelt.
  • Daten, die über die Antenne 110 beispielsweise zwischen einem, in 1 nicht gezeigten externen Speicher (Memory) und dem Controller bzw. der Signalverarbeitungseinrichtung 130 übertragen werden, sind häufig hart, beispielsweise mittels des MED3000-Algorithmus (MED = Memory Encryption Device = Speicherverschlüsselungsschaltung), verschlüsselt. Diese Daten weisen aufgrund der harten Verschlüsselung gute statistische Eigenschaften bezüglich ihrer Verteilung auf.
  • Im Folgenden soll der Einsatz der erfindungsgemäßen Vorrichtung 140 zum Bereitstellen einer Zahl mit einer zufälligen Verteilung im Rahmen eines Seedings, also im Rahmen eines Bereitstellens eines Seeds für einen Pseudo-Zufallszahlengenerator, den die Signalverarbeitungseinrichtung bzw. der Controller 130 umfasst, erläutert werden. Zu diesem Zweck ist die erfindungsgemäße Vorrichtung 140 mit dem Pseudo-Zufallszahlengenerator des Controllers 130 verbunden. Der Pseudo-Zufallszahlengenerator des Controllers 130 erzeugt hierbei, wie bereits in den einführenden Abschnitten der vorliegenden Anmeldung erläutert wurde, auf Basis eines Seeds durch Anwenden eines deterministischen Verfahrens eine Sequenz von Pseudo-Zufallszahlen, die aufgrund der deterministischen Natur des Verfahrens ihre Erzeugung auch als deterministische Werte bezeichnet werden. Es soll jedoch an dieser Stelle darauf hingewiesen werden, dass die erfindungsgemäße Vorrichtung 140 zum Bereitstellen einer Zahl mit einer zufälligen Verteilung nicht auf den Einsatz im Rahmen eines Seedings beschränkt ist. So kann die erfindungsgemäße Vorrichtung 140 auch direkt und/oder durch Anwenden einer einfachen Verknüpfung, also beispielsweise eine XOR-Verknüpfung (XOR = exclusive-or = exclusive-oder) mit einer vorbestimmten Zahl oder einer veränderlichen Zahl (z. B. der Systemzeit) auf Bitebene, als Pseudo-Zufallszahl bereitstellen.
  • Es können somit Teile dieser (verschlüsselten) Daten zu einem Vergleich mit einem deterministischen Wert eines Pseudo-Zufallszahlengenerators herangezogen werden. Weisen beispielsweise die verschlüsselten Daten eine Länge von m = 32 Bit auf, können so beispielsweise die unteren n Bit zu dem Vergleich mit dem deterministischen Wert des Pseudo-Zufallszahlengenerators herangezogen werden. Im Falle einer Übereinstimmung der unteren n Bit mit dem deterministischen Wert des Pseudo-Zufallszahlengenerators, also im Falle eines Hits, können dann weitere Datenbits der verschlüsselten Daten, die nicht im Rahmen des Vergleichs verwendet wurden, also solche Datenbits, die ungleich den Vergleichsbits sind, im Rahmen eines Seeding-Vorgangs als Seed für den Pseudo-Zufallszahlengenerator genutzt werden. So können beispielsweise als Seed in diesem Fall die oberen x Bits der verschlüsselten Daten als Seed für den Pseudo-Zufallszahlengenerator herangezogen werden. Hierdurch entfällt die erhebliche und unnötige energetische Verschwendung durch den Einsatz eines echten Zufallszahlengenerators, wie er in den einleitenden Abschnitten der vorliegenden Anmeldung erläutert wurde. Des weiteren können dadurch, dass Teile der verschlüsselten Daten mit dem deterministischen Wert des Pseudo-Zufallszahlengenerators verglichen werden, die zusätzlichen Flip-Flops, also die zusätzlichen Speicherplätze zum Speichern einer Zufallszahlenhistorie, eingespart werden. Zu diesem Zweck ist es allerdings erforderlich, dass im Rahmen des skizzierten Beispiels die Summe der Zahlen x und n größer als die Zahl der Datenbits der verschlüsselten Daten N ist. Die Zahlen N, n und x sind hierbei natürliche Zahlen.
  • Abhängig von einer Anzahl m der übermittelten verschlüsselten Daten ergibt sich die folgende Formel zur Berechnung der Wahrscheinlichkeit, dass es zu einem Seeding-Vorgang auf Basis der „zufälligen" Werte kommt, die über den Datenbus 115 übermittelt werden:
    Figure 00080001
  • Hierbei bezeichnet P(Seeding) die Wahrscheinlichkeit, dass es bei einem Transfer von m verschlüsselten Daten und einem Vergleich von jeweils n Bits mit einem Vergleichswert, damit es zu einem Seeding kommt, mindestens einmal zu einem Seeding-Vorgang führt. Der Vergleich von jeweils n Bits mit einem Vergleichswert also beispielsweise einem vorbestimmten Wert, stellt ein Beispiel für eine vorbestimmte Bedingung dar. P(kein Seeding) bezeichnet hierbei die Wahrscheinlichkeit, dass es bei einem Transfer von m verschlüsselten Daten und einem Vergleich von n Bits mit einem Vergleichswert nicht zu einem Seeding-Vorgang kommt, dass also im Rahmen des Transfers der m verschlüsselten Daten die n Bits eines jeden transferierten Datums nicht mit dem Vergleichswert übereinstimmt. P([n, m]; x = 0) bezeichnet ferner die Wahrscheinlichkeit, dass m zufällig gewählte Werte mit einer Länge von n Bits alle nicht den Wert X = 0 aufweisen. Aufgrund der Tatsache, dass die verschlüsselten Daten, die über den Datenbus 115 transferiert werden, eine hervorragende statistische Verteilung aufweisen, diese also in sehr guter Näherung als Zufallswerte bezeichnet werden können, und darüber hinaus die Überprüfung der m Zufallswerte auf ein Vorliegen eines bestimmten Zahlenwertes X unabhängig voneinander sind, kann dies auf die Wahrscheinlichkeit P(n; X = 0) für ein Abweichen einer Zahl mit n Bits von dem Wert X = 0 zurückgeführt werden.
  • Das bedeutet, dass beispielsweise bei einer Überprüfung von n = 4 Bits bei einem Transfer von 16 verschlüsselten Daten mit einer Wahrscheinlichkeit von etwa 64,6% davon ausgegangen werden kann, dass mindestens einmal auf Basis der verschlüsselten Daten, die, wie oben erläutert wurde, aufgrund ihrer guten statistischen Verteilung auch als Zufallsdaten bzw. Zufallswerte bezeichnet werden können, ein (Zufalls-)Seed generiert wird.
  • Ein Beispiel für eine vorhandene Quelle statistisch gut verteilter Zufallswerte im Rahmen moderner Chipkarten-Konzepte, die zur Generierung von Seeds für Pseudo-Zufallszahlengeneratoren ausgenutzt werden können, stellt der sogenannte AXI-Lesebus (AXI read bus; AXI = Advanced eXtensible Interface = fortschrittliche erweiterbare Schnittstelle) der sogenannten AMBA-Architektur (AMBA = Advanced Microcontroller Bus Architecture = fortschrittliche Microkontroller-Bus-Schnittstelle) der Firma Arm Ltd. dar. Hierbei werden die über den AXI-Lesebus verschlüsselt übertragenen Daten dazu verwendet, um die „Zufallswerte" zu liefern, mit denen der Seed für ein Masken-Register (Mask-Register) im Rahmen einer APB-Infrastruktur (APB = Advanced Periphery Bus = fortschrittlicher Bus für Peripheriegeräte) generiert wird. Dies kann in Kombination mit „Zufallswerten", die über diesen Interkonnekt übertragen werden, sowohl auf Seite des APB-Busmasters, der den APB-Bus kontrolliert, als auch auf Seiten der APB-Slaves geschehen, die dem APB-Busmaster bezogen auf eine Hierarchie des APB-Busses untergeordnet sind.
  • Auch wenn in dem geschilderten Ausführungsbeispiel der Datenbus 115 an die Antenne 110 gekoppelt ist, stellt dies keine Einschränkung bezüglich der vorliegenden Erfindung dar. Vielmehr kann der Datenbus 115 auch beispielsweise mit einer Kontaktfläche für einen Datenaustausch zwischen der Chipkarte 100 und einer externen Komponente über einen direkten metallischen Kontakt, mit einer Infrarot-Empfangseinrichtung, beispielsweise einer Infrarot-Photodiode, oder einer anderen optischen Empfangseinrichtung, wie etwa einer Photodiode für sichtbares Licht, gekoppelt sein. Darüber hinaus kann die erfindungsgemäße Vorrichtung 140 nicht nur mit einer externen Komponente über eine Funkverbindung, eine direkte metallische Verbindung, eine Infrarot-Verbindung oder eine andere optische Verbindung gekoppelt sein, sondern auch über einen entsprechenden internen Datenbus 115, der verschiedene Komponenten der Chipkarte miteinander verbindet, sofern die über diesen Datenbus 115 transferierten Daten beispielsweise aufgrund einer Verschlüsselung eine hinreichend hohe statistische Verteilung für kryptographische oder andere Anwendungen aufweist.
  • Die vorliegende Erfindung ist hierbei nicht auf ein Empfangen bzw. Lesen bzw. Auslesen von Daten aus einem Lesebus oder einem bidirektionalen Bus beschränkt. Ebenso wenig ist die vorliegende Erfindung nicht auf ein Schreiben bzw. Senden von Daten in einen Schreibbus oder einen bidirektionalen Bus beschränkt. Im Rahmen der vorliegenden Anmeldung können alle Daten, die aufgrund einer Verschlüsselung hinreichend gute statistische Eigenschaften aufweisen, verwendet werden, die von einer Schaltung oder einer anderen Signalverarbeitungseinrichtung verarbeitet, also gelesen oder empfangen werden.
  • Darüber hinaus ist die vorliegende Erfindung nicht auf Chipkarten beschränkt. Vielmehr kann sie auch auf andere elektronische Komponenten, wie etwa Computersysteme, PCs (PC = Personal Computer), PDAs (PDA = Personal Data Assistant = persönlicher Datenassistent), Datenübertragungseinrichtungen im Bereich der Telekommunikation und andere elektronische Komponenten eingesetzt werden, die eine geeignete Datenquelle in Form verschlüsselter Daten und einen Bedarf an Zahlen mit eine statistischen Verteilung aufweisen.
  • Darüber hinaus kann abweichend von dem oben beschriebenen Ausführungsbeispiel der Vergleich eines Teils der verschlüsselten Daten mit dem deterministischen Wert des Pseudo-Zufallszahlengenerators nicht nur dadurch durchgeführt werden, dass die unteren n Bit eines verschlüsselten Datums für den Vergleich herangezogen werden, sondern es können vielmehr auch die oberen n Bits, die geraden Bits (also das 2., 4., 6., ... Bit des Datums), die ungeraden Bits (also das 1., 3., 5., ... Bit des Datums) oder andere Teilmengen der Datenbits des Datenworts verwendet werden.
  • Weiterhin kann anstelle eines Vergleichs, also einer Prüfung auf ein Vorliegen einer Identität des Teils der verschlüsselten Daten mit dem deterministischen Wert, auch das Vorliegen einer anderen vorbestimmten Beziehung der beiden Werte zueinander überprüft werden. So kann beispielsweise eine vorbestimmte Beziehung zwischen dem Teil des verschlüsselten Datums und dem deterministischen Wert auch darin bestehen, dass beide Werte abschnittsweise, also bezogen auf einen oder mehrere Unterabschnitte der betreffenden Werte, eine gleiche oder eine inverse Parität vorliegen.
  • Des weiteren kann die erfindungsgemäße Vorrichtung auch so ausgebildet sein, dass diese in dem Fall, dass der Teil der verschlüsselten Daten eine vorbestimmte Bedingung erfüllt, die Zahl mit der zufälligen Verteilung bereitstellt. Eine solche vorbestimmte Bedingung kann beispielsweise darin bestehen, dass das verschlüsselte Datum (abschnittsweise) eine vorbestimmte Parität oder mehrere vorbestimmte Paritätswerte erfüllt. Alternativ kann die vorbestimmte Bedingung auch darin bestehen, dass der Teil des verschlüsselten Datums einen vorbestimmten Wert aufweist.
  • Darüber hinaus kann abweichend von dem im Zusammenhang mit 1 geschilderten Ausführungsbeispiel die erfindungsgemäße Vorrichtung nicht nur zur Erzeugung eines Seeds für einen Pseudo-Zufallszahlengenerator genutzt werden, sondern es besteht prinzipiell auch die Möglichkeit, beispielsweise die von der erfindungsgemäßen Vorrichtung bereitgestellte Zahl direkt als „Zufallszahl" zu verwenden oder diese durch eine weiterführende Operation aus der bereitgestellten Zahl zu berechnen. Eine solche Operation kann beispielsweise darin bestehen, einzelne Bits der Zahl zu invertieren oder die Zahl als Ganzes oder teilweise mit einer vorbestimmten Zahl oder einer auf andere Weise bestimmten Zahl bitweise im Rahmen einer XOR-Verknüpfung zu verknüpfen.
  • Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Bereitstellen einer Zahl mit einer zufälligen Verteilung in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette, CD oder DVD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das erfindungsgemäße Verfahren zum Bereitstellen einer Zahl ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Software-Programm-Produkt bzw. einem Computer-Programm-Produkt bzw. einem Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Software-Programm-Produkt auf einem Rechner oder einem Prozessor abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm bzw. ein Software-Programm bzw. Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Programm auf einem Prozessor abläuft. Der Prozessor kann hierbei von einem Computer, eine Chipkarte (Smartcard) oder einem anderen integrierten Schaltkreis gebildet sein.
  • 100
    Chipkarte
    110
    Antenne
    115
    Datenbus
    120
    Schaltung
    130
    Signalverarbeitungseinrichtung
    140
    Vorrichtung

Claims (6)

  1. Vorrichtung (140) zum Bereitstellen einer Zahl mit einer zufälligen Verteilung zur Verwendung in einer Schaltung (120), die eine Signalverarbeitungseinrichtung (130) umfasst, die verschlüsselte Daten verarbeitet, mit folgenden Merkmalen: einer Einrichtung zum Bereitstellen der Zahl, die ausgebildet ist, um zumindest aus einem Teil der verschlüsselten Daten, die die Signalverarbeitungseinrichtung (130) verarbeitet, die Zahl bereitzustellen, wobei die Einrichtung zum Bereitstellen der Zahl ausgebildet ist, um die Zahl zumindest aus einem Teil der verschlüsselten Daten bereitzustellen, wenn die verschlüsselten Daten eine vorbestimmte Bedingung oder die verschlüsselten Daten und ein Vergleichswert eine vorbestimmte Beziehung zueinander erfüllen; wobei die verschlüsselten Daten eine Bitfolge mit einer ersten Teilmenge und einer zweiten Teilmenge aufweisen, wobei jedes Bit der Bitfolge nicht gleichzeitig der ersten Teilmenge und der zweiten Teilmenge der Bitfolge angehört, wobei entweder die vorbestimmte Beziehung darin besteht, dass die zweite Teilmenge der Bitfolge mit dem Vergleichswert übereinstimmt, oder die vorbestimmte Bedingung darin besteht, dass die zweite Teilmenge der Bitfolge ein vorbestimmtes Merkmal aufweist; wobei die Einrichtung zum Bereitstellen der Zahl ferner ausgebildet ist, um bei dem Vorliegen der vorbestimmten Beziehung bzw. dem Vorliegen der vorbestimmten Bedingung die erste Teilmenge der Bitfolge als Zahl bereitzustellen; und wobei die Signalverarbeitungseinrichtung (130) oder die Schaltung (120) einen Pseudo-Zufallszahlengenerator umfasst, der mit der Vorrichtung (140) gekoppelt und ausgebildet ist, um die Zahl von der Vorrichtung (140) zu empfangen und als Saat für den Pseudo-Zufallszahlengenerator zu verwenden.
  2. Vorrichtung (140) nach Anspruch 1, bei der die Signalverarbeitungseinrichtung (130) die verschlüsselten Daten aus einem Lesebus oder einem bidirektionalen Datenbus empfängt oder in einen Schreibbus oder den bidirektionalen Datenbus schreibt.
  3. Vorrichtung (140) nach einem der vorhergehenden Ansprüche, bei der die verschlüsselten Daten eine Bitfolge aufweisen und die Einrichtung zum Bereitstellen der Zahl ausgebildet ist, um die Zahl als eine erste Teilmenge der Bitfolge bereitzustellen.
  4. Signalverarbeitungseinrichtung, die verschlüsselte Daten empfängt und eine Vorrichtung (140) zum Bereitstellen einer Zahl mit einer zufälligen Verteilung nach einem der vorhergehenden Ansprüche umfasst.
  5. Verfahren zum Bereitstellen einer Zahl mit einer zufälligen Verteilung zur Verwendung in einer Schaltung (120), die eine Signalverarbeitungseinrichtung (130) umfasst, die verschlüsselte Daten verarbeitet, mit folgenden Schritten: Erzeugen der Zahl aus zumindest einem Teil der verschlüsselten Daten, die die Signalverarbeitungseinrichtung (130) empfängt, wenn die verschlüsselten Daten eine vorbestimmte Bedingung oder die verschlüsselten Daten und ein Vergleichswert eine vorbestimmte Beziehung zueinander erfüllen; und Verwenden der Zahl als Saat für einen Pseudo-Zufallszahlengenerator, wobei die verschlüsselten Daten eine Bitfolge mit einer ersten Teilmenge und einer zweiten Teilmenge aufweisen, wobei jedes Bit der Bitfolge nicht gleichzeitig der ersten Teilmenge und der zweiten Teilmenge der Bitfolge angehört; wobei entweder die vorbestimmte Beziehung darin besteht, dass die zweite Teilmenge der Bitfolge mit dem Vergleichswert übereinstimmt, oder die vorbestimmte Bedingung darin besteht, dass die zweite Teilmenge der Bitfolge ein vorbestimmtes Merkmal aufweist; und wobei das Erzeugen der Zahl bei dem Vorliegen der vorbestimmten Beziehung bzw. dem Vorliegen der vorbestimmten Bedingung ein Bereitstellen der ersten Teilmenge der Bitfolge als Zahl umfasst.
  6. Programm mit einem Programmcode zum Durchführen des Verfahrens zum Bereitstellen einer Zahl mit einer zufälligen Verteilung nach Anspruch 5, wenn das Programm auf einem Prozessor abläuft.
DE102006012635A 2006-03-20 2006-03-20 Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung Expired - Fee Related DE102006012635B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006012635A DE102006012635B4 (de) 2006-03-20 2006-03-20 Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung
US11/688,472 US20070230695A1 (en) 2006-03-20 2007-03-20 Apparatus and method for generating a number with random distribution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006012635A DE102006012635B4 (de) 2006-03-20 2006-03-20 Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung

Publications (2)

Publication Number Publication Date
DE102006012635A1 DE102006012635A1 (de) 2007-10-11
DE102006012635B4 true DE102006012635B4 (de) 2009-08-20

Family

ID=38513103

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006012635A Expired - Fee Related DE102006012635B4 (de) 2006-03-20 2006-03-20 Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung

Country Status (2)

Country Link
US (1) US20070230695A1 (de)
DE (1) DE102006012635B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250127B2 (en) * 2008-01-07 2012-08-21 Aruba Networks, Inc. Harvesting entropy from trusted cryptographic sources
US9118441B2 (en) * 2013-01-25 2015-08-25 Freescale Semiconductor, Inc. Layout-optimized random mask distribution system and method
US9635112B2 (en) * 2013-05-02 2017-04-25 Intel Corporation Apparatus, system and method of managing an application service platform (ASP) session

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600720A (en) * 1993-07-20 1997-02-04 Canon Kabushiki Kaisha Encryption apparatus, communication system using the same and method therefor
US20050097153A1 (en) * 2003-08-29 2005-05-05 Infineon Technologies Ag Pseudorandom number generator

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113444A (en) * 1990-09-05 1992-05-12 Arnold Vobach Random choice cipher system and method
DE19536169A1 (de) * 1995-09-29 1997-04-03 Ibm Multifunktionale Chipkarte
EP1164747B1 (de) * 2000-01-14 2004-09-15 Matsushita Electric Industrial Co., Ltd. Vorrichtung und system zum authentifizieren einer kommunikation
US20020131592A1 (en) * 2001-03-16 2002-09-19 Harris Hinnant Entropy sources for encryption key generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600720A (en) * 1993-07-20 1997-02-04 Canon Kabushiki Kaisha Encryption apparatus, communication system using the same and method therefor
US20050097153A1 (en) * 2003-08-29 2005-05-05 Infineon Technologies Ag Pseudorandom number generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Simon Singh: Geheime Botschaften, dtv, 1999, S. 234-337 u. 436-438 *

Also Published As

Publication number Publication date
US20070230695A1 (en) 2007-10-04
DE102006012635A1 (de) 2007-10-11

Similar Documents

Publication Publication Date Title
DE102004047425B4 (de) Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
EP1249010B1 (de) Mikroprozessoranordnung mit verschlüsselung
DE112008000057B4 (de) Vorrichtung und Verfahren zur Erzeugung einer Zufallszahl
DE10319435A1 (de) Verfahren zur Verarbeitung von Daten
DE102005009170A1 (de) Logikschaltung und zugehöriges Verfahren
DE10339999A1 (de) Pseudozufallszahlengenerator
DE102008032550B4 (de) Vorrichtung, System und Verfahren zum Verschleiern von in einer integrierten Schaltung verarbeiteten Daten
DE102006012635B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Zahl mit einer zufälligen Verteilung
DE10232348A1 (de) Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
DE102004013480B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE102009027086A1 (de) Vorrichtung und Verfahren zur Bildung einer Signatur
DE102006011699B4 (de) Systeme und Verfahren zum Erzeugen von Zufallszahlverteilungen bei Vorrichtungen, die begrenzte Verarbeitungs- und Speicherfähigkeiten aufweisen
DE102004061312B4 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
EP3289685B1 (de) Verfahren und vorrichtung zur erzeugung einer geräte-spezifischen kennung und geräte umfassend einen personalisierten programmierbaren schaltungsbaustein
DE102008026697A1 (de) Vorrichtung und Verfahren zum Verschlüsseln von auf einem Bus ausgegebenen Daten
EP3407181A1 (de) Verfahren und vorrichtung zum rechnergestützten verarbeiten eines zufälligen bitmusters
DE102015116049B3 (de) Nulldetektionsschaltkreis und maskierter boolescher oder-schaltkreis
EP0924894A2 (de) Verfahren zur Erzeugung pseudo-zufälliger Datenworte zur Verschlüsselung
EP1488566A1 (de) Schaltungsanordnung zum sicheren informationsaustausch zwischen einem sender und einem empfanger
EP1459476B1 (de) Datenverarbeitungsvorrichtung zum Wechsel eines Schlüssels in unregelmässigen zeitlichen Abständen
DE10130099B4 (de) Challenge-Response-Vorrichtung, Authentifikationssystem, Verfahren zum Erzeugen eines Response-Signals aus einem Challenge-Signal und Verfahren zur Authentifikation
DE102004047614A1 (de) Tragbarer Datenträger mit einem integrierten Schaltkreis und Endgerät für einen Datenträger
DE102015100760A1 (de) Generieren von Zufallszahlen
DE102021105402A1 (de) Datenverarbeitungsvorrichtung und verfahren zum übermitteln von daten über einen bus

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8339 Ceased/non-payment of the annual fee