WO1991018459A2 - Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben - Google Patents

Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben Download PDF

Info

Publication number
WO1991018459A2
WO1991018459A2 PCT/CH1991/000117 CH9100117W WO9118459A2 WO 1991018459 A2 WO1991018459 A2 WO 1991018459A2 CH 9100117 W CH9100117 W CH 9100117W WO 9118459 A2 WO9118459 A2 WO 9118459A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
blocks
sub
encryption
output
Prior art date
Application number
PCT/CH1991/000117
Other languages
English (en)
French (fr)
Other versions
WO1991018459A3 (de
Inventor
James Lee Massey
Xuejia Lai
Original Assignee
Ascom Tech Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=4216333&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO1991018459(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ascom Tech Ag filed Critical Ascom Tech Ag
Priority to DE59100171T priority Critical patent/DE59100171C5/de
Priority to AT91908542T priority patent/ATE91208T1/de
Publication of WO1991018459A2 publication Critical patent/WO1991018459A2/de
Publication of WO1991018459A3 publication Critical patent/WO1991018459A3/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • the invention relates to a device for the block-wise conversion of a first digital block into a second digital block according to the preamble of claim 1.
  • the invention further relates to the use of this device according to the preamble of the other independent claim.
  • the Data Encryption Standard DES is generally considered a very good encryption tool. However, it is an open, debated question whether the DES standard has become uncertain or not. The short length of the secret key plays an important role here.
  • Fig. 1 basic block diagram of a device for transmitting messages in encrypted form
  • FIG. 2 block diagram of an encryption unit
  • FIG. 3 block diagram of a primary
  • FIG. 8 block diagram of a supplementary item
  • FIG. 9 block diagram of an encryption level
  • FIG. 11 block diagram of a second supplementary item
  • FIG. 12 block diagram of a second
  • FIG. 13 block diagram of a second
  • the messages to be transmitted originate in a message source (message source) 11, for example a computer. These messages are encrypted in an encryption unit (encrypter) 12 and sent as cipher text to a generally accessible transmission line 13.
  • the cipher text X reaches a decrypter 14 on the receiver side, which decrypted supplies it to a message sink (destination) 15, for example a second computer.
  • Decryption unit 14 use a secret key block Z for the encryption or decryption of the messages, which is provided by a key source 16 and is supplied to both units 12, 14 on a secure channel 17.
  • This channel 17 is, for example, a courier with a sealed envelope.
  • the cipher text on the transmission line 13 is always subject to the risk that an enemy cryptanalysisr 19 reads this text and tries to obtain the assigned plain text X or the key block Z. (The result of these attempts
  • the encryption method should be resistant to this in principle or at least for a sufficiently long time.
  • Fig. 2 shows a block diagram of the
  • Encryption unit 12 in the case of gradual block encryption.
  • the plaintext X. to be encrypted comes continuously from the message source 11 and reaches an input unit 21, for example a series / parallel converter in the case of a serial bit stream.
  • These plain text subblocks of the respective plain text block X reach first through inputs 25 to 28, respectively consisting of sixteen parallel lines, a first encryption level 61.1.
  • the sub-blocks X ⁇ to X 4 are mixed together with six different control blocks by means of suitable logic functions.
  • the (general) control blocks are at
  • Decryption sub-blocks U x to U 6 which are each derived from the key block Z. This will be discussed in more detail later. The encryption process is mainly described below, which is why the term key sub-block is preferred.
  • the key partial blocks Z x to Z 6 are present at second inputs 29, 30, 32, 33, 49, 52 of the first encryption level 61.1.
  • You and other key sub-blocks Z 7 to Z S2 are delivered by a key sub-block generation unit 63.
  • the method for obtaining the key partial blocks Z x to Z 8 from the key block Z is that it is divided into eight equal parts, each 16 bits long.
  • the 128 bits of the key block Z are then cyclically shifted by 25 bits in a uniform direction, for example to the left (cyclically interchanged), and the resulting new sequence of 128 bits is again divided into eight equal parts to form the key sub-blocks Z 9 to Z 16 , and so on until the formation of Z S2 .
  • Each key sub-block Z x to Z 52 thus has a (second) length m of 16 bits, is uniquely derived from the key block Z and generally differs from every other key sub-block.
  • the key sub-blocks Z-, Z 6 are located at the six second inputs 29, 30, 32, 33, 49, 52 of the first encryption stage 61.1.
  • the first intermediate sub-blocks W n to W 14 are for the second encryption step at the connections or inputs 35 to 38 (identical to the outputs of the previous stage 61.1) of a second one
  • Encryption level 61.2 This encryption level 61.2 is constructed identically to the first encryption level 61.1.
  • the described key sub-blocks Z 7 to Z 12 are present at their six second key inputs and the second intermediate sub-blocks W 21 , W 22 , W 23 , W 24 or overall the second intermediate block W 2 appear at their outputs.
  • the second intermediate sub-blocks W 21 to W 24 are present for the third encryption step at a third encryption level, not shown, the third intermediate sub- blocks W 31 to W 34 at a fourth encryption level, etc. up to a ninth encryption level 69 with four, different from the previous levels second inputs 129, 130, 132, 133.
  • ciphertext block Y which corresponds to the respective plaintext block X in a complicated but unambiguous manner assigned.
  • This ciphertext block Y is converted in an output unit 79, for example a parallel / series converter, in such a way that it can be transmitted on the transmission line 13.
  • the encryption process thus takes place in nine successive successive encryption levels 61.1, 61.2, 69, of which the first eight are identical to one another.
  • the different key sub-blocks Z x to Z 52 mentioned in total serve as keys.
  • the encryption unit 60 required for the encryption process X ⁇ Y is shown in dashed lines in FIG. 2.
  • the encryption levels 61.1, 61.2, 69 can be implemented in different ways.
  • a so-called software solution can be provided, in which one or more processors work according to a predetermined program.
  • each input e.g. the first inputs 25 to 28
  • the m 16 parallel lines of each input in series.
  • a hardware solution can also be provided in which the logical function elements are present as independent circuit units. These are then either constructed from discrete chip elements or preferably from a few large integration modules (very large scale integration VLSI).
  • VLSI very large scale integration
  • all lines of all inputs are preferably treated in parallel.
  • a partial series procedure is also possible here, e.g. the various inputs (e.g. 25 to 28) are connected in series to part-central circuit units via ultiplexer.
  • the hardware solution has the advantage over the software solution that it can work much faster, up to clock frequencies of around 100 Mbit / s and more.
  • the hardware solution for the encryption levels 61.1, 61.2, 69 is therefore put in the foreground and for reasons of illustration.
  • 3 shows the block diagram of a primary encryption logic 40.
  • This logic comprises four operational units 41 to 44 of two different types JJ, j, which are interconnected by three connections 45 to 47, the last (47) of which is an output of the logic 40 forms.
  • Each operation unit 41 to 44 has two inputs and one output. Each input and output is designed as a 16-bit parallel input or output, to which a 16-bit block is present in parallel.
  • the operational units 41 to 44 are designed to logically combine two input blocks E 1 E 2 and to form an associated output block A of 16 bits. In terms of the method, the operation units are connected in four stages, the two types of units 41 to 44 alternating.
  • the operational units of the first type [__, ie units 42 and 44 have the following properties: These units consider each input block E lf E 2 as an integer in binary representation, this number being the set of numbers or the quantity ⁇ 0, 1, 2 , ..., (2 m -l) ⁇ (the number m (second length) is preferably the number 16, but can also be 4 or 8).
  • the units 42, 44 then form the sum modulo 2 m from the input blocks E lr E 2 and emit a corresponding output block A.
  • the operation units 42, 44 of the first type are thus modulo 2 m adders.
  • the two input blocks E x , E 2 and the output block A are each a number in binary and decimal form specified.
  • the respective output block A is then the product modulo (2 m + l) of the input blocks E lr E 2 .
  • the units 41, 43 are thus multipliers modulo (2 m + 1).
  • the primary encryption logic 40 brings about very good mixing (diffusion), since each of its two output blocks a lf a 2 depends on both input blocks e x , e 2 and on the two key sub-blocks Z 5 / Z 6 , that is to say on the values at all inputs. It can be demonstrated that the number of four operations constitutes a minimum for fulfilling this mixing task. The above-mentioned use of operating units of different types is used to generate the necessary confusion.
  • This encryption logic has four first inputs 125 to 128 for four input blocks e 5 to e 8 to be encrypted in parallel, four outputs 35 to 38 for the delivery of four output blocks a 5 to a 8 and two second inputs 49, 52 already mentioned for the input of two key sub-blocks Z 5 , Z 6 .
  • the heart of the extended encryption logic 140 is the described primary logic 40. This is supplemented by six operation units 115 to 120 of a third type ⁇ -, in such a way that the input 125 to the units
  • the extended encryption logic 140 is functionally constructed in such a way that each output 35 to 38 depends on all inputs 125 to 128 and 49, 52, that operational units of different types [ ⁇ J, CJ, follow one another and that the property of involution is given. This last property means that the expanded encryption logic 140 is a self-inverse function for the blocks e 5 to e 8 present at its first inputs 125 to 128, specifically for any pair of key partial blocks Z 5 , Z 6 .
  • FIG. 8 shows the block diagram of a supplementary encryption logic 240.
  • This has two operation units 111, 112 of the second type __ and two operation units 113, 114 of the first type ___].
  • the outputs of logic 240 are the same as outputs 135 to 138 of operation units 111 to 114.
  • FIG. 9 shows the block diagram of one of the first eight, identical encryption stages in FIG. 2, for example the first stage 61.1. Then this encryption level is removed from the Combination of an additional encryption logic 240 and an expanded encryption logic 140 is formed, the outputs 135 to 138 of the logic 240 being directly (galvanically) connected to the inputs 125 to 128 of the subsequent logic 140.
  • the inputs 25 to 28 of the respective encryption level (61.1) are identical to the inputs 225 to 228 of the additional encryption logic 240.
  • the outputs of the extended logic 140 cross the outputs 35 to 38 of the encryption level 61.1.
  • Six key sub-blocks are present at the second inputs 29, 30, 32, 33, 49, 52, for example, blocks Z x to Z 6 , at the first inputs 25 to 28 either four plain text sub-blocks X x to X 4 or four intermediate sub- blocks W nl to W n4 .
  • the ninth encryption level 69 corresponds exclusively to the supplementary encryption logic 240, the four outputs 135 to 138 of this logic 240 being identical to the four outputs 75 to 78 of the encryption level 69.
  • the encryption unit 60 (FIG. 2) as overall logic for encrypting plain text blocks X, each of which corresponds to a sequence of 64 bits, has the following overall properties:
  • Each block at outputs 75 to 78 is dependent on all blocks on the first inputs 25 to 28 and on almost all blocks on the second inputs 29, 30, 32, 33, 49, 52, in total of fifty-three blocks. (The output blocks are not dependent on three blocks each, which are present at the second inputs 129, 130, 132, 133 of the ninth encryption stage 69.)
  • each bit of each block W (n + 1) 1 to W (n + 1 at the outputs 35 to 38 is dependent on all bits of all blocks W nl to W n4 and Z. n at the first
  • an encryption unit 60 can either be used to encrypt a plain text block X or to decrypt a ciphertext block Y.
  • the unit 60 can thus be used both for the encryption process X -> Y and for the decryption process Y -> X.
  • FIG. 10 now shows fifty-two decryption sub-blocks u x to U 52 which are to be used for the decryption process Y -> X, in comparison to the key sub-blocks Z x to Z 52 and in their relationship to these key sub-blocks and to the nine encryption levels 61.1 , 61.2, 69 (Fig. 2).
  • Y -> X are the negative values of the modulo-2 16 addition of the third and fourth key sub-blocks in the (10-i) th stage of the encryption process X -> Y.
  • the invention allows a large number of variants. Some of these are listed below.
  • Encryption logic 40 interchanged. However, it is also possible to construct the primary encryption logic 40 in a more complex manner and / or to omit the second inputs 49, 52 in such a variant.
  • the principle can be broken that the types J j, j, f of the immediately successive operating units are always different. However, it is advantageous if at least the vast majority of all pairs of directly successive operations consist of two operations of different types [+ J,, +). •
  • the key sub- blocks Z ⁇ to Z 52 are derived from the key block Z by a method other than the one described.
  • the encryption unit 60 is primarily constructed using discrete operational units 41 to 44, 111 to 114, 115 to 120 as special logic units (hardware solution), primarily using commercially available processors and memories that work according to an assigned program ( Software solution) or in mixed construction.
  • Each of the described logics 40, 140, 240, 60, 61.1, 61.2, 69 can be understood as a "black box" with first and second inputs and outputs.
  • Each of these logics converts the two or four first sub-blocks adjacent to the first inputs into assigned second sub-blocks of the same length, which can be tapped at the outputs.
  • the conversion process is influenced by the key sub-blocks applied to the second inputs, or more generally by suitable control blocks. Parallel inputs and outputs are advantageous if higher working speeds are required.
  • the (second) length m is either 4, 8 or preferably 16 bits.
  • the invention has the advantageous further property that it is relatively uncomplicated to set up and works quickly and easily both in the hardware and in the software version.
  • the Encryption logics 40, 140, 240 can be built up from VLSI semiconductor components (VLSI very large scale integration) and can therefore be manufactured inexpensively.
  • FIGS. 11 to 14 are modifications of FIGS. 8, 9, 2 and 10.
  • FIG. 11 shows the block diagram of a second supplementary encryption logic 240v.
  • This has two operation units 111v, 114v of the second type f and two operation units 112v, 113v of the first type [+].
  • the outputs of the logic 240 are the same as the outputs 135 to 138 of the operational units IIIV to 114V.
  • Fig. 12 shows the block diagram of a second encryption level 61.lv. This is formed from the combination of the supplementary encryption logic 24Ov and an expanded encryption logic 140, the outputs 135 to 138 of the logic 240v being directly (galvanically) connected to the inputs 125 to 128 of the subsequent logic 140.
  • the inputs 25 to 28 of the respective encryption level (61.lv) are identical to the inputs 225 to 228 of the second, additional encryption logic 24Ov.
  • the outputs of the extended logic 140 form the outputs 35 and 38 directly and cross-over the outputs 36 and 37 of the
  • Encryption level 61.lv. The further structure corresponds completely to that of FIG. 9.
  • FIG. 13 shows the block diagram of a second encryption unit 60v, which largely corresponds to FIG. 2.
  • the inputs W 82 and W 83 are connected crosswise to ... W 22 and ... W 23 , respectively.
  • FIG. 14 finally shows a second table of key sub-blocks Z n and decryption sub-blocks U n , corresponding to FIG. 10.
  • Y -> X are equal to the modulo (2 16 +1) multiplication inverse of the first and fourth key sub-blocks in the (l ⁇ -i) th stage of the encryption process X -> Y.
  • Y -> X are the negative values of the modulo-2 16 addition of the third and second key sub-blocks in the (10-i) th stage of the encryption process X -> Y.
  • Z is 1. Furthermore, -Z j modulo-2 16 - added with Z is 0,

Abstract

Die Vorrichtung (12) umfasst neun Verschlüsselungsstufen (61.1, 61.2, 69), von denen die ersten acht identisch aufgebaut sind. Sie umfasst weiter eine Schlüsselteilblockerzeugungseinheit (63), eine Eingangseinheit (21) und eine Ausgangseinheit (79). Sie dient zum blockweisen Verschlüsseln eines von einer Nachrichtenquelle (11) herkommenden Klartextes (X) in einen auf eine Übertragungsleitung (13) abzugebenden Chiffriertext (Y), wobei über einen sicheren Kanal (17) vorher ein geheimer Schlüsselblock (Z) eingegeben wird. Das Verschlüsseln erfolgt stufenweise und parallel für jeweils vier Teilblöcke (X1 - X4; W11 - W14; W21 - W24; W81 - W84; Y1 - Y4). Hierzu besitzt jede Verschlüsselungsstufe (61.1, 61.2, 69) vier erste Eingänge (25 - 28; 35 - 38), sechs bzw. vier zweite Eingänge (29, 30, 32, 33, 49, 52; 129, 130, 132, 133) und vier Ausgänge (75 - 78). An den zweiten Eingängen liegen insgesamt zweiundfünfzig Schlüsselteilblöcke (Z1 - Z52) an, die aus dem Schlüsselblock (Z) gebildet sind. Die Vorrichtung (12) kann unverändert auch zum Entschlüsseln eines ankommenden Chiffriertextes (Y) dienen. Hierzu sind nur andere Schlüsselteilblöcke an die zweiten Eingänge anzulegen.

Description

Vorrichtung für das Umwandeln eines Diqitalblockes und Verwendung derselben
Die Erfindung betrifft eine Vorrichtung für das blockweise Umwandeln eines ersten Digitalblockes in einen zweiten Digitalblock entsprechend dem Oberbegriff von Anspruch 1. Die Erfindung betrifft weiter die Verwendung dieser Vorrichtung entsprechend dem Oberbegriff des anderen unabhängigen Anspruchs.
Seit mehr als zehn Jahren stehen weltweit Übertragungsnetze im Einsatz, die den Data Encryption Standard DES verwenden. Dieser Standard DES des American National Bureau of Standards (NBS) dient zur Blockverschlüsselung mit individuell wählbaren Schlüsseln (secret-key block encryption) . Hierbei hat jeder Klartextblock (plaintext block) eine Länge von 64 Bit, desgleichen der Chiffriertextblock. Als Schlüssel (secret-key) dient eine Sequenz von 64 Bit, von denen 56 Bit frei wählbar sind. Die Übertragung der Chiffriertextblöcke erfolgt über ein allgemein zugängliches Netz.
Der Data Encryption Standard DES gilt allgemein als sehr gutes Verschlüsselungs-Werkzeug. Es ist jedoch eine offene, diskutierte Frage, ob der Standard DES inzwischen unsicher geworden ist oder nicht. Hierbei spielt die geringe Länge des Geheimsschlüssels eine wichtige Rolle.
Es ist die Aufgabe der Erfindung, eine neue, gegenüber DES verbesserte Blockverschlüsselungsart anzugeben, die als europäischer Standard einführbar wäre. Diese Art der Blockverschlüsselung soll alle bekannten Verschlüsselungstechniken der Verwirrung (confusion) , Durchmischung (diffusion) usw. ausnützen und vor allem einen längeren Schlüssel verwenden. Die Lösung dieser Aufgabe wird durch den kennzeichnenden Teil der unabhängigen Ansprüche gegeben. Die abhängigen Ansprüche geben Ausgestaltungen der Erfindung an.
Im folgenden wird die Erfindung anhand von vierzehn Figuren beispielsweise näher beschrieben. Es zeigen:
Fig. 1 - grundsätzliches Blockschaltbild einer Einrichtung zur Übertragung von Nachrichten in verschlüsselter Form
Fig. 2 - Blockschaltbild einer Verschlüsselungseinheit
Fig. 3 - Blockschaltbild einer primären
Verschlüsselungslogik
Fig. 4 - Wahrheitstabelle einer ersten Sorte von
Operationseinheiten
Fig. 5 - Wahrheitstabeile einer zweiten Sorte von
Operationseinheiten
Fig. 6 - Blockschaltbild einer erweiterten
Verschlüsselungslogik
Fig. 7 - Wahrheitstabeile einer dritten Sorte von
Operationseinheiten
Fig. 8 - Blockschaltbild einer ergänzenden
Verschlüsselungslogik
Fig. 9 - Blockschaltbild einer Verschlüsselungsstufe
Fig. 10 - Tabelle von Schlüsselteilblöcken und
Entschlüsselungsteilblöcken
Fig. 11 - Blockschaltbild einer zweiten ergänzenden
Verschlüsselungslogik
Fig. 12 - Blockschaltbild einer zweiten
Verschlüsselungsstufe
Fig. 13 - Blockschaltbild einer zweiten
Verschlüsselungseinheit
Fig. 14 - Zweite Tabelle von Schlüsselteilblöcken und
Entschlüsselungsteilblöcken.
Fig. 1 zeigt ein grundsätzliches Blockschaltbild einer Einrichtung zur Übertragung von Nachrichten in verschlüsselter Form. Die zu übertragenden Nachrichten (Klartext X.) entstehen in einer Nachrichtungsquelle (message source) 11, z.B. einem Computer. Diese Nachrichten werden in einer Verschlüsselungseinheit (encrypter) 12 verschlüsselt und als Chiffriertext auf eine allgemein zugängliche Übertragungsleitung 13 ausgesandt. Der Chiffriertext X erreicht auf der Empfängerseite eine Entschlüsselungseinheit (decrypter) 14, die ihn entschlüsselt einer Nachrichtensenke (destination) 15, z.B. einem zweiten Computer zuführt.
Die Verschlüsselungseinheit 12 und die
Entschlüsselungseinheit 14 benützen für die Verschlüsselung bzw. die Entschlüsselung der Nachrichten einen geheimen Schlüsselblock Z, der durch eine Schlüsselquelle (key source) 16 bereitgestellt und auf einem sicheren Kanal (secure Channel) 17 beiden Einheiten 12, 14 zugeführt wird. Dieser Kanal 17 ist beispielsweise ein Kurier mit versiegeltem Kuvert.
Der Chiffriertext auf der Übertragungsleitung 13 unterliegt stets der Gefahr, dass ein feindlicher Cryptanalysierer (enemy cryptanalyst) 19 diesen Text mitliest und versucht, den zugeordneten Klartext X. oder den Schlüsselblock Z zu gewinnen. (Das Ergebnis dieser Versuche
SS Λ. ist als X und Z bezeichnet.) Hiergegen sollte die Verschlüsselungsmethode (cipher) grundsätzlich oder doch wenigstens für eine genügend lange Zeit resistent sein.
Fig. 2 zeigt ein Blockschaltbild der
Verschlüsselungseinheit 12 für den Fall einer stufenweisen Blockverschlüsselung. Der zu verschlüsselnde Klartext X. kommt laufend von der Nachrichtenquelle 11 und erreicht eine Eingangseinheit 21, z.B. für den Fall eines seriellen Bitstromes einen Serie/Parallel-Wandler. Dieser stellt schrittweise Klartextblöcke X von bevorzugt N = 64 Bit (erste Länge) zusammen, die in vier Teilblöcke Xlf X2, X3, X4 von je m = 16 Bit (zweite Länge) aufgeteilt sind. Diese Klartextteilblöcke des jeweiligen Klartextblockes X erreichen über erste Eingänge 25 bis 28, jeweils aus sechzehn parallelen Leitungen bestehend, eine erste Verschlüsselungsstufe 61.1. In dieser Stufe 61.1 werden die Teilblöcke Xλ bis X4 mit sechs verschiedenen Steuerblöcken mittels geeigneter logischer Funktionen zusammengemengt. Die (allgemeinen) Steuerblöcke sind beim
Verschlüsselungsprozess (spezielle) Schlüsselteilblöcke Zx bis Z6, beim Entschlüsselungsprozess
Entschlüsselungsteilblöcke Ux bis U6, die jeweils aus dem Schlüsselblock Z abgeleitet werden. Hierauf wird später näher eingegangen. Im folgenden wird vorwiegend der Verschlüsselungsvorgang geschildert, weshalb der Begriff Schlüsselteilblock bevorzugt wird.
Die Schlüsselteilblöcke Zx bis Z6 liegen an zweiten Eingängen 29, 30, 32, 33, 49, 52 der ersten Verschlüsselungsstufe 61.1 an. Sie sowie weitere Schlüsselteilblöcke Z7 bis ZS2 werden von einer Schlüsselteilblockerzeugungseinheit 63 abgegeben. Diese Einheit 63 erhält über den sicheren Kanal 17 den gewählten Schlüsselblock Z, der bevorzugt eine Sequenz von K = 128 Bit bildet.
Das Verfahren zur Gewinnung der Schlüsselteilblöcke Zx bis Z8 aus dem Schlüsselblock Z besteht darin, dass dieser in acht gleiche Teile von je 16 Bit Länge unterteilt wird. Anschliessend werden die 128 Bit des Schlüsselblocks Z zyklisch um 25 Bit in einer einheitlichen Richtung, z.B. nach links, verschoben (zyklisch vertauscht) und die so entstandene neue Sequenz von 128 Bit wiederum in acht gleiche Teile geteilt zur Bildung der Schlüsselteilblöcke Z9 bis Z16, und so fort bis zur Bildung von ZS2. Jeder Schlüsselteilblock Zx bis Z52 besitzt somit eine (zweite) Länge m von 16 Bit, ist auf eindeutige Weise vom Schlüsselblock Z abgeleitet und unterscheidet sich im allgemeinen von jedem anderen Schlüsselteilblock. Die Schlüsselteilblöcke Z-, bis Z6 liegen an den genannten sechs zweiten Eingängen 29, 30, 32, 33, 49, 52 der ersten Verschlüsselungsstufe 61.1 an. Das Ergebnis des Zusam enmengens in dieser Stufe 61.1 erscheint an vier Ausgängen bzw. Verbindungen 35 bis 38, und zwar als vier erste Zwischenteilblöcke Wn, W12, W13, W14 von jeweils m = 16 Bit, die zusammen einen ersten Zwischenblock x der (ersten) Länge N = 64 Bit bilden.
Die ersten Zwischenteilblöcke Wn bis W14 liegen für den zweiten Verschlüsselungsschritt an den Verbindungen bzw. Eingängen 35 bis 38 (identisch mit den Ausgängen der vorhergehenden Stufe 61.1) einer zweiten
Verschlüsselungsstufe 61.2 an. Diese Verschlüsselungsstufe 61.2 ist identisch aufgebaut wie die erste Verschlüsselungsstufe 61.1. An ihren sechs zweiten Schlüsseleingängen liegen die beschriebenen Schlüsselteilblöcke Z7 bis Z12 an und an ihren Ausgängen erscheinen die zweiten Zwischenteilblöcke W21, W22, W23, W24 bzw. insgesamt der zweite Zwischenblock W2.
Die zweiten Zwischenteilblöcke W21 bis W24 liegen für den dritten Verschlüsselungsschritt an einer dritten, nicht gezeigten Verschlüsselungsstufe an, die dritten Zwischenteilblöcke W31 bis W34 an einer vierten Verschlüsselungsstufe usw. bis zu einer neunten, von den vorhergehenden Stufen verschiedenen Verschlüsselungsstufe 69 mit vier zweiten Eingängen 129, 130, 132, 133.
An den Ausgängen 75 bis 78 der neunten Stufe 69 erscheinen schliesslich vier Chiffriertextteilblöcke Yj, Y2, Y3, Y4 der zweiten Länge m = 16 Bit, die zusammen einen Chiffriertextblock Y bilden, der dem jeweiligen Klartextblock X auf komplizierte, jedoch eineindeutige Weise zugeordnet ist. Dieser Chiffriertextblock Y wird in einer Ausgangseinheit 79, z.B. einem Parallel/Serie- Wandler, so umgewandelt, dass er auf die Übertragungsleitung 13 ausgesandt werden kann. Der Verschlüsselungsprozess erfolgt somit in neun sukzessive aufeinander folgenden Verschlüsselungsstufen 61.1, 61.2, 69, von denen die ersten acht miteinander identisch sind. Als Schlüssel dienen dabei die insgesamt zweiundfünfzig genannten verschiedenen Schlüsselteilblöcke Zx bis Z52. Die für den Verschlüsselungsprozess X —> Y notwendige Verschlüsselungseinheit 60 ist in Fig. 2 gestrichelt angegeben.
Die Realisierung der Verschlüsselungsstufen 61.1, 61.2, 69 kann auf verschiedene Weisen erfolgen. Zum einen kann eine sogenannte Software-Lösung vorgesehen werden, bei der ein oder mehrere Prozessoren nach einem vorgegebenen Programm arbeiten. Hierbei kann zum Beispiel jedem Eingang (z.B. den ersten Eingängen 25 bis 28) ein eigener Prozessor zugeordnet werden, der die jeweils m = 16 parallelen Leitungen jedes Eingangs seriell berücksichtigt. Zum anderen kann auch eine Hardware-Lösung vorgesehen sein, bei der die logischen Funktionsglieder als eigenständige Schaltungseinheiten vorliegen. Diese sind dann entweder aufgebaut aus diskreten Chipelementen oder bevorzugt aus wenigen Grossintegrationsbausteinen (very large scale Integration VLSI) . Bei der Hardware-Lösung werden bevorzugt alle Leitungen aller Eingänge parallel behandelt. Jedoch ist auch hier ein teilweises Serie-Vorgehen möglich, indem z.B. die verschiedenen Eingänge (z.B. 25 bis 28) über ultiplexer seriell an teil-zentrale Schaltungseinheiten angeschaltet werden.
Die Hardware-Lösung hat gegenüber der Software-Lösung den Vorteil, dass sie wesentlich schneller arbeiten kann, und zwar bis zu Taktfrequenzen von etwa 100 Mbit/s und mehr. Im folgenden wird daher und aus Gründen der Darstellung die Hardware-Lösung für die Verschlüsselungsstufen 61.1, 61.2, 69 in den Vordergrund gestellt. Fig. 3 zeigt das Blockschaltbild einer primären Verschlüsselungslogik 40. Diese Logik umfasst vier Operationseinheiten 41 bis 44 zweier unterschiedlicher Sorten J J , j , die untereinander durch drei Verbindungen 45 bis 47 verbunden sind, von denen die letzte (47) gleichzeitig einen Ausgang der Logik 40 bildet. Dazu kommt ein weiterer Ausgang 48 sowie zwei erste Eingänge 50, 51 und zwei zweite Eingänge 49, 52 der Logik 40.
Jede Operationseinheit 41 bis 44 hat zwei Eingänge und einen Ausgang. Jeder Eingang und Ausgang ist ausgebildet als ein 16-Bit-Parallel-Ein- bzw. Ausgang, an dem bit¬ parallel ein 16-Bit-Block anliegt. Entsprechend sind die Operationseinheiten 41 bis 44 ausgebildet zum logischen Zusammenfügen jeweils zweier Eingangsblöcke El f E2 und zur Bildung eines zugeordneten Ausgangsblocks A von 16 Bit. Verfahrensmässig sind die Operationseinheiten in vier Stufen hintereinander geschaltet, wobei die beiden Sorten der Einheiten 41 bis 44 sich abwechseln.
Die Operationseinheiten der ersten Sorte [__ , d.h. die Einheiten 42 und 44, haben folgende Eigenschaften: Diese Einheiten betrachten jeden Eingangsblock Elf E2 als eine ganze Zahl in Binärdarstellung, wobei diese Zahl dem Zahlensatz bzw. der Menge {0, 1, 2,..., (2m-l) } angehört (Die Zahl m (zweite Länge) ist dabei bevorzugt die Zahl 16, kann aber auch 4 oder 8 sein) . Die Einheiten 42, 44 bilden sodann die Summe modulo 2m aus den Eingangsblöcken El r E2 und geben einen entsprechenden Ausgangsblock A ab. Die Operationseinheiten 42, 44 der ersten Sorte sind damit Addierer modulo 2m.
Fig. 4 zeigt die Wahrheitstabelle für diese erste Sorte1+1 von Operationseinheiten 42, 44, und zwar als Beispiel für m = 2. Hierbei sind die beiden Eingangsblöcke Ex, E2 sowie der Ausgangsblock A jeweils als Zahl in Binär- und in Dezimaldarstellung angegeben. Die Operationseinheiten 41, 43 der zweiten Sorte f ι haben folgende Eigenschaften: Diese Einheiten betrachten den Block, dessen Bits alle Null sind, als ganze Zahl 2m. Ansonsten betrachten sie die Blöcke als ganze Zahlen in Binärdarstellung, wobei diese Zahlen dem Zahlensatz bzw. der Menge {1, 2, 3,..., (2πι-l) } angehört (m = 4, 8 oder 16) . Der jeweilige Ausgangsblock A ist sodann das Produkt modulo (2m+l) der Eingangsblöcke El r E2. Die Einheiten 41, 43 sind damit Multiplizierer modulo (2m+l) . Fig. 5 zeigt die Wahrheitstabelle für diese zweite Sorte f von Operationseinheiten 41, 43 für m = 2, wiederum als Beispiel und entsprechend der Wahrheitstabelle von Fig. 4.
Die primäre Verschlüsselungslogik 40 bewirkt eine sehr gute Durchmischung (diffusion) , da jeder ihrer beiden Ausgangsblöcke alf a2 von beiden Eingangsblδcken ex, e2 und von den beiden Schlüsselteilblöcken Z5/ Z6, also von den Werten an allen Eingängen abhängt. Es ist nachweisbar, dass hierbei die Anzahl von vier Operationen ein Minimum zur Erfüllung dieser Aufgabe der Durchmischung bildet. Zur Erzeugung der notwendigen Verwirrung (confusion) dient die genannte Verwendung von Operationseinheiten verschiedener Sorten.
Fig. 6 zeigt das Blockschaltbild einer erweiterten Verschlüsselungslogik 140. Diese Verschlüsselungslogik weist vier erste Eingänge 125 bis 128 für vier parallel zu verschlüsselnde Eingangsblöcke e5 bis e8 auf, vier Ausgänge 35 bis 38 für die Abgabe von vier Ausgangsblöcken a5 bis a8 und zwei bereits genannte zweite Eingänge 49, 52 für die Eingabe von zwei Schlüsselteilblöcken Z5, Z6.
Das Herz der erweiterten Verschlüsselungslogik 140 bildet die beschriebene primäre Logik 40. Diese ist ergänzt durch sechs Operationseinheiten 115 bis 120 einer dritten Sorte ζ- , und zwar so, dass der Eingang 125 auf die Einheiten
115 und 117 führt, dass der Eingang 126 auf die Einheiten
116 und 118 führt, dass der Eingang 127 auf die Einheiten 115 und 119 führt, dass der Eingang 128 auf die Einheiten
116 und 120 führt, dass die Ausgänge der Einheiten 115 und 116 die Eingänge 50 bzw. 51 der Logik 40 bilden, dass die Ausgänge 47, 48 der Logik 40 die Eingänge der Einheiten 117, 119 bzw. 118, 120 bilden, und dass die Ausgänge der Einheiten 117 bis 120 die Ausgänge 35 bis 38 bilden. Die erweiterte Verschlüsselungslogik 140 ist funktionsmässig so aufgebaut, dass jeder Ausgang 35 bis 38 von allen Eingängen 125 bis 128 und 49, 52 abhängt, dass jeweils Operationseinheiten unterschiedlicher Sorte [±J , C-J , aufeinanderfolgen und dass die Eigenschaft der Involution gegeben ist. Diese letzte Eigenschaft bedeutet, dass die erweiterte Verschlüsselungslogik 140 eine selbst-inverse Funktion ist für die an ihren ersten Eingängen 125 bis 128 anliegenden Blöcke e5 bis e8, und zwar für jedes beliebige Paar von Schlüsselteilblöcken Z5, Z6.
Als Operationseinheiten 115 bis 120 der dritten Sorte ^_ werden bevorzugt Bit-für-Bit-Exklusiv-ODER verwendet, wie sie vom genannten Standard DES bekannt sind. Fig. 7 gibt entsprechend den Figuren 4 und 5 die Wahrheitstabeile für ein Bit-für-Bit-Exklusiv-ODER und m = 2 an, wiederum nur als Beispiel zum Demonstrieren der Funktion.
Fig. 8 zeigt das Blockschaltbild einer ergänzenden Verschlüsselungslogik 240. Diese weist zwei Operationseinheiten 111, 112 der zweiten Sorte __ und zwei Operationseinheiten 113, 114 der ersten Sorte ___] auf. Deren Eingänge sind jeweils ein erster Eingang 225 bis 228 zum Eingeben eines Eingangsblocks en und ein zweiter Eingang 29, 30, 32, 33 zum Eingeben eines Schlüsselteilblocks Zn (n = 1 ... 4) . Die Ausgänge der Logik 240 sind gleich den Ausgängen 135 bis 138 der Operationseinheiten 111 bis 114.
Fig. 9 zeigt das Blockschaltbild einer der ersten acht, gleichen Verschlüsselungsstufen Fig. 2, z.B. der ersten Stufe 61.1. Danach wird diese Verschlüsselungsstufe aus der Kombination einer ergänzenden Verschlüsselungslogik 240 und einer erweiterten Verschlüsselungslogik 140 gebildet, wobei die Ausgänge 135 bis 138 der Logik 240 direkt mit den Eingängen 125 bis 128 der nachfolgenden Logik 140 (galvanisch) verbunden sind. Die Eingänge 25 bis 28 der jeweiligen Verschlüsselungsstufe (61.1) sind identisch mit den Eingängen 225 bis 228 der ergänzenden Verschlüsselungslogik 240. Die Ausgänge der erweiterten Logik 140 bilden überkreuzt die Ausgänge 35 bis 38 der Verschlüsselungsstufe 61.1. An den zweiten Eingängen 29, 30, 32, 33, 49, 52 liegen sechs Schlüsselteilblöcke an, z.B., die Blöcke Zx bis Z6, an den ersten Eingängen 25 bis 28 entweder vier Klartextteilblöcke Xx bis X4 oder vier Zwischenteilblöcke Wnl bis Wn4. An den Ausgängen 35 bis 38 werden zugeordnet die Zwischenteilblöcke Wn bis W14 bzw. w(n+ι>ι ---- w<n+iH abgegeben (mit n = 1, 2, ... 7) .
Die neunte Verschlüsselungsstufe 69 entspricht ausschliesslich der ergänzenden Verschlüsselungslogik 240, wobei die vier Ausgänge 135 bis 138 dieser Logik 240 identisch mit den vier Ausgängen 75 bis 78 der Verschlüsselungsstufe 69 sind.
Die Verschlüsselungseinheit 60 (Fig. 2) als Gesamtlogik zum Verschlüsseln von Klartextblöcken X, die jeweils einer Sequenz von 64 Bit entsprechen, weist insgesamt folgende Eigenschaften auf:
• Sie besitzt vier erste Eingänge 25 bis 28, zweiundfünfzig zweite Eingänge 28, 29, 30, 32, 33, 49, 52 und vier Ausgänge 75 bis 78.
• Sie weist acht identische Verschlüsselungsstufen 61.1, 61.2 plus eine sonstige Verschlüsselungsstufe 69 auf.
• Sie weist einhundertsechzehn Operationseinheiten von insgesamt drei verschiedenen Sorten [___ , ( j , ) auf.
• In Flussrichtung der logischen Operationen wechseln generell und stets die Sorten [+] , - , (+) der aufeinander folgenden Operationen.
• Sie ist sowohl zum Verschlüsseln von Klartextblöcken X als auch zum Entschlüsseln von Chiffriertextblöcken Y geeignet.
• Jeder Block an den Ausgängen 75 bis 78 ist von allen Blöcken an den ersten Eingängen 25 bis 28 und von fast allen Blöcken an den zweiten Eingängen 29, 30, 32, 33, 49, 52 abhängig, insgesamt von dreiundfünfzig Blöcken. (Nicht abhängig sind die Ausgangsblöcke von jeweils drei Blöcken, die an den zweiten Eingängen 129, 130, 132, 133 der neunten Verschlüsselungsstufe 69 anliegen.)
• Bei jeder der ersten acht Verschlüsselungsstufen 61.1, 61.2 der Verschlüsselungseinheit 60 ist jedes Bit jedes Blockes W(n+1)1 bis W(n+1 an den Ausgängen 35 bis 38 abhängig von allen Bits aller Blöcke Wnl bis Wn4 und Zn an den ersten
(25 bis 28) bzw. zweiten Eingängen 29, 30, 32, 33, 49, 52.
Aufgrund der genannten Eigenschaften, kann eine Verschlüsselungseinheit 60 entweder zum Verschlüsseln eines Klartextblockes X dienen oder zum Entschlüsseln eines Chiffriertextblockes Y. Die Einheit 60 ist damit sowohl einsetzbar für den Verschlüsselungsprozess X —> Y als auch für den Entschlüsselungsprozess Y —> X.
Der für den Verschlüsselungsprozess verwendete Schlüsselblock Z und die von diesem abgeleiteten zweiundfünfzig Schlüsselteilblöcke Zx bis Z52 wurden bereits beschrieben. Fig. 10 zeigt nun zweiundfünfzig Entschlüsselungsteilblöcke üx bis U52, die für den Entschlüsselungsprozess Y —> X zu verwenden sind, und zwar im Vergleich zu den Schlüsselteilblöcken Zx bis Z52 und in ihrer Beziehung zu diesen Schlüsselteilblöcken und zu den neun Verschlüsselungsstufen 61.1, 61.2, 69 (Fig. 2).
Beim Verschlüsseln X —> Y werden in der ersten Stufe die Schlüsselteilblöcke Z_ bis Z6 verwendet, in der zweiten Stufe die Blöcke Z7 bis Z12 und so fort. In der neunten Stufe werden schliesslich die Blöcke Z49 bis Z52 verwendet. Beim Entschlüsseln Y —> X gilt für jede Stufe i:
• Die ersten beiden Entschlüsselungsteilblöcke jeder Stufe i (i = 1, 2 9) des Entschlüsselungsprozesses Y —> X sind gleich dem modulo-(216+1)-Multiplikation-Inversen des jeweils ersten und zweiten Schlüsselteilblockes in der (10- i)-ten Stufe des Verschlüsselungsprozesses X —> Y. Dies bedeutet z.B. für die ersten beiden Entschlüsselungsteilblöcke Ux, U2 der ersten Stufe:
Ox — Z 49; U2 = Z so-
• Der dritte und vierte Entschlüsselungsteilblock in der i- ten Stufe (i = 1, 2 .... 9) des Entschlüsse'lungsprozesses
Y —> X sind die Negativwerte der modulo-216-Addition des dritten und des vierten Schlüsselteilblockes in der (10-i)- ten Stufe des Verschlüsselungsprozesses X —> Y. Dies bedeutet z.B. für die Entschlüsselungsteilblöcke U3, U„ der ersten Stufe: U3 = -Z51; U4 = -Z52.
• Der fünfte und sechste Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 ... 8) des Entschlüsselungsprozesses
Y —> X sind gleich dem fünften bzw. sechsten Schlüsselteilblock in der (9-i)-ten Stufe des Verschlüsselungsprozesses X —> Y. Dies bedeutet z.B. für die Entschlüsselungsteilblöcke U5, U6 der ersten Stufe: U5 =
— -~ i - 6 = —4B -
Hierbei gilt Z"1^ modulo-(216+1)-multipliziert mit Zj ist 1. Weiter gilt -Z modulo-216-addiert mit Z., ist 0.
Die Erfindung erlaubt eine grosse Anzahl von Varianten. Einige hiervon werden nachfolgend aufgezählt.
• Es werden andere Sorten von Operationseinheiten 42 bis 44, 111 bis 114, 115 bis 120 verwendet.
• Es werden die verschiedenen Sorten der
Operationseinheiten 41 bis 44, 111 bis 114, 115 bis 120 in den verschiedenen genannten Logiken 40, 240, 140 anders verteilt. Zum Beispiel werden die Operationseinheiten der beiden Sorten \+_\ , ( in der primären
Verschlüsselungslogik 40 gegeneinander vertauscht. Es ist aber auch möglich, die primäre Verschlüsselungslogik 40 aufwendiger aufzubauen und/oder die zweiten Eingänge 49, 52 bei einer solchen Variante wegzulassen.
• Es werden weniger oder mehr als acht identische Verschlüsselungsstufen 61.1, 61.2 verwendet. Allgemein wird eine erste Mehrzahl S von Stufen vorgesehen, der dann eine zweite Mehrzahl T von Schlüsselteilblöcken zugeordnet ist. Als Beziehung zwieschen T und S gilt T = 6 • S + 4. In diesem allgemeinen Fall gilt für die Beziehungen zwischen den Entschlüsselungsteilblöcken Ux bis Uτ und den Schlüsselteilblöcken Zx bis Zτ:
- die ersten beiden Entschlüsselungsteilblöcke jeder Stufe i (i = 1, 2 (S+l)) sind gleich dem modulo-(2m+l)-
Multiplikation-Inversen des ersten bzw. zweiten Schlüsselteilblockes des jeweils ersten und zweiten Schlüsselteilblockes in der (S-i+2)-ten Stufe des Verschlüsselungsprozesses,
- der dritte und der vierte Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 .... (S+l)) sind gleich dem modulo-2m-Addition-Inversen des dritten bzw. des vierten Schlüsselteilblockes in der (S-i+2)-ten Stufe des Verschlüsselungsprozesses, und
- der fünfte und der sechste Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 ... S) sind gleich dem fünften bzw. dem sechsten Schlüsselteilblock in der (S-i+l)-ten Stufe des Verschlüsselungsprozesses.
• Es kann das Prinzip durchbrochen werden, dass stets die Sorten J j , j , f- der unmittelbar aufeinanderfolgenden Operationseinheiten verschieden sind. Es ist jedoch vorteilhaft, wenn wenigstens die überwiegende Mehrzahl aller Paare direkt aufeinanderfolgender Operationen aus zwei Operationen unterschiedlicher Sorte [+J , , +) bestehen. • Die Ableitung der Schlüsselteilblöcke Zγ bis Z52 aus dem Schlüsselblock Z erfolgt nach einem anderen als dem beschriebenen Verfahren.
* Der Aufbau der Verschlüsselungseinheit 60 erfolgt vorwiegend unter Benützung von diskreten Operations¬ einheiten 41 bis 44, 111 bis 114, 115 bis 120 als spezielle Logikeinheiten (Hardware-Lösung) , vorwiegend unter Benützung handelsüblicher Prozessoren und Speicher, die nach einem zugeordneten Programm arbeiten (Software-Lösung) oder in gemischter Bauweise.
Jede der beschriebenen Logiken 40, 140, 240, 60, 61.1, 61.2, 69 kann als "Black-Box" aufgefasst werden mit ersten und zweiten Eingängen und Ausgänge. Jede dieser Logiken wandelt die an den ersten Eingängen anliegenden zwei oder vier ersten Teilblöcke in zugeordnete zweite Teilblöcke der gleichen Länge um, die an den Ausgängen abgreifbar sind. Der Umwandlungsprozess wird dabei durch die an den zweiten Eingängen anliegenden Schlüsselteilblöcke beeinflusst, bzw. allgemeiner durch geeignete Steuerblöcke. Parallele Eingänge und Ausgänge sind vorteilhaft, wenn höhere Arbeitsgeschwindigkeiten gewünscht sind. Für die genannte Software-Lösung ist bevorzugt ein einziger erster und zweiter Eingang und ein einziger Ausgang vorzusehen, über welche die zugeordneten Ein- und Ausgangsblöcke seriell ein- bzw. ausgegeben werden.
Für den Umwandlungsprozess ist es entscheidend, dass die (zweite) Länge m entweder 4, 8 oder bevorzugt 16 Bit beträgt.
Ausser den in der Aufgabenstellung genannten Eigenschaften besitzt die Erfindung die vorteilhafte, weitere Eigenschaft, dass sie im Aufbau relativ unkompliziert ist und sowohl in der Hardware-, als auch in der Software- Version schnell und problemlos arbeitet. Die Verschlüsselungslogiken 40, 140, 240 sind aus VLSI- Halbleiterbausteine aufbaubar (VLSI very large scale Integration) und damit preiswert herstellbar.
Im folgenden wird eine konkrete weitere Variante anhand der Figuren 11 bis 14 beschrieben, die Abwandlungen der Figuren 8, 9, 2 und 10 sind.
Fig. 11 zeigt das Blockschaltbild einer zweiten ergänzenden Verschlüsselungslogik 240v. Diese weist zwei Operationseinheiten lllv, 114v der zweiten Sorte f und zwei Operationseinheiten 112v, 113v der ersten Sorte [+] auf. Deren Eingänge sind jeweils ein erster Eingang 225 bis 228 zum Eingeben eines Eingangsblocks en und ein zweiter Eingang 29, 30, 32, 33 zum Eingeben eines Schlüsselteilblocks Zn (n = 1 ... 4) . Die Ausgänge der Logik 240 sind gleich den Ausgängen 135 bis 138 der Operationseinheiten lllv bis 114v.
Fig. 12 zeigt das Blockschaltbild einer zweiten Verschlüsselungsstufe 61.lv. Diese wird aus der Kombination der ergänzenden Verschlüsselungslogik 24Ov und einer erweiterten Verschlüsselungslogik 140 gebildet, wobei die Ausgänge 135 bis 138 der Logik 240v direkt mit den Eingängen 125 bis 128 der nachfolgenden Logik 140 (galvanisch) verbunden sind. Die Eingänge 25 bis 28 der jeweiligen Verschlüsselungsstufe (61.lv) sind identisch mit den Eingängen 225 bis 228 der zweiten, ergänzenden Verschlüsselungslogik 24Ov. Die Ausgänge der erweiterten Logik 140 bilden direkt die Ausgänge 35 und 38 sowie überkreutzt die Ausgänge 36 und 37 der
Verschlüsselungsstufe 61.lv. Der weitere Aufbau entspricht vollständig demjenigen von Fig. 9.
Fig. 13 zeigt das Blockschaltbild einer zweiten Verschlüsselungseinheit 60v, das weitgehend der Fig. 2 entspricht. Es sind hierbei acht gleiche zweite Verschlüsselungsstufen 61.lv, 61.2v hintereinander geschaltet, denen als letzte Stufe 69v eine zweite, ergänzende Verschlüsselungslogik 240v nachgeschaltet ist. Hierbei sind die Eingänge W82 und W83 kreuzweise mit ...W22 bzw. ...W23 verbunden.
Fig. 14 zeigt schliesslich eine zweite Tabelle von Schlüsselteilblöcken Zn und Entschlüsselungsteilblöcken Un, entsprechend Fig. 10.
Beim Verschlüsseln X —> Y werden unverändert in der ersten Stufe die Schlüsselteilblöcke Zx bis Z6 verwendet, in der zweiten Stufe die Blöcke Z7 bis Z12 und so fort. In der neunten Stufe werden schliesslich die Blöcke Z49 bis Z52 verwendet.
Beim Entschlüsseln Y —> X gilt für jede Stufe i:
• Der erste und der vierte Entschlüsselungsteilblock jeder
Stufe i (i = 1, 2 9) des Entschlüsselungsprozesses
Y —> X sind gleich dem modulo-(216+1)-Multiplikation- Inversen des jeweils ersten und vierten Schlüsselteilblockes in der (lθ-i)-ten Stufe des Verschlüsselungsprozesses X —> Y. Dies bedeutet z.B. für den ersten und den vierten Entschlüsselungsteilblock \J_, U4 der ersten Stufe:
Figure imgf000018_0001
• Der zweite und dritte Entschlüsselungsteilblock in der i- ten Stufe (i = 1, 2 .... 9) des Entschlüsselungsprozesses
Y —> X sind die Negativwerte der modulo-216-Addition des dritten und des zweiten Schlüsselteilblockes in der (10-i)- ten Stufe des Verschlüsselungsprozesses X —> Y. Dies bedeutet z.B. für die Entschlüsselungsteilblöcke U2, U3 der ersten Stufe: U2 = -Z51; U3 = -Z50.
Der fünfte und sechste Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 ... 8) des Entschlüsselungsprozesses
Y —> X sind gleich dem fünften bzw. sechsten Schlüsselteilblock in der (9-i)-ten Stufe des Verschlüsselungsprozesses X —> Y. Dies bedeutet z.B. für die Entschlüsselungsteilblöcke U5, U6 der ersten Stufe: U5 =
— Ai r U6 = Z48.
Hierbei gilt wiederum Z~~m modulo- (216+1)-multipliziert mit
Z ist 1. Weiter gilt -Zj modulo-216-addiert mit Z ist 0,

Claims

Patentansprüche
1. Vorrichtung für das Umwandeln jeweils eines beliebigen ersten binären Digitalblockes einer ersten Länge (N) in einen zugeordneten, zweiten binären Digitalblock gleicher Länge (N) unter Verwendung von wenigstens einem frei wählbaren, binären Steuerblock, gekennzeichnet
- durch wenigstens einen ersten Eingang (25-26; 50, 51; 125-128) zum Eingeben von wenigsten zwei ersten Teilblöcken (X!-X4; eα, e2; e5—e8) einer zweiten Länge (m) , die zusammen den ersten Digitalblock (X; Wn) bilden,
- durch wenigstens einen zweiten Eingang (29, 30, 32, 33, 49, 52, 129, 130, 133) zum Eingeben von wenigsten zwei Steuerblöcken (Z1-Z52) der zweiten Länge (m) ,
- durch eine Logik (40, 60, 61.1, 61.2, 140), die jeweils nacheinander wenigstens vier logische Operationen wenigstens zweier unterschiedlicher Sorten ( [+J , j , ζ+) ) durchführt ,
• wobei wenigstens die überwiegende Zahl aller Paare unmittelbar aufeinanderfolgender Operationen aus zwei Operationen unterschiedlicher Sorten ( f+1 , \ j , f+)) besteht,
wobei durch jede Operation jeweils zwei Eingangsblöcke (Elr E2) der zweiten Länge (m) in einen Ausgangsblock (A) dieser Länge (m) umgewandelt werden,
wobei als Eingangsblöcke (El r E2) erste Teilblöcke (X^X^- ex, e2; e5-e8) , Steuerblöcke (Z1-ZS2) und/oder Ausgangsblöcke (A) einer jeweils vorhergehenden Operation dienen, und
- durch wenigstens einen Ausgang (75-78; 47, 48; 35-38) zum Ausgeben von wenigstens zwei, den ersten Teilblöcken (Xx- X4; e_, e2; e5-e8) zugeordneten, zweiten Teilblöcken (Wnl-Wn4, Yι~Y4; al a2; a5-a8) der zweiten Länge (m) , die zusammen den zweiten Digitalblock (Wn, Y) bilden.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet,
- dass wenigstens ein erster Eingang (50, 51) zum Eingeben von zwei ersten Teilblöcken (elr e2) vorgesehen ist,
- dass wenigstens ein zweiter Eingang (49, 52) zum Eingeben von zwei Steuerblöcken (Z5, Z6) vorgesehen ist,
- dass die Logik eine primäre Verschlüsselungslogik (40) ist, die jeweils vier logische Operationen zweier unterschiedlicher Sorten ( | J , j ) durchführt,
wobei nacheinander durch die erste Operation der eine erste Teilblock (ex) mit dem einen Steuerblock (Z5) nach der einen Sorte ( j ) operiert wird,
- durch die zweite Operation der andere erste Teilblock (e2) mit dem Ausgangsblock der ersten Operation nach der anderen Sorte ( [+} ) operiert wird,
- durch die dritte Operation der Ausgangsblock der zweiten Operation mit dem anderen Steuerblock (Z6) nach der einen Sorte ( ( J ) operiert wird, und
- durch die vierte Operation der Ausgangsblock der ersten Operation und der Ausgangsblock der dritten Operation nach der anderen Sorte ( ___] ) operiert wird, und
- dass wenigstens ein Ausgang (47, 48) zum Ausgeben von zwei zweiten Teilblöcken (ax, a2) vorgesehen ist,
• wobei der eine zweite Teilblock (ax) der Ausgangsblock der vierten Operation und der andere zweite Teilblock (a2) der Ausgangsblock der dritten Operation ist (Fig. 3) .
3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet,
- dass wenigstens ein erster Eingang (125-128) zum Eingeben von vier ersten Teilblöcken (e5-e8) vorgesehen ist,
- dass die Logik eine erweiterte Verschlüsselungslogik (140) ist, die eine Zentrallogik umfasst und sechs logische Operationen der dritten Sorte ( +)) durchführt,
• wobei
- durch die erste und zweite Operation der dritten Sorte ( - ) der erste (e5) mit dem dritten (e7) und der zweite (e6) mit dem vierten ersten Teilblock (e8) operiert werden,
- durch die Zentrallogik die Ausgangsblöcke der ersten und der zweiten Operation operiert werden, - durch die dritte und vierte Operation der dritten Sorte (f+)) ein erstes Ausgangsblock der Zentrallogik mit dem ersten (e5) bzw. mit dem dritten ersten Teilblock (e7) operiert wird, und
- durch die fünfte und sechste Operation der dritten Sorte (f^)) ein zweiter Ausgangsblock der Zentrallogik mit dem zweiten (e6) bzw. dem vierten ersten Teilblock
(e8) operiert wird, und
- dass wenigstens ein Ausgang (35-38) zum Ausgeben von vier Teilblöcken (a5 - a8) vorgesehen ist,
wobei der erste (as) , der zweite (a6) , der dritte (a7) und der vierte zweite Teilblock (a8) zugeordnet der Ausgangsblock der dritten, der fünften, der vierten bzw. der sechsten Operation ist (Fig. 6) .
4. Vorrichtung nach Anspruch 2 und 3, dadurch gekennzeichnet,
- dass wenigstens ein zweiter Eingang (49, 52) zum Eingeben von zwei Steuerblöcken (Z5, Z6) vorgesehen ist, und
- dass als Zentrallogik die primäre Verschlüsselungslogik (40) dient (Fig. 3 und 6) .
5. Vorrichtung nach Anspruch 1 und 4, dadurch gekennzeichnet,
- dass wenigstens ein erster Eingang (25-28) zum Eingeben von vier ersten Teilblöcken (Xx-X4; Wnl-Wn4) vorgesehen ist,
- dass wenigstens ein zweiter Eingang (29, 30, 32, 33, 49, 52) zum Eingeben von sechs Steuerblöcken (Zx-Z6) vorgesehen ist,
- dass die Logik eine Verschlüsselungsstufe (61.1, 61.2) ist, die jeweils vierzehn unterschiedlicher Sorten
Figure imgf000022_0001
wobei durch die ersten vier Operationen parallel der erste erste (X^,, Wnl) und der zweite erste Teilblock (X2, Wn2) zugeordnet mit dem ersten (Zx) und dem zweiten Steuerblock (Z2) nach der zweiten Sorte { ) ) und der dritte erste (X3, Wn3) und der vierte erste Teilblock (X4, Wn4) zugeordnet mit dem dritten (Z3) und dem vierten Steuerblock (Z4) nach der ersten Sorte (L+j ) operiert werden,
• wobei die weiteren zehn Operationen diejenigen der erweiterten Verschlüsselungslogik (140, Fig. 6, Anspruch 3 und 4) sind, und
• wobei die Ausgangsblöcke der ersten vier Operationen die Eingangsblöcke der erweiterten Verschlüsselungslogik (140) sind, und
- dass wenigstens ein Ausgang (35-38) zum Ausgeben von vier zweiten Teilblöcken (W -W14; W(n+1)1-W(n+1)4) vorgesehen ist, die kreuzweise vertauscht den Ausgangsblδcken der erweiterten Verschlüsselungslogik (140) entsprechen (Fig. 8 und 9) .
6. Vorrichtung nach Anspruch 1 und 4, dadurch gekennzeichnet,
- dass wenigstens ein erster Eingang (25-28) zum Eingeben von vier ersten Teilblöcken (Xi-X4; Wnl-Wn4) vorgesehen ist,
- dass wenigstens ein zweiter Eingang (29, 30, 32, 33, 49, 52) zum Eingeben von sechs Steuerblöcken (Z^Zg) vorgesehen ist,
- dass die Logik eine Verschlüsselungsstufe (61.1, 61.2) ist, die jeweils vierzehn logische Operationen dreier unterschiedlicher Sorten ( [+] , _ , +) ) durchführt,
• wobei durch die ersten vier Operationen parallel der erste erste (Xlr Wnl) und der dritte erste Teilblock (X3, Wn3) zugeordnet mit dem ersten (Zx) und dem dritten Steuerblock (Z3) nach der zweiten Sorte ( j ) und der zweite erste (X2, Wn2) und der vierte erste Teilblock (X4, Wn4) zugeordnet mit dem zweiten (Z2) und dem vierten Steuerblock (Z4) nach der ersten Sorte ( [+J ) operiert werden,
• wobei die weiteren zehn Operationen diejenigen der erweiterten Verschlüsselungslogik (140, Fig. 6, Anspruch 3) sind, und
• wobei die Ausgangsblöcke der ersten vier Operationen die Eingangsblöcke der erweiterten Verschlüsselungslogik (140) sind, und - dass wenigstens ein Ausgang (35-38) zum Ausgeben von vier zweiten Teilblöcken ( u-W14; W(n+ -W(n+1)4) vorgesehen ist, wobei der erste (35) und der vierte Ausgang (38) direkt und der zweite (36) und der dritte Ausgang (37) kreuzweise vertauscht den Ausgangsblöcken der erweiterten Verschlüsselungslogik (140) entsprechen (Fig. 11 und 12) .
7. Vorrichtung nach Anspruch 1 und 5, dadurch gekennzeichnet,
- dass wenigstens ein erster Eingang (25-28) zum Eingeben von vier ersten Teilblöcken (Xi-X4) vorgesehen ist,
- dass wenigstens ein zweiter Eingang (29, 30, 32, 33, 49, 52, 129, 130, 132, 133) zum Eingeben einer zweiten Mehrzahl
(T) von Steuerblöcken
Figure imgf000024_0001
vorgesehen ist,
- dass die Logik eine Verschlüsselungseinheit (60) ist, die eine erste Mehrzahl (S) von gleichen Verschlüsselungsstufen
(61.1, 61.2) umfasst, die so aufeinanderfolgen, dass die Ausgänge der jeweils vorausgehenden Stufe die Eingänge der jeweils nachfolgenden Stufe bilden,
- dass die Verschlüsselungseinheit (60) eine abweichende, letzte Verschlüsselungsstufe (69) umfasst, die parallel vier Operationen zweier unterschiedlicher Sorten
(0,O> durchführt, und
- dass wenigstens ein Ausgang (75-78) zum Ausgeben von vier zweiten Teilblöcken (Yx-Y4) vorgesehen ist, die den Ausgangsblöcken der abweichenden, letzten Verschlüsselungsstufe (69) entsprechen,
wobei die zweite Mehrzahl (T) gleich dem sechfachen der ersten Mehrzahl (S) plus vier ist,
wobei der erste (Wnl) und der zweite Ausgangsblock (Wn2) der vorausgehenden, letzten der gleichen Verschlüsselungsstufen (61.1, 61.2) zugeordnet mit dem
(T-3)ten und dem (T-2)ten Steuerblock (Z49, Zso) nach der zweiten Sorte ( ^ ) und der dritte (Wn3) und der vierte Ausgangsblock (Wn4) der vorausgehenden Stufe mit dem (T-l)ten und dem T-ten Steuerblock (Z51, ZS2) nach der ersten Sorte ( ___] ) operiert werden (Fig. 2).
8. Vorrichtung nach Anspruch 1 und 6, dadurch gekennzeichnet,
- dass wenigstens ein erster Eingang (25-28) zum Eingeben von vier ersten Teilblöcken (Xx-X4) vorgesehen ist,
- dass wenigstens ein zweiter Eingang (29, 30, 32, 33, 49, 52, 129, 130, 132, 133) zum Eingeben einer zweiten Mehrzahl (T) von Steuerblöcken (Zi-Z^) vorgesehen ist,
- dass die Logik eine Verschlüsselungseinheit (60v) ist, die eine erste Mehrzahl (S) von gleichen Verschlüsselungsstufen (61.lv, 61.2v) umfasst, die so aufeinanderfolgen, dass die Ausgänge der jeweils vorausgehenden Stufe die Eingänge der jeweils nachfolgenden Stufe bilden,
- dass die Verschlüsselungseinheit (60v) eine abweichende, letzte Verschlüsselungsstufe (69v) umfasst, die parallel vier Operationen zweier unterschiedlicher Sorten
( Ξ 'O ) durchführt,
- dass wenigstens ein Ausgang (75-78) zum Ausgeben von vier zweiten Teilblöcken (Y2-Y4) vorgesehen ist, die den Ausgangsblöcken der abweichenden, letzten Verschlüsselungsstufe (69v) entsprechen.
• wobei die zweite Mehrzahl (T) gleich dem sechfachen der ersten Mehrzahl (S) plus vier ist,
• wobei der erste (Wnl) und der zweite Ausgangsblock (Wn2) der vorausgehenden, letzten der gleichen Verschlüsselungsstufen (61.lv, 61.2v) zugeordnet mit dem
(T-3)ten und dem (T-2)ten Steuerblock (Z49, Zso) nach der zweiten Sorte ζ_ ) und der dritte (Wn3) und der vierte Ausgangsblock (Wn4) der vorausgehenden Stufe mit dem
(T-l)ten und dem T-ten Steuerblock (Z51, Z52) nach der ersten Sorte (Q ) operiert werden, und
• wobei der zweite und der dritte Eingang der abweichenden, letzten Verschlüsselungsstufe (69v) miteinander vertauscht sind (Fig. 13) .
9. Vorrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass die zweite Mehrzahl (T) gleich zweiundfünfzig und die erste Mehrzahl (S) gleich acht ist.
10. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet,
- dass die Operation einer ersten Sorte ( {+\ , Addition modulo 2~) so geartet ist,
• dass jeder Eingangsblock (E_, E2) der Operation als ganze Zahl in Binärdarstellung und als Element der Menge {0, 1,
2, 3..., (2m-l) } betrachtet wird, und
• dass der zugeordnete Ausgangsblock (A) die Binärdarstellung der Summe modulo 2m der Eingangsblöcke
(Elf E2) ist,
- dass die Operation einer zweiten Sorte (f-) , Multiplikation modulo (2"-1) ) so geartet ist,
• dass, sofern alle Bits eines Blockes (E2, E2, A) Null sind, dieser Block als die ganze Zahl 2m in Binärdarstellung betrachtet wird,
• dass ansonsten jeder Eingangsblock (Elf E2) als ganze Zahl in Binärdarstellung und als Element der Menge {1, 2,
3, (2m-l) } betrachtet wird, und
• dass der jeweilige Ausgangsblock (A) in Binärdarstellung das Produkt modulo (2m+l) der Eingangsblöcke (Elf E2) ist, und
- dass die Operation einer dritten Sorte (ζ+), Bit-für-Bit- Exklusiv-ODER) so geartet ist,
• dass jeder Block (Ex, E2, A) der Operation als Bitfolge betrachtet wird, durch die jedem Bit eine feste Position zugeordnet wird,
und dass in der durch diese Folge gegebenen Reihenfolge jedes Bit des Ausgangsblocks (A) das Exklusiv-ODER der zwei Bits der jeweils entsprechenden Position der beiden Eingangsblöcke (E_, E2) ist.
11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass die zweite Länge (m) entweder vier, acht oder sechzehn ist.
12. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass zur Ausführung jeder einzelnen logischen Operation eine individuell zugeordnete Operationseinheit (41-44, 111- 120) vorgesehen ist, die zwei Eingänge zum Eingeben der jeweiligen Eingangsblöcke (Elf E2) und einen Ausgang zur Ausgabe des jeweils zugeordneten Ausgangsblockes (A) aufweist.
13. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass zur Ausführung der logischen Operationen Operationseinheiten vorgesehen sind, die wenigstens einen gemeinsamen Prozessor umfassen, der die an seinen Eingängen anliegenden Eingangsblöcke entsprechend einem vorgegebenen Programm miteinander verknüpft.
14. Verwendung zweier Vorrichtungen nach Anspruch 7 zum Verschlüsseln eines digitalen Klartextes (X) und zum Entschlüsseln des zugeordneten Chiffriertextes (X) , wobei der Klartext (X) laufend von einer Nachrichtenquelle (11) und der Chiffriertext (X) von einer Übertragungsleitung (13) abgegeben und blockweise durch eine jeweilige Eingangseinheit (21) den Eingängen (25-28) einer Verschlüsselungseinheit (60) bzw. einer mit dieser identischen Entschlüsselungseinheit als Klartextteilblöcke (Xi-X bzw. Chiffriertextteilblöcke ( j-Y einer zweiten Länge (m) zugeführt wird, wobei zum Verschlüsseln und zum Entschlüsseln ein gemeinsamer, geheimer Schlüsselblock (Z) dient, und wobei die entstehenden Chiffriertextteilblöcke (Yi-Y4) bzw. die Klartextteilblöcke (X^X der gleichen zweiten Länge (m) an eine jeweilige Ausgangseinheit (79) abgegeben und von dieser als Chiffriertext (X) bzw. Klartext (X) laufend ausgegeben wird, dadurch gekennzeichnet,
- dass aus dem Schlüsselblock (Z) als Steuerblöcke eine zweite Mehrzahl (T) Schlüsselteilblöcke (Zx-Zτ) bzw. Entschlüsselungsteilblöcke (Ux-Uτ) der zweiten Länge (m) gebildet und den Eingängen (29, 30, 32, 33, 49, 52, 129, 130, 132, 133) der Verschlüsselungseinheit (60) bzw. der Entschlüsselungseinheit zugeführt werden, die eine erste Mehrzahl (S) von gleichen, aufeinanderfolgenden Stufen (60.1, 60.2) aufweisen, derart dass für jede Stufe i der Entschlüsselungseinheit
• ein erster und zweiter Entschlüsselungsteilblock jeder
Stufe i (i = 1, 2 (S+l)) gleich sind dem odulo-
(2m+l)-Multiplikation-Inversen eines jeweils ersten bzw. zweiten Schlüsselteilblockes in der (S-i+2)-ten Stufe der Verschlüsselungseinheit (60),
• ein dritter und vierter Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 .... (S+l) ) gleich sind dem Negativwert der Modulo-2m-Addition eines dritten bzw. vierten Schlüsselteilblockes in der (S-i+2)-ten Stufe der Verschlüsselungseinheit (60) , und
• ein fünfter und sechster Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 ... S) gleich sind dem fünften bzw. sechsten Schlüsselteilblock in der (S-i+l)-ten Stufe der Verschlüsselungseinheit (60) (Fig. 10) .
15. Verwendung zweier Vorrichtungen nach Anspruch 8 zum Verschlüsseln eines digitalen Klartextes (X) und zum Entschlüsseln des zugeordneten Chiffriertextes (X) , wobei der Klartext (X) laufend von einer Nachrichtenquelle (11) und der Chiffriertext (X) von einer Übertragungsleitung (13) abgegeben und blockweise durch eine jeweilige Eingangseinheit (21) den Eingängen (25-28) einer Verschlüsselungseinheit (60v) bzw. einer mit dieser identischen Entschlüsselungseinheit als Klartextteilblöcke (Xi-X4) bzw. Chiffriertextteilblöcke (Yx-Y4) einer zweiten Länge (m) zugeführt wird, wobei zum Verschlüsseln und zum Entschlüsseln ein gemeinsamer, geheimer Schlüsselblock (Z) dient, und wobei die entstehenden Chiffriertextteilblöcke (Yx-Y4) bzw. die Klartextteilblöcke X^-X^) der gleichen zweiten Länge (m) an eine jeweilige Ausgangseinheit (79) abgegeben und von dieser als Chiffriertext (X) bzw. Klartext (X.) laufend ausgegeben wird, dadurch gekennzeichnet,
- dass aus dem Schlüsselblock (Z) als Steuerblöcke eine zweite Mehrzahl (T) Schlüsselteilblöcke (Zi-Z,.) bzw. Entschlüsselungsteilblδcke (Ui-Uτ) der zweiten Länge (m) gebildet und den Eingängen (29, 30, 32, 33, 49, 52, 129, 130, 132, 133) der Verschlüsselungseinheit (60) bzw. der Entschlüsselungseinheit zugeführt werden, die eine erste Mehrzahl (S) von gleichen, aufeinanderfolgenden Stufen (60.lv, 60.2v) aufweisen, derart dass für jede Stufe i der Entschlüsselungseinheit
• ein erster und vierter Entschlüsselungsteilblock jeder
Stufe i (i = 1, 2 (S+l)) gleich sind dem modulo-
(2m+l)-Multiplikation-Inversen eines jeweils ersten bzw. vierten Schlüsselteilblockes in der (S-i+2)-ten Stufe der Verschlüsselungseinheit (60v),
• ein zweiter und dritter Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 .... (S+l)) gleich sind dem Negativwert der Modulo-2ra-Addition eines dritten bzw. zweiten Schlüsselteilblockes in der (S-i+2)-ten Stufe der Verschlüsselungseinheit (60v) , und
• ein fünfter und sechster Entschlüsselungsteilblock in der i-ten Stufe (i = 1, 2 ... S) gleich sind dem fünften bzw. sechsten Schlüsselteilblock in der (S-i+l)-ten Stufe der Verschlüsselungseinheit (60v) (Fig. 14) .
16. Verwendung nach Anspruch 14 oder 15, dadurch gekennzeichnet, dass die Schlüsselteilblöcke (Zi-Zτ) dadurch gewonnen werden,
• dass in einem ersten Schritt der Schlüsselblock (Z) in acht erste Schlüsselteilblöcke (Zj-Zg) der zweiten Länge (m) unterteilt wird,
• dass in einem zweiten Schritt die Bits des Schlüsselblockes (Z) zyklisch um eine vorgegebene Bitzahl verschoben werden und der hierbei gebildete neue Block in acht weitere Schlüsselteilblöcke (Z9-Z16) unterteilt wird. und
• dass der zweite Schritt solange wiederholt wird, bis alle
Schlüsselteilblöcke (Z!-Zτ) gebildet sind.
17. Verwendung nach Anspruch 14 oder 15, dadurch gekennzeichnet, dass die zweite Mehrzahl (T) zweiundfünfzig ist, dass die erste Mehrzahl (S) acht ist, und dass die zweite Länge (m) sechzehn ist.
PCT/CH1991/000117 1990-05-18 1991-05-16 Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben WO1991018459A2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE59100171T DE59100171C5 (de) 1990-05-18 1991-05-16 Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben.
AT91908542T ATE91208T1 (de) 1990-05-18 1991-05-16 Vorrichtung fuer das umwandeln eines digitalblockes und verwendung derselben.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH1690/90-8 1990-05-18
CH169090 1990-05-18

Publications (2)

Publication Number Publication Date
WO1991018459A2 true WO1991018459A2 (de) 1991-11-28
WO1991018459A3 WO1991018459A3 (de) 1992-03-05

Family

ID=4216333

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH1991/000117 WO1991018459A2 (de) 1990-05-18 1991-05-16 Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben

Country Status (6)

Country Link
US (1) US5214703A (de)
EP (1) EP0482154B1 (de)
JP (1) JP3225440B2 (de)
ES (1) ES2042346T3 (de)
HK (1) HK1003338A1 (de)
WO (1) WO1991018459A2 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997022192A1 (en) * 1995-12-08 1997-06-19 Northern Telecom Limited Constructing symmetric ciphers using the cast design procedure
EP0800691B1 (de) * 1994-12-28 1999-04-14 Gemplus Verfahren zum durchführen eines kommunikationsprotokolles mit geheimschlüssel zwischen zwei verarbeitungsvorrichtungen
WO1999066669A2 (en) * 1998-06-15 1999-12-23 Rsa Security, Inc. Block ciphers with integer multiplication, data-dependent and fixed number of rotations in each round
US8117219B2 (en) 2004-09-15 2012-02-14 Ubs Ag Generation of updatable anonymized data records for testing and developing purposes

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530722A (en) * 1992-10-27 1996-06-25 Ericsson Ge Mobile Communications Inc. Quadrature modulator with integrated distributed RC filters
US6237096B1 (en) 1995-01-17 2001-05-22 Eoriginal Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US5748738A (en) * 1995-01-17 1998-05-05 Document Authentication Systems, Inc. System and method for electronic transmission, storage and retrieval of authenticated documents
US5615268A (en) * 1995-01-17 1997-03-25 Document Authentication Systems, Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US7743248B2 (en) * 1995-01-17 2010-06-22 Eoriginal, Inc. System and method for a remote access service enabling trust and interoperability when retrieving certificate status from multiple certification authority reporting components
US7162635B2 (en) * 1995-01-17 2007-01-09 Eoriginal, Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
US5727062A (en) * 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
US5675653A (en) * 1995-11-06 1997-10-07 Nelson, Jr.; Douglas Valmore Method and apparatus for digital encryption
US6152824A (en) * 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US6075859A (en) * 1997-03-11 2000-06-13 Qualcomm Incorporated Method and apparatus for encrypting data in a wireless communication system
US6038317A (en) * 1997-12-24 2000-03-14 Magliveras; Spyros S. Secret key cryptosystem and method utilizing factorizations of permutation groups of arbitrary order 2l
US6108421A (en) * 1998-03-06 2000-08-22 Harris Corporation Method and apparatus for data encryption
AU3523799A (en) * 1998-05-07 1999-11-23 Angel Jose Ferre Herrero Randomization-encryption system
US6351539B1 (en) 1998-09-18 2002-02-26 Integrated Device Technology, Inc. Cipher mixer with random number generator
US6845159B1 (en) 1998-10-07 2005-01-18 Protego Information Ab Processing method and apparatus for converting information from a first format into a second format
US6345101B1 (en) 1998-10-07 2002-02-05 Jayant Shukla Cryptographic method and apparatus for data communication and storage
US6820202B1 (en) * 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
US6957330B1 (en) 1999-03-01 2005-10-18 Storage Technology Corporation Method and system for secure information handling
AU1046800A (en) * 1999-05-18 2000-03-06 Angel Jose Ferre Herrero Self-corrector randomizer-encryptor system and method
BR9903609A (pt) * 1999-08-27 2001-04-24 Coppe Ufrj Processo de implementação em hardware do algorìtimo criptográfico idea- hipcrypto
US6813354B1 (en) * 2000-03-09 2004-11-02 Lucent Technologies Inc. Mixing in small batches
JP2002009757A (ja) * 2000-06-20 2002-01-11 Casio Comput Co Ltd データ暗号化装置及びデータ復号化装置
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US7558965B2 (en) * 2000-08-04 2009-07-07 First Data Corporation Entity authentication in electronic communications by providing verification status of device
US7082533B2 (en) * 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
JP2004506245A (ja) * 2000-08-04 2004-02-26 ファースト データ コーポレイション デバイスの公開鍵と製造中の情報とのリンク
US7552333B2 (en) * 2000-08-04 2009-06-23 First Data Corporation Trusted authentication digital signature (tads) system
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US7010691B2 (en) * 2000-08-04 2006-03-07 First Data Corporation ABDS system utilizing security information in authenticating entity access
US7096354B2 (en) * 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
DE10045463A1 (de) * 2000-09-11 2002-03-28 Ammar Alkassar Selbstsynchronisierende Stromchiffre zur Streckenverschlüsselung über einen fehlerbehafteten Übertragungskanal
US20020108034A1 (en) * 2001-02-02 2002-08-08 Tony Hashem System and method for automatically securing data for transmission
US7251326B2 (en) * 2001-06-29 2007-07-31 Harris Corporation Method and apparatus for data encryption
US20040128508A1 (en) * 2001-08-06 2004-07-01 Wheeler Lynn Henry Method and apparatus for access authentication entity
US20030086564A1 (en) * 2001-09-05 2003-05-08 Kuhlman Douglas A. Method and apparatus for cipher encryption and decryption using an s-box
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
US7155578B2 (en) * 2002-04-05 2006-12-26 Genworth Financial, Inc. Method and system for transferring files using file transfer protocol
US7376235B2 (en) * 2002-04-30 2008-05-20 Microsoft Corporation Methods and systems for frustrating statistical attacks by injecting pseudo data into a data system
US20040133699A1 (en) * 2002-12-04 2004-07-08 Tony Hashem System and method for performing data transfer
US20040158704A1 (en) * 2003-02-12 2004-08-12 Avaya Technology Corp. Providing encrypted real time data transmissions on a network
EP1480371A1 (de) * 2003-05-23 2004-11-24 Mediacrypt AG Vorrichtung und Verfahren zur Ver- und Entschlüsselung eines Datenblocks
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7752453B2 (en) * 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7289629B2 (en) * 2004-02-09 2007-10-30 Microsoft Corporation Primitives for fast secure hash functions and stream ciphers
US7562052B2 (en) * 2004-06-07 2009-07-14 Tony Dezonno Secure customer communication method and system
EP1637954A1 (de) * 2004-09-15 2006-03-22 Ubs Ag Erzeugung anonymisierter Datensätze aus produktiven Anwendungen
US20070087829A1 (en) * 2005-10-14 2007-04-19 Derek Liu Multi-player game architecture
US20080024332A1 (en) * 2006-07-27 2008-01-31 George Simonson Method and Apparatus for Protecting Data
US20080165965A1 (en) * 2007-01-05 2008-07-10 John Almeida Method of two strings private key (symmetric) encryption and decryption algorithm
US7925009B2 (en) * 2007-05-25 2011-04-12 Red Hat, Inc. Hybrid data encryption
US8265272B2 (en) * 2007-08-29 2012-09-11 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key
US8781117B2 (en) * 2007-08-29 2014-07-15 Red Hat, Inc. Generating pseudo random bits from polynomials
US8416947B2 (en) * 2008-02-21 2013-04-09 Red Hat, Inc. Block cipher using multiplication over a finite field of even characteristic
US7945049B2 (en) * 2008-02-28 2011-05-17 Red Hat, Inc. Stream cipher using multiplication over a finite field of even characteristic
US8560587B2 (en) * 2008-05-22 2013-10-15 Red Hat, Inc. Non-linear mixing of pseudo-random number generator output
US8588412B2 (en) 2008-05-23 2013-11-19 Red Hat, Inc. Mechanism for generating pseudorandom number sequences
JP5073635B2 (ja) * 2008-11-07 2012-11-14 英明 山田 暗号システム、及び暗号プログラム
US8358781B2 (en) * 2008-11-30 2013-01-22 Red Hat, Inc. Nonlinear feedback mode for block ciphers
CN103427987B (zh) * 2012-05-25 2016-05-18 纬创资通股份有限公司 数据加密的方法、数据验证方法及电子装置
US10764282B2 (en) 2017-06-12 2020-09-01 Daniel Maurice Lerner Protected and secured user-wearable devices for assured authentication and validation of data storage and transmission that utilize securitized containers
US10154021B1 (en) 2017-06-12 2018-12-11 Ironclad Encryption Corporation Securitization of temporal digital communications with authentication and validation of user and access devices
US10650139B2 (en) 2017-06-12 2020-05-12 Daniel Maurice Lerner Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
US10536445B1 (en) 2017-06-12 2020-01-14 Daniel Maurice Lerner Discrete blockchain and blockchain communications
US10957445B2 (en) 2017-10-05 2021-03-23 Hill-Rom Services, Inc. Caregiver and staff information system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4255811A (en) * 1975-03-25 1981-03-10 International Business Machines Corporation Key controlled block cipher cryptographic system
EP0221538A2 (de) * 1985-11-08 1987-05-13 Nippon Telegraph And Telephone Corporation Einrichtung und Verfahren zur Datenverschleierung

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
US4668103A (en) * 1982-04-30 1987-05-26 Wilson William J Polygraphic encryption-decryption communications system
EP0382680B1 (de) * 1989-02-08 1994-10-12 Gretag Data Systems AG Verfahren zum kryptographischen Behandeln von Daten und kryptographisches System

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4255811A (en) * 1975-03-25 1981-03-10 International Business Machines Corporation Key controlled block cipher cryptographic system
EP0221538A2 (de) * 1985-11-08 1987-05-13 Nippon Telegraph And Telephone Corporation Einrichtung und Verfahren zur Datenverschleierung

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226382B1 (en) 1994-02-28 2001-05-01 Gemplus Method for implementing a private-key communication protocol between two processing devices
EP0800691B1 (de) * 1994-12-28 1999-04-14 Gemplus Verfahren zum durchführen eines kommunikationsprotokolles mit geheimschlüssel zwischen zwei verarbeitungsvorrichtungen
WO1997022192A1 (en) * 1995-12-08 1997-06-19 Northern Telecom Limited Constructing symmetric ciphers using the cast design procedure
US5825886A (en) * 1995-12-08 1998-10-20 Entrust Technologies Ltd. Construction symmetric ciphers using the cast design procedure
WO1999066669A2 (en) * 1998-06-15 1999-12-23 Rsa Security, Inc. Block ciphers with integer multiplication, data-dependent and fixed number of rotations in each round
WO1999066669A3 (en) * 1998-06-15 2000-03-09 Rsa Security Inc Block ciphers with integer multiplication, data-dependent and fixed number of rotations in each round
US6269163B1 (en) 1998-06-15 2001-07-31 Rsa Security Inc. Enhanced block ciphers with data-dependent rotations
AU761436B2 (en) * 1998-06-15 2003-06-05 Rsa Security Inc. Enhanced block ciphers with data-dependent rotations
US8117219B2 (en) 2004-09-15 2012-02-14 Ubs Ag Generation of updatable anonymized data records for testing and developing purposes

Also Published As

Publication number Publication date
US5214703A (en) 1993-05-25
EP0482154A1 (de) 1992-04-29
WO1991018459A3 (de) 1992-03-05
ES2042346T3 (es) 1993-12-01
JPH05500121A (ja) 1993-01-14
HK1003338A1 (en) 1998-10-23
JP3225440B2 (ja) 2001-11-05
EP0482154B1 (de) 1993-06-30

Similar Documents

Publication Publication Date Title
EP0482154B1 (de) Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben
DE2231835C3 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE2231849C3 (de) Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens
DE19827904C2 (de) Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung
DE69433257T2 (de) Verfahren und Kommunikationssystem unter Verwendung einer Verschlüsselungseinrichtung
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
DE69721439T2 (de) Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels
DE69916160T2 (de) Vorrichtung und Verfahren zur kryptographischen Verarbeitung sowie Aufzeichnungsmedium zum Aufzeichnen eines kryptographischen Verarbeitungsprogramms zur Ausführung einer schnellen kryptographischen Verarbeitung ohne Preisgabe der Sicherheit
DE19744961B4 (de) Erzeugen eindeutiger und unvorhersagbarer Werte
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69937007T2 (de) Verfahren und vorrichtung zur verschlüsselung und entschlüsselung von daten
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
CH639229A5 (de) Verfahren zur verschluesselten nachrichtenuebertragung.
DE10129285A1 (de) Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln
DE69333257T2 (de) Anlage für Signalschaltung und -verarbeitung
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE60038042T2 (de) Einserkomplement-verschlüsselungskombinator
WO1991018460A1 (de) Verfahren zur blockweisen chiffrierung von digitalen daten
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
EP0307627B1 (de) Verfahren zur Erzeugung und Verteilung von Geheimschlüsseln
DE10352680A1 (de) Verschlüsselungsvorrichtung und Verschlüsselungsverfahren
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1991908542

Country of ref document: EP

AK Designated states

Kind code of ref document: A3

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

WWP Wipo information: published in national office

Ref document number: 1991908542

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1991908542

Country of ref document: EP