AT516290A1 - Codegenerator - Google Patents

Codegenerator Download PDF

Info

Publication number
AT516290A1
AT516290A1 ATA50661/2014A AT506612014A AT516290A1 AT 516290 A1 AT516290 A1 AT 516290A1 AT 506612014 A AT506612014 A AT 506612014A AT 516290 A1 AT516290 A1 AT 516290A1
Authority
AT
Austria
Prior art keywords
flip
input
output
flops
code
Prior art date
Application number
ATA50661/2014A
Other languages
English (en)
Other versions
AT516290B1 (de
Original Assignee
Metadat It Beratungs Und Entwicklungs 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 Metadat It Beratungs Und Entwicklungs Gmbh filed Critical Metadat It Beratungs Und Entwicklungs Gmbh
Priority to ATA50661/2014A priority Critical patent/AT516290B1/de
Publication of AT516290A1 publication Critical patent/AT516290A1/de
Application granted granted Critical
Publication of AT516290B1 publication Critical patent/AT516290B1/de

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
    • 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
    • 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
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • 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/581Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Nonlinear Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Bei einem Code-Generator ist eine Mehrzahl von FLIP-FLOPs (R1, R2, R3) zu einem Kreis zusammengeschlossen. Zusätzlich ist eine Rückkopplung vorgesehen, bei der ein Ausgang (Q) und ein Eingang (D) der FLIP-FLOPS (R1, R2) unter Zwischenschaltung eines XOR-Gatters (XF2) rekursiv verschaltet sind, wobei dessen erster Eingang mit dem Ausgang (Q) eines in der codeproduzierenden Reihe befindlichen FLIP-FLOPS (R1) und dessen zumindest ein weiterer Eingang mit dem Ausgang (Q) eines weiteren, in der codeproduzierenden Reihe weiter hinten befindlichen FLIP-FLOPS (R2, R3) und dessen Ausgang mit dem Eingang (D) des in der codeproduzierenden Reihe dem mit dem ersten Eingang des XOR-Gatters (XF2) verbundenen FLIP-FLOP (R1) nachfolgenden FLIP-FLOP (R2) verbunden ist. Erfindungsgemäß ist der Ausgang (Q) des letzten FLIP-FLOPs (R3) in der codeproduzierenden Reihe, welcher den Ausgang des Codegenerators bildet, mit dem Eingang (D) eines XOR-Gatters (XF1) verbunden, dessen Ausgang mit dem Eingang (D) des ersten FLIP-FLOPs (R1) in der codeproduzierenden Reihe verbunden ist und an dessen zweiten Eingang ein Eingangssignal anliegt. Der produzierte Code kann somit durch das Eingangssignal in unvorhersagbarer Weise verändert werden.

Description

Die vorliegende Erfindung betrifft einen Code-Generator miteiner Mehrzahl von zu einer codeproduzierenden Reihegeschalteten FLIP-FLOPs, wobei der Ausgang des in der Reiheletzten FLIP-FLOPs mit dem Eingang des in der Reihe ersten FLIP-FLOPs zu einem Kreis zusammengeschlossen ist und zusätzlich eineRückkopplung vorgesehen ist, bei der ein Ausgang und ein Eingangder FLIP-FLOPS unter Zwischenschaltung eines XOR-Gattersrekursiv verschaltet sind, wobei dessen erster Eingang mit demAusgang eines in der codeproduzierenden Reihe befindlichen FLIP-FLOPS und dessen zumindest ein weiterer Eingang mit dem Ausgangeines weiteren, in der codeproduzierenden Reihe weiter hintenbefindlichen FLIP-FLOPS und dessen Ausgang mit dem Eingang desin der codeproduzierenden Reihe dem mit dem ersten Eingang desXOR-Gatters verbundenen FLIP-FLOP nachfolgenden FLIP-FLOPverbunden ist.
Solch ein Codegenerator ist aus der AT 412747 B bekannt. DasPrinzip ist auch auf Wikipedia im Beitrag "Linearrückgekoppeltes Schieberegister" beschrieben. Von diesemWikipedia-Beitrag unterscheidet sich die AT 412747 B unteranderem dadurch, dass zwischen zwei aufeinanderfolgendenSchieberegistern zumindest ein NOT-Gatter (Inverter) vorgesehenist. Dadurch ist es nicht möglich, dass konstant Nullwertegeliefert werden, wenn zu Beginn sämtliche FLIP-FLOPs mit Nullinitialisiert sind.
Ein weiterer Unterschied besteht darin, dass die Rückkopplungmittels eines UND-Gatters ausgeschaltet werden kann. Das hat denVorteil, dass sich nicht eine bestimmte Bitfolge (die maximal2n-l lang ist, n ist die Anzahl der Flip-Flops) konstantwiederholt, sondern dass durch systematisches Ausschalten derRückkopplung die konstante Bitfolge verändert wird. Das UND-Gatter, mit dem die Rückkopplung ausgeschaltet werden kann, wirddurch einen weiteren Codegenerator angesteuert. Insgesamt ergibtsich dadurch allerdings wiederum eine konstante Bitfolge, wennauch mit einer wesentlich größeren Länge.
Es ist Aufgabe der vorliegenden Erfindung, solch einenCodegenerator dahingehend zu verbessern, dass seine
Ausgangssignalfolge noch ganz erheblich schwierigervorherzusagen ist.
Diese Aufgabe wird durch einen Codegenerator der eingangsgenannten Art erfindungsgemäß dadurch gelöst, dass der Ausgangdes letzten FLIP-FLOPs in der codeproduzierenden Reihe, welcherden Ausgang des Codegenerators bildet, mit dem Eingang einesXOR-Gatters verbunden ist, dessen Ausgang mit dem Eingang desersten FLIP-FLOPs in der codeproduzierenden Reihe verbunden istund an dessen zweiten Eingang ein Eingangssignal anliegt.
Erfindungsgemäß wird also ein beliebig wählbares Eingangssignalin das erste Schieberegister eingespeist, wodurch dieAusgangssignalfolge auch für jemanden, der die Hardware genaukennt, nichts mehr vorhersagbar ist.
Es handelt sich also um eine Art Scrambler, welcher eineBitfolge (Eingangsbitfolge) sequentiell und in bestimmter Längeeinliest und nicht umkehrbar zu einer Bitfolge(Ausgangsbitfolge) mit vorbestimmbarer (meist erheblichgrößerer) Länge ausdehnt. Im Gegensatz zu üblichen Scramblern,deren Ergebnis von einem Descrambler wieder in dieursprünglichen Daten zurück umgewandelt werden kann, ist diesbei dem erfindungsgemäßen Codegenerator nicht möglich. Dererfindungsgemäße Codegenerator expandiert die Daten in nichtumkehrbarer Weise.
Die Längen der Eingangsbitfolgen sowie die der
Ausgangsbitfolgen, ebenso der Anfangszustand des Codegeneratorskönnen vom Benutzer in der Einrichtung voreinstellbareKonstanten dieses Transformationsprozesses sein.
Nach einer Ausgestaltung der Erfindung sind mehrere derartigeRückkopplungen vorgesehen, und es ist bei zumindest zweiRückkopplungen zwischen dem weiteren, in der codeproduzierendenReihe weiter hinten befindlichen FLIP-FLOP und dem XOR-Gatterein UND-Gatter vorgesehen, dessen zweiter Eingang über Lookup-Tables ansteuerbar ist. Prinzipiell ist die Unterbrechung derRückkopplung mittels eines UND-Gatters bereits aus der AT 452747 B bekannt. Dort ist aber nur eine Rückkopplungvorgesehen, und wenn diese unterbrochen wird, ist dasSchieberegister nicht mehr rückgekoppelt, sodass sich dieBitfolge nach n bit wiederholt. Die Rückkopplung darf also immernur kurz ausgeschaltet werden, was durch den zusätzlichen Code-Generator sichergestellt werden soll.
Im Gegensatz dazu sind erfindungsgemäß mehrere, vorzugsweisesehr viele Rückkopplungen vorgesehen, die über Lookup-Tablesselektiv ein- bzw. ausgeschaltet werden können. Diese Lookup-Tables können zwischen den Partnern, die diese Code-Generatoreneinsetzen möchten, frei vereinbart werden, so dass diese nichteinmal dem Hersteller der Geräte bekannt sein müssen. Dervorliegende Code-Generator kann daher - je nachdem, welcheRückkopplungen eingeschaltet sind - in verschiedenstenBetriebsweisen betrieben werden, wobei die jeweils gewählteBetriebsweise nicht einmal dem Hersteller bekannt sein braucht.Dies ist gegenüber der AT 452747 B, wo das einzige UND-Gattervon einem vorhersagbaren Code-Generator angesteuert wird, einerheblicher Vorteil.
Ein Problem bei diesen Codegeneratoren besteht darin, dassmanchmal sehr lange Sequenzen von Nullen oder Einsen auftretenkönnen. Dies ist natürlich unerwünscht. Wenn beispielsweise eineTextnachricht verschlüsselt werden soll und z.B. 200 Nullenhintereinander auftreten, dann bedeutet dies bei Zeichen, diemit 8 Bit codiert werden, dass 25 Zeichen nacheinander imKlartext lesbar bleiben. Dies kann bereits ein Sicherheitsrisikodarstellen.
Um eine allzu lange Sequenz von Einsen zu vermeiden ist nacheiner Ausgestaltung der Erfindung vorgesehen, dass zwischen demAusgang eines FLIP-FLOPs und dem Eingang des in der Reihenachfolgenden FLIP-FLOPs ein UND-Gatter vorgesehen ist, dessenzweiter Eingang von einem Lookup-Table-Manager ansteuerbar ist.Der Lookup-Table-Manager kann so programmiert sein, dass zumBeispiel nach 50 Einsen das UND-Gatter mit "Null" angesteuertund somit die Verbindung zum nachfolgenden FLIP-FLOP unterbrochen wird, was zu einer Unterbrechung einer Serie vonEinsen führt.
Um eine allzu lange Sequenz von Nullen zu vermeiden ist nacheiner weiteren Ausgestaltung der Erfindung vorgesehen, dasszwischen dem Ausgang eines FLIP-FLOPs und dem Eingang des in derReihe nachfolgenden FLIP-FLOPs ein ODER-Gatter vorgesehen ist,dessen zweiter Eingang von einem Lookup-Table-Manageransteuerbar ist. Das Prinzip ist also ganz analog wie bei derUnterbrechung einer Sequenz von Einsen, nur liefert das ODER-Gatter an seinem Ausgang eine EINS, wenn es entsprechend (miteiner EINS am zweiten Eingang) angesteuert wird und somit dieVerbindung zwischen zwei aufeinanderfolgenden FLIP-FLOPsunterbricht.
Anhand der beiliegenden Zeichnung wird die vorliegende Erfindungnäher erläutert. Fig. 1 zeigt einen Schaltplan eines (starkvereinfachten) Ausführungsbeispiels, und Fig. 2 zeigtSignalfolgen, wie sie bei dem Ausführungsbeispiel von Fig. 1 zumEinsatz kommen.
Im Ausführungsbeispiel ist ein Schieberegister mit drei FLIP-FLOPs Ri, R2, R3 dargestellt. In der Praxis kommen allerdingsSchieberegister mit wesentlich mehr, beispielsweise mit mehrerenHundert FLIP-FLOPs, zum Einsatz. Die Anzahl der FLIP-FLOPs wirddaher im Folgenden mit n bezeichnet.
Der Hauptteil des Codegenerators besteht aus einer Reihe vonFLIP-FLOPs Ri bis Rn, die über drei verschiedene Typen vonVerbindungselementen zu einem rückgekoppelten Schieberegisterzusammen geschaltet sind. Diese Verbindungselemente sind: • UND-Gatter (in der Zeichnung mit AF (AND-Gatter imVorwärtszweig (Forward branch)) und RF (AND-Gatter imRückkopplungszweig) bezeichnet), die sowohl bei der linearenVerbindung der FLIP-FLOPs Ri bis Rn als auch bei derenRückkoppelungen verwendet werden. UND kann man als binäreMultiplikation auffassen: η · η = n 1-0 = 00-1 = 01-1 = 1 • XOR-Gatter (in der Zeichnung mit X (XOR-Gatter) bezeichnet),welche eine logische Exklusiv-ODER-Funktion zwischen mehrerenEingängen realisieren. Exklusiv-ODER kann man als binäreAddition (Addition modulo 2) auffassen: 0 + 0 = 01 + 0 = 10 + 1 = 11 + 1 ξ 0 (mod 2)
Dies lässt sich auf beliebig viele binäre Eingänge erweitern. • OR-Gatter (in der Zeichnung mit OF (OR-Gatter imVorwärtszweig (Forward branch)) bezeichnet), die bei derlinearen Verbindung der FLIP-FLOPs Ri bis Rn verwendet werden.OR-Gatter (mit v symbolisiert) liefern folgende Werte: 0 v 0 = 0 1 v 0 = 1 0 v 1 = 1 1 v 1 = 1
Grundsätzlich können von jedem FLIP-FLOP Ri i RückkopplungenWeggehen. In der Praxis wird man aber bei Schieberegistern mitvielen FLIP-FLOPS nur einen Bruchteil davon realisieren. In derZeichnung, wo nur drei FLIP-FLOPS Ri bis R3 vorgesehen sind, sindalle Rückkopplungen ausgeführt:
Vom Ausgang Q des FLIP-FLOPs R3 führen drei Leitungen zu den UND-Gattern AR33, AR23 und ARi3. Die zweiten Eingänge sind mit demlookup-table-Manager verbunden und werden von dessenAusgangssignalen 933, 923 und 913 angesteuert. Die Ausgänge derUND-Gatter AR33, AR23 und AR13 führen jeweils über ein XOR-GatterX3, X2 und Xi zu den Eingängen D der FLIP-FLOPs R3, R2 bzw. Ri.
Vom Ausgang Q des FLIP-FLOPs R2 führen zwei Leitungen zu den UND-Gat + prn ARoo nnd ARn. Die zweiten Fi naänap si nrl mi + rlpm 1 nnknn- table-Manager verbunden und werden von dessen Ausgangssignalen922 und φΐ2 angesteuert. Die Ausgänge der UND-Gatter AR22 und AR12führen jeweils über die XOR-Gatter X2 und Xi zu den Eingängen Dder FLIP-FLOPs R2 bzw. Rx.
Vom Ausgang Q des FLIP-FLOPs Rx führt schließlich eine Leitung zudem UND-Gatter ARXX. Der zweite Eingang ist mit dem lookup-table-Manager verbunden und wird von dessen Ausgangssignal φχχangesteuert. Der Ausgang des UND-Gatters ARXX führt über das XOR-Gatter Xx zu dem Eingang D des FLIP-FLOPs Rx.
Wenn ein Ausgangssignal HIGH ist, dann wird dasRückkopplungssignal über das entsprechende UND-Gatter ARXj zumXOR-Gatter Xx geführt, die Rückkopplung ist aktiv. Wenn dasAusgangssignal LOW ist, dann liefert das entsprechende UND-Gatter ARij immer LOW zum entsprechenden XOR-Gatter Xx, sodassdie Rückkopplung inaktiv ist.
Zwischen den FLIP-FLOPS Rx und R2 ist nicht nur das XOR-Gatter X2geschaltet, welches das Signal am Ausgang Q des FLIP-FLOPS Rx mitden Rückkopplungssignalen verknüpft und das Ergebnis an denEingang D des FLIP-FLOPS R2 liefert, sondern zusätzlich noch einUND-Gatter AF2 und ein ODER-Gatter OF2. Im Normalfall wird dasUND-Gatter AF2 vom Lookup-table-manager mit a2=HIGH angesteuertund das ODER-Gatter OF2 mit 52=LOW, sodass das Signal vom AusgangQ des FLIP-FLOPs Rx unverändert bleibt. Wenn das FLIP-FLOP Rxaber eine zu lange Serie von O-Werten liefert (was der Lookup-table-manager über das Signal rx erkennt) dann steuert er dasODER-Gatter OF2 mit 52=HIGH an, sodass am entsprechenden Eingangdes XOR-Gatters X2 vorgetäuscht wird, der Ausgang Q des FLIP-FLOPs RI wäre 1. Die Serie von O-Werten wird somit unterbrochen.Wenn das FLIP-FLOP Rx eine zu lange Serie von 1-Werten liefert(was der Lookup-table-manager wiederum über das Signal rxerkennt) dann steuert er das UND-Gatter AF2 mit Q2=L0W an, sodassam entsprechenden Eingang des XOR-Gatters X2 vorgetäuscht wird,der Ausgang D des FLIP-FLOPs RI wäre 0. Die Serie von 1-Wertenwird somit unterbrochen.
Analog dazu ist zwischen den FLIP-FLOPS R2 und R3 nicht nur dasXOR-Gatter X3 geschaltet, welches das Signal am Ausgang Q desFLIP-FLOPS R2 mit dem Rückkopplungssignal verknüpft und dasErgebnis an den Eingang D des FLIP-FLOPS R3 liefert, sondernzusätzlich noch ein UND-Gatter AF3 und ein ODER-Gatter 0F3, derenFunktion ganz analog ist zu der eben beschriebenen Funktion derGatter AF2 und 0F2. Es soll darauf hingewiesen werden, dass inder Praxis die Gatter AF und OF nicht zwischen allenaufeinanderfolgenden FLIP-FLOPs vorgesehen sein müssen; um einezu lange Serie von O-Werten oder 1-Werten zu unterbrechen genügtes, an einer oder an einigen wenigen Stellen im Schieberegistersolche Gatter AF und OF vorzusehen.
Vor dem ersten FLIP-FLOP Ri befindet sich ein XOR-Gatter Xi,welches nicht nur die exklusiv-oder-Verknüpfung der dreiRückkopplungssignale vornimmt, sondern zusätzlich noch einEingangssignal "Eingang" berücksichtigen kann. DiesesEingangssignal wird dem XOR-Gatter Xi über ein UND-Gatter IGzugeführt, dessen zweiter Eingang von einem Signal LA2angesteuert wird, das gleich erläutert werden wird.
Der Schaltung werden zwei Signale zugeführt: ein Eingangssignal"Eingang" und ein Taktsignal LEi. Das Taktsignal LEi und einBeispiel für ein Eingangssignal sind in Fig. 2 dargestellt. DerZustand des Eingangssignals wird jeweils bei der positivenFlanke des Tatksignals LEi abgetastet, die positive Flanke istdaher verstärkt dargestellt, und die entsprechenden Punkte imEingangssignal sind durch kleine Kreisscheiben markiert. DieEingangssignalfolge ist daher 0-1-1-0-0-0-1-0-1.
Aus dem Taktsignal LEi wird ein Taktsignal LA2 erzeugt, dasdieselbe Frequenz hat, aber gegenüber LEi invertiert und um etwasmehr als eine Viertel Taktperiode (z.B. um 3/8) phasenverschobenist. Weiters wird ein Taktsignal LAi erzeugt, das die doppelteFrequenz wie LEi hat. Schließlich wird noch ein Taktsignal LA3für das Ausgangssignal erzeugt, das in den ersten Taktperiodenkonstant LOW ist ab einem Zeitpunkt t3 mit dem Taktsignal LEi bisauf eine Phasenverschiebung übereinstimmt.
Die Schaltung funktioniert wie folgt:
Zum Zeitpunkt ti, der positiven Flanke von LEi, ist LA2 HIGH undLAi hat ebenso eine positive Flanke. Das Signal LA2 wird übereinen Inverter einem UND-Gatter SG zugeführt, dessen Ausgang mitdem Takt-Eingang C aller FLIP-FLOPs mit Ausnahme des ersten,also mit dem Takt-Eingang C von R2 und R3, verbunden ist. Amzweiten Eingang des UND-Gatters IG liegt LA2 an.
Infolge des invertierten Signals LA2 am Eingang von SG ist dessenAusgang LOW, d.h. das Taktsignal LAi an seinem anderen Eingangwird blockiert, die FLIP-FLOPs R2 und R3 takten nicht.
Das Signal LAi liegt direkt am Takteingang C des ersten FLIP-FLOPs Ri an, daher taktet zum Zeitpunkt ti nur das erste FLIP¬FLOP Ri.
Zu diesem Zeitpunkt setzt der Loopup-table-manager φη=1, φι2=0und φΐ3=0. Da LA2 HIGH ist, wird das Eingangssignal vom UND-Gatter IG durchgeschaltet und wird mit dem Ausgangssignal Q desersten FLIP-FLOPs Ri im XOR-Gatter Xi verknüpft, d.h. wenn dasEingangssignal HIGH ist, dann wird der Zustand des ersten FLIP-FLOPs Ri invertiert.
Zum Zeitpunkt t2, bei der negativen Flanke des Taktsignals LEi,ist LA2 LOW und LAi hat wiederum eine positive Flanke. Da LA2 LOWist, blockiert IG nun das Eingangssignal, aber SG lässt dasTaktsignal LAi durch. Zum Zeitpunkt t2 takten also alle FLIP-FLOPs Ri, R2 und R3. Das Ausgangssignal von SG ist in Fig. 2dargestellt, es wird also jede zweite positive Flanke von LAidurchgelassen. Zum Zeitpunkt t2 setzt der Lookup-table-managerdie Signale (pij entsprechend der aus dem "Satz von Lookup-tables"ausgewählten Lookup-table. Da das Eingangssignal vom UND-GatterIG blockiert wird, führt die Schaltung bei diesem Takt dieFunktion des linearen rückgekoppelten Schieberegisters durch,wobei die Art der Rückkopplung durch die gewählte Lookup-tablebestimmt ist.
Die Sequenz dieser zwei Arbeitsschritte wiederholt sich solange, bis die voreingestellte Länge der Ausgangsbitfolgeerreicht wird. Danach wird der Codegenerator in denAnfangszustand zurück versetzt und er kann für die gleicheTransformation einer anderen Eingangsbitfolge verwendet werden.
In der Praxis wird man in jeder Lookup-table nur ein oder einigewenige (pij auf 1 setzten, da eine oder einige wenigeRückkopplungen genügen, um das Ausgangssignal für Drittepraktisch unvorhersagbar zu machen. Es sollten aber genügendRückkopplungen vorgesehen sein, damit man aus vielenMöglichkeiten wählen kann, d.h. viele unterschiedliche Lookup-tables erstellen kann.
Die Kontrolle über die zusammengeschalteten und rückgekoppeltenFLIP-FLOPs übernimmt ein Steuerungssystem, welches als Lookup-Table-Manager (LUT-Manager) bezeichnet wird. DiesesSteuerungssystem kontrolliert die Transformation einerEingangsbitfolge und die Ausgabe der Resultate.
Zu diesem Zweck schaltet das Steuerungssystem nicht nur wiebeschrieben die Signale (pij zwischen den Zeitpunkten ti und t2 um,sondern es überprüft auch (z.B. nach dem Zeitpunkt ti) die Werteri, r2, r3 der Schieberegister; wenn eines der Schieberegistereine zu lange Folge von O-Werten oder 1-Werten liefert, wird derEingang des entsprechenden ODER-Gatters OF bzw. desentsprechenden UND-Gatters AF rechtzeitig vor t2 angesteuert,damit die Folge unterbrochen wird.
Der aktuelle Wert des letzten FLIP-FLOPs R3 wird als einlaufendes Bit des Ausgangssignals ausgegeben, dessen Takt durchdas Taktsignal LA3 angegeben wird. LA3 entspricht LEi, ist aberetwas (z.B. um einen halben Takt) phasenverschoben, damit dasFLIP-FLOP R3 genug Zeit zum Schalten hat. Außerdem kann dasTaktsignal LA3 für die ersten Taktperioden auf LOW gesetztwerden, z.B. für zumindest so viele Taktperioden, wie dasSchieberegister FLIP-FLOPs hat. Dadurch wird sichergestellt,dass sich das Eingangssignal von Anfang an auf das
Ansaanassianal answi rkt.
Die Länge des Ausgangssignals ist unabhängig von der Länge desEingangssignals. Wenn das Eingangssignal vollständig eingespeistist, kann man es entweder neuerlich einspeisen (periodischeWiederholung), oder man kann die Schaltung ohne Eingangssignalweiter laufen lassen.

Claims (4)

  1. Patentansprüche : 1. Code-Generator mit einer Mehrzahl von zu einercodeproduzierenden Reihe geschalteten FLIP-FLOPs (Ri, R2, R3), wobei der Ausgang (Q) des in der Reihe letzten FLIP-FLOPs (R3) mit dem Eingang (D) des in der Reihe erstenFLIP-FLOPs (Ri) zu einem Kreis zusammengeschlossen ist undzusätzlich eine Rückkopplung vorgesehen ist, bei der einAusgang (Q) und ein Eingang (D) der FLIP-FLOPS (Ri, R2)unter Zwischenschaltung eines XOR-Gatters (XF2) rekursivverschaltet sind, wobei dessen erster Eingang mit demAusgang (Q) eines in der codeproduzierenden Reihebefindlichen FLIP-FLOPS (Ri) und dessen zumindest einweiterer Eingang mit dem Ausgang (Q) eines weiteren, in dercodeproduzierenden Reihe weiter hinten befindlichen FLIP-FLOPS (R2, R3) und dessen Ausgang mit dem Eingang (D) des in der codeproduzierenden Reihe dem mit dem ersten Eingangdes XOR-Gatters (XF2) verbundenen FLIP-FLOP (Ri)nachfolgenden FLIP-FLOP (R2) verbunden ist, dadurchgekennzeichnet, dass der Ausgang (Q) des letzten FLIP-FLOPs(R3) in der codeproduzierenden Reihe, welcher den Ausgangdes Codegenerators bildet, mit dem Eingang (D) eines XOR-Gatters (XFi) verbunden ist, dessen Ausgang mit dem Eingang(D) des ersten FLIP-FLOPs (Ri) in der codeproduzierendenReihe verbunden ist und an dessen zweiten Eingang einEingangssignal anliegt.
  2. 2. Codegenerator nach Anspruch 1, dadurch gekennzeichnet, dass mehrere derartige Rückkopplungen vorgesehen sind und dassbei zumindest zwei Rückkopplungen zwischen dem weiteren, inder codeproduzierenden Reihe weiter hinten befindlichenFLIP-FLOP (R2, R3) und dem XOR-Gatter (XF2) ein UND-Gatter (UR23; UR22) vorgesehen ist, dessen zweiter Eingang überLookup-Tables ansteuerbar ist.
  3. 3. Codegenerator nach Anspruch 1 oder 2, dadurchgekennzeichnet, dass zwischen dem Ausgang (Q) eines FLIP-FLOPs (Ri, R2) und dem Eingang (D) des in der Reihenachfolgenden FLIP-FLOPs (R2, R3) ein UND-Gatter (UF2, UF3)vorgesehen ist, dessen zweiter Eingang von einem Lookup-Table-Manager ansteuerbar ist.
  4. 4. Codegenerator nach einem der Ansprüche 1 bis 3, dadurchgekennzeichnet, dass zwischen dem Ausgang (Q) eines FLIP-FLOPs (Ri, R2) und dem Eingang (D) des in der Reihenachfolgenden FLIP-FLOPs (R2, R3) ein ODER-Gatter (0F2, OF3)vorgesehen ist, dessen zweiter Eingang von einem Lookup-Table-Manager ansteuerbar ist.
ATA50661/2014A 2014-09-19 2014-09-19 Codegenerator AT516290B1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ATA50661/2014A AT516290B1 (de) 2014-09-19 2014-09-19 Codegenerator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ATA50661/2014A AT516290B1 (de) 2014-09-19 2014-09-19 Codegenerator

Publications (2)

Publication Number Publication Date
AT516290A1 true AT516290A1 (de) 2016-04-15
AT516290B1 AT516290B1 (de) 2019-09-15

Family

ID=55656479

Family Applications (1)

Application Number Title Priority Date Filing Date
ATA50661/2014A AT516290B1 (de) 2014-09-19 2014-09-19 Codegenerator

Country Status (1)

Country Link
AT (1) AT516290B1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0887728A2 (de) * 1997-05-21 1998-12-30 Nec Corporation Pseudozufallszahlenreihengenerator
US20030063741A1 (en) * 2001-09-28 2003-04-03 Bedros Hanounik Cipher block chaining mode in encryption/decryption processing
AT412747B (de) * 2002-03-05 2005-06-27 Rene-Michael Mag Cordes Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identifikation oder ver- und endschlüsselung von daten beliebiger länge
AT510730A1 (de) * 2010-12-02 2012-06-15 Rene-Michael Mag Cordes Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0887728A2 (de) * 1997-05-21 1998-12-30 Nec Corporation Pseudozufallszahlenreihengenerator
US20030063741A1 (en) * 2001-09-28 2003-04-03 Bedros Hanounik Cipher block chaining mode in encryption/decryption processing
AT412747B (de) * 2002-03-05 2005-06-27 Rene-Michael Mag Cordes Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identifikation oder ver- und endschlüsselung von daten beliebiger länge
AT510730A1 (de) * 2010-12-02 2012-06-15 Rene-Michael Mag Cordes Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten

Also Published As

Publication number Publication date
AT516290B1 (de) 2019-09-15

Similar Documents

Publication Publication Date Title
EP3028140B1 (de) Konstruieren einer schaltung geeignet zur erzeugung von zufallsbits und schaltung zur erzeugung von zufallsbits
DE2715631C2 (de) Verschlüsselung und Absicherung von Daten
DE3618865A1 (de) Maximallaengen-schieberegister-schaltfolge-generator
DE1512617B1 (de) Schaltungsanordnung zur Erzeugung eines Impulscodes aus einem eintreffenden Impulszug
EP2446580B1 (de) Vorrichtung und verfahren zur bildung einer signatur
DE2154019C3 (de) Zufallskodegenerator
DE19821004C2 (de) Sequenzgenerator
WO2010083911A2 (de) Nichtlinear rückgekoppeltes schieberegister sowie verfahren zur nichtlinearen signaturbildung
DE2158013A1 (de) Tastatur-Eingabewerk
DE10130123A1 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
DE102005029819B4 (de) Sigma-Delta-Umsetzer und Verwendung desselben
DE2359997C3 (de) Binäruntersetzerstufe
DE2516802A1 (de) Schaltungsanordnung zur einschraenkung der auswirkungen von bitfehlern bei pulscode-signaluebertragungen
AT516290A1 (de) Codegenerator
DE1212142B (de) Schaltungsanordnung zur Erzeugung mehrerer phasenverschobener Impulszuege
DE1182296B (de) Schaltungsanordnung zur Realisierung logischer Funktionen
DE102014203648A1 (de) Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
CH509706A (de) Digital-Analog-Wandler
DE10303723B4 (de) Vorrichtung und Verfahren zum Berechnen von verschlüsselten Daten aus unverschlüsselten Daten oder von unverschlüsselten Daten aus verschlüsselten Daten
WO2015176836A1 (de) Vorrichtung und verfahren zum erzeugen von zufallsbits
DE10214118A1 (de) Schaltungsanordnung mit einem Sender und einem Empfänger
DE1524884B2 (de) Verfahren und Schaltungsanordnung zur Übertragung digitaler Nachrichten unter Bildung und Einfügung von Prüfbits
DE1591820B1 (de) Leistungsverstaerker mit mindestens zwei von einer tastbaren Steuerspannungsquelle abwechselnd geoeffneten Schalttransistoren
EP3599723A1 (de) Schaltung zur pulsweitenmodulation
DE102018119978A1 (de) Ultraschallgenerator und Verfahren zum Betreiben desselben