DE2715631C2 - Verschlüsselung und Absicherung von Daten - Google Patents

Verschlüsselung und Absicherung von Daten

Info

Publication number
DE2715631C2
DE2715631C2 DE2715631A DE2715631A DE2715631C2 DE 2715631 C2 DE2715631 C2 DE 2715631C2 DE 2715631 A DE2715631 A DE 2715631A DE 2715631 A DE2715631 A DE 2715631A DE 2715631 C2 DE2715631 C2 DE 2715631C2
Authority
DE
Germany
Prior art keywords
key
block
data
register
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2715631A
Other languages
English (en)
Other versions
DE2715631A1 (de
Inventor
William Friedrich Hurley N.Y. Ehrsam
Carl H.W. Kingston N.Y. Meyer
John Lynn Smith
Walter Leonard Woodstock N.Y. Tuchmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2715631A1 publication Critical patent/DE2715631A1/de
Application granted granted Critical
Publication of DE2715631C2 publication Critical patent/DE2715631C2/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Description

Die Erfindung betrifft ein Verfahren und Schaltungsanordnungen zur Verschlüsselung und Absicherung von Daten, die in Form von Blöcken von einem Sender zu
einem Empfanger übertragen werden, entsprechend dem Oberbegriff des Patentanspruchs 1.
Moderne Datenverarbeitungsanlagen werden zunehmend komplexer und umfassen zuweilen Netzwerke mit einem zentralen Rechner oder bei Endstellen untergebrachten Rechnern oder mit weit verteilten Endeinrichtungen; dabei werden zuweilen lange Kabelverbindungen und/oder Leitungen öffentlicher Nachrichtennetze zur Verbindung eingesetzt. Des weiteren werden häufig in den Endstellen und/oder Endeinrichtungen leicht herausnehmbare Speichermedien verwendet Wegen der erheblichen Gefahr des unerlaubten Zugriffs zu Leitungen des öffentlichen Netzes, privaten langen Verbindungsleitungen und auch den herausnehmbaren Speichermedien kommen zunehmende Bedenken auf bezüglich des Abhörens und der Veränderung von Datennachrichten während der Übertragung oder Medienspeicherung. Die Verschlüsselung ist als eine Möglichkeit zur Absicherung und Geheimhaltung übertragener Daten erkannt worden, wobei die Daten selbst geschützt werden und nicht nur das übertragende oder speichernde Medium.
Verschiedenartige Verschlüsselungsanordnungen sind bereits für die Absicherung und Geheimhaltung von Datenübertragungen zwischen einem Sender und einem Empfänger entwickelt worden. Die Blockverschlüsselung bildet dabei eine Möglichkeit, bei der eine Blockverschlüsselungseinrichtung in zyklischer Arbeitsweise jeweils einen Block von Datenbus unter Anwendung von Schlüsselbits verschlüsselt. Bei Daten-Übertragungsanlagen mit Blockverschlüsselung verschlüsselt das Gerät auf der Sendeseite jeweils einen Datenblock mittels einer Anordnung von Schlüsselbits derart, daß ein Ausgangsblock nicht erkennbarer, verschlüsselter Datenbits erzeugt wird, der ohne Kenntnis des Schlüssels nicht verständlich ist. Der sich dabei ergebende Ausgangsblock verschlüsselter Datenbits wird dann zum Empfänger übertragen, in welchem das dort vorhandene Gerät den übermittelten Datenblock unter Anwendung der gleichen Schlüsselbits umgekehrt verarbeitet, um dabei wieder den ursprünglich auf der Sendeseite eingegebenen Datenblock zu gewinnen. Beispiele für diesen Stand der Technik sind Gegenstand der deutschen Offenlegungsschriften 22 31 849 und 25 58 206.
Bei der Blockverschlüsselung sind die einzelnen Datenbits des übertragenen Blocks eine komplexe Funktion aller Datenbits des eingegebenen Blocks und der Anordnung von Schlüsselbits. Insofern beeinflußt jede Änderung eines eingegebenen Datenbits sämtliche so ausgegebenen Datenbits. Diese Eigenschaft der Blockverschlüsselung gestattet die Beifügung eines Berechtigungsfeides mit dem eingegebenen Datenbitblock, welches sich für die Absicherung der Datenübertragung zwischen dem Sender und einem Empfänger verwenden läßt. Eine bereits ausgeführte Möglichkeit dieser Art ist die Hinzufügung einer Parole zum eingegebenen Datenblock, der zu übertragen ist. Der eingegebene Datenblock wird dabei mit Hilfe einer Schlüsseleinrichtung im Sender verschlüsselt und das dann entstehende Ergebnis zum Empfänger übertragen. Im Empfänger wird der empfangene verschlüsselte Datenblock mit Hilfe wiederum einer Blockschlüsseleinrichtung entschlüsselt. Wenn die Verbindung während der Übertragung nicht unterbrochen worden ist, dann ist der entschlüsselte Dateiblock identisch mit dem ursprünglich eingegebenen Datenblock. Wenn der Empfänger die Parole kennt, kann sie zur Absicherung des Datenblocks mittels Vergleichs mit der empfangenen, entschlüsselten Parole verwendet werden.
Durch den Aufsatz von Feistel, Notz und Smith »Some Cryptographic Techniques for Machine-to-Machine Data Communication« veröffentlicht in Proceedings of the IEEE, Vol. 63, Nr. 11, November 197S, Seiten 1545 bis 1554 (insbesondere den Abschnitt Authentication auf Seite 1550), ist ein Blockverschlüsselungsverfahren bekannt, bei dem ein Teil des verschlüsselten Datenblocks dem jeweils folgenden Datenblock hinzugefügt und dieser dann verschlüsselt wird. Die Schlüsselbitfolge für die Verschlüsselung der Datenblöcke bleibt hier unverändert.
Durch die DE-AS 1188123 ist ein Verschlüssler bekannt, bei welchem aus Klartextbuchstaben und Schlüsselbuchstaben verschlüsselte Buchstaben gebildet werden. Die Schlüsselbuchstaben werden über logische Schaltungen durch die vorhergehenden Klartextbuchstaben beeinflußt Bei dieser bekannten Anordnung werden die Schlüsselbuchstaben δ\ einem Schlüsselgenerator zufällig erzeugt. Die Entschlüsselung auf der Empfangsseite soll mit dem gleichen Schlüsselgenerator wie auf der Sendeseite erfolgen, da aber die Erzeugung der Schlüsselbuclhstaben zufällig erfolgen soll, ist nicht erkennbar wie hier die gleichen Schlüsselbuchstaben wie auf der Sendeseite erzeugt werden können.
Beispiele nach dem Stande der Technik dazu sind zu finden in den deutschen Offenlegungsschriften 22 31 835 und 22 32 256.
Nach der gegebenen Technik werden eine Vielzahl von Datenblöcken zwischen dem Sender und dem Empfänger übertragen und die aufeinanderfolgenden eingegebenen Datenblöcke blockweise mittels einer Blockierverschlüsselung der Sendestation verschlüsselt, welche in aufeinanderfolgenden Schlüsselgängen immer unter Steuerung durch die gleiche Anordnung von Schlüsselbits steht, um dabei aufeinanderfolgende verschlüsselte Datenblöcke zu erzeugen. Das Resultat auf der Sendeseite wird dann zum Empfänger übermittelt, wo die Blockschlüsseleinrichtung des Empfängers ebenfalls aufeinanderfolgende Arbeitsgänge unter Steuerung durch dieselbe Schlüsselbitanordnung, jedoch in umgekehrter Weise, ausführt und die ursprünglich eingegebene Vielzahl vor Datenblöcken wiedergewinnt. Jede Beeinflussung irgendeines einzelnen Datenbits in einem beliebigen Block der ausgegebenen übermittelten Nachricht wird, obwohl sie sämtliche anderen entschlüsselten Datenbits des gleichen Datenhlocks beeinflußt, keinerlei Auswirkung auf irgendeinen anderen entschlüsselten Datenblock derselben Nachricht haben. Infolgessen ist es zur Absicherung der vollständigen Nachricht erforderlich, mit jedem vom Sender zum Empfänger übertragenen Datenblock eine Parole mitzusenden. Wegen der Notwendigkeit der Mitübertragung von Parolen mit jedem einzelnen Datenblock wird selbstverständlich der Übertragungswirkungsgrad der gesamten Anlage vermindert.
Die Aufgabe der vorliegenden Erfindung ist demgegenüber ein Verfahren zur Absicherung einer Vielzahl Übertragener Datenblöcke, ohne den Übertragungswirkungsgrad wesentlich in Mitleidenschaft zu ziehen; dabei soll die Verschlüsselung der aufeinanderfolgenden Datenblöcke in aufeinanderfolgenden Schlüsselgängen unter Verkettung nit den Datenblöcken sämtlicher vorangehender Schlüsselgänge erfolgen können, wobei jeder einzelne Schlüsselgang immer durch sämtliche vorangehenden Schlüsselgänge mitbeeinflußt ist und die verschlüsselten DEitenbits der aufeinanderfnlcenHpn
Blöcke einerseits vom gerade eingegebenen Datenblock, von sämtlichen vorangehenden Blöcken und des weiteren von der eingegebenen Schlüsselbitanordnung abhängen; dabei soll auch eine Vielzahl variierbarer Schlüssel verwendet werden können, wobei jeweils der aktuelle Schlüssel mit dem Schlüssel vorangehender Schlüsselgänge kettbar ist; dabei soll die Gewinnung neuer aufeinanderfolgender Schlüsselbits durch Modifizierung der vorangegangenen Schlüsselbits in Abhängigkeit vom vorangehenden Datenblock möglich sein; des weiteren soll eine einfache Möglichkeit zur Absicherung der übertragenen Daten gegenüber Übertragungsfehlern und zur Wahrung der Geheimhaltung aufeinanderfolgend übertragener Datenblöcke ohne Schwierigkeit durchführbar sein.
Die Lösung dieser Aufgabe ist im Patentanspruch 1 gekennzeichnet. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen beschrieben.
Nach der vorliegenden Erfindung wird ein Verfahren zur Verschlüsselung von Nachrichten mit einer Vielzahl von Datenblöcken zwischen einem Sender und einem Empfänger beschrieben. Der Sender enthält eine Schlüsseleinrichtung, die ein Blockkettungsverfahren zur Verbesserung der Sicherheit und Unstörbarkeit der Nachrichten durchführt. Dabei wird eine Eingabenachrieht, die aus aufeinanderfolgenden einzugebender Klartextdatenblöcken besteht, und eine einzugebende Anordnung von Schlüsselbits der Schlüsseleinrichtung des Senders zugeführt. Die Schlüsseleinrichtung verschlüsselt die eingegebene Nachricht in aufeinanderfolgenden Blockschlüsselgängen, während derer jeweils ein eingegebener Klartextdatenblock unter Einfluß der eingegebenen Schlüsselbitanordnung zur Gewinnung wiederum eines Ausgabeblocks verschlüsselter Daten umgewandelt wird. Eine der Eingaben bei den J5 aufeinanderfolgenden Blockschlüsselgängen ist das Ergebnis särrmiäier vorangehender Biockschiüsseigange, so daß jeder der aufeinanderfolgend ausgegebenen verschlüsselten Datenblöcke mit sämtlichen vorangegangenen Bioekschlüsselgängen verkettet ist und somit in Abhängigkeit vom jeweils eingegebenen Klartextblock, von sämtlichen vorangehenden Klartextblöcken und von der ursprünglich eingegebenen Schlüsselbitanordnung steht.
Ein wesentlicher Vorteil dieses Blockkettungsverfah- *5 rens ist bei der Übertragung stereotyper Nachrichten gegeben, die aufeinanderfolgend identische Blöcke von Klartextdaten enthalten. Mit der Blockkettungstechnik der vorliegenden Erfindung wird jeder der aufeinanderfolgenden stereotypen Blöcke anders verschlüsselt als sein Vorgänger, und zwar aufgrund der Tatsache, daß der Schlüssel von Block zu Block wechselt und somit eine erhöhte Absicherung der Geheimhaltung gewährleistet wird.
Der Empfänger enthält wiederum ebenfalls eine Schlüsseleinrichtung, die vergleichbar ein Blockkettungsverfahren durchführt Dazu wird einerseits die Folge der vom Sender her empfangenen Nachrichtenbiöcke mit verschlüsselten Daten und andererseits zu Beginn eine Schlüsselbitanordnung in die Schlüsseleinrichtung des Empfängers eingegeben. Diese Schlüsseleinrichtung entschlüsselt die einlaufende Nachricht in aufeinanderfolgenden Blockschlüsselgängen, während derer jeweils ein zu entschlüsselnder Datenblock unter Steuerung durch die eingegebene Schlüsseibitanordnung entschlüsselt wird und dabei jeweils einen Block von Klartextdaten ergibt, der wiederum einem im Sender eingegebenen ursprünglichen Klartextdatenblock entspricht. Die eine der Eingaben in die empfangsseitige Schlüsseleinrichtung während der aufeinanderfolgenden Blockschlüsselgänge ist eine Funktion des vorangegangenen Blockschlüsselganges, wobei wiederum die einzelnen aufeinanderfolgenden Klartextdatenblöcke mit allen vorangehenden Schlüsselgangblöcken auch im Empfänger verkettet sind und somit in Abhängigkeit stehen vom aktuellen Block verschlüsselter Daten, von allen vorangehenden verschlüsselten Datenblöcken und von der zu Beginn eingegebenen Anfangsschlüsselbitanordnung.
Eine Prüfung der vollständigen und richtigen Übertragung zwischen dem Sender und dem Empfänger ist auf der Grundlage der Blockkettungstechnik möglich. Unter Vorkehrung je eines identischen Berechtigungsfeldes zu Beginn und am Ende einer sendeseitig eingegebenen Nachricht beeinflußt jede Abänderung jedes einzelnen Datenblockes verschlüsselter Bits in der vom Sender ausgegebenen Nachricht den entsprechenden im Empfänger zu entschlüsselnden Datenblock und des weiteren alle nachfolgenden zu entschlüsselnden Datenbits der Empfängerausgabcnachricht. Unter Vergleich der entschlüsselten Versionen der beiden Berechtigungsfelder der entschlüsselten Nachricht garantiert Übereinstimmung die Richtigkeit der Nachrichtenübermittlung, wohingegen Nichtübereinstimmung eine Verfälschung der übertragenen Nachricnt kennzeichnet.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im folgenden näher beschrieben.
Fig. 1 zeigt ein Blockschaltbild mit Anordnung der Schlüsseleinrichtungen in einer Datenverarbeitungsanlage;
Fig. 2 zeigt als Diagramm das Format einer eingegebenen Nachricht ohne Blockkettung;
Fig. 3 zeigt ais Diagramm das Format einer eingegebenen Nachricht mit Blockkettung;
Fig. 4 zeigt ein vereinfachtes Diagramm, das das Blockkettungsverfahren beim Verschlüsseln erläutert:
F i g. 5 zeigt ein vereinfachtes Diagramm, das das Blockkettungsverfahren bei der Entschlüsselung erläutert:
Fig. 6 erläutert die Zusammengehörigkeit der Fig. 6Aund6B;
Fig. 6A und 6B enthalten die Einzelheiten der Blockschlüsselung entsprechend der vorliegenden Erfindung;
F i g. 7 ist ein Zeitschaubild für einen Blockschlüsselgang bei der Verarbeitung eines Blocks eine aus mehreren Blöcken bestehenden Nachricht in der Schlüsseleinrichtung gemäß der vorliegenden Erfindung.
Bei Datenverarbeitungsnetzen, in denen Daten über Verbindungsleitungen zwischen dem zentralen Rechner und fernen Steuereinheiten oder fernen Endstellen übertragen werden, ist zu erwarten, daß zu irgendeiner Zeit gewissenlose Individuen versuchen werden, die übermittelten Daten abzuhören und zu verfälschen. Eine Möglichkeit zur Erzielung von Datensicherheit und Geheimhaltung in solchen Fällen ist die Verwendung von Blockschlüsseleinrichtungen an besonders wichtigen Punkten innerhalb des Netzes. Eine über den Sender eingegebene Nachricht aus Blöcken von Kianextdaten kann mitteis einer Biockschiüsseieinrichtung verschlüsselt und so zu einem Empfänger übertragen werden, in welchem die verschlüsselten Blöcke wiederum durch eine Schlüsseleinrichtung zur
Erlangung der ursprünglich eingegebenen Klartextdatenbits entschlüsselt werden. Unter Umkehrung der Schlüsselfunktiof.en des Senders im Empfänger lassen sich die Klartextdaten wiedergewinnen und sogar im Empfänger zurückverschlüsseln, zum Sender zurückübertragen und wiederum in die Ursprungsdaten zurüc^intschlüsseln. In Fig. 1 sind die in Betracht kommenden wichtigen Stellen der Anordnung solcher Schlüsseleinrichtungen in einem Datenverarbeitungsnetz durch dicke Punkte dargestellt.
In Fig. 2 ist eine Nachricht der Länge B= nb dargestellt, worin η die Zahl der Blöcke und b die Blocklänge ist. Die Blöcke können dabei beliebige Länge aufweisen. Für die Darstellung wurde eine Blocklänge mit 64 Bits in acht Bytes dargestellt, wobei jedes Byte acht Bits aufweist. Weil jedes einzelne Datenbit eines ausgegebenen Blockes eine komplexe Punktion aüer vorangegangene.". Datenbits des entsprechenden Blockes plus der Schlüsselbitanordnung ist, beeinflußt beim Verschlüsseln jede Abänderung eines einzelnen Datenbits die Gesamtheit der Datenbits des Blockes. Somit kann die Übertragung eines Datenbitblocks geprüft werden unter Einfügung zweier identischer Berechtigungsfelder aus jeweils einem oder mehreren Bytes am Beginn und am Ende jedes einzugebenden Datenblocks. Im Sender werden die Datenblöcke einschließlich der Berechtigungsfelder verschlüsselt und zum Empfänger übertragen, wo die entschlüsselten Versionen der Berechtigungsfelder zwec) ··. Prüfung der Richtigkeit der übertragenen Blöcke verglichen werden können.
Während die Abänderung eines einzelnen Datenbits in einem übertragenen Block die Gesamtheit der Datenbits des entsprechenden ausgegebenen Blocks beeinflußt, ergibt sich durch eine solche Bitveränderung kein Einfluß auf die nachfolgenden Blöcke der gleichen Nachricht. Bei dieser Art der Nachrichtenübertragung müssen Berechtigungsfelder mit jedem einzelnen eingegebenen Block übermittelt werden, um dabei auch die Richtigkeit jeder einzelnen Blockübertragung prüfen zu können. Dabei ergibt sich naturgemäß eine wesentliche Herabsetzung des Nutzübertragungs-Wirkungsgrades.
Der Durchsatzwirkungsgrad läßt sich verbessern mittels des Blockkettungsverfahrens, bei dem die Blöcke so miteinander verkettet werden, daß jeder ausgegebene, übertragene Datenbitblock in Abhängigkeit steht zum entsprechenden eingegebenen Datenblock, allen vorangehend eingegebenen Blöcken und zur eingegebenen Schlüsselbitanordnung. Dabei beeinflußt die Abänderung eines einzelnen Datenbits in irgendeinem beliebigen Block der Nachricht den entsprechenden Ausgabeblock und des weiteren sämtlichen nachfolgenden Blöcke der Nachricht Wegen dieser Blockkettungseigenschaft brauchen Berechtigungsfeider nur zu Beginn und am Ende der gesamten Nachricht entsprechend Fig.3 vorgesehen werden, um die Richtigkeit einer Nachrichtenübertragung zu garantieren, und nicht mehr in jedem einzelnen Block der Nachricht wie im Falle der Übertragung ohne Blockkettung. Da Berechtigungsfeider nunmehr nur am Beginn und am Ende der Gesamtnachricht vorzusehen sind, ist wohl einzusehen, daß unter Blockkettung keine wesentliche Beeinträchtigung des Wirkungsgrades bei der Übertragung relativ langer Nachrichten stattfindet
In den Fig.4 und 5 ist in vereinfachter Form das Blockkettungsverfahren beim Verschlüsseln und Entschlüsseln dargestellt Insbesondere zeigt Fig.4 das Kettungsverfahren beim Verschlüsseln in η aufeinanderfolgenden Blockschlüsselgängen. Während jedes einzelnen Ganges wird ein eingegebener Block X von Klartextdatenbits unter Anwendung einer Schlüsselbitanordnung K von Schlüsselbits zur Erzeugung eines Ausgabeblocks V verschlüsselter Datenbits angewendet. Beim ersten Blockschlüsselgang kann die Verschlüsselung ausgedrückt werden durch Y\ = f(X,, K1), worin Xt der eingegebene Klartextdatenblock, /Ci die eingegebene Schlüsselbitanordnung, f die Blockverschlüsselungsfunktion und Vi der abgegebene Block verschlüsselter Datenbits ist.
Bei der Blockkettung wird in jedem der aufeinanderfolgenden Blockschlüsselgänge eine Schlüsselbitanordnung angewendet, die selbst eine Funktion des vorangehenden Blockschlüsselgangs ist. Dabei wird eine erste Modulo-2-Addition des zuerst eingegebenen Sch'üssclbiisatzes K\ nvii dein cimcii eingegebenen Klartextdatenblock ΛΊ durchgeführt und das Ergebnis der Blockverschlüsselungsfunktion während der Erzeugung des ersten ausgegebenen verschlüsselten Datenbitblocks Vi gespeichert. Während der erste verschlüsselte Block Vi erzeugt wird, wird er module 2 zum Ergebnis der ersten Modulo-2-Addition hinzuaddiert, um dabei die Schlüsselbitanordnung K2 für den nächstfolgenden Blockschlüsselgang zu ergeben. Dies läßt sich ausdrücken durch Ki= K\®X\®Vi, worin ©jeweils eine Modulo-2-Addition bedeutet. Für diesen zweiten Blockschlüsselgang kann die Verschlüsselung
jo ausgedrückt werden durch Vj = f(Xi, Ki), und unter Einsetzung der oben genannten Gleichung für K2 läßt sich die Verschlüsselung nunmehr ausdrücken als Y2 = f (X2, K, Θ ΑΙ θ V1). Der abgegebene verschlüsselte Datenbitblock Y2 ist somit eine Funktion des zugehörigen eingegebenen Klartextdatenbitblocks X2, des vorangehenden eingegebenen Blocks X\ und der ersteingegebenen Schlüsselbitanordnung K1. Dies gilt für alle weiteren nachfolgenden Blockschlüsselgänge; somit wird jeder folgende ausgegebene verschlüsselte Datenbitblock wirkungsvoll mit sämtlichen vorangehenden Gängen gekettet und ist damit eine Funktion des jeweils zugehörigen eingegebenen Klartextdatenblocks, aller vorangehend eingegebenen Klartextdatenblöcke und der zu Anfang eingegebenen Schlüsselbitan-Ordnung.
In F i g. 5 ist die entsprechende Entschlüsselung unter Verkettung in η aufeinanderfolgenden Blockschlüsselgängen dargestellt Während jedes Blockschlüsselgangs wird ein eingegebener Block V verschlüsselter Datenbits unter Steuerung durch eine aktuelle Schlüsselbitanordnung K entschlüsselt und dabei ein Block X von Klartextdatenbits ausgegeben, der für den ersten Blockschlüsselgang der Entschlüsselung ausgedrückt werden kann durch X-, = f~x(Y\, K\), worin f~' die Entschlüsselungsfunktion bedeutet und die Umkehrung der Funktion darstellt, die beim Verschlüsseln angewendet wird.
Die Blockkettung bei der Entschlüsselung läuft ähnlich ab wie die Kettung beim Verschlüsseln, d. h.
unter Anwendung jeweils einer Schlüsselbitanordnung für die einzelnen aufeinanderfolgenden Blockschlüsselgänge in Abhängigkeit von den jeweils vorangehenden Blockschlüsselgängen. Dazu wird zuerst eine Modulo-2-Addition der zuerst einzugebenden Schlüsselbitanordnung K\ mit dem ankommenden ersten verschlüsselten Block Yi durchgeführt und das Ergebnis der Erzeugung des ersten auszugebenden Klartextdatenblocks Xi gespeichert Neben der Abgabe des ersten Klartextda-
27 15 63!
ίο
tenblocks X\ wird er zusätzlich zum Ergebnis der ersten Modulo-2-Addition abermals modulo 2 addiert, um dabei die Schlüsselbitanordnung K2 für den nächstfolgenden Blockschlüsselgang zu gewinnen, wozu sich ausdrücken läßt K2-K1 φ V, φ ΛΊ; dieser Ausdruck ist mathematisch dem /^-Ausdruck der Verschlüsselung äquivalent. F"r den zweiten Blockschlüsselgang läßt sich ausdrücken X2^ F-^(Y1, K1). Unter Einsetzung des obengenannten K1 läßt sich für die Entschlüsselung schreiben X1"M(Y2, Kx φ Yx φ Xi). Der ausgegebene Klartextdatenblock X2 ist offensichtlich eine Funktion des zugehörigen verschlüsselten Blocks Y2, des vorangehenden verschlüsselten Blocks Y\ und der ursprünglich eingegebenen Schlüsselbitanordnung K\. Diese Beziehung gilt wie beim Verschlüsseln auch beim Entschlüsseln für alle weiteren Blockentschlüsselungsgänge analog; somit ist jeder nachfolgend ausgegebene Klartextdatenblock effektiv mit allen vorangehenden Blockentschlüsselungsgängen und dabei mit dem zugehörigen verschlüsselten Block, allen vorangehend eingegebenen verschlüsselten Blöcken und der ursprünglich eingegebenen Anfangsschlüsselbitanordnung verkettet.
In den Fig.6A und 6B ist in Einzelheiten die Blockschlüsseleinrichtung nach der vorliegenden Erfindung zur Durchführung des Blockkettungsverfahrens dargestellt; eine Beschreibung soll nachstehend unter Bezugnahme auf das Zeitschaubild gemäß F i g. 7 folgen.
Verschiedene Teile des Schaltbildes sind vereinfacht zusammengefaßt dargestellt, um die Beschreibung nicht mit Einzelheiten, die jeder Fachmann kennt, zu verwirren. Sinngemäß werden die verschiedenen Kanalkabel mit eingekreisten Zahlen dargestellt, die die Anzahlen von Einzelleitungen bezeichnen, wobei ebenfalls jeder einzeln dargestellte logische Schaltkreis J5 für mehrere Schaltkreise steht, deren Gesamtzahl der Zahl der angeschlossenen Kanalleitungen entspricht.
Die Verschlüsselung
Es wird angenommen, daß eine einzugebende Nachricht mit π Klartextdatenblöcken vom Sender zum Empfänger in Blöcken von 64 Datenbits zu übertragen ist, die in acht Bits langen Bytes angeordnet sind. Es soll des weiteren angenommen werden, daß gemäß F i g. 3 Berechtigungsbytes zu Beginn und am Ende der Nachricht vorgesehen sind. Vor der Übertragung wird dann die einzugebende Nachricht unter Anwendung einer anfangs eingegebenen Schlüsselbitanordnung verschlüsselt, die ebenfalls 64 Bits in acht Bytes enthält, wobei jedes Byte sieben Schlüsselbits und ein Paritätsbit enthalten soll. Der Sender empfängt zu Beginn die Schlüsselbitanordnung byteweise über den Schlüsseleingabekanal, wozu insgesamt acht Byte-Arbeitsgänge zur vollständigen Aufnahme der gesamten Anfangsschlüsselbitanordnung erforderlich sind.
Während des ersten Byte-Arbeitsgangs gibt der Sender unter Anstehen eines gültigen Schlüsselbytes am Schlüsseleingabekanal über eine Leitung LASe\n Signal »Laden Anfangsschlüssel« zur Vorbereitung der UND-Glieder 4 zwecks Durchgabe der sieben Schlüsselbits ω des ersten Schlüsselbytes über die ODER-Glieder 20 zu sieben Stellen des Kettenschlüsselregisters 36. Das LAS-Signal wird des weiteren einem UND-Glied 6 zur Durchgabe des Paritätsbits des ersten Schlüsselbytes über ein ODER-Glied 28 in die achte Stelle des Kettenschlüsselregisters 36 zugeführt Außerdem wird das .L4S-Signal zwecks Einschaltung einem Verriegelungsglied 58 zugeführt, welches im eingeschalteten Zustand einem UND-Glied 56 ein Vorbereitungssignal zuführt für die Ladung des ersten Bytes einer eingegebenen Nachrächt, nämlich des Berechtigungsbytes, in das Erste-Byteregister 68. Des weiteren wird das Signal LAS einem Inverter 8 zugeführt, der es zur Sperrung von UND-Gliedern 10 verwendet und damit eine Rückkopplungsschleife vom Ausgang des Kettenschlüsselregisters 36 unterbindet, wenn das erste Schlüsselbyte in das Kettenschlüsselregister 36 eingegeben wird. Das LAS-S\gna\ gelangt des weiteren über ein ODER-Glied 30 und einen Inverter 32, wobei es umgekehrt sowie in einem nachgeschalteten Verzögerungsglied 34 verzögert und daneben auch unmittelbar zwei Steuereingängen unten am Kettenschlüsselregister 36 zugeführt wird.
Das Kettenschlüsselregister 36 enthält acht Stellen, deren erste mit den in allen übrigen Stellen ebenfaiis vorhandenen Einzelheiten detailliert dargestellt ist. Jede Stelle des Kettenschlüsselregisters 36 enthält ein Schieberegister mit acht untereinander verbundenen Verriegelungsgüedern L 1 bis L 8. Diese Verriegelungsglieder können irgendeine beliebige bekannte Bauform sein, deren eine z. B. in der bereits erwähnten Offfenlegungsschrift 25 58 206 beschrieben ist. Die ankommenden Schlüsselbyteleitungen sind jeweils mit dem ersten Verriegungsglied der einzelnen Stellen des Kettenschlüsselregisters 36 verbunden, während die beiden Steuerleitungen, von unten kommend, mit sämtlichen Verriegelungsgliedern der einzelnen Stellen des Kettenschlüsselregisters 36 verbunden sind. In sämtlichen Stellen sind die Ausgangsleitungen aller Verriegelungsglieder, außer des letzten, mit dem Eingang des nächstfolgenden Verriegelungsgliedes verbunden, wohingegen der Ausgang des letzten Verriegelungsglieds als Ausgang aus der entsprechenden Stelle des Kettenschlüsselregisters 36 verwendet wird. Während des ersten Byte-Arbeitsgangs werden, während ein gültiges Schlüsselbyte dem Kettenschlüsselregisters 36 angeboten wird, die beiden Steuersignale von unten her abwechselnd zugeführt und veranlassen die Ladung des ersten Schlüsselbytes mit acht Bits in die ersten Verriegelungsglieder L 1 der acht Stellen des Kettenschlüsselregisters 36. Während der nachfolgenden sieben Byte-Arbeitsgänge werden die übrigen je acht Bits langen Bytes des Schlüssels byteweise über die ersten Verriegelungsglieder der einzelnen Stellen des Kettenschlüsselregisters 36 zugeführt. Die mit LKS und Z.KS bezeichneten Leitungen sind mit allen jeweils acht Verriegelungsgliedern verbunden und bewirken die Ladung der aufeinanderfolgenden Schlüsselbytes in das Kettenschlüsselregister 36 und die Verschiebung des jeweils vorangehend eingegebenen Bytes um eine Position in den einzelnen Stellen, so daß am Ende von acht Arbeitsgängen die Anfangsladung der Schlüsselbits im Kettenschlüsselregister 36 vollständig erfolgt ist und das erste Schlüsselbyte am Ausgang des Kettenschlüsselregisters 36 ansteht. Die sieben Schlüsselbits des dort anstehenden Schlüsselbytes gelangen weiter zu Paritätsprüfkreisen 38, die auf Parität mit dem aus der achten Stelle des Kettenschlüsselregisters 36 ausgegebenen Paritätsbit prüfen. Wenn die sich aus den erstgenannten sieben Stellen ergebende Parität vom Paritätsbit aus der achten Stelle des Kettenschlüsselregisters 36 abweicht, dann wird ein UND-Glied 42 vorbereitet zur Abgabe eines Fehlersignais. Wenn andererseits die Paritäten übereinstimmen, dann wird das UND-Glied 42 gesperrt zwecks Unterbindung einer Fehlersignalisierung. Mit der vorbeschriebenen Schal-
tungsanordnung wird sichergestellt, daß kein Paritätsfehler während der Übertragung der sieben Schiüsselbits des Schlüsselbytes aus dem Kettenschlüsselregister 36 zur Blockschlüsseleinrichtung 40 unerkannt bleibt.
Nachdem die Anfangsschlüsselbitanordnung in das Kettenschlüsselregister 36 eingeladen worden ist, gibt der Sender ein Signal über die Leitung »Verschlüsseln« ein, welches der Blockschlüsseleinrichtung 40 mitteilt, daß sie sich auf eine Blockschlüsselfunktion einstellen soll, und bereitet des weiteren die UND-Glieder 44 und 48 vor. Die Blockschlüsseleinrichtung 40 ist eine Schaltungsanordnung, die beim Verschlüsselbetrieb Blockschlüsselfunktionen durchführen kann, wobei aus einem eingegebenen Datenbitblock unter Anwendung der eingegebenen Schlüsselbits die Erzeugung eines Ausgabeblocks verschlüsselter Datenbits durchführbar ist. Beispiele verschiedenartiger dafür möglicher Blockschlüsseleinrichtungen an der Stelle des Schaltungsbiocks 4U nach der vorliegenden Erfindung sind in den bereits genannten Offenlegungsschriften 22 31 849 und 25 58 206 erläutert. Infolgedessen brauchen hier keine weiteren Einzelheiten der internen Schaltkreise der Blockschlüsseleinrichtung 40 beschrieben zu werden. Zur Erklärung im einzelnen möge die Blockschlüsseleinrichtung gemäß der Offeniegungsschrift 25 58 206 herangezogen werden, obwohl die Verwendung anderer ebenfalls geeigneter Schaltkreise zur Durchführung der Blockschlüsselfunktionen gleichwohl möglich ist.
Der Sender führt nunmer..· den ersten acht Bytes langen Block der einzugebenden Nutznachricht byte- jo weise über den Dateneingabekanal der Schlüsseleinrichtung in acht Byte-Arbeitsgängen zu, bis ein gesamter Klartextdatenblock eingegeben ist. Die (nicht dargestellte) Zeitgeber- und Steuereinheit der Blockschlüsseleinrichtung 40 führt dabei die Erzeugung von Signalen auf den Leitungen LDB und LDS in den einzelnen acht Byte-Arbeiisgängen durch; diese Signale dienen innerhalb der Blockschlüsseleinrichtung 40 zum Laden aufeinanderfolgender Bytes des einzugebenden Klartextdatenblocks und der Anfangsschlüsselbits in die Blockschlüsseleinrichtung 40 in Vorbereitung auf die Blockschlüsselfunktion. Während des ersten Byte-Arbeitsgangs werden beim Erscheinen der ersten Signale auf den Leitungen LDB und LDS acht Bits des ersten Klartextdatenbytes auf dem Dateneingabekanal und sieben Schlüsselbits des ersten Schlüsselbytes vom Ausgang des Kettenschlüsselregisters 36 zur Blockschlüsseleinrichtung 40 eingegeben. Zusätzlich zur Ladung der sieben Schlüsselbits in die Blockschlüsseleinrichtung 40 tastet das Signal auf der Leitung LDS das so UND-Glied 42 zur eventuellen Durchgabe eines Paritätsfehlers im Kettenschlüsselregister 36 an. Das erste Signal auf de>- Leitung LDB dient u. a. dazu, die UND-Glieder 14 zur Durchgabe von sieben der acht Bits einen Nutzbytes einzuschalten, die über die ODER-Glieder 16' zu den einen Eingängen von antivalenten ODER-Gliedern 18 gelangen. Während gleichzeitig kein LAS-Signal ansteht, gibt der Inverter 8 ein Signal zur Vorbereitung der UND-Glieder 10 weiter, damit die sieben Schlüsselbits des ersten Schlüsselbytes vom Ausgang des Kettenschlüsselregisters 36 zu den anderen Eingängen der antivalenten ODER-Glieder 18 gelangen können. Diese antivalenten ODER-Glieder 18 dienen als Modulo-2-Addierer bei der Kombination der sieben Schlosselbits des ersten Schlüsselbytes mit den sieben Bits des ersten Klartextdatenbytes, wobei die sich ergebenden sieben Bits über ODER-Glieder 20 dem Kettenschlüsselregister 36 eingegeben werden. Das siebenstellige Modul-2-Additionsergebnis wird des weiteren einem Paritätsgenerator 22 zur Erzeugung eines Paritätsbits für die sieben Bits, die zum Schlüsselkettenregister 36 gegeben werden, zugeführt. Das erste Signal au.' eier Leitung LDB wird des weiteren über ein ODER-Glied 24 zur Vorbereitung des UND-Glieds 26 durchgehen, welches seinerseits das erzeugte Paritätsbit über d?s ODER-Glied 28 dem Kettenschlüsselregister36 zuführt. Gleichzeitig wird das erste Signal auf der Leitung LDB über das ODER-Glied 30 und parallel dazu den Inverter 32 und das Verzögerungsglied 34 zur Ansteuerung der Steuereingänge für LKS und LKS des Kettenschlüsselregisters 36 durchgegeben, womit das antivalent modifizierte Byte in das Kettenschlüsselregister 36 gelangen kann.
Das erste Signal über die Leitung LDB gelangt auch über das vorbereitete UND-Glied 44 und ein ODER-Glied 52 zur Einschaltung des Letztes-Byteregisters 70. Ähnlich wird das Ausgangssignal vom UND-Glied 44 über das bereits vorbereitete UND-Glied 56 und ein ODER-Glied 62 zur Einschaltung des Erstes-Byteregisters 68 verwendet. Infolgedessen wird das eiste Datenbyte, welches das Berechtigungsbyte ist, über die UND-Glieder 48, die durch das Signal Verschlüsseln vorbereitet wurden, und ODER-Glieder 54 in die beiden Regisster 68 und 70 eingegeben. Das Einschaltsignal vom ODER-Glied 62 gelangt des weiteren über das Verzögerungsglied 64 zwecks Rückstellung des Verriegelungsglieds 58 für das Laden des ersten Bytes; die Verzögerungszeit ist dabei ausreichend bemessen, damit das Register 68 einladen kann. Beim Wiederausschalten des Verriegelungsglieds 58 wird das ODER-Glied 56 blockiert und damit das Einschaltsignal am Register 68 unterbunden. Infolgedessen wird nur das 1. Berechtigungsbyte in das Register 68 eingegeben, wohingegen der Einschaiteingang des Registers 70, der unter Steuerung der Signale auf der Verschlüsselleitung und auf der LDB-Leitung steht, die Eingabe aller weiteren Bytes der Nachricht nacheinander in das Letztes-Byteregister 70 ermöglicht. Wenn kein Fehler bei der Eingabe der Nachricht in die Schlüsseleinrichtung erkannt wurde, dann sollte das letzte Byte der eingegebenen Nachricht ein Berechtigungsbyte sein, das mit dem allerersten Byte der Nachricht übereinstimmt. Entsprechend wird am Ende der Nachrichteneingabe in die Schlüsseleinrichtung der Inhalt der Register 68 und 70 mittels eines Vergleichers 72 überprüft und, wenn kein Fehler entdeckt wurde, das UND-Glied 74 gesperrt, so daß ein Nachrichtenendesignal EOM am Ende der Nachrichteneingabe in die Schlüsseleinrichtung kein Fehlersignal weitergeben kann. Wenn andererseits der Inhalt der Register 68 und 70 nicht übereinstimmen sollte, wird ein Signal zur Vorbereitung des UND-Glieds 74 angelegt, so daß das Signal EOM am Ende der Nachricht ein Fehlersignal weitergeben kann. Dieses Fehlersignal kann zur Information des Senders verwendet werden, daß die beiden Berechtigungsbytes nicht übereinstimmen und daher die verschlüsselte eingegebene Nachricht nicht zum Empfänger übertragen werden sollte.
Während der restlichen sieben Byte-Arbeitsgänge nach dem Empfang des ersten Klartextdatenbytes werden die übrigen Bytes des eingegebenen Klartextdatenbiocks über den Dateneingabekanal byteweise zu je acht Bits der Blockschlüsseleinrichtung 40 zugeführt und gleichzeitig werden die restlichen Bytes der Anfangsschlüsselbits vom Kettenschlüsselregister 36.
jeweils sieben Bits parallel, der Blockschlüsseleinrichtung 40 zugeführt; dabei werden wiederum jeweils sieben durchgegebene Schlüsselbits auf Parität geprüft Des weiteren werden nacheinander nun sieben aufeinanderfolgende Schlüsselbytes, die anfangs eingegeben worden waren, tnodulo 2 mit sipben aufeinanderfolgenden Klartextdatenbytes des eingegebenen Klartextdatenblocks addiert und in das Kettenschlüsselregister 36 zurückgeführt Am Ende dieser acht betrachteten Byte-Arbeitsgänge einhält das Kettenschlüsselregister 36 offensichtlich nun das Resultat der Modulo-2-Addition der Anfangsschiüsselbitanordnung K\ und des zuerst eingegebenen Klartextdatenblocks X\, was ausgedrückt werden kann als K\ ® X\.
Danach führt die Blockschlüsseleinrichtung 40 einen Blockschlüsselgang durch, in welchem die eingegebenen Klartextdatenbits unter Anwendung der Anfangsschlüsselbitanordnung verschlüsselte Ausgangsdatenblöcke erzeugen, die aus dem Sender zum Empfänger übertragen werden können. Die Ausgangsblöcke verschlüsselter Datenbits werden von der Blockschlüsseleinrichiung 40 über den Datenausgabekanal byteweise zu je acht Bits abgegeben, wobei insgesamt acht Byte-Arbeitsgänge für einen vollständigen Block erforderlich sind. Die Abgabe dieser aufeinanderfolgenden Bytes wird mittels TAKT-Signalen von der nicht dargestellten Zeitgebereinrichtung der Blockschlüsseleinrichtung 40 synchronisiert Dazu gibt die Blockschlüsseleinrichtung 40 acht TAKT-Signale ab zur Ausgabe der einzelnen Bytes des Ausgabeblocks über den Datenausgabekanal.
Das erste TAKT-Signal dient auch zur Durchschaltung der UND-Glieder 12 zwecks Durchgabe von sieben Bits des ersten Bytes des Ausgabeblocks verschlüsselter Daten über die ODER-Glieder 16 zu den einen der Eingänge der antivalenten ODER-Glieder 18. Da jetzt kein L/iS-Signai ansteht, gibt der Inverter 8 sein Vorbereitungssignal zur Durchschaltung der UND-Glieder 10 zwecks Durchgabe der sieben Bits des ersten Bytes der bereits geänderten Schlüsselbitanordnung vom Ausgang des Kettenschlüsselregisters 36 zu den anderen Eingängen der antivalenten ODER-Glieder 18. Die antivalenten ODER-Glieder 18 addieren die sieben Bits des ersten Bytes der abgeänderten Schlüsselbitanordnung modulo 2 mit den sieben Bits des ersten Bytes des verschlüsselten Ausgabedatenblocks, wobei die sich ergebenden sieben Modulo-2-Bits über die ODER-Glieder 20 zum Kettenschlüsselregister 36 rückgeführt werden. Das Ergebnis dieser Modulo-2-Addition mit sieben Bits wird des weiteren dem Paritätsgenerator 22 zugeführt zur Erzeugung eines Paritätsbits für die sieben dem Kettenschlüsselregister 36 neu eingegebenen Bits. Das erste Signal auf der TAKT-Leitung wird des weiteren über das ODER-Glied 24 zur Durchschaltung des UND-Glieds 26 gegeben, um das erzeugte Paritätsbit über das ODER-Glied 28 zum Eingang des Kettenschlüsselregisters 36 gelangen zu lassen. Gleichzeitig wird das erste Signal auf der TAKT-Leitung über das ODER-Glied 30 direkt und parallel dazu über den Inverter 32 und das Verzögerungsglied 34 als LKS- und ZJCS-Signale dem Kettenschlüsselregister 36 von unten her zugeführt, womit das modifizierte Byte in das Kettenschlüsselregister 36 einlaufen kann. Sobald das nunmehr abgeänderte Byte in das Kettenschlüsselregister 36 eingegeben worden ist, wird der Inhalt des Kettenschlüsselrcgistcrs um eine Position intern weitergeschaltet und das nächste Byte aus einer früheren Modulo-2-Addition erscheint am Ausgang des Kettenschlusselregisters 36. Auf ähnliche Weise wird während der sieben übrigen Byte-Arbeitsgäne jeweils ein TAKT-Signal wirksam und gibt das nächste Byte verschlüsselter Datenbits über die UND-Glieder 12 und die ODER-Glieder 16 zu den antivalenten ODER-Gliedern 18 durch, in denen sie mit dem nächsten abgeänderten Schlüsselbitbyte vom Ausgang des Kettenschlüsselregisters 36 über die UND-Glieder 10 modulo 2 addiert werden, wobei das
ίο sich ergebende Resultat immer wieder in das Kettenschlüsselregister 36 eingeladen und darin positionsweise weitergetastet wird sowie gleichzeitig immer das nächste modifizierte Schlüsselbyte am Ausgang des Kettenschlüsselregisters 36 verfügbar wird.
Am Schluß der betrachteten acht Byte-Arbeitsgänge enthält das Kettenschlüsselregister 36 nun eine Schlüsselbitanordnung für den nächsten Blockschlüsselgang der Blockschlüsseleinrichtung 40. Diese Schlüsselbitanordnung kann beschrieben werden durch den Ausdruck K2=* Kx ® Xi ® Y1. Die Schlüsseleinrichtung des Senders arbeitet nun in ähnlicher Weise wie vorbeschrieben weiter zur Erzeugung des nächsten verschlüsselten Ausgabeblocks Y2 unter Eingabe des nächsten Klartextdateneingabeblocks Xi und der Schlüsselbitanordnung K2 in die Blockschlüsseleinrichtung 40 und entsprechender Verarbeitung. Der eingegebene Klartextdatenblock X2 und die Schlüsselbitanordnung K2 ergeben modulo 2 addiert K2 @ Xi und werden in das Kettenschlüsselregister 36 eingegeben, wobei die zugeführte Schlüsselbitan-Ordnung K2 in die Blockschlüsseleinrichtung 40 gelangt Ähnlich wie bereits bekannt, sind am Ende des Blockschlüsselgangs der Ausgabeblock Y2 und der Inhalt K2 Θ Xz des Kettenschlüsselregisters 36 modulo 2 addiert und ergeben dabei die neue Schlüsseltitanordnung, die sich in der Form K>**> K2 ® X2 ® Y2 ausdrücken läßt, für den nächstfolgenden Blockschlüsselgang. So wird also jeweils eine neue Schlüsselbitanordnung für den nachfolgenden Blockschlüsselgang in Abhnängigkeit vom vorangehenden Blockschlüsselgang erzeugt. Schließlich ist jeder später verschlüsselte Ausgabeblock mit allen vorangehenden Schlüsselgangsinhalten gekettet und somit eine Funktion des zugehörigen Eingabeblocks, aller vorangehenden Eingabeblöcke und der Anfangsschlüsselbitanurdnung.
Wenn gleichförmige Nachrichten, die identische Klartextdatenblöcke enthalten, vom Sender zum Empfänger zu übermitteln sind, dann ergibt die Verschlüsselung ohne Kettung identische zu übertragende verschlüsselte Blöcke. Wenn jedoch die Blockkettung nach der vorliegenden Erfindung angewandt wird, ergibt jeder der aufeinanderfolgenden zu übertragenden stereotypen Nachrichtenblöcke verschlüsselt unterschiedliche Blöcke, weil die Schlüsselbitanordnung sich von Block zu Block verändert; somit ist eine zusätzliche Maßnahme zur Absicherung der Übertragung auch solcher sterotyper Nachrichten gegeben. Unter Anwendung der vorliegenden Erfindung ergibt sich eine effektive Blocklänge, die nicht mehr entsprechend F i g. 3 jeweils b ist, sondern B. B ist dabei gleich nb und entspricht der Gesamtlänge einer Nachricht. Wenn also identische verschlüsselte Nachrichten sich ergeben sollten, dann müßten identische Inhalte jeweils für die Blöcke der Länge B eingegeben werden. Wenn dies auch vermieden werden soll, dann müßten ein oder mehrere willkürlich ausgewählte, ständig wechselnde Bytes in den ersten Block der einzelnen Nachrichten eingefügt werden, so daß keine Wiederholung einer identischen Zeichenfolge möglich ist.
Die Entschlüsselung
Wiederum anhand der Fig.6A und 6B wird nun nachstehend die Verwendung der Schlüsseleinrichtung nach der vorliegenden Erfindung für die Ausführung einer Entschlüsselung mit Blockkettung unter Hinweis auf das Zeitschaubild in F i g. 7 beschrieben.
Angenommen, eine verschlüsselte Nachricht vom Sender erreicht den Empfänger und soll in diesem wieder zur ursprünglich eingegebenen Nachricht entschlüsselt werden. Vor Beginn der eigentlichen Entschlüsselung wird auf der Empfangsseite eine Anfangsschlüsselbitanordnung eingegeben, die der im Sender eingegebenen Anfangsschlüsselanordnung identisch sein muß; dabei erfolgt die Schlüsselbitanordnungseingabe byteweise über den Anfangsschlüsseleingabekanal des Empfängers, wozu wiederum acht Byte-Arbeitsgänge bis zur vollständigen Eingabe erforderlich sind.
Während des ersten Arbeitsganges gab entsprechend der Beschreibung der Sender ein L/4S-Signal zur Vorbereitung der UND-Glieder 4, um die sieben Schlüsselbits des ersten Schlüsselbytes über die ODER-Glieder 20 zu den sieben Stellen des Kettenschlüsselregisters 36 gelangen zu lassen. Des weiteren bereitete das L/lS-Signal das UND-Glied 6 vor, um das Paritätsbit des ersten Schlüsselbytes über das ODER-Glied 28 zur achten Stelle des Kettenschlüsselregisters 36 durchzulassen. Das LAS-Signal wurde des weiteren zur Einschaltung des Verriegelungsglieds 58 zur ersten Byteladung verwendet, woraufhin das UND-Glied 60 zum Einladen des ersten Bytes der Nachricht, nämlich eines Berechtigungsbytes, in das Register 68 vorbereitet w'jnie. Daneben wurde das LAS-S\gna\ dem Inverter 8 zugeführt, um die UND-Glieder 10 und damit die Rückkopplungsschleife vom Ausgang des Kettenschlüsselregisters 36 zurück zum Register 36 während der Eingabe des ersten Schlüsselbytes zu sperren. Weiter gelangte das LAS-Signal über das ODER-Glied 30 direkt und daneben über den Inverter 32 und das Verzögerungsglied 34 als LKS- und LKS-Signale zu den Steuereingängen des Kettenschlüsselregisters 36 unten.
Das Kettenschlüsselregister 36 der Schlüsseleinrichtung auf der Empfangsseite ist dem auf der Sendeseite identisch. Wenn während des ersten Arbeitsganges ein Schlüsselbyte dem Kettenschlüsselregister 36 eingegeben werden soll, besorgen wiederum die Signale LKS und LKS die Eingabe der acht Bits des ersten Bytes in die ersten acht Positionen der acht Stellen des Registers 36. Während der restlichen sieben Byte-Arbeitsgänge werden die weiteren Schlüsselbytes byteweise in das Kettenschlüsselregister über dessen erste Positionen unter Anlegung der LKS- und LKS-Signale eingegeben, bis sämtliche Bits und Bytes der Anfangsschlüsselanordnung in das Register 36 eingelaufen sind. Während der aufeinanderfolgenden Eingaben in das Kettenschlüsselregister 36 wird jeweils das gerade eingegebene Schlüsselbyte innerhalb des Kettenschlüsselregisters 36 um eine Position weiter versetzt, bis am Ende des achten Byte-Arbeitsgangs der gesamte Anfangsschlüssel vollständig im Kettenschlüsselregister 36 und das erste Schlüsselbyte am Ausgang des Kettenschlüsselregisters 36 steht. Die sieben Schlüsselbits vom Ausgang des Registers 36 gelangen zu den Paritätsprüfkreisen 38, welche daraufhin ein Paritätsbit erzeugen, das mit dem Paritätsbit in der letzten Stelle des Kettenschlüsselregisters 36 verglichen wird, wie dies auch bereits beim Verschlüsseln beschrieben wurde; wenn ein Paritätsfehler im Kettenschiüsselregister 36 entdeckt wird, wird das UND-Glied 42 in der bereits bekannten Weise eingeschaltet und gibt ein Fehlersignal ab.
Nach der Eingabe der Anfangsschlüsselbitanordnung gibt der Empfänger ein Signal über die Leitung »Entschlüsseln« zur Blockschlüsseleinrichtung 40, um diese über eine anstehende Blockentschlüsselung zu informieren und des weiteren die UND-Glieder 46 und 50 vorzubereiten. Die Blockschlüsseleinrichtung 40
ίο kann nun aus den einlaufenden verschlüsselten Datenbits unter Anwendung der eingegebenen Schlüsselbitanordnung in einer zum Verschlüsseln umgekehrten Weise Ausgabeblöcke von Klartextdatenbits erzeugen. Der Empfänger gibt den ersten Block mit acht Bytes der empfangenen Nachricht byteweise über den Dateneingabekanal ein, wozu acht Byte-Arbeitsgänge zur Eingabe eines gesamten Blocks verschlüsselter Daten erforderlich sind. Die Zeitgeber- und Steuereinheit der Blockschlüsseleinrichtung 40 erzeugt Signale auf den Leitungen LDB und LDS während jedes der acht dazu erforderlichen Arbeitsgänge, wobei diese Signale jetzt innerhalb der Blockschlüsseleinrichtung 40 zum Einladen der aufeinanderfolgenden Bytes des einzugebenden Blocks verschlüsselter Daten und der Anfangsschlüsselanordnung zur Vorbereitung auf die nunmehr folgenden Entschlüsselfunktionen verwendet werden. Beim Erscheinen der ersten Signale auf den Leitungen LDB und LDS während des ersten Arbeitsganges werden acht Bits des ersten verschlüsselten Datenbytes über den Dateneingabekanal und sieben Schlüsselbits des ersten Schlüsselbytes vom Ausgang des Kettenschlüsselregisters 36 in die Blockschlüsseleinrichtung 40 eingegeben. Zusätzlich zum Laden der sieben Schlüsselbits in die Blockschlüsseleinrichtung 40 tastet das Signal auf der Z.DS-Leitung das UND-Glied 42 an zwecks Paritätsprüfung der vom Kettenschlüsselregister 36 zur Blockschlüsseleinrichtung 40 abgegebenen sieben Schlüsselbits. Das erste Signal auf der LDB-Lekung dient des weiteren zur Vorbereitung der UND-Glieder 14, um sieben der acht Bits eines verschlüsselten Datenbytes über die ODER-Glieder 16 zu den einen Eingängen der antivalenten ODER-Glieder 18 hindurchzulassen. Gleichzeitig gibt der Inverter 8, da kein L45-Signal ansteht, ein Signal zur Vorbereitung der UND-Glieder 10 ab, welche die sieben Schlüsselbits des ersten Schlüsselbytes vom Ausgang des Kettenschlüsselregisters 36 zu den anderen Eingängen der antivalenten ODER-Glieder 18 hindurchlassen. Die antivalenten ODER-Glieder 18 addieren modulo 2 die sieben Schlüsselbits des ersten Schlüsselbytes mit den sieben Bits des ersten verschlüsselten Datenbytes, wobei die sieben sich ergebenden Bits über die ODER-Glieder 20 zum Ketterischlüsselregister 36 zurückgegeben werden. Das Ergebnis dieser ModuIo-2-Addition mit zweimal sieben Bits wird ebenfalls dem Paritätsgenerator 22 zugeleitet zwecks Erzeugung eines Paritätsbits für die sieben dem Kettenschlüsselregister 36 nunmehr zugeführten Bits. Das erste Signal über die LDÖ-Leitung wird auch dem ODER-Glied 24 zugeführt, um damit dem UND-Glied 26 die Durchgabe des Paritätsbits über das ODER-Glied 28 zum Kettenschlüsseiregister 36 zu ermöglichen. Das erste Signal auf der LDB-Leitung wird gleichzeitig über das ODER-Glied 30 und parallel dazu über den Inverter 32 und das Verzögerungsglied 34 zu den unteren Steuereingängen des Kettenschlüsselregisters 36 weitergegeben, womit das modifizierte Schlüsselbyte nunmehr in das Kettenschlüsselregister 36 eingetastet wird.
Während der übrigen sieben Byte-Arbeitsgänge werden die restlichen Bytes des einlaufenden verschlüsselten Datenblocks über den Dateneingabekanal byteweise zur Blockschlüsseleinrichtung 40 eingegeben und gleichzeitig die übrigen sieben Bytes der Anfangsschlüsselbitanordnung vom Kettenschlüsseiregister 36 byteweise zur Blockschlüsseleinrichtung 40 durchgegeben, wobei jede übertragene Gruppe von sieben Schlüsselbits auf Parität geprüft wird. Sämtliche der aufeinanderfolgenden Schlüsselbitgruppen der Anfangsschlüsselanordnung werden modulo 2 mit den Bits je eines eingegebenen verschlüsselten Datenbytes addiert und dem Kettenschlüsseiregister 36 zugeführt Am Ende dieser betrachteten acht Byte-Arbeitsgänge enthält das Kettenschlüsseiregister 36 nunmehr die Ergebnisse der Modulo-2-Additionen der ersten Schlüsselbitanordnung K\ und des ersten eingegebenen verschlüsselten Datenblocks Yi, wofür geschrieben werden kann K, © Y1.
Hiernach führt die Blockschlüsseleinrichtung 40cinen Blockschlüsseigang durch, während dessen der eingegebene verschlüsselte Datenbitblock unter Anwendung der Anfangsschlüsselbitanordnung umgekehrt zum Verschlüsseln auf der Sendeseite einen Klartextdatenbitblock ergibt, der wiederum dem identisch sein sollte, der dem Sender zugeführt wurde. Der Klartextdatenausgabeblock wird über den Datenausgabekanal von der Blockschlüsseleinrichtung 40 byteweise abgegeben, wozu insgesamt acht Byte-Arbeitsgänge für die vollständige Übertragung erforderlich sind. Die Übertragung der aufeinanderfolgenden Bytes wird mittels der TAKT-Signzle von der Zeitgebereinheit der Blockschlüsseleinrichtung 40 synchronisiert.
Das erste TAKT-Signa'i bereite die UND-Glieder 12 vor und läßt sieben Bits des ersten Bytes des auszugebenden Blocks über die OÜER-GIieder 16 zu den einen Eingängen der antivalenten ODER-Glieder 18 gelangen. Weil kein LAS-Signa] ansteht, gibt der Inverter 8 ein Signal zur Vorbereitung der UND-Glieder 10 ab und läßt die sieben Bits des ersten Bytes der abgeänderten Schlüsselbitanordnung vom Ausgang des Kettenschlüsselregisters 36 zu den anderen Eingängen der antivalenten ODER-Glieder 18 gelangen. Diese antivalenten ODER-Glieder 18 addieren die sieben Bits des ersten Bytes der modifizierten Schlüsselbitanordnung mit den sieben Bits des ersten Bytes des auszugebenden Klartextdatenblocks, wobei die sieben sich neu ergebenden Bits über die Glieder 20 dem Kettenschlüsseiregister 36 wiederum zugeführt werden. Des weiteren wird das Ergebnis dieser Modulo-2-Addition dem Paritätsgenerator 22 zugeführt zwecks Erzeugung des Paritätsbits für die sieben nunmehr in das Kettenschlüsseiregister 36 einlaufenden Schlüsselbits. Das erste TAKT-Signal wird des weiteren über das ODER-Glied 24 zur Vorbereitung des UND-Glieds 26 gegeben zwecks Durchgabe des Paritätsbits über das ODSR-Glied 28 zum Kettenschlüsseiregister 36. Ebenfalls gelangt das erste TAKT-Signal über das ODER-Glied 30 direkt und parallel dazu über den Inverter 32 und das Verzögerungsglied 34 zu den unteren Steuereingängen des Kettenschlüsselregisters 36, womit das abgeänderte Schlüsselbyte in das Kettenschlüsseiregister einlaufen kann. Während ein modifiziertes Byte jeweils in das Kettenschlüsseiregister 36 einläuft, wird dessen Inhalt um jeweils eine Position weitergeschoben, so daß das nächstfolgende Modulo-2-Additionsergebnis in das Kettenschlüsseiregister 36 eingelangen kann. Während der sieben restlichen Arbeitsgänge besorgt jedesmal ein TAKT-Signal das Durchlassen des nächsten Klartextdatenbytes über die UND-Glieder 12 und die ODER-Glieder 16 zu den antivalenten ODER-Gliedern 18, in denen es modulo 2 mit dem nächstfolgenden modifizierten Schlüsselbyte vom Ausgang des Kettenschlüsselregisters 36 über die UND-Glieder 10 addiert wird, wobei das Ergebnis wiederum in das Kettenschlüsseiregister 36 eingegeben und so das nächstfolgende Schlüsselbyte am Ausgang des Ketten-Schlüsselregisters 36 für den nächsten Arbeitsgang bereitgestellt wird.
Nach Abwicklung der betrachteten acht Arbeitsgänge enthält das Kettenschlüsseiregister 36 nunmehr die Schlüsselbitanordnung für den nächsten Arbeitsgang der Blockschlüsseleinrichtung 40. Die Schlüsselbitan-,ordnung, die jetzt vorliegt, kann bezeichnet werden als K2 = Ki © Y1 ® Xi; dieser Ausdruck ist dem Ausdruck K1 vom Verschlüsseln äquivalent Die Entschlüsseleinrichtung des Empfängers arbeitet nun ähnlich wie vorbeschrieben weiter und erzeugt den nächsten KJartextdatenausgabeblock X2 unter Eingabe des nächsten verschlüsselten Datenbitblocks Y2 und der vorgenannten Schlüsselbitanordnung K2 in die Blockschlüsseleinrichtung 40 zwecks Durchführung eines weiteren Schlüsselgangs. Der eingegebene Block Y2 und die eingegebene Schlüsselbitanordnung K2 ergeben modulo 2 addiert K2 © Y2, ähnlich wie vorangehend Kt © V, ermittelt wurde, und werden in das Kettenschlüsseiregister 36 eingegeben, während der zugeführte verschlüsselte Block Y2 und die eingegebene Schlüsselbitanordnung K2 der Blockschlüsseleinrichtung 40 zugeführt werden. Wiederum wird der auszugebende Klartextdatenblock X2 und der Inhalt K2 © Y2 des Kettenschlüsselregisters 36 modulo 2 addiert zur Erzeugung einer weiteren Schlüsselbitanordnung Kz=K2 ©2© X2 für den nächstfolgenden Schlüsselgang. Die Verkettungsverhältnisse von Block zu Block sind dabei wiederum in der gleichen Weise gegeben, wie auf der Sendeseite.
Die Übertragungsprüfung
Es soll nun die Absicherung der Nachrichtenübertragung zwischen Sender und Empfänger beschrieben werden. Während die Blockschlüsseleinrichtung 40 den ersten Schlüsselgang mit dem ersten aufgenommenen Block verschlüsselter Daten beendet, gelangt das erste erzeugte TAKT-Signal über das bereits vorbereitete UND-Glied 46 und das ODER-Glied 52 zum Einschalteingang des Letztes-Byteregisters 70. Das vom UND-Glied 46 abgegebene Signal gelangt auch über das UND-Glied 60, welches bereits durch das Verriegelungsglied 58 vorbereitet ist, und das ODER-Glied 62 zum Einschaltausgang des Erstes-Byteregisters 68. Dabei wird das erste entschlüsselte Byte, welches das Berechtigungsbyte ist, über die durch das Entschlüsselungssignal vorbereiteten UND-Glieder 50 und die ODER-Glieder 54 den Eingängen der beiden Register 68 und 70 zugeführt. Das Einschaltsignal über das ODER-Glied 62 wird des weiteren über das Verzögerungsglied 64 dem Rückstelleingang des Verriegelungsglieds 58 zugeleitet. Damit sperrt das ausgeschaltete Verriegelungsglied 58 von nun ab das UND-Glied 56 und unterbindet somit ein weiteres Einschaltsignal zum Register 68. Somit wird nur das erste Berechtigungsbyte in das Register 68 eingegeben, wohingegen der Einschalteingang des Registers 70 unter Steuerung durch das Signal Entschlüsseln und TAKT-Signale die Eingabe sämtlicher nachfolgenden Klartextdaten der entschlüsselten Nachricht nacheinander in das Letztes-
Byteregister 70 zuläßt Wenn kein Fehler innerhalb der Übertragung zwischen Sender und Empfänger aufgetreten ist, dann ist das letzte Byte der Nachricht ein Berechtigungsbyte, das dem zuerst aufgenommenen entschlüsselten Berechtigungsbyte identisch ist Am Ende der verschlüsselten Nachncht wird daher ein Vergleich des Inhalts der Register 68 und 70 durchgeführt mittels des Vergleichers 72; wenn kein Fehler aufgetreten ist bleibt bei Gleichbedingimg hinter dem Vergleicher das UND-Glied 74 gesperrt und das
am Ende der Nachncht abgegebene abtastende Signal EOM kann kein Fehlersignal auslösen. Wenn andererseits der inhalt der Register 68 und 70 ungleich ist dann wird das UND-Glied 74 vorbereitet so daß das £OM-Signal ein Fehlersignal erzeugt Dieses Fehlersignal kann dazu verwendet werden, im Empfänger anzuzeigen, daß die Berechtigungsfelder nicht übereinstimmen und daß ein Fehler innerhalb der Übertragung zwischen Sender und Empfänger vorliegt
Hierzu 5 Blatt Zeichnungen

Claims (6)

Patentansprüche:
1. Verfahren zur Verschlüsselung und Absicherung von Daten, die in Form von Datenblöcken anfallen,
wobei aufeinanderfolgende zu verarbeitende Klartextdatenblöcke einer Schlüsseleinrichtung zugeführt werden, mittels derer diese Blöcke in aufeinanderfolgenden Blockschlüsselgängen unter jo logischen Verknüpfungen mit einer bereitgestellten Schlüsselbitfolgeanordnung in getarnte, verschlüsselte Datenblöcke umgewandelt werden,
wobei ferner die verschlüsselten Datenblöcke einer entschlüsselnden Schlüsseleinrichtung zuführbar sind, mittels welcher die verschlüsselten Datenblökke in aufeinanderfolgenden Blockschlüsselgängen unter wiederum logischen Verknüpfungen mit einer bereitgestellten Schlüsselbitfolgeanordnung entschlüsselt bnd in die ursprünglichen Klartextdatenblöcke zunickverwandelt werden,
dadurch gekennzeichnet,
daß beim Ver- und Entschlüsseln jeder Datenblock mindestens einmal einer logischen Verknüpfung mit der Schlüsselbitfolgeanordnung unterzogen wird und
das Ergebnis davon als abgeänderte Schlüsselbitfolgeanordnung für den nachfolgenden Blockschlüsselgang verwendet wird,
wobei sichergestellt ist, daß die Datenblöcke mit einer variierenden Schlüsselbitfolgeanordnung und dabei untereinander verkettet verschlüsselt werden.
2. Verfahren zur Verschlüsselung und Absicherung nach Anspruch l.dadarch ^kennzeichnet,
daß am Beginn jeder in der kegel aus mehreren aufeinanderfolgend eingegebenen Klartextdatenblöcken bestehenden Datennachricht (B= nb) ein aus Klartextdatenbits bestehendes erstes Berechtigungsfeld und am Ende der Datennachricht ein identisches zweites Berechtigungsfeld vorgesehen werden (gemäß F i g. 3),
daß beim Entschlüsseln oder auch beim Verschlüsseln das erste Berechtigungsfeld im Klartext gespeichert und mit dem zweiten Berechtigungsfeld im Klartext verglichen wird, wobei bei Übereinstimmung der beiden Berechtigungsfelder eine richtig und ungestört wiedergewonnene Nachricht und bei auch verschlüsselseitigem Vergleich zwei richtig eingegebene, identische Berechtigungsfelder feststellbar sind.
3. Verfahren zur Verschlüsselung und Absicherung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet,
daß sowohl beim Verschlüsseln wie auch beim Entschlüsseln der erste Blockschlüsselgang unter logischer Verknüpfung des ersten einlaufenden Blocks einer Nachricht mit einer zu Beginn eingegebenen, beim Ver- und beim Entschlüsseln übereinstimmenden Anfangsschlüsselbitfolgeanordnung durchgeführt wird und &Q
daß das Ergebnis des ersten und aller weiteren Blockschliisselgänge, ausgenommen das Ergebnis des letzten Blockschlüsselgangs der Nachricht, als jeweilige neue Schlüsselbitfolgeanordnung im jeweils nachfolgenden Blockschlüsselgang der Nachrieht verwendet wird.
4. Schaltungsanordnung zur Durchführung des Verfahrens nach einem der vorangehenden Ansprüche, gekennzeichnet durch die folgenden Merkmale: ein Anfangsschlüsseleingabekanal (4, 20), über welchen eine Anfangsschlüsselbitfolgeanordnung in ein Kettenschlüsselregister (36) zu Beginn einer Schlüsselung eingebbar ist, und
eine Blockschlüsseleinrichtung (40) an sich bekannter Art, deren ersten Eingängen über einen Dateneingabekanal die Blöcke mit zu verarbeitenden Datenbytes zuführbar und deren zweite Eingänge mit den Ausgängen des Kettenschlüsselregisters (36) verbunden sind, welche Blockschlüsseleinrichtung (40) unter byteweisen logischen Verknüpfungen der über ihre ersten Eingänge eingegebenen Datenbytes mit über ihre zweiten Eingänge zugeführten Schlüsselbytes vom Kettenschlüsselregister (36) an ihren Ausgängen über einen Datenausgabekanal die verarbeiteten Datenbytes jeweils eines Datenblocks abnehmbar macht,
wobei des weiteren während der einzelnen Datenbyte-Arbeitsgänge der Datenausgabekanal von der Biockschlüsseleinrichtung (40) mit den ersten Eingängen antivalenter ODER-Glieder (18), die zweiten Eingänge dieser antivalenten ODER-Glieder (18) mit den Ausgängen des Kettenschlüsselregisters (36) sowie die Ausgänge der antivalenten ODER-Glieder (18) mit den Eingängen des Kettencchlüsselregisters (36) verbunden sind
und unter antivalenter ODER-Verknüpfung der bereits verarbeiteten Datenbytes mit den bei der Verarbeitung benutzten Schlüsselbytes byteweise neu gebildete Schlüsselbytes als Basis für die byteweise Schlüsselung des nächstfolgenden Datenblocks den Eingängen des Kettenschlüsselregisters (36) zuführbar sind.
5. Schaltungsanordnung nach Anspruch 4, gekennzeichnet durch ein erstes Berechtigungsfeldregister (68), in welchem das erste Berechtigungsfeid zu Beginn einer verarbeiteten Nachricht speicherbar ist,
durch ein zweites Berechtigungsfeldregister (70), in welchem das zweite Berechtigungsfeld am Ende der Nachricht speicherbar ist, und
durch einen Vergleicher (72), mittels welchem das erste und das zweite Berechtigungsfeld in den Berechtigungsfeldregistern vergleichbar sind,
womit beim Verschlüsseln eine Prüfung auf ordnungsgemäß eingegebene, identische Berechtigungsfelder durchführbar
und beim Entschlüsseln auf ordnungsgemäßen Empfang der beiden Berechtigungsfelder und somit der gesamten, zwischen den beiden Berechtigungsfeldern enthaltenen Nachricht prüfbar ist.
6. Schaltungsanordnung nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet,
daß die Kapazität und der Aufbau der Biockschlüsseleinrichtung (40) und ebenfalls die des Kettenschlüsselregisters (36) so ausgelegt sind,
daß jeweils ein vollständiger Datenblock mit einer Vielzahl von Datenbytes und eine Schlüsselbitfolgeanordnung in Form eines Schlüsselblocks mit einer Vielzahl von Schlüsselbytes aufnehmbar ist.
DE2715631A 1976-04-26 1977-04-07 Verschlüsselung und Absicherung von Daten Expired DE2715631C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/680,404 US4074066A (en) 1976-04-26 1976-04-26 Message verification and transmission error detection by block chaining

Publications (2)

Publication Number Publication Date
DE2715631A1 DE2715631A1 (de) 1977-11-03
DE2715631C2 true DE2715631C2 (de) 1983-09-29

Family

ID=24730975

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2715631A Expired DE2715631C2 (de) 1976-04-26 1977-04-07 Verschlüsselung und Absicherung von Daten

Country Status (6)

Country Link
US (1) US4074066A (de)
JP (1) JPS5925411B2 (de)
CA (1) CA1100588A (de)
DE (1) DE2715631C2 (de)
FR (1) FR2350011A1 (de)
GB (1) GB1524767A (de)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2658065A1 (de) * 1976-12-22 1978-07-06 Ibm Deutschland Maschinelles chiffrieren und dechiffrieren
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4159468A (en) * 1977-11-17 1979-06-26 Burroughs Corporation Communications line authentication device
SE7714587L (sv) * 1977-12-21 1979-06-22 Brendstrom Hugo System for meddelanden
US4206315A (en) * 1978-01-04 1980-06-03 International Business Machines Corporation Digital signature system and apparatus
US4259720A (en) * 1978-01-09 1981-03-31 Interbank Card Association Security system for electronic funds transfer system
US4408203A (en) * 1978-01-09 1983-10-04 Mastercard International, Inc. Security system for electronic funds transfer system
US4310720A (en) * 1978-03-31 1982-01-12 Pitney Bowes Inc. Computer accessing system
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
US4229818A (en) * 1978-12-29 1980-10-21 International Business Machines Corporation Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US4319079A (en) * 1979-09-13 1982-03-09 Best Robert M Crypto microprocessor using block cipher
DE2943726C2 (de) * 1979-10-30 1984-06-07 ANT Nachrichtentechnik GmbH, 7150 Backnang Verfahren und Einrichtung zur Ver- und Entschlüsselung von Daten
DE3003998A1 (de) * 1980-02-04 1981-09-24 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt System zur ver- und entschluesselung von daten
US5007083A (en) * 1981-03-17 1991-04-09 Constant James N Secure computer
US4661980A (en) * 1982-06-25 1987-04-28 The United States Of America As Represented By The Secretary Of The Navy Intercept resistant data transmission system
GB2140656A (en) * 1983-05-13 1984-11-28 Philips Electronic Associated Television transmission system
DE3565918D1 (en) * 1984-08-10 1988-12-01 Gretag Ag Enciphering/deciphering method
DE3440796C2 (de) * 1984-11-08 1986-10-16 Schröter, Klaus, 1000 Berlin Kommunikationssystem
US4760599A (en) * 1985-11-07 1988-07-26 Nec Corporation Data encryptor
JPS62113191A (ja) * 1985-11-13 1987-05-25 日本電信電話株式会社 デ−タ拡散装置
US4731843A (en) * 1985-12-30 1988-03-15 Paradyne Corporation Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
US4805216A (en) * 1987-01-08 1989-02-14 Compfax Corporation Method and apparatus for continuously acknowledged link encrypting
US5014313A (en) * 1989-07-07 1991-05-07 Motorola, Inc. Text modifier
US5086468A (en) * 1989-07-07 1992-02-04 Motorola, Inc. Text modifier
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
US5266942A (en) * 1991-08-21 1993-11-30 Stoller Gerald S Security system with memory in transmitter and receiver
US5159634A (en) * 1991-09-13 1992-10-27 At&T Bell Laboratories Cryptosystem for cellular telephony
NL9101796A (nl) * 1991-10-25 1993-05-17 Nederland Ptt Werkwijze voor het authenticeren van communicatiedeelnemers, systeem voor toepassing van de werkwijze en eerste communicatiedeelnemer en tweede communicatiedeelnemer voor toepassing in het systeem.
JPH0812537B2 (ja) * 1993-03-11 1996-02-07 日本電気株式会社 暗号化装置
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
US5432848A (en) * 1994-04-15 1995-07-11 International Business Machines Corporation DES encryption and decryption unit with error checking
NL9401246A (nl) * 1994-07-29 1996-03-01 Nederland Ptt Werkwijze voor het controleren van reeksen van gegevens.
US5978481A (en) * 1994-08-16 1999-11-02 Intel Corporation Modem compatible method and apparatus for encrypting data that is transparent to software applications
BE1008699A3 (fr) * 1994-09-09 1996-07-02 Banksys Procede et agencement pour donner selectivement un acces dans un systeme de securite.
US5673319A (en) * 1995-02-06 1997-09-30 International Business Machines Corporation Block cipher mode of operation for secure, length-preserving encryption
DE69630060T2 (de) 1995-07-14 2004-07-08 Sony Corp. Verfahren zur Übertragung von digitalen Daten und Aufzeichnungsmedium
EP0880840A4 (de) * 1996-01-11 2002-10-23 Mrj Inc Vorrichtung zur steuerung des zugriffs und der verteilung von digitalem eigentum
US6169802B1 (en) * 1996-12-17 2001-01-02 Motorola, Inc. Dynamic private key security system for personal messaging devices
US5956405A (en) * 1997-01-17 1999-09-21 Microsoft Corporation Implementation efficient encryption and message authentication
CN1157020C (zh) * 1997-04-23 2004-07-07 松下电器产业株式会社 提高了安全性的密码处理装置
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
JP2000066587A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体
EP0984630B1 (de) * 1998-09-01 2006-08-23 Irdeto Access B.V. Datenübertragungssystem
US6952477B1 (en) * 2000-07-03 2005-10-04 International Business Machines Corporation Fault intolerant cipher chaining
DE102004043480B3 (de) * 2004-09-08 2005-12-29 Infineon Technologies Ag Vorrichtung und Verfahren zum Erkennen einer Störung einer kryptographischen Einheit vorzugsweise des AES-Algorithmus
US7428306B2 (en) * 2006-04-18 2008-09-23 International Business Machines Corporation Encryption apparatus and method for providing an encrypted file system
US7676501B2 (en) 2008-03-22 2010-03-09 Wilson Kelce S Document integrity verification
US8526605B2 (en) * 2009-10-09 2013-09-03 Seagate Technology Llc Data encryption to provide data security and memory cell bit wear leveling
US10735199B2 (en) 2018-01-02 2020-08-04 Bank Of America Corporation File based transmission validation and failure location identification system
US11444776B2 (en) * 2019-05-01 2022-09-13 Kelce S. Wilson Blockchain with daisy chained records, document corral, quarantine, message timestamping, and self-addressing
US11863679B2 (en) 2020-08-26 2024-01-02 Tenet 3, LLC Blockchain records with third party digital signatures as a trust element for high-risk digital content

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL288333A (de) * 1962-01-31
CH506217A (de) * 1970-03-16 1971-04-15 Europ Handelsges Anst Schaltung für Verschlüsselungsgeräte
US3657699A (en) * 1970-06-30 1972-04-18 Ibm Multipath encoder-decoder arrangement
US3796830A (en) * 1971-11-02 1974-03-12 Ibm Recirculating block cipher cryptographic system
US3949208A (en) * 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word
US3958081A (en) * 1975-02-24 1976-05-18 International Business Machines Corporation Block cipher system for data security

Also Published As

Publication number Publication date
FR2350011B1 (de) 1981-07-03
JPS52130504A (en) 1977-11-01
US4074066A (en) 1978-02-14
DE2715631A1 (de) 1977-11-03
CA1100588A (en) 1981-05-05
FR2350011A1 (fr) 1977-11-25
GB1524767A (en) 1978-09-13
JPS5925411B2 (ja) 1984-06-18

Similar Documents

Publication Publication Date Title
DE2715631C2 (de) Verschlüsselung und Absicherung von Daten
DE3702520C2 (de)
DE69635651T2 (de) Vorrichtung und Verfahren zur Datenumwandlung
CH641300A5 (de) Einrichtung zur pruefung und sicherstellung der unversehrtheit von uebertragenen daten.
DE1207426B (de) Verfahren zum Ver- und Entschluesseln von impulsfoermigen Nachrichten
DE2231849B2 (de) Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens
DE2231835B2 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE2855787A1 (de) Digitalsignatureinrichtung
DE19924986A1 (de) Verschlüsselungs-Konversionsvorrichtung, Entschlüsselungs-Konversionsvorrichtung, kryptografisches Kommunikationssystem und elektronische Gebühren-Sammelvorrichtung
DE2154018B2 (de) Anordnung zur digitalen Datenver- und Entschlüsselung
DE3127843A1 (de) Verfahren zur verhinderung von "kompromittierender abstrahlung" bei der verarbeitung und uebertragung geheimer dateninformationen
WO2012071597A1 (de) Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
DE2840552C2 (de) Digitales Übertragungssystem
EP0923826B1 (de) Anordnung und verfahren zur kryptographischen bearbeitung eines digitalen datenstroms, der eine beliebige anzahl von daten aufweist
DE2154019C3 (de) Zufallskodegenerator
EP3059895A1 (de) Einmalverschlüsselung von zählerdaten
EP0090771B1 (de) Verfahren und Vorrichtung zur chiffrierten Uebermittlung von Nachrichten
WO2005043804A1 (de) Verfahren und vorrichtung zur ver- und entschlüsselung
DE1206011B (de) Schaltung fuer Mischgeraete mit einem elektrischen oder elektromechanischen, rechenwerkartigen Schluesselorgan
DE3905667C2 (de)
EP4300873A1 (de) Verfahren zur datenverarbeitung in einer rechenumgebung mit verteilten computern und bahntechnische applikation
DE102004010666B4 (de) Schlüsselbitstromerzeugung
DE10036372A1 (de) Sender, Empfänger sowie Sender- und Empfängeranordnung
DE1524884C3 (de) VerfahFen und Schaltungsanordnung zur Übertragung digitaler Nachrichten unter Bildung und Einfügung von Prüfbits
DE2507804C1 (de) Schaltungsanordnung zur Steuerung von Halbduplex-Datenuebertragungsanlagen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee