DE4016203A1 - METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA - Google Patents

METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA

Info

Publication number
DE4016203A1
DE4016203A1 DE19904016203 DE4016203A DE4016203A1 DE 4016203 A1 DE4016203 A1 DE 4016203A1 DE 19904016203 DE19904016203 DE 19904016203 DE 4016203 A DE4016203 A DE 4016203A DE 4016203 A1 DE4016203 A1 DE 4016203A1
Authority
DE
Germany
Prior art keywords
bit
block
key
register
elementary operations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19904016203
Other languages
German (de)
Inventor
Rolf Prof Dr Trautner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19904016203 priority Critical patent/DE4016203A1/en
Priority to PCT/DE1991/000413 priority patent/WO1991018460A1/en
Publication of DE4016203A1 publication Critical patent/DE4016203A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Abstract

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.

Description

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 CR (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 block-by-block encryption of digital data or digitized analog data, in which at a point in time j the plaintext to be encrypted is read as a binary data block T (j) of L bit into a first operation register and then therein by means of a temporary key S 1 (j) and a reversible function F is converted to an intermediate text C₁ (j) , whereupon the intermediate text C₁ (j) is transferred in parallel to a second operation register in which the intermediate text C₁ (j) by means of a temporary key S₂ (j) and the reversible function F is converted to an intermediate text C₂ (j) , so that after a total of R such conversion steps, the intermediate text C R (j) representing the ciphertext C (j) at time j is formed, the transfer of the individual intermediate texts from one into the subsequent operation register is performed simultaneously in parallel according to the systolic algorithm.

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

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

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 has for its object a method of the type mentioned to improve so that even the currently used  Data transfer speeds in the range of 140 Mbit / sec a synchronous encryption is possible, while at the same time increasing data security at only little additional hardware is to be achieved.

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 Pik (j) bestimmt wird, die Teil des Schlüssels Sk (j) und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird.This object is achieved according to the invention in that the conversion of the data block in the operation register k takes place in several conversion steps, the number of conversion steps being fixed and the individual conversion steps being formed by fast-running elementary operations, the order of which is determined by a variable permutation Pi k (j ) is determined, which is part of the key S k (j) and is formed such that each of the conversion steps is carried out 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. 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. 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! verschiedene Permutationen zur Verfügung. Bei einer Anzahl von R Operationsregistern kann somit für jeden Zeitpunkt aus (10!)R verschiedenen Abbildungen jeweils eine neue ausgewählt werden. 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. Für die Länge L des Datenblocks wird zweckmäßig eine Zweierpotenz gewählt.The progress achieved by the invention essentially consists in the fact that exceptionally high processing speeds are achieved by using elementary operations, since this usually requires only a single time cycle. Due to the freely selectable and constantly changing sequence of the elementary operations, an exceptionally high level of data security is achieved with comparatively little effort. Since the permutation is variable and depends on the time j and the permutation as a recursive function is newly determined for each time j, there are a total of 10 for each operation register and each time j! different permutations are available. With a number of R operation registers, a new one can be selected for each point in time from (10!) R different images. Even at R = 4 you get an additional safety factor of (10!) ⁴ <1.73 · 10²⁶, which requires an extraordinarily small additional hardware expenditure of around 20%. A power of two is expediently chosen for the length L of the data block.

Für den Beginn einer Datenübertragung sieht das Verfahren vor, daß die Schlüssel S₁(1), S₂(1), . . ., SR (1) zum ersten Zeitpunkt als Startschlüssel vorgegeben sind und für eine festgelegte Anzahl von Zeitpunkten unverändert übernommen werden. Der Satz von Startschlüsseln muß beiden Teilnehmern gemeinsam bekannt sein und kann etwa durch ein modernes Public Key Verfahren ausgeteilt sein. 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.For the start of a data transmission, the method provides that the keys S₁ (1) , S₂ (1) ,. . ., S R (1) are specified as start keys at the first point in time and are adopted unchanged for a specified number of times. The set of start keys must be known to both participants together and can be distributed using a modern public key procedure, for example. The possible advantages of a selected plaintext attack (in which the attacker has a ciphering device) over a known plaintext attack (in which the attacker has clear and associated ciphertext) can be excluded by the fact that a preliminary phase of approx. 1 sec is connected upstream, in which a physical white noise (which cannot be influenced) is transmitted in encrypted form and only then is the text to be transmitted encrypted.

Vorteilhaft kann hierbei sein, daß die Startschlüssel für 2R Zeitpunkte unverändert übernommen werden.It can be advantageous here that the start key for 2R times are taken over unchanged.

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. 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.In a preferred procedure according to the invention the keys following the start key as recursive functions from returning a particular Intermediate text formed. This has the advantage that a Access to the keys that generate the following Intermediate texts from the outside are usually not possible.

Dabei kann auch vorgesehen sein, daß die Rückführung des Zwischentextes über Zwischenregister zeitlich verzögert erfolgt. 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. It can also be provided that the return of the Intermediate text delayed via intermediate register he follows. The time difference is necessary because of the Time difference due to the systolic algorithm: The Receiver can only be decrypted after 2R time units have and is then in the possession of all related ones Intermediate texts.  

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

Grundsätzlich kann die Zahl der in einem Operationsregister durchzuführenden Elementaroperationen frei gewählt werden. 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.Basically, the number of in one Elementary operations to be performed can be freely chosen. With regard to the available standing number of sensible and short operations The invention provides that in each of the Operation register a total of ten conversion steps take place, whereby ten different Elementary operations can be 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 Sk (j) abhängen. 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 Pik (j) bestimmten Unterregisters übernimmt.It has proven to be advantageous that for each of the conversion steps the data block is first transferred to its own sub-register, the elementary operation is carried out there, and the data block is then transferred back to the operation register, the elementary operations depending on special subkeys of the temporary key S k (j) . It is further advantageous if the operation register transfers the data block to all sub-registers for each conversion step, the data block in all sub-registers is subjected to the respective elementary operation, and then the operation register takes over the data block of the sub-register determined by the permutation Pi k (j) .

Im Rahmen der Erfindung sind die folgenden Elementaroperationen vorgesehen:The following are within the scope of the invention Elementary operations provided:

Eine erste Elementaroperation kann aus einer Addition bestehen, wobei für den Eingabeblock x=(xi)₀L-1 und den Teilschlüssel a=(alphai)₀L-1 der Ausgabeblock y=(yi)₀L-1 berechnet wird durch yi=xi+alphai mod 2=xi ⊕ alphai.A first elementary operation can consist of an addition, the output block y = (y i ) ₀ L-1 being calculated for the input block x = (x i ) ₀ L-1 and the partial key a = (alpha 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=(xi)₀L-1 und den Teilschlüssel b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch berechnet wird, daß xi und xi+L/2 ausgetauscht werden, falls betai=1 ist.A second elementary operation can consist of a conditional exchange, whereby the output block y = (y i ) is calculated for the input block x = (x i ) ₀ L-1 and the subkey b = (beta i ) ₀ L / 2-1 that x i and x i + L / 2 are exchanged if beta i = 1.

Eine dritte Elementaroperation kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(xi)₀L-1 und den Teilschlüssel b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch berechnet wird, daß xi und xL-1-i ausgetauscht werden, falls betai=1 ist.A third elementary operation can consist of a conditional exchange, whereby the output block y = (y i ) is calculated for the input block x = (x i ) ₀ L-1 and the subkey b = (beta i ) ₀ L / 2-1 that x i and x L-1-i are exchanged 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-OperationenA fourth elementary operation can consist of a 2 Matrix multiplication exist in which the L-bit block first split into L / 2 2-bit blocks and then on each such one of the matrix operations

angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird.is applied, their selection by one 2-bit key is controlled.

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 can be done Triple permutations exist for which the L-bit block first split into [L / 3] 3-bit subsets and open permutation is performed on each subset, where the selection is made using 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, d. h. als Element von 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.A sixth elementary operation can consist of one 4-bit mapping exist, for which the L-bit block initially is split into L / 4 4-bit blocks, with the element of such a 4-bit block as a number between 0 and 15, d. H. as an element of Z₁₆ = {0, 1, 2,. . ., 15} is understood, whereupon 4 b Abbildungenective pictures Phi₁,  Phi₂, Phi₃, Phi₄ are considered on Z₁₆ and one of them is applied to a 4-bit block, the selection is made using 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 mitA seventh elementary operation can consist of a 4-bit cyclic convolution exist, in which the L bit first Block split into L / 4 4-bit blocks and then on each of the blocks with a cyclic convolution y = x * c

ausgeführt wird, wobei c=(ci)₀³ ungerade Parität hat und ein 3-Bit Schlüssel pro 4-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert.is executed, where c = (c i ) ₀³ has odd parity and one 3-bit key per 4-bit block controls 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 mitAn eighth elementary operation can consist of an 8 bit cyclic convolution exist, in which the L bit first Block split into L / 8 8-bit blocks and then on each of the blocks with a cyclic convolution y = x * c

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

Eine neunte Elementaroperation kann aus einer zyklischen Verschiebung Cm 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 can consist of a cyclic shift C m , in which the L-bit block is shifted cyclically by m = k · L / 16 bits, the value k being selected using 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=Cw(x) · x ist.A tenth elementary operation can consist of a 16-bit variable cyclic shift, in which the L-bit block is first divided into L / 16 16-bit blocks, then the Hamming weight w (x) is calculated for each of the 16-bit blocks and finally each block is cyclically shifted by w (x) 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 betai=1 ist für einen L/2-Bit Teilschlüssel beta=(betai)₀L/2-1.Finally, there is also the possibility that the conditional exchange already described is replaced by a general conditional exchange, the total block being divided into L / 2 subsets and the elements of the i-th subset being exchanged if beta i = 1 for an L / 2-bit partial key beta = (beta i ) ₀ L / 2-1 .

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

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 shows a likewise schematic detailed illustration of a section of the object according to FIG. 1.

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. 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. Nach insgesamt R solcher Umwandlungsschritte entsteht der den Chiffretext C(j) zum Zeitpunkt j darstellende Zwischentext CR (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. 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. Die Reihenfolge dieser Elementaroperationen wird von einer variablen Permutation Pik (j) bestimmt, die Teil des Schlüssels Sk (j) und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird. Die Elementaroperationen können hardwaremäßig sehr schnell realisiert werden, so daß sie zumeist nach einer Taktzeit abgeschlossen sind.The method described below is used for block-by-block encryption of digital data or digitized analog data, in which, at a point in time j, the plaintext T (j) to be encrypted is read into a first operation register 1 as a binary data block of L bits and then therein by means of a temporary one Key S₁ (j) and a reversible function F is converted to an intermediate text C₁ (j) . The intermediate text C₁ (j) is then transmitted in parallel in a second operation register 2, in which the intermediate text C₁ (j) by means of a temporary key S₂ (j) and the reversible function F is converted to an intermediate text C₂ (j). After a total of R such conversion steps, the intermediate text C R (j) representing the ciphertext C (j) at time j is formed. The transfer of the individual intermediate texts from the one into the subsequent operation register takes place simultaneously in accordance with the systolic algorithm, so that an increase in the number of operation registers does not affect the average throughput time, but only causes a higher time shift. The data block in the operation register k is converted in several conversion steps, the number of conversion steps being fixed and the individual conversion steps being formed by fast-running elementary operations. The order of these elementary operations is determined by a variable permutation Pi k (j) , which is part of the key S k (j) and is formed such that each of the conversion steps is carried out exactly once. The elementary operations can be implemented very quickly in terms of hardware, so that they are usually completed after a cycle time.

Die Schlüssel S₁(1), S₂(1), . . ., SR (1) werden zum ersten Zeitpunkt als Startschlüssel vorgegeben und müssen beiden Teilnehmern etwa durch ein Public Key Verfahren bekannt sein. Diese Startschlüssel werden für eine festgelegte Anzahl von Zeitpunkten, etwa für 2R Zeitpunkte, unverändert übernommen.The keys S₁ (1) , S₂ (1) ,. . ., S R (1) are specified as the start key at the first point in time and must be known to both participants by a public key method, for example. These start keys are adopted unchanged for a specified number of times, for example for 2R times.

Die auf den Startschlüssel folgenden Schlüssel werden dann als rekursive Funktionen aus der Rückführung eines bestimmten Zwischentextes gebildet. 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 keys following the start key will then be as recursive functions from the repatriation of a certain intermediate text. The use of a Intermediate text compared to the plain text or the Ciphertext (used in a Chosen plaintext attack both are known) has the advantage that this is because of the only internal use is not known.  

Hierbei ist im übrigen vorgesehen, daß die Rückführung des Zwischentextes über Zwischenregister zeitlich verzögert erfolgt. Im einzelnen werden die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen
Sk (j)=fk(Sk (j-1), CR/2 (J-2R))
berechnet.
It is also provided that the return of the intermediate text is delayed via intermediate registers. In particular, the keys following the start key are called recursive functions
S k (j) = f k (S k (j-1) , C R / 2 (J-2R) )
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. Für jeden der Umwandlungsschritte wird der Datenblock zunächst in ein eigenes Unterregister 5 übertragen und dort die Elementaroperation durchgeführt. 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 Sk (j) abhängen.A total of ten conversion steps take place in each of the operation registers 1 , 2 , 3 , 4 , as can be seen from FIG. 2, ten different elementary operations being used for this. For each of the conversion steps, the data block is first transferred to its own sub-register 5 and the elementary operation is carried out there. The data block is then retransmitted to the operation register 1 , 2 , 3 , 4 , the elementary operations depending on special subkeys of the temporary key S k (j) .

Aus schaltungstechnischen Gründen ist es vorteilhaft, daß das Operationsregister für jeden Umwandlungsschritt den Datenblock an sämtliche Unterregister 5 überträgt. Dort wird der Datenblock in allen Unterregistern 5 der jeweiligen Elementaroperation unterworfen. Anschließend übernimmt das Operationsregister 1, 2, 3, 4 jedoch nur den Datenblock des Unterregisters 5, das durch die Permutation Pik (j) bestimmt ist.For reasons of circuitry, it is advantageous that the operation register transfers the data block to all sub-registers 5 for each conversion step. There, the data block in all sub-registers 5 is subjected to the respective elementary operation. Subsequently, the operation register 1 , 2 , 3 , 4 takes over 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=(xi)₀L-1 und den Teilschlüssel a=(alphai)₀L-1 der Ausgabeblock y=(yi)₀L-1 berechnet wird durch yi=xi+alphai mod 2=xi ⊕ alphai.The elemental operation of the first sub-register may be composed of an addition, wherein 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=(xi)₀L-1 und den Teilschlüssel b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch berechnet wird, daß xi und xi+L/2 ausgetauscht werden, falls betai=1 ist.The elementary operation of the second sub-register can consist of a conditional exchange, whereby for the input block x = (x i ) ₀ L-1 and the subkey b = (beta i ) ₀ L / 2-1, the output block y = (y i ) it is calculated that x i and x i + L / 2 are exchanged if beta i = 1.

Die Elementaroperation des dritten Unterregisters kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(xi)₀L-1 und den Teilschlüssel b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch berechnet wird, daß xi und xL-1-i ausgetauscht werden, falls betai=1 ist.The elementary operation of the third sub-register can consist of a conditional exchange, whereby for the input block x = (x i ) ₀ L-1 and the subkey b = (beta i ) ₀ L / 2-1, the output block y = (y i ) it is calculated that x i and x L-1-i are exchanged 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-OperationenThe elementary operation of the fourth sub-register can be off a 2 matrix multiplication, in which the L-bit block first split into L / 2 2-bit blocks and  then on each such one of the Matrix operations

angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird.is applied, their selection by one 2-bit key is controlled.

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 can be off Triple permutations exist for which the L-bit block first split into [L / 3] 3-bit subsets and open permutation is performed on each subset, where the selection is made using a 3-bit key.

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, d. h. als Element von 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. The elementary operation of the sixth sub-register can consist of a 4-bit image, for which the L-bit block is split into L / 4 4-bit blocks, where the element of such a 4-bit block as a number between 0 and 15, i.e. H. as an element of Z₁₆ = {0, 1, 2,  . . ., 15} is understood, whereupon 4 bÿective illustrations Phi₁, Phi₂, Phi₃, Phi₄ considered on Z₁₆ and one each of them on a 4-bit block is applied, the selection by a 2-bit Key is done.  

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 mitThe elementary operation of the seventh sub-register can be off a 4-bit cyclic convolution, in which initially the L-bit block split into L / 4 4-bit blocks and then on each of the blocks a cyclic convolution y = x * c with

ausgeführt wird, wobei c=(ci)₀³ ungerade Parität hat und ein 3-Bit Schlüssel pro 4-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert.is executed, where c = (c i ) ₀³ has odd parity and one 3-bit key per 4-bit block controls 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 mitThe elementary operation of the eighth sub-register can be done an 8-bit cyclic convolution, in which initially the L-bit block is split into L / 8 8-bit blocks and then on each of the blocks a cyclic convolution y = x * c with

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

Die Elementaroperation des neunten Unterregisters kann aus einer zyklischen Verschiebung Cm 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 can consist of a cyclic shift C m , in which the L-bit block is shifted cyclically by m = k · L / 16 bit, the value k being selected using 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=Cw(x) · x ist.The elementary operation of the tenth sub-register can consist of a 16-bit variable cyclic shift, in which the L-bit block is first divided into L / 16 16-bit blocks, then the Hamming weight w (x) for each of the 16-bit blocks. calculated and finally each block is cyclically shifted by 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 betai=1 ist für einen L/2-Bit Teilschlüssel beta=(betai)₀L/2-1.However, it is also possible that the conditional exchange described for the second or third sub-register is replaced by a general conditional exchange, the total block being divided into L / 2 subsets and the elements of the i-th subset being exchanged if beta i = 1 for an L / 2-bit partial key 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 CR-1 (j) umgewandelt wird. 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. Die Umkehrabbildung durch die einzelnen Umwandlungsschritte wird durch dieselbe Abbildung F in den einzelnen Operationsregistern beschrieben. Die invertierende Wirkung wird dadurch erzielt, daß der jeweilige Schlüssel durch einen inversen Schlüssel ersetzt wird.The decryption is carried out with the same device as the encryption, in that the encryption text C (j) is read into the R-th operation register and converted there into the intermediate text C R-1 (j) . This intermediate text is sent through the individual operation registers in the same way as for the encryption, only in the opposite direction, as a result of which the corresponding intermediate texts are successively delivered, and finally the desired plain text. The reverse mapping through the individual conversion steps is described by the same mapping F in the individual operation registers. The inverting effect is achieved by replacing the respective key with an inverse key.

Bei der 3er-Permutation erfolgt die Invertierung dadurch, daß die zugehörigen inversen Permutationen in der analogen Reihenfolge aufgelistet werden. Wird durch den Schlüssel bei der Chiffrierung die k-te Permutation Pik ausgewählt, dann wird durch denselben Schlüssel bei der Dechiffrierung die inverse Permutation Pik -1 ausgewählt.In the case of the 3-permutation, the inversion is carried out by listing the associated inverse permutations in the analog order. If the kth permutation Pi k is selected by the key during encryption, then the inverse permutation Pi k -1 is selected by the same key during decryption.

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 mapping, the inversion takes place in that the inverse maps Phi₁ -1 , Phi₂ -1 , Phi₃ -1 , Phi₄ -1 are 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, the inversion takes place in that the inverse factors C -1 are 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.The inversion takes place during the cyclical shift by cyclical shift by -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 Cw(y) und um -w(y) Positionen zyklisch verschoben wird, so daß x=C-w(y) · y. Hier ist zu beachten, daß w(x)=w(y), wobei ein Schlüssel hier nicht auftritt.In the 16-bit variable cyclic shift, the inversion is carried out by calculating the Hamming weight of y, i.e. C w (y) and shifting cyclically by -w (y) positions, so that x = C -w (y ) · Y. It should be noted here that w (x) = w (y), although a key does not occur here.

Claims (20)

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 CR (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 Pik (j) bestimmt wird, die Teil des Schlüssels Sk (j) und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird.1. A method for block-by-block encryption of digital data or digitized analog data, in which, at a point in time j, the plaintext to be encrypted is read as a binary data block T (j) of L bits into a first operation register ( 1 ) and then therein by means of a temporary key S₁ (j) and a reversible function F is converted to an intermediate text C₁ (j) , whereupon the intermediate text C₁ (j) is transferred in parallel to a second operation register ( 2 ), in which the intermediate text C₁ (j) by means of a temporary key S₂ (j) and the reversible function F is converted to an intermediate text C₂ (j) , so that after a total of R such conversion steps, the intermediate text C R (j) representing the ciphertext C (j) at time j is produced, the transmission of the individual intermediate texts from the one into the subsequent operation register in accordance with the systolic algorithm takes place simultaneously in parallel, thereby gek indicates that the conversion of the data block in the operation register k takes place in several conversion steps, the number of conversion steps being fixed and the individual conversion steps being formed by fast-running elementary operations, the order of which is determined by a variable permutation Pi k (j) which is part of the Key S k (j) and is formed so that each of the conversion steps is carried out exactly once. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Schlüssel S₁(1), S₂(1), . . ., SR (1) zum ersten Zeitpunkt als Startschlüssel vorgesehen sind und für eine festgelegte Anzahl von Zeitpunkten unverändert übernommen werden.2. The method according to claim 1, characterized in that the key S₁ (1) , S₂ (1) ,. . ., S R (1) are provided as start keys at the first point in time and are adopted unchanged for a fixed number of times. 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 starting keys for 2R times remain unchanged be taken over. 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 marked that on the starting key  following key as recursive functions from the Return of a certain intermediate text formed will. 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 return of the intermediate text about Intermediate register is delayed. 6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen Sk (j)=fk(Sk (j-1), CR/2 (j-2R)) berechnet werden.6. The method according to any one of claims 2 to 5, characterized in that the keys following the start key as 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 a total of ten conversion steps take place in each of the operation registers ( 1 , 2 , 3 , 4 ), ten different elementary operations being used for this. 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 Sk (j) abhängen.8. The method according to any one of claims 1 to 7, characterized in that for each of the conversion steps, the data block is first transferred to its own sub-register ( 5 ), the elementary operation is carried out there and then the data block to the operation register ( 1 , 2 , 3 , 4 ) is transferred back, the elementary operations depending on special subkeys of the temporary key S k (j) . 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 Pik (j) bestimmten Unterregisters (5) übernimmt.9. The method according to claim 8, characterized in that the operation register ( 1 , 2 , 3 , 4 ) for each conversion step transfers the data block to all sub-registers ( 5 ), the data block in all sub-registers ( 5 ) is subjected to the respective elementary operation, and then the operation register ( 1 , 2 , 3 , 4 ) takes over the data block of the sub-register ( 5 ) determined by the permutation Pi k (j) . 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=(xi)₀L-1 und den Teilschlüssel a=(alphai)₀L-1 der Ausgabeblock y=(yi)₀L-1 berechnet wird durch yi=xi+alphai mod 2=xi ⊕ alphai.10. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of an addition, wherein for the input block x = (x i ) ₀ L-1 and the partial key 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=(xi)₀L-1 und den Teilschlüssel b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch berechnet wird, daß xi und xi+L/2 ausgetauscht werden, falls betai=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 for the input block x = (x i ) ₀ L-1 and the partial key b = (beta i ) ₀ L / 2-1 the output block y = (y i ) is calculated by exchanging x i and x i + L / 2 if beta i = 1. 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=(xi)₀L-1 und den Teilschlüssel b=(betai)₀L/2-1 der Ausgabeblock y=(yi) dadurch berechnet wird, daß xi und xL-1-i ausgetauscht werden, falls betai=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 for the input block x = (x i ) ₀ L-1 and the partial key b = (beta i ) ₀ L / 2-1 the output block y = (y i ) is calculated by exchanging x i and x L-1-i 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 2 matrix multiplication, in which the L-bit block is first split into L / 2 2-bit blocks and then one for each of the matrix operations is applied, the selection of which is controlled by a 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 characterized that one of the elementary operations from There are 3 permutations for which the L-bit block first split into [L / 3] 3-bit subsets and permutation is performed on each subset, the selection each using a 3-bit key he follows. 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, d. h. als Element von 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. The method according to any one of claims 1 to 9, characterized characterized that one of the elementary operations from a 4-bit mapping, for which the L-bit block is split into L / 4 4-bit blocks, the element of such a 4-bit block as one Number between 0 and 15, d. H. as an element of Z₁₆ = {0, 1, 2,. . ., 15} is understood, whereupon 4 bÿective Figures Phi₁, Phi₂, Phi₃, Phi₄ on Z₁₆ be considered and one at a time 4-bit block is applied, the selection by a 2-bit key is made. 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=(ci)₀³ 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 the L-bit block is first split into L / 4 4-bit blocks and then on each of the blocks a cyclic folding y = x * c with is executed, where c = (c i ) ₀³ has odd parity and one 3-bit key per 4-bit block controls the selection among 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=(ci)₀⁷ 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 the L-bit block is first split into L / 8 8-bit blocks and then on each of the blocks a cyclic folding y = x * c with is executed, where c = (c i ) ₀⁷ has odd parity and one 7-bit key per 8-bit block controls the selection among the parameter vectors c. 18. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer zyklischen Verschiebung Cm 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 consists of a cyclic shift C m , in which the L-bit block is cyclically shifted by m = k · L / 16 bits, the selection of Value k is done 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=Cw(x) · x ist.19. The method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of a 16-bit variable cyclic shift, in which the L-bit block is first divided into L / 16 16-bit blocks, then to each of the 16-bit blocks, the Hamming weight w (x) is calculated and finally each block is cyclically shifted by w (x) 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 betai=1 ist für einen L/2-Bit Teilschlüssel beta=(betai)₀L/2-1.20. The method according to claim 11 or 12, characterized in that the conditional exchange described there is replaced by a general conditional exchange, wherein the entire block is divided into L / 2 subsets and the elements of the i-th subset are exchanged if beta i = 1 for an L / 2-bit partial key beta = (beta i ) ₀ L / 2-1 .
DE19904016203 1990-05-19 1990-05-19 METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA Withdrawn DE4016203A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE19904016203 DE4016203A1 (en) 1990-05-19 1990-05-19 METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA
PCT/DE1991/000413 WO1991018460A1 (en) 1990-05-19 1991-05-18 Process for the blockwise coding of digital data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19904016203 DE4016203A1 (en) 1990-05-19 1990-05-19 METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA

Publications (1)

Publication Number Publication Date
DE4016203A1 true DE4016203A1 (en) 1991-11-21

Family

ID=6406813

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904016203 Withdrawn DE4016203A1 (en) 1990-05-19 1990-05-19 METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA

Country Status (2)

Country Link
DE (1) DE4016203A1 (en)
WO (1) WO1991018460A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997044935A1 (en) * 1996-05-20 1997-11-27 Philips Electronics N.V. Cryptographic method and apparatus for non-linearly merging a data block and a key
EP0874496A2 (en) * 1997-04-23 1998-10-28 Matsushita 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
DE19724072A1 (en) * 1997-06-07 1998-12-10 Deutsche Telekom Ag Device for carrying out a block encryption process
WO1999000930A1 (en) * 1997-11-28 1999-01-07 Otkrytoe Aktsionernoe Obschestvo 'moskovskaya Goro Method for the cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks
FR2778519A1 (en) * 1998-02-27 1999-11-12 Mosaid Technologies Inc ENCRYPTION PROCESSOR WITH SHARED MEMORY INTERCONNECTION
WO2002073878A1 (en) * 2001-03-13 2002-09-19 Gemplus Electronically-controlled electric wire switching device
CN108848073A (en) * 2018-05-31 2018-11-20 唐山智能电子有限公司 The data of real-time data acquisition system are carried out with the method and system of encrypting and decrypting

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3746098B2 (en) * 1996-02-28 2006-02-15 株式会社日立製作所 Data encryption device
AU716807B2 (en) * 1996-02-28 2000-03-09 Hitachi Limited Method and apparatus for encrypting data
DE19707288A1 (en) * 1997-02-24 1998-08-27 Andreas Kuehnl Cipher system for enciphering data
FI107669B (en) * 1998-02-13 2001-09-14 Nokia Mobile Phones Ltd Method and arrangement for encrypting data transmission
DE19807020A1 (en) * 1998-02-19 1999-08-26 Kuehnl Method of secure encoding of data for secure data communications
US6711624B1 (en) * 1999-01-13 2004-03-23 Prodex Technologies Process of dynamically loading driver interface modules for exchanging data between disparate data hosts
GB2387088B (en) * 2002-03-26 2005-06-01 Gordon Geoffrey Hodson Method and apparatus for data encryption/decryption

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH558993A (en) * 1973-03-19 1975-02-14 Patelhold Patentverwertung PROCEDURE AND DEVICE FOR ENCRYPTED MESSAGE TRANSMISSION.
DE2658065A1 (en) * 1976-12-22 1978-07-06 Ibm Deutschland MACHINE ENCRYPTION AND DECHIFREEZE
SE7714587L (en) * 1977-12-21 1979-06-22 Brendstrom Hugo COMMUNICATION SYSTEM
FR2582174B1 (en) * 1985-05-15 1990-03-09 Thomson Csf SUBSTITUTION-PERMUTATION ENCRYPTION DEVICE
US4731843A (en) * 1985-12-30 1988-03-15 Paradyne Corporation Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
US5008935A (en) * 1989-06-30 1991-04-16 At&T Bell Laboratories Efficient method for encrypting superblocks of data

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997044935A1 (en) * 1996-05-20 1997-11-27 Philips Electronics N.V. Cryptographic method and apparatus for non-linearly merging a data block and a key
US6459792B2 (en) 1997-04-23 2002-10-01 Matsushita Electric Industrial Co., Ltd. Block cipher using key data merged with an intermediate block generated from a previous block
EP0874496A2 (en) * 1997-04-23 1998-10-28 Matsushita 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 (en) * 1997-04-23 2000-04-05 Matsushita 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
DE19724072A1 (en) * 1997-06-07 1998-12-10 Deutsche Telekom Ag Device for carrying out a block encryption process
WO1998057461A1 (en) * 1997-06-07 1998-12-17 Deutsche Telekom Ag Device for carrying out a block cipher method
DE19724072C2 (en) * 1997-06-07 1999-04-01 Deutsche Telekom Ag Device for carrying out a block encryption process
US6760439B1 (en) 1997-06-07 2004-07-06 Deutsche Telekom Ag Device for implementing a block-ciphering process
US7142673B1 (en) 1997-11-28 2006-11-28 Otkrytoye aktsionernoye obschestvo “Moskovskaya Gorodskaya Telefonnaya Set” Method for the cryptographic conversion of L-bit input blocks of digital data into L-bit output blocks
WO1999000930A1 (en) * 1997-11-28 1999-01-07 Otkrytoe Aktsionernoe Obschestvo 'moskovskaya Goro Method for the cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks
FR2778519A1 (en) * 1998-02-27 1999-11-12 Mosaid Technologies Inc ENCRYPTION PROCESSOR WITH SHARED MEMORY INTERCONNECTION
USRE44697E1 (en) 1998-02-27 2014-01-07 Mosaid Technologies Incorporated Encryption processor with shared memory interconnect
FR2822310A1 (en) * 2001-03-13 2002-09-20 Gemplus Card Int ELECTRONICALLY CONTROLLED ELECTRIC WIRE SWAPPING DEVICE
WO2002073878A1 (en) * 2001-03-13 2002-09-19 Gemplus Electronically-controlled electric wire switching device
CN108848073A (en) * 2018-05-31 2018-11-20 唐山智能电子有限公司 The data of real-time data acquisition system are carried out with the method and system of encrypting and decrypting
CN108848073B (en) * 2018-05-31 2021-04-13 唐山智能电子有限公司 Method and system for encrypting and decrypting data of real-time data acquisition system

Also Published As

Publication number Publication date
WO1991018460A1 (en) 1991-11-28

Similar Documents

Publication Publication Date Title
DE19827904C2 (en) Block cipher or decipher method and block cipher or decipher device
DE69731470T2 (en) SPIRAL-scrambling
DE4016203A1 (en) METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA
EP0482154B1 (en) Device for converting a digital block and the use thereof
DE69931606T2 (en) DATA TRANSMITTER AND RECORDING MEDIUM FOR RECORDING A PROGRAM FOR DATA TRANSFORMATION
DE69916160T2 (en) Cryptographic processing apparatus and method, and recording medium for recording a cryptographic processing program for performing fast cryptographic processing without sacrificing security
DE19744961A1 (en) Generate clear and unpredictable values
DE69831982T2 (en) CRYPTOGRAPHIC COMPUTING PROCESS AND DEVICE
DE2341627A1 (en) DIGITAL DATA ENCRYPTION DEVICE
DE10148415C2 (en) Method and device for encrypting and decrypting data
DE2231835A1 (en) PROCEDURE FOR SEVERAL STAGES OF ENCODING AND DECRYPTION OF BINARY DATA
DE102008010789B4 (en) Method for the access and communication-related random encryption and decryption of data
DE60221850T2 (en) METHOD AND DEVICE FOR DATA ENCRYPTION
DE2146752B2 (en) Message transmission method with selectable coding and transmitter for carrying out this method
DE2805294C2 (en) Coding transmission system for facsimile signals
DE69729297T2 (en) ENCRYPTION DEVICE FOR BINARY CODED MESSAGES
DE69735290T2 (en) METHOD OF UNSYMMETRIC CRYPTOGRAPHIC COMMUNICATION AND RELATED ARTICLE
DE1512173A1 (en) Demodulator
DE10345378B4 (en) Method and device for encryption / decryption
DE102004038594B4 (en) Encryption method and apparatus
DE10352680A1 (en) Encryption device and encryption method
DE60128309T2 (en) Circuit for generating an encryption secondary key
DE3828864A1 (en) MULTI-STAGE QUADRATURE AMPLITUDE MODULATION AND DEMODULATION SYSTEM
DE69829566T2 (en) ENCRYPTION DEVICE
DE19757370C2 (en) Process for the tactile generation of pseudo-random data words

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee