DE10204586A1 - Automatic data coding and decoding circuit for transmission system has digital code source in form of addressable memory to produce code independent of content of input clear text - Google Patents

Automatic data coding and decoding circuit for transmission system has digital code source in form of addressable memory to produce code independent of content of input clear text

Info

Publication number
DE10204586A1
DE10204586A1 DE2002104586 DE10204586A DE10204586A1 DE 10204586 A1 DE10204586 A1 DE 10204586A1 DE 2002104586 DE2002104586 DE 2002104586 DE 10204586 A DE10204586 A DE 10204586A DE 10204586 A1 DE10204586 A1 DE 10204586A1
Authority
DE
Grant status
Application
Patent type
Prior art keywords
sn
shn
sk
key
number
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
DE2002104586
Other languages
German (de)
Inventor
Stefan Mueller
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.)
FORSCHUNGSGESELLSCHAFT fur ANGEWANDTE NATURWISSENSCHAFTEN EV (FGAN)
FORSCHUNGSGESELLSCHAFT fur AN
Original Assignee
FORSCHUNGSGESELLSCHAFT fur ANGEWANDTE NATURWISSENSCHAFTEN EV (FGAN)
FORSCHUNGSGESELLSCHAFT fur AN
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

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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

Abstract

In a typical application data (K) passes from the data input (Datenstrom Eingang) to a mixer (Hash) from which coded data (K') passes to the data output (Datenstrom Ausgang). The coding circuit produces a code key number (SN) and a key value (SK(SHN)) also a key hook number (SHN). A code number (C) is passed to the mixer to code the transmitted data.

Description

  • Gegenstand der Erfindung ist gemäß dem Anspruche 1 ein schnelles, skalierbares und kompaktes Chiffrierverfahren. The invention according to the claims 1 a fast, scalable, compact cipher.
  • Das zunehmende Datenaufkommen in heutigen Kommunikationsnetzen erfordert immer höhere Bandbreiten und schnellere Verfahren zur sicheren Übertragung von Informationen. The increasing amount of data in today's communication networks requires ever higher bandwidths and faster procedures for the secure transmission of information. Auch wenn aus Datenschutzgründen eine Verschlüsselung sinnvoll wäre, wird oft darauf verzichtet, weil die derzeitigen Chiffrierverfahren sehr viel Rechenzeit beanspruchen. Even if an encryption would be useful for security purposes, is often waived because the current cipher require a lot of computing time. Es werden also schnelle und sichere Chiffrierverfahren gebraucht, die bei der Übertragung oder Speicherung von verschlüsselten Daten noch akzeptable Geschwindigkeiten gewährleisten. fast and secure cipher so it needed that still provide acceptable speeds in the transmission or storage of encrypted data.
  • Das wohl derzeit schnellste Chiffrierverfahren nach dem Stand der Technik, das bekannt und in Software implementierbar ist, wurde 1994 von ROGAWAY und COPPERSMITH mit dem Namen "SEAL" vorgestellt. Probably the fastest cipher according to the prior art, known and implemented in software, was introduced in 1994 by Rogaway and Coppersmith with the name "SEAL". SEAL ist ein Stromchiffrierer, der für einen 32-Bit-Prozessor, wie er in den meisten PC's vorhanden ist, ausgelegt wurde. SEAL is a stream cipher, which was designed for a 32-bit processor, such as is present in most PC's. Er hat zwar auf einem Intel Pentium eine Chiffrierleistung von 3,64 Taktzyklen bzw. 4.13 Maschinenbefehle pro Byte, benötig aber für seine Initialisierung verhältnismäßig viel Zeit (im Bereich von Millisekunden). While he has an Intel Pentium one Chiffrierleistung of 3.64 clock cycles or 4.13 machine instructions per byte, benötig but relatively much time (measured in milliseconds) for its initialization. Da SEAL unabhängig vom Klartext arbeitet, muss das Verfahren vor jeder neuen Chiffrierung mit einem neuen 160-Bit- Schlüssel initialisiert werden, um die Sicherheit der Verschlüsselung zu gewährleisten. Since SEAL operates independently of the plaintext, the procedure before each new encryption must be initialized with a new 160-bit key, to ensure the security of the encryption. Dies hat zwei Nachteile. This has two disadvantages. Zum einen wird SEAL bei kurzen unabhängigen Datenströmen langsam und zum anderen muss der Chiffrierer ständig mit neuen Schlüsseln versorgt werden. Firstly SEAL will be constantly supplied slowly and for other needs of the cipher with new keys for short independent data streams.
  • Die Erfindung stellt sich daher die Aufgabe, ein Chiffrierverfahren anzugeben, welches bei schnellerer Arbeitsweise als SEAL, dessen vorgenannte Nachteile der kontinuierlich wiederholten Schlüsselgenerierung nicht aufweist. The invention therefore has as its object to provide an encryption method, which does not have at faster operation than SEAL, the aforementioned disadvantages of the continuously repeated key generation.
  • Die Lösung der Aufgabe gelingt durch ein Verfahren und eine Einrichtung und wie sie in den Ansprüchen 1 und 5 sowie in deren Ausgestaltungen im Unteransprüchen 2 bis 4 bzw. 6 und 7 angegeben sind. The object is achieved by a method and a device, and as set forth in claims 1 and 5 and the embodiments thereof in subclaims 2 to 4 and 6 and 7. FIG.
  • Das erfindungsgemäße Verfahren verschlüsselt wie der vorgenannte Stromchiffrierer nach dem gleichen Prinzip. The inventive method is encrypted as the aforementioned stream cipher according to the same principle. Abhängig von einem geheimen Schlüssel wird eine unvorhersehbare Bitfolge erzeugt und per XOR mit dem Klartext verknüpft. Depending on a secret key, an unpredictable sequence of bits is generated and XORed with the plaintext. Die Dechiffrierung erfolgt mit dem gleichen Schlüssel und der gleichen Bitfolge durch erneute Verknüpfung des Geheimtextes mit der Bitfolge per XOR. The decryption is done with the same key and the same bit sequence by re-linking of the ciphertext with the bit sequence by XOR. Das Hauptproblem ist dabei die schnelle Erzeugung einer unvorhersehbaren Bitfolge aus einem vorgegebenen Schlüssel. The main problem is the rapid generation of an unpredictable sequence of bits from a predetermined key.
  • Die Erfindung verwendet im Gegensatz zu den Verfahren des Standes der Technik einen digitalen Schlüsselkasten "SK[. . .]" mit einer bestimmten Hakenanzahl "SKL", der in Abhängigkeit vom geheimen Schlüssel komplett mit Schlüsselwerten gefüllt wird. The invention uses, in contrast to the methods of the prior art a digital key box "SK [...]" With a certain number of hooks "SKL", which is completely filled by the secret key with key values ​​in dependency. Nach der Wahl einer aktuellen Schlüsselnummer "SN" wird eine entsprechende Schlüsselhakennummer "SHN" erzeugt und das Verfahren kann mit der Chiffrierung beginnen. After the selection of a current key number "SN", a corresponding key hooks number "SHN" is generated and the process can begin with the encryption.
  • Für jeden Klartextabschnitt wird zuerst eine neue Schlüsselnummer SN mit Hilfe der aktuellen Schlüsselnummer und dem Schlüsselwert SK[SHN] (Schlüssel am Haken SHN im Schlüsselkasten SK), erzeugt. For each clear text portion of a new key number SN by means of the current key number and the key value SK [SHN] is (the hook key in the key box SHN SK) is generated first. Um die neue Schlüsselnummer SN zu schützen, wird diese noch mal mit dem aktuellen Schlüsselwert SK[SHN] per XOR verknüpft, bevor sie den aktuellen Klartextabschnitt per XOR chiffriert. To protect the new key number SN is linked this again with the current key value SK [SHN] by XOR before they encrypted the current plain text section by XOR. Der aktuelle Schlüsselwert SK[SHN] wird dann durch die neue Schlüsselnummer SN ersetzt. The current key value SK [SHN] is then replaced by the new key number SN. Nachdem aus der Schlüsselnummer SN wieder die entsprechende Schlüsselhakennummer SHN ermittelt wurde, wiederholt sich das Verfahren für die restlichen Klartextabschnitte. After from the key number SN corresponding to the key hook SHN number was determined again, the process for the remaining portions plaintext repeated.
  • Wenn während der Chiffrierung als neue Schlüsselnummer SN der Wert Null berechnet wird, dient das Komplement des aktuellen Schlüsselwerts SK[SHN] als neue Schlüsselnummer SN, damit die Erzeugung der pseudo-zufälligen Bitfolge stabil bleibt. If the value is calculated zero during the encryption key as a new number SN, the complement of the current key value SK [SHN] is used as a new key number SN, so that the generation of the pseudo-random bit sequence remains stable.
  • Das Verfahren kann in zwei Modi betrieben werden. The process can be operated in two modes. Im Modus "N", in dem entsprechend Anspruch 1 ein Klartext unabhängig vom Klartext verschlüsselt wird, arbeitet das Verfahren wie die derzeitigen Stromchiffrierer. In the mode "N", in which according to claim 1, a plain text is encrypted independently of the plaintext, the process as the current stream cipher operates. Im Modus "D" dagegen, wird der Klartext gemäß der Weiterbildung des Erfindungsgedankens, wie im Unteranspruch 3 angegeben, abhängig vom Klartext verschlüsselt. In the mode "D" on the other hand, the plain text according to the development of the invention as described in the dependent claim 3 is specified, depending encrypted from plaintext. Bei der Erzeugung der neuen Schlüsselnummer werden in diesem Modus zusätzlich noch bestimmte Klartextteile mit einbezogen. In generating the new key number or certain plain text parts are included in addition in this mode. Sinnvoll ist der Gebrauch beider Modi, indem der signifikante Kopfteil eines Datenstroms im Modus D und der Rest im Modus N verschlüsselt wird. It is advisable to use both modes by the significant head portion of a data stream in mode D and the remainder is encoded in the mode N. Denn im Modus N arbeitet das erfindungsgemäße Verfahren mit einer viel höheren Chiffrierleistung. Because in the mode N, the inventive method operates at a much higher Chiffrierleistung. So kann auf die Auswechselung von geheimen Schlüsseln verzichtet werden. So can be dispensed with the substitution of secret keys.
  • Das neue Chiffrierverfahren ist skalierbar, da es sich an die Registerbreite eines beliebigen Zielprozessors anpassen lässt. The new cipher is scalable since it can be adapted to the register width of any target processor. Die Chiffrierleistung steigt dabei linear zur Registerbreite. The Chiffrierleistung rises linearly to register width. Das Verfahren kann aber auch mit kleineren Bit-Breiten als die Registerbreite des Prozessors arbeiten. but the method can also work with smaller bit-width than the register width of the processor. Dies macht Sinn, wenn man nur jeweils 8-Bit verschlüsselt, um unabhängig vom Prozessor zu sein. This makes sense, if you only one 8-bit encrypted to be independent of the processor.
  • Die Schlüssellänge ist variabel und könnte zum Beispiel bei einem 32-Bit-Prozessor theoretisch bis zu 2 hoch 37 Bit lang sein. The key length is variable and could, for example, for a 32-bit processor, theoretically up to 2 be high 37 bits long. Damit lässt sich das Verfahren an jedes Sicherheitsbedürfnis anpassen. Thus, the method can be adapted to any need for security.
  • Das erfindungsgemäße Verschlüsselungsverfahren ist schnell und bietet im Modus N auf einem Intel Pentium eine Chiffrierleistung von 2.11 Taktzyklen bzw. 3 Maschinenbefehle pro Byte. The encryption method according to the invention is quick and offers in N mode on an Intel Pentium one Chiffrierleistung of 2.11 clock cycles or three machine instructions per byte. Dies ist eine Steigerung von über 70 Prozent im Vergleich zu SEAL. This is an increase of over 70 percent compared to SEAL. Auch im Modus D ist das neue Verfahren mit 3.43 Taktzyklen bzw. 6 Maschinenbefehle pro Byte immer noch schneller als SEAL. Even in the mode D, the new method with 3:43 clock cycles or 6 machine instructions per byte is still faster than SEAL.
  • Die Initialisierung besteht im Wesentlichen nur aus dem Füllen des Schlüsselkastens in Abhängigkeit des Schlüssels und benötig somit sehr wenig Rechenzeit. Initialization consists essentially only of filling the key box function of the key and thus benötig very little CPU time.
  • Die besonderen Vorteile dieses Verfahren liegen in der Chiffrierleistung, in der Skalierbarkeit und der möglichen Abhängigkeit der Chiffrierung vom Klartext. The particular advantages of this method are the Chiffrierleistung, the scalability and the possible dependence of the encryption of plain text.
  • In allen drei Eigenschaften übertrifft das Verfahren die derzeitigen Stromchiffrierer. In all three properties, the process exceeds the current stream cipher.
  • Nachfolgend wird die Arbeitsweise des erfindungsgemäßen Chiffrierverfahrens zur textabhängigen und unabhängigen Verschlüsselung ausgeführt, und zusätzlich anhand einer Beispiel-Implementierung in der Programmiersprache C sowie durch die Abb. 1 und 2 verdeutlicht. Next, the operation of the encryption method of the invention for text-dependent and independent encryption is performed, and in addition, illustrated with reference to an example implementation in the C programming language as well as the Fig. 1 and 2.
  • Definition der verwendeten arithmetischen Ausdrücke und benutzten Anweisungen Definition of arithmetic expressions used and use instructions
  • Das Zeichen "#" steht für eine bitweise exklusive ODER-Verknüpfung, "mod" für MODULO, "+" für die Addition, "*"für die Multiplikation, "**"für die Potenzierung, "&" für eine bitweise UND-Verknüpfung", "∥" für die bitweise ODER-Verknüpfung, "not" für das bitweise Komplement, ": =" für die Zuweisung von der rechten zur linken Seite und ">>" für die bitweise Rechtsverschiebung. The "#" represents a bitwise exclusive OR operation, "mod" for MODULO, "+" for addition, "*" for multiplication, "**" for the potentiation, "&" for a bit-wise AND shortcut "," ∥ "for the bitwise OR," not "for the bitwise complement": = "for the allocation of the right to the left side and" >> "for the bitwise right shift.
  • Vor der Implementierung müssen die zwei Parameter "N" und "M" festgelegt werden. Prior to implementing the two parameters "N" and "M" must be defined. Der Parameter N bestimmt die Bit-Breite der Schlüsselnummern und M die Bit-Breite der Schlüsselhakennummern. The parameter N is determined, the bit width of the key numbers, and M is the bit width of the key hook numbers. M kann dabei kleiner oder gleich N sein. M may be smaller or equal to N. Aus diesen beiden Parametern ergeben sich zwei weitere Parameter "SKL" und "MSL". From these two parameters, two additional parameters "SKL" and "MSL" result. SKL ist definiert durch die Gleichung SKL = 2**M und gibt die Anzahl der Schlüsselhaken im Schlüsselkasten bzw. die Schlüsselkastengröße an. SKL is defined by the equation SKL = 2 ** M, and outputs the number of key hooks in the key box or the key box size. SKL darf aber nicht kleiner als N sein. But SKL shall not be less than N. MSL gibt die maximale Schlüssellänge in Bit an und ist definiert durch MSL = N*SKL. MSL gives the maximum key length in bits and is defined by MSL = N * SKL.
  • Modus N mode N
  • Für den klartextunabhängigen Modus N benötigt das erfindungsgemäße Chiffrierverfahren: For the plain text independent mode N cipher of the invention requires:
    • - ein Schlüsselkasten SK[. - a key box SK [. . , .] aus SKL Schlüsselwerten, in der Regel ein eindimensionales Feld von vorzeichenlosen, ganzzahligen Elementen, die mindestens N- Bit breit sein müssen .] From SKL key values, usually a one-dimensional array of unsigned, integer elements, which at least N-bit must be wide
    • - eine Schlüsselnummer SN, eine vorzeichenlose ganzzahlige Variable, die mindestens N-Bit breit sein muss - a key number SN, an unsigned integer variable that needs to be wide at least N-bit
    • - eine Schlüsselhakennummer SHN, vom gleichen Typ wie SN - a key hook number SHN, the same type as SN
    • - und eine Chiffriervariable "C", auch vom gleichen Typ wie SN, mit dem der aktuelle Klartextabschnitt chiffriert bzw. der aktuelle Geheimtextabschnitt dechiffriert wird. - the current ciphertext is deciphered portion also the same type as SN, with which the current plaintext enciphered portion, respectively, and a Chiffriervariable "C".
  • Die Initialisierung erfolgt durch das Füllen des Schlüsselkastens SK[. The initialization is done by filling the key box SK [. . , .] abhängig vom geheimen Schlüssel mit N-bit-breiten Schlüsselwerten. .] Depends on the secret key with N-bit wide key values. SN und C werden mit einer beliebigen N-bit-breiten Zahl vorbesetzt, die man auch aus dem Schlüsselkasten entnehmen kann. SN and C are preset to an arbitrary N-bit wide number that can be seen also from the key box. Die Schlüsselhakennummer SHN ergibt sich aus SHN: = SN >> (N - M). The key hook number SHN results from SHN: = SN >> (N - M).
  • Die Chiffrierung des Klartextstroms erfolgt schrittweise in N-bit-breite Abschnitte. The encryption of the plaintext stream is gradual in N-bit-wide sections. Für jeden Klartextabschnitt werden folgende Verfahrensschritte durchlaufen: For each plaintext section, the following steps are carried out:
    • 1. Eine neue Schlüsselnummer SN erzeugen durch SN: = (SN + SK[SHN]) mod (2**N) 1. A new key number SN generated by SN: = (SN + SK [SHN]) mod (2 ** N)
    • 2. wenn SN gleich Null ist, nur Schritte 7-9 ausführen, sonst nur Schritte 3-6 2. if SN is equal to zero, only perform steps 7-9, otherwise only steps 3-6
    • 3. eine neue Chiffrierzahl C berechnen aus C: = SN # SK[SHN] 3. A new calculated from Chiffrierzahl C C: = SN # SK [SHN]
    • 4. den aktuellen Schlüsselwert SK[SHN] durch die neue Schlüsselnummer SN ersetzen mit SK[SHN]: = SN 4. the current key value SK [SHN] by the new key number SN replace SK [SHN]: = SN
    • 5. aus der Schlüsselnummer SN durch eine Rechtsverschiebung die Schlüsselhakennummer SHN erzeugen, SHN: = SN >> (N - M) 5. produce from the key number SN by a right shift key hooks number SHN, SHN: = SN >> (N - M)
    • 6. der aktuelle Klartextabschnitt "K" mit der neuen Chiffrierzahl C per XOR verknüpfen durch K: = K # C 6. The current plain text section "K" with the new Chiffrierzahl C by XOR link by K: K = C #
    • 7. das Komplement vom Schlüsselwert SK[SHN] als neue Schlüsselnummer verwenden, SN: = not SK[SHN] 7. Use the complement of the key value SK [SHN] as a new key number, SN: = not SK [SHN]
    • 8. den aktuellen Schlüsselwert SK[SHN] durch die aktuelle Chiffrierzahl C ersetzen, SK[SHN]: = C 8. Replace the current key value SK [SHN] by the current Chiffrierzahl C, SK [SHN]: = C
    • 9. der aktuelle Klartextabschnitt K mit der neuen Schlüsselnummer SN per XOR verknüpfen, K: = K # SN 9. linking the current plain text section K with the new key number SN by XOR, K: = K # SN
  • Die Abb. 1 stellt die wesentliche Verfahrensschritte zur Erzeugung der unvorhersehbaren Zahlenfolge noch einmal grafisch dar. The Fig. 1 shows the essential process steps to produce the unpredictable sequence of numbers graphically again.
  • Eine Implementierung in der Programmiersprache C würde folgendermaßen aussehen: An implementation in the C programming language would look like this:


  • Modus D mode D
  • Im klartextabhängigen Modus D benötigt das erfindungsgemäße Verfahren noch zusätzlich: In plain language dependent mode D, the inventive method requires additionally:
    • - eine Chiffriermaske "CM", eine Variable vom gleichen Typ wie SN - a Chiffriermaske "CM", a variable of the same type as SN
    • - und eine Variable "UK" für den unchiffrierten Klartextteil, vom gleichen Typ wie SN. - and a variable "UK" for the unencrypted plaintext part, the same type as SN.
  • Die Initialisierung erfolgt wie im Modus N, da CM und UK nicht vorbesetzt werden müssen. The initialization is done as in the mode N, as CM and UK do not have to be preset. Nur die Chiffrierung gestaltet sich ein wenig komplexer und läuft für jeden Klartextabschnitt nach folgenden Schritten ab: Only the encryption turns out a little more complex and runs for each plaintext section according to the following steps:
    • 1. eine neue Klartextmaske erzeugen, die zum Einlesen des unchiffrierten Klartextteils benötig wird. 1. create a new plain text mask benötig for reading the unencrypted plaintext part. Die Variable SN bietet sich für diesen Zweck an. The variable SN is suitable for this purpose. SN: = (SN + SK[SHN]) mod (2**N) SN: = (SN + SK [SHN]) mod (2 ** N)
    • 2. die entsprechende Chiffriermaske CM speichern, sie ergibt sich aus dem Komplement der Klartextmaske. 2. Store the Chiffriermaske CM, it results from the complement of the plaintext mask. CM: = not SN CM: = not SN
    • 3. den Klartextteil UK, der nicht chiffriert wird, mit Hilfe der Klartextmaske SN durch eine bitweise UND-Verknüpfung aus dem Klartextabschnitt K extrahieren, UK: = K & SN 3. extract the plain text part of the UK, which is not encrypted using the plain text mask SN a bitwise AND of the plaintext section K, UK: = K SN
    • 4. eine neue Schlüsselnummer aus der Verknüpfung von SN, UK und C erzeugen durch SN: = (SN + (UK # C)) mod (2**N) 4. a new key number from the linking of SN, UK and C generated by SN: = (SN + (UK # C)) mod (2 ** N)
    • 5. wenn SN gleich Null ist, nur Schritte 10-12 ausführen, sonst nur Schritte 6-9 5. if SN is equal to zero, only perform steps 10-12, otherwise only steps 6-9
    • 6. eine neue Chiffrierzahl C berechnen aus C: = SN # SK[SHN] 6. a new Chiffrierzahl C calculated from C = SN # SK [SHN]
    • 7. den aktuellen Schlüsselwert SK[SHN] durch die neue Schlüsselnummer SN ersetzen mit SK[SHN]: = SN 7. the current key value SK [SHN] by the new key number SN replace SK [SHN]: = SN
    • 8. aus der Schlüsselnummer SN durch eine Rechtsverschiebung die Schlüsselhakennummer SHN erzeugen, SHN: = SN >> (N - M) 8. generate from the key number SN by a right shift key hooks number SHN, SHN: = SN >> (N - M)
    • 9. den Klartextabschnitt K mit Hilfe der Chiffriermaske cm und der Chiffrierzahl C chiffrieren durch K: = UK ∥ (CM & (K # C)) 9. the plaintext section K using the Chiffriermaske cm and Chiffrierzahl C encrypt by K: = UK ∥ (CM (K # C))
    • 10. das Komplement vom Schlüsselwert SK[SHN] als neue Schlüsselnummer SN verwenden, SN: = not SK[SHN] 10. Use the complement of the key value SK [SHN] as a new key number SN SN: = not SK [SHN]
    • 11. den aktuellen Schlüsselwert SK[SHN] durch die aktuelle Chiffrierzahl C ersetzen, SK[SHN]: = C 11. replace the current key value SK [SHN] by the current Chiffrierzahl C, SK [SHN]: = C
    • 12. den Klartextabschnitt K mit Hilfe der Chiffriermaske CM und der Schlüsselnummer SN chiffrieren durch K: = UK ∥ (CM & (K # SN)) 12, the plaintext portion of K by means of the Chiffriermaske CM and the key number SN by encrypt K: = ∥ UK (CM (K # SN))
  • Die Abhängigkeiten und Verknüpfungen von CM, UK, C, SN und SK[SHN] bei der klartextabhängigen Chiffrierung versucht die Abb. 2 darzustellen The dependencies and relationships of CM, UK, C, SN and SK [SHN] in clear text-dependent encryption fig. 2 attempts to represent
  • Dieser Modus wird z. This mode is for. B. mit folgender Implementierung realisiert: As realized with the following implementation:


  • Zur kompletten Implementierung benötigt man natürlich noch einen Definitionsteil: To complete implementation yet of course you need a definition section:


    einen Initialisierungsteil, an initialization,


    sowie ein Hauptprogramm, and a main program,




    um z. to z. B. einen einfachen Chiffrierungsfilter zu erzeugen. As to create a simple Chiffrierungsfilter.
  • Die Dechiffrierung erfolgt nach dem gleichen Verfahren. The decryption is performed by the same method. Es wird nur der Klartextstrom durch den Geheimtextstrom ersetzt. It is replaced by the ciphertext stream only the plain text stream.
  • Vollzogen werden kann das erfindungsgemäße Verfahren in funktionell mindestens standardmäßig ausgebildeten Standardrechnern, die einen Befehlsspeicher aufweisen, in dem ein Programm zur Steuerung der Einrichtung abgelegt werden kann, welches in einer zur Steuerung des Rechners geeigneten Befehlssprache ausgeführt ist und das Verfahren nach Anspruch 1 beinhaltet. Method of the invention can be accomplished in at least functionally default trained standard computers having an instruction memory, in which a program for controlling the device can be stored, which is performed in a form suitable for control of the computer command language and includes the method of claim. 1
  • Verfahren und Einrichtung zum Chiffrieren und Dechiffrieren eines Datenstroms Quellenangabe: Method and device for encryption and decryption of a data stream source:
    • - Reinhard Wobst, "Abenteuer Kryptologie" - Reinhard Wobst, "Adventure cryptology"
    • - Phillip Rogaway und Don Coppersmith, "A Software-Optimized Encryption Algorithm", http:/ / www.cs.ucdavis.edu/~rogaway/papers/seal.ps - Phillip Rogaway and Don Coppersmith, "A Software-optimized Encryption Algorithm", http: / / www.cs.ucdavis.edu/~rogaway/papers/seal.ps

Claims (7)

  1. 1. Verfahren zum Chiffrieren und Dechiffrieren eines Datenstroms, bei dem dieser mit einer unvorhersehbaren Bitfolge in Abhängigkeit eines geheimen Schlüssels verknüpft wird, dadurch gekennzeichnet , dass die Erzeugung der unvorhersehbaren Bitfolge mit Hilfe eines digitalen Schüsselkastens (SK) in Form eines adressierbaren Speichers, bestimmt durch N (Bitbreite der Schlüsselnummer bzw. des Verfahrens) und M (Bitbreite der Schlüsselhakennummer), sowie einer Schlüsselnummer (SN), einer Schlüsselhakennummer (SHN) und einer Chiffrierzahl (C) erfolgt. 1. A method for encrypting and decrypting a data stream in which the content is associated with an unpredictable sequence of bits as a function of a secret key, characterized in that the generation of unpredictable bit sequence using a digital bowl box (SK) in the form of an addressable memory determined by N (bit width of the code number or the method) and M (bit width of the key hooks number), and a key number (SN), a number key hooks (SHN) and a Chiffrierzahl (C) is carried out.
  2. 2. Verfahren nach Anspruch 1, zur Chiffrierung bzw. Dechiffrierung, gekennzeichnet durch die Initialisierung des Verfahrens, in Abhängigkeit vom geheimen Schlüssel die Schlüsselwerte (SK[0], SK[1], . . ., SK[2**M - 1]) im Schlüsselkasten (SK) vorzubesetzen und die Schlüsselnummer (SN), die Schlüsselhakennummer (SHN) und eine Chiffrierzahl (C) zu bestimmen 2. The method of claim 1, for ciphering or deciphering, characterized by the initialization of the method, in dependence on the secret key, the key values ​​(SK [0], SK [1], SK [2 ** M -... 1 be preset]) (in the key box SK) and the key number (SN), the key hooks number (SHN) and a Chiffrierzahl (C) to determine
  3. 3. Verfahren nach Anspruch 1, zur klartextunabhängigen Chiffrierung bzw. Dechiffrierung, gekennzeichnet durch die Verfahrensschritte: 3. A method according to claim 1 for the clear text independent encryption or decryption, characterized by the steps of:
    a) erzeugen einer neuen Schlüsselnummer SN durch SN: = (SN + SK[SHN]) mod (2**N) a) generating a new key number SN through SN: = (SN + SK [SHN]) mod (2 ** N)
    b) wenn SN gleich Null ist, fortlaufend die Schritte gi ausführen, sonst die Schritte von cf b) if SN is equal to zero, continuously performing the steps gi, otherwise the steps of cf
    c) berechnen einer neue Chiffrierzahl C aus C: = SN # SK[SHN] c) calculating a new Chiffrierzahl C of C: = SN # SK [SHN]
    d) den aktuellen Schlüsselwert SK[SHN] durch die neue Schlüsselnummer SN ersetzen mit SK[SHN]: = SN d) the current key value SK [SHN] by the new key number SN replace SK [SHN]: = SN
    e) aus der Schlüsselnummer SN durch eine Rechtsverschiebung die Schlüsselhakennummer SHN erzeugen, SHN: = SN >> (N - M) e) generating from the key number SN by a right shift key hooks number SHN, SHN: = SN >> (N - M)
    f) den aktuelle Klartextabschnitt "K" mit der neuen Chiffrierzahl C per XOR verknüpfen durch K: = K # C f) the current plain text section "K" with the new Chiffrierzahl C by XOR link by K: K = C #
    g) das Komplement vom Schlüsselwert SK[SHN] als neue Schlüsselnummer verwenden, SN: = not SK[SHN] g) using the complement of the key value SK [SHN] as a new key number, SN: = not SK [SHN]
    h) den aktuellen Schlüsselwert SK[SHN] durch die aktuelle Chiffrierzahl C ersetzen, SK[SHN]: = C h) to replace the current key value SK [SHN] by the current Chiffrierzahl C, SK [SHN]: = C
    i) den aktuellen Klartextabschnitt K mit der neuen Schlüsselnummer SN per XOR zu verknüpfen, K: = K # SN i) to link the current plain text section K with the new key number SN by XOR, K: = K # SN
  4. 4. Verfahren nach Anspruch 1, zur klartextabhängigen Chiffrierung bzw. Dechiffrierung, gekennzeichnet durch die Verfahrensschritte: 4. The method of claim 1, for the clear text-dependent encryption or decryption, characterized by the steps of:
    a) erzeugen einer neuen Klartextmaske, SN: = (SN + SK[SHN]) mod (2**N) a) create a new plaintext mask, SN: = (SN + SK [SHN]) mod (2 ** N)
    b) die entsprechende Chiffriermaske cm speichern, die sich aus dem Komplement der Klartextmaske ergibt, CM: = not SN b) storing the corresponding Chiffriermaske cm, which results from the complement of the plain text mask, CM: = not SN
    c) den Klartextteil UK, der nicht chiffriert wird, mit Hilfe der Klartextmaske SN durch eine bitweise UND-Verknüpfung aus dem Klartextabschnitt K extrahieren, UK: = K &SN c) extracting the clear-text part UK, which is not encrypted with the aid of the plain text mask SN a bitwise AND of the plaintext portion K, UK: SN = K
    d) erzeugen einer neue Schlüsselnummer aus der Verknüpfung von SN, UK und C durch SN: = (SN + (UK # C)) mod (2**N) d) generating a new key number from the linking of SN, UK and C SN: = (SN + (UK # C)) mod (2 ** N)
    e) wenn SN gleich Null ist, fortlaufend die Schritte kl ausführen, sonst die Schritte von fj e) if SN is equal to zero, run continuously the steps kl, otherwise the steps of fj
    f) eine neue Chiffrierzahl C berechnen aus C: = SN # SK[SHN] f) a new Chiffrierzahl C calculated from C = SN # SK [SHN]
    g) den aktuellen Schlüsselwert SK(SHN) durch die neue Schlüsselnummer SN ersetzen mit SK[SHN]: = SN g) the current key value SK (SHN) with the new key number SN replace SK [SHN]: = SN
    h) aus der Schlüsselnummer SN durch eine Rechtsverschiebung die Schlüsselhakennummer SHN erzeugen, SHN: = SN >> (N - M) h) generating from the key number SN by a right shift key hooks number SHN, SHN: = SN >> (N - M)
    i) den Klartextabschnitt K mit Hilfe der Chiffriermaske CM und der Chiffrierzahl C chiffrieren durch K: = UK ∥ (CM&(K # C)) i) the plaintext portion of K by means of the CM and the Chiffriermaske Chiffrierzahl C encipher by K: = ∥ UK (CM (K # C))
    j) das Komplement vom Schlüsselwert SK[SHN] als neue Schlüsselnummer SN verwenden, SN: = not SK[SHN] j) using the complement of the key value SK [SHN] as a new key number SN, SN: = not SK [SHN]
    k) den aktuellen Schlüsselwert SK[SHN] durch die aktuelle Chiffrierzahl C ersetzen, SK[SHN]: = C replace k) the current key value SK [SHN] by the current Chiffrierzahl C, SK [SHN]: = C
    l) den Klartextabschnitt K mit Hilfe der Chiffriermaske cm und der Schlüsselnummer SN chiffrieren durch K: = UK ∥ (CM&(K # SN)) l) the plaintext portion of K by means of the Chiffriermaske cm and the key number SN by encrypt K: = ∥ UK (CM (K # SN))
  5. 5. Ciffrier- und Dechiffriereinrichtung für das Verfahren des Anspruchs 1, mit einem mindestens standardmäßigen funktionalen Digitalrechneraufbau, gekennzeichnet durch einen Befehlsspeicher in dem ein Programm zur Steuerung der Einrichtung abgelegt ist, welches in einer zur Steuerung des Rechners geeigneten Befehlssprache ausgeführt ist und das das Verfahren nach Anspruch 1 beinhaltet. 5. Ciffrier- and decrypting means for the method of claim 1, having a minimum standard functional digital computer structure, characterized by a command memory in which a program is stored for controlling the device, which is designed in a form suitable for control of the computer command language and the method includes according to claim. 1
  6. 6. Ciffrier- und Dechiffriereinrichtung nach Anspruch 5, gekennzeichnet durch ein Unterprogramm zur Steuerung der Einrichtung, das die klartextunabhängige Chiffrierung und Dechiffrierung nach Anspruch 3 ausgeführt und aus folgenden Befehlen der Programmiersprache C bzw. Inline-Assembler eines PC-Prozessors besteht: 6. Ciffrier- and decryption according to claim 5, characterized by a sub-program for controlling the device that carried out the clear text independent encryption and decryption as claimed in claim 3 and following instructions of the programming language C or inline assembly of a PC-processor consists of:




  7. 7. Ciffrier- und Dechiffriereinrichtung nach Anspruch 5, gekennzeichnet durch ein Unterprogramm zur Steuerung der Einrichtung, das die klartextabhängige Chiffrierung und Dechiffrierung nach Anspruch 4 ausgeführt und aus folgenden Befehlen der Programmiersprache C bzw. Inline-Assembler eines PC-Prozessors besteht: 7. Ciffrier- and decryption according to claim 5, characterized by a sub-program for controlling the device that carried out the clear text-based encryption and decryption according to claim 4 and consists of the following commands from the programming language C or inline assembly of a PC-processor:




DE2002104586 2002-02-05 2002-02-05 Automatic data coding and decoding circuit for transmission system has digital code source in form of addressable memory to produce code independent of content of input clear text Withdrawn DE10204586A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002104586 DE10204586A1 (en) 2002-02-05 2002-02-05 Automatic data coding and decoding circuit for transmission system has digital code source in form of addressable memory to produce code independent of content of input clear text

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002104586 DE10204586A1 (en) 2002-02-05 2002-02-05 Automatic data coding and decoding circuit for transmission system has digital code source in form of addressable memory to produce code independent of content of input clear text

Publications (1)

Publication Number Publication Date
DE10204586A1 true true DE10204586A1 (en) 2003-08-14

Family

ID=27588355

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002104586 Withdrawn DE10204586A1 (en) 2002-02-05 2002-02-05 Automatic data coding and decoding circuit for transmission system has digital code source in form of addressable memory to produce code independent of content of input clear text

Country Status (1)

Country Link
DE (1) DE10204586A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0518315A2 (en) * 1991-06-13 1992-12-16 Mitsubishi Denki Kabushiki Kaisha System and method for blockwise encryption of data
DE19520232C1 (en) * 1995-06-01 1996-08-14 Siemens Ag Sequence coding for ASCII text encryption
DE19735922A1 (en) * 1997-08-08 1998-02-26 Helge Fomm Cryptographic method based on synchronous stream ciphering with one time pad
DE19807020A1 (en) * 1998-02-19 1999-08-26 Kuehnl Method of secure encoding of data for secure data communications
DE19757370C2 (en) * 1997-12-22 2000-03-23 Siemens Ag A process for the tactile generating pseudo-random data words
DE19834934C2 (en) * 1998-07-29 2000-08-31 Sikom Sicherheits Und Kommunik A secure method of transmitting data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0518315A2 (en) * 1991-06-13 1992-12-16 Mitsubishi Denki Kabushiki Kaisha System and method for blockwise encryption of data
DE19520232C1 (en) * 1995-06-01 1996-08-14 Siemens Ag Sequence coding for ASCII text encryption
DE19735922A1 (en) * 1997-08-08 1998-02-26 Helge Fomm Cryptographic method based on synchronous stream ciphering with one time pad
DE19757370C2 (en) * 1997-12-22 2000-03-23 Siemens Ag A process for the tactile generating pseudo-random data words
DE19807020A1 (en) * 1998-02-19 1999-08-26 Kuehnl Method of secure encoding of data for secure data communications
DE19834934C2 (en) * 1998-07-29 2000-08-31 Sikom Sicherheits Und Kommunik A secure method of transmitting data

Similar Documents

Publication Publication Date Title
US6064738A (en) Method for encrypting and decrypting data using chaotic maps
US5003596A (en) Method of cryptographically transforming electronic digital data from one form to another
US5835600A (en) Block encryption algorithm with data-dependent rotations
US5351299A (en) Apparatus and method for data encryption with block selection keys and data encryption keys
US20010038693A1 (en) Block cipher method
US6490353B1 (en) Data encrypting and decrypting apparatus and method
US6845159B1 (en) Processing method and apparatus for converting information from a first format into a second format
EP0725511A2 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authetication codes (MAC)
DE102009045133A1 (en) A method for manipulation protection of sensor data and sensor for this purpose
US20080095370A1 (en) Method for securely extending key stream to encrypt high-entropy data
US20100142705A1 (en) Cryptographic methods and devices for pseudo-random generation, encrypting data, and cryptographically hashing a message
Rueppel New approaches to stream ciphers
Zhang et al. Self-adaptive permutation and combined global diffusion for chaotic color image encryption
US6463150B1 (en) Encryption device for information in binary code
Schaumüller-Bichl Cryptanalysis of the data encryption standard by the method of formal coding
Tragha et al. ICIGA: Improved cryptography inspired by genetic algorithms
DE4016203A1 (en) A method for block encryption of digital data
DE19936918A1 (en) Encryption method for performing cryptographic operations
US20010033654A1 (en) W-EC1 encryption and decryption method and system
JPH0675524A (en) Stream ciphering processor
US6111952A (en) Asymmetrical cryptographic communication method and portable object therefore
Aljawarneh et al. A multithreaded programming approach for multimedia big data: encryption system
WO1999014889A1 (en) Improved block cipher method
EP0220437A1 (en) Generator for producing binary cipher sequences
Özkaynak et al. Security problems for a pseudorandom sequence generator based on the Chen chaotic system

Legal Events

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