New! View global litigation for patent families

DE4016203A1 - A method for block encryption of digital data - Google Patents

A method for block encryption of 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
Grant status
Application
Patent type
Prior art keywords
lt
text
steps
intermediate
register
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
Original Assignee
Rolf Prof Dr Trautner
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communication the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/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 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 j to be enciphered 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, after which the intermediate text C₁ (j) is transmitted in parallel in a second operation register in which the intermediate text C₁ (j) by means of 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 of j representing intermediate text C R (j) creates the ciphertext C (j) at the time, wherein the transmission of the individual intermediate articles from the one in carried out the following operation register according to the systolic algorithm 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 a cipher without systolic algorithm is known as DES method, and for example, by J. Seberry et al. in "Cryptography: An Introduction to Computer Security", Prentice Hall beschrieben. describes Prentice Hall: in "An Introduction to Computer Security Cryptography".

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 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 has for its object to improve a method of the aforementioned type so that, even when the currently used data transmission speeds in the range of 140 Mbit / sec, a synchronous cipher is possible, at the same time achieves an increase data security with only little additional expenditure of hardware shall 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 that the conversion of the k in the operation register related data block takes place in several conversion steps, wherein the number of conversion steps is set and the individual conversion steps are formed by rapidly occurring elementary operations, the order k of a variable permutation Pi (j ) is determined which part of the key S k (j) and is formed so that each of the transformation steps is performed only 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 that can be achieved by applying elementary operations exceptionally high processing speeds, as this usually only one clock is required. 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 continuously changing order of running elementary operations an exceptionally high level of data security is achieved but with comparatively 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 newly determined as a recursive function for each time point j, are provided for each operation register and each time point j total of 10! verschiedene Permutationen zur Verfügung. various 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 R operation registers R various figures thus can insert a new be selected for each time point from (10). 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 is obtained an additional safety factor of (10!) ⁴ <1.73 x 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 is a power of two is appropriately selected.

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) for the first time are set as a start key, and be used unchanged for a predetermined number of times. 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 startup keys must be collectively known both subscribers and can be handed out 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 potential advantages of a chosen plaintext attack (in which the attacker an encryption device is present) compared to a known-plaintext attack (in which the attacker plaintext and corresponding ciphertext available), can thus be ruled out that in principle a preliminary phase of about 1 sec is upstream in the (not manipulable) 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. It may be advantageous here is that the ignition key be used unchanged for 2R times.

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 key to the start key are formed as a 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 access to the following key generating intermediate texts is not possible from the outside in general.

Dabei kann auch vorgesehen sein, daß die Rückführung des Zwischentextes über Zwischenregister zeitlich verzögert erfolgt. It can also be provided that the recirculation of the intermediate text is delayed over intermediate register. 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 shift is necessary because of the time difference by the systolic algorithm: The receiver can have decoded only after 2R units of time and is then in possession of all 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 useful embodiment of the invention it is provided that the start key on the following 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 one operation registers can be freely selected. 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. With regard to the available number of meaningful and time-short operations, the invention provides that in each of the operation register done 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. An advantageous here has been found that first transmitted for each of the conversion steps of the data block in a separate sub-registers, there performed the elementary operation, and then the data block is retransmitted to the operation register, the elementary operations of special partial keys 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. Here, it is further favorable if the operation register for each conversion step transmits the block of data to all the sub-registers, the data block is subjected in all registers of each elementary operation, and then the operation register takes care of the data block of k by the permutation Pi (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, 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.

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, wherein the input block x = (x i)L-1 and the partial key b = (beta i)L / 2-1 of the output block y = (y i) is calculated by that are x i and x i + L / 2 replaced if beta i = 1.

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, wherein the input block x = (x i)L-1 and the partial key b = (beta i)L / 2-1 of the output block y = (y i) is calculated by that are x i and x L-1-i replaced 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 2 person matrix multiplication, wherein the L-bit block initially split into L / 2 2-bit blocks and then each such one of the Matrix operations

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

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 subsets in and run on any subset of 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 mapping, first, the L-bit block in L / 4 4-bit blocks is split for, 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, followed by 4 bÿektive pictures Phi₁, Phi₂, Phi₃, Phi₄ be viewed on Z₁₆ and each represents a thereof is applied to a 4-bit block, the selection being 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 folding in which first the L-bit block in L / 4 4-bit split blocks, and then 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 carried out, wherein c = (c i) ₀³ has odd parity and a 3-bit controls key per 4-bit block 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 folding in which first split the L-bit block in L / 8 8-bit blocks and then 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 carried out, wherein c = (c i) ₀⁷ has odd parity and a 7-bit controls key per 8-bit block 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 be made of a cyclic shift C m exist, wherein the L-bit block to m = is cyclically shifted k · L / 16 bits, wherein the selection of the value k is performed 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 can be made variable from a 16-bit cyclic shift, in which first the L-bit block in L / 16 16-bit divided 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, there is also the possibility that the conditional exchange, already described, is replaced by a general conditional exchange, wherein the total block in L / 2 subsets is partitioned, 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: 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 is a likewise schematic detail view of a section of the article of 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. The process described below serves for block encryption of digital data or digitized analogue data, wherein at a time j to be enciphered plaintext T (j) as a binary block of data of L bits are read 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 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 one-way 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 caused the ciphertext C (j) at the 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 articles from the one carried out in the subsequent operation register according to the systolic algorithm simultaneously in parallel, so that an increase in the number of the operation registers does not affect the mean transit time, but only effects a greater time shift. 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 k in the operation register related data block takes place in several conversion steps, the number of conversion steps is set and the individual conversion steps are formed by rapidly occurring 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 k by a variable permutation Pi determined, the part of the key S k (j) and is formed so that each of the transformation steps is performed exactly once (j). 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 as hardware very quickly, so they are usually completed after 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 a start key, and must be known both participants as by a public key method. Diese Startschlüssel werden für eine festgelegte Anzahl von Zeitpunkten, etwa für 2R Zeitpunkte, unverändert übernommen. This start key are 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. The following key to the start key are then formed as a 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 with respect to the plain text or the cipher text (known at a chosen-plaintext attack both) has the advantage that it is not known because of the only internal use the advantage.

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 over intermediate register. Im einzelnen werden die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen More specifically, the key to the start following keys 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, this 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 EO. 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 to the operation registers 1, 2, 3, 4 is retransferred, the elementary operations of specific keys part 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. From circuit technical reasons, it is advantageous that the operation register for each conversion step transmits the block of data to all sub-tab. 5 Dort wird der Datenblock in allen Unterregistern 5 der jeweiligen Elementaroperation unterworfen. There, the block of data in all registers 5 of the respective 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, the operation registers 1, 2, 3, 4 takes over but only the data block of the sub-register 5, which is determined by the k permutation Pi (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 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=(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 elemental operation of the second sub-register may consist of a conditional exchange, wherein the input block x = (x i)L-1 and the partial key b = thereby (beta i)L / 2-1 of the output block y = (y i) it is calculated that x i and x i + L / 2 to be replaced, if beta i = 1.

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, wherein the input block x = (x i)L-1 and the partial key b = thereby (beta i)L / 2-1 of the output block y = (y i) it is calculated that x i and x L-1-i to be replaced, 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 sub-register may consist of a 2 person matrix multiplication, wherein the L-bit block initially split into L / 2 2-bit blocks and then each such one of the Matrix operations

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

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 be composed of a 3 permutations for which the L-bit block is first [3 L /] 3-bit split subsets in and run on any subset of a permutation, the selection in each case by a 3-bit key he follows.

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 mapping, first, the L-bit block in L / 4 4-bit blocks is split for, 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, followed by 4 bÿektive pictures Phi₁, Phi₂, Phi₃, Phi₄ be viewed on Z₁₆ and each represents a thereof is applied to a 4-bit block, the selection being 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 folding in which first the L-bit block in L / 4 4-bit split blocks, and then 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 carried out, wherein c = (c i) ₀³ has odd parity and a 3-bit controls key per 4-bit block 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 the split initially the L-bit block in L / 8 8-bit blocks and then 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 carried out, wherein c = (c i) ₀⁷ has odd parity and a 7-bit controls key per 8-bit block selection among 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 to m = wherein the selection of the value k is performed by a ₂log L / 16-bit key k x 16 bit is cyclically shifted L /, ,

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 can be made variable from a 16-bit cyclic shift, first, the L-bit block in L / 16 16-bit divided blocks in, then to each of the 16-bit blocks, the Hamming weight w (x) and finally calculates each block to w (x) is shifted cyclically 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 conditional exchange described for the second and third sub-register is replaced by a general conditional exchange, wherein the total block in L / 2 subsets is partitioned, 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. The decryption is performed with the same device as the encryption characterized in that the ciphertext C (j) is read into the R-th operation register and is converted there 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 a corresponding manner as in the enciphering, only in the reverse direction, by the individual operation register, thereby successively the corresponding intermediate texts and finally the last desired plain text is delivered. Die Umkehrabbildung durch die einzelnen Umwandlungsschritte wird durch dieselbe Abbildung F in den einzelnen Operationsregistern beschrieben. The inverse image by the individual conversion steps will be described by the same figure 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 keys.

Bei der 3er-Permutation erfolgt die Invertierung dadurch, daß die zugehörigen inversen Permutationen in der analogen Reihenfolge aufgelistet werden. In the 3-permutation, the inversion is effected in that the associated inverse permutations are listed in the analog sequence. 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 in enciphering the k-th permutation Pi k, the inverse permutation Pi k -1 is selected by the same key for the 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 image, the inversion is effected in that the inverse pictures Phi₁ -1 Phi₂ -1, -1 Phi₃, Phi₄ are listed in the same order -1 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 are listed in the same order C-1 and selected by the same key.

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

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 16-bit variable cyclic shift inverting characterized in that the Hamming weight of y is calculated, that is, C w (y) and by -w (y) positions is moved cyclically, so that x = C -w occurs (y ) * y. Hier ist zu beachten, daß w(x)=w(y), wobei ein Schlüssel hier nicht auftritt. It should be noted that w (x) = f (y), where a key does not occur here.

Claims (20)

  1. 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 gek Read 1. A method for block encryption of digital data or digitized analogue data, wherein at a time j to be enciphered 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, after which the intermediate text C₁ (j) in a second operation register in parallel (2) is transmitted, in which the intermediate text C₁ (j) by means of a temporary key S₂ (j) and the one-way function F to an intermediate text C₂ (j) is converted, so that after a total of R such conversion steps of j representing intermediate text C R (j) creates the ciphertext C (j) at the time, wherein the transmission of the individual intermediate articles of the carried out in a subsequent operation register according to the systolic algorithm simultaneously in parallel, characterized GEK ennzeichnet, 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. ennzeichnet that the conversion of the k in the operation register related data block takes place in several conversion steps, the number of conversion steps is set and the individual conversion steps are formed by rapidly occurring elementary operations, the order k of a variable permutation Pi (j) is determined, the part of the key S k (j) and is so formed that each of the transformation steps is performed only once.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Schlüssel S₁ (1) , S₂ (1) , . 2. The method of 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) for the first time are provided as a start key, and be used unchanged for a predetermined number of times.
  3. 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. 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 the following key to the start key are formed as a recursive functions from the return of a certain intermediate text.
  5. 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 is delayed over intermediate register.
  6. 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 on the start key following key as recursive functions S k (j) = f k (S k (j-1), C R / 2 (j-2R) ) are calculated.
  7. 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. A method according to any one of claims 1 to 6, characterized in that in each of the operation registers (1, 2, 3, 4) carried out a total of ten conversion steps, this ten different elementary operations are used.
  8. 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 first for each of the conversion steps of the data block 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 transmitted back, the elementary operations of specific keys part of the temporary key S k (j) depend.
  9. 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 of 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 then the operation registers (1, 2, 3, 4) the specific data block of k by the permutation Pi (j) sub-register (5) takes over.
  10. 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. A method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of an addition, where x = the input block (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. 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. A method according to any one of claims 1 to 9, characterized in that one of the elementary operations consists of a conditional exchange, where x = the input block (x i)L-1 and the partial key b = (beta i)L / 2-1 of the output block y = (y i) is calculated in that x i and x i + L / 2 replaced if beta i = 1.
  12. 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, where x = the input block (x i)L-1 and the partial key b = (beta i)L / 2-1 of the output block y = (y i) is calculated in that x i and x L-1-i to be replaced, if beta i = 1.
  13. 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 person matrix multiplication, wherein the L-bit block initially in 2 2-bit split blocks and L / then each such a the matrix operations is applied, the selection of which is controlled by a respective 2-bit key.
  14. 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. A method according to any one of claims 1 to 9, characterized in that one of the elementary operations from 3 permutations exists for which the L-bit block initially [3 L /] 3-bit split into subsets and executed on each subset a permutation is, the selection is made by a 3-bit key.
  15. 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 into 4 4-bit blocks is split L /, wherein the element a such a 4-bit block as a number between 0 and 15, ie 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, followed by 4 bÿektive pictures Phi₁, Phi₂, Phi₃, Phi₄ be viewed on Z₁₆ and each represents a thereof is applied to a 4-bit block, the selection being made by a 2-bit key.
  16. 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 of a 4-bit cyclic convolution is, at first the L-bit block in L / 4 4-bit split blocks, and then each of the blocks a cyclic convolution y = x is executed with * c, where c = (c i) ₀³ has odd parity and a 3-bit controls key per 4-bit block selection among the parameter vectors c.
  17. 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 of an 8-bit cyclic convolution is, at first the L-bit block in L / 8 8-bit split blocks, and then each of the blocks a cyclic convolution y = x is executed with * c, where c = (c i) ₀⁷ has odd parity and a 7-bit controls key per 8-bit block selection among the parameter vectors c.
  18. 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 from a cyclic shift C m is, in which the L-bit block of m = k * 16 bit is cyclically shifted L /, wherein the selection of value is k by a ₂log L / 16 bit key.
  19. 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. A method according to any one of claims 1 to 9, characterized in that one of the elementary operations is variable from a 16-bit cyclic shift, in which first the L-bit block in L / 16 16-bit divided blocks, then to each of the 16-bit blocks is calculated, the Hamming weight w (x), and finally each block to w (x) cyclically shifted positions, so that y = C w (x) · x.
  20. 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 conditional exchange described therein is replaced by a general conditional exchange, wherein the total block in L / 2 subsets is partitioned, 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.
DE19904016203 1990-05-19 1990-05-19 A method for block encryption of digital data Withdrawn DE4016203A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19904016203 DE4016203A1 (en) 1990-05-19 1990-05-19 A method for block encryption of digital data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19904016203 DE4016203A1 (en) 1990-05-19 1990-05-19 A method for block encryption of digital data
PCT/DE1991/000413 WO1991018460A1 (en) 1990-05-19 1991-05-18 Process for the blockwise coding of digital data

Publications (1)

Publication Number Publication Date
DE4016203A1 true 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 A method for block encryption of digital data

Country Status (2)

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

Cited By (6)

* 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 Apparatus for performing a Blockchiffrierverfahrens
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 interconnect
WO2002073878A1 (en) * 2001-03-13 2002-09-19 Gemplus Electronically-controlled electric wire switching device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3746098B2 (en) 1996-02-28 2006-02-15 株式会社日立製作所 Encryption device of 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
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
DE2321902C2 (en) * 1973-03-19 1982-11-11 Patelhold Patentverwertungs- Und Elektro-Holding Ag, Glarus, Ch
DE2658065A1 (en) * 1976-12-22 1978-07-06 Ibm Deutschland cipher machine and decipher
JPS55500476A (en) * 1977-12-21 1980-07-31
FR2582174B1 (en) * 1985-05-15 1990-03-09 Thomson Csf encryption device by substitutions, permutations
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 (14)

* 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
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
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 Apparatus for performing a Blockchiffrierverfahrens
DE19724072C2 (en) * 1997-06-07 1999-04-01 Deutsche Telekom Ag Apparatus for performing a Blockchiffrierverfahrens
WO1998057461A1 (en) * 1997-06-07 1998-12-17 Deutsche Telekom Ag Device for carrying out a block cipher method
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 interconnect
USRE44697E1 (en) 1998-02-27 2014-01-07 Mosaid Technologies Incorporated Encryption processor with shared memory interconnect
WO2002073878A1 (en) * 2001-03-13 2002-09-19 Gemplus Electronically-controlled electric wire switching device
FR2822310A1 (en) * 2001-03-13 2002-09-20 Gemplus Card Int A son electric permutation electronically control

Also Published As

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

Similar Documents

Publication Publication Date Title
US5799089A (en) System and apparatus for blockwise encryption/decryption of data
US4433211A (en) Privacy communication system employing time/frequency transformation
US6304657B1 (en) Data encryption apparatus using odd number of shift-rotations and method
US4379205A (en) Analog signal scrambling system
US6201869B1 (en) Data transformation apparatus and data transformation method
Lim A revised version of CRYPTON: CRYPTON V1. 0
Rueppel New approaches to stream ciphers
Cohn Hadamard matrices and some generalisations
US6956951B2 (en) Extended key preparing apparatus, extended key preparing method, recording medium and computer program
DE19625054A1 (en) Multi carrier signal transmission method
DE3526051A1 (en) Digital communication system with an nB/(n+1)B line code
DE4110951A1 (en) Reducing transmitted information for stereoscopic image data - producing difference image data and combining with left channel data to define additional bit signal
WO1991018460A1 (en) Process for the blockwise coding of digital data
Uglov et al. sl (N) Onsager's algebra and integrability
DE3736898A1 (en) Arrangement for converting code words of different widths into data words of equal width
Linna The decidability of the DOL prefix problem
DE4319217A1 (en) Method for transmitting and/or receiving high volumes of digital data in parallel and transmitters and receivers suitable for carrying out the method
Day et al. Abstract substitution in enriched categories
WO1999014889A1 (en) Improved block cipher method
DE3417404C2 (en)
US20040247117A1 (en) Device and method for encrypting and decrypting a block of data
DE4319216A1 (en) Method for transmitting and/or receiving large volumes of digital data
US5640455A (en) Secret-key enciphering method and arrangement therefor capable of preventing unfair acquirement of information
EP0529421B1 (en) Method and apparatus for synchronising a receiver in a multichannel communications system with the transmitter of said system
EP0042587A1 (en) Method of transforming speech signals subdivided into signal segments for enciphered transmission, and apparatus for realizing this method

Legal Events

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