Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Connexion
Les utilisateurs de lecteurs d'écran peuvent cliquer sur ce lien pour activer le mode d'accessibilité. Celui-ci propose les mêmes fonctionnalités principales, mais il est optimisé pour votre lecteur d'écran.

Brevets

  1. Recherche avancée dans les brevets
Numéro de publicationDE4016203 A1
Type de publicationDemande
Numéro de demandeDE19904016203
Date de publication21 nov. 1991
Date de dépôt19 mai 1990
Date de priorité19 mai 1990
Autre référence de publicationWO1991018460A1
Numéro de publication19904016203, 904016203, DE 4016203 A1, DE 4016203A1, DE-A1-4016203, DE19904016203, DE4016203 A1, DE4016203A1, DE904016203
InventeursRolf Prof Dr Trautner
DéposantRolf Prof Dr Trautner
Exporter la citationBiBTeX, EndNote, RefMan
Liens externes: DPMA (Office allemand des brevets et des marques), Espacenet
Verfahren zur blockweisen chiffrierung von digitalen daten Method for block enciphering of digital data Langue du texte original : Allemand
DE 4016203 A1
Résumé
The process is for the blockwise coding of digital or digitised analog data. At a moment j, the plain text is read into a first operation register as a binary data block (T)<(j)> of L bits and then converted there into an intermediate text C1<(j)> by means of a temporary code S1<(j)> and a reversible function F. The intermediate text C1<(j)> is then transferred in parallel to a second operation register in which it is converted into an intermediate text C2<(j)> by means of a temporary code S2<(j)> and the reversible function F. After a total of R such conversion steps there exists the intermediate text CR<(j)> representing the code text C<(j)> at moment j, whereby the transfer of the individual intermediate texts from one operation register to the next takes place simultaneously in parallel in accordance with the systolic algorithm. The conversion of the data block in operation register k takes place in several steps, whereby the number of steps is set and the individual steps are formed by rapid elementary operations. The sequence of the elementary operations is determined by a variable permutation Pik<(j)> which forms part of the code Sk<(j)> and is so formed that each of the conversion steps is completed precisely once.
Revendications(20)  Langue du texte original : Allemand
1. Verfahren zur blockweisen Chiffrierung von digitalen Daten oder von digitalisierten analogen Daten, bei welchem zu einem Zeitpunkt j der zu chiffrierende Klartext als binärer Datenblock T (j) von L Bit in ein erstes Operationsregister ( 1 ) eingelesen und anschließend darin mittels eines temporären Schlüssels S₁ (j) und einer umkehrbaren Funktion F zu einem Zwischentext C₁ (j) umgewandelt wird, worauf der Zwischentext C₁ (j) parallel in ein zweites Operationsregister ( 2 ) übertragen wird, in welchem der Zwischentext C₁ (j) mittels eines temporären Schlüssels S₂ (j) und der umkehrbaren Funktion F zu einem Zwischentext C₂ (j) umgewandelt wird, so daß nach insgesamt R solcher Umwandlungsschritte der den Chiffretext C (j) zum Zeitpunkt j darstellende Zwischentext C R (j) entsteht, wobei die Übertragung der einzelnen Zwischentexte von dem einen in das nachfolgende Operationsregister entsprechend dem systolischen Algorithmus gleichzeitig parallel erfolgt, dadurch gekennzeichnet, daß die Umwandlung des im Operationsregister k stehenden Datenblocks in mehreren Umwandlungsschritten erfolgt, wobei die Anzahl der Umwandlungsschritte festgelegt ist und die einzelnen Umwandlungsschritte von schnellablaufenden Elementaroperationen gebildet sind, deren Reihenfolge von einer variablen Permutation Pi k (j) bestimmt wird, die Teil des Schlüssels S k (j) und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird. Read: 1. A method for block encryption of digital data or digitized analogue data, wherein at a time point j of the to be encrypted plaintext binary data block T (j) of L bits in a first operation registers (1), and then therein by means of a temporary key S₁ (j) and a reversible function F to an intermediate text C₁ (j) is converted, and then the intermediate text C₁ (j) is transmitted in parallel in a second operation registers (2) in which the intermediate text C₁ (j) by a temporary key S₂ (j) and the reversible function F to an intermediate text C₂ (j) is converted so that after a total of R such conversion steps resulting ciphertext C (j) at time j representing intermediate text C R (j), the transfer of the individual intermediate texts from the one in the subsequent operation register shall be in accordance with the systolic algorithm simultaneously in parallel, characterized in that the conversion of the operation register k-standing block of data via several conversion steps, the number of transformation steps is set and the individual conversion steps and fast-elementary operations are formed, the order from a variable permutation Pi k (j) is determined, the part of the key S k (j) and is formed so that each of the conversion steps is performed exactly once.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Schlüssel S₁ (1) , S₂ (1) , . 2. The method according to claim 1, characterized in that the key S₁ (1), S₂ (1). . , ., S R (1) zum ersten Zeitpunkt als Startschlüssel vorgesehen sind und für eine festgelegte Anzahl von Zeitpunkten unverändert übernommen werden. ., S R (1) are provided for the first time as the start key and unchanged Times for a fixed number.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Startschlüssel für 2R Zeitpunkte unverändert übernommen werden. 3. The method according to claim 2, characterized in that the start key be used unchanged for 2R time points.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen aus der Rückführung eines bestimmten Zwischentextes gebildet werden. 4. The method according to claim 2 or 3, characterized in that said following the start key keys are formed as recursive functions from the return of a certain intermediate text.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Rückführung des Zwischentextes über Zwischenregister zeitlich verzögert erfolgt. 5. The method according to claim 4, characterized in that the recirculation of the intermediate text is delayed over intermediate register time.
6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen S k (j) =f k (S k (j-1) , C R/2 (j-2R)) berechnet werden. 6. The method according to any one of claims 2 to 5, characterized in that the following key to the start key than recursive functions S k (j) = f k (S k (j-1), C R / 2 (j-2R) ) can be calculated.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß in jedem der Operationsregister ( 1 , 2 , 3 , 4 ) insgesamt zehn Umwandlungsschritte erfolgen, wobei hierfür zehn unterschiedliche Elementaroperationen benutzt werden. 7. The method according to any one of claims 1 to 6, characterized in that in each of the operation registers (1, 2, 3, 4) a total of ten conversion steps are carried out, wherein for this purpose ten different elementary operations are used.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß für jeden der Umwandlungsschritte der Datenblock zunächst in ein eigenes Unterregister ( 5 ) übertragen, dort die Elementaroperation durchgeführt und dann der Datenblock an das Operationsregister ( 1 , 2 , 3 , 4 ) rückübertragen wird, wobei die Elementaroperationen von speziellen Teilschlüsseln des temporären Schlüssels S k (j) abhängen. 8. The method according to any one of claims 1 to 7, characterized in that for each of the transformation steps, the data block first in its own sub-tab (5) is transmitted, there performed the elementary operation, and then the data block to the operation registers (1, 2, 3, 4 ) is retransmitted, the elementary operations of special partial keys of the temporary key S k (j) depend.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß das Operationsregister ( 1 , 2 , 3 , 4 ) für jeden Umwandlungsschritt den Datenblock an sämtliche Unterregister ( 5 ) überträgt, der Datenblock in allen Unterregistern ( 5 ) der jeweiligen Elementaroperation unterworfen wird, und anschließend das Operationsregister ( 1 , 2 , 3 , 4 ) den Datenblock des durch die Permutation Pi k (j) bestimmten Unterregisters ( 5 ) übernimmt. 9. The method according to claim 8, characterized in that the operation registers (1, 2, 3, 4) for each conversion step the data block to all sub-register (5) transmits the data block in all registers (5) of each elementary operation is subjected, and Subsequently, the operation register (1, 2, 3, 4) of the data block by the permutation Pi k (j) specific sub-register (5) takes over.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer Addition besteht, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel a=(alpha i )₀ L-1 der Ausgabeblock y=(y i )₀ L-1 berechnet wird durch y i =x i +alpha i mod 2=x i ⊕ alpha i . 10. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consisting of an addition, wherein the input block x = (x i)L-1 and the subkey a = (alpha i)L-1 the output block y = (y i)L-1 is calculated by y i = x i + alpha i mod 2 = x i ⊕ alpha i.
11. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einem bedingten Austausch besteht, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel b=(beta i )₀ L/2-1 der Ausgabeblock y=(y i ) dadurch berechnet wird, daß x i und x i+L/2 ausgetauscht werden, falls beta i =1 ist. 11. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of a conditional exchange, wherein the input block x = (x i)L-1 and the subkey b = (beta i)L / 2-1 of the output block y = (y i) is calculated, characterized in that x i and x i + exchanged L / 2, if i = 1 beta.
12. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einem bedingten Austausch besteht, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel b=(beta i )₀ L/2-1 der Ausgabeblock y=(y i ) dadurch berechnet wird, daß x i und x L-1-i ausgetauscht werden, falls beta i =1 ist. 12. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of a conditional exchange, wherein the input block x = (x i)L-1 and the subkey b = (beta i)L / 2-1 of the output block y = (y i) is calculated, characterized in that x i and x i L-1 to be replaced, if beta i = 1.
13. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer 2er Matrix-Multiplikation besteht, bei der der L-Bit Block zunächst in L/2 2-Bit Blöcke aufgespalten und anschließend auf einen jeden solchen eine der Matrix-Operationen angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird. 13. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of a of 2 matrix multiplication, wherein the L-bit block initially split blocks into L / 2 2 bit, and then to each such a the matrix operations is applied, the selection of which is controlled by a respective 2-bit key.
14. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus 3er-Permutationen besteht, für die der L-Bit Block zunächst in [L/3] 3-Bit Untermengen aufgespalten und auf jeder Untermenge eine Permutation ausgeführt wird, wobei die Auswahl jeweils durch einen 3-Bit-Schlüssel erfolgt. 14. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations from 3 permutations is carried out a permutation of the L-bit block initially [3 L /] 3-bit split into subsets and each subset is, the selection being made in each case by a 3-bit key.
15. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer 4-Bit-Abbildung besteht, für die zunächst der L-Bit Block in L/4 4-Bit Blöcke aufgespalten wird, wobei das Element eines solchen 4-Bit Blocks als eine Zahl zwischen 0 und 15, dh als Element von Z₁₆= {0, 1, 2, . 15. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of a 4-bit image, for the first of the L-bit block in L / 4 four-bit blocks is split, wherein the element of a such a 4-bit block as a number between 0 and 15, that is as an element of Z₁₆ = {0, 1, 2,. . , ., 15} aufgefaßt wird, worauf 4 bÿektive Abbildungen Phi₁, Phi₂, Phi₃, Phi₄ auf Z₁₆ betrachtet werden und jeweils eine davon auf einen 4-Bit Block angewandt wird, wobei die Auswahl durch einen 2-Bit Schlüssel erfolgt. ., 15} is taken, after which 4 bÿektive pictures Phi₁, Phi₂, Phi₃, Phi₄ be viewed on Z₁₆ and each one of which is applied to a 4-bit block, the selection is made by a 2-bit key.
16. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer 4-Bit zyklischen Faltung besteht, bei der zunächst der L-Bit Block in L/4 4-Bit Blöcke aufgespalten und dann auf jedem der Blöcke eine zyklische Faltung y=x*c mit ausgeführt wird, wobei c=(c i )₀³ ungerade Parität hat und ein 3-Bit Schlüssel pro 4-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert. 16. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of a 4-bit cyclic convolution, in which first the L-bit block in L / 4 four-bit blocks split and then to each of the blocks a cyclic convolution y = x * c is carried out with, where c is = (c i) ₀³ odd parity and a 3-bit control keys for each 4-bit block choosing between the parameter vectors c.
17. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer 8-Bit zyklischen Faltung besteht, bei der zunächst der L-Bit Block in L/8 8-Bit Blöcke aufgespalten und dann auf jedem der Blöcke eine zyklische Faltung y=x*c mit ausgeführt wird, wobei c=(c i )₀⁷ ungerade Parität hat und ein 7-Bit Schlüssel pro 8-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert. 17. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of an 8-bit cyclic convolution, in which first the L-bit block in L / 8 8-bit blocks is split and then to each of the blocks a cyclic convolution y = x * c is carried out with, where c is = (c i) ₀⁷ odd parity and a 7-bit key controls for each 8-bit block choosing between the parameter vectors c.
18. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer zyklischen Verschiebung C m besteht, bei der der L-Bit Block um m=k · L/16 Bit zyklisch verschoben wird, wobei die Auswahl des Wertes k durch einen ₂log L/16 Bit-Schlüssel erfolgt. 18. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations C m consists of a cyclic shift, wherein the L-bit block to k = m · L / 16 bits is cyclically shifted, whereby the selection of the value is k by a ₂log L / 16 bit key.
19. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer 16-Bit variablen zyklischen Verschiebung besteht, bei der zunächst der L-Bit Block in L/16 16-Bit Blöcke aufgeteilt, dann zu jedem der 16-Bit Blöcke das Hamming-Gewicht w(x) berechnet und schließlich jeder Block um w(x) Positionen zyklisch verschoben wird, so daß y=C w(x) · x ist. 19. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations variable from a 16-bit cyclic shift is, in the first of the L-bit block in L / 16 16-bit divided blocks, then to each of the 16-bit blocks, the Hamming weight w (x) is calculated and finally each block to w (x) cyclically shifted positions, so that y = C w (x) · x.
20. Verfahren nach Anspruch 11 oder 12, dadurch gekennzeichnet, daß der dort beschriebene bedingte Austausch ersetzt wird durch einen allgemeinen bedingten Austausch, wobei der Gesamtblock in L/2 Teilmengen aufgeteilt wird und die Elemente der i-ten Teilmenge ausgetauscht werden, falls beta i =1 ist für einen L/2-Bit Teilschlüssel beta=(beta i )₀ L/2-1 . 20. The method according to claim 11 or 12, characterized in that the there described conditional exchange is replaced by a general conditional exchange, wherein the total block in L / 2 subsets is divided and the elements of the i-th subset to be exchanged, if beta i = 1 for a L / 2-bit subkey beta = (beta i)L / 2-1.
Description  Langue du texte original : Allemand

Die Erfindung betrifft ein Verfahren zur blockweisen Chiffrierung von digitalen Daten oder von digitalisierten analogen Daten, bei welchem zu einem Zeitpunkt j der zu chiffrierende Klartext als binärer Datenblock T (j) von L Bit in ein erstes Operationsregister eingelesen und anschließend darin mittels eines temporären Schlüssels S₁ (j) und einer umkehrbaren Funktion F zu einem Zwischentext C₁ (j) umgewandelt wird, worauf der Zwischentext C₁ (j) parallel in ein zweites Operationsregister übertragen wird, in welchem der Zwischentext C₁ (j) mittels eines temporären Schlüssels S₂ (j) und der umkehrbaren Funktion F zu einem Zwischentext C₂ (j) umgewandelt wird, so daß nach insgesamt R solcher Umwandlungsschritte der den Chiffretext C (j) zum Zeitpunkt j darstellende Zwischentext C R (j) entsteht, wobei die Übertragung der einzelnen Zwischentexte von dem einen in das nachfolgende Operationsregister entsprechend dem systolischen Algorithmus gleichzeitig parallel erfolgt. The invention relates to a method for blockwise encryption of digital data or digitized analogue data, wherein at a time point j of the to be encrypted plaintext binary data block T (j) by L bits are read in a first operation registers, and then therein by means of a temporary key S₁ (j) and a reversible function F to an intermediate text C₁ (j) is converted, and then the intermediate text C₁ (j) is transmitted in parallel in a second operation registers in which the intermediate text C₁ (j) by a temporary key S ₂ (j) and the reversible function F to an intermediate text C₂ (j) is converted so that arises after a total of R such conversion steps of the ciphertext C (j) at time j representing intermediate text C R (j), the transfer of the individual intermediate texts from the one in the subsequent operation registers corresponding to the systolic algorithm is performed simultaneously in parallel.

Ein derartiges Chiffrierverfahren ohne den systolischen Algorithmus ist unter der Bezeichnung DES-Verfahren bekannt und beispielsweise von J. Seberry et al. Such ciphering without the systolic algorithm is known under the name of the process and, for example, by J. Seberry et al. in "Cryptography: An Introduction to Computer Security", Prentice Hall beschrieben. "An Introduction to Computer Security Cryptography" described in Prentice Hall.

Nachteilig bei diesem bekannten Verfahren ist jedoch die nicht ausreichend hohe Verarbeitungsgeschwindigkeit, die bei heutigen kryptographischen Anwendungen und gebräuchlichen Datenübertragungsgeschwindigkeiten gefordert wird. A disadvantage of this known method, however, is not sufficiently high processing speed that is required in today's cryptographic applications and common data transfer speeds.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art so zu verbessern, daß auch bei den derzeit gebräuchlichen Datenübertragungsgeschwindigkeiten im Bereich von 140 MBit/sec eine synchrone Chiffrierung möglich ist, wobei zugleich eine Erhöhung der Datensicherheit bei nur geringem Mehraufwand an Hardware erreicht werden soll. The invention is based on the object to improve a method of the type mentioned so that even with the currently used data transmission speeds in the range of 140 Mbit / sec synchronous encryption is possible, and at the same time achieves an increase in data security with little overhead of hardware should be.

Diese Aufgabe wird nach der Erfindung dadurch gelöst, daß die Umwandlung des im Operationsregister k stehenden Datenblocks in mehreren Umwandlungsschritten erfolgt, wobei die Anzahl der Umwandlungsschritte festgelegt ist und die einzelnen Umwandlungsschritte von schnellablaufenden Elementaroperationen gebildet sind, deren Reihenfolge von einer variablen Permutation Pi k (j) bestimmt wird, die Teil des Schlüssels S k (j) und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird. This object is achieved according to the invention is characterized in that the conversion of the operation register k-standing block of data via several conversion steps, the number of transformation steps is set and the individual transformation steps are formed and fast-elementary operations whose order of a variable permutation Pi k (j ) is determined, the part of the key S k (j) and so formed is that each of the conversion steps is performed exactly once.

Der durch die Erfindung erreichte Fortschritt besteht im wesentlichen darin, daß durch Anwendung von Elementaroperationen außergewöhnlich hohe Verarbeitungsgeschwindigkeiten erreicht werden, da hierfür meist nur ein einziger Zeittakt erforderlich ist. The progress achieved by the invention consists essentially in the fact that unusually high processing speeds can be achieved by the application of elementary operations, since for this purpose, only a single clock is required usually. Durch die frei wählbare und sich laufend ändernde Reihenfolge der ablaufenden Elementaroperationen wird dennoch bei vergleichsweise geringem Aufwand eine außergewöhnlich hohe Datensicherheit erreicht. Its adjustable and constantly changing sequence of elementary operations running an unusually high level of data security but with relatively little effort. Da die Permutation variabel ist und vom Zeitpunkt j abhängt und die Permutation als rekursive Funktion für jeden Zeitpunkt j neu bestimmt wird, stehen für jedes Operationsregister und jeden Zeitpunkt j insgesamt 10! Since the permutation is variable and depends on the time j and the permutation is determined as a recursive function for each time point j new, are available for each operation registers and each time j total of 10! verschiedene Permutationen zur Verfügung. different permutations available. Bei einer Anzahl von R Operationsregistern kann somit für jeden Zeitpunkt aus (10!) R verschiedenen Abbildungen jeweils eine neue ausgewählt werden. In a number of registers R operation can thus for each time point from (10!) R different pictures are selected in each case a new one. Bereits bei R=4 erhält man einen zusätzlichen Sicherheitsfaktor von (10!)⁴<1,73 · 10²⁶, wobei hierfür ein außerordentlich geringer Mehraufwand an Hardware von etwa 20% erforderlich ist. Already at R = 4 we obtain an additional safety factor of (10!) ⁴ <1.73 · 10²⁶, for which purpose a very slight overhead of hardware of about 20% is required. Für die Länge L des Datenblocks wird zweckmäßig eine Zweierpotenz gewählt. For the length L of the data block a power of two is chosen appropriately.

Für den Beginn einer Datenübertragung sieht das Verfahren vor, daß die Schlüssel S₁ (1) , S₂ (1) , . For the beginning of a data transmission, the method provides that the key S₁ (1), S₂ (1). . , ., S R (1) zum ersten Zeitpunkt als Startschlüssel vorgegeben sind und für eine festgelegte Anzahl von Zeitpunkten unverändert übernommen werden. ., S R (1) are given for the first time as the start key and unchanged Times for a fixed number. Der Satz von Startschlüsseln muß beiden Teilnehmern gemeinsam bekannt sein und kann etwa durch ein modernes Public Key Verfahren ausgeteilt sein. The set of start keys must be known both parties together and can be dealt with as a modern public key algorithms. Die möglichen Vorteile eines gewählten Klartext-Angriffs (bei welchem dem Angreifer ein Chiffriergerät vorliegt) gegenüber einem bekannten Klartext-Angriff (bei welchem dem Angreifer Klar- und zugehöriger Chiffriertext vorliegen), können dadurch ausgeschlossen werden, daß grundsätzlich eine Vorphase von ca. 1 sec vorgeschaltet wird, in der ein (nicht beeinflußbares) physikalisches weißes Rauschen chiffriert übermittelt und erst dann der zu übermittelnde Text chiffriert wird. The possible benefits of a chosen plaintext attack (in which the attacker an encryption device is present) to a known plaintext attack (in which the attacker plaintext and the corresponding ciphertext present), can be excluded that in principle a preliminary phase of about 1 sec is mounted on top of a (can not be influenced) physical white noise transmitted encrypted and only then is the text to be transmitted is encrypted.

Vorteilhaft kann hierbei sein, daß die Startschlüssel für 2R Zeitpunkte unverändert übernommen werden. Advantageous here may be that the ignition key be used unchanged for 2R time points.

In bevorzugter Verfahrensweise nach der Erfindung werden die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen aus der Rückführung eines bestimmten Zwischentextes gebildet. In a preferred method according to the invention the following on the Start key keys are formed as recursive functions from the return of a certain intermediate text. Dies hat den Vorteil, daß ein Zugriff auf die die folgenden Schlüssel generierenden Zwischentexte von außen in der Regel nicht möglich ist. This has the advantage that an access to the following key generating intermediate text is not possible from the outside, as a rule.

Dabei kann auch vorgesehen sein, daß die Rückführung des Zwischentextes über Zwischenregister zeitlich verzögert erfolgt. It can also be provided for the return of the intermediate text is delayed beyond temporary register in time. Die Zeitverschiebung ist notwendig wegen der Zeitverschiebung durch den systolischen Algorithmus: Der Empfänger kann erst nach 2R Zeiteinheiten entschlüsselt haben und ist dann im Besitz sämtlicher zugehöriger Zwischentexte. The time difference is necessary because of the time difference by the systolic algorithm: The receiver can have decrypted after 2R units of time and is then in possession of all the associated intermediate texts.

In besonders zweckmäßiger Ausgestaltung der Erfindung ist vorgesehen, daß die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen In a particularly advantageous embodiment of the invention, it is provided that the following key to the start key as recursive functions
S k (j) =f k (S k (j-1) , C R/2 (j-2R) ) berechnet werden. S k (j) = f k (S k (j-1), C R / 2 (j-2R)) are calculated.

Grundsätzlich kann die Zahl der in einem Operationsregister durchzuführenden Elementaroperationen frei gewählt werden. In principle, the number of elementary operations to be performed in an operating register can be chosen freely. Im Hinblick auf die zur Verfügung stehende Zahl sinnvoller und zeitlich kurzer Operationen sieht die Erfindung vor, daß in jedem der Operationsregister insgesamt zehn Umwandlungsschritte erfolgen, wobei hierfür zehn unterschiedliche Elementaroperationen benutzt werden. In view of the available number of meaningful and short time operations, the invention provides that take place in each of the operation register a total of ten conversion steps, this ten different elementary operations are used.

Als vorteilhaft hat sich dabei erwiesen, daß für jeden der Umwandlungsschritte der Datenblock zunächst in ein eigenes Unterregister übertragen, dort die Elementaroperation durchgeführt und dann der Datenblock an das Operationsregister rückübertragen wird, wobei die Elementaroperationen von speziellen Teilschlüsseln des temporären Schlüssels S k (j) abhängen. As has been found advantageous here that initially transferred for each of the conversion steps of data block in its own sub-tab, there performed the elementary operation and then the data block is transferred back to the operation register, the elementary operations of special partial keys of the temporary key S k (j) depend , Hierbei ist es weiter günstig, wenn das Operationsregister für jeden Umwandlungsschritt den Datenblock an sämtliche Unterregister überträgt, der Datenblock in allen Unterregistern der jeweiligen Elementaroperation unterworfen wird, und anschließend das Operationsregister den Datenblock des durch die Permutation Pi k (j) bestimmten Unterregisters übernimmt. It is more favorable when the operation registers for each conversion step transmits the data block to all sub-tab, the data block is subjected in all registers of each elementary operation, and then the operation register takes the data block of the permutation Pi k (j) specific sub-register.

Im Rahmen der Erfindung sind die folgenden Elementaroperationen vorgesehen: In the context of the invention, the following elementary operations are provided:

Eine erste Elementaroperation kann aus einer Addition bestehen, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel a=(alpha i )₀ L-1 der Ausgabeblock y=(y i )₀ L-1 berechnet wird durch y i =x i +alpha i mod 2=x i ⊕ alpha i . A first elementary operation may consist of an addition, with the input block x = (x i)L-1 and the subkey a = calculated (alpha i)L-1 of the output block y = (y i)L-1 by y i = x i + alpha i mod 2 = x i ⊕ alpha i.

Eine zweite Elementaroperation kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel b=(beta i )₀ L/2-1 der Ausgabeblock y=(y i ) dadurch berechnet wird, daß x i und x i+L/2 ausgetauscht werden, falls beta i =1 ist. A second elementary operation may consist of a conditional exchange, in which the input block x = (x i)L-1 and the subkey b = (beta i)L / 2-1 of the output block y = (y i) is calculated by in that x i and x i + exchanged L / 2, if i = 1 beta.

Eine dritte Elementaroperation kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel b=(beta i )₀ L/2-1 der Ausgabeblock y=(y i ) dadurch berechnet wird, daß x i und x L-1-i ausgetauscht werden, falls beta i =1 ist. A third elementary operation may consist of a conditional exchange, in which the input block x = (x i)L-1 and the subkey b = (beta i)L / 2-1 of the output block y = (y i) is calculated by in that x i and x exchanged L-1-i are, if beta i = 1.

Eine vierte Elementaroperation kann aus einer 2er Matrix-Multiplikation bestehen, bei der der L-Bit Block zunächst in L/2 2-Bit Blöcke aufgespalten und anschließend auf einen jeden solchen eine der Matrix-Operationen A fourth elementary operation may consist of a matrix multiplication of 2, wherein the L-bit block initially split into L / 2 2-bit blocks, and then each such a matrix operations

angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird. is applied, the selection of which is controlled by a respective 2-bit key.

Eine fünfte Elementaroperation kann aus 3er-Permutationen bestehen, für die der L-Bit Block zunächst in [L/3] 3-Bit Untermengen aufgespalten und auf jeder Untermenge eine Permutation ausgeführt wird, wobei die Auswahl jeweils durch einen 3-Bit Schlüssel erfolgt. A fifth elementary operation may consist of 3 permutations for which the L-bit block is first [3 L /] 3-bit split into subsets and executed on each subset is a permutation, the selection being made in each case by a 3-bit key.

Eine sechste Elementaroperation kann aus einer 4-Bit-Abbildung bestehen, für die zunächst der L-Bit Block in L/4 4-Bit Blöcke aufgespalten wird, wobei das Element eines solchen 4-Bit Blocks als eine Zahl zwischen 0 und 15, dh als Element von Z₁₆={0, 1, 2, . A sixth elementary operation may consist of a 4-bit image, for the first of the L-bit block in L / 4 four-bit blocks is split, wherein the element of such a 4-bit block as a number between 0 and 15, that as an element of Z₁₆ = {0, 1, 2,. . , ., 15} aufgefaßt wird, worauf 4 bÿektive Abbildungen Phi₁, Phi₂, Phi₃, Phi₄ auf Z₁₆ betrachtet werden und jeweils eine davon auf einen 4-Bit Block angewandt wird, wobei die Auswahl durch einen 2-Bit Schlüssel erfolgt. ., 15} is taken, after which 4 bÿektive pictures Phi₁, Phi₂, Phi₃, Phi₄ be viewed on Z₁₆ and each one of which is applied to a 4-bit block, the selection is made by a 2-bit key.

Eine siebte Elementaroperation kann aus einer 4-Bit zyklischen Faltung bestehen, bei der zunächst der L-Bit Block in L/4 4-Bit Blöcke aufgespalten und dann auf jedem der Blöcke eine zyklische Faltung y=x*c mit A seventh elementary operation may consist of a 4-bit cyclic convolution, in which first the L-bit block in L / 4 four-bit blocks and then split to each of the blocks a cyclic convolution y = x * C with

ausgeführt wird, wobei c=(c i )₀³ ungerade Parität hat und ein 3-Bit Schlüssel pro 4-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert. is performed, where c = (c i) ₀³ odd parity and has a 3-bit control keys per 4-bit block the selection among the parameter vectors c.

Eine achte Elementaroperation kann aus einer 8-Bit zyklischen Faltung bestehen, bei der zunächst der L-Bit Block in L/8 8-Bit Blöcke aufgespalten und dann auf jedem der Blöcke eine zyklische Faltung y=x*c mit An eighth elementary operation may consist of a 8-bit cyclic convolution, in which first the L-bit block in L / 8 8-bit blocks and then split to each of the blocks a cyclic convolution y = x * C with

ausgeführt wird, wobei c=(c i )₀⁷ ungerade Parität hat und ein 7-Bit Schlüssel pro 8-Bit-Block die Auswahl und den Parameter-Vektoren c steuert. is performed, where c = (c i) ₀⁷ odd parity and has a 7-bit key for each 8-bit block controls the selection and the parameter vectors c.

Eine neunte Elementaroperation kann aus einer zyklischen Verschiebung C m bestehen, bei der der L-Bit Block um m=k · L/16 Bit zyklisch verschoben wird, wobei die Auswahl des Wertes k durch einen ₂log L/16 Bit-Schlüssel erfolgt. A ninth elementary operation may consist of a cyclic shift C m, wherein the L-bit block to k = m · L / 16 bits is cyclically shifted, whereby the selection of the value k is carried out by a ₂log L / 16 bit key.

Eine zehnte Elementaroperation kann aus einer 16-Bit variablen zyklischen Verschiebung bestehen, bei der zunächst der L-Bit Block in L/16 16-Bit Blöcke aufgeteilt, dann zu jedem der 16-Bit Blöcke das Hamming-Gewicht w(x) berechnet und schließlich jeder Block um w(x) Positionen zyklisch verschoben wird, so daß y=C w(x) · x ist. A tenth elementary operation may be variable from a 16-bit cyclic shift, first, the L-bit block in L / 16 16-bit divided in blocks, then blocks calculated at each of the 16-bit, the Hamming weight w (x) and Finally, each block to w (x) cyclically shifted positions, so that y = C w (x) · x.

Schließlich besteht auch die Möglichkeit, daß der schon beschriebene bedingte Austausch ersetzt wird durch einen allgemeinen bedingten Austausch, wobei der Gesamtblock in L/2 Teilmengen aufgeteilt wird und die Elemente der i-ten Teilmenge ausgetauscht werden, falls beta i =1 ist für einen L/2-Bit Teilschlüssel beta=(beta i )₀ L/2-1 . Finally, it is also possible that the already-described conditional exchange is replaced by a general conditional exchange, wherein the total block in L / 2 subsets is divided and the elements of the i-th subset to be exchanged, if beta i = 1 is for a L / 2-bit subkey beta = (beta i)L / 2-1.

Im folgenden wird die Erfindung unter Bezugnahme auf die Zeichnung im einzelnen erläutert; In the following the invention with reference to the drawings is explained in detail; es zeigen: in which:

Fig. 1 eine schematische Darstellung einer Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens, Fig. 1 is a schematic representation of an apparatus for performing the method according to the invention,

Fig. 2 eine ebenfalls schematische Detaildarstellung eines Ausschnitts des Gegenstands nach Fig. 1. Fig. 2 is a likewise schematic detail view of a section of the article of FIG. 1st

Das im folgenden beschriebene Verfahren dient zur blockweisen Chiffrierung von digitalen Daten oder von digitalisierten analogen Daten, bei welchem zu einem Zeitpunkt j der zu chiffrierende Klartext T (j) als binärer Datenblock von L Bit in ein erstes Operationsregister 1 eingelesen und anschließend darin mittels eines temporären Schlüssels S₁ (j) und einer umkehrbaren Funktion F zu einem Zwischentext C₁ (j) umgewandelt wird. The process described below serves for blockwise encryption of digital data or digitized analogue data, wherein at a time point j of the to be encrypted plaintext T (j) is read as binary data block of L bits in a first operation register 1 and then it temporarily by means of a key S₁ (j) and a reversible function F to an intermediate text C₁ (j) is converted. Der Zwischentext C₁ (j) wird anschließend parallel in ein zweites Operationsregister 2 übertragen, in welchem der Zwischentext C₁ (j) mittels eines temporären Schlüssels S₂ (j) und der umkehrbaren Funktion F zu einem Zwischentext C₂ (j) umgewandelt wird. The interim text C₁ (j) is then transmitted in parallel in a second operation registers 2, wherein the intermediate text C₁ (j) by a temporary key S ₂ (j) and the reversible function F to an intermediate text C₂ (j) is converted. Nach insgesamt R solcher Umwandlungsschritte entsteht der den Chiffretext C (j) zum Zeitpunkt j darstellende Zwischentext C R (j) . After a total of R such conversion steps creates the ciphertext C (j) at time j representing intermediate text C R (j). Die Übertragung der einzelnen Zwischentexte von dem einen in das nachfolgende Operationsregister erfolgt entsprechend dem systolischen Algorithmus gleichzeitig parallel, so daß eine Erhöhung der Anzahl der Operationsregister sich nicht auf die mittlere Durchlaufzeit auswirkt, sondern nur eine höhere Zeitverschiebung bewirkt. The transfer of the individual intermediate texts from the one made in the subsequent operation registers corresponding to the systolic algorithm simultaneously in parallel, so that an increase in the number of operation register does not affect the mean flow time, but only a higher time shift causes. Die Umwandlung des im Operationsregister k stehenden Datenblocks erfolgt in mehreren Umwandlungsschritten, wobei die Anzahl der Umwandlungsschritte festgelegt ist und die einzelnen Umwandlungsschritte von schnellablaufenden Elementaroperationen gebildet sind. The conversion of the operation register k-standing block of data via several conversion steps, the number of transformation steps is set and the individual transformation steps are formed and fast-elementary operations. Die Reihenfolge dieser Elementaroperationen wird von einer variablen Permutation Pi k (j) bestimmt, die Teil des Schlüssels S k (j) und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird. The order of these elementary operations is of a variable permutation Pi k (j) determines the part of the key S k (j) and is formed so that each of the conversion steps is performed exactly once. Die Elementaroperationen können hardwaremäßig sehr schnell realisiert werden, so daß sie zumeist nach einer Taktzeit abgeschlossen sind. The elementary operations can be implemented in hardware very quickly so that they are usually completed within a cycle time.

Die Schlüssel S₁ (1) , S₂ (1) , . The key S₁ (1), S₂ (1). . , ., S R (1) werden zum ersten Zeitpunkt als Startschlüssel vorgegeben und müssen beiden Teilnehmern etwa durch ein Public Key Verfahren bekannt sein. ., S R (1) can be specified for the first time as the start key and both parties must be known about by a public key algorithms. Diese Startschlüssel werden für eine festgelegte Anzahl von Zeitpunkten, etwa für 2R Zeitpunkte, unverändert übernommen. This startup key are unchanged for a specified number of times, for about 2R time points.

Die auf den Startschlüssel folgenden Schlüssel werden dann als rekursive Funktionen aus der Rückführung eines bestimmten Zwischentextes gebildet. The following on the Start key keys are then formed as recursive functions from the return of a certain intermediate text. Die Verwendung eines Zwischentextes gegenüber dem Klartext oder dem Chiffriertext (die bei einem Chosen-Plaintext-Angriff beide bekannt sind) hat den Vorteil, daß dieser wegen der nur internen Verwendung nicht bekannt wird. The use of an intermediate text over the plaintext or ciphertext the (known in a chosen-plaintext attack both) has the advantage that it is not known for its internal use only.

Hierbei ist im übrigen vorgesehen, daß die Rückführung des Zwischentextes über Zwischenregister zeitlich verzögert erfolgt. It is provided, moreover, that the return of the intermediate text is delayed beyond temporary register in time. Im einzelnen werden die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen Specifically, the following key to the start key as recursive functions
S k (j) =f k (S k (j-1) , C R/2 (J-2R) ) S k (j) = f k (S k (j-1), C R / 2 (J-2R))
berechnet. calculated.

In jedem der Operationsregister 1 , 2 , 3 , 4 erfolgen, wie sich aus der Fig. 2 zeigt, insgesamt zehn Umwandlungsschritte, wobei hierfür zehn unterschiedliche Elementaroperationen benutzt werden. Take place in each of the operation registers 1, 2, 3, 4, as can be seen from Fig. 2, a total of ten conversion steps, wherein for this purpose ten different elementary operations are used. Für jeden der Umwandlungsschritte wird der Datenblock zunächst in ein eigenes Unterregister 5 übertragen und dort die Elementaroperation durchgeführt. For each of the conversion steps of data block is first transferred into a separate sub-tab 5 and there performed the elementary operation. Dann wird der Datenblock an das Operationsregister 1 , 2 , 3 , 4 rückübertragen, wobei die Elementaroperationen von speziellen Teilschlüsseln des temporären Schlüssels S k (j) abhängen. Then, the data block is transmitted back to the operation registers 1, 2, 3, 4, wherein the elementary operations of special partial keys of the temporary key S k (j) depend.

Aus schaltungstechnischen Gründen ist es vorteilhaft, daß das Operationsregister für jeden Umwandlungsschritt den Datenblock an sämtliche Unterregister 5 überträgt. Due to circuit reasons, it is preferable that the operation registers for each conversion step transmits the data frame to all sub-tab 5. Dort wird der Datenblock in allen Unterregistern 5 der jeweiligen Elementaroperation unterworfen. There, the data block in all registers 5 each elementary operation is subjected. Anschließend übernimmt das Operationsregister 1 , 2 , 3 , 4 jedoch nur den Datenblock des Unterregisters 5 , das durch die Permutation Pi k (j) bestimmt ist. Subsequently, however, the operation registers 1, 2, 3, 4 accepts only the data block of the sub-register 5, which is determined by the permutation Pi k (j).

Die Elementaroperation des ersten Unterregisters kann aus einer Addition bestehen, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel a=(alpha i )₀ L-1 der Ausgabeblock y=(y i )₀ L-1 berechnet wird durch y i =x i +alpha i mod 2=x i ⊕ alpha i . The elementary operation of the first register may consist of an addition, with the input block x = (x i)L-1 and the subkey a = (alpha i)L-1 of the output block y = (y i)L-1 is calculated by y i = x i + alpha i mod 2 = x i ⊕ alpha i.

Die Elementaroperation des zweiten Unterregisters kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel b=(beta i )₀ L/2-1 der Ausgabeblock y=(y i ) dadurch berechnet wird, daß x i und x i+L/2 ausgetauscht werden, falls beta i =1 ist. The elementary operation of the second register may consist of a conditional exchange, in which the input block x = (x i)L-1 and the subkey b = (beta i)L / 2-1 of the output block y = (y i) by it is calculated that x i and x i + exchanged L / 2, if i = 1 beta.

Die Elementaroperation des dritten Unterregisters kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(x i )₀ L-1 und den Teilschlüssel b=(beta i )₀ L/2-1 der Ausgabeblock y=(y i ) dadurch berechnet wird, daß x i und x L-1-i ausgetauscht werden, falls beta i =1 ist. The elementary operation of the third register may consist of a conditional exchange, in which the input block x = (x i)L-1 and the subkey b = (beta i)L / 2-1 of the output block y = (y i) by it is calculated that x i and x exchanged L-1-i are, if beta i = 1.

Die Elementaroperation des vierten Unterregisters kann aus einer 2er Matrix-Multiplikation bestehen, bei der der L-Bit Block zunächst in L/2 2-Bit Blöcke aufgespalten und anschließend auf einen jeden solchen eine der Matrix-Operationen The elementary operation of the fourth register may consist of a matrix multiplication of 2, wherein the L-bit block initially split into L / 2 2-bit blocks, and then each such a matrix operations

angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird. is applied, the selection of which is controlled by a respective 2-bit key.

Die Elementaroperation des fünften Unterregisters kann aus 3er-Permutationen bestehen, für die der L-Bit Block zunächst in [L/3] 3-Bit Untermengen aufgespalten und auf jeder Untermenge eine Permutation ausgeführt wird, wobei die Auswahl jeweils durch einen 3-Bit Schlüssel erfolgt. The elementary operation of the fifth sub-register may consist of 3-permutations for which the L-bit block on each subset of a permutation is first [3 L /] 3-bit split into subsets and executed, the selection in each case by a 3-bit key carried out.

Die Elementaroperation des sechsten Unterregisters kann aus einer 4-Bit-Abbildung bestehen, für die zunächst der L-Bit Block in L/4 4-Bit Blöcke aufgespalten wird, wobei das Element eines solchen 4-Bit Blocks als eine Zahl zwischen 0 und 15, dh als Element von Z₁₆={0, 1, 2, . The elementary operation of the sixth sub-register may comprise a 4-bit image, for the first of the L-bit block in L / 4 four-bit blocks is split, wherein the element of such a 4-bit block as a number between 0 and 15 , that is as an element of Z₁₆ = {0, 1, 2,. . , ., 15} aufgefaßt wird, worauf 4 bÿektive Abbildungen Phi₁, Phi₂, Phi₃, Phi₄ auf Z₁₆ betrachtet werden und jeweils eine davon auf einen 4-Bit Block angewandt wird, wobei die Auswahl durch einen 2-Bit Schlüssel erfolgt. ., 15} is taken, after which 4 bÿektive pictures Phi₁, Phi₂, Phi₃, Phi₄ be viewed on Z₁₆ and each one of which is applied to a 4-bit block, the selection is made by a 2-bit key.

Die Elementaroperation des siebten Unterregisters kann aus einer 4-Bit zyklischen Faltung bestehen, bei der zunächst der L-Bit Block in L/4 4-Bit Blöcke aufgespalten und dann auf jedem der Blöcke eine zyklische Faltung y=x*c mit The elementary operation of the seventh sub-register may comprise a 4-bit cyclic convolution, in which first the L-bit block in L / 4 four-bit blocks and then split to each of the blocks a cyclic convolution y = x * C with

ausgeführt wird, wobei c=(c i )₀³ ungerade Parität hat und ein 3-Bit Schlüssel pro 4-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert. is performed, where c = (c i) ₀³ odd parity and has a 3-bit control keys per 4-bit block the selection among the parameter vectors c.

Die Elementaroperation des achten Unterregisters kann aus einer 8-Bit zyklischen Faltung bestehen, bei der zunächst der L-Bit Block in L/8 8-Bit Blöcke aufgespalten und dann auf jedem der Blöcke eine zyklische Faltung y=x*c mit The elementary operation of the eighth sub-register may consist of a 8-bit cyclic convolution, in which first the L-bit block in L / 8 8-bit blocks and then split to each of the blocks a cyclic convolution y = x * C with

ausgeführt wird, wobei c=(c i )₀⁷ ungerade Parität hat und ein 7-Bit Schlüssel pro 8-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert. is performed, where c = (c i) ₀⁷ odd parity and has a 7-bit key controls for each 8-bit block choosing between the parameter vectors c.

Die Elementaroperation des neunten Unterregisters kann aus einer zyklischen Verschiebung C m bestehen, bei der der L-Bit Block um m=k · L/16 Bit zyklisch verschoben wird, wobei die Auswahl des Wertes k durch einen ₂log L/16 Bit-Schlüssel erfolgt. The elementary operation of the ninth sub-register may comprise a cyclic shift C m, wherein the L-bit block of m = k * L / 16 bits is cyclically shifted, whereby the selection of the value k is carried out by a ₂log L / 16 bit key ,

Die Elementaroperation des zehnten Unterregisters kann aus einer 16-Bit variablen zyklischen Verschiebung bestehen, bei der zunächst der L-Bit Block in L/16 16-Bit Blöcke aufgeteilt, dann zu jedem der 16-Bit Blöcke das Hamming-Gewicht w(x) berechnet und schließlich jeder Block um w(x) Positionen zyklisch verschoben wird, so daß y=C w(x) · x ist. The elementary operation of the tenth sub-register may be variable from a 16-bit cyclic shift, first, the L-bit block in L / 16 16-bit divided in blocks, then each of the 16-bit blocks, the Hamming weight w (x) calculated, and finally, each block is cyclically shifted to w (x) positions, so that y = C w (x) · x.

Es ist jedoch auch möglich, daß der für das zweite bzw. dritte Unterregister beschriebene bedingte Austausch ersetzt wird durch einen allgemeinen bedingten Austausch, wobei der Gesamtblock in L/2 Teilmengen aufgeteilt wird und die Elemente der i-ten Teilmenge ausgetauscht werden, falls beta i =1 ist für einen L/2-Bit Teilschlüssel beta=(beta i )₀ L/2-1 . However, it is also possible that the described for the second and third sub-registers conditional exchange is replaced by a general conditional exchange, wherein the total block in L / 2 subsets is divided and the elements of the i-th subset to be exchanged, if beta i = 1 for a L / 2-bit subkey beta = (beta i)L / 2-1.

Die Dechiffrierung erfolgt mit demselben Gerät wie die Chiffrierung dadurch, daß der Chiffriertext C (j) in das R-te Operationsregister eingelesen und dort in den Zwischentext C R-1 (j) umgewandelt wird. Decryption is performed with the same device as the encryption fact that the ciphertext C (j) is read into the R-th operation register where it is converted into the intermediate text C R-1 (j). Dieser Zwischentext wird in entsprechender Weise wie bei der Chiffrierung, nur in umgekehrter Richtung, durch die einzelnen Operationsregister geschickt, wodurch sukzessiv die entsprechenden Zwischentexte und schließlich zuletzt der gewünschte Klartext geliefert wird. This intermediate text is sent in the same manner as in the cipher, but in the opposite direction through each operation registers which successively the corresponding intermediate texts and finally the last desired plaintext is delivered. Die Umkehrabbildung durch die einzelnen Umwandlungsschritte wird durch dieselbe Abbildung F in den einzelnen Operationsregistern beschrieben. The inverse mapping through the individual conversion steps is described by the same mapping F in each operation registers. Die invertierende Wirkung wird dadurch erzielt, daß der jeweilige Schlüssel durch einen inversen Schlüssel ersetzt wird. The inverting effect is achieved in that the respective key is replaced by an inverse key.

Bei der 3er-Permutation erfolgt die Invertierung dadurch, daß die zugehörigen inversen Permutationen in der analogen Reihenfolge aufgelistet werden. In the 3-permutation inversion occurs in that its inverse permutations are listed in the order analog. Wird durch den Schlüssel bei der Chiffrierung die k-te Permutation Pi k ausgewählt, dann wird durch denselben Schlüssel bei der Dechiffrierung die inverse Permutation Pi k -1 ausgewählt. Is selected by the key at enciphering the k-th permutation Pi k, then the inverse permutation Pi k -1 is selected by the same key for deciphering.

Bei der 4-Bit-Abbildung erfolgt die Invertierung dadurch, daß die inversen Abbildungen Phi₁ -1 , Phi₂ -1 , Phi₃ -1 , Phi₄ -1 in der gleichen Reihenfolge aufgelistet und durch denselben Schlüssel ausgewählt werden. In the 4-bit image inversion occurs in that the inverse images Phi₁ -1, -1 Phi₂, Phi₃ -1, -1 Phi₄ be listed in the same order and selected by the same key.

Bei der 4-Bit zyklischen Faltung geschieht die Invertierung dadurch, daß die inversen Faktoren C -1 in derselben Reihenfolge aufgelistet und durch denselben Schlüssel ausgewählt werden. In the 4-bit cyclic convolution inversion occurs in that the inverse C -1 factors listed in the same order and selected by the same key.

Bei der zyklischen Verschiebung erfolgt die Invertierung durch zyklische Verschiebung um -m=-k · L/16 Bit. In cyclic shift, the inversion is performed by cyclic shift -m = -k · L / 16 bit.

Bei der 16-Bit variablen zyklischen Verschiebung erfolgt die Invertierung dadurch, daß das Hamming-Gewicht von y berechnet wird, also C w(y) und um -w(y) Positionen zyklisch verschoben wird, so daß x=C -w(y) · y. In the cyclic shift 16-bit variable the inversion is effected in that the Hamming weight of y is calculated, that is, C w (y) and is cyclically shifted by -w (y) positions, so that x = -w C (y ) · y. Hier ist zu beachten, daß w(x)=w(y), wobei ein Schlüssel hier nicht auftritt. Here is to be noted that w (x) = w (y), where a key does not occur here.

Référencé par
Brevet citant Date de dépôt Date de publication Déposant Titre
DE19724072A1 *7 juin 199710 déc. 1998Deutsche Telekom AgVorrichtung zur Durchführung eines Blockchiffrierverfahrens
DE19724072C2 *7 juin 19971 avr. 1999Deutsche Telekom AgVorrichtung zur Durchführung eines Blockchiffrierverfahrens
EP0874496A2 *23 avr. 199828 oct. 1998Matsushita Electric Industrial Co., Ltd.Cryptographic processing apparatus, cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
EP0874496A3 *23 avr. 19985 avr. 2000Matsushita Electric Industrial Co., Ltd.Cryptographic processing apparatus, cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
US645979222 avr. 19981 oct. 2002Matsushita Electric Industrial Co., Ltd.Block cipher using key data merged with an intermediate block generated from a previous block
US676043913 mai 19986 juil. 2004Deutsche Telekom AgDevice for implementing a block-ciphering process
US714267328 nov. 199728 nov. 2006Otkrytoye aktsionernoye obschestvo “Moskovskaya Gorodskaya Telefonnaya Set”Method for the cryptographic conversion of L-bit input blocks of digital data into L-bit output blocks
USRE446974 sept. 20127 janv. 2014Mosaid Technologies IncorporatedEncryption processor with shared memory interconnect
WO1997044935A1 *13 mai 199727 nov. 1997Philips Electronics N.V.Cryptographic method and apparatus for non-linearly merging a data block and a key
WO1998057461A1 *13 mai 199817 déc. 1998Deutsche Telekom AgDevice for carrying out a block cipher method
WO1999000930A1 *28 nov. 19977 janv. 1999Otkrytoe Aktsionernoe Obschestvo 'moskovskaya GoroMethod for the cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks
WO2002073878A1 *13 mars 200219 sept. 2002GemplusElectronically-controlled electric wire switching device
Classifications
Classification internationaleH04L9/06
Classification coopérativeH04L2209/125, H04L9/0625
Classification européenneH04L9/06R, H04L9/06V
Événements juridiques
DateCodeÉvénementDescription
7 mai 19978139Disposal/non-payment of the annual fee