CH618803A5 - Method and device for encryption and decryption of binary data blocks - Google Patents
Method and device for encryption and decryption of binary data blocks Download PDFInfo
- Publication number
- CH618803A5 CH618803A5 CH916577A CH916577A CH618803A5 CH 618803 A5 CH618803 A5 CH 618803A5 CH 916577 A CH916577 A CH 916577A CH 916577 A CH916577 A CH 916577A CH 618803 A5 CH618803 A5 CH 618803A5
- Authority
- CH
- Switzerland
- Prior art keywords
- data
- key
- counter
- multiplexor
- character
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Facsimile Transmission Control (AREA)
- Image Processing (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren zum Verschlüsseln oder Entschlüsseln von Datenblöcken in binärer Darstellung, bei dem jeweils ein, eine Mehrzahl von Zeichen umfassender, zwischengespeicherter Datenblock mit Hilfe von gespeicherten Schlüsseldaten nichtlinearen Transformationen und dazwischen eingeschobenen linearen Transformationen unterworfen wird, und auf eine Einrichtung zum Durchführen dieses Verfahrens. The invention relates to a method for encrypting or decrypting data blocks in binary representation, in which a buffer block of data comprising a plurality of characters is subjected to non-linear transformations and linear transformations inserted between them using stored key data, and to a device for Performing this procedure.
Mit der zunehmenden Verwendung von Datenbanken in der elektronischen Datenverarbeitung, insbesondere bei Mehrbenutzer-Systemen hat die Diskussion darüber eingesetzt, in welcher Weise man auch die dort gespeicherten, häufig persönlichen Daten gegenüber einem unbefugten Zugriff schützen kann oder muss. Wie z. B. in den Proceedings of the IEEE Band 63, Nov. 1975, Seiten 1545 ff. erläutert ist, ist es neben derTat-sache, solche Daten vor einem Entwenden zu schützen, durchaus auch notwendig, einen unzulässigen Zugriff zu vermeiden. Gerade in der Datenverarbeitung stehen einem versierten Datenverarbeitungsfachmann spezielle Methoden dafür insbesondere dann zur Verfügung, wenn in dem System Zugriffe in Grundsprachen zugelassen sind. Bei detaillierter Kenntnis des Datenverarbeitungssystems ist es dann durchaus möglich, auch zu in üblicher Weise geschützten Daten zuzugreifen, diese sogar zu verändern oder zu zerstören. Nicht zu unrecht ist daher auch der Gesetzgeber aufgefordert worden, dem Datenschutz seine Aufmerksamkeit zu widmen und gesetzliche Voraussetzungen dafür zu schaffen. With the increasing use of databases in electronic data processing, especially in multi-user systems, there has been a discussion about how one can or must protect the often personal data stored there against unauthorized access. Such as B. in the Proceedings of the IEEE Volume 63, Nov. 1975, pages 1545 ff., In addition to the fact of protecting such data from theft, it is also absolutely necessary to avoid unauthorized access. In data processing in particular, experienced data processing specialists have special methods at their disposal, especially if access in basic languages is permitted in the system. With detailed knowledge of the data processing system, it is then quite possible to access data that is protected in the usual way, even to change or destroy it. It is not without reason that the legislature has also been asked to pay attention to data protection and to create legal requirements for this.
Der vorstehend genannte Artikel befasst sich mit den Möglichkeiten dafür und beschreibt unter anderem Datênverschlûs-selungsmethoden, die in der Fernschreibtechnik seit langem praktiziert werden. Die dort bekannten Methoden sind aber im allgemeinen nicht für eine Anwendung in der Datenverarbeitung geeignet. Sie bieten nämlich entweder einen zu geringen Schutz gegen einen unbefugten Zugriff oder setzen einen Datenstrom voraus, der nur bei der Übertragung, jedoch nicht bei der Speicherung von Daten gegeben ist. The above-mentioned article deals with the possibilities for this and describes, among other things, data encryption methods that have long been practiced in telex technology. However, the methods known there are generally not suitable for use in data processing. This is because they either offer insufficient protection against unauthorized access or require a data stream that is only available during the transmission, but not during the storage of data.
Darüber hinaus ist in diesem Artikel aber auch eine Einrichtung beschrieben, die ebenfalls der deutschen Offenlegungs- In addition, this article also describes a facility that also corresponds to the German disclosure
5 5
10 10th
15 15
20 20th
25 25th
30 30th
35 35
40 40
45 45
50 50
55 55
60 60
65 65
schrift 2 231 849 zugrunde liegt und speziell dem Schutz von Daten beim Betrieb einer elektronischen Datenverarbeitungsanlage dienen soll. Diese Einrichtung zum Chiffrieren oder Dechiffrieren eines Blocks binärer Daten besitzt eine Eingabevorrichtung zur Aufnahme wenigstens eines Datenblocks, der in einer Mehrzahl von Bitgruppen unterteilt ist. Die Einrichtung besitzt weiterhin eine erste Schaltvorrichtung, die wenigstens ein sechs Byte langes Schlüsselwort in binärer Form zur Verarbeitung der genannten binären Daten bereithält und eine zweite Schaltvorrichtung, mit der eine durch dieses Schlüsselwort gesteuerte, nichtlineare Transformation der binären Daten durchführbar ist. Diese Schaltvorrichtung besitzt dazu eine Anzahl von Substitutionsvorrichtungen, die an einer Untergruppe der binären Datensignale eine Permutation ausführen. Ferner ist eine dritte Schaltvorrichtung vorgesehen, mit der die Binärdaten anschliessend linear transformierbar sind. Sie umfasst interne Leitungsverbindungen, die eingegebene Signale in vertauschter Reihenfolge am Ausgang erscheinen lassen. 2 231 849 is based and is specifically intended to protect data when operating an electronic data processing system. This device for encrypting or decrypting a block of binary data has an input device for receiving at least one data block, which is divided into a plurality of bit groups. The device also has a first switching device which holds at least one six-byte long keyword in binary form for processing the binary data mentioned and a second switching device with which a non-linear transformation of the binary data controlled by this keyword can be carried out. For this purpose, this switching device has a number of substitution devices which perform a permutation on a subset of the binary data signals. Furthermore, a third switching device is provided with which the binary data can subsequently be linearly transformed. It includes internal line connections that make the signals entered appear in reversed order at the output.
Die wesentlichen Eigenschaften dieser bekannten Einrichtung sind dadurch bestimmt, dass nichtlineare Transformationen und lineare Transformationen eines Datenblockes mehrfach aufeinanderfolgend durchgeführt werden, dass ein verhältnismässig kurzer Schlüssel verwendet und der Datenblock letztlich bitweise verarbeitet wird, um eine entsprechende sichere Verschlüsselung zu erreichen. Das Verschlüsselungsverfahren kann weiterhin sowohl programmiert als auch mit Hilfe einer fest verdrahteten Schaltungsanordnung durchgeführt werden. In beiden Fällen ist jedoch der Verschlüsselungsvorgang sehr aufwendig, was auf die bitweise Verarbeitung des Datenblocks zurückzuführen ist. The essential properties of this known device are determined by the fact that nonlinear transformations and linear transformations of a data block are carried out several times in succession, that a relatively short key is used and the data block is ultimately processed bit by bit in order to achieve a corresponding secure encryption. The encryption method can also be both programmed and carried out using a hard-wired circuit arrangement. In both cases, however, the encryption process is very complex, which can be attributed to the bitwise processing of the data block.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art zu schaffen, das zum Verschlüsseln von auf Leitungen übertragenen und gespeicherten Daten geeignet ist und ohne Kenntnis des verwendeten speziellen Schlüssels einen sicheren Schutz gegen eine unbefugte Entschlüsselung bietet. Dabei soll sich das Verfahren auf Mittel stützen, die gerade die spezifischen Möglichkeiten, die die Datenverarbeitung bietet, ausschöpfen und von dieser Seite her einen geringen technischen Aufwand benötigen, damit es auch im Bereich der Datenfernverarbeitung mit einem wirtschaftlich sinnvollen Aufwand einsetzbar ist. The present invention is therefore based on the object of providing a method of the type mentioned at the outset which is suitable for encrypting data transmitted and stored on lines and which offers reliable protection against unauthorized decryption without knowledge of the special key used. The method is to be based on means that exploit the specific possibilities that data processing offers and require little technical effort from this side so that it can also be used in the area of remote data processing with an economically sensible effort.
Bei einem Verfahren der eingangs genannten Art wird diese Aufgabe erfindungsgemäss dadurch gelöst, dass aus dem in n, wobei n = 1,2,3..., Bitgruppen mit zwei Zeichen zu je k, wobei k = 1,2,3..., Elementen unterteilten Datenblock bei einer nichtlinearen Transformation mit jeder der n Bitgruppen sequentiell aus einem in einem ladbaren Schlüsselspeicher stehenden Schlüssel mit 22k Schlüsselgruppen ein 2k Elemente umfassendes Schlüsselzeichen adressiert und anstelle der ausgewählten Bitgruppe in den Datenblock eingesetzt wird, dass in einer anschliessenden linearen Transformation die Reihenfolge der Bitgruppen in dem Datenblock zyklisch vertauscht wird, indem das erste Zeichen der jeweils ersten Bitgruppe des Datenblocks an die n-te Bitgruppe angehängt und dabei die Bitgruppen derart neu geordnet werden, dass das zweite Zeichen einer i-ten Bitgruppe mit dem ersten Zeichen der (i+ l)-ten Bitgruppe eine transformierte i-te Bitgruppe bildet, und dass daran anschliessend in der genannten Weise abwechselnd nichtlineare und lineare Transformation mit den transformierten Werten der Bitgruppen durchgeführt werden, bis jeweils 2n nichtlineare und lineare Transformation durchlaufen sind. In a method of the type mentioned at the outset, this object is achieved according to the invention in that bit groups with two characters of k each, in which n = 1,2,3 ..., n = 1,2,3 .. ., Element-divided data block in a nonlinear transformation with each of the n bit groups sequentially addresses a key character comprising 2k elements from a key in a loadable key memory with 22k key groups and is used instead of the selected bit group in the data block that in a subsequent linear transformation the The order of the bit groups in the data block is cyclically interchanged by appending the first character of the first bit group of the data block to the nth bit group and thereby rearranging the bit groups such that the second character of an i-th bit group is assigned the first character of the (i + l) -th bit group forms a transformed i-th bit group, and that subsequently in the manner mentioned alternating nonlinear and linear transformation with the transformed values of the bit groups are carried out until 2n nonlinear and linear transformation have been completed.
Die wesentlichen Eigenschaften dieses Verfahrens bestehen darin, dass einmal die nichtlinearen Transformationen auf relativ einfachen Übersetzungsvorgängen beruhen, bei denen ein umfangreicher Schlüssel verwendet wird. Er erlaubt bei mehrmaligen Transformationen auch bestimmte Häufungen The main characteristics of this method are that the nonlinear transformations are based on relatively simple translation processes, in which an extensive key is used. With multiple transformations, it also allows certain accumulations
618803 618803
von Konfigurationen in den Bitgruppen völlig zu verwischen und damit eine Decodierung des Schlüssels aufgrund einer Analyse der verschlüsselten Daten mit Sicherheit auszuschalten. Zum anderen beruhen die linearen Transformationen auf einer einfachen zyklischen Vertauschung der Zeichen eines Datenblocks, so dass die Bitgruppen neu geordnet werden, mit denen bei der nächsten nichtlinearen Transformation der Schlüsselspeicher adressiert wird. to completely blur configurations in the bit groups and thus to reliably preclude decoding of the key on the basis of an analysis of the encrypted data. On the other hand, the linear transformations are based on a simple cyclic exchange of the characters of a data block, so that the bit groups with which the key memory is addressed during the next nonlinear transformation are rearranged.
Das Verfahren bietet somit einen sehr sicheren Schutz gegen unbefugte Zugriffe zu gespeicherten Daten und ist trotzdem technisch nicht aufwendig. Insofern ist es besonders gut auch in der Datenfernverarbeitung anwendbar, da entfernt aufgestellte Datenstationen mit einem preiswerten Zusatzgerät zum Verschlüsseln bzw. Entschlüsseln von übertragenen Daten ausgerüstet werden können. Dabei ist davon auszugehen, dass es der jetzige Stand der Technik erlaubt, auf einfache Weise selbst einen umfangreichen Schlüssel mit einer Kapazität von einigen 100 Schlüsselgruppen auf einer beispielsweise magnetischen Ausweiskarte zu speichern, die in einer entfernt aufgestellten Datenstation gelesen werden kann. Im Rechenzentrum dagegen könnten ankommende und verarbeitete Daten per Programm ent- bzw. verschlüsselt werden. Dabei ist davon auszugehen, dass die Maschinenbefehlssätze heutiger datenverarbeitender Anlagen durchweg die beiden dafür benötigten Befehle «Übersetzen (Translate)» und «Übertragen mit Versetzen (Move with Offset)» bereits enthalten. The method thus offers very secure protection against unauthorized access to stored data and is nevertheless not technically complex. In this respect, it can also be used particularly well in remote data processing, since remote data stations can be equipped with an inexpensive additional device for encrypting or decrypting transmitted data. It can be assumed that the current state of the art allows a large key with a capacity of a few 100 key groups to be stored in a simple manner on a magnetic identification card, for example, which can be read in a remote data station. In the data center, however, incoming and processed data could be decrypted or encrypted using a program. It can be assumed that the machine command sets of today's data processing systems consistently contain the two commands “Translate” and “Move with Offset” required for this.
Eine besonders vorteilhafte Weiterbildung der Erfindung ergibt sich daraus, dass für die nichtlinearen Transformationen ein symmetrisch aufgebauter Schlüssel mit Paaren zueinander inverser Schlüsselzeichen verwendet wird, deren Elemente jeweils die Adresse der anderen zugehörigen Schlüsselgruppe im Schlüsselspeicher darstellen und damit der zum Verschlüsseln verwendete Schlüssel auch beim Entschlüsseln anwendbar ist, wobei der Entschlüsselungsvorgang analog zum Verschlüsselungsvorgang mit dem Unterschied abläuft, dass hier die nichtlinearen Transformationen mit den linearen Transformationen in der Reihenfolge vertauscht sind. A particularly advantageous development of the invention results from the fact that for the nonlinear transformations a symmetrically structured key with pairs of inverse key characters is used, the elements of which each represent the address of the other associated key group in the key memory and thus the key used for encryption can also be used during decryption is, the decryption process analogous to the encryption process with the difference that here the non-linear transformations are interchanged with the linear transformations in the order.
Dieser symmetrische Aufbau des Schlüsselspeichers mit zueinander inversen Paaren von Schlüsselgruppen erlaubt es also, ohne Änderung des Schlüsselspeichers sowohl einen Ver-schlüsselungs- als auch einen Entschlüsselungsvorgang durchzuführen, wobei auch die übrigen Schaltungseinheiten analog zu verwenden sind. Damit kann der Verschlüsselungszusatz in einer entfernt aufgestellten Datenstation noch kostengünstiger ausgebildet sein. Andere vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Patentansprüchen beschrieben. This symmetrical structure of the key memory with pairs of key groups that are inverse to one another thus makes it possible to carry out both an encryption and a decryption process without changing the key memory, the other circuit units also being used analogously. This means that the encryption add-on can be made even more cost-effectively in a remote data station. Other advantageous developments of the invention are described in the dependent claims.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung näher erläutert. Dabei zeigt: An embodiment of the invention is explained below with reference to the drawing. It shows:
Fig. 1 ein Blockschaltbild einer erfindungsgemäss ausgebildeten Einrichtung zum Verschlüsseln oder Entschlüsseln eines Datenblocks, 1 is a block diagram of a device designed according to the invention for encrypting or decrypting a data block,
Fig. 2 ein Beispiel für einen Schlüssel mit 256 Schlüsselzeichen in sedezimaler Darstellung der binären Schlüsselzeichen und Fig. 2 shows an example of a key with 256 key characters in hexadecimal representation of the binary key characters and
Fig. 3 den Ablauf eines Verschlüsselungs- und eines Entschlüsselungsvorganges für einen verkürzten Datenblock mit Hilfe des in Fig. 2 dargestellten Schlüssels. 3 shows the sequence of an encryption and a decryption process for a shortened data block with the aid of the key shown in FIG. 2.
Die in Fig. 1 dargestellte Einrichtung zum Verschlüsseln eines Datenblocks enthält ein Datenschieberegister DSR zum Speichern von n Bitgruppen. Jede dieser Bitgruppen besteht aus zwei Zeichen zu je k Elementen. Um einen Datenblock in das Datenschieberegister DSR einzuspeichern, ist seine n-te Stufe als Eingangsstufe ausgebildet, über die mit k Eingangsleitungen ein erster Multiplexor MUX1 angeschlossen ist, dessen Eingangsseite mehrfach jeweils k breit ausgelegte Datenleitungen, insbesondere auch Dateneingangsleitungen DE zugeführt sind. The device for encrypting a data block shown in FIG. 1 contains a data shift register DSR for storing n groups of bits. Each of these bit groups consists of two characters with k elements each. In order to store a data block in the data shift register DSR, its nth stage is designed as an input stage, via which a first multiplexor MUX1 is connected with k input lines, the input side of which is fed multiple times k wide data lines, in particular also data input lines DE.
3 3rd
5 5
10 10th
15 15
20 20th
25 25th
30 30th
35 35
40 40
45 45
50 50
55 55
60 60
65 65
618803 618803
4 4th
0 0
1 1
2 2nd
Die erste Stufe des Datenschieberegisters DSR ist die Ausgangsstufe für die dort enthaltene Bitgruppe eines zwischengespeicherten Datenblockes und besitzt zwei k Ausgänge, die sowohl mit Datenausgangsleitungen DA als auch mit der Eingangsseite eines zweiten Multiplexors MUX2 verbunden sind. 5 Dieser ist einem Schlüsselspeicher SP vorgeschaltet und dient dazu, wahlweise von aussen, z. B. von einem nicht mehr dargestellten Ausweisleser bzw. von dem Datenschieberegister DSR zugeführte Adressdaten mit 2k Elementen auf Auswahleinrich-tungen im Schlüsselspeicher SP durchzuschalten, mit denen 10 der Speicherplatz einer Schlüsselgruppe auswählbar ist. Zum Einlesen des Schlüssels in den Schlüsselspeicher SP werden vom zweiten Multiplexor MUX2 externe Schlüsseladressen EXA auf die Adressleitungen des Schlüsselspeichers SP durchgeschaltet und dieser Einschreibvorgang durch ein Steuer- 15 signal «Schlüsseldaten schreiben» auf einer Steuerleitung SDS ausgelöst. Dabei werden dem Schlüsselspeicher SP die Schlüsseldaten gruppenweise über Datenleitungen SD zugeführt. The first stage of the data shift register DSR is the output stage for the bit group contained therein of a buffered data block and has two k outputs, which are connected both to data output lines DA and to the input side of a second multiplexor MUX2. 5 This is upstream of a key memory SP and is used, optionally from the outside, for. B. from an ID reader no longer shown or from the data shift register DSR supplied address data with 2k elements on selection devices in the key memory SP, by means of which 10 the storage space of a key group can be selected. To read the key into the key memory SP, external key addresses EXA are switched through to the address lines of the key memory SP by the second multiplexor MUX2 and this writing process is triggered by a control signal “write key data” on a control line SDS. The key data SP are supplied with the key data in groups via data lines SD.
An den Schlüsselspeicher SP ist ein Datenausgaberegister DAR über einen 2k breiten Datenweg angeschlossen. Dessen 20 Ausgangsleitungen sind über zwei jeweils k breite Datenwege DL mit Eingängen des ersten Multiplexors MUX1 verbunden, A data output register DAR is connected to the key memory SP via a 2k wide data path. Its 20 output lines are connected via two k-wide data paths DL to inputs of the first multiplexor MUX1,
die jeweils das erste bzw. zweite Zeichen einer Bitgruppe übertragen, was in der Zeichnung durch die Angabe kl bzw. k2 angedeutet ist. 25 which each transmit the first or second character of a bit group, which is indicated in the drawing by the indication kl or k2. 25th
Der Datenverkehr über diese beschriebenen Einrichtungen wird durch einen zentralen Taktgeber TG gesteuert, dessen Ausgangsleitung, die Taktleitung TL an den ersten Multiplexor MUX1 und über einen Taktuntersetzer TU, der die Taktfrequenz im Verhältnis 1 :2 untersetzt, an den zweiten Multiple- 30 xor MUX2 bzw. an das Datenausgaberegister DAR angeschlossen ist. Die Taktleitung TL ist ausserdem an einen Schiebeeingang SE des Datenschieberegisters DSR angeschlossen, The data traffic via these described devices is controlled by a central clock generator TG, whose output line, the clock line TL to the first multiplexor MUX1 and via a clock reducer TU, which reduces the clock frequency in a ratio of 1: 2, to the second multiple 30xor MUX2 or . is connected to the data output register DAR. The clock line TL is also connected to a sliding input SE of the data shift register DSR,
so werden mit Hilfe der Takte des Taktgebers TG die Daten eines Datenblocks zeichenweise, d. h. je k Element parallel 35 durch dieses Register taktgesteuert geschoben. so with the help of the clocks of the clock generator TG, the data of a data block character by character, d. H. per k element pushed in parallel 35 clock-controlled by this register.
Zum Bilden der weiteren Durchschaltesignale für den ersten Multiplexor MUX1 sind weiterhin zwei Zähler vorgesehen. Einer dieser beiden Zähler stellt einen Zeichenzähler ZZ dar und ist mit seinem Zähleingang ZE unmittelbar an die Takt- 40 leitung TL angeschlossen. Er zählt die zeichenweisen Verschiebungen des Datenblocks im Datenschieberegister DSR. Jede seiner Stufen ist parallel an ein erstes UND-Glied UG1 derart angeschlossen, dass dieses aktiviert wird, sobald sein Zählerstand 2n beträgt. Das dem ersten Multiplexor MUX1 zuge- 45 führte Ausgangssignal dieses UND-Gliedes UG1 bildet damit das Kriterium dafür, dass ein Zeichen vollständig durch das Datenschieberegister DSR hindurchgeschoben wurde. Der erste Multiplexor MUX1 schaltet daraufhin eine k breite Schiebeleitung SL von der ersten Stufe auf die n-te Stufe des Daten- 50 Schieberegisters DSR durch. Die mit kl bezeichnete Datenbreite dieser Schiebeleitung SL deutet an, dass das erste Zeichen der in der ersten Stufe des Datenschieberegisters stehenden Bitgruppe übertragen wird. Two counters are also provided to form the further switching signals for the first multiplexor MUX1. One of these two counters represents a character counter ZZ and is directly connected to the clock line TL with its counting input ZE. It counts the character-by-character displacements of the data block in the data shift register DSR. Each of its stages is connected in parallel to a first AND gate UG1 in such a way that it is activated as soon as its counter reading is 2n. The output signal of this AND gate UG1 fed to the first multiplexor MUX1 thus forms the criterion for a character being pushed completely through the data shift register DSR. The first multiplexor MUX1 then switches a k-wide shift line SL through from the first stage to the nth stage of the data shift register DSR. The data width of this shift line SL, denoted by kl, indicates that the first character of the bit group in the first stage of the data shift register is being transmitted.
Weiterhin ist ein zweiter Zähler, der sogenannte Durchlauf- 55 . zähler DZ vorgesehen, dessen Zähleingang ZE über ein weiteres UND-Glied UG2 mit der Taktleitung TL bzw. mit der Aus- • gangsleitung des ersten UND-Gliedes UG1 verbunden ist, so -z * dass das Ausgangssignal des Zeichenzählers ZZ einen Zählimpuls für den Durchlaufzähler DZ bildet. Wie schematisch ange- 60 32 deutet, ist auch an die Ausgänge der einzelnen Stufen dieses Durchlaufzählers ein weiteres UND-Glied UG3 angeschlossen 3 3 und so sein Zählerstand selektierbar. Wie in Fig. 1 schematisch angegeben, gibt das dritte UND-Glied UG3 beim Zählerstand • 2n-l ein Steuersignal an den ersten Multiplexor MUX1 ab und 65 kennzeichnet damit das Ende des Verschlüsselungsvorganges für einen Datenblock. Der verschlüsselte Datenblock wird dar- , aufhin aus dem Datenschieberegister DSR ausgespeichert und ein neuer Datenblock wird über die Dateneingangsleitungen DE eingespeichert. Furthermore, a second counter, the so-called pass 55. Counter DZ is provided, the counting input ZE of which is connected via a further AND gate UG2 to the clock line TL or to the output line of the first AND gate UG1, so that the output signal of the character counter ZZ generates a counting pulse for the pass counter DZ forms. As indicated schematically, a further AND gate UG3 is also connected to the outputs of the individual stages of this flow counter 3 3, so that its counter reading can be selected. As indicated schematically in FIG. 1, the third AND gate UG3 sends a control signal to the first multiplexor MUX1 at the counter reading 2n-1 and 65 thus indicates the end of the encryption process for a data block. The encrypted data block is then stored out of the data shift register DSR and a new data block is stored via the data input lines DE.
Die Wirkungsweise dieser anhand von Fig. 1 erläuterten Einrichtung wird nachfolgend anhand der Fig. 2 und 3 näher erläutert. Dem allgemeinen Anwendungsfall durchaus ange-passt, ist es sinnvoll, die Anzahl von Bitgruppen in einem zu verschlüsselnden Datenblock mit n = 16 festzulegen. Jedoch ist dies nur ein Beispiel für eine optimale Blocklänge, die unter anderem auch dadurch bedingt sein kann, dass beispielsweise mit einem Maschinenbefehl «Übertragen mit Versetzen (Move with Offset)» eine bestimmte maximale Blocklänge vorgegeben ist. Praktischen Verhältnissen angepasst, umfasst eine Bitgruppe eine Anzahl von 2k = 8 Elementen mit zwei Zeichen zu je vier Elementen. The mode of operation of this device explained with reference to FIG. 1 is explained in more detail below with reference to FIGS. 2 and 3. Adapted to the general application, it makes sense to specify the number of bit groups in a data block to be encrypted with n = 16. However, this is only one example of an optimal block length, which can also be due, among other things, to the fact that, for example, a certain maximum block length is specified with a machine command «Transfer with offset». Adapted to practical conditions, a bit group comprises a number of 2k = 8 elements with two characters of four elements each.
Mit vierstelligen Binärzahlen lassen sich bekanntlich die dezimalen Zahlen 0 bis 15 darstellen, was in einer bekannten sedezimalen Darstellung den Bezeichnungen v bis F entspricht. Analog lassen sich mit einer achtstelligen Binärzahl die dezimalen Zahlen 0 bis 255 bzw. die sedezimalen Zahlen/^ bis FF darstellen. Zur Erläuterung des Bildungsgesetzes dieser Zeichencodes sind diese Zahlen in der nachfolgenden Tabelle in den verschiedenen Darstellungen auszugsweise dargestellt. As is known, four-digit binary numbers can be used to represent the decimal numbers 0 to 15, which corresponds to the designations v to F in a known hexadecimal representation. Similarly, an eight-digit binary number can be used to represent the decimal numbers 0 to 255 or the hexadecimal numbers / ^ to FF. To explain the education law of these character codes, these numbers are shown in the following table in part in the various representations.
Dezimal Sedezimal Binär Decimal s decimal binary
00 00
01 01
02 02
0000 0000 0000 0000
0000 0001 0000 0010 0000 0001 0000 0010
9 9
10 10th
11 11
12 12
13 13
14 14
15 15
16 16
17 17th
09 0A 0B 0C 0D 0E 0F 09 0A 0B 0C 0D 0E 0F
10 10th
11 11
0000 1001 0000 1010 0000 1011 0000 1100 0000 1101 0000 1110 0000 1001 0000 1010 0000 1011 0000 1100 0000 1101 0000 1110
0000 1111 0000 1111
0001 0000 0001 0001 0001 0000 0001 0001
1F 1F
20 20th
21 21st
0001 1111 0010 0000 0010 0001 0001 1111 0010 0000 0010 0001
Dezimal Sedezimal Binär Decimal s decimal binary
63 63
3F 3F
0011 0011
1111 1111
64 64
40 40
0100 0100
0000 0000
65 65
41 41
0100 0100
0001 0001
• •
« «
• •
255 FF 1111 1111 255 FF 1111 1111
Die sedezimale Darstellung eines Zeichens verkürzt, wie ersichtlich, die binäre Darstellung und ist Ziffer für Ziffer in einer Zahl unmittelbar in eine Gruppe von vier Elementen einer Binärzahl übersetzbar. Sie folgt damit dem Bildungsgesetz dezimaler Zahlen und ist daher sehr übersichtlich. As can be seen, the hexadecimal representation of a character shortens the binary representation and can be translated digit by digit in a number directly into a group of four elements of a binary number. It follows the education law of decimal numbers and is therefore very clear.
Aus diesem Grund wurde auch hier die sedezimale Darstellung von Binärzahlen der Erläuterung der Wirkungsweise der oben beschriebenen Einrichtung zugrunde gelegt. In Fig. 2 ist nun in dieser Darstellung schematisch ein Schlüssel angegeben, wie er zum Verschlüsseln eines Datenblocks mit einer Länge von 16 Bitgruppen zu je 8 Elementen verwendet werden kann. In einem Matrixspeicher lässt sich jedes der 256 Schlüsselzeichen durch eine achtstellige Binärzahl eindeutig auswählen. Wenn beispielsweise die erste im Datenschieberegister DSR stehende Bitgruppe den Wert 6B besitzt, so ist damit ein Schlüsselzeichen E7 selektierbar. For this reason, the hexadecimal representation of binary numbers was used to explain the mode of operation of the device described above. In this illustration, a key is schematically shown in FIG. 2 as it can be used to encrypt a data block with a length of 16 bit groups of 8 elements each. Each of the 256 key characters can be uniquely selected in a matrix memory using an eight-digit binary number. If, for example, the first bit group in the data shift register DSR has the value 6B, then a key character E7 can be selected.
Wie noch zu erläutern sein wird, besteht der Schlüssel aus Paaren zueinander inversen Schlüsselzeichen. Das bedeutet, dass die Bitgruppe E7 als Adresse für diesen Schlüssel verwendet, selbst wieder auf die ursprüngliche Bitgruppe 6B führt, eine zweimalige Übersetzung also wieder die ursprüngliche Bitgruppe ergibt. Abgesehen von dieser Einschränkung, die es erlaubt den Schlüssel sowohl für den Vorgang des Verschlüsseins als auch des Entschlüsseins zu verwenden, ist die Zuordnung zweier Bitgruppen zueinander über diesen Schlüssel völlig zufällig. As will be explained later, the key consists of pairs of inverse key characters. This means that bit group E7 is used as the address for this key, itself leads back to the original bit group 6B, so that a double translation results in the original bit group. Apart from this limitation, which allows the key to be used for both the encryption and the decryption process, the assignment of two bit groups to one another via this key is completely random.
In Fig. 3 ist nun anhand einer Tabelle dargestellt, wie ein Verschlüsselungsvorgang bzw. Entschlüsselungsvorgang mit dem in Fig. 2 dargestellten Schlüssel in der oben beschriebenen Einrichtung abläuft. Der in Fig. 3 zugrundegelegte Datenblock besteht aus Gründen der übersichtlicheren Darstellung nur aus drei Bitgruppen. Er ist absichtlich so ausgewählt, dass nur ein einziges Zeichen von/5 verschieden ist. So lässt sich zeigen, wie sich sogar bei einem derart kurzen Datenblock nach mehreren Transformationen sehr schnell dieses Charakteristikum verwischt. In FIG. 3, a table shows how an encryption process or decryption process with the key shown in FIG. 2 takes place in the device described above. The data block on which FIG. 3 is based consists of only three bit groups for the sake of clarity. It is deliberately chosen so that only a single character is different from / 5. This shows how even with such a short data block, after several transformations, this characteristic blurs very quickly.
618803 618803
Der in der linken Spalte in den aufeinanderfolgenden Zeilen dargestellte Verschlüsselungsvorgang des ursprünglichen Datenblocks ORIG beginnt mit einer sequentiellen Übersetzung TR der drei Bitgruppen gemäss dem oben bezeichneten Speicherschlüssel. Aus dem in Fig. 1 dargestellten Datenschieberegister DSR wird dabei jeweils die vorderste Bitgruppe ausgelesen, über den zweiten Multiplexor MUX2 dem Schlüsselspeicher SP zugeführt, damit ein Schlüsselzeichen ausgewählt und in das Datenausgangsregister DAR übertragen. Von dort wird es zeichenweise, ausgelöst durch den Takt des Taktuntersetzers TU, an den ersten Multiplexor MUX1 weitergegeben. Der Datenblock wird im Verlauf dieser Übersetzung, ausgelöst durch die Taktsignale auf der Taktleitung TL, zeichenweise im Datenschieberegister DS weitergeschoben, und in die freigewordene Eingangsstufe des Datenschieberegisters DSR werden aufeinanderfolgend zeichenweise die übersetzten Bitgruppen eingegeben. Am Ende dieser nichtlinearen Transformationen der drei Bitgruppen weist der Zeichenzähler ZZ den Zählerstand 6 auf, so dass das UND-Glied UG1 durchschaltet und mit dessen Ausgangssignal durch den ersten Multiplexor MUX1 die Schiebeleitung SL freigegeben wird. The encryption process of the original data block ORIG shown in the left column in the successive lines begins with a sequential translation TR of the three bit groups in accordance with the memory key described above. The foremost bit group is read from the data shift register DSR shown in FIG. 1 and fed to the key memory SP via the second multiplexor MUX2, so that a key character is selected and transferred to the data output register DAR. From there it is passed on to the first multiplexor MUX1 character by character, triggered by the clock of the clock reducer TU. The data block is shifted in the course of this translation, triggered by the clock signals on the clock line TL, character by character in the data shift register DS, and the translated bit groups are successively entered character by character in the input stage of the data shift register DSR that has become free. At the end of these nonlinear transformations of the three bit groups, the character counter ZZ has the counter reading 6, so that the AND gate UG1 switches through and the shift line SL is released with its output signal by the first multiplexor MUX1.
Damit wird eine lineare Transformation eingeleitet, die in der dritten Zeile der linken Spalte von Fig. 3 als Schiebevorgang SH bezeichnet ist. Daran schliessen sich wieder nichtlineare Transformationen an, die in der eben beschriebenen Weise mit den so neu geordneten Bitgruppen im Datenschieberegister DSR durchgeführt werden. So wechseln sich nichtlineare und lineare Transformationen ab, bis der Zählerstand des Durchlaufzählers DZ das Ende des Verschlüsselungsvorganges über das Ausgangssignal des dritten UND-Gliedes UG3 anzeigt. Der verschlüsselte Datenblock ist in Fig. 3 mit CHIF bezeichnet. This initiates a linear transformation, which is referred to in the third row of the left column of FIG. 3 as a shift process SH. This is followed by nonlinear transformations again, which are carried out in the manner just described with the bit groups thus rearranged in the data shift register DSR. In this way, non-linear and linear transformations alternate until the counter reading of the pass counter DZ indicates the end of the encryption process via the output signal of the third AND gate UG3. The encrypted data block is labeled CHIF in FIG. 3.
In der rechten Spalte von Fig. 3 ist nun von unten nach oben der entgegengesetzt laufende Entschlüsselungsvorgang dargestellt, um aufzuzeigen, wie dabei inverse Übersetzungen wieder die ursprünglichen Bitgruppen ergeben. Der Entschlüsselungsvorgang setzt mit einer linearen Transformation SH ein und endet nach insgesamt 2n Durchläufen mit der letzten nichtlinearen Transformation, aus der wieder das Originalzeichen ORIG hervorgeht. The right-hand column of FIG. 3 now shows the decryption process running in the opposite direction from bottom to top in order to show how inverse translations result in the original bit groups. The decryption process begins with a linear transformation SH and ends after a total of 2n iterations with the last nonlinear transformation, from which the original character ORIG emerges again.
Das beschriebene Ausführungsbeispiel beschränkt sich zwar auf eine vereinfachte Darstellung, um die wesentlichen Merkmale herauszuheben, zeigt aber deutlich einen hohen Verschlüsselungsgrad mit diesem Verfahren bei sehr einfachen Transformationsvorgängen. Dabei ist wohl deutlich geworden, dass es hierbei vom Anwendungsfall abhängt, wie die zu verschlüsselnden Datenblöcke unterteilt werden. Es ist jedoch zweckmässig, die dabei entstehenden Bitgruppen nicht zu klein zu wählen, um einen entsprechenden Adressenvorrat für einen genügend grossen Schlüssel zu besitzen, da in dem Umfang der Schlüsselzeichen auch die besondere Stärke dieses Verfahrens liegt. The described exemplary embodiment is limited to a simplified representation in order to emphasize the essential features, but clearly shows a high degree of encryption with this method in the case of very simple transformation processes. It has become clear that it depends on the application, how the data blocks to be encrypted are divided. However, it is advisable not to select the bit groups that are created too small in order to have a corresponding address set for a sufficiently large key, since the scope of the key characters also gives the particular strength of this method.
5 5
5 5
10 10th
15 15
20 20th
25 25th
30 30th
35 35
40 40
45 45
50 50
G G
2 Blatt Zeichnungen 2 sheets of drawings
Claims (7)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19762639806 DE2639806C2 (en) | 1976-09-03 | 1976-09-03 | Method and device for encrypting or decrypting data blocks in binary representation |
Publications (1)
Publication Number | Publication Date |
---|---|
CH618803A5 true CH618803A5 (en) | 1980-08-15 |
Family
ID=5987117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CH916577A CH618803A5 (en) | 1976-09-03 | 1977-07-25 | Method and device for encryption and decryption of binary data blocks |
Country Status (8)
Country | Link |
---|---|
AT (1) | AT372559B (en) |
BE (1) | BE858377A (en) |
CH (1) | CH618803A5 (en) |
DE (1) | DE2639806C2 (en) |
FR (1) | FR2363831A1 (en) |
GB (1) | GB1542350A (en) |
IT (1) | IT1087364B (en) |
NL (1) | NL7709716A (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2467515A1 (en) * | 1979-10-10 | 1981-04-17 | Telediffusion Fse | SYSTEM FOR ENCRYPTING AND DECRYPTING A DIGITAL SIGNAL |
NL188925C (en) * | 1982-11-11 | 1992-11-02 | Philips Nv | METHOD AND APPARATUS FOR DISPLAYING FIGURED INFORMATION |
DE4114777A1 (en) * | 1990-05-22 | 1992-02-06 | Peter Elsner | METHOD AND DEVICE FOR ENCRYPTING NEWS |
CN118094608B (en) * | 2024-04-29 | 2024-08-30 | 山东水文印务有限公司 | Hydrologic data management method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3796830A (en) * | 1971-11-02 | 1974-03-12 | Ibm | Recirculating block cipher cryptographic system |
SE380696B (en) * | 1974-03-20 | 1975-11-10 | Philips Svenska Ab | WAY TO CREATE A PSEUDOS RANDOM BIT SEQUENCE AND DEVICE FOR PERFORMING THE SET. |
-
1976
- 1976-09-03 DE DE19762639806 patent/DE2639806C2/en not_active Expired
-
1977
- 1977-07-25 CH CH916577A patent/CH618803A5/en not_active IP Right Cessation
- 1977-08-22 FR FR7725568A patent/FR2363831A1/en active Granted
- 1977-08-25 AT AT616777A patent/AT372559B/en not_active IP Right Cessation
- 1977-09-01 GB GB3643877A patent/GB1542350A/en not_active Expired
- 1977-09-01 IT IT2716377A patent/IT1087364B/en active
- 1977-09-02 BE BE180658A patent/BE858377A/en unknown
- 1977-09-02 NL NL7709716A patent/NL7709716A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
GB1542350A (en) | 1979-03-14 |
NL7709716A (en) | 1978-03-07 |
FR2363831A1 (en) | 1978-03-31 |
DE2639806C2 (en) | 1978-06-22 |
ATA616777A (en) | 1983-02-15 |
IT1087364B (en) | 1985-06-04 |
BE858377A (en) | 1978-03-02 |
DE2639806B1 (en) | 1977-10-13 |
FR2363831B1 (en) | 1982-12-10 |
AT372559B (en) | 1983-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3885123T2 (en) | Arrangement and method for cryptography with application. | |
EP0986872B1 (en) | Device for carrying out a block cipher method | |
DE1901343C3 (en) | Data processing system for the execution of material invoices | |
DE2457312B2 (en) | Arrangement for performing arithmetic or logical operations on selected groups of consecutive bits in a data processing arrangement | |
DE2432608C3 (en) | Storage arrangement for a data processing device | |
DE1449544A1 (en) | Data processing machine with overlapping retrievable storage unit | |
DE1774945C3 (en) | Electronic data processing system for mixing, sorting, arithmetic processing of data sets consisting of data fields and for rearranging individual data fields | |
DE2054941C2 (en) | Arrangement for the selection of data sets | |
CH618803A5 (en) | Method and device for encryption and decryption of binary data blocks | |
DE2459476C3 (en) | ||
DE1562051B2 (en) | CIRCUIT ARRANGEMENT FOR GENERATING A UNIQUE GROUP OF M X N BITS | |
DE2744886B2 (en) | Circuit arrangement for swiveling a binary data matrix | |
DE19645057C2 (en) | Device for the selection of address words by means of demultiplex decoding | |
DE1250489B (en) | I Circuit arrangement for storing blank passwords in an associative memory | |
DE2459476A1 (en) | CIRCUIT ARRANGEMENT FOR NON-CYCLIC DATA PERMUTATIONS | |
DE2717065C3 (en) | Device for checking the assignment of a secret number to a card number stored on a card | |
DE2702586C3 (en) | Circuit arrangement for controlling memory access in a computer | |
DE2200744A1 (en) | Method and device for sorting out | |
DE2450669A1 (en) | PROCEDURES AND CIRCUIT ARRANGEMENTS FOR ENCRYPTION AND DECCRYPTION | |
DE1474041C3 (en) | Arrangement for sorting information bit groups recorded in random order | |
DE1449411B2 (en) | METHOD AND CIRCUIT ARRANGEMENT FOR SEQUENTIAL READING OF SEVERAL UNEQUAL WORDS OR WORD PARTS CONTAINING BITS CORRESPONDING TO ONE OR MORE SEARCH BITS FROM AN ASSOCIATIVE MEMORY | |
DE1087834B (en) | Adding machine | |
DE978059C (en) | Method and arrangement for the reproducible generation of a key pulse sequence | |
DE2136536B2 (en) | Method and arrangement for grain size and decompression of binary data | |
DE1449567C3 (en) | Digital data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PL | Patent ceased |