WO1991018460A1 - Process for the blockwise coding of digital data - Google Patents
Process for the blockwise coding of digital data Download PDFInfo
- Publication number
- WO1991018460A1 WO1991018460A1 PCT/DE1991/000413 DE9100413W WO9118460A1 WO 1991018460 A1 WO1991018460 A1 WO 1991018460A1 DE 9100413 W DE9100413 W DE 9100413W WO 9118460 A1 WO9118460 A1 WO 9118460A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bit
- block
- key
- elementary
- elementary operations
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Definitions
- 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 in as a binary data block T- 1 * 1 from L bit into a first operation register and subsequently therein by means of a temporary key sj- , *) and a reversible function F is converted to an intermediate text C - * - * ', whereupon the intermediate text cj ** - ⁇ is transferred in parallel to a second operation register in which the Intermediate text C.
- a disadvantage of this known method is the insufficiently high processing speed required in today's cryptographic applications and common data transmission speeds.
- the invention has for its object to improve a method of the type mentioned in such a way that even those currently in use Synchronous encryption is possible for data transmission speeds in the range of 140 Mbit / sec, whereby at the same time an increase in data security is achieved with only a small additional outlay on hardware and, in addition, the possibility should be created to implement either time-optimized or hardware-optimized operation.
- the progress achieved by the invention consists essentially in the fact that once by using Elementary operations exceptionally high
- variant 1 ten elementary positions are used using key bits, each elementary position being used exactly once within a round, the sequence being determined by a permutation dependent on the key.
- the number N is kept open to the elementary operations, the elementary operations are run through K times, a result being selected for each run depending on a key, and an elementary operation being able to be selected several times.
- R number of rounds
- N number of elementary operations
- K number of repetitions
- the invention provides that in order to carry out an elementary operation, the data block in the operation register k is subdivided into 1 subblocks, whereupon each of the subblocks is subjected to a substitution and a transposition takes place before and / or after the substitution Data block works.
- the division into sub-blocks each of which is, for example, four bits wide, enables PROMs to be used to carry out the substitution.
- an additional transposition is required, which however relates to the entire data block. This transposition can easily be carried out during the transfer to the register performing the elementary operation or during the retransfer.
- the method provides that the keys .s', S ⁇ ', ..., S (, 1)' are specified as the start key at the first point in time and for a fixed number of
- Encryption device is available) compared to a known
- Plain text attacks in which the attacker has clear and associated cipher text
- Plain text attacks can be ruled out by generally preceding a preliminary phase of approx. 1 sec, in which a (non-influenceable) physical white noise is transmitted in encrypted form and only then to transmitting text is encrypted. It can be advantageous here that the start keys for 2R times are adopted unchanged.
- the keys following the start key are formed as recursive functions from the return of a certain intermediate text. This has the advantage that it is generally not possible to access the intermediate texts that generate the following keys from the outside.
- the return of the intermediate text takes place with a time delay via intermediate registers.
- the time shift is necessary because of the time shift due to the systolic algorithm: the receiver can only have decrypted after 2R time units and is then in possession of all associated intermediate texts.
- 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, with version 1 the elementary operations still being carried out by special subkeys of the temporary key SP '. depend. 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 a further subkey.
- a fourth elementary operation can consist of a matrix multiplication of two, in which the L-bit block is first split into L / 2 2-bit blocks and then one of the matrix operations on each such block
- a fifth elementary operation can consist of triple permutations, for which the L-bit block is first split into [L / 3] 3-bit subsets and a permutation is carried out on each subset, the selection being made using a 3-bit key.
- a sixth elementary operation can consist of one
- 4-bit mapping exist, for which the L-bit block is first split into L / 4 4-bit blocks, the element of such a 4-bit block being a number between 0 and
- Phi2 ", Phi_3, Phi4. on Z-16- and one of them is applied to a 4-bit block, the selection being made with a 2-bit key.
- An eighth elementary operation can consist of an 8-bit cyclic convolution, in which the L-bit first
- a ninth elementary operation can consist of a cyclical
- FIG. 1 shows a schematic representation of a device for carrying out the method according to the invention
- FIG. 2 shows a likewise schematic detailed illustration of a section of the object according to FIG. 1.
- the method described below is used for block-by-block encryption of digital data or digitized analog data, in which at a time j the plain text to be encrypted T ⁇ ** 5 * 1 is read into a first operation register 1 as a binary data block of L bits and subsequently therein is converted to an intermediate text Cj- 1 'by means of a temporary key sj * - * - 1 and a reversible function F.
- the intermediate text c! ⁇ 'Is then transferred in parallel to a second operation register 2, in which the intermediate text C ⁇ * - * 'is converted to an intermediate text C ⁇ by means of a temporary key S. * un ⁇ - * - of the reversible function F.
- the intermediate text C ⁇ *** 'representing the ciphertext C ⁇ * * - * 1 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, which is part of the key sP and is formed in such a way 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.
- the keys s ⁇ 1 , S ⁇ 1 *, ..., S ⁇ 1 ⁇ are specified as the start key at the first point in time and must be known to both participants by a public key procedure, for example. These start keys are used for a set number of times. Points of time, such as for 2R points of time, adopted unchanged.
- the keys following the start key are then formed as recursive functions from the return of a certain intermediate text.
- the use of an intermediate text compared to the plain text or the cipher text (both of which are known in a Chosen plain text attack) has the advantage that it is not known because of its internal use only.
- 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, with ten different steps for this Elementary operations can be used.
- 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.
- 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.
- the elementary operation of the fourth sub-register can consist of a 2 matrix multiplication, in which the L-bit block is first split into L / 2 2-bit blocks and then one of the matrix operations on each such block
- the elementary operation of the fifth sub-register can consist of triple permutations, for which the L-bit block is first split up into [L / 3] 3-bit subsets a permutation is carried out for each subset, the selection being made in each case using a 3-bit key.
- the elementary operation of the sixth sub-register can consist of a 4-bit mapping, for which the L-bit block is first split into L / 4 4-bit blocks, the element of such a 4-bit block being a number between 0 and 15 , ie as an element of 1, 2, ..., 15, whereupon 4 bijective illustrations
- Phi, Phi_, Phi_, Phi. are considered on Z.- and one of them is applied to a 4-bit block, the selection being made using a 2-bit key.
- 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
- the decryption is carried out with the same device as the encryption, in that the encryption text C ⁇ - 1 * 1 is read into the R-th operation register and there into the intermediate text C ⁇ ? is converted.
- 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 and finally the desired plain text are delivered successively.
- 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.
- the inversion is carried out by listing the associated inverse permutations in the analog order. If the kth permutation Pi is selected by the key in the encryption, then the inverse permutation Pi7 becomes by the same key in the decryption selected.
- the inversion takes place in that the inverse maps Phi " , Phi " , Phi " , Phi " are listed in the same order and selected by the same key.
- the inversion takes place in that the inverse factors c " are listed in the same order and selected by the same key.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Error Detection And Correction (AREA)
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 C¿1?(j) by means of a temporary code S¿1?(j) and a reversible function F. The intermediate text C¿1?(j) is then transferred in parallel to a second operation register in which it is converted into an intermediate text C¿2?(j) by means of a temporary code S¿2?(j) and the reversible function F. After a total of R such conversion steps there exists the intermediate text C¿R?(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 Pi¿k?(j) which forms part of the code S¿k?(j) and is so formed that each of the conversion steps is completed precisely once.
Description
Verfahren zur blockweisen Chiffrierung von digitalen DatenProcess for the block-wise encryption of digital data
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 -1*1 von L Bit in ein erstes Operationsregister eingelesen und anschließend darin mittels eines temporären Schlüssels sj-,*) und einer umkehrbaren Funktion F zu einem Zwischentext C-*-*' umgewandelt wird, worauf der Zwischentext cj**-^ parallel in ein zweites Operationsregister übertragen wird, in welchem der
Zwischentext C. ' mittels eines temporären Schlüssels S^*-**' und der umkehrbaren Funktion F zu einem Zwischentext c] ' umgewandelt wird, so daß nach insgesamt solcher Umwandlungsschritte der den Chiffretext c'-*1' zum Zeitpunkt j darstellendeThe 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 in as a binary data block T- 1 * 1 from L bit into a first operation register and subsequently therein by means of a temporary key sj- , *) and a reversible function F is converted to an intermediate text C - * - * ', whereupon the intermediate text cj ** - ^ is transferred in parallel to a second operation register in which the Intermediate text C. 'is converted to an intermediate text c]' by means of a temporary key S ^ * - ** 'and the reversible function F, so that, after a total of such conversion steps, the ciphertext c'- * 1 ' at time j represents the ciphertext
Zwischentext
' entsteht, wobei die Übertragung der einzelnen Zwischentexte von dem einen in das nachfolgende Operationsregister entsprechend dem systolischen Algorithmus gleichzeitig parallel erfolgt.Intermediate text 'arises, with the transfer of the individual intermediate texts from one into the subsequent operation register taking place simultaneously in accordance with 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 algorithm is known as the DES method and has been described, for example, by J. Seberry et al. in "Cryptography: An Introduction to Computer Security", Prentice Hall.
Nachteilig bei diesem bekannten Verfahren ist jedoch die nicht ausreichend hohe Verarbeitungsgeschwindigkeit, die bei heutigen kryptographischen Anwendungen und gebräuchlichen Datenübertragungsgeschwindigkeiten gefordert wird.A disadvantage of this known method, however, is the insufficiently high processing speed required in today's cryptographic applications and common data transmission 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 und darüber hinaus die Möglichkeit geschaffen werden soll, wahlweise einen zeitoptimalen oder einen hardwareoptimalen Betrieb zu verwirklichen.The invention has for its object to improve a method of the type mentioned in such a way that even those currently in use Synchronous encryption is possible for data transmission speeds in the range of 140 Mbit / sec, whereby at the same time an increase in data security is achieved with only a small additional outlay on hardware and, in addition, the possibility should be created to implement either time-optimized or hardware-optimized operation.
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 entweder von einer variablen Permutation Pi bestimmt wird, die Teil desThis 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 either by a variable permutation Pi who are part of
Schlüssels S- ? und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird, oder aus den zur Verfügung stehenden Elementaroperationen K solcher Elementaroperationen in Abhängigkeit des Schlüssels ausgewählt werden, wobei Wiederholungen gleicher Elementaroperationen zulässig sind.Key S-? and is formed in such a way that each of the conversion steps is carried out exactly once, or is selected from the available elementary operations K of such elementary operations depending on the key, repetitions of the same elementary operations being permissible.
Der durch die Erfindung erreichte Fortschritt besteht im wesentlichen darin, daß einmal durch Anwendung von
Elementaroperationen außergewöhnlich hoheThe progress achieved by the invention consists essentially in the fact that once by using Elementary operations exceptionally high
Verarbeitungsgeschwindigkeiten erreicht werden, da hierfür fast ausschließlich nur ein einziger Zeittakt erforderlich ist, zum andern darin, daß die Reihenfolge der Elementaroperationen variabel gehalten wird in Abhängigkeit von Schlüsselbits, wodurch einerseits ein äußerst günstiger Hardwareaufwand und außerdem eine hohe Verschlüsselungskomplexität erreicht wird.Processing speeds can be achieved, since almost only a single clock cycle is required for this, on the other hand in that the order of the elementary operations is kept variable depending on key bits, which on the one hand results in extremely inexpensive hardware expenditure and also high encryption complexity.
Das Verfahren wird in zwei Varianten representiert. In Variante 1 werden zehn Elementarpositionen unter Verwendung von Schlüsselbits benutzt, wobei innerhalb einer Runde jede Elementarposition genau einmal zum Zuge kommt, wobei die Reihenfolge von einer vom Schlüssel abhängigen Permutation bestimmt wird.The process is represented in two variants. In variant 1, ten elementary positions are used using key bits, each elementary position being used exactly once within a round, the sequence being determined by a permutation dependent on the key.
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 ZeitpunktSince the permutation is variable and depends on the time j and the permutation is recalculated as a recursive function 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, it can therefore be used at any time
*R aus (10!) verschiedenen Abbildungen jeweils eine neue ausgewählt werden. Bereits bei R=4 erhält man einen zusätzlichen Sicherheitsfaktor von
(10!)4 > 1.73*1026, wobei hierfür ein außerordentlich geringer Mehraufwand an Hardware von etwa 20 % erforderlich ist.* R a new one can be selected from (10!) Different images. Even at R = 4 you get an additional safety factor of (10!) 4> 1.73 * 1026, whereby an extraordinarily small additional hardware expenditure of about 20% is required.
In Variante 2 wird die Zahl N den Elementaroperationen offen gehalten, die Elementaroperationen werden K mal durchlaufen, wobei für jeden Durchlauf ein Ergebnis ausgewählt wird in Abhängigkeit eines Schlüssels und wobei eine Elementaroperation mehrmals ausgewählt werden kann. Mit den frei wählbaren Parametern R=Rundenzahl, N=Zahl der Elementaroperationen, K=Zahl der Wiederholungen, sprechen wir vom (R, N, K) Design. Hierbei istIn variant 2, the number N is kept open to the elementary operations, the elementary operations are run through K times, a result being selected for each run depending on a key, and an elementary operation being able to be selected several times. With the freely selectable parameters R = number of rounds, N = number of elementary operations, K = number of repetitions, we speak of (R, N, K) design. Here is
1<R, 2<N, 1<K, 16<R.K, 64<2logN«R-»K Die entscheidenden Parameter sind hierbei R und K, die den Zeit- und Hardwareaufwand steuern. Wählt man K=l, so erhält man eine 1-Takt-Verschlüsselung. So ist z. B. der1 <R, 2 <N, 1 <K, 16 <R.K, 64 <2logN «R-» K The decisive parameters here are R and K, which control the time and hardware expenditure. If you choose K = 1, you get 1-stroke encryption. So z. B. the
-9 (64, 2, 1) Design zeitoptimal und liefert bei 5*10 sec/Takt mit einer Wortlänge von 64 Bit eine-9 (64, 2, 1) design optimized for time and delivers one at 5 * 10 sec / cycle with a word length of 64 bits
Verschlüsselungsrate von 1^28*10 Bit/sec. Wählt man andererseits R=l, so erhält man einen besonders günstigenEncryption rate of 1 ^ 28 * 10 bit / sec. On the other hand, if you choose R = 1, you get a particularly favorable one
Hardwareaufwand. So ist der (1, 2, 64) Design hardwareoptimal (sinnvoll für Telefon) . Es ist aber auch eine gemischte Parameterwahl möglich, wobei sehr günstige, wenn auch im einzelnen nicht optimale Eigenschaft fürHardware expenditure. The (1, 2, 64) design is hardware-optimal (useful for the telephone). However, a mixed choice of parameters is also possible, with very favorable, if not individually optimal, properties for
Zeit- und Hardwareaufwand erzielt werden.
Bei Version 2 sieht die Erfindung vor, daß zur Durchführung einer Elementaroperation der Datenblock im Operationsregister k in 1 Unterblöcke unterteilt wird, worauf jeder der Unterblöcke für sich einer Substitution unterworfen wird und vor und/oder nach der Substitution eine Transposition erfolgt, die auf den gesamten Datenblock wirkt. Die Unterteilung in Unterblöcke, von denen jeder beispielsweise vier Bit breit ist, ermöglicht die Anwendung von PROMs zur Durchführung der Substitution. Da sich die Substition hier jedoch nur auf die jeweiligen Bits des Unterblocks auswirkt, nicht jedoch auf den gesamten Datenblock, ist eine zusätzliche Transposition erforderlich, die sich jedoch auf den gesamten Datenblock bezieht. Diese Transposition kann einfach bei der Übertragung in das die Elementaroperation durchführende Register bzw. bei der Rückübertragung vorgenommen werden.Time and hardware expenditure can be achieved. In version 2, the invention provides that in order to carry out an elementary operation, the data block in the operation register k is subdivided into 1 subblocks, whereupon each of the subblocks is subjected to a substitution and a transposition takes place before and / or after the substitution Data block works. The division into sub-blocks, each of which is, for example, four bits wide, enables PROMs to be used to carry out the substitution. However, since the substitution only affects the respective bits of the sub-block, and not the entire data block, an additional transposition is required, which however relates to the entire data block. This transposition can easily be carried out during the transfer to the register performing the elementary operation or during the retransfer.
Für einen zeitoptimierten Betrieb kann eine Erhöhung des Hardwareaufwandes vorgesehen werden, so daß im Ergebnis eine stärker parallele Verarbeitung der Daten erfolgt. Für einen hardwareoptimierten Betrieb dagegen ist, um die gleiche Sicherheit bei der Verschlüsselung zu erreichen, eine stärkere Wiederholung der einzelnen Operationen erforderlich. Es besteht jedoch ebenso bei vorgegebener
Rate der zu verschlüsselnden Daten die Möglichkeit, angepaßt an die zeitlichen Anforderungen den Hardwareaufwand nur so weit zu treiben, daß im Ergebnis ein Mischbetrieb zwischen der zeit- bzw. hardwareoptimierten Betriebsweise sich einstellt.For time-optimized operation, an increase in hardware expenditure can be provided, so that the data is processed in a more parallel manner as a result. For hardware-optimized operation, on the other hand, in order to achieve the same security during encryption, the individual operations have to be repeated more frequently. However, there is also a given one Rate of the data to be encrypted, the possibility, adapted to the time requirements, to drive the hardware expenditure only to such an extent that mixed operation between the time-optimized or hardware-optimized mode of operation results.
Für den Beginn einer Datenübertragung sieht das Verfahren vor, daß die Schlüssel .s ' , S^ ' , ..., S (,1)' zum ersten Zeitpunkt als Startschlussel vorgegeben sind und für eine festgelegte Anzahl vonAt the beginning of a data transmission, the method provides that the keys .s', S ^ ', ..., S (, 1)' are specified as the start key at the first point in time and for a fixed number of
Zeitpunkten unverändert übernommen werden. Der Satz vonTimes are taken over unchanged. The set of
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ähltenStarting keys must be known to both participants together and can be distributed using a modern public key procedure. The possible advantages of a chosen one
Klartext-Angriffs (bei welchen dem Angreifer einPlaintext attack (which involves the attacker
Chiffriergerät vorliegt) gegenüber einem bekanntenEncryption device is available) compared to a known
Klartext-Angriff (bei welchen 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.
Vorteilhaft kann hierbei sein, daß die Startschlüssel für 2R Zeitpunkte unverändert übernommen werden.Plain text attacks (in which the attacker has clear and associated cipher text) can be ruled out by generally preceding a preliminary phase of approx. 1 sec, in which a (non-influenceable) physical white noise is transmitted in encrypted form and only then to transmitting text is encrypted. It can be advantageous here that the start keys for 2R times are adopted 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 are formed as recursive functions from the return of a certain intermediate text. This has the advantage that it is generally not possible to access the intermediate texts that generate the following keys from the outside.
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 takes place with a time delay via intermediate registers. The time shift is necessary because of the time shift due to the systolic algorithm: the receiver can only have decrypted after 2R time units 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 FunktionenIn a particularly expedient embodiment of the invention it is provided that the keys following the start key act as recursive functions
S J)βfk(SkJ_1)' CR/22R)) be^ch et werden.
Grundsätzlich kann die Zahl der in einem Operationsregister durchzuführenden Elementaroperationen frei gewählt werden. Bei Version 1 sieht die Erfindung vor, daß in jedem der Operationsregister insgesamt zehn Umwandlungsschritte erfolgen, wobei hierfür zehn unterschiedliche Elementaroperationen benutzt werden. SJ) βf k (S k J_1) ' C R / 2 2R)) be ^ ch et. In principle, the number of elementary operations to be carried out in an operation register can be chosen freely. In version 1, the invention provides that a total of ten conversion steps take place in each of the operation registers, ten different elementary operations being used for this.
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 bei Version 1 die Elementaroperationen noch von speziellen Teilschlüsseln des temporären Schlüssels S.P ' 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 einen weiteren Teilschlüssel 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, with version 1 the elementary operations still being carried out by special subkeys of the temporary key SP '. depend. 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 a further subkey.
Bei Version 1 sind die folgenden Elementaroperationen vorgesehen:
Eine erste Elementaroperation kann aus einer Addition bestehen, wobei für den Eingabeblock x=(x.)r-i—ι und den Teilschlüssel a=(alpha. ) TQ-ι—1 der Ausgabeblock y=(y.) L_—1 berechnet wird durch y.=x.+alpha. mod 2 = x. © alpha.The following elementary operations are planned for version 1: A first elementary operation can consist of an addition, the output block y = (y.) L_ — 1 being calculated for the input block x = (x.) Ri — ι and the partial key a = (alpha.) T Q -ι — 1 by y. = x. + alpha. mod 2 = x. © alpha.
Eine zweite Elementaroperation kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(χ.)0 und den Teilschlüssel b=(beta.) L'/2—1 der Ausgabeblock y=(y.) dadurch berechnet wird, daß x 1. und xl.+,_Jj/. Δ_ ausgetauscht werden, falls beta.=l ist.A second elementary operation can consist of a conditional exchange, the output block y = (y.) Being calculated for the input block x = (χ.) 0 and the subkey b = (beta.) L '/ 2-1, by x 1st and xl. +, _ Yy /. Δ_ can be exchanged if beta. = L.
Eine dritte ElementarOperation kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(x.)0 und den Teilschlüssel b==(beta.) L'/2—1 der Ausgabeblock y=(y-) dadurch berechnet wird, daß x 1. und x±τJ—1.—1. ausgetauscht werden, falls beta.=l ist.A third elementary operation can consist of a conditional exchange, the output block y = (y-) being calculated for the input block x = (x.) 0 and the subkey b == (beta.) L '/ 2-1 x 1. and x ± τ J — 1. — 1. be exchanged if beta. = l.
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 can consist of a matrix multiplication of two, in which the L-bit block is first split into L / 2 2-bit blocks and then one of the matrix operations on each such block
angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird.is applied, the selection of which is controlled by a 2-bit key.
Eine fünfte Elementaroperation kann aus 3er-Permutationen bestehen, für die der L-Bit Block zunächst in [L/3] 3-Bit Untermengen aufgespalten und auf jeder Untermenge eine Permutation ausgeführt wird, wobei die Auswahl jeweils durch einen 3-Bit Schlüssel erfolgt.A fifth elementary operation can consist of triple permutations, for which the L-bit block is first split into [L / 3] 3-bit subsets and a permutation is carried out on each subset, the selection being made using a 3-bit key.
Eine sechste Elementaroperation kann aus einerA sixth elementary operation can consist of one
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 und4-bit mapping exist, for which the L-bit block is first split into L / 4 4-bit blocks, the element of such a 4-bit block being a number between 0 and
15, d. h. als Element von Z. =|0, 1, 2, ..., 15t aufgefaßt wird, worauf 4 bijektive Abbildungen Phi.,15, d. H. is understood as an element of Z. = | 0, 1, 2, ..., 15t, whereupon 4 bijective images Phi.,
Phi2„, Phi_3, Phi4. auf Z-16- betrachtet werden und jeweils eine davon auf einen 4-Bit Block angewandt wird, wobei die Auswahl durch einen 2-Bit Schlüssel erfolgt.Phi2 ", Phi_3, Phi4. on Z-16- and one of them is applied to a 4-bit block, the selection being made with 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
3 y -1. = © /_ - xj.*cl.-j. mod ■* 4. ausg-eführt wird, wobei c=(c.) ungerade Parität hat und ein 3-Bit Schlüssel pro 4-Bit-Block die Auswahl unter den Parameter-Vektoren c steuert.A seventh elementary operation can consist of a 4-bit cyclic convolution, in which the L-bit block is first split into L / 4 4-bit blocks and then a cyclic convolution y = x * c on each of the blocks 3 y -1. = © / _ - xj. * Cl.-j. mod ■ * 4. is executed, where c = (c.) 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-BitAn eighth elementary operation can consist of an 8-bit cyclic convolution, in which the L-bit first
Block in L/8 8-Bit Blöcke aufgespalten und dann auf jedem der Blöcke eine zyklische Faltung y = x * c mit y• x. *c. . , „ ausgeführt wird, wobei c=( erade Parität hat und ein 7-Bit
Split the block into L / 8 8-bit blocks and then cyclically convolution y = x * c with y • x on each of the blocks. * c. , , "Is executed, where c = (has even parity and a 7-bit
Schlüssel pro 8-Bit-Block die Auswahl unter denKeys per 8-bit block the choice among
Parameter-Vektoren c steuert.Controls parameter vectors c.
Eine neunte Elementaroperation kann aus einer zyklischenA ninth elementary operation can consist of a cyclical
Verschiebung C 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. Eine zehnte Elementaroperation kann aus einerThere is a shift C 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. A tenth elementary operation can consist of one
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ß *x ist.
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.=l ist für einen L/2-Bit Teilsσhlüssel beta=(beta.) ' ~ .There are 16-bit variable cyclic shifts, 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 by w ( x) positions are shifted cyclically so that * is x. 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. = 1 for an L / 2-bit partial key beta = (beta.) '~.
Im folgenden wird die Erfindung unter Bezugnahme auf die Zeichnung im einzelnen erläutert; es zeigen:In the following the invention is explained in detail with reference to the drawing; show it:
Fig. 1 eine schematische Darstellung einer Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens,1 shows a schematic representation of a device for carrying out 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^**5*1 als binärer Datenblock von L Bit in ein erstes Operationsregister 1 eingelesen und anschließend darin mittels eines temporären Schlüssels sj*-*-1 und einer umkehrbaren Funktion F zu einem Zwischentext Cj-1' umgewandelt wird. Der Zwischentext c!^ ' wird
anschließend parallel in ein zweites Operationsregister 2 übertragen, in welchem der Zwischentext C^*-*' mittels eines temporären Schlüssels S.* un<-*-- der umkehrbaren Funktion F zu einem Zwischentext C^ umgewandelt wird. Nach insgesamt R solcher Umwandlungsschritte entsteht der den Chiffretext C^**-*1 zum Zeitpunkt j darstellende Zwischentext C^***' . 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 Pi bestimmt, die Teil des Schlüssels sP 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.
Die Schlüssel s^1 , S^1* , ..., S^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 method described below is used for block-by-block encryption of digital data or digitized analog data, in which at a time j the plain text to be encrypted T ^ ** 5 * 1 is read into a first operation register 1 as a binary data block of L bits and subsequently therein is converted to an intermediate text Cj- 1 'by means of a temporary key sj * - * - 1 and a reversible function F. The intermediate text c! ^ 'Is then transferred in parallel to a second operation register 2, in which the intermediate text C ^ * - * 'is converted to an intermediate text C ^ by means of a temporary key S. * un < - * - of the reversible function F. After a total of R such conversion steps, the intermediate text C ^ *** 'representing the ciphertext C ^ * * - * 1 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, which is part of the key sP and is formed in such a way 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. The keys s ^ 1 , S ^ 1 *, ..., S ^ 1 ^ are specified as the start key at the first point in time and must be known to both participants by a public key procedure, for example. These start keys are used for a set number of times. Points of time, such as for 2R points of time, adopted unchanged.
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 are then formed as recursive functions from the return of a certain intermediate text. The use of an intermediate text compared to the plain text or the cipher text (both of which are known in a Chosen plain text attack) has the advantage that it is not known because of its internal use only.
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 FunktionenIt is also provided here that the return of the intermediate text takes place with a time delay via intermediate registers. In particular, the keys following the start key are called recursive functions
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 S 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, with ten different steps for this Elementary operations can be used. 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.
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 Pi- bestimmt ist.For reasons of circuit technology, 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.
Die Elementaroperation des ersten Unterregisters kann aus einer Addition bestehen, wobei für den Eingabeblock x=(x.) LQ—1 und den Teilschlüssel a=(alpha.) L0—1 der Ausgabeblock y=(y.)L—1The elementary operation of the first sub-register can consist of an addition, the output block y = (y.) L − 1 for the input block x = (x.) L Q −1 and the subkey a = (alpha.) L 0 −1
berechnet wird durch y.=χ.+alpha. mod 2 = x. Θ alpha. . Die Elementaroperation des zweitenis calculated by y. = χ. + alpha. mod 2 = x. Θ alpha. . The elementary operation of the second
Unterregisters kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(χ.) LQ—1 und
den Teilschlüssel b=(betai.)'TO*' ~ der AusgabeblockSub-registers can consist of a conditional exchange, where for the input block x = (χ.) L Q —1 and the subkey b = (betai.) 'TO * ' ~ the output block
Y= (Yi ) dadurch berechnet wird, daß x. und x,+L/- ausgetauscht werden, falls beta.=l ist.Y = (Yi) is calculated by x. and x, + L / - are exchanged if beta. = l.
Die Elementaroperation des dritten Unterregisters kann aus einem bedingten Austausch bestehen, wobei für den Eingabeblock x=(χ.)0t—1 und den Teilschlüssel b=(beta.) / ~ der Ausgabeblock y=(y.) dadurch berechnet wird, daß x 1. und xJ_J—1.—1. ausgetauscht werden, falls beta.=l ist.The elementary operation of the third sub-register can consist of a conditional exchange, the output block y = (y.) Being calculated for the input block x = (χ.) 0 t-1 and the subkey b = (beta.) / ~ By x 1st and xJ_J — 1st — 1st be exchanged if beta. = l.
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 consist of a 2 matrix multiplication, in which the L-bit block is first split into L / 2 2-bit blocks and then one of the matrix operations on each such block
angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird. is applied, the selection of which is controlled by a 2-bit key.
Die Elementaroperation des fünften Unterregisters kann aus 3er-Permutationen bestehen, für die der L-Bit Block zunächst in [L/3] 3-Bit Untermengen aufgespalten und auf
jeder Untermenge eine Permutation ausgeführt wird, wobei die Auswahl jeweils durch einen 3-Bit Schlüssel erfolgt.The elementary operation of the fifth sub-register can consist of triple permutations, for which the L-bit block is first split up into [L / 3] 3-bit subsets a permutation is carried out for each subset, the selection being made in each case 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
1, 2, ..., 15 aufgefaßt wird, worauf 4 bijektive AbbildungenThe elementary operation of the sixth sub-register can consist of a 4-bit mapping, for which the L-bit block is first split into L / 4 4-bit blocks, the element of such a 4-bit block being a number between 0 and 15 , ie as an element of 1, 2, ..., 15, whereupon 4 bijective illustrations
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.Phi, Phi_, Phi_, Phi. are considered on Z.- and one of them is applied to a 4-bit block, the selection being made using 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 yi ■ -= ® £<C_ Xxji"c 1i--i mod 4 aus*?eführt wird, wobeiThe elementary operation of the seventh sub-register can consist of a 4-bit cyclic convolution, in which the L-bit block is first split into L / 4 4-bit blocks and then a cyclic convolution y = x * c with y i ■ on each of the blocks - = ® £ < C_ X x ji "c 1i - i mo d 4 from * ? We will execute d , where b ei
3 •'*° c=(c.)_ ungerade Parität hat und ein 3-Bit3 • ' * ° c = (c.) _ Has odd parity and a 3-bit
Schlüssel pro 4-Bit-Block die Auswahl unter denKeys per 4-bit block the choice among
Parameter-Vektoren c steuert.Controls 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 y. = Φ d _ ausgeführt wird, wobei c=(c.)
ität hat und ein 7-BitThe elementary operation of the eighth sub-register can consist of an 8-bit cyclic convolution the L-bit block is split into L / 8 8-bit blocks and then a cyclic convolution y = x * c with y on each of the blocks. = Φ d _ is executed, where c = (c.) it has a 7-bit
Schlüssel pro 8-Bit-Block die Auswahl unter denKeys per 8-bit block the choice among
Parameter-Vektoren c steuert.Controls parameter vectors c.
Die Elementaroperation des neunten Unterregisters kann aus einer zyklischen Verschiebung C 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, 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 .
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ß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=Cw(x)*x ist' y = C w (x) * x is '
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.=l ist für einen L/2-Bit Teilschlüssel beta=(betai)Q /2"1.However, it is also possible for the conditional exchange described for the second or third sub-register to be replaced by a general conditional exchange, the entire block being divided into L / 2 subsets and the elements of the i-th subset are exchanged if beta. = 1 for an L / 2-bit subkey beta = (beta i ) Q / 2 "1 .
Die Dechiffrierung erfolgt mit demselben Gerät wie die Chiffrierung dadurch, daß der Chiffriertext C^-1*1 in das R-te Operationsregister eingelesen und dort in den Zwischentext Cτ? 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 ^ - 1 * 1 is read into the R-th operation register and there into the intermediate text C τ ? is converted. 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 and finally the desired plain text are delivered successively. 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 Pi. ausgewählt, dann wird durch denselben Schlüssel bei der Dechiffrierung die inverse Permutation Pi7
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 is selected by the key in the encryption, then the inverse permutation Pi7 becomes by the same key in the decryption selected.
Bei der 4-Bit-Abbildung erfolgt die Invertierung dadurch, daß die inversen Abbildungen Phi" , Phi" , Phi" , Phi" 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 " , Phi " , Phi " , Phi " 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" 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 " 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.In the case of cyclical shifting, the inversion is carried out by cyclical shifting by -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 Cw(.y. und um -w(y) Positionen zyklisch verschoben wird, so daß x=c_w v\ *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. cyclically shifting Cw (.y. And by -w (y) positions, so that x = c _ wv \ * y «Note that w (x) = w (y), although a key does not appear here.
Claims
Patentansprüche:Claims:
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^-1' von L Bit in ein erstes Operationsregister (1) eingelesen und anschließend darin mittels eines temporären Schlüssels s ****' und einer umkehrbaren Funktion F zu einem Zwischentext C^-**' umgewandelt wird, worauf der Zwischentext C. ' parallel in ein zweites Operationsregister (2) übertragen wird, in welchem der Zwischentext ^- ' mittels eines temporären Schlüssels S^ und der umkehrbaren Funktion F zu einem Zwischentext C^ umgewandelt wird, so daß nach insgesamt R solcher Umwandlungsschritte der den Chiffretext c --- ' zum Zeitpunkt j darstellende Zwischentext C^' 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 einem oder mehreren Umwandlungsschritten erfolgt, wobei die Anzahl der Umwandlungsschritte festgelegt ist und die einzelnen Umwandlungsschritte von insgesamt N schnellablaufenden Elementaroperationen gebildet sind, wobei entweder deren Reihenfolge von einer variablen Permutation Pi bestimmt wird, die Teil des Schlüssels SP und so gebildet ist, daß jeder der Umwandlungsschritte genau einmal vollzogen wird, oder aus den zur Verfügung stehendenMethod 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 ^ - 1 'of L bit into a first operation register (1) and then therein by means of a temporary key s * *** 'and a reversible function F is converted to an intermediate text C ^ - ** ', whereupon the intermediate text C. 'is transferred in parallel to a second operation register (2), in which the intermediate text ^ -' by means of a temporary key S ^ and the reversible function F is converted to an intermediate text C ^, so that after a total of R such conversion steps, the intermediate text C ^ 'representing the ciphertext c ---' at time j is formed, the transmission of the individual intermediate texts from one to the other the following Operation register according to the systolic algorithm takes place simultaneously in parallel, characterized in that the conversion of the data block in the operation register k takes place in one or more conversion steps, the number of conversion steps being fixed and the individual conversion steps being formed by a total of N fast-running elementary operations, either of which Sequence is determined by a variable permutation Pi, which is part of the key SP and is formed such that each of the conversion steps is carried out exactly once, or from those available
Elementaroperationen K solcher Elementaroperationen in Abhängigkeit des Schlüssels ausgewählt werden, wobei Wiederholungen gleicher Elementaroperationen zu lässig sind.Elementary operations K of such elementary operations can be selected depending on the key, repetitions of the same elementary operations being permissible.
2. Verfahren nach Anspruch l, dadurch gekennzeichnet, daß die N zur Verfügung stehenden Elementaroperationen gleichzeitig ausgeführt werden, wobei ein Ergebnis durch Schlüsselbits ausgewählt und an das Operationsregister zurückgeschickt wird. 2. The method according to claim 1, characterized in that the N available elementary operations are carried out simultaneously, a result being selected by key bits and sent back to the operations register.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß zur Durchführung einer Elementaroperation der Datenblock im3. The method according to claim 1 or 2, characterized in that for performing an elementary operation of the data block in
Operationsregister k in 1 Unterblöcke unterteilt wird, worauf jeder der Unterblöcke für sich einer Substitution unterworfen wird und vor und/oder nach der Substitution eine Transposition erfolgt, die auf den gesamten Datenblock wirkt.Operation register k is subdivided into 1 sub-blocks, whereupon each of the sub-blocks is subjected to a substitution and before and / or after the substitution a transposition takes place which affects the entire data block.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Schlüssel sj ' ,4. The method according to any one of claims 1 to 3, characterized in that the key sj ',
S^ ' , ..., S^ ' zum ersten Zeitpunkt als Startschlüssel vorgegeben sind und für eine festgelegte Anzahl von Zeitpunkten unverändert übernommen werden.S ^ ', ..., S ^' are specified as start keys at the first point in time and are adopted unchanged for a specified number of times.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Startschlüssel für 2R Zeitpunkte unverändert übernommen werden.5. The method according to claim 4, characterized in that the starting key for 2R times are adopted unchanged.
6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen aus der Rückführung eines bestimmten Zwischentextes gebildet werden. 6. The method according to claim 4 or 5, characterized in that the keys following the start key are formed as recursive functions from the return of a certain intermediate text.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Rückführung des Zwischentextes über Zwischenregister zeitlich verzögert erfolgt.7. The method according to claim 6, characterized in that the return of the intermediate text is delayed via intermediate register.
8. Verfahren nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, daß die auf den Startschlüssel folgenden Schlüssel als rekursive Funktionen8. The method according to any one of claims 4 to 7, characterized in that the keys following the start key as recursive functions
9. Verfahren nach einem der Ansprüche 1 und 4 bis 8, dadurch gekennzeichnet, daß in jedem der Operationsregister (1,2,3,4) insgesamt zehn Umwandlungsschritte erfolgen, wobei hierfür zehn unterschiedliche ElementarOperationen benutzt werden.9. The method according to any one of claims 1 and 4 to 8, 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.
10. Verfahren nach einem der Ansprüche l bis 9, 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 SP abhängen.10. The method according to any one of claims 1 to 9, characterized in that for each of the conversion steps, the data block is first transferred to its own sub-register (5), where the elementary operation is carried out, and then the data block is sent to the operation register (1,2,3,4 ) is transferred back, whereby the elementary operations of special partial keys of the temporary Detach key SP.
11. Verfahren nach Anspruch 10, 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 bestimmten Unterregisters (5) übernimmt.11. The method according to claim 10, 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.
12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer Addition besteht, wobei für den Eingabeblock x=(χ.) ~ und den Teilschlüssel a=(alpha.) ~ der Ausgabeblock y=(y.) ~ berechnet wird durch y.=χ.+alpha. mod 2 = x. Θ alpha. .12. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations consists of an addition, wherein for the input block x = (χ.) ~ And the subkey a = (alpha.) ~ The output block y = (y .) ~ is calculated by y. = χ. + alpha. mod 2 = x. Θ alpha. .
13. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einem bedingten Austausch besteht, wobei für den Eingabeblock x=(χ.) ~ und den Teilschlüssel b=(beta.) _' ~ der Ausgabeblock y=(y.) dadurch berechnet wird, daß x1. und ausgetauscht werden, falls beta.=l ist.13. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations consists of a conditional exchange, wherein for the input block x = (χ.) ~ And the partial key b = (beta.) _ '~ The output block y = (y.) is calculated by x1. and be exchanged if beta. = l.
14. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß eine der ElementarOperationen aus einem bedingten Austausch besteht, wobei für den Eingabeblock x=(x.) ~ und den Teilschlüssel b=(beta.) ' "~ der Ausgabeblock y==(y.) dadurch berechnet wird, daß x 1. und x_JJ—1.—1. ausgetauscht werden, falls beta.=*l ist.14. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations consists of a conditional exchange, wherein for the input block x = (x.) ~ And the partial key b = (beta.) '" ~ The output block y == (y.) is calculated by exchanging x 1st and x_JJ — 1st - 1st if beta. = * l.
15. Verfahren nach einem der Ansprüche 1 bis 11, 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-Operationen15. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations consists of a 2 matrix multiplication, in which the L-bit block first split into L / 2 2-bit blocks and then one for each such of the matrix operations
G ;), (; S) . (O Ϊ) , (Ϊ ;)G;), (; S). (O Ϊ), (Ϊ;)
angewandt wird, wobei deren Auswahl durch jeweils einen 2-Bit-Schlüssel gesteuert wird.is applied, the selection of which is controlled by a 2-bit key.
16. Verfahren nach einem der Ansprüche 1 bis 11, 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.16. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations There are three permutations for which the L-bit block is first split into [L / 3] 3-bit subsets and a permutation is carried out on each subset, the selection being made using a 3-bit key.
17. Verfahren nach einem der Ansprüche 1 bis 11, 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. =17. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations consists of a 4-bit image, for which the L-bit block is first split into L / 4 4-bit blocks, the element being a such 4-bit blocks as a number between 0 and 15, i.e. H. as an element of Z. =
■0, 1, 2, ..., 15V aufgefaßt wird, worauf 4 bijektive■ 0, 1, 2, ..., 15V is understood, whereupon 4 bijectives
Abbildungen Phi-, Phi,, Phi3# hi. auf Z_6 betrachtet werden und jeweils eine davon auf einen 4-Bit Block angewandt wird, wobei die Auswahl durch einen 2-Bit Schlüssel erfolgt.Figures Phi, Phi ,, Phi 3 # hi. Are considered on Z_ 6 and one of each is applied to a 4-bit block, the selection being made using a 2-bit key.
18. Verfahren nach einem der Ansprüche 1 bis 11, 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 y. x. -c. . . ausgeführt wird, wobei c=(c.)3 ungerade Pari.tat hat und ei.n 3-Bιt18. The method according to any one of claims 1 to 11, 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 convolution y = x * c with yx -c. , , is executed, where c = (c.) has 3 odd Pari.tat and ei.n 3-Bιt
Schlüssel pro 4-Bit-Block die Auswahl unter denKeys per 4-bit block the choice among
Parameter-Vektoren c steuert.Controls parameter vectors c.
19. Verfahren nach einem der Ansprüche 1 bis 11, 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 yi = Θ <r-- Xj'°i-j mod 8 auS?eführt wird, wobei c=(c.) 7Q ungerade Pari.tat hat und e.n 7-Bιt19. The method according to any one of claims 1 to 11, 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 y i = Θ <r-- X j '° ij mo d 8 auS ? e leads d where b ei c = (c.) 7 Q has odd Pari.tat and en 7-Bιt
Schlüssel pro 8-Bit-Block die Auswahl unter denKeys per 8-bit block the choice among
Parameter-Vektoren c steuert.Controls parameter vectors c.
20. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß eine der Elementaroperationen aus einer zyklischen Verschiebung C besteht, bei der der L-Bit Block um m=k-L/16 Bit zyklisch verschoben wird, wobei die Auswahl des Wertes k durch einen20. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations consists of a cyclic shift C, in which the L-bit block is shifted cyclically by m = kL / 16 bits, the selection of the value k by one
-log L/16 Bit-Schlüssel erfolgt.-log L / 16 bit key is done.
21. Verfahren nach einem der Ansprüche 1 bis 11, 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 Ha ming-Gewicht w(x) berechnet und schließlich jeder Block um w(x) Positionen zyklisch verschoben wird, so daß *x ist. 21. The method according to any one of claims 1 to 11, characterized in that one of the elementary operations from a 16-bit variable cyclic shift exists, in which the L-bit block is first divided into L / 16 16-bit blocks, then the Haing weight w (x) is calculated for each of the 16-bit blocks and finally each block is cyclically shifted by w (x) positions is such that * is x.
22. Verfahren nach Anspruch 13 oder 14, 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.=l ist für einen L/2-Bit Teilschlüssel beta=(beta.) _' ~ . 22. The method according to claim 13 or 14, 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. = l for an L / 2-bit subkey beta = (beta.) _ '~.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DEP4016203.6 | 1990-05-19 | ||
DE19904016203 DE4016203A1 (en) | 1990-05-19 | 1990-05-19 | METHOD FOR BLOCK-ENCRYPTING DIGITAL DATA |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1991018460A1 true WO1991018460A1 (en) | 1991-11-28 |
Family
ID=6406813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE1991/000413 WO1991018460A1 (en) | 1990-05-19 | 1991-05-18 | Process for the blockwise coding of digital data |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE4016203A1 (en) |
WO (1) | WO1991018460A1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0793366A2 (en) * | 1996-02-28 | 1997-09-03 | Hitachi, Ltd. | Method and apparatus for encrypting data |
DE19707288A1 (en) * | 1997-02-24 | 1998-08-27 | Andreas Kuehnl | Cipher system for enciphering data |
WO1999041877A2 (en) * | 1998-02-13 | 1999-08-19 | Nokia Mobile Phones Limited | Method and arrangement for ciphering information transfer |
DE19807020A1 (en) * | 1998-02-19 | 1999-08-26 | Kuehnl | Method of secure encoding of data for secure data communications |
WO1999044329A2 (en) * | 1998-02-27 | 1999-09-02 | Mosaid Technologies Incorporated | Encryption processor with shared memory interconnect |
AU716807B2 (en) * | 1996-02-28 | 2000-03-09 | Hitachi Limited | Method and apparatus for encrypting data |
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 |
GB2387088A (en) * | 2002-03-26 | 2003-10-01 | Gordon Geoffrey Hodson | Data influenced encryption keys |
US6711624B1 (en) * | 1999-01-13 | 2004-03-23 | Prodex Technologies | Process of dynamically loading driver interface modules for exchanging data between disparate data hosts |
Families Citing this family (5)
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 |
DE19724072C2 (en) | 1997-06-07 | 1999-04-01 | Deutsche Telekom Ag | Device for carrying out a block encryption process |
KR100350207B1 (en) * | 1997-11-28 | 2002-08-28 | 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) | Method for cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks |
FR2822310B1 (en) * | 2001-03-13 | 2003-05-30 | Gemplus Card Int | ELECTRONICALLY CONTROLLED ELECTRIC WIRE SWITCHING DEVICE |
CN108848073B (en) * | 2018-05-31 | 2021-04-13 | 唐山智能电子有限公司 | Method and system for encrypting and decrypting data of real-time data acquisition system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3970790A (en) * | 1973-03-19 | 1976-07-20 | Patelhold Patentverwertungs & Elektro-Holding Ag | Method and device for the coded transmission of messages |
US4157454A (en) * | 1976-12-22 | 1979-06-05 | International Business Machines Corporation | Method and system for machine enciphering and deciphering |
WO1979000418A1 (en) * | 1977-12-21 | 1979-07-12 | H Braendstroem | Method and device for encryption and decryption |
EP0202989A1 (en) * | 1985-05-15 | 1986-11-26 | Thomson-Csf | Enciphering apparatus using substitutions and 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 |
-
1990
- 1990-05-19 DE DE19904016203 patent/DE4016203A1/en not_active Withdrawn
-
1991
- 1991-05-18 WO PCT/DE1991/000413 patent/WO1991018460A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3970790A (en) * | 1973-03-19 | 1976-07-20 | Patelhold Patentverwertungs & Elektro-Holding Ag | Method and device for the coded transmission of messages |
US4157454A (en) * | 1976-12-22 | 1979-06-05 | International Business Machines Corporation | Method and system for machine enciphering and deciphering |
WO1979000418A1 (en) * | 1977-12-21 | 1979-07-12 | H Braendstroem | Method and device for encryption and decryption |
EP0202989A1 (en) * | 1985-05-15 | 1986-11-26 | Thomson-Csf | Enciphering apparatus using substitutions and 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 (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157720A (en) * | 1996-02-28 | 2000-12-05 | Hitachi, Ltd. | Method and apparatus for encrypting data |
AU693733B2 (en) * | 1996-02-28 | 1998-07-02 | Hitachi Limited | Method and apparatus for encrypting data |
EP0793366A3 (en) * | 1996-02-28 | 2003-05-14 | Hitachi, Ltd. | Method and apparatus for encrypting data |
US6504931B1 (en) | 1996-02-28 | 2003-01-07 | Hitachi, Ltd. | Method and apparatus for encrypting data |
AU716807B2 (en) * | 1996-02-28 | 2000-03-09 | Hitachi Limited | Method and apparatus for encrypting data |
EP0793366A2 (en) * | 1996-02-28 | 1997-09-03 | Hitachi, Ltd. | Method and apparatus for encrypting data |
DE19707288A1 (en) * | 1997-02-24 | 1998-08-27 | Andreas Kuehnl | Cipher system for enciphering data |
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 |
WO1999041877A2 (en) * | 1998-02-13 | 1999-08-19 | Nokia Mobile Phones Limited | Method and arrangement for ciphering information transfer |
WO1999041877A3 (en) * | 1998-02-13 | 1999-09-30 | Nokia Mobile Phones Ltd | Method and arrangement for ciphering information transfer |
DE19807020A1 (en) * | 1998-02-19 | 1999-08-26 | Kuehnl | Method of secure encoding of data for secure data communications |
GB2350218A (en) * | 1998-02-27 | 2000-11-22 | Mosaid Technologies Inc | Encryption processor with shared memory interconnect |
US6434699B1 (en) | 1998-02-27 | 2002-08-13 | Mosaid Technologies Inc. | Encryption processor with shared memory interconnect |
US6088800A (en) * | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
WO1999044329A3 (en) * | 1998-02-27 | 2000-03-02 | Mosaid Technologies Inc | Encryption processor with shared memory interconnect |
GB2350218B (en) * | 1998-02-27 | 2003-04-23 | Mosaid Technologies Inc | Encryption processor with shared memory interconnect |
WO1999044329A2 (en) * | 1998-02-27 | 1999-09-02 | Mosaid Technologies Incorporated | Encryption processor with shared memory interconnect |
USRE44697E1 (en) | 1998-02-27 | 2014-01-07 | Mosaid Technologies Incorporated | Encryption processor with shared memory interconnect |
US6711624B1 (en) * | 1999-01-13 | 2004-03-23 | Prodex Technologies | Process of dynamically loading driver interface modules for exchanging data between disparate data hosts |
GB2387088A (en) * | 2002-03-26 | 2003-10-01 | Gordon Geoffrey Hodson | Data influenced encryption keys |
GB2387088B (en) * | 2002-03-26 | 2005-06-01 | Gordon Geoffrey Hodson | Method and apparatus for data encryption/decryption |
Also Published As
Publication number | Publication date |
---|---|
DE4016203A1 (en) | 1991-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69416684T2 (en) | SYSTEM AND ARRANGEMENT FOR BLOCK-ENCRYPTING / DECRYLING DATA | |
DE19744961B4 (en) | Generate unique and unpredictable values | |
DE69931606T2 (en) | DATA TRANSMITTER AND RECORDING MEDIUM FOR RECORDING A PROGRAM FOR DATA TRANSFORMATION | |
DE69906037T2 (en) | Method and device for data encryption | |
DE69721439T2 (en) | CRYPTOGRAPHIC METHOD AND DEVICE FOR THE NON-LINEAR ASSEMBLY OF A DATA BLOCK AND A KEY | |
DE69031736T2 (en) | ENCRYPTION METHOD | |
WO1991018460A1 (en) | Process for the blockwise coding of digital data | |
DE69330070T2 (en) | METHOD AND DEVICE FOR GENERATING A Cipher sequence | |
DE69916160T2 (en) | Cryptographic processing apparatus and method, and recording medium for recording a cryptographic processing program for performing fast cryptographic processing without sacrificing security | |
DE69929251T2 (en) | ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH | |
DE69731470T2 (en) | SPIRAL-scrambling | |
WO1991018459A2 (en) | Device for converting a digital block and the use thereof | |
DE60036245T2 (en) | Block code for multicarrier transmission | |
DE19827904A1 (en) | Block encryption algorithm with robust security against a differential cryptanalysis, a linear cryptanalysis and a differential cryptanalysis of higher order | |
DE69937007T2 (en) | METHOD AND DEVICE FOR ENCRYPTION AND DECOMPOSITION OF DATA | |
EP0820670A1 (en) | Computer-assisted method for the exchange of cryptographic keys between a user computer unit (u) and network computer unit (n) | |
DE69838258T2 (en) | Public key data transmission systems | |
DE1207426B (en) | Method for encrypting and decrypting impulse messages | |
DE10148415C2 (en) | Method and device for encrypting and decrypting data | |
DE69729297T2 (en) | ENCRYPTION DEVICE FOR BINARY CODED MESSAGES | |
DE10110049A1 (en) | Encryption of program data for use in control devices or controllers, involves using decryption key within the control device, to reduce the amount of data to transfer | |
WO2005043803A1 (en) | Cryptographic method and device | |
DE69829566T2 (en) | ENCRYPTION DEVICE | |
DE69329932T2 (en) | Block-by-block encryption / decryption method using algebraic linear codes | |
EP0384478A2 (en) | Information stream enciphering and deciphering method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE |