DE102009000322A1 - Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung - Google Patents

Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung Download PDF

Info

Publication number
DE102009000322A1
DE102009000322A1 DE102009000322A DE102009000322A DE102009000322A1 DE 102009000322 A1 DE102009000322 A1 DE 102009000322A1 DE 102009000322 A DE102009000322 A DE 102009000322A DE 102009000322 A DE102009000322 A DE 102009000322A DE 102009000322 A1 DE102009000322 A1 DE 102009000322A1
Authority
DE
Germany
Prior art keywords
shift register
linear
operator
flip
flops
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102009000322A
Other languages
English (en)
Inventor
Eberhard Boehl
Paulius Duplys
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102009000322A priority Critical patent/DE102009000322A1/de
Priority to CN2009801548129A priority patent/CN102282536A/zh
Priority to PCT/EP2009/065761 priority patent/WO2010083911A2/de
Priority to US13/145,324 priority patent/US8885817B2/en
Publication of DE102009000322A1 publication Critical patent/DE102009000322A1/de
Withdrawn legal-status Critical Current

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/582Pseudo-random number generators
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/583Serial finite field implementation, i.e. serial implementation of finite field arithmetic, generating one new bit or trit per step, e.g. using an LFSR or several independent LFSRs; also includes PRNGs with parallel operation between LFSR and outputs
    • 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)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Nonlinear Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Power Engineering (AREA)
  • Shift Register Type Memory (AREA)
  • Manipulation Of Pulses (AREA)
  • Logic Circuits (AREA)
  • Error Detection And Correction (AREA)

Abstract

Die Erfindung betrifft ein nichtlineares rückgekoppeltes Schieberregister (1; 22; 23; 24) zur Erstellung einer Signatur für kryptografische Anwendungen, mit einer Folge von in Reihe geschalteter Flipflops (2...6; x...x), die zur Bildung zumindest eines Polynoms mittels zumindest einer wenigstens einen Operator (9, 10, 12) aufweisenden Signalrückführung (7) miteinander verschaltet sind. Es ist vorgesehen, dass die Flipflops (2...6; x...x) zur Bildung von mindestens zwei unterschiedlichen Polynomen mit mindestens einem Umschaltoperator (13) verschaltet sind, der in Abhängigkeit eines Eingangssignals zwischen den Polynomen umschaltet. Ferner betrifft die Erfindung ein Verfahren zur nicht linearen Signaturbildung.

Description

  • Die Erfindung betrifft ein nichtlinear rückgekoppeltes Schieberegister mit einer Folge von in Reihe geschalteter Flipflops, die zur Bildung zumindest eines Polynoms mittels zumindest einer wenigstens einen Operator aufweisenden Signalrückführung miteinander verschaltet sind.
  • Ferner betrifft die Erfindung ein Verfahren zur nichtlinearen Signaturbildung, insbesondere für kryptografische Anwendungen, wobei die Signatur mittels eines nichtlinear rückgekoppelten Schieberegisters erstellt wird.
  • Stand der Technik
  • Zur Signaturbildung für Testzwecke werden unter anderem zur Fehlererkennung lineare Signaturen gebildet, um einen oder mehrere Funktionsfehler zu erkennen. Während für eine derartige Fehlererkennung eine lineare Signaturbildung üblich und auch völlig ausreichend ist, sind für kryptografische Verfahren nichtlineare Signaturen von Vorteil, wie zum Beispiel die so genannten Hash-Funktionen. Bei nichtlinearen Signaturen wird ausgenutzt, dass aus der Signatur die ursprünglichen Daten nur sehr schwer berechnet werden können, beziehungsweise dass es sehr schwierig ist, die Daten so zu manipulieren, dass die gleiche Signatur aus den Originaldaten und den manipulierten Daten generiert werden können, wenn man vom gleichen Anfangszustand oder einer bekannten Abweichung vom Anfangszustand ausgeht.
  • Es ist daher vorteilhaft, die Signatur nicht linear zu erzeugen bzw. eine Nichtlinearität in die Schaltung zu bringen. Schieberegister des Standard-Typs und des Modularen-Typs und Verfahren dieser Art sind bekannt. Üblicherweise führt der Operator dabei eine antivalente Verknüpfung durch, wodurch eine lineare Rückkopplung entsteht. Durch Benutzung einer (oben genannten) Hash-Funktion anstelle des Schieberegisters kann eine Nichtlinearität erreicht werden. Die Hash-Funktionen sind jedoch nur unter hohem Aufwand realisierbar, wobei eine umfangreiche Berechnung und ein großer Speicher notwendig sind.
  • Alternativ könnte man in der Signalrückführung an Stelle eines linearen Operators einen nichtlinearen Operator vorsehen, der beispielsweise eine NAND, NOR, AND, OR oder eine andere nichtlineare Funktion durchführt. Dadurch wird zwar die Signaturbildung insgesamt nichtlinear, jedoch kann damit die vorteilhafte Eigenschaft eines linear rückgekoppelten Schieberegisters mit einem primitiven Polynom verlorengehen. Die vorteilhafte Eigenschaft des linear rückgekoppelten Schieberegisters liegt darin, dass sämtliche Belegungen außer „000 ... 0” erreicht werden. Durch Verwenden eines nichtlinearen Operators könnten somit weniger Zustände realisiert und die Wahrscheinlichkeit, dass verschiedene Daten auf die gleiche Signatur abgebildet werden, erhöht werden.
  • Offenbarung der Erfindung
  • Die Erfindung zeichnet sich dadurch aus, dass die Flipflops des nichtlinear rückgekoppelten Schieberegisters zur Bildung von mindestens zwei unterschiedlichen Polynomen mit mindestens einem Umschaltoperator verschaltet sind, der in Abhängigkeit eines Eingangssignals zwischen den Polynomen umschaltet. Durch entsprechende Verschaltung der Signalrückführung mit den Flipflops können die unterschiedlichen Polynome realisiert werden. Der Umschaltoperator, der mit den Flipflops und insbesondere mit der Signalrückführung verschaltet ist, wirkt in Abhängigkeit des Eingangssignals also derart auf das Schieberegister, dass je nach Eingangssignal eine unterschiedliche Signalrückführung bzw. ein unterschiedlicher Strang der Signalrückführung genutzt wird. Dadurch, dass das Umschalten in Abhängigkeit des Eingangssignals erfolgt, entsteht eine Nichtlinearität, beziehungsweise die mittels des Schieberegisters erstellte Signatur wird nichtlinear erzeugt, wenn das Eingangssignal mindestens einmal während der Bildung dieser Signatur umschaltet. Dies gilt insbesondere auch dann, wenn der oder die Operatoren der Signalrückführung(en) selbst eine lineare, vorzugsweise antivalente Funktion durchführen. Zweckmäßigerweise sind der oder die Operatoren also als Linearoperator(en) ausgebildet. Als Eingangssignal wird zweckmäßiger weise das mittels des Schieberegisters zu komprimierende Datensignal verwendet.
  • Vorteilhafterweise ist der Umschaltoperator als Multiplexer mit einer nichtlinearen Boolschen-Funktion ausgebildet. Der Multiplexer kann in Spezialfällen als UND-Operator ausgebildet werden und führt somit eine UND-Funktion zwischen dem Eingangssignal und dem ausgewählten Eingang durch.
  • Zweckmäßigerweise ist der Multiplexer weiterhin mit einem Ausgang zumindest eines der Flipflops oder des Linearoperators der Signalrückführung wirkverbunden. Somit werden dem Multiplexer das Ausgangssignal des Flipflops beziehungsweise des Linearoperators sowie das Eingangssignal zugeführt. Wobei unter „wirkverbunden” zu verstehen ist, dass die Verbindung direkt oder auch indirekt, beispielsweise über einen weiter (Linear-)Operator, besteht.
  • Weiterhin ist vorgesehen, dass ein Ausgang des Multiplexer mit dem Eingang eines der Flipflops wirkverbunden ist, wodurch die Signalrückführung geschlossen wird.
  • Um mittels des vorteilhaften nichtlinear rückgekoppelten Schieberegisters die Signatur über das Eingangssignal zu bilden, ist vorteilhafterweise eine zusätzliche Antivalente Einkopplung des Eingangssignals in das Schieberegister vorgesehen. Wobei vorzugsweise das Eingangssignal dann antivalent mit dem Eingang eines Flipflops, bevorzugt des in der Reihe zweiten Flipflops verbunden ist. Dadurch wird gewährleistet, dass alle Übergänge des Schieberegisters von dem Eingangssignal abhängig sind.
  • Alternativ sind zusätzlich mehrere Eingangssignale bzw. das eine Eingangssignal mehrfach parallel in das Schieberegister eingekoppelt, wobei dann die Eingangssignale entsprechend mit Eingängen unterschiedlicher Flipflops antivalent verbunden sind.
  • Nach einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass der Umschaltoperator derart ausgebildet ist, dass er zusätzlich in Abhängigkeit von dem Zustand des Schieberegisters, beziehungsweise des Ausgangs des hinters ten Flipflops, und/oder von einem geheimen Schlüssel zwischen den Polynomen umschaltet.
  • Es ist weiterhin vorgesehen, dass das Schieberegister beziehungsweise die Flipflops derart verschaltet sind, dass durch Umschalten durch den Umschaltoperator zusätzlich die Anzahl der zur Bildung des Signals genutzten Flipflops verändert wird.
  • Schließlich ist vorgesehen, dass die Flipflops zur Bildung primitiver Polynome miteinander verschaltet sind. Dadurch wird gewährleistet, dass für das Eingangssignal alle Belegungen des Schieberegisters außer dem Wert „000 ... 0” erreicht werden, bevor wieder der Anfangszustand eingenommen wird.
  • Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass in das nichtlinear rückgekoppelte Schieberegister mindestens zwei unterschiedliche linear rückgekoppelte Schieberegister integriert werden, zwischen denen in Abhängigkeit von einem Eingangssignal umgeschaltet wird. Die zwei linear rückgekoppelten Schieberegister bilden jeweils ein vorzugsweise primitives Polynom, welches für sich allein zu einer linearen Signatur führt. Durch das Umschalten zwischen den Polynomen beziehungsweise der linear rückgekoppelten Schieberegister in Abhängigkeit von dem Eingangssignal wird auf einfache Art und Weise eine nichtlineare Signaturbildung durchgeführt.
  • Im Folgenden soll die Erfindung anhand mehrerer Ausführungsbeispiele näher erläutert werden. Dazu zeigen
  • 1 ein erstes Ausführungsbeispiel eines vorteilhaften nichtlinear rückgekoppelten Schieberegisters,
  • 2 ein erstes linear rückgekoppeltes Schieberegister,
  • 3 ein zweites linear rückgekoppeltes Schieberegister,
  • 4 einen Übergangsgraph für das erste und das zweite linear rückgekoppelte Schieberegister,
  • 5 eine tabellarische Simulation des ersten und des zweiten Schieberegisters,
  • 6 eine vorteilhafte Weiterbildung des nichtlinear rückgekoppelten Schieberegisters,
  • 7 einen Übergangsgraph für das nichtlinear rückgekoppelte Schieberegister der 6,
  • 8 ein Ausführungsbeispiel für ein verallgemeinertes vorteilhaftes nichtlinear rückgekoppeltes Schieberegister (Standard-Typ),
  • 9 ein weiteres Ausführungsbeispiel eines verallgemeinerten vorteilhaften nichtlinear rückgekoppeltes Schieberegisters (modularer Typ),
  • 10 ein weiteres Ausführungsbeispiel eines verallgemeinerten vorteilhaften nichtlinear rückbezogenen Schieberegisters (modularer Typ) mit unterschiedlichen Poynomlängen und
  • 11 das Schieberegister der 6 als modularer Typ.
  • Die 1 zeigt die schaltungstechnische Realisierung eines ersten Ausführungsbeispiels eines nichtlinear rückgekoppelten Schieberegisters 1. Das Schieberegister 1 weist mehrere in Reihe geschaltete Flipflops 2 bis 6 auf. Die Flipflops 2 bis 6 stellen elektronische Schaltungen dar, die zwei stabile Zustände einnehmen und diese speichern können. Die Flipflops 2 bis 6 sind hierbei mittels einer Signalrückführung 7 miteinander verschaltet, wobei in dem vorliegenden Fall die Signalrückführung 7 im Wesentlichen zweiteilig ausgebildet ist:
    Ein erster Strang 8 wird im Wesentlichen gebildet von zu einem Operator 9 geführten Ausgangssignalen der Flipflops 4 und 6, und dem von dem Operator 9 resultierenden und zu einem Operator 10 geführten Ausgangssignal. Der zweite Strang 11 führt die Ausgangssignale der Flipflops 3 und 5 zu einem Operator 12, dessen Ausgangssignal zu einem Umschaltoperator 13 geführt wird, dessen Ausgangssignal wiederum dem Operator 10 zugeführt wird. Die Operatoren 9, 10 und 12 realisieren jeweils die so genannte EXOR-Funktion (Exklusive-Oder- Funktion), wodurch die Signale des jeweiligen Strangs 8, 11 der Signalrückführung 7 antivalent verknüpft werden. Der Umschaltoperator 13 ist als Multiplexer 14 ausgebildet, der im besonderen Fall dieses Ausführungsbeispiels durch eine UND-Funktion gebildet wird, die durch ein NAND mit anschließender Invertierung dargestellt ist. Als Eingangssignale erhält der Umschaltoperator 13 das Ausgangssignal des Operators 12 sowie ein Eingangssignal 15. Das Eingangssignal ist beispielsweise das Signal, für dessen Daten die Signatur mittels des Schieberegisters 1 erstellt werden soll. Während die Operatoren 9, 10 und 12 lineare, antivalente Operationen durchführen, führt der Umschaltoperator 13 beziehungsweise Multiplexer 14 eine nichtlineare Operation durch. In Abhängigkeit von dem Eingangssignal 15 werden mittels der Flipflops 2 bis 6 und den unterschiedlichen Strängen 8, 11 der Signalrückführung 7, unterschiedliche Polynome eingestellt bzw. genutzt. Zur Verdeutlichung sollen im Folgenden zunächst die unterschiedlichen Polynome gesondert betrachtet werden.
  • Die 2 zeigt dazu ein linear rückgekoppeltes Schieberegister 16 (Standard-Typ) mit Polynom x5 + x2 + 1. Das linear rückgekoppelte Schieberegister 16 stellt im Wesentlichen die mit dem Strang 8 verschalteten Flipflops 2 bis 6 des oben beschriebenen Schieberegisters 1 dar.
  • 3 zeigt ein zweites linear rückgekoppeltes Schieberegister 17 (Standard-Typ) mit Polynomen x5 + x3 + x2 + x + 1. Das weitere linear rückgekoppelte Schieberegister 17 ist ebenfalls in dem nichtlinear rückgekoppelten Schieberegister 1 zu finden als Verknüpfung der Stränge 8 und 11 ohne den Umschaltoperator 13.
  • Mittels des vorteilhaften Umschaltoperators 13 des nichtlinear rückgekoppelten Schieberegisters 1 kann auf einfache Art und Weise zwischen den Polynomen der Schaltregister 16 und 17 in Abhängigkeit von dem Eingangssignal 15 umgeschaltet werden. Mit anderen Worten sieht die Erfindung also vor, dass die in den 2 und 3 dargestellten Polynome in einem Schieberegister realisiert sind, und je nach Wert des Eingangssignals 15 zwischen diesen beiden Polynomen umgeschaltet wird. Ist beispielsweise der Wert des Eingangssignals gleich Null, so wird das Polynom des nichtlinearen Schieberegisters 16 benutzt; ist der Wert des Eingangssignals gleich Eins, so wird das Polynom des linear rückgekoppelten Schieberegisters 17 für die Rückkopplungsfunktion benutzt.
  • Die 4 zeigt schematisch einen Übergangsgraphen für die beiden linear rückgekoppelten Schieberegister 16 und 17. Für das linear rückgekoppelte Schieberegister 16 werden als Folgezustände immer die rechts unterhalb benachbarten Zustände angenommen, wie durch einen durchgezogenen Pfeil 18 angedeutet. Vom letzten Zustand erfolgt dann der Übergang zurück zu dem ersten Zustand, wie durch einen weiteren durchgezogenen Pfeil 19 dargestellt. Für das linear rückgekoppelte Schieberegister 17 werden die Übergänge durch gestrichelte Pfeile 20 dargestellt, von denen hier aus Übersichtsgründen nur einige mit Bezugszeichen versehen sind. Falls von einem Zustand kein gestrichelter Pfeil abgeht, so werden auch hier die Zustände rechts unterhalb als Folgezustände erreicht.
  • Die 5 zeigt eine entsprechende Simulation der beiden linear rückgekoppelten Schieberegister 16, 17 mit dem gleichen Startwert '10000', wobei in der linken Spalte die Werte für das Schieberegister 16 und in der rechten Spalte die Werte für das Schieberegister 17 dargestellt sind. Die Simulation ergibt nach 31 Takten Schieberoperationen in beiden Fällen wieder den gleichen Startwert, der zwischendurch nicht erreicht wird. Beide Polynome der Schaltregister 16, 17 sind primitive Polynome, jedoch werden die Zwischenzustände, wie durch die Tabelle und auch den Übergangsgraph der 4 gezeigt, in unterschiedlicher Reihenfolge durchlaufen.
  • Die Übergänge für die Dezimalwerte der Belegungen des Schieberegisters 16 beziehungsweise 17 stellen sich wie folgt dar: Für die Dezimalwertbildung wird in den Schieberegistern 16, 17 jeweils das linke Bit als LSB (least significant bit, niedrigwertigstes Bit) und das rechte als MSB (most significant bis, höchstwertiges Bit) definiert. Für das linear rückgekoppelte Schieberegister 16 erfolgen die Übergänge somit in der Reihenfolge:
    1-2-4-9-18-5-11-22-12-25-19-7-15-31-30-28-24-17-3-6-13-27-23-14-29-26-21-10-20-8-16 und wieder zurück zum Zustand 1.
  • Für das in der 3 dargestellte linear rückgekoppelte Schieberegister 17 erfolgen die Übergänge entsprechend in der Reihenfolge:
    1-2-5-11-22-13-26-21-10-20-8-17-3-7-14-29-27-23-15-31-30-28-25-18-4-9-19-6-12-24-16 und wieder zurück zum Zustand 1.
  • Wie man an dem Übergangsgraphen der 4 unschwer erkennen kann, sind bei den nichtlinear rückgekoppelten Schieberegister 1 nicht alle Übergänge von dem Eingangssignal 15 abhängig, weil in dieser Schaltung nur die Rückführungspolynome in Abhängigkeit von dem Eingangssignal 15 umgeschaltet werden. Um die Signatur über das Eingangssignal 15 zu bilden, ist deshalb wie in der 6 dargestellt, in einer vorteilhaften Weiterbildung des Schieberegisters 1 eine zusätzliche antivalente Einkopplung des Eingangssignals 15 sinnvoll. Dadurch wird ein NLMISR (non-linear multiple input shift registers, Nichtlinear rückgekoppeltes Schieberegister mit Mehrfacheingang) gebildet. Dazu führt von dem Eingangssignal 15 eine zusätzliche Verbindung zu einem Eingang eines (Linear-)Operators 21, der zwischen den Flipflops 2 und 3 angeordnet ist. Das Eingangssignal 15 wird somit antivalent zwischen die Flipflops 2 und 3 eingekoppelt.
  • Natürlich ist es auch denkbar, weitere Eingangssignale parallel in die Schaltung eingehen zu lassen, die dann antivalent mit den Eingängen der anderen Flipflops verknüpft sind.
  • Die 7 zeigt nunmehr einen Übergangsgraphen für das nichtlinear rückgekoppelte Schieberegister 1 aus der 6. Auch hier stehen durchgezogene Pfeile 18, 19 für das Polynom des Schieberegisters 16, entsprechend einem Eingangssignal mit dem Wert 'Null', und die gestrichelten Pfeile 20 für die Übergänge für das linear rückgekoppelte Schieberegister 17 beziehungsweise einem Eingangssignal mit dem Wert 'Eins'. Hier gilt nun nur für ein Eingangssignal mit dem Wert 'Null' der Übergang zu dem benachbarten Zustand rechts unterhalb (Pfeil 18). Als Besonderheit ist hier zu beachten, dass vom Zustand 1 für ein Eingangssignal mit dem Wert 'Eins' der Zustand '0' erreicht wird. Dieser Zustand wird nur verlassen, wenn das Eingangssignal gleich 'Eins' ist. Eine weitere Besonderheit besteht darin, dass im Zustand '30' ein Eingangssignal mit dem Wert 'Eins' das Verbleiben in diesem Zustand bewirkt.
  • Für das nichtlineare Schieberegister 1 gemäß der 6 erfolgen die Übergänge für ein Eingangssignal mit dem Wert 'Null' in der gleichen Reihenfolge wie beim linear gekoppelten Schieberegister 16. Für ein Eingangssignal mit dem Wert 'Eins' gilt jedoch die folgende Reihenfolge:
    1-0-2-7-12-26-23-13-24-18-6-14-31-28-27-21-8-19-4-11-20-10-22-15-29-25-16-3-5-9-17 und wieder zurück zum Zustand 1.
  • In einer verallgemeinerten Ausführungsform der erfindungsgemäßen Schaltung des nichtlinear rückgekoppelten Schieberegisters 1, wie sie in der 8 allgemein als Schieberegister 22 (NLMISR) dargestellt ist, kann man sich einen Umschaltoperator mit einer beliebigen Funktion g vorstellen, die eine Umschaltung zwischen zwei (vorzugsweise primitiven) Polynomen bzw. Polynomfunktionen p1, p2 vornimmt, wobei die besagte Funktion g von den Eingangssignalen 0 ... n – 1, dem Zustand des Schieberegisters ZSR (die Werte sämtlicher Flipflops (x0 ... xn–1)) und gegebenenfalls sogar von einem geheimen Schlüssel (k) abhängen.
  • Darüber hinaus ist es vorteilhaft, dass das NLMISR 22 zu Beginn in einen definierten Anfangszustand gebracht wird, zum Beispiel mittels eines Reset-Signals. Dabei ist es möglich, einen bekannten Startwert zu benutzen oder aber auch einen Startwert, der direkt oder indirekt von einem oder dem geheimen Schlüssel abhängt. In dem in der 8 dargestellten Ausführungsbeispiel schaltet der Multiplexer 14 für g = 0 die Polynomfunktion p1 frei und für g = 1 die Polynomfunktion p2.
  • Die detaillierte Verschaltung des nichtlinear rückgekoppelten Schieberegisters 22 kann der sich selbst erklärenden 8 direkt entnommen werden, wobei die dargestellten (Linear-)Operatoren (die mit dem gleichen Symbol dargestellt sind wie in den vorhergehenden Figuren) ebenfalls jeweils eine antivalente Verknüpfung (EXOR) bewirken.
  • In der 9 ist eine allgemeine schaltungstechnische Realisierung eines nicht linear rückgekoppelten Schieberegisters 23 mit mehreren Eingangssignalen (NLMISR) für den modularen Typ gezeigt. Hier schaltet das Signal g = 1 die Polynomfunktion P2 aktiv, während für g = 0 die Polynomfunktion p1 aktiviert wird. Die Aktivierung erfolgt mittels der UND-Funktionen p2 = g & out beziehungsweise p1 = /g & out. Die UND-Funktion kann als NAND-Funktion mit nachfolgender Invertierung (wie auch in der 6 gezeigt) realisiert werden. Die Eingriffe in das Schieberegister 23 sind dabei gemäß den gewählten (primitiven) Polynomen vorzusehen.
  • Es sind auch unterschiedliche Längen der integrierten Schieberegister bzw. Polynomen möglich, das heißt, es wird ein Flipflop oder es werden mehrere Flipflops bei der Generierung eines Polynoms bzw. beim Umschalten abgetrennt.
  • Die 10 zeigt dazu ein nichtlinear rückgekoppeltes Schieberegister 24 (modularer Typ), wobei im Unterschied zu dem vorhergehenden Ausführungsbeispiel eine UND-Verknüpfung mit dem entsprechend invertierten oder nichtinvertierten Signal g am Ausgang des ersten Flipflops x0 vorgesehen ist. In diesem Ausführungsbeispiel hat die Polynomfunktion p2 nur eine Bitstelle weniger als die Polynomfunktion p1. Natürlich ist es auch denkbar, mehr als zwei Polgnome vorzusehen, zwischen denen umgeschaltet wird.
  • Die 11 zeigt ein weiteres Ausführungsbeispiel eines vorteilhaften Nichtlinear rückgekoppelten Schieberegisters 25, das im Wesentlichen dem Schieberegister 1 aus der 6 entspricht, wobei bereits bekannte Elemente mit den gleichen Bezugszeichen versehen sind, so dass insofern auf die obenstehende Beschreibung verwiesen wird. Während das Schieberegister 1 als Standard-Typ ausgebildet ist, der mindestens eine Signalrückführung aufweist, die Ausgänge von zumindest zwei unterschiedlichen Flipflops (4, 6; 3, 5) einem Operator (9; 12) zuführt, dessen Ausgang mit dem Eingang wenigstens einer der Flipflops (2) wirkverbunden ist, stellt das Schieberegister 25 im Unterschied dazu eine Ausführungsform als modularer Typ dar, bei dem der Ausgang zumindest eines, vorzugsweise des hintersten Flipflops (6) mit Eingängen mehrere anderer Flipflops (1, 3) direkt oder indirekt verbunden ist, wobei die gleichen unterschiedlichen Polgnome wie bei dem Standard-Typ realisiert sind. Der Wesentlichen Unterschied liegt darin, dass beim Schieberegister 25 die Signalrückführung umgekehrt verläuft. Hier sind neben dem Linearoperator 21 nur noch Linearoperatoren 26 und 27 zwischen den Flipflops 3 und 4 (26) sowie 4 und 5 (27) angeordnet. Das Ausgangssignal des hintersten Flipflops 6 wird einerseits dem ersten Flipflop 2 sowie dem Linearoperator 26 zugeführt, und andererseits dem Umschaltoperator 13, der vorliegend eine einfache UND-Verknüpfung durchführt. Diese UND-Verknüpfung kann wie in 1 gezeigt durch eine NAND-Verknüpfung mit anschließender Invertierung realisiert werden (13, 14). Wobei der Ausgang des Umschaltoperators 13 das Ergebnis der Verknüpfung den Linearoperatoren 21 und 27 zuführt.

Claims (13)

  1. Nichtlinear rückgekoppeltes Schieberegister zur Erstellung einer Signatur für kryptografische Anwendungen, mit einer Folge von in Reihe geschalteter Flipflops (2 ... 6; x0 ... xn–1), die zur Bildung zumindest eines Polynoms (p1, p2) mittels mindestens einer wenigstens einen Operator (9, 10, 12) aufweisenden Signalrückführung (7) miteinander verschaltet sind, dadurch gekennzeichnet, dass die Flipflops (2 ... 6; x0 ... xn–1) zur Bildung von mindestens zwei unterschiedlichen Polynomen (p1, p2) mit mindestens einem Umschaltoperator (13) verschaltet sind, der in Abhängigkeit eines Eingangssignals (15) zwischen den Polynomen (p1, p2) umschaltet.
  2. Schieberegister nach Anspruch 1, dadurch gekennzeichnet, dass der Umschaltoperator (13) als Multiplexer (14) mit einer nichtlinearen Boolschen-Funktion ausgebildet ist.
  3. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Multiplexer (14) als UND-Operator ausgebildet ist.
  4. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Operator (9, 10, 12) der Signalrückführung (7) als Linearoperator ausgebildet ist.
  5. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Multiplexer (14) mit einem Ausgang eines Flipflops und/oder des Linearoperators (12) der Signalrückführung (7) verbunden ist.
  6. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Ausgang des Multiplexers (14) mit dem Eingang eines der Flipflops (2) wirkverbunden ist.
  7. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Eingangssignal (15) zusätzlich antivalent in das Schieberegister (1) eingekoppelt ist.
  8. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zusätzlich mehrere Eingangssignale (15) parallel in das Schieberegister (1) eingekoppelt sind.
  9. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die mehreren Eingangssignale (15) mit Eingängen unterschiedlicher Flipflops (2, 3) antivalent verbunden sind.
  10. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Umschaltoperator (13) derart ausgebildet ist, dass er zusätzlich in Abhängigkeit von dem Zustand (ZSR) des Schieberegisters (22, 23, 24) und/oder von einem geheimen Schlüssel (k) zwischen den Polynomen (p1, p2) umschaltet.
  11. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flipflops (2 ... 6; x0 ... xn–1) zur Bildung primitiver Polgnome (p1, p2) verschaltet sind.
  12. Schieberegister nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es derart verschaltet ist, dass durch Umschalten mittels des Umschaltoperators (13) die Anzahl der genutzten Flipflops (x0 ... xn–1) verändert wird.
  13. Verfahren zur nichtlinearen Signaturbildung, insbesondere für kryptografische Anwendungen, wobei die Signatur mittels eines nichtlinear rückgekoppelten Schieberegisters erstellt wird, dadurch gekennzeichnet, dass in das nichtlinear rückgekoppelte Schieberegister mindestens zwei unterschiedliche Polgnome beziehungsweise linear rückgekoppelte Schieberegister integriert werden, zwischen denen in Abhängigkeit von einem Eingangssignal umgeschaltet wird.
DE102009000322A 2009-01-20 2009-01-20 Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung Withdrawn DE102009000322A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102009000322A DE102009000322A1 (de) 2009-01-20 2009-01-20 Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung
CN2009801548129A CN102282536A (zh) 2009-01-20 2009-11-24 非线性反馈移位寄存器以及用于非线性签名生成的方法
PCT/EP2009/065761 WO2010083911A2 (de) 2009-01-20 2009-11-24 Nichtlinear rückgekoppeltes schieberegister sowie verfahren zur nichtlinearen signaturbildung
US13/145,324 US8885817B2 (en) 2009-01-20 2009-11-24 Nonlinear feedback shift register and method for nonlinear signature formation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102009000322A DE102009000322A1 (de) 2009-01-20 2009-01-20 Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung

Publications (1)

Publication Number Publication Date
DE102009000322A1 true DE102009000322A1 (de) 2010-07-22

Family

ID=41666632

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009000322A Withdrawn DE102009000322A1 (de) 2009-01-20 2009-01-20 Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung

Country Status (4)

Country Link
US (1) US8885817B2 (de)
CN (1) CN102282536A (de)
DE (1) DE102009000322A1 (de)
WO (1) WO2010083911A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013205166A1 (de) 2013-03-22 2014-09-25 Robert Bosch Gmbh Verfahren zum Erzeugen einer Einwegfunktion
DE102013205168A1 (de) 2013-03-22 2014-09-25 Robert Bosch Gmbh Verfahren zum Erzeugen einer zufälligen Ausgangsbitfolge

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10084593B2 (en) 2015-01-20 2018-09-25 Ternarylogic Llc Apparatus for unconventional non-linear feedback shift registers (NLFSRs)
US10977003B2 (en) 2019-08-28 2021-04-13 International Business Machines Corporation Linear feedback shift register with near-maximal length sequences
US11048476B2 (en) 2019-08-28 2021-06-29 International Business Machines Corporation Non-linear feedback shift register
CN111258549B (zh) * 2020-04-30 2020-08-11 江苏亨通问天量子信息研究院有限公司 基于非线性反馈移位寄存器的量子随机数后处理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2414874B2 (de) * 1974-03-27 1977-05-05 Synchrones schieberegister mit serien- und paralleleingabe und grundstelleingang
US4635261A (en) * 1985-06-26 1987-01-06 Motorola, Inc. On chip test system for configurable gate arrays
JPH03214809A (ja) 1990-01-19 1991-09-20 Nec Corp リニアフィードバック・シフトレジスタ
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
US7826613B2 (en) * 2002-08-19 2010-11-02 Qualcomm Incorporated Stream cipher cryptographic system and method
US7388958B1 (en) * 2002-12-19 2008-06-17 Palomar Products, Inc. Communication system segregating communications by security level

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013205166A1 (de) 2013-03-22 2014-09-25 Robert Bosch Gmbh Verfahren zum Erzeugen einer Einwegfunktion
DE102013205168A1 (de) 2013-03-22 2014-09-25 Robert Bosch Gmbh Verfahren zum Erzeugen einer zufälligen Ausgangsbitfolge

Also Published As

Publication number Publication date
US20120121081A1 (en) 2012-05-17
WO2010083911A2 (de) 2010-07-29
CN102282536A (zh) 2011-12-14
WO2010083911A3 (de) 2010-11-04
US8885817B2 (en) 2014-11-11

Similar Documents

Publication Publication Date Title
DE102009000322A1 (de) Nichtlinear rückgekoppeltes Schieberegister sowie Verfahren zur nichtlinearen Signaturbildung
DE3618865A1 (de) Maximallaengen-schieberegister-schaltfolge-generator
DE102013222218A1 (de) Konstruieren einer Schaltung geeignet zur Erzeugung von Zufallsbits und Schaltung zur Erzeugung von Zufallsbits
EP0010173A1 (de) Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen
DE102006004557A1 (de) Kryptografische Logikschaltung und Kryptografieverfahren
WO2010149491A1 (de) Vorrichtung und verfahren zur bildung einer signatur
DE19821004C2 (de) Sequenzgenerator
DE2158013A1 (de) Tastatur-Eingabewerk
EP1999571B1 (de) Verfahren und vorrichtung zur reduktion eines polynoms in einem binären finiten feld, insbesondere im rahmen einer kryptographischen anwendung
WO2013004490A1 (de) Verfahren zum erzeugen einer zufälligen ausgangsbitfolge
DE2321200A1 (de) Einrichtung zur durchfuehrung boolescher verknuepfungen
EP0681760A1 (de) Rückgekoppeltes schieberegister zum erzeugen von pseudozufallszahlenfolgen darstellenden digitalen signalen.
EP2264901A2 (de) Integrierter Schaltkreis und Standartzelle eines integrierten Schaltkreises
DE2316904C3 (de) Dateneingab evorrichtung
DE3702697A1 (de) Paritaetserzeugungsschaltung
DE2060590A1 (de) Digitalrechner
DE10002361C1 (de) Frequenzteiler
DE1524197B1 (de) Aritmetisch-logische einheit
DE1549461C3 (de)
DE1911175B2 (de) Chiffriereinrichtung
DE3221819A1 (de) Vorrichtung zur simulation eines schaltwerks mit hilfe eines rechners
DE2140858C3 (de) Paritätsbit- Vorhersage schaltung für eine Stellenverschiebeeinrichtung
DE102004037814A1 (de) Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
WO2011091795A2 (de) Elektronische schaltungsanordnung zum verarbeiten von binären eingabewerten
WO1998038767A1 (de) Verfahren und anordnung zur rechnergestützten bildung einer permutation zur permutierung digitaler signale und verfahren und anordnung zur verschlüsselung digitaler signale

Legal Events

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