+

WO2000070816A1 - Encryption and decryption method, data processing program, and encryption and decryption device - Google Patents

Encryption and decryption method, data processing program, and encryption and decryption device Download PDF

Info

Publication number
WO2000070816A1
WO2000070816A1 PCT/EP1999/009865 EP9909865W WO0070816A1 WO 2000070816 A1 WO2000070816 A1 WO 2000070816A1 EP 9909865 W EP9909865 W EP 9909865W WO 0070816 A1 WO0070816 A1 WO 0070816A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
index
memory cell
assigned
encryption
Prior art date
Application number
PCT/EP1999/009865
Other languages
German (de)
French (fr)
Inventor
Thomas Oberlechner
Oleksandr Demenshyn
Original Assignee
Telesens Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telesens Ag filed Critical Telesens Ag
Priority to AU30380/00A priority Critical patent/AU3038000A/en
Publication of WO2000070816A1 publication Critical patent/WO2000070816A1/en

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

Definitions

  • the present invention relates to an encryption method of the type mentioned in the preamble of claim 1 or 3 and a decryption method of the type mentioned in the preamble of patent claim 16 or 18.
  • the invention further relates to a data processing program, an encryption device and a decryption device
  • Such a method is known from DE-A-416219.
  • This document teaches an electromechanical encryption machine in which a rotor is used to encrypt or decrypt plain text.
  • the rotor assigns exactly one other letter to the group from each letter from a group of letters
  • the letters b, a, d, e, c can be assigned to a group of five letters a, bc, d, e.
  • the assignment rule can be changed. For example, in the example above, the rotor is rotated one character, so the letters a, b, c, d, e are assigned the letters d, c, b, ea.
  • the RC4 algorithm processes a bit sequence and uses a key of variable length with up to 256 bits
  • the RC4 algorithm uses a replacement key with 256 entries, whereby the entries include all numbers between 0 and 255 and the order is a function of the key From the replacement list, the key and the number of previously encrypted characters a random byte is determined which is linked to eight consecutive bits of the bit stream to be encrypted by an exclusive or operation.
  • the RC4 algorithm is about 10 times faster than the DES algorithm described below
  • DES data encryption standard
  • NSS National Bureau of Standards
  • DES National Bureau of Standards US Federal Information Processing Standards Publication 46, National Technical Information Service, Sp ⁇ ngfield, VA, April 1977
  • a block cipher for byte octograms A sequence of fixed transpositions and key-dependent multipartite, non-near substitutions ensures very thorough mixing.
  • a key provided is 8 bytes long, including 8 parameter bits.
  • An 8-byte plain text block is first subjected to a key-independent input permutation P and then in two 4 -Byte blocks divided by a left and a right Now 16 rounds follow, in which the left 4-byte block is equal to the right 4-byte block of the previous round and the right 4-byte block from the left 4-byte block of the previous round by adding modulo 2 with a function value, where the function value depends on the right 4-byte block of the previous round and a 48-bit round key for each round, the 48-bit round key is generated from the specified key.
  • TDEA triple data encryption algorithm see ANSI X 9 52.
  • Each TDEA encryption or decryption is a composite operation of DES encryption and decryption.
  • a TDEA encryption comprises DES encryption with a first key , DES decryption with a second key and a second DES decryption with a third key.
  • the corresponding TDEA decryption includes DES decryption with the third key, DES decryption with the second key and DES decryption with the first Keys
  • the three keys can be different, or the first can be the same as the third but different from the second key. If all three keys are the same, TDEA changes to DES
  • IDEA US-A-5 214 703
  • IDEA is similar to DES.
  • IDEA uses a total of nine levels of encryption, the first eight of which are the same.
  • Sub-keys are generated from a key block, which preferably has a length of 128 bits.
  • Encryption algorithm must be implementable on a variety of different platforms, for example on application-specific integrated circuits (ASIC) and processors of different performance classes, The requirements for small processors are the most difficult to meet, since only little memory space is available in RAM and ROM.
  • the algorithm should also be easy to use Different levels of security can be adjusted All computing operations should be done with 8 bit blocks or where possible with 32 bits should be carried out.
  • the algorithm should include simple operations that are efficiently implemented in a large number of microprocessors, for example exclusive or addition. Lookup in a table and module calculation. Shifts of variable long bit-wise permutations or conditional jumps should not be used
  • blowfish algorithm like DES, divides the data to be encrypted into 64-bit blocks. In 16 rounds, a sub-algorithm similar to DES is carried out.
  • the left and right 4-byte partial blocks are executed however linked differently with the round keys generated from the key and the function for calculating the right 4-byte part block does not depend on a round key but only on the left 4-bit part block
  • the object of the invention is to provide an encryption method, a decryption method and a data processing program and a computing device for carrying out the encryption and / or decryption method, which require little computing effort with regard to encryption and decryption and nevertheless have a high level of security
  • an encryption method for encrypting a sequence of clear characters by means of a computing device comprising the following initialization step providing a first one-dimensional memory field which comprises a multiplicity of memory cells, each memory cell being assigned a unique index and each memory cell taking on m different values , selection of a first index for selecting one of the memory cells and the method comprising the following encryption step, linking a clear character to be encrypted to the content of the memory cell associated with the selected first index to generate an encrypted character, varying the selected first index according to a step value, and repeating the Encryption layer with changing step value, the method comprising the following further initiation step Storing a standard value in a feedback memory as well as the following sub-steps within the encryption step comprises linking the content of the memory cell assigned to the selected first index to the content of the feedback memory using a first operator to generate a first intermediate result and using the first intermediate result for the link with the clear character , for generating the encrypted character, and linking the content of the feedback memory with the encrypted character using
  • an encryption method for encrypting a sequence of clear characters by means of a computing device comprising the following initialization step providing a second one-dimensional memory field which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell m can take different values, selecting a second index for selecting one of the memory cells of the second one-dimensional memory array, and the method comprising the following encryption step linking a clear character to be encrypted to the content of the memory cell assigned to the selected second index to generate an encrypted character, selecting a new one second index, which is assigned to another, preferably the next memory cell of the second memory field, repeating the encryption step, the method
  • the following further encryption step is carried out, which is carried out after the selection of the new second index, indirectly linking the content of the memory cell assigned to the new second index with the encrypted character and storing this result in the memory cell assigned to the new second index
  • a decryption method for decrypting a sequence of encrypted characters by means of a computing device comprising the following initialization step providing a first one-dimensional memory field which contains a plurality of memory cells comprises where each memory cell is assigned a unique index and where each memory cell can have m different values, selecting a first index for selecting one of the memory cells and the method comprising the following decoding step linking an encrypted character to be decrypted to the content of the memory cell assigned to the selected first index for generating a clear character, varying the selected first index in accordance with a step value and repeating the decryption step with changing step value, the method comprising the following further initialization step, storing a start value in a feedback memory, and further sub-steps within the decision step comprising linking the content of the selected one to the first Index-associated memory cell with the content of the feedback memory using a first operator to generate a first Intermediate result and using the first intermediate result for linking with the encrypted character, for generating the clear character, and linking the
  • a decryption method for decrypting a sequence of encrypted characters by means of a computing device comprising the following initialization step providing a second one-dimensional memory field which comprises a multiplicity of memory cells, each memory cell being assigned a unique index and each memory cell being m different values can be selected by selecting a second index for selecting one of the memory cells of the second one-dimensional memory array, and the method comprises the following decision step: linking an encrypted character to the content of the memory cell associated with the selected second index to produce a clear character.
  • the another is preferably assigned to the next memory cell of the second memory field, repeating the encryption step, the method following others Decryption step, which is carried out after the selection of the new second index, indirectly linking the content of the memory cell assigned to the new second index with the encrypted character and storing this result in the memory cell assigned to the new second index
  • each encrypted character depends not only on the corresponding clear character but also on the preceding already encrypted characters.
  • a feedback based on previous encrypted characters is better than a feedback based on previous clear characters because the encrypted characters Characters do not have speech patterns
  • Another advantage is that compared to known encryption and decryption methods with a much smaller number of transformations, the same high security level can be achieved. It is also advantageous that any key length can be used. The key length is only limited by the available storage space
  • a particular advantage of an encryption method according to claim 5 and a decryption method according to claim 20 is that the memory cells in the second one-dimensional memory field are changed in accordance with the content of the feedback memory F.
  • these memory cells depend indirectly on the plaintext to be encrypted, assuming that the plaintext is not repeated , the period after which the same memory cells of the first memory field are reused for encryption in the same order is infinitely long
  • An advantage of the encryption method according to claim 12 and of the decryption method according to claim 27 is that it can be implemented particularly effectively on powerful processors
  • An advantage of the encryption method according to claims 14 and 15 and the decryption method according to claims 29 and 30 is that, given a storage location, the period is one for a predetermined number of storage fields After maximum sicn receive the contents of the memory cells of the first memory field repeat
  • a preferred embodiment of the invention comprises a total of four one-dimensional memory fields. The following designations are used for these memory fields
  • the first storage field S can be understood as a rotor or through wheel according to the Enigma machine mentioned above.
  • the third and fourth storage fields A and B can be understood as key wheels for advancing the rotor or rotors.
  • the second storage field C fulfills both the function of a key wheel and that of a rotor
  • L (x) The length of a memory field, ie the number of memory cells in the memory field, is denoted by L (x).
  • the variable x stands for A, B, C or S. According to the preferred embodiment, each memory cell in a memory field corresponds to one byte In addition to the four memory fields, the following variables are also used and are stored in memory cells
  • F jerk coupling buffer (preferably n bytes long)
  • T buffer (preferably n bytes long)
  • the feedback memory F and the buffer store T have the same number of bytes n as the block that was encrypted at once From clear characters to For versions with less powerful processors, in which only one or two bytes of clear characters are encoded at one time, the size of the feedback memory F and the buffer memory T would also be only one or two bytes. For the memory R, a size of one byte equipment legal as long as the size of the block of characters that are encrypted or decrypted at one time is less than 32 bytes
  • OPv Operators introduced in the following are referred to as OPv .
  • y can assume the values 0 to 7 corresponding to eight different operators.
  • An operator OPy preferably stands for addition (+) subtraction (-) or an exclusive or operation (XOR) operators that are the same
  • Number y should have the same value.
  • the inverse operator to is with IQPY.
  • the inverse operator to an addition is accordingly a subtraction and vice versa, and the XOR operator is the inverse operator to itself.
  • the function ROTL (uv) rotates the bits of a memory cell v cyclically to the left by the number of u bits
  • the designations P, QS (i), C (i) A (i) and B (i) refer to memory areas of the same size. According to a preferred embodiment, a block of four bytes is encrypted or decrypted at a time. In this case, the Designations S (i), C ( ⁇ ), A (i) and B (i) also on memory sections of the large four bytes. Since each memory cell in the four memory fields S, CA and B corresponds to one byte, four memory cells are combined
  • K (K op1 T) mod (L (S) -n + 1)
  • the encryption operations and the decryption operations differ only in that P and Q are interchanged in the third equation and the operator OP2 is used for encryption, whereas the inverse operator ⁇ is used for decryption.
  • an XOR is used for the operator OP2. If the operator is used, the same method can be used for the encryption as for the decryption, since the XOR operator is also its inverse operator
  • the indexes are in the following range
  • (L (x) - ⁇ ) is the so-called last possible index, where x stands for S, C A or B.
  • the lengths of the memory fields S, C, A and B should be chosen so that they are prime to each other, so that there is as long a period as possible after which the same values of the memory fields C and S are repeated. Such a repetition is due to the feedback via the Feedback memory F and via memory field C, however, is only possible if the text to be encrypted is also repeated periodically.
  • the period defined by memory fields S, C, A and B occurs with the encrypted characters if the same clear character, for example, is always used for test purposes a zero, is encrypted Due to the feedback, the period does not result directly as the smallest common multiple of the memory field lengths, but is significantly longer than this smallest common multiple, even if the same clear character is always encrypted
  • the length of the four Storage fields S, C, A and B not only te iler foreign, but should also be approximately the same size So the length of the memory fields A and B should preferably differ by only one. In the preferred embodiment, the lengths of the memory fields S, C, A and B become 11, 5, 8 and 7 in this Order selected
  • additions are performed for the OPO, OP1, OP2 and OP5 operators, XOR operations for the OP3 and OP6 operators and subtractions for the OP4 and OP7 operators
  • the key should be changed from time to time. From the key, the initial values of the memory fields S, C, A and B, the indices K, Z, X and Y of the feedback memory F and the rotation value R can be changed In general, a key will not be long enough to fill all of these memories. In this case, the key is repeated cyclically until all memory fields are filled. In another embodiment, the key only defines the indices K, Z, X and Y, whereas the contents of the memory cells of the memory fields S, C, A and B remain unchanged.
  • the key is used to select the initialization from a predetermined set of initializations for the memory fields S, C, A and B, the quantity of Initializations do not contain "weak initializations", when used an En Encryption is particularly simple, for example because one or more memory fields are only initialized with zeros.
  • the advantage of such a variant is that "weak initializations" can be excluded in a simple manner.
  • the above methods can also be mixed, so that, for example, by the key one of four possible initializations for the memory fields A and B is selected, whereas the initialization of the memory fields S and C and the indices follows by the rest of the key
  • the memory fields are further initialized such that the content of the last n memory cells is equal to the content of the first n memory cells of each memory field.
  • n is the number of clear characters encrypted in a block.
  • no patterns occur during encryption The different frequency of use of certain memory cells arises. Assuming that each permissible index is used with the same frequency in a memory field, the first and last memory cells are accessed less frequently, for example, than a middle memory cell. Because the last n memory cells have the same values As the first n memory cells have, the memory cells are nevertheless accessed with different frequencies, but the (different) contents of the memory cells are nevertheless used with the same frequency
  • the contents of the memory cells of the memory fields are selected independently of one another.
  • FIG. 1 and 2 graphically illustrate a preferred encryption or decryption of a character block according to the present invention.
  • the top and bottom lines of rounded rectangles contain the names of the memory cells, the content of which changes during an encryption or decryption step. These include the four indices from X, Y, Z and K, the memory field C and the feedback memory F
  • a block of clear characters P is converted into a block of encrypted characters Q by the encryption section shown in FIG. 1.
  • a block is converted from a block of encrypted characters Q in the decryption section shown in FIG calculated by clear character P.
  • LA LB LC and LS stand for the terms [L (A) -n + 1] [L (B) -n + 1], [L (C) - n + 1] and [L (S) -n + 1]
  • the field operators A (X), B (Y) and S (K) were also Represented as operators with an input value and an output value, since the corresponding memory fields remain unchanged during encryption and decryption.
  • field operator C (Z) the notation is not uniform for reasons of space.This operator takes two input values, namely the index Z and the memory field C. and generates an output value. Also the inverse operator
  • C (Z) requires two input parameters, namely the index Z and the value to be written into the memory cell with the index Z of the memory field C.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to an encryption method for encrypting a sequence of plain characters and to a corresponding decryption method, data processing program and a device for carrying out said method. In the encryption method, a plain character P is linked to a random character by means of an operator OP2 to produce the encrypted character Q. In the decryption process, the encrypted character is linked to the random character, using the inverse operator OP2 to produce the plain character. The random character is calculated, using a one-dimensional memory area and a preceding encrypted character. The one-dimensional memory area can contain constant values and the link back to preceding encrypted characters takes place, using an inverse link memory F, or the values themselves in the one-dimensional memory area are changed, based on preceding encrypted characters.

Description

Verschlüsselungsverfahren, Entschlüsselungsverfahren, Datenverarbeitungsprogramm, Verschlüsselungsvorrichtung sowie EntschlüsselungsvorrichtungEncryption method, decryption method, data processing program, encryption device and decryption device
Die vorliegende Erfindung betrifft ein Verschlusselungsverfahren der im Oberbegriff des Patentanspruchs 1 oder 3 genannten Art sowie ein Entschlusselungsverfahren der im Oberbegriff des Patentanspruchs 16 oder 18 genannten Art Ferner betrifft die Erfindung ein Datenverarbeitungsprogramm, eine Verschlusselungsvorπchtung sowie eine EntschlusselungsvorπchtungThe present invention relates to an encryption method of the type mentioned in the preamble of claim 1 or 3 and a decryption method of the type mentioned in the preamble of patent claim 16 or 18. The invention further relates to a data processing program, an encryption device and a decryption device
Ein solches Verfahren ist aus der DE-A-416219 bekannt Diese Druckschrift lehrt eine elektromechanische Verschlusselungsmaschine, bei der ein Rotor verwendet wird, um Klartext zu ver- bzw zu entschlüsseln Durch den Rotor wird jedem Buchstaben aus einer Buchstabengruppe genau ein anderer Buchstabe der Gruppe zugeordnet Beispielsweise können einer Gruppe aus fünf Buchstaben a, b c, d, e die Buchstaben b, a, d, e, c zugeordnet werden Durch Drehen des Rotors kann die Zuordnungsvorschπft geändert werden Wird im obigen Beispiel beispielsweise der Rotor um ein Zeichen weiter gedreht, so werden den Buchstaben a, b, c, d, e die Buchstaben d, c, b, e a zugeordnet Bei der ursprünglichen Zuordnung betrug der Unterschied zwischen dem Klartextzeichen und dem verschlüsselten Zeichen +1 , -1 , +1 , +1 und -2 Nach dem Weiterdrehen des Rotors betragt dieser Unterschied -2, +1 , -1 , +1 und +1 Dabei wird ersichtlicherweise davon ausgegangen, daß sich die Buchstaben zyklisch wiederholen, so daß der erste Buchstaben a auf den letzten Buchstaben folgt Laut Friedrich L Bauer "Entzifferte Geheimnisse", Springer Verlag, Berlin, 1995 wurde bereits frühzeitig vorgeschlagen, mehrere Rotoren hintereinander zu schalten Beispielsweise werden bei den Verschlusselungsmaschinen "Enigma a" und "Enigma b", die im zweiten Weltkrieg verwendet wurden, vier Rotoren oder "Durchgangsrader" eingesetzt Ferner wurde vorgeschlagen "Schlusselrader" zu verwenden um den Rotoren nach jedem Chiffrierschritt eine unregelmäßige Anzahl von Positionen vorzuschalten Bei vier Schlusselradem mit Perioden von 17, 19, 21 und 23 betragt die Periode 17 x 19 x 21 x 23 (= 156O09) In der Zwischenzeit wurden weitere Algorithmen zum Einsatz in Datenverarbeitungsanlagen entwickelt Eines dieser Verfahren ist der RC4- Algoπthmus Der RC4-Algoπthmus ist ein symmetrischer Algorithmus was bedeutet daß zum Ver- und Entschlüsseln derselbe Schlüssel verwendet wird Der RC4- Algoπthmus verarbeitet eine Bitfolge und verwendet einen Schlüssel von variabler Lange mit bis zu 256 Bit Der RC4-Algoπthmus verwendet eine Ersetzungs ste mit 256 Eintragen, wobei die Eintrage alle Zahlen zwischen 0 und 255 umfassen und die Reihenfolge eine Funktion des Schlüssels ist Aus der Ersetzungsliste, dem Schlüssel und der Anzahl zuvor verschlüsselter Zeichen wird ein Zufallsbyte ermittelt das mit jeweils acht aufeinanderfolgenden Bit des zu verschlüsselnden Bitstroms durch eine Exklusivoderoperation verknüpft wird Der RC4-Algorιthmus ist ca 10 x schneller als der im folgenden beschriebene DES-AlgoπthmusSuch a method is known from DE-A-416219. This document teaches an electromechanical encryption machine in which a rotor is used to encrypt or decrypt plain text. The rotor assigns exactly one other letter to the group from each letter from a group of letters For example, the letters b, a, d, e, c can be assigned to a group of five letters a, bc, d, e. By rotating the rotor, the assignment rule can be changed. For example, in the example above, the rotor is rotated one character, so the letters a, b, c, d, e are assigned the letters d, c, b, ea. In the original assignment, the difference between the plain text character and the encrypted character was +1, -1, +1, +1 and -2 After turning the rotor further, this difference amounts to -2, +1, -1, +1 and +1. It is evidently assumed that the letters are repeated cyclically so that the The first letter a follows the last letter According to Friedrich L Bauer "Deciphered Secrets", Springer Verlag, Berlin, 1995 it was suggested early to connect several rotors in a row. For example, the encryption machines "Enigma a" and "Enigma b", which are in the World War II, four rotors or "through-wheels" were used. Furthermore, it was proposed to use "key wheels" to put an irregular number of positions in front of the rotors after each encryption step. With four key wheels with periods of 17, 19, 21 and 23, the period is 17 x 19 x 21 x 23 (= 156O09) In the meantime, further algorithms have been developed for use in data processing systems. One of these methods is the RC4 algorithm. The RC4 algorithm is a symmetrical algorithm, which means that the same key is used for encryption and decryption. The RC4 algorithm processes a bit sequence and uses a key of variable length with up to 256 bits The RC4 algorithm uses a replacement key with 256 entries, whereby the entries include all numbers between 0 and 255 and the order is a function of the key From the replacement list, the key and the number of previously encrypted characters a random byte is determined which is linked to eight consecutive bits of the bit stream to be encrypted by an exclusive or operation. The RC4 algorithm is about 10 times faster than the DES algorithm described below
DES (data encryption Standard) wurde 1977 vom National Bureau of Standards (NBS) in den USA genormt (DES, National Bureau of Standards US Federal Information Processing Standards Pubhcation 46, National Technical Information Service, Spπngfield, VA, April 1977) Das Verfahren liefert eine Blockchiffπerung für Byteoktogramme Eine Folge von festen Transpositionen und schlusselabhangigen multipartiten, nicht nearen Substitutionen sorgt für eine sehr grundliche Durchmischung Ein vorgesehener Schlüssel ist inklusive 8 Paπtatsbit 8 Byte lang Ein 8-Byte-Klartextblock wird zunächst einer schlusselunabhangigen Eiπgangspermutation P unterworfen und anschließend in zwei 4-Byte-Blocke, namhch einem linken und einem rechten aufgeteilt Nun folgen 16 Runden, bei denen der linke 4-Byte-Block gleich dem rechten 4-Byte-Block der vorhergehenden Runde ist und sich der rechte 4-Byte-Block aus dem linken 4-Byte-Block der vorhergehenden Runde durch Addition modulo 2 mit einem Funktionswert ergibt, wobei der Funktionswert von dem rechten 4-Byte-Block der vorhergehenden Runde und einem 48-Bιt Rundenschlussel abhangt Für jede Runde wird der 48-Bιt Rundenschlussel aus dem vorgegebenen Schlüssel erzeugt Zum Abschluß wird die inverse Permutation zu der Eingangspermutation auf die 8-Byte, die sich nach den 16 Runden ergeben, angewendet Eine verbesserte Version des DES ist der TDEA (tπple data encryption algoπthm siehe ANSI X 9 52) Jede TDEA-Ver- oder Entschlüsselung ist eine zusammengesetzte Operation von DES-Ver- und Entschlüsselungen Eine TDEA- Verschlusselung umfaßt eine DES-Verschlusselung mit einem ersten Schlüssel, eine DES-Entschlusselung mit einem zweiten Schlüssel und eine zweite DES- Verschlusselung mit einem dritten Schlüssel Die entsprechende TDEA- Eπtschlusselung umfaßt eine DES-Entschlusselung mit dem dritten Schlüssel, eine DES-Verschlusselung mit dem zweiten Schlüssel und eine DES-Entschlusselung mit dem ersten Schlüssel Dabei können die drei Schlüssel unterschiedlich sein, oder es können der erste gleich dem dritten, aber verschieden vom zweiten Schlüssel sein Sind alle drei Schlüssel gleich, so geht TDEA in DES überDES (data encryption standard) was standardized in 1977 by the National Bureau of Standards (NBS) in the USA (DES, National Bureau of Standards US Federal Information Processing Standards Publication 46, National Technical Information Service, Spπngfield, VA, April 1977) A block cipher for byte octograms A sequence of fixed transpositions and key-dependent multipartite, non-near substitutions ensures very thorough mixing.A key provided is 8 bytes long, including 8 parameter bits.An 8-byte plain text block is first subjected to a key-independent input permutation P and then in two 4 -Byte blocks divided by a left and a right Now 16 rounds follow, in which the left 4-byte block is equal to the right 4-byte block of the previous round and the right 4-byte block from the left 4-byte block of the previous round by adding modulo 2 with a function value, where the function value depends on the right 4-byte block of the previous round and a 48-bit round key for each round, the 48-bit round key is generated from the specified key. Finally, the inverse permutation to the input permutation is based on the 8-byte, that result after the 16 rounds An improved version of the DES is the TDEA (tπple data encryption algorithm see ANSI X 9 52). Each TDEA encryption or decryption is a composite operation of DES encryption and decryption. A TDEA encryption comprises DES encryption with a first key , DES decryption with a second key and a second DES decryption with a third key. The corresponding TDEA decryption includes DES decryption with the third key, DES decryption with the second key and DES decryption with the first Keys The three keys can be different, or the first can be the same as the third but different from the second key. If all three keys are the same, TDEA changes to DES
Ein weiterer Verschlusselungsalgoπthmus ist IDEA (US-A-5 214 703) IDEA ähnelt DES Im Unterschied zu DES erfolgt bei IDEA die Verschlüsselung in insgesamt neun Stufen, von denen sich die ersten acht gleichen Außerdem werden die 8-Byte- Blocke, in die der Klartext eingeteilt wird, in vier Teilblocke unterteilt Unterschlussel werden aus einem Schlusselblock erzeugt, der vorzugsweise eine Lange von 128 Bit aufweist Auf jeder der ersten acht Verschlusselungsstufen werden vier Teilblocke mit sechs Unterschlusseln verknüpft, so daß nach jeder dieser Verschlusselungsstufen wieder vier Unterblocke erhalten werdenAnother encryption algorithm is IDEA (US-A-5 214 703). IDEA is similar to DES. In contrast to DES, IDEA uses a total of nine levels of encryption, the first eight of which are the same. In addition, the 8-byte blocks into which the Plain text is divided into four sub-blocks. Sub-keys are generated from a key block, which preferably has a length of 128 bits. On each of the first eight encryption levels, four sub-blocks are linked with six sub-keys, so that four sub-blocks are obtained after each of these encryption levels
G Schneider beschreibt in "Descπption of a new vaπable-length key, 64-Bιt-Block Cipher (blowfish)" (Fast Software encryption, Cambridge secuπty Workshop proceedings (Dezember 1993) Springer Verlag 1994, Seiten 191 bis 204) die Anforderungen an einen Verschlusselungsalgoπthmus einIn "Descπption of a new variable-length key, 64-Bιt-Block Cipher (blowfish)" (Fast Software encryption, Cambridge secuπty Workshop proceedings (December 1993) Springer Verlag 1994, pages 191 to 204) G Schneider describes the requirements for one Encryption algorithm
Verschlusselungsalgoπthmus muß auf einer Vielzahl unterschiedlicher Plattformen implementierbar sein beispielsweise auf anwendungsspezifischen integrierten Schaltkreisen (ASIC) und Prozessoren unterschiedlicher Leistungsklassen, Die Anforderungen für kleine Prozessoren sind am schwierigsten zu erfüllen, da in RAM und ROM nur geringer Speicherplatz zur Verfügung steht Der Algorithmus sollte ferner leicht an verschiedene Sicherheitsniveaus angepaßt werden können Alle Rechenoperationen sollten mit Blocken von 8 Bit oder wo möglich, mit Blocken von 32 Bit durchgeführt werden Der Algorithmus sollte einfache Operationen umfassen die effizient in einer Vielzahl von Mikroprozessoren implementiert sind beispielsweise Exklusivoder Addition Nachschlagen in einer Tabelle und Moduloberechnung Nicht verwendet werden sollten Verschiebungen variabler Lange bitweise Permutatioπen oder bedingte SprungeEncryption algorithm must be implementable on a variety of different platforms, for example on application-specific integrated circuits (ASIC) and processors of different performance classes, The requirements for small processors are the most difficult to meet, since only little memory space is available in RAM and ROM. The algorithm should also be easy to use Different levels of security can be adjusted All computing operations should be done with 8 bit blocks or where possible with 32 bits should be carried out. The algorithm should include simple operations that are efficiently implemented in a large number of microprocessors, for example exclusive or addition. Lookup in a table and module calculation. Shifts of variable long bit-wise permutations or conditional jumps should not be used
Darüber hinaus beschreibt diese Druckschrift den Blowfish-Algoπthmus Der Blowfish- Algoπthmus unterteilt ähnlich wie DES, die zu verschlüsselnden Daten in 64-Bιt- Blocke Es wird in 16 Runden ein ähnlicher Unteralgorithmus wie bei DES ausgeführt Die linken und rechten 4-Byte-Teιlblocke werden jedoch anders mit den aus dem Schlüssel erzeugten Rundenschlusseln verknüpft und die Funktion zur Berechnung des rechten 4-Byte-Teιlblocks hangt nicht von einem Rundenschlussel sondern ausschließlich vom linken 4-Bιt-Teιlblock abIn addition, this document describes the blowfish algorithm. The blowfish algorithm, like DES, divides the data to be encrypted into 64-bit blocks. In 16 rounds, a sub-algorithm similar to DES is carried out. The left and right 4-byte partial blocks are executed however linked differently with the round keys generated from the key and the function for calculating the right 4-byte part block does not depend on a round key but only on the left 4-bit part block
Aufgabe der Erfindung ist es, ein Verschlusselungsverfahren, ein Entschlusselungsverfahren sowie ein Datenverarbeitungsprogramm und eine Rechenvorrichtung zur Durchfuhrung des Ver- und/oder Entschlusselungsverfahrens anzugeben, die einen geringen Rechenaufwand bzgl der Verschlüsselung und Entschlüsselung erfordern und trotzdem eine hohe Sicherheit aufweisenThe object of the invention is to provide an encryption method, a decryption method and a data processing program and a computing device for carrying out the encryption and / or decryption method, which require little computing effort with regard to encryption and decryption and nevertheless have a high level of security
Die Aufgabe wird durch ein Verschlusselungsverfahren zum Verschlüsseln einer Folge von Klarzeichen mittels einer Recheneinrichtung gelost wobei das Verfahren folgende Initiaiisierungsschntte umfaßt Bereitstellen eines ersten eindimensionalen Speicherfeldes, das eine Vielzahl von Speicherzellen umfaßt wobei jeder Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann, Auswahlen eines ersten Index zur Auswahl einer der Speicherzellen und wobei das Verfahren folgende Verschlusselungsschπtte umfaßt Verknüpfen eines zu verschlüsselnden Klarzeichens mit dem Inhalt der dem ausgewählten ersten Index zugeordneten Speicherzelle zum Erzeugen eines verschlüsselten Zeichens Variieren des ausgewählten ersten Index gemäß einem Schrittwert, und Wiederholen der Verschlusselungsschπtte mit sich änderndem Schrittwert wobei das Verfahren den folgenden weiteren Initia sierungsschritt umfaßt Speichern eines Staπwertes in einem Ruckkopplungsspeicher sowie ferner folgende Unterschritte innerhalb der Verschlusselungsschπtte umfaßt Verknüpfen des Inhalts der dem ausgewählten ersten Index zugeordneten Speicherzelle mit dem Inhalt des Ruckkopplungsspeichers unter Anwendung eines ersten Operators zum Erzeugen eines ersten Zwischenergebnisses und Verwenden des ersten Zwischenergebnisses für die Verknüpfung mit dem Klarzeichen, zum Erzeugen des verschlüsselten Zeichens, und Verknüpfen des Inhalts des Ruckkopplungsspeichers mit dem verschlüsselten Zeichen unter Anwendung eines zweiten Operators und Speichern des Ergebnisses im RuckkopplungsspeicherThe object is achieved by an encryption method for encrypting a sequence of clear characters by means of a computing device, the method comprising the following initialization step providing a first one-dimensional memory field which comprises a multiplicity of memory cells, each memory cell being assigned a unique index and each memory cell taking on m different values , selection of a first index for selecting one of the memory cells and the method comprising the following encryption step, linking a clear character to be encrypted to the content of the memory cell associated with the selected first index to generate an encrypted character, varying the selected first index according to a step value, and repeating the Encryption layer with changing step value, the method comprising the following further initiation step Storing a standard value in a feedback memory as well as the following sub-steps within the encryption step comprises linking the content of the memory cell assigned to the selected first index to the content of the feedback memory using a first operator to generate a first intermediate result and using the first intermediate result for the link with the clear character , for generating the encrypted character, and linking the content of the feedback memory with the encrypted character using a second operator and storing the result in the feedback memory
Ferner wird die Aufgabe durch ein Verschlusselungsverfahren zum Verschlüsseln einer Folge von Klarzeichen mittels einer Recheneinrichtung gelost, wobei das Verfahren folgende Initiaiisierungsschntte umfaßt Bereitstellen eines zweiten eindimensionalen Speicherfeldes, das eine Vielzahl von Speicherzellen umfaßt, wobei jeder Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann, Auswahlen eines zweiten Index zur Auswahl einer der Speicherzellen des zweiten eindimensionalen Speicherfeldes, und wobei das Verfahren folgende Verschlusselungsschπtte umfaßt Verknüpfen eines zu verschlüsselnden Klarzeichens mit dem Inhalt der dem ausgewählten zweiten Index zugeordneten Speicherzelle zum Erzeugen eines verschlüsselten Zeichens, Auswahlen eines neuen zweiten Index, der einer anderen, vorzugsweise der nächsten Speicherzelle des zweiten Speicherfeldes zugeordnet ist, Wiederholen der Verschlusselungsschπtte, wobei das Verfahren folgenden weiteren Verschlusselungsschntt umfaßt, der nach dem Auswahlschπtt des neuen zweiten Index durchgeführt wird mittelbares Verknüpfen des Inhalts der dem neuen zweiten Index zugeordneten Speicherzelle mit dem verschlüsselten Zeichen und Speichern dieses Ergebnisses in der dem neuen zweiten Index zugeordneten SpeicherzelleThe object is further achieved by an encryption method for encrypting a sequence of clear characters by means of a computing device, the method comprising the following initialization step providing a second one-dimensional memory field which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell m can take different values, selecting a second index for selecting one of the memory cells of the second one-dimensional memory array, and the method comprising the following encryption step linking a clear character to be encrypted to the content of the memory cell assigned to the selected second index to generate an encrypted character, selecting a new one second index, which is assigned to another, preferably the next memory cell of the second memory field, repeating the encryption step, the method The following further encryption step is carried out, which is carried out after the selection of the new second index, indirectly linking the content of the memory cell assigned to the new second index with the encrypted character and storing this result in the memory cell assigned to the new second index
Ferner wird die Aufgabe durch ein Entschlusselungsverfahren zum Entschlüsseln einer Folge von verschlüsselten Zeichen mittels einer Recheneinrichtung gelost, wobei das Verfahren folgende Initiaiisierungsschntte umfaßt Bereitstellen eines ersten eindimensionalen Speicherfeldes das eine Vielzahl von Speicherzellen umfaßt wobei jeder Speicherzelle ein eindeutigei index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann Auswahlen eines ersten Index zur Auswahl einer der Speicherzellen und wobei das Verfahren folgende Entschlusselungsschπtte umfaßt Verknüpfen eines zu entschlüsselnden verschlüsselten Zeichens mit dem Inhalt der dem ausgewählten ersten Index zugeordneten Speicherzelle zum Erzeugen eines Klarzeichens Variieren des ausgewählten ersten Index gemäß einem Schrittwert und Wiederholen der Entschlusselungsschπtte mit sich änderndem Schrittwert wobei das Verfahren folgenden weiteren Initialisierungsschπtt umfaßt Speichern eines Startwertes in einem Ruckkopplungsspeicher, sowie ferner folgende Unterschritte innerhalb der Entschlusselungsschπtte umfaßt Verknüpfen des Inhalts der mit dem ausgewählten ersten Index zugeordneten Speicherzelle mit dem Inhalt des Ruckkopplungsspeichers unter Anwendung eines ersten Operators zum Erzeugen eines ersten Zwischenergebnisses und Verwenden des ersten Zwischenergebnisses für die Verknüpfung mit dem verschlüsselten Zeichen, zum Erzeugen des Klarzeichens, und Verknüpfen des Inhalts des Ruckkopplungsspeichers mit dem verschlüsselten Zeichen unter Anwendung eines zweiten Operators und Speichern des Ergebnisses im RuckkopplungsspeicherFurthermore, the task is solved by a decryption method for decrypting a sequence of encrypted characters by means of a computing device, the method comprising the following initialization step providing a first one-dimensional memory field which contains a plurality of memory cells comprises where each memory cell is assigned a unique index and where each memory cell can have m different values, selecting a first index for selecting one of the memory cells and the method comprising the following decoding step linking an encrypted character to be decrypted to the content of the memory cell assigned to the selected first index for generating a clear character, varying the selected first index in accordance with a step value and repeating the decryption step with changing step value, the method comprising the following further initialization step, storing a start value in a feedback memory, and further sub-steps within the decision step comprising linking the content of the selected one to the first Index-associated memory cell with the content of the feedback memory using a first operator to generate a first Intermediate result and using the first intermediate result for linking with the encrypted character, for generating the clear character, and linking the content of the feedback memory with the encrypted character using a second operator and storing the result in the feedback memory
Ferner wird die Aufgabe durch ein Entschlusselungsverfahren zum Entschlüsseln einer Folge von verschlüsselten Zeichen mittels einer Recheneinrichtung gelost wobei das Verfahren folgende Initiaiisierungsschntte umfaßt Bereitstellen eines zweiten eindimensionalen Speicherfeldes, das eine Vielzahl von Speicherzellen umfaßt, wobei jeder Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann Auswahlen eines zweiten Index zur Auswahl einer der Speicherzellen des zweiten eindimensionalen Speicherfeldes, und wobei das Verfahren folgende Entschlusselungsschπtte umfaßt Verknüpfen eines verschlüsselten Zeichens mit dem Inhalt der dem ausgewählten zweiten Index zugeordneten Speicherzelle zum Erzeugen eines Klarzeichens Auswahlen eines neuen zweiten Index, der einer anderen vorzugsweise der nächsten Speicherzelle des zweiten Speicherfeldes zugeordnet ist Wiederholen der Eπtschlusselungsschπtte, wobei das Verfahren folgenden weiteren Entschlusselungsschπtt umfaßt, der nach dem Auswahlschπtt des neuen zweiten Index durchgeführt wird mittelbares Verknüpfen des Inhalts der dem neuen zweiten Index zugeordneten Speicherzelle mit dem verschlüsselten Zeichen und Speichern dieses Ergebnisses in der dem neuen zweiten Index zugeordneten SpeicherzelleFurthermore, the object is achieved by a decryption method for decrypting a sequence of encrypted characters by means of a computing device, the method comprising the following initialization step providing a second one-dimensional memory field which comprises a multiplicity of memory cells, each memory cell being assigned a unique index and each memory cell being m different values can be selected by selecting a second index for selecting one of the memory cells of the second one-dimensional memory array, and the method comprises the following decision step: linking an encrypted character to the content of the memory cell associated with the selected second index to produce a clear character. selecting a new second index, the another is preferably assigned to the next memory cell of the second memory field, repeating the encryption step, the method following others Decryption step, which is carried out after the selection of the new second index, indirectly linking the content of the memory cell assigned to the new second index with the encrypted character and storing this result in the memory cell assigned to the new second index
Darüber hinaus wird die Aufgabe wird durch den Gegenstand der Patentansprüche 31 , 32 und 33 gelostIn addition, the object is solved by the subject matter of claims 31, 32 and 33
Bevorzugte Weiterbildungen der Erfindung sind Gegenstand der UnteranspruchePreferred developments of the invention are the subject of the dependent claims
Insbesondere vorteilhaft am Gegenstand der vorliegenden Erfindung ist, daß jedes verschlüsselte Zeichen nicht nur von dem entsprechenden Klarzeichen sondern darüber hinaus auch von den vorangehenden bereits verschlüsselten Zeichen abhangt Eine auf vorangehenden verschlüsselten Zeichen beruhende Ruckkopplung ist gegenüber einer auf vorangehenden Klarzeichen beruhenden Ruckkopplung besser, weil die verschluselten Zeichen keine Sprachmuster aufweisenIt is particularly advantageous in the subject matter of the present invention that each encrypted character depends not only on the corresponding clear character but also on the preceding already encrypted characters. A feedback based on previous encrypted characters is better than a feedback based on previous clear characters because the encrypted characters Characters do not have speech patterns
Ein weiterer Vorteil besteht darin, daß verglichen mit bekannten Ver- und Entschlusselungsverfahren mit einer ist viel geringeren Anzahl von Transformationen, die gleiche hohe Sicherheitsstufe erreicht werden kann Vorteilhaft ist ferner, daß jede beliebige Schlussellange verwendet werden kann Die Schlussellange ist nur durch den verfugbaren Speicherplatz begrenztAnother advantage is that compared to known encryption and decryption methods with a much smaller number of transformations, the same high security level can be achieved. It is also advantageous that any key length can be used. The key length is only limited by the available storage space
Insbesondere vorteilhaft an den Gegenstanden der Ansprüche 1 und 16 ist ferner, daß diese Verfahren eines sehr kleinen RAM-Bereich benotigen, da das erste eindimensionale Speicherfeld als ROM ausgeführt werden kann Vorteilhaft an den Gegenstanden der Ansprüche 3 und 18 ist, daß hier kein Ruckkopplungsspeicher F benotigt wird und damit der gesamte Speicherbereich bei gleicher Sicherheitsstufe geringer ausfallen kannAnother particular advantage of the subject matter of claims 1 and 16 is that these methods require a very small RAM area, since the first one-dimensional memory array can be implemented as ROM. Advantageous of the subject matter of claims 3 and 18 is that no feedback memory F is required and the entire memory area can be smaller with the same security level
Der Vorteil eines Verschlusselungsverfahrens nach Anspruch 2 oder 4 und eines Entschlusselungsverfahrens nach Anspruch 17 oder 19 egt dann daß sich durch die Bereitstellung eines zweiten eindimensionalen Speicherfeldes αie Periode verlängert nach der die gleichen Speicherzellen des ersten eindimensionalen Speicherfeldes in der gleichen Reihenfolge für die Verschlüsselung verwendet werden Unter der Annahme daß die Lange des ersten Speicherfeldes S und die Lange des zweiten Speicherfeldes C teilerfremd sind wird die Periode langer als das Produkt der beiden LangenThe advantage of an encryption method according to claim 2 or 4 and a decryption method according to claim 17 or 19 then prevails that Provision of a second one-dimensional memory field extended the period after which the same memory cells of the first one-dimensional memory field are used for the encryption in the same order. Assuming that the length of the first memory field S and the length of the second memory field C are prime, the period is longer than the product of the two long ones
Besonders vorteilhaft an einem Verschlusselungsverfahren nach Anspruch 5 und einem Entschlusselungsverfahren nach Anspruch 20 ist daß die Speicherzellen in dem zweiten eindimensionalen Speicherfeld entsprechend dem Inhalt des Ruckkopplungsspeichers F verändert werden Somit hangen diese Speicherzellen mittelbar vom zu verschlüsselnden Klartext ab Unter der Annahme daß sich der Klartext nicht wiederholt, ist die Periode, nach der dieselben Speicherzellen des ersten Speicherfeldes für die Verschlüsselung in der gleichen Reihenfolge wiederverwendet werden, unendlich großA particular advantage of an encryption method according to claim 5 and a decryption method according to claim 20 is that the memory cells in the second one-dimensional memory field are changed in accordance with the content of the feedback memory F. Thus, these memory cells depend indirectly on the plaintext to be encrypted, assuming that the plaintext is not repeated , the period after which the same memory cells of the first memory field are reused for encryption in the same order is infinitely long
Durch die zusätzlichen Speicherfelder in einem Verschlusselungsverfahren nach den Ansprüchen 6, 7 und 8 sowie den Entschlusselungsverfahren nach den Ansprüchen 20, 21 und 22 werden Sprachmuster im Klartext noch besser vermischtThe additional memory fields in an encryption method according to claims 6, 7 and 8 and the decryption method according to claims 20, 21 and 22 mix speech patterns in plain text even better
Vorteilhaft am zyklischen Rotieren des Ruckkopplungsspeichers F gemäß den Ansprüchen 1 1 und 26 ist, daß der Ruckkopplungsvorgaπg einen unerwarteten und daher schwer zu analysierenden Verfahrensschritt umfaßtAn advantage of the cyclical rotation of the feedback memory F according to claims 1 1 and 26 is that the feedback operation comprises an unexpected and therefore difficult to analyze process step
Vorteilhaft am Verschlusselungsverfahren nach Anspruch 12 und am Entschlusselungsverfahren nach Anspruch 27 ist, daß es sich besonders effektiv auf leistungsfähigen Prozessoren implementieren laßtAn advantage of the encryption method according to claim 12 and of the decryption method according to claim 27 is that it can be implemented particularly effectively on powerful processors
Vorteilhaft an Verschlusselungsverfahren nach Ansprüchen 14 und 15 sowie Entschlusselungsverfahren nach Ansprüchen 29 und 30 ist daß bei vorgegebenen Speicherplatz für eine vorgegebene Zahl von Speicherfeldern die Periode eine maximale Lange erhalt nach der sicn die Inhalte der Speicherzellen des ersten Speicherfeldes wiederholenAn advantage of the encryption method according to claims 14 and 15 and the decryption method according to claims 29 and 30 is that, given a storage location, the period is one for a predetermined number of storage fields After maximum sicn receive the contents of the memory cells of the first memory field repeat
Im folgenden werden bevorzugte Ausfuhrungsformen des erfindungsgemaßen Verschlusselungsverfahrens sowie des erfindungsgemaßenPreferred embodiments of the encryption method according to the invention and of the inventive method are described below
Entschlusselungsverfahrens anhand der beiliegenden Zeichnungen naher erläutert Dabei zeigtDeclaration process explained in more detail with reference to the accompanying drawings
Fig 1 ein schematisches Flußdiagramm zur Erläuterung einer bevorzugten Ausfuhrungsform des erfindungsgemaßen Verschlusselungsverfahrens und1 shows a schematic flow diagram to explain a preferred embodiment of the encryption method according to the invention and
Fig 2 ein schematisches Flußdiagramm zur Erläuterung einer bevorzugten Ausfuhrungsform des erfindungsgemaßen Entschlusselungsverfahrens2 shows a schematic flow diagram to explain a preferred embodiment of the decoding method according to the invention
Eine bevorzugte Ausfuhrungsform der Erfindung umfaßt insgesamt vier eindimensionale Speicherfelder Für diese Speicherfelder werden die folgenden Bezeichnungen verwendetA preferred embodiment of the invention comprises a total of four one-dimensional memory fields. The following designations are used for these memory fields
S erstes SpeicherfeldS first memory field
C zweites SpeicherfeldC second memory field
A drittes SpeicherfeldA third memory field
B viertes SpeicherfeldB fourth memory field
Das erste Speicherfeld S kann als Rotor oder Durchgangsrad entsprechend der oben erwähnten Enigma-Maschine aufgefaßt werden Die dritten und vierten Speicherfelder A und B können als Schlusselrader zum Weiterschalten des oder der Rotoren verstanden werden Das zweite Speicherfeld C erfüllt sowohl die Funktion eines Schiusselrades als auch die eines Rotors Die Lange eines Speicherfeldes also die Anzahl von Speicherzellen in dem Speicherfeld, wird mit L(x) bezeichnet Die Variable x steht dabei für A, B, C oder S Gemäß der bevorzugten Ausfuhrungsform entspricht jede Speicherzelle in einem Speicherfeld einem Byte Neben den vier Speicherfeldern werden noch die folgenden Variablen verwendet die in Speicherzellen abgelegt werdenThe first storage field S can be understood as a rotor or through wheel according to the Enigma machine mentioned above.The third and fourth storage fields A and B can be understood as key wheels for advancing the rotor or rotors.The second storage field C fulfills both the function of a key wheel and that of a rotor The length of a memory field, ie the number of memory cells in the memory field, is denoted by L (x). The variable x stands for A, B, C or S. According to the preferred embodiment, each memory cell in a memory field corresponds to one byte In addition to the four memory fields, the following variables are also used and are stored in memory cells
K Index für das erste Speicherfeld S (vorzugsweise 1 Byte lang)K index for the first memory field S (preferably 1 byte long)
Z Index für das zweite Speicherfeld C (vorzugsweise 1 Byte lang)Z index for the second memory field C (preferably 1 byte long)
X Index für das dritte Speicherfeld A (vorzugsweise 1 Byte lang)X index for the third memory field A (preferably 1 byte long)
Y Index für das vierte Speicherfeld B (vorzugsweise 1 Byte lang)Y index for the fourth memory field B (preferably 1 byte long)
F Ruckkoppelpuffer (vorzugsweise n Byte lang)F jerk coupling buffer (preferably n bytes long)
T Zwischenspeicher (vorzugsweise n Byte lang)T buffer (preferably n bytes long)
R Umfang der zyklischen Rotation in Bit (0 bis 31 )R amount of cyclic rotation in bits (0 to 31)
Die Große der Speicherzellen für die Indizes X, Y, Z und K hangt von der Lange der Speicherfelder ab Umfassen die Speicherfelder weniger als 256 Speicherzellen, ist ein Byte für jeden Index ausreichend Bei längeren Speicherfeldern muß entsprechend mehr Speicherplatz für die Indizes zur Verfugung gestellt werden Wie weiter unten noch erläutert, wird bei der bevorzugten Ausfuhrungsform ein Block von n Byte Klartext oder unverschlüsselten Quelldaten auf einmal verschlüsselt Bei einer besonders bevorzugten Ausfuhrungsform ist n=4 Der Ruckkopplungsspeicher F und der Zwischenspeicher T weisen die gleiche Byteanzahl n wie der auf einmal verschlüsselte Block von Klarzeichen auf Für Ausfuhrungen mit weniger leistungsfähigen Prozessoren, bei denen nur ein oder zwei Byte Klarzeichen auf einmal verschlüsselt werden, wurde die Große des Ruckkopplungsspeichers F und des Zwischenspeichers T ebenfalls nur ein oder zwei Byte betragen Für den Speicher R ist eine Große von einem Byte ausreichend, so lange die Große des Blocks von Zeichen, die auf einmal ver- oder entschlüsselt werden kleiner als 32 ByteThe size of the memory cells for the indexes X, Y, Z and K depends on the length of the memory fields. If the memory fields include fewer than 256 memory cells, one byte is sufficient for each index. With longer memory fields, more memory space must be made available for the indexes As explained further below, in the preferred embodiment, a block of n bytes of plain text or unencrypted source data is encrypted at once. In a particularly preferred embodiment, n = 4. The feedback memory F and the buffer store T have the same number of bytes n as the block that was encrypted at once From clear characters to For versions with less powerful processors, in which only one or two bytes of clear characters are encoded at one time, the size of the feedback memory F and the buffer memory T would also be only one or two bytes. For the memory R, a size of one byte equipment legal as long as the size of the block of characters that are encrypted or decrypted at one time is less than 32 bytes
Im folgenden eingeführte Operatoren werden mit OPv bezeichnet Dabei kann y in der bevorzugten Ausfuhrungsform die Werte 0 bis 7 entsprechend acht unterschiedlichen Operatoren annehmen Ein Operator OPy steht vorzugsweise für Addition (+) Subtraktion (-) oder eine Exklusivoderoperation (XOR) Operatoren, die die gleicheOperators introduced in the following are referred to as OPv . In the preferred embodiment, y can assume the values 0 to 7 corresponding to eight different operators. An operator OPy preferably stands for addition (+) subtraction (-) or an exclusive or operation (XOR) operators that are the same
OPyOPy
Zahl y aufweisen sollen gleich sein Der inverse Operator zu wird mit IQPY. bezeichnet Der inverse Operator zu einer Addition ist entsprechend eine Subtraktion und vice versa, und der XOR-Operator ist der inverse Operator zu sich selbst Ferner rotiert die Funktion ROTL (u v) die Bit einer Speicherzelle v um die Zahl von u Bit zyklisch nach linksNumber y should have the same value. The inverse operator to is with IQPY. The inverse operator to an addition is accordingly a subtraction and vice versa, and the XOR operator is the inverse operator to itself. Furthermore, the function ROTL (uv) rotates the bits of a memory cell v cyclically to the left by the number of u bits
Bei der formelmaßigen Beschreibung der Verschlüsselung und der Entschlüsselung werden ferner die folgenden Bezeichnungen benutztThe following designations are also used in the description of encryption and decryption in terms of formula
P Klarzeichenblock (n Byte)P clear character block (n bytes)
Q Block verschlüsselter Zeichen (n Byte)Q block of encrypted characters (n bytes)
S (i) n aufeinanderfolgende Speicherzellen des ersten Speicherfeldes beginnend bei Index i (n Byte)S (i) n successive memory cells of the first memory field starting with index i (n bytes)
C (i) n aufeinanderfolgende Byte des Speicherfelds C beginnend bei Index i (n Byte)C (i) n consecutive bytes of the memory field C starting with index i (n bytes)
A (i) n aufeinanderfolgende Speicherzellen des dritten Speicherfeldes A beginnend mit Index i (n Byte)A (i) n successive memory cells of the third memory field A starting with index i (n bytes)
B (i) n aufeinanderfolgende Speicherzellen des vierten Speicherfeldes B beginnend mit Index i (n Byte)B (i) n successive memory cells of the fourth memory field B starting with index i (n bytes)
Die Bezeichnungen P, Q S (i), C (i) A (i) und B (i) beziehen sich auf gleich große Speicherbereiche Gemäß einer bevorzugten Ausfuhrungsform wird ein Block von vier Byte auf einmal ver- oder entschlüsselt In diesem Fall beziehen sich die Bezeichnungen S (i), C (ι), A (i) und B (i) ebenfalls auf Speicherabschnitte der Große vier Byte Da jede Speicherzelle in den vier Speicherfeldern S, C A und B einem Byte entspricht, werden also jeweils vier Speicherzellen zusammengefaßtThe designations P, QS (i), C (i) A (i) and B (i) refer to memory areas of the same size. According to a preferred embodiment, a block of four bytes is encrypted or decrypted at a time. In this case, the Designations S (i), C (ι), A (i) and B (i) also on memory sections of the large four bytes. Since each memory cell in the four memory fields S, CA and B corresponds to one byte, four memory cells are combined
Für die Verschlüsselung eines Blocks von n Klarzeichen werden die folgenden Rechenoperationen durchgeführtThe following arithmetic operations are carried out for the encryption of a block of n clear characters
T A(X) OP0 B(Y) K = (K OuP1, T) mod (L(S)-n+1 ) Q = P OP2 (C(Z) OP3 F OP4 S(K) OP5 T) F =ROTL(R, (FOP6Q))TA (X) OP0 B (Y) K = (KO u P1 , T) mod (L (S) -n + 1) Q = P OP2 (C (Z) OP3 F OP4 S (K) OP5 T) F = ROTL (R, (F OP6 Q))
X =(X+1)mod(L(A)-n+1)X = (X + 1) mod (L (A) -n + 1)
Y =(Y+1)mod(L(B)-n+1)Y = (Y + 1) mod (L (B) -n + 1)
Z =(Z+1)mod(L(C)-n+1)Z = (Z + 1) mod (L (C) -n + 1)
C(Z) = C(Z) OP7 FC (Z) = C (Z) OP7 F
Für die Entschlüsselung eines Blocks von π verschlüsselten Zeichen werden die folgenden Gleichungen verwendetThe following equations are used to decrypt a block of π encrypted characters
T = A(X) OP0 B(Y)T = A (X) OP0 B (Y)
K = (Kop1 T)mod(L(S)-n+1)K = (K op1 T) mod (L (S) -n + 1)
P = QÖP2 (C(Z)OP3 FOP4S(K)OP5T)P = QÖP2 (C (Z) OP3 F OP4 S (K) OP5 T)
F = ROTL(R, (F OP6 Q))F = ROTL (R, (F OP6 Q))
X = (X+1)mod(L(A)-n+1)X = (X + 1) mod (L (A) -n + 1)
Y = (Y+1)mod(L(B)-n+1) z = (Z+1)mod(L(C)-n+1)Y = (Y + 1) mod (L (B) -n + 1) z = (Z + 1) mod (L (C) -n + 1)
C(Z) = C(Z) OP7 FC (Z) = C (Z) OP7 F
Die Verschlusseluπgsoperationen und die Entschlusselungsoperationen unterscheiden sich lediglich dadurch, daß P und Q in der dritten Gleichung vertauscht sind und der Operator OP2 bei der Verschlüsselung verwendet wird wohingegen bei der Entschlüsselung der inverse Operator ^ verwendet wird Wird in einer Ausfuhrungsform für den Operator OP2 ein XOR-Operator verwendet, so kann dasselbe Verfahren für die Verschlüsselung wie auch für die Entschlüsselung verwendet werden, da der XOR-Operator auch gleichzeitig sein inverser Operator istThe encryption operations and the decryption operations differ only in that P and Q are interchanged in the third equation and the operator OP2 is used for encryption, whereas the inverse operator ^ is used for decryption. In one embodiment, an XOR is used for the operator OP2. If the operator is used, the same method can be used for the encryption as for the decryption, since the XOR operator is also its inverse operator
Bei der Initialisierung der Indizes wird vorzugsweise darauf geachtet, daß die Indizes in dem folgenden Bereich liegenWhen initializing the indexes, it is preferably ensured that the indexes are in the following range
K 0 (L(S)-n)K 0 (L (S) -n)
Z 0 (L(C)-n)Z 0 (L (C) -n)
X 0 (L(A)-n) Y 0 (L(B) - n)X 0 (L (A) -n) Y 0 (L (B) - n)
(L(x)-π) ist der sog letztmogliche Index, wobei x für S, C A oder B steht(L (x) -π) is the so-called last possible index, where x stands for S, C A or B.
Von seiner Beschaffenheit her ist dieses Ver- bzw Entschlusselungsverfahren mhaltsabhangig, d h der Schlüssel wird dynamisch wahrend der Ver- und Entschlüsselung verändert Es ist nicht möglich einen Teil der Daten zu entschlüsseln ohne die unmittelbar vorhergehenden Daten dieses Teils zu kennenThe nature of this encryption and decryption process depends on the content, i.e. the key is changed dynamically during encryption and decryption. It is not possible to decrypt part of the data without knowing the immediately preceding data of this part
Die Langen der Speicherfelder S, C, A und B sollten so gewählt werden, daß sie teilerfremd sind, so daß sich eine möglichst lange Periode ergibt nach der sich die gleichen Werte der Speicherfelder C und S wiederholen Eine solche Wiederholung ist aufgrund der Ruckkopplung über den Ruckkopplungsspeicher F und über das Speicherfeld C jedoch nur dann möglich, wenn sich auch der zu verschlüsselnde Text periodisch wiederholt Die durch die Speicherfelder S, C, A und B festgelegte Periode tritt dann bei den verschlüsselten Zeichen auf, wenn zu Testzwecken immer dasselbe Klarzeichen, beispielsweise eine Null, verschlüsselt wird Die Periode ergibt sich aufgrund der Ruckkopplung nicht direkt als kleinstes gemeinsames Vielfaches der Speicherfeldlangen, sonder ist deutlich langer als dieses kleinste gemeinsame Vielfache, auch wenn immer dasselbe Klarzeichen verschlüsselt wird Um eine möglichst große Periode zu erhalten sollte die Lange der vier Speicherfelder S, C, A und B nicht nur teilerfremd, sondern auch in etwa gleich groß sein So sollte sich die Lange der Speicherfelder A und B vorzugsweise nur um eins unterscheiden In der bevorzugten Ausfuhrungsform werden die Langen der Speicherfelder S, C, A und B zu 11 , 5, 8 und 7 in dieser Reihenfolge gewähltThe lengths of the memory fields S, C, A and B should be chosen so that they are prime to each other, so that there is as long a period as possible after which the same values of the memory fields C and S are repeated. Such a repetition is due to the feedback via the Feedback memory F and via memory field C, however, is only possible if the text to be encrypted is also repeated periodically. The period defined by memory fields S, C, A and B occurs with the encrypted characters if the same clear character, for example, is always used for test purposes a zero, is encrypted Due to the feedback, the period does not result directly as the smallest common multiple of the memory field lengths, but is significantly longer than this smallest common multiple, even if the same clear character is always encrypted In order to obtain the largest possible period, the length of the four Storage fields S, C, A and B not only te iler foreign, but should also be approximately the same size So the length of the memory fields A and B should preferably differ by only one. In the preferred embodiment, the lengths of the memory fields S, C, A and B become 11, 5, 8 and 7 in this Order selected
Gemäß einer bevorzugten Ausfuhrungsform werden bei den Operatoren OPO, OP1 OP2 und OP5 Additionen, bei den Operatoren OP3 und OP6 XOR-Operationen und bei den Operatoren OP4 und OP7 Subtraktionen durchgeführtAccording to a preferred embodiment, additions are performed for the OPO, OP1, OP2 and OP5 operators, XOR operations for the OP3 and OP6 operators and subtractions for the OP4 and OP7 operators
Zu Versuchszwecken wurde eine große Datei von vier Megabyte verschlüsselt, die ausschließlich Nullen enthielt Es ergab sich eine gleichförmige Verteilung der Bytewerte für alle Scniussel Ferner ergab sich eine ähnlich gleichförmige Verteilung für Wortwerte (zwei Byte) Die Schlussellange beeinflußte die Verteilung nicht Die verschlüsselten Daten konnten durch LZW CIP oder BZIP2 Algorithmen nicht komprimiert werden was bedeutet, daß es keine Muster in einem praktisch verwertbaren Bereich gab Eine Implementierung der bevorzugten Ausfuhrungsform in unoptimiertem C-Code war um etwa 10% schneller als eine optimierte Assemblerversion des RC4-Verschlusselungsverfahrens Dabei ist das RC4- Verschlusselungsverfahren das schnellste auf dem Markt erhältliche VerschlusselungsverfahrenFor experimental purposes, a large file of four megabytes was encrypted, which contained only zeros. The result was a uniform distribution of the Byte values for all scnuses Furthermore, there was a similarly uniform distribution for word values (two bytes). The key length did not affect the distribution. The encrypted data could not be compressed by LZW CIP or BZIP2 algorithms, which means that there were no patterns in a practically usable area Implementation of the preferred embodiment in unoptimized C code was about 10% faster than an optimized assembler version of the RC4 encryption method. The RC4 encryption method is the fastest encryption method available on the market
Ein wichtiger Punkt betrifft die optimierte Verwendung von Schlüsseln Der Schlüssel sollte von Zeit zu Zeit geändert werden Aus dem Schlüssel können die Anfangswerte der Speicherfelder S, C, A und B, der Indizes K, Z, X und Y des Ruckkopplungsspeichers F und des Rotationswertes R erzeugt werden Im allgemeinen wird ein Schlüssel nicht ausreichend lang sein, um alle diese Speicher auszufüllen In diesem Fall wird der Schlüssel zyklisch wiederholt, bis alle Speicherfelder aufgefüllt sind In einer anderen Ausfuhrungsform legt der Schlüssel lediglich die Indizes K, Z, X und Y fest, wohingegen die Inhalte der Speicherzellen der Speicherfelder S, C, A und B unverändert bleiben Gemäß einer weiteren Ausfuhrungsform wird durch den Schlüssel aus einer vorher festgelegten Menge von Initialisierungen für die Speicherfelder S, C, A und B die Anfangsinitia sierung ausgewählt, wobei die Menge von Initialisierungen keine "schwachen Initialisierungen" enthalt, bei deren Verwendung eine Entschlüsselung besonders einfach ist, beispielsweise weil ein oder mehrere Speicherfelder nur mit Nullen initialisiert werden Der Vorteil einer solchen Variante besteht dann daß auf einfache Weise "schwache Initialisierungen" ausgeschlossen werden Gemäß weiteren Ausfuhrungsformen können die obigen Verfahren auch gemischt werden, so daß beispielsweise durch den Schlüssel eine aus vier möglichen Initialisierungen für die Speicherfelder A und B ausgewählt wird, wohingegen die Initialisierung der Speicherfelder S und C sowie der Indizes durch den Rest des Schlüssels folgt Gemäß bevorzugten Ausfuhrungsformen werden ferner die Speicherfelαer so initialisiert daß der Inhalt der letzten n Speicherzellen gleich dem Inhalt der ersten n Speicherzellen jedes Speicherfeldes ist Dabei ist n die Zahl der in einem Block verschlüsselten Klarzeichen Vorteilhaft an diesen bevorzugten Ausfuhrungsformen ist, daß beim Verschlüsseln keine Muster aufgrund der unterschiedlichen Häufigkeit der Benutzung bestimmter Speicherzellen entstehen Unter der Annahme, daß in einem Speicherfeld jeder zulassige Index gleich häufig verwendet wird, wird beispielsweise auf die erste und letzte Speicherzelle weniger häufig zugegriffen als auf eine mittlere Speicherzelle Dadurch, daß die letzten n Speicherzellen die gleichen Werte wie die ersten n Speicherzellen aufweisen, wird zwar trotzdem auf die Speicherzellen unterschiedlich häufig zugegriffen, aber die (unterschiedlichen) Inhalte der Speicherzellen trotzdem gleich häufig verwendetAn important point concerns the optimized use of keys. The key should be changed from time to time. From the key, the initial values of the memory fields S, C, A and B, the indices K, Z, X and Y of the feedback memory F and the rotation value R can be changed In general, a key will not be long enough to fill all of these memories. In this case, the key is repeated cyclically until all memory fields are filled. In another embodiment, the key only defines the indices K, Z, X and Y, whereas the contents of the memory cells of the memory fields S, C, A and B remain unchanged. According to a further embodiment, the key is used to select the initialization from a predetermined set of initializations for the memory fields S, C, A and B, the quantity of Initializations do not contain "weak initializations", when used an En Encryption is particularly simple, for example because one or more memory fields are only initialized with zeros. The advantage of such a variant is that "weak initializations" can be excluded in a simple manner. According to further embodiments, the above methods can also be mixed, so that, for example, by the key one of four possible initializations for the memory fields A and B is selected, whereas the initialization of the memory fields S and C and the indices follows by the rest of the key According to preferred embodiments, the memory fields are further initialized such that the content of the last n memory cells is equal to the content of the first n memory cells of each memory field. Here n is the number of clear characters encrypted in a block. Advantageous in these preferred embodiments is that no patterns occur during encryption The different frequency of use of certain memory cells arises. Assuming that each permissible index is used with the same frequency in a memory field, the first and last memory cells are accessed less frequently, for example, than a middle memory cell. Because the last n memory cells have the same values As the first n memory cells have, the memory cells are nevertheless accessed with different frequencies, but the (different) contents of the memory cells are nevertheless used with the same frequency
Gemäß einer weiteren Ausfuhrungsform werden die Inhalte der Speicherzellen der Speicherfelder unabhängig voneinander gewählt Vorteilhaft an dieser Ausfuhrungsform ist, daß die Periode bei der Verschlüsselung von gleichen Klarzeichen eine Funktion des kleinsten gemeinsamen Vielfachen der Langen der Speicherfelder ist und nicht eine Funktion des kleinsten gemeinsamen Vielfachen der letztmoglichen Indizes und somit langer istAccording to a further embodiment, the contents of the memory cells of the memory fields are selected independently of one another. An advantage of this embodiment is that the period when the same clear characters are encrypted is a function of the smallest common multiple of the lengths of the memory fields and not a function of the smallest common multiple of the last possible Indices and therefore longer
Fig 1 und 2 veranschaulichen graphisch eine bevorzugte Ver- bzw Entschlüsselung eines Zeichenblocks gemäß der vorliegenden Erfindung Die obere und die untere Zeile abgerundeter Rechtecke enthalt die Bezeichnungen der Speicherzellen, deren Inhalt sich wahrend eines Ver- bzw Entschlusselungsschπtts ändert Dazu gehören die vier Indizes aus X, Y, Z und K, das Speicherfeld C und der Ruckkopplungsspeicher F Ein Block von Klarzeichen P wird durch den in Fig 1 dargestellten Verschlusselungsschntt in einem Block verschlüsselter Zeichen Q umgewandelt Umgekehrt wird aus einem Block verschlüsselter Zeichen Q in dem in Fig 2 dargestellten Entschlusselungsschπtt ein Block von Klarzeichen P berechnet1 and 2 graphically illustrate a preferred encryption or decryption of a character block according to the present invention. The top and bottom lines of rounded rectangles contain the names of the memory cells, the content of which changes during an encryption or decryption step. These include the four indices from X, Y, Z and K, the memory field C and the feedback memory F A block of clear characters P is converted into a block of encrypted characters Q by the encryption section shown in FIG. 1. Conversely, a block is converted from a block of encrypted characters Q in the decryption section shown in FIG calculated by clear character P.
Operatoren sind in Fig 1 und 2 rautenförmig dargestellt Die Operatoren opo bis OP7 benotigen jeweils zwei Eingangswerte und erzeugen einen Ausgangswert Die Iπkrementaloperatoren +1 und die Modulooperatoren mod(LA) mod(LB) mod(LC) mod(LS) erzeugen aus einem Eingangswert einen Ausgangswert Die abgekürzten Schreibweisen LA LB LC und LS stehen für die Terme [L(A)-n+1 ] [L(B)-n+1 ], [L(C)- n+1 ] und [L(S)-n+1 ] Die Feldoperatoren A(X), B(Y) und S(K) wurden ebenfalls als Operatoren mit einem Eingangswert und einem Ausgangswert dargestellt, da die entsprechenden Speicherfelder wahrend der Ver- bzw Entschlüsselung unverändert bleiben Beim Feldoperator C(Z) ist die Notation aus Platzgrunden nicht einheitlich Dieser Operator nimmt zwei Eingangswerte, nam ch den Index Z und das Speicherfeld C und erzeugt einen Ausgangswert Auch der dazu inverse OperatorOperators are shown in a diamond shape in FIGS. 1 and 2. The operators opo to OP7 each require two input values and produce an output value Die Incremental operators +1 and the modulo operators mod (LA) mod (LB) mod (LC) mod (LS) generate an output value from an input value. The abbreviations LA LB LC and LS stand for the terms [L (A) -n + 1] [L (B) -n + 1], [L (C) - n + 1] and [L (S) -n + 1] The field operators A (X), B (Y) and S (K) were also Represented as operators with an input value and an output value, since the corresponding memory fields remain unchanged during encryption and decryption. For field operator C (Z), the notation is not uniform for reasons of space.This operator takes two input values, namely the index Z and the memory field C. and generates an output value. Also the inverse operator
|C(Z)| benotigt zwei Eingangsparameter, nam ch den Index Z sowie den Wert, der in die Speicherzelle mit dem Index Z des Speicherfeldes C geschrieben werden sol | C (Z) | requires two input parameters, namely the index Z and the value to be written into the memory cell with the index Z of the memory field C.

Claims

Patentansprücheclaims
Verschlusselungsverfahren zum Verschlüsseln einer Folge von Klarzeichen mittels einer Recheneinrichtung,Encryption method for encrypting a sequence of clear characters using a computing device,
wobei das Verfahren folgende Initiaiisierungsschntte umfaßtthe method comprising the following initialization step
Bereitstellen eines ersten eindimensionalen Speicherfeldes (S), das eine Vielzahl von Speicherzellen umfaßt wobei jeder Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann,Providing a first one-dimensional memory field (S) which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell being able to assume m different values,
Auswahlen eines ersten Index (K) zur Auswahl einer der Speicherzellen,Selecting a first index (K) for selecting one of the memory cells,
und wobei das Verfahren folgende Verschlusselungsschπtte umfaßtand wherein the method comprises the following encryption layer
Verknüpfen eines zu verschlüsselnden Klarzeichens (P) mit dem Inhalt der dem ausgewählten ersten Index (K) zugeordneten Speicherzelle (S(K)) zum Erzeugen eines verschlüsselten Zeichens (Q),Linking a clear character to be encrypted (P) with the content of the memory cell (S (K)) assigned to the selected first index (K) to generate an encrypted character (Q),
Variieren des ausgewählten ersten Index (K) gemäß einem Schrittwert, undVarying the selected first index (K) according to a step value, and
Wiederholen der Verschlusselungsschπtte mit sich änderndem Schrittwert,Repeating the encryption step with changing step value,
gekennzeichnet durch folgenden weiteren Initialisierungsschπttcharacterized by the following further initialization step
Speichern eines Startwertes in einem Ruckkopplungsspeicher (F),Storing a start value in a feedback memory (F),
sowie durch folgende Unterschritte innerhalb der Verschlusselungsschπtte 13as well as the following sub-steps within the crypt 13
Verknüpfen des Inhalts der dem ausgewählten ersten Index (K) zugeordneten Speicherzelle (S(K)) mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines ersten Operators (OP4) zum Erzeugen eines ersten Zwischenergebnisses und Verwenden des ersten Zwischenergebnisses für die Verknüpfung mit dem Klarzeichen (P) zum Erzeugen des verschlüsselten Zeichens (Q) undLinking the content of the memory cell (S (K)) assigned to the selected first index (K) with the content of the feedback memory (F) using a first operator (OP4) to generate a first intermediate result and using the first intermediate result for linking to the Clear characters (P) for generating the encrypted character (Q) and
Verknüpfen des Inhalts des Ruckkopplungsspeichers (F) mit dem verschlüsselten Zeichen (Q) unter Anwendung eines zweiten Operators (OP6) und Speichern des Ergebnisses im Ruckkopplungsspeicher (F)Linking the content of the feedback memory (F) with the encrypted character (Q) using a second operator (OP6) and storing the result in the feedback memory (F)
Verschlusselungsverfahren nach Anspruch 1 dadurch gekennzeichnet, daß folgende weitere Initiaiisierungsschntte vorgesehen sindEncryption method according to claim 1, characterized in that the following further initialization section is provided
Bereitstellen eines zweiten eindimensionalen Speicherfeldes (C) das eine Vielzahl von Speicherzellen umfaßt wobei jeder Speicherzelle ein eindeutiger Index (Z) zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann, undProviding a second one-dimensional memory array (C) which comprises a plurality of memory cells, each memory cell being assigned a unique index (Z) and wherein each memory cell can have m different values, and
Auswahlen eines zweiten Index (Z), der einer Speicherzelle (C(Z)) aus dem zweiten Speicherfeld (C) zugeordnet istSelection of a second index (Z) which is assigned to a memory cell (C (Z)) from the second memory field (C)
und wobei das Verfahren folgende weitere Verschlusselungsschritte umfaßtand the method comprises the following further encryption steps
Verknüpfen des Inhalts der dem ausgewählten zweiten Index (Z) zugeordneten Speicherzelle (C(Z)) mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines dritten Operators (OP3) und Weiterverknupfen dieses Ergebnisses zum ersten Zwischenergebnis und Auswahlen eines neuen zweiten Index (Z) der einer anderen, vorzugsweise der nächsten Speicherzelle des zweiten Speicherfeldes (C) zugeordnet istLinking the content of the memory cell (C (Z)) assigned to the selected second index (Z) with the content of the feedback memory (F) using a third operator (OP3) and further linking this result to the first intermediate result and Selection of a new second index (Z) which is assigned to another, preferably the next memory cell of the second memory field (C)
Verschlusselungsverfahren zum Verschlüsseln einer Folge von Klarzeichen mittels einer Recheneinrichtung,Encryption method for encrypting a sequence of clear characters using a computing device,
wobei das Verfahren folgende Initiaiisierungsschntte umfaßtthe method comprising the following initialization step
Bereitstellen eines zweiten eindimensionalen Speicherfeldes (C), das eine Vielzahl von Speicherzellen umfaßt, wobei jeder Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann,Providing a second one-dimensional memory field (C) which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell being able to assume m different values,
Auswahlen eines zweiten Index (Z) zur Auswahl einer der Speicherzellen des zweiten eindimensionalen Speicherfeldes,Selection of a second index (Z) for selecting one of the memory cells of the second one-dimensional memory array,
und wobei das Verfahren folgende Verschlusselungsschritte umfaßtand the method comprises the following encryption steps
Verknüpfen eines zu verschlüsselnden Klarzeichens (P) mit dem Inhalt der dem ausgewählten zweiten Index (Z) zugeordneten Speicherzelle (C(Z)) zum Erzeugen eines verschlüsselten Zeichens (Q),Linking a clear character to be encrypted (P) with the content of the memory cell (C (Z)) assigned to the selected second index (Z) to generate an encrypted character (Q),
Auswahlen eines neuen zweiten Index (Z), der einer anderen, vorzugsweise der nächsten Speicherzelle des zweiten Speicherfeldes (C) zugeordnet ist,Selection of a new second index (Z) which is assigned to another, preferably the next memory cell of the second memory field (C),
Wiederholen der Verschlusselungsschritte,Repeating the encryption steps,
gekennzeichnet durch folgenden weiteren Verschlusselungsschntt, der nach dem Auswahlschπtt des neuen zweiten Index (Z) durchgeführt wird mittelbares Verknüpfen des Inhalts αer dem neuen zweiten Index (Z) zugeordneten Speicherzelle mit dem verschlüsselten Zeichen (Q) und Speichern dieses Ergebnisses in der dem neuen zweiten Index (Z) zugeordneten Speicherzelle (C(Z))characterized by the following further encryption step, which is carried out after the selection of the new second index (Z) indirectly linking the content of the memory cell assigned to the new second index (Z) with the encrypted character (Q) and storing this result in the memory cell (C (Z)) assigned to the new second index (Z))
Verschlusselungsverfahren nach Anspruch 3 dadurch gekennzeichnet, daß folgende weitere Initiaiisierungsschntte vorgesehen sindEncryption method according to claim 3, characterized in that the following further initialization section is provided
Bereitstellen eines ersten eindimensionalen Speicherfeldes (S) das eine Vielzahl von Speicherzellen umfaßt, wobei jede Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann,Providing a first one-dimensional memory field (S) which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell being able to assume m different values,
Auswahlen eines ersten Index (K) zur Auswahl einer der Speicherzellen,Selecting a first index (K) for selecting one of the memory cells,
Speichern eines Startwertes in einem Ruckkopplungsspeicher (F),Storing a start value in a feedback memory (F),
und wobei das Verfahren folgende weitere Verschlusselungsschritte umfaßtand the method comprises the following further encryption steps
Variieren des ausgewählten ersten Index (K) gemäß einem Schrittwert der sich von Wiederholung zu Wiederholung der Verschlusselungsschritte ändert,Varying the selected first index (K) according to a step value that changes from repetition to repetition of the encryption steps,
Verknüpfen des Inhalts der dem ausgewählten zweiten Index (Z) zugeordneten Speicherzelle mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines dritten Operators (OP3) zum Erzeugen eines zweiten Zwischenergebnisses,Linking the content of the memory cell assigned to the selected second index (Z) with the content of the feedback memory (F) using a third operator (OP3) to generate a second intermediate result,
Verknüpfen des zweiten Zwischenergebnisses mit dem Inhalt der dem ausgewählten ersten Index (K) zugeordneten Speicherzelle (S(K)) unter Anwendung eines ersten Operators (OP4) zum Erzeugen eines ersten Zwischenergebnisses und Verwenden des ersten Zwischenergebnisses für die Verknüpfung mit dem Klarzeichen (P) zum Erzeugen des verschlüsselten Zeichens (Q) undLinking the second intermediate result with the content of the memory cell (S (K)) assigned to the selected first index (K) using a first operator (OP4) to generate a first intermediate result and using the first intermediate result for linking with the clear character (P) to generate the encrypted character (Q) and
Verknüpfen des Inhalts des Ruckkopplungsspeichers (F) mit dem verschlüsselten Zeichen (Q) unter Anwendung eines zweiten Operators (OP6) und Speichern des Ergebnisses im Ruckkopplungsspeicher (F)Linking the content of the feedback memory (F) with the encrypted character (Q) using a second operator (OP6) and storing the result in the feedback memory (F)
Verschlusselungsverfahren nach Anspruch 2 oder 4 dadurch gekennzeichnet, daß das Verfahren den folgenden weiteren Verschlusselungsschntt umfaßtEncryption method according to claim 2 or 4, characterized in that the method comprises the following further encryption step
Verknüpfen des Inhalts der dem ausgewählten zweiten Index (Z) zugeordneten Speicherzelle mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines vierten Operators (OP7) und Schreiben des Ergebnisses in der dem zweiten Index (Z) zugeordneten Speicherzelle (C(Z))Linking the content of the memory cell assigned to the selected second index (Z) with the content of the feedback memory (F) using a fourth operator (OP7) and writing the result in the memory cell assigned to the second index (Z) (C (Z))
Verschlusselungsverfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das Verfahren folgende weitere Initiaiisierungsschntte umfaßtEncryption method according to one of Claims 1 to 5, characterized in that the method comprises the following further initialization step
Bereitstellen eines dritten eindimensionalen Speicherfeldes (A), das eine Vielzahl von Speicherzellen umfaßt, wobei jeder Speicherzelle ein eindeutiger Index (X) zugeordnet ist, undProviding a third one-dimensional memory array (A) comprising a plurality of memory cells, each memory cell being assigned a unique index (X), and
Auswahlen eines dritten Index (X), der einer Speicherzelle des dritten Speicherfeldes (A) zugeordnet ist, und wobeiSelection of a third index (X) which is assigned to a memory cell of the third memory field (A), and wherein
der Schrittwert vom Inhalt der dem ausgewählten dritten Index (X) zugeordneten Speicherzelle abhängt, und das Verfahren den folgenden, weiteren Verschlusselungsschntt umfaßt Auswahlen eines neuen dritten Index (X) der einer anderen vorzugsweise der nächsten Speicherzelle des dritten Speicherfeldes (A) zugeordnet istthe step value depends on the content of the memory cell assigned to the selected third index (X), and the method comprises the following further encryption step Selection of a new third index (X) which is preferably assigned to another of the next memory cell of the third memory field (A)
Verschlusselungsverfahren nach Anspruch 6 dadurch gekennzeichnet, daß das Verfahren die folgenden Initiaiisierungsschntte umfaßtEncryption method according to claim 6, characterized in that the method comprises the following initialization step
Bereitstellen eines vierten eindimensionalen Speicherfeldes (B) das eine Vielzahl von Speicherzellen umfaßt wobei jeder Speicherzelle ein eindeutiger Index (Y) zugeordnet ist, undProviding a fourth one-dimensional memory array (B) comprising a plurality of memory cells, each memory cell being assigned a unique index (Y), and
Auswahlen eines vierten Index (Y) der einer Speicnerzelle des vierten Speicherfeldes (B) zugeordnet ist, und wobeiSelection of a fourth index (Y) which is assigned to a memory cell of the fourth memory field (B), and wherein
der Schrittwert vom Inhalt der dem ausgewählten vierten Index (Y) zugeordneten Speicherzelle (B(Y)) abhangt und das Verfahren den folgenden weiteren Verschlusselungsschntt umfaßtthe step value depends on the content of the memory cell (B (Y)) assigned to the selected fourth index (Y) and the method comprises the following further encryption step
Auswahlen eines neuen vierten Index (Y) der einer anderen vorzugsweise der nächsten Speicherzelle des vierten Speicherfeldes (B) zugeordnet istSelection of a new fourth index (Y) which is preferably assigned to another of the next memory cell of the fourth memory field (B)
Verschlusselungsverfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Verfahren die folgenden weiteren Verschlusselungsschritte umfaßtEncryption method according to claim 7, characterized in that the method comprises the following further encryption steps
Verknüpfen des Inhalts der dem ausgewählten vierten Index (Y) zugeordneten Speicherzelle mit dem Inhalt der dem ausgewählten dritten Index zugeordneten Speicherzelle (A(K)) unter Anwendung eines fünften Operators (OP0), um ein drittes Zwischenergebnis (T) zu erhalten, Verknüpfen des Wertes αes ausgewählten ersten Index (K) mit dem zweiten Zwischenergebnis (T) unter Verwendung eines sechsten Operators (OP1 ) um ein viertes Zwischenergebnis zu erhalten, undLinking the content of the memory cell assigned to the selected fourth index (Y) with the content of the memory cell assigned to the selected third index (A (K)) using a fifth operator (OP0) to obtain a third intermediate result (T), Combining the value α of the selected first index (K) with the second intermediate result (T) using a sixth operator (OP1) to obtain a fourth intermediate result, and
Auswahlen eines neuen ersten Index (K) entsprechend dem vierten Zwischenergebnis mod (1 + größter zugelassener erster Index (K))Selection of a new first index (K) according to the fourth interim result mod (1 + largest approved first index (K))
Verschlusselungsverfahren nach Anspruch 8, dadurch gekennzeichnet, daß das Verfahren die folgenden weiteren Verschlusselungsschritte umfaßtEncryption method according to claim 8, characterized in that the method comprises the following further encryption steps
Verknüpfen des ersten Zwischenergebnisses mit dem dritten Zwischenergebnis (T) unter Anwendung eines siebten Operators (OP5) undLinking the first intermediate result with the third intermediate result (T) using a seventh operator (OP5) and
Verknüpfen dieses Ergebnisses mit dem Klarzeichen (P) durch einen achten Operator (OP2), um das verschlüsselte Zeichen (Q) zu erhaltenLink this result with the clear character (P) by an eighth operator (OP2) in order to obtain the encrypted character (Q)
Verschlusselungsverfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß alle Speicherzellen einem Byte entsprechen und alle anderen Speicher eine Folge von Bit umfassenEncryption method according to one of Claims 1 to 9, characterized in that all memory cells correspond to one byte and all other memories comprise a sequence of bits
Verschlusselungsverfahren nach Anspruch 10, dadurch gekennzeichnet, daß das Verfahren den folgenden weiteren Verschlusselungsschntt umfaßtEncryption method according to claim 10, characterized in that the method comprises the following further encryption step
zyklisches Rotieren der Bit in dem Ruckkopplungsspeicher (F), um eine vorbestimmte Zahl von Bit nach linkscyclically rotating the bits in the feedback memory (F) a predetermined number of bits to the left
Verschlusselungsverfahren nach einem der Ansprüche 1 bis 11 , dadurch gekennzeichnet, daß in der Folge von Klarzeichen eine vorbestimmte Zahl von n aufeinander folgenden Klarzeichen als ein Operand gleichzeitig verarbeitet wird, wobei nach der letztmoglichen Speicherzelle noch (n-1 ) Speicherzellen in jedem Speicherfeld verfugbar sind wobei aus jedem Speicherfeld eine Folge von n aufeinanderfolgenden Speicherzellen als ein Operand für die Verknüpfung mit den n aufeinanderfolgenden Klarzeichen bzw mit n aufeinander folgenden Zellen anderer Speicherfelder verwendet wirdEncryption method according to one of claims 1 to 11, characterized in that in the sequence of clear characters, a predetermined number of n successive clear characters is processed simultaneously as an operand, with (n-1) after the last possible memory cell Memory cells are available in each memory field, a sequence of n successive memory cells from each memory field being used as an operand for the linkage with the n successive clear characters or with n successive cells of other memory fields
Verschlusselungsverfahren nach den Ansprüchen 1 bis 9 dadurch gekennzeichnet, daß der fünfte sechste, siebte und achte Operator Additionsoperatoren, der zweite und dritte Operator Exklusiv-Oder-Operatoren und der erste und vierte Operator Subtraktionsoperatoren sindEncryption method according to Claims 1 to 9, characterized in that the fifth sixth, seventh and eighth operator are addition operators, the second and third operator are exclusive-OR operators and the first and fourth operator are subtraction operators
Verschlusselungsverfahren nach einem der Ansprüche 2 oder 4 bis 13, dadurch gekennzeichnet, daß die Zahlen der Speicherzellen jeweils zweier Speicherfelder teilerfremd sindEncryption method according to one of claims 2 or 4 to 13, characterized in that the numbers of the memory cells of two memory fields are prime to each other
Verschlusselungsverfahren nach einem der Ansprüche 2 oder 4 bis 13, dadurch gekennzeichnet, daß die Zahlen der Speicherzellen vor der maximal möglichen Speicherzelle einschließlich der maximal möglichen Speicherzelle jeweils zweier Speicherfelder teilerfremd sindEncryption method according to one of Claims 2 or 4 to 13, characterized in that the numbers of the memory cells in front of the maximum possible memory cell, including the maximum possible memory cell, are each relatively prime
Entschlusselungsverfahren zum Entschlüsseln einer Folge von verschlüsselten Zeichen mittels einer Recheneinrichtung,Decryption method for decrypting a sequence of encrypted characters by means of a computing device,
wobei das Verfahren folgende Initiaiisierungsschntte umfaßtthe method comprising the following initialization step
Bereitstellen eines ersten eindimensionalen Speicherfeldes (S) das eine Vielzahl von Speicherzellen umfaßt, wobei jeder Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann,Providing a first one-dimensional memory field (S) which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell being able to assume m different values,
Auswahlen eines ersten Index (K) zur Auswahl einer der Speicherzellen, und wobei das Verfahren folgende Entscniusselungsschπtte umfaßtSelecting a first index (K) for selecting one of the memory cells, and the method comprises the following decryption steps
Verknüpfen eines zu entschlüsselnden verschlüsselten Zeichens (Q) mit dem Inhalt der dem ausgewählten ersten Index (K) zugeordneten Speicherzelle (S(K)) zum Erzeugen eines Klarzeichens (P),Linking an encrypted character (Q) to be decrypted with the content of the memory cell (S (K)) assigned to the selected first index (K) to generate a clear character (P),
Variieren des ausgewählten ersten Index (K) gemäß einem Schrittwert undVarying the selected first index (K) according to a step value and
Wiederholen der Entschlusselungsschritte mit sich änderndem Schrittwert,Repeating the decision steps with changing step value,
gekennzeichnet durch folgenden weiteren Initia sierungsschπttcharacterized by the following further initiation step
Speichern eines Startwertes in einem Ruckkopplungsspeicher (F),Storing a start value in a feedback memory (F),
sowie durch folgende Unterschritte innerhalb der Entschlusselungsschritteas well as the following sub-steps within the decision-making steps
Verknüpfen des Inhalts der mit dem ausgewählten ersten Index (K) zugeordneten Speicherzelle (S(K)) mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines ersten Operators (OP4) zum Erzeugen eines ersten Zwischenergebnisses und Verwenden des ersten Zwischenergebnisses für die Verknüpfung mit dem verschlüsselten Zeichen (Q), zum Erzeugen des Klarzeichens (P), undLinking the content of the memory cell (S (K)) associated with the selected first index (K) with the content of the feedback memory (F) using a first operator (OP4) to generate a first intermediate result and using the first intermediate result for linking with the encrypted character (Q) to generate the clear character (P), and
Verknüpfen des Inhalts des Ruckkopplungsspeichers (F) mit dem verschlüsselten Zeichen (Q) unter Anwendung eines zweiten Operators (OP6) und Speichern des Ergebnisses im Ruckkopplungsspeicher (F)Linking the content of the feedback memory (F) with the encrypted character (Q) using a second operator (OP6) and storing the result in the feedback memory (F)
Entschlusselungsverfahren nach Anspruch 16, dadurch gekennzeichnet, daß es ferner folgende Initiaiisierungsschntte umfaßt Bereitstellen eines zweiten eindimensionalen Speicherfeldes (C) das eine Vielzahl von Speicherzellen umfaßt wobei jeder Speicherzelle ein eindeutiger Index (Z) zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann, undDecryption method according to claim 16, characterized in that it further comprises the following initialization section Providing a second one-dimensional memory array (C) which comprises a plurality of memory cells, each memory cell being assigned a unique index (Z) and wherein each memory cell can have m different values, and
Auswahlen eines zweiten Index (Z), der einer Speicherzelle (C(Z)) aus dem zweiten Speicherfeld (C) zugeordnet ist,Selection of a second index (Z) which is assigned to a memory cell (C (Z)) from the second memory field (C),
und wobei das Verfahren folgende weitere Entschlusselungsschritte umfaßtand the method comprises the following further decryption steps
Verknüpfen des Inhalts der dem zweiten ausgewählten Index (Z) zugeordneten Speicherzelle (C(Z)) mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines dritten Operators (OP3) und Weiterverknupfen dieses Ergebnisses zum ersten Zwischenergebnis, undLinking the content of the memory cell (C (Z)) assigned to the second selected index (Z) with the content of the feedback memory (F) using a third operator (OP3) and further linking this result to the first intermediate result, and
Auswahlen eines neuen zweiten Index (Z), der einer anderen, vorzugsweise der nächsten Speicherzelle des zweiten Speicherfeldes (C) zugeordnet istSelection of a new second index (Z) which is assigned to another, preferably the next memory cell of the second memory field (C)
Entschlusselungsverfahren zum Entschlüsseln einer Folge von verschlüsselten Zeichen mittels einer Recheneinrichtung,Decryption method for decrypting a sequence of encrypted characters by means of a computing device,
wobei das Verfahren folgende Initiaiisierungsschntte umfaßtthe method comprising the following initialization step
Bereitstellen eines zweiten eindimensionalen Speicherfeldes (C) das eine Vielzahl von Speicherzellen umfaßt wobei jeder Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann,Providing a second one-dimensional memory field (C) which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell being able to assume m different values,
Auswahlen eines zweiten Index (Z) zur Auswahl einer der Speicherzellen des zweiten eindimensionalen Speicherfeldes und wobei das Verfahren folgende Entschlusselungsschritte umfaßtSelection of a second index (Z) for selecting one of the memory cells of the second one-dimensional memory array and the method comprises the following decryption steps
Verknüpfen eines verschlüsselten Zeichens (Q) mit dem Inhalt der dem ausgewählten zweiten Index (Z) zugeordneten Speicherzelle (C(Z)) zum Erzeugen eines Klarzeichens (P),Linking an encrypted character (Q) with the content of the memory cell (C (Z)) assigned to the selected second index (Z) to generate a clear character (P),
Auswahlen eines neuen zweiten Index (Z) der einer anderen, vorzugsweise der nächsten Speicherzelle des zweiten Speicherfeldes (C) zugeordnet ist,Selection of a new second index (Z) which is assigned to another, preferably the next memory cell of the second memory field (C),
Wiederholen der Entschlusselungsschritte,Repeating the decision steps,
gekennzeichnet durch folgenden weiteren Entschlusselungsschntt, der nach dem Auswahlschπtt des neuen zweiten Index (Z) durchgeführt wirdcharacterized by the following further decision-making step which is carried out after the selection of the new second index (Z)
mittelbares Verknüpfen des Inhalts der dem neuen zweiten Index (Z) zugeordneten Speicherzelle mit dem verschlüsselten Zeichen (Q) und Speichern dieses Ergebnisses in der dem neuen zweiten Index (Z) zugeordneten Speicherzelle (C(Z))indirectly linking the content of the memory cell assigned to the new second index (Z) with the encrypted character (Q) and storing this result in the memory cell (C (Z)) assigned to the new second index (Z))
Entschlusselungsverfahren nach Anspruch 18, dadurch gekennzeichnet, daß folgende weitere Initiaiisierungsschntte vorgesehen sindDecoding method according to claim 18, characterized in that the following further initialization section is provided
Bereitstellen eines ersten eindimensionalen Speicherfeldes (S), das eine Vielzahl von Speicherzellen umfaßt, wobei jede Speicherzelle ein eindeutiger Index zugeordnet ist und wobei jede Speicherzelle m unterschiedliche Werte annehmen kann,Providing a first one-dimensional memory field (S) which comprises a plurality of memory cells, each memory cell being assigned a unique index and each memory cell being able to assume m different values,
Auswahlen eines ersten Index (K) zur Auswahl einer der Speicherzellen,Selecting a first index (K) for selecting one of the memory cells,
Speichern eines Startwertes in einem Ruckkopplungsspeicher (F), 23Storing a start value in a feedback memory (F), 23
und wobei das Verfahren folgende weitere Entschlusselungsschritte umfaßtand the method comprises the following further decryption steps
Variieren des ausgewählten ersten Index (K) gemäß einem Schrittwert, der sich von Wiederholung zu Wiederholung der Verschlusselungsschritte ändert,Varying the selected first index (K) according to a step value that changes from repetition to repetition of the encryption steps,
Verknüpfen des Inhalts der dem ausgewählten zweiten Index (Z) zugeordneten Speicherzelle mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines dritten Operators (OP3) zum Erzeugen eines zweiten Zwischenergebnisses,Linking the content of the memory cell assigned to the selected second index (Z) with the content of the feedback memory (F) using a third operator (OP3) to generate a second intermediate result,
Verknüpfen des zweiten Zwischenergebnisses mit dem Inhalt der dem ausgewählten ersten Index (K) zugeordneten Speicherzelle (S(K)) unter Anwendung eines ersten Operators (OP4) zum Erzeugen eines ersten Zwischenergebnisses und Verwenden des ersten Zwischenergebnisses für die Verknüpfung mit dem verschlüsselten Zeichen (Q), zum Erzeugen des Klarzeichens (P) undLinking the second intermediate result with the content of the memory cell (S (K)) assigned to the selected first index (K) using a first operator (OP4) to generate a first intermediate result and using the first intermediate result for linking with the encrypted character (Q ), to generate the clear character (P) and
Verknüpfen des Inhalts des Ruckkopplungsspeichers (F) mit dem verschlüsselten Zeichen (Q) unter Anwendung eines zweiten Operators (OP6) und Speichern des Ergebnisses im Ruckkopplungsspeicher (F)Linking the content of the feedback memory (F) with the encrypted character (Q) using a second operator (OP6) and storing the result in the feedback memory (F)
Entschlusselungsverfahren nach Anspruch 17 oder 19, dadurch gekennzeichnet, daß das Verfahren den folgenden weiteren Entschlusselungsschntt umfaßtDecryption method according to claim 17 or 19, characterized in that the method comprises the following further decryption step
Verknüpfen des Inhalts der dem ausgewählten zweiten Index (Z) zugeordneten Speicherzelle mit dem Inhalt des Ruckkopplungsspeichers (F) unter Anwendung eines vierten Operators (OP7) und Schreiben des Ergebnisses in die dem zweiten Index (Z) zugeordneten Speicherzelle (C(Z))Linking the content of the memory cell assigned to the selected second index (Z) with the content of the feedback memory (F) using a fourth operator (OP7) and writing the Result in the memory cell (C (Z)) assigned to the second index (Z)
Entschlusselungsverfahren nach einem der Ansprüche 16 bis 20 dadurch gekennzeichnet, daß das Verfahren folgende weitere Initiaiisierungsschntte umfaßtDecoding method according to one of Claims 16 to 20, characterized in that the method comprises the following further initialization step
Bereitstellen eines dritten eindimensionalen Speicherfeldes (A), das eine Vielzahl von Speicherzellen umfaßt, wobei jeder Speicherzelle ein eindeutiger Index (X) zugeordnet ist, undProviding a third one-dimensional memory array (A) comprising a plurality of memory cells, each memory cell being assigned a unique index (X), and
Auswahlen eines dritten Index (X), der einer Speicherzelle des dritten Speicherfeldes (A) zugeordnet ist, und wobeiSelection of a third index (X) which is assigned to a memory cell of the third memory field (A), and wherein
der Schrittwert vom Inhalt der dem ausgewählten dritten Index (X) zugeordneten Speicherzelle abhangt, und das Verfahren den folgenden weiteren Entschlusselungsschntt umfaßtthe step value depends on the content of the memory cell assigned to the selected third index (X), and the method comprises the following further decision step
Auswahlen eines neuen dritten Index (X), der einer anderen, vorzugsweise der nächsten Speicherzelle des dritten Speicherfeldes (A) zugeordnet istSelection of a new third index (X) which is assigned to another, preferably the next memory cell of the third memory field (A)
Entschlusselungsverfahren nach Anspruch 21 , dadurch gekennzeichnet, daß das Verfahren die folgenden Initiaiisierungsschntte umfaßtDecryption method according to claim 21, characterized in that the method comprises the following initialization step
Bereitstellen eines vierten eindimensionalen Speicherfeldes (B) das eine Vielzahl von Speicherzellen umfaßt, wobei jeder Speicherzelle ein eindeutiger Index (Y) zugeordnet ist, undProviding a fourth one-dimensional memory array (B) which comprises a plurality of memory cells, each memory cell being assigned a unique index (Y), and
Auswahlen eines vierten Index (Y), der einer Speicherzelle des vierten Speicherfeldes (B) zugeordnet ist, und wobei der Schrittwert vom Inhalt der dem ausgewählten vierten Index (Y) zugeordneten Speicherzelle (B(Y)) abhangt und das Verfahren den folgenden weiteren Entschlusselungsschntt umfaßtSelection of a fourth index (Y) which is assigned to a memory cell of the fourth memory field (B), and wherein the step value depends on the content of the memory cell (B (Y)) assigned to the selected fourth index (Y) and the method comprises the following further decision step
Auswahlen eines neuen vierten Index (Y), der einer anderen, vorzugsweise der nächsten Speicherzelle des vierten Speicherfeldes (B) zugeordnet istSelection of a new fourth index (Y) which is assigned to another, preferably the next memory cell of the fourth memory field (B)
Entschlusselungsverfahren nach Anspruch 22, dadurch gekennzeichnet, daß das Verfahren die folgenden weiteren Entschlusselungsschritte umfaßtDecryption method according to claim 22, characterized in that the method comprises the following further decryption steps
Verknüpfen des Inhalts der dem ausgewählten vierten Index (Y) zugeordneten Speicherzelle mit dem Inhalt der dem dritten Index zugeordneten Speicherzelle (A(K)) unter Anwendung eines fünften Operators (OPO), um ein drittes Zwischenergebnis (T) zu erhaltenLink the content of the memory cell assigned to the selected fourth index (Y) with the content of the memory cell assigned to the third index (A (K)) using a fifth operator (OPO) to obtain a third intermediate result (T)
Verknüpfen des Wertes des ersten Index (K) mit dem zweiten Zwischenergebnis (T) unter Verwendung eines sechsten Operators (OP1 ), um ein viertes Zwischenergebnis zu erhalten, undCombining the value of the first index (K) with the second intermediate result (T) using a sixth operator (OP1) to obtain a fourth intermediate result, and
Auswahlen eines neuen ersten Index (K) entsprechend dem vierten Zwischenspeicherergebnis mod (1 + größter zugelassener erster Index (K))Selection of a new first index (K) corresponding to the fourth buffer result mod (1 + largest approved first index (K))
Entschlusselungsverfahren nach Anspruch 23, dadurch gekennzeichnet, daß das Verfahren die folgenden weiteren Entschlusselungsschritte umfaßtDecryption method according to claim 23, characterized in that the method comprises the following further decryption steps
Verknüpfen des ersten Zwischenergebnisses mit dem dritten Zwischenergebnis (T) unter Anwendung eines siebten Operators (OP(5)) und Verknüpfen dieses Ergebnisses mit dem verschlüsselten Zeichen (Q) durch einen achten Operator (θP2|), um das Klarzeichen (P) zu erhaltenLinking the first intermediate result with the third intermediate result (T) using a seventh operator (OP (5)) and Link this result to the encrypted character (Q) by an eighth operator (θP2 |) to get the clear character (P)
Entschlusselungsverfahren nach einem der Ansprüche 16 bis 24 dadurch gekennzeichnet, daß alle Speicherzellen einem Byte entsprechen und alle anderen Speicher eine Folge von Bit umfassenDecryption method according to one of Claims 16 to 24, characterized in that all memory cells correspond to one byte and all other memories comprise a sequence of bits
Entschlusselungsverfahren nach Anspruch 25 dadurch gekennzeichnet, daß das Verfahren den folgenden weiteren Entschlusselungsschntt umfaßtDecryption method according to claim 25, characterized in that the method comprises the following further decryption step
zyklisches Rotieren der Bit in dem Ruckkopplungsspeicher (F), um eine vorbestimmte Zahl von Bit nach linkscyclically rotating the bits in the feedback memory (F) a predetermined number of bits to the left
Entschlusselungsverfahren nach einem der Ansprüche 16 bis 26, dadurch gekennzeichnet, daß in der Folge von verschlüsselten Zeichen eine vorbestimmte Zahl von π aufeinander folgenden verschlüsselten Zeichen als ein Operand gleichzeitig verarbeitet wird, wobei nach der letztmoglichen Speicherzelle noch (n-1 ) Speicherzellen in jedem Speicherfeld verfugbar sind, wobei aus jedem Speicherfeld eine Folge von n aufeinanderfolgenden Speicherzellen als ein Operand für die Verknüpfung mit den n aufeinanderfolgenden verschlüsselten Zeichen bzw mit n aufeinander folgenden Zellen anderer Speicherfelder verwendet wirdDecryption method according to one of Claims 16 to 26, characterized in that, in the sequence of encrypted characters, a predetermined number of π consecutive encrypted characters are processed simultaneously as one operand, with (n-1) memory cells in each memory field after the last possible memory cell are available, a sequence of n consecutive memory cells from each memory field being used as an operand for the linkage with the n consecutive encrypted characters or with n consecutive cells of other memory fields
Entschlusselungsverfahren nach den Ansprüchen 16 bis 24, dadurch gekennzeichnet, daß der fünfte, sechste, siebte und achte Operator Additionsoperatoren, der zweite und dritte Operator Exklusivoderoperatoren und der erste und vierte Operator Subtraktionsoperatoren sindDecryption method according to claims 16 to 24, characterized in that the fifth, sixth, seventh and eighth operator are addition operators, the second and third operator are exclusive or operators and the first and fourth operator are subtraction operators
Entschlusselungsverfahren nach einem der Ansprüche 17 oder 19 bis 28, dadurch gekennzeichnet, daß die Zahlen der Speicherzellen jeweils zweier Speicherfelder teilerfremd sind Entschlusselungsverfahren nach einem der Ansprüche 17 oder 19 bis 28, dadurch gekennzeichnet, daß die Zahlen der Speicherzellen vor der maximal möglichen Speicherzelle einschließlich der maximal möglichen Speicherzelle jeweils zweier Speicherfelder teilerfremd sindDecoding method according to one of claims 17 or 19 to 28, characterized in that the numbers of the memory cells are two prime to each other Decoding method according to one of Claims 17 or 19 to 28, characterized in that the numbers of the memory cells in front of the maximum possible memory cell, including the maximum possible memory cell, are each prime to two
Datenverarbeitungsprogramm vorzugsweise in auf einem Datenträger gespeicherter Form zum Ausfuhren eines Verschlusselungsverfahrens nach einem der Ansprüche 1 bis 15 und/oder zum Durchfuhren eines Entschlusselungsverfahrens nach einem der Ansprüche 16 bis 30Data processing program, preferably in a form stored on a data carrier, for carrying out an encryption process according to one of claims 1 to 15 and / or for carrying out a decryption process according to one of claims 16 to 30
Verschlusselungsvornchtung mit einer Speichereinnchtung und einer Recheneinrichtung zur Durchfuhrung des Verfahrens gemäß einem der Ansprüche 1 - 15Encryption device with a memory device and a computing device for carrying out the method according to one of claims 1-15
Entschlusselungsvornchtung mit einer Speichereinnchtung und einer Recheneinrichtung zur Durchfuhrung des Verfahrens gemäß einem der Ansprüche 16 - 30 Decryption device with a memory device and a computing device for carrying out the method according to one of Claims 16-30
PCT/EP1999/009865 1999-05-18 1999-12-13 Encryption and decryption method, data processing program, and encryption and decryption device WO2000070816A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU30380/00A AU3038000A (en) 1999-05-18 1999-12-13 Encryption and decryption method, data processing program, and encryption and decryption device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19922780.2 1999-05-18
DE1999122780 DE19922780A1 (en) 1999-05-18 1999-05-18 Coding process to code sequence of plain symbols by means of computer device has storage of starting value in feedback store plus addition of content of storage cell to content of feedback store

Publications (1)

Publication Number Publication Date
WO2000070816A1 true WO2000070816A1 (en) 2000-11-23

Family

ID=7908400

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP1999/009865 WO2000070816A1 (en) 1999-05-18 1999-12-13 Encryption and decryption method, data processing program, and encryption and decryption device

Country Status (3)

Country Link
AU (1) AU3038000A (en)
DE (1) DE19922780A1 (en)
WO (1) WO2000070816A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797921A (en) * 1984-11-13 1989-01-10 Hitachi, Ltd. System for enciphering or deciphering data
WO1998027730A2 (en) * 1996-12-18 1998-06-25 Koninklijke Philips Electronics N.V. Method and device for providing controlled access video signals without providing a signal in the clear

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797921A (en) * 1984-11-13 1989-01-10 Hitachi, Ltd. System for enciphering or deciphering data
WO1998027730A2 (en) * 1996-12-18 1998-06-25 Koninklijke Philips Electronics N.V. Method and device for providing controlled access video signals without providing a signal in the clear

Also Published As

Publication number Publication date
AU3038000A (en) 2000-12-05
DE19922780A1 (en) 2000-11-23

Similar Documents

Publication Publication Date Title
DE69031736T2 (en) ENCRYPTION METHOD
DE69736148T2 (en) Method and device for data encryption
DE19827904C2 (en) Block cipher or decipher method and block cipher or decipher device
DE69929251T2 (en) ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH
EP2433242B1 (en) Use of a string of characters in systems of cryptography, statistics, simulation, randomization, gaming machines and the like
DE69429126T2 (en) Hardware arrangement for encryption of bit blocks with renewal of the key with each iteration
DE3689510T2 (en) Data obfuscation device and method.
DE112006001221T5 (en) Pseudorandom number generation system, encryption system and decryption system
DE3883057T2 (en) Method and arrangement for encrypting a digital signal.
DE19831347C2 (en) Initialization program for a coding data generator
DE60224603T2 (en) Method based on a graphically implemented algorithm for generating and filtering data sequences for cryptographic applications
EP3127272B1 (en) Encryption method and pseudo-random number generator
WO2005043803A1 (en) Cryptographic method and device
DE69103562T2 (en) Device for condensing digital data.
DE10352680A1 (en) Encryption device and encryption method
WO2000070816A1 (en) Encryption and decryption method, data processing program, and encryption and decryption device
WO2005045685A1 (en) Method for storing data in a random access memory and encryption and decryption device
DE102004010666B4 (en) Key bit stream generation
DE102008023577A1 (en) Symmetrical algorithm for coding and decoding of byte sequences, has byte sequence encoded or decoded in block with variable long key, where byte sequence is extended to certain length
DE102018113772A1 (en) encryption method
DE19757370C2 (en) Process for the tactile generation of pseudo-random data words
DE19922780A9 (en) Coding process to code sequence of plain symbols by means of computer device has storage of starting value in feedback store plus addition of content of storage cell to content of feedback store
EP2288073B1 (en) Apparatus for encrypting data
EP2835931A1 (en) Method for encryption of character strings
DE10158003B4 (en) Method for generating keys for data encryption and method for data encryption

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: CA

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载