DE2558206A1 - Verfahren und einrichtung zum chiffrieren und autorisierten dechiffrieren von informationsbloecken - Google Patents
Verfahren und einrichtung zum chiffrieren und autorisierten dechiffrieren von informationsbloeckenInfo
- Publication number
- DE2558206A1 DE2558206A1 DE19752558206 DE2558206A DE2558206A1 DE 2558206 A1 DE2558206 A1 DE 2558206A1 DE 19752558206 DE19752558206 DE 19752558206 DE 2558206 A DE2558206 A DE 2558206A DE 2558206 A1 DE2558206 A1 DE 2558206A1
- Authority
- DE
- Germany
- Prior art keywords
- bits
- memory
- cipher
- circuit
- information
- 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.)
- Granted
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/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
Verfahren und Einrichtung zum Chiffrieren und autorisierten Dechiffrieren von Informations blöcken
Die Erfindung bezieht sich auf ein Verfahren und auf eine Einrichtung zum
Chiffrieren und zum autorisierten Dechiffrieren von Informations blöcken unter Steuerung eines vorgegebenen Satzes von Chiffrierschlüsselbits.
Elektronische Datenverarbeitungsanlagen -werden in erheblichem Maße
als Dienstleistungssysteme verwendet, die mehreren am Ort der Datenverarbeitungsanlage
oder an entfernten Orten befindlichen Benutzern gemeinsam zur Verfugung stehen. Bei solchen Systemen gewinnt das Problem
der Diskretion und Sicherung der Daten gegen unbefugten Zugriff erhebliche Bedeutung. Es ist bekannt, zum Zwecke der Datensicherung Einrichtungen
zur Chiffrierung der Daten an solchen Stellen des Systems vorzusehen, die gegen unbefugten Zugriff besonders exponiert sind.
Bekannte Einrichtungen dieser Art beruhen auf dem Substitutions verfahren,
wonach die Elemente eines Informations blocks gemäß einem vorgegebenen Chiffriere chlüs s el durch andere Informations elemente ersetzt werden.
Die Dechiffrierung erfolgt unter Benutzung des gleichen Schlüssels in umgekehrter
Weise. Dieses auch als nichtlineare Transformierung bezeichnete Verfahren ist unter anderem in dem Artikel "Cryptography and
Computer Privacy" von Horst Feistel in der Zeitschrift "Scientific American" vom Mai 1973, Volume 228, Nr. 5, Seiten 15 bis 23 beschrieben.
Andere bekannte Ein-
609837/0838
richtungen führen eine Chiffrierung durch Permutation der Informations elemente
durch. Hierzu werden beispielsweise die Bits eines Informations blocks nach einem vorgegebenen Schema untereinander vertauscht. Man
nennt diese Methode auch lineare Transformierung (vgl. Feistel a.a.O.). Es sind ferner Einrichtungen bekannt, bei denen die nichtlineare und die
lineare Transformierung kombiniert angewandt werden, indem Substitutionsschaltungen
und Permutations schaltungen in Serie angeordnet sind. Einen Informations block, der mit Hilfe einer solchen Einrichtung chiffriert
worden ist, nennt man wegen der multiplikativen Wirkung der beiden Transformierungsoperationen Produkt-Blockchiffre (vgl. Feistel a.a.O.).
Es ist theoretisch möglich, eine Vielzahl derartiger Kombinations stufen
vorzusehen. Der Schaltungsaufwand steigt jedoch mit Zunahme der Kombinationsstufen
in erheblichem Maße an.
Eine andere bekannte Schaltung dieser Art (DT-OS 22 31 849) sieht vor,
daß die Bits des Informationsblocks zunächst nicht-linear transformiert werden und das Ergebnis einer linearen Transformierung zugeführt wird.
Das sich hieraus ergebende Resultat und das Schlüsselwort sind daraufhin Gegenstand einer Modulo-2-Addition, mit deren Ergebnis anschließend
eine weitere Modulo-2-Addition mit dem ursprünglichen, zur Chiffrierung
vorgesehenen Informations block vorgenommen wird. Diese Operations schritte werden nach einer Stellenverschiebung des Chiffrier Schluss eis
mit dem bis dahin gebildeten Resultat wiederholt. Dieser Vorgang wird fortgesetzt, bis ein vollständiger Verschiebezyklus des Chiffrierechlüsseis
ausgeführt worden ist. Das zu diesem Zeitpunkt vorliegende Resultat stellt die vollständig chiffrierte Version des ursprünglichen Datenblocks
dar.
Bei einer anderen bekannten Chiffrier schaltung (DT-OS 22 52 670) sind
KI 975 001/002
609837/0638
"3" 25582Ü6
zwei in Serie geschaltete Sätze von Schieberegistern vorgesehen, die eine
Aus gangs-/Eingangs-Rückkopplung aufweisen und von denen der erste als
Eingangs register satz für zu chiffrierende Informations blöcke und der andere
als Mischregistersatz dient. Der im Eingangs register satz stehende
Informations block ist zusammen mit einem Chiffrier Schluss el Gegenstand
einer nichtlinearen Transformierung, deren Ergebnis gemeinsam mit den Bits des Chiffrier Schluss eis mit den Datenbits in den Mischregistern logisch
verknüpft wird. Bei dieser Einrichtung verläuft die Chiffrierung in hohem Grade serial, was ihre Leistungsfähigkeit vermindert.
Aufgabe der Erfindung ist es, ein Chiffrier-/Dechiffrier-Verfahren anzugeben,
das eine erhöhte Sicherheit gegen unbefugte Dechiffrierung sowie bei erträglichem S chaltungs aufwand eine hochgradig parallele und damit
schnelle Arbeitsweise gestattet. Aufgabe der Erfindung ist es auch, eine vorteilhafte Einrichtung zur Ausführung dieses Verfahrens anzugeben.
Die Merkmale des erfindungsgemäßen Verfahrens sind in den Ansprüchen
1 und 6 und die der erfindungs gern äßen Einrichtung in den Ansprüchen 9 und 16 angegeben. Verschiedene vorteilhafte Ausgestaltungen und Weiterbildungen
der Erfindung sind aus den Unteransprüchen zu ersehen. Nachfolgend ist ein Ausführungsbeispiel der Erfindung anhand von Zeichnungen
dargestellt. Es zeigen:
Fig. 1 Ein vereinfachtes Blockschaltbild eines Datenverarbeitungs-
systems mit Markierung derjenigen Stellen, wo eine Chiffrier-/Dechiffrier-Einrichtung
gemäß der Erfindung vorteilhaft angewendet werden kann,
Fig. 2 ein Blockdiagramm der Chiffrier-ZDechiffrier-Einrichtung gemäß
der Erfindung,
Fig. 3 die Zusammengehörigkeit der Figuren 3a bis 3j,
KI 975 001/002
809837/0638
Fign. 3a ein detailliertes Blockdiagramm der Einrichtung von bis 3j Fig. 2,
Fig. 4 ein Schaltbild einer Verriegelungsschaltung, wie sie in der
Einrichtung von Fig. 3a bis 3j verwendbar ist,
Fig. 5 ein Impuls/Zeit-Diagramm zur Erläuterung der Arbeitsweise der Schaltung von Fig. 4,
Fig. 6 ein detailliertes Blockschaltbild einer Substitutions schaltung,
wie sie in der Einrichtung von Fign. 3a bis 3j verwendbar
ist,
Fig. 7 die Zusammengehörigkeit der Fign. 7a und 7b,
Fign. 7a ein Impuls zeitdiagramm zur Erläuterung der Wirkungsweise
und 7b der Einrichtung von Fign. 3a bis 3j und
Fig. 8 ein Ablaufdiagramm zur allgemeinen Erläuterung der
Operation der dargestellten Einrichtung.
KI 975 001/002
609837/0S38
255R2Ü6
Innerhalb eines Datenverarbeitungsnetzwerkes gibt es verschiedene Bereiche,
die der Gefahr eines unbefugten Zugriffs zu Daten oder Datenträgern sowie der unbefugten Änderung von Daten unterliegen. Dieses Problem
tritt in erhöhtem Maße auf, wenn Daten zwischen einer Verarbeitungseinheit und einer entfernten Steuereinheit oder einem entfernten Terminal
zu übertragen sind oder wenn sich zwischen einer Verarbeitungseinheit und
d'en an diese angeschlossenen Terminals oder Eingabe-/Aus gäbe-Einheiten
sehr lange Übertragungsleitungen befinden. Das Problem tritt ferner an den Stellen des Systems auf, wo sich entfernbare Datenspeichermedien befinden.
Um in diesen Bereichen eine ausreichende Datensicherheit und Diskretion zu erreichen, werden Chiffriereinrichtungen an strategisch wichtigen
Plätzen des Netzwerkes angeordnet. An der Sendestation werden die unverschlüsselten Daten chiffriert und in dieser Form zur Empfangsstation
übertragen, wo sie vor ihrer Verwendung einer Dechiffrieroperation zugeführt werden. Die Figur 1 zeigt ein System der vorausgehend beschriebenen
Art mit einer Anzahl von Chiffrier einrichtungen in den verschiedenen Netzwerk-Verbindungen.
Eine Chiffriereinrichtung der dort verwendbaren Art ist in Form eines
Blockschaltbildes in Fig. 2 dargestellt. Diese Einrichtung eignet sich zur
Chiffrierung oder Dechiffrierung von jeweils 64 Bits umfassenden Informationsblöcken,
die sich aus 8 Bytes mit je 8 Bits zusammensetzen. Die Bytes eines jeden Blocks werden nacheinander über eine Eingangs Sammelleitung
der Chiffriereinrichtung zugeführt, so daß 8 Zyklen zur vollständigen Übertragung
des Informationsblocks benötigt werden. Jedes von der Chiffriereinrichtung empfangene Byte ist Gegenstand einer anfänglichen linearen
Permutation,die durch gewöhnliche LeitungsÜberkreuzung in einer Permutationsschaltung
50 ausgeführt wird. Jedes permutierte Byte wird in zwei Hälften unterteilt, von denen die eine die geradzahligen Bitstellen 0, 2, 4
und 6 enthält und einem oberen Eingangspuffer (UIB) 100 zugeführt wird und die andere Hälfte die ungeraden Bitstellen 1, 3, 5 und 7 enthält und einem
niederen Eingangspuffer (LIB) 150 zugeführt wird. Jeder der Puffer KI 975 001/002
609837/0638
100 und 150 führt eine Serien/Parallel-Umsetzung durch, so daß nach dem
Empfang der 8 Bytes eines jeden Informationsblockes die Puffer 100 und
zwei Hälften zu je 32 Bits des Informationsblockes in Paralleldarstellung an ein oberesDatenregister (UDR) 200 und an ein niederes Datenregister
(LDR) 250 liefern.
Zur gleichen Zeit, wenn der Nachrichtenblock von der Einrichtung gemäß
Fig. 2 empfangen und in den Puffern 100 und 150 gespeichert worden ist,
wird der Chiffrierungs Schluss el von einem 64 Bitstellen umfassenden externen
Register 299 empfangen, der aus 8 Bytes besteht, von denen jedes 7
Datenbits und 1 Paritätsbit enthält, das als extern benutztes Prüfbit dient. Die Bytes des Chiffrier Schluss eis werden unter Weglas sung des jeweils
8-ten Bits (Paritätsbit) nacheinander über eine Chiffrierechlüssel-Eingangssammelleitung
zugeführt, so daß 8 Zyklen zum Empfang des vollständigen Schlüssels notwendig sind. Jedes empfangene Byte wird einer anfänglichen
Permutation in der Schaltung 300 unterzogen, wonach das permutierte Byte in zwei Hälften unterteilt wird. Die ersten 4 Bits eines jeden aus 7 Bits bestehenden
Byte werden einem oberen Schlüsselregister (UKR) 350 zugeführt, und die verbleibenden 3 Bits werden einem niederen Schlüsselregister
(LKR) 400 zugeführt. Die Register 350 und 400 enthalten jeweils 28 Bitstellen. Sie besitzen außerdem eine Verbindung von der letzten Bitstelle
des Registers 350 zur 25sten Bitstelle des Registers 400, Die Register
und 400 führen eine Serien/Parallel-Umsetzung durch. Während des serialen Empfangs der 8 Bytes zu je 7 Bits, die als 7 Gruppen von je 8 Bits behandelt
werden, werden 3 dieser 7 Gruppen zu den Stufen 0, 8 und 16 des Registers
350 geleitet, und 3 weitere der 7 Gruppen werden zu den Stufen 0, 8 und 16 des Registers 400 geleitet. Diese von den Registern 350 und 400
empfangenen Bitgruppen werden zu je 3 parallelen Gruppen von 8 Bits umgesetzt, die als awei parallele Gruppen von 24 Bits ausgehend von den Registern
350 und 400 weiterbehandelt werden. Die verbleibende 7. Gruppe von 8 Bits wird serial von der Stufe 24 des Registers 350 empfangen. Die
Verbindung der letzten Stufe des Registers 350 zur Stufe 24 des Registers KI 975 001/002
809837/0638
400 gestattet den ersten vier Bits dieser letzten Gruppe einen Übergang zum
Register 400, so daß während des Empfangs dieser letzten Gruppe die ersten vier Bits in eine parallele Teilgruppe von vier Bits in den letzten vier Stufen
des Registers 400 umgesetzt werden und die zweiten vier Bits in eine parallele Teilgruppe von vier Bits in den letzten vier Stufen des Registers
350 umgesetzt werden. Die Register 350 und 400 enthalten nun den Chiffrierschlüssel
in Form von zwei parallelen Gruppen zu je 28 Bits.
Zu diesem Zeitpunkt befindet sich die erste und die zweite Hälfte des Informationsblockes
in den Registern 200 und 250, und der Chiffrierschlüssel
ist in den Registern 350 und 400 enthalten. Wenn die letztgenannten Register einmal geladen sind, wird die Verbindung zwischen ihnen nicht länger benutzt;
die Register 350 und 400 arbeiten dann als unabhängige 28-Bit-Schieberegister.
Während der Chiffrieroperation wird eine Serie von 16 Iterationen,
wobei zuvor der Chiffriere chlüs sei in den Registern 350 und 400 um eine
Bitstelle verschoben wird, ausgeführt. Während der einzelnen Interationsoperationen
mit Ausnahme der ersten wird der Chiffrier Schluss el in den Registern
350 und 400 ebenfalls jeweils um eine oder um zwei Bitpositionen verschoben. Hierdurch wird eine Ausrichtung der Bits des Chiffriers chlüs seis
erreicht, da der Inhalt von jedem Register genau 28 Positionen verschoben wird gemäß einem vorbestimmten Stellenverschiebeplan.
Während der ersten Iteration der Chiffrieroperation wird die erste Hälfte
des Informations blocks, die im Register 200 enthalten ist und aus 8 Segmenten
zu je vier Datenbits besteht, auf 48 Bitpositionen ausgedehnt, die in acht Segmente zu sechs Datenbits unterteilt sind. Diese Expansion wird
durch Verdoppelung der Endbits von jedem der acht 4-Bit-Segmente erreicht. Der expandierte 48-Datenbit-Bereich wird daraufhin parallel acht
Modulo-2-Addierern 500 bis 514 zugeführt. Jeder dieser Addierer besteht
aus sechs Exklusiv-Oder-Schaltungen. Zur gleichen Zeit wird ein ausgewählter
Satz von 48 voraus bestimmten Bits der 56 Bits des Chiffrierschlüssels, von denen 24 aus dem Register 350 und 24 aus dem Register 400 ausge-
KI 975 001/002
609837/0638
wählt worden sind, linear permutiert. Dies geschieht in einer Permutations schaltung
450, deren Aus gangs signale in Form von acht Segmenten zu je sechs Bits parallel an die zweiten Eingänge der Exklusiv-Oder-Schaltungen
in den Modulo-2-Addierern 500 bis 514 weiter geleitet werden. Die Addierer
500 bis 514 verknüpfen somit die expandierten Datenbits, die sich aus 48 Bits zu acht Segmenten mit je sechs Bits pro Segment darstellen, parallel
mit den permutierten Bits des Chiffrier Schluss eis, die sich ebenfalls als
48 Bits zu acht Segmenten mit je sechs Bits pro Segment darstellen. Die sich aus dieser Verknüpfungs operation ergebenden acht Segmente zu je
sechs Bits bilden die eigentlichen Argumente für acht Schaltungen 550 bis
564, die eine nichtaffine Substitutionsfunktion ausführen und die nachfolgend auch als S-Schaltungen bezeichnet werden. Jede dieser Schaltungen führt
eine nichtlineare Transformierungsfunktion durch. Die diesen Schaltungen zugeführten Endbits, die sich aus der Modulo-2-Addition eines duplizierten
Endbits des vorausgehenden 6-Bit-Datensegments und einem permutierten
Chiffrier Schluss el-Bit ergeben sowie aus der Modulo-2-Addition eines
duplizierten Endbits des nachfolgenden 6-Bit-Datensegments und einem unterschiedlich permutierten Chiffrier Schluss el-Bit ergeben, werden de- j
codiert zur Auswahl einer von vier Funktionstabellen, von denen jede 16
Einträge enthält. Zur Speicherung dieser Funktionstabellen weist jede der :
Schaltungen 550 bis 564 einen Festwertspeicher auf, der für jeden Eintrag vier Bitstellen enthält. Durch Decodierung der restlichen vier Bits der
6-Bit-Segmente, die den Schaltungen 550 bis 564 zugeführt werden, wird
einer der 16 Anträge in der ausgewählten Funktionstabelle adressiert. Die j S-Schaltungen 515 bis 564 unterscheiden sich voneinander, indem sie acht i
unterschiedliche Transformierungsfunktionen ausführen, wodurch acht
Segmente zu je vier Bits erzeugt werden, die einen Substitutions satz von 32 Bits bilden, der daraufhin in einer Permutations schaltung 600 einer
linearen Transformierung unterzogen wird in Form einer beliebigen aber festen Permutation. Die Kombination der nichtlinearen und der linearen
Transformation ergibt eine aus 32 Bits bestehende Ergebnis-Blockchiffre
der ersten Hälfte des zu chiffrierenden Informationsblocks, die Modulo-2 KI 975 001/002
609837/0838
Addierern 650 bis 664 zugeführt wird. Die 32 Datenbits der zweiten Hälfte
des Informations blocks werden aus dem Register 250 ebenfalls den Modulo-2-Addierern
650 bis 664 zugeführt und durch diese Schaltungen entsprechend der Ergebnis-Blockchiffre modifiziert. Das Ergebnis dieser Operation ist
eine modifizierte zweite Hälfte des Informationsblockes, die aus acht Gruppen zu je vier Bits besteht. Dieser modifizierte Teil des Informations blockes
wird dazu benutzt, die erste Hälfte des ursprünglichen Informations blockes im Register 200 zu ersetzen. Diese Hälfte wird jedoch zuvor dem
Register 250 zugeführt und ersetzt dort die zweite Hälfte des Informations blockes.
Während der nächsten Iteration der Chiffrierungsoperation wird
der Chiffrier Schluss el, der sich zu dieser Zeit in den Registern 350 und
400 befindet, entsprechend einem vorgegebenen Stellen verschiebeplan verschoben,
um einen neu permutierten Satz von Chiffrier Schluss el-Bits zu
erhalten. Die zu dieser Zeit im Register 200 gespeicherte modifizierte zweite Hälfte des Informations blockes wird nun mit den neuen Chiffrierschlüssel-Bits
der oben erläuterten Chiffrieroperation unterzogen. Das Resultat dieser Operation wird wiederum den Modulo-2-Addiereren 650 bis
654 zugeführt, um die erste Hälfte des Informations blocks, die zu dieser
Zeit im Register 250 gespeichert ist, zu modifizieren. Das Ergebnis der Modifizierungsoperation wird wiederum dem Register 200 zugeführt und
ersetzt dort die modifizierte zweite Hälfte des Informations blocks, die jedoch
zuvor dem Register 250 zugeführt wird, um dort die erste Hälfte des Informationsblocks zu ersetzen. Während jeder der restlichen Iterationen
mit Ausnahme der letzten werden die Chiffrierschlüssel-Bits in den Registern 360 und 400 entsprechend dem Stellenverschiebeplan verschoben,
um jeweils einen neuen Satz permutierter Chiffrierschlüssel-Bits verfügbar
zu machen. Des weiteren wird in jeder Iteration die jeweils im Register
250 enthaltene modifizierte Hälfte des Informationsblocks remodifiziert gemäß der Ergebnis-Blockchiffre der vorausgehend modifizierten Hälfte
des Informationsblocks, die jeweils im Register 200 enthalten ist. Die sich ergebende remodifizierte Hälfte des Informationsblocks ersetzt jeweils die
vorausgehend modifizierte Hälfte des Informationsblocks im Register 200, KI 975 001/002
809837/0838
die jeweils zuvor in das Register 250 übertragen wird und den dortigen Inhalt
ersetzt. Während der letzten Iteration werden die Chiffrierschlüssel-Bits
in den Registern 350 und 400 ein letztes Mal verschoben zur Bildung
eines letzten Satzes von permutierten Chiffrier Schluss el-Bits, und es findet
eine letzte Remodifizierung der bereits mehrfach modifizierten Hälfte des Informations blocks im Register 250 statt gemäß der Ergebnis-Blockchiffre
der vorausgehend zuletzt modifizierten Hälfte des Informations blök kes,
die im Register 200 enthalten ist. Das sich hierbei ergebende Resultat und der Inhalt des Registers 200 stellen die chiffrierte Version des Ursprung
liehen Informations blocks dar. Dies ist der Fall nach Ablauf der 16. Iteration.
Der chiffrierte Informations block wird einem oberen Ausgangspuffer
(UOB) 700 und einem unteren Ausgangspuffer (LOB) 750 zugeführt. Der
chiffrierte Block besteht aus 64 Bits, von denen vier Bytes zu je acht Bits im Puffer 700 und die restlichen Bytes im Puffer 750 enthalten sind. Die
in den Puffern 700 und 750 zwischengespeicherten Bytes sind daraufhin Gegenstand
einer Parallel/Serien-Umsetzung, die in der Umsetzerschaltung
800 ausgeführt wird. Es sind acht Zyklen notwendig, um alle 64 Bits des chiffrierten Blocks umzusetzen. Dabei wird jedes Byte linear permutiert,
um die chiffrierten Informations bits den richtigen Bitleitungen der zur Empfangsstation führenden Aus gangs Sammelleitung zuzuführen.
An der Empfangsstation findet eine Dechiffrierung des übertragenen Informationsblockes
unter der Steuerung des gleichen Chiffrier Schluss els in
16 Iterationen statt. Die hierzu benützte Schaltung entspricht der in Fig. 2
dargestellten. Es findet jedoch keine Voraus verschiebung des Chiffrier schlüssels
in den Registern 350 und 400 statt, wie dies am Beginn der Chiffrieroperation der Fall war. Im übrigen wird jedoch während der Dechiffrier-Iterationen
der Inhalt der Register 350 und 400 gemäß einem vorgegebenen Stellenverschiebeplan um eine oder zwei Bitpositionen verschoben,
und zwar in entgegengesetzter Richtung zu den Stellenverschiebungen,
die während der Chiffrieroperation ausgeführt worden sind. Hierdurch werden die in der Sendestation ausgeführten Chiffrier-Schritte sukzessive rück-KI
975 001/002
609837/0638
ganging gemacht und der Informations block in seiner Originalform reproduziert.
Der Inhalt der Register 300 und 400 wird während der Dechiffrieriterationen zusätzlich um 27 Bitpositionen verschoben. Da die Register
und 400 Schieberegister mit 28 Bitstellen sind, findet hierdurch eine Verschiebung
des Chiffrierechlüsseis in den Registern 350 und 400 um eine zusätzliche
Bitposition statt. Dies ermöglicht einen vollständigen Umlauf des Chiffrier Schluss eis in den Registern 350 und 400 gemäß dem vorgegebenen
Stellenverschiebeplan, um die Ausrichtung der Bits des Chiffrierschlüsseis
während jeder Iteration sicherzustellen und um den nächsten Dechiffrierprozess vorzubereiten.
Die oben erläuterte Chiffrier operation kann durch eine Chiffrierfunktion
und eine Schlüsselplanfunktion beschrieben werden. Wenn der aus 64 Bits
bestehende Eingangs-Informationsblock aufgeteilt wird in einen 32 Bit umfassenden
Teilblock L und einen 32 Bits umfassenden Teilblock R,kann der zu chiffrierende Informations block mit LR bezeichnet werden. Wenn des
weiteren die Chiffriers chlüs s els bits aus einem Chiffrier Schluss el KEY ausgewählt
werden, kann der benutzte Satz von Chiffrierschlüsselbits mit K bezeichnet werden. Für alle Iterationen mit Ausnahme der letzten kann das
Resultat mit L' R' bezeichnet werden bei einem Eingang von LR. Es gilt dann folgendes:
(1) L'= R
R' - L®f (R7K)
Hierin bedeutet φ eine bitweise Modulo-2-Addition und K der vor jeder
Iteration aus dem Chiffriers chlüs sei KEY ausgewählte Satz von Chiffrierschlüsselbits.
Da nach jeder Iteration mit Ausnahme der letzten das Resultat weiter verwendet wird, kann das Ergebnis der letzten Iteration mit einem
Eingang von LR mit L' R' bezeichnet und wie folgt definiert werden:
(2) L' = L+f (R, K)
R' =R
R' =R
KI 975 001/002
609837/0638
Wenn zusätzlich ein Schlüsselplan KS definiert wird als Funktion einer ganzzahligen
Größe η im Bereich zwischen 1 und 16, kann die permutierte Auswahl
der Chiffrier schlüsselbits aus dem Chiffrier Schluss el KEY mit K be-
zeichnet und wie folgt definiert werden:
(3) K = KS (n, KEY)
Wenn danach L und R den Größen L und R entspricht und L und R den oo η η
Größen L' und R' entspricht, bzw. wenn L , und R , den Größen L und
n-1 n-i
R entspricht, kann das Ergebnis einer Iteration wie folgt definiert werden
bei η von 1 bis 15:
' (4) L=R1
v ' η n-1
R=L . ®f (R ,,K) η n-1 v n-1 n'
Da das Resultat ihrer Iteration mit Ausnahme der letzten erneut zum Eingang
der Chiffriereinrichtung zurückgeführt wird, kann der Ausgang der letzten Iteration wie folgt definiert werden bei η = 16:
. η n-1 n-1 η .
R=R1 .
η n-1 !
j In der Chiffrieroperation wird K1 zur Bezeichnung der ersten Iteration, K„ j
zur Bezeichnung der zweiten Iteration, usw. , bis K, , zur Bezeichnung der :
sechzehnten Iteration verwendet. Es wird hierzu auf das Ablaufdiagramm von Fig. 8 Bezug genommen, das die einzelnen Iterationsdurchläufe in vereinfachter
Darstellung zeigt.
Die Chiffrierfunktionenf(R, K) können in Begriffen der primitiven Funktionen
als Auswahlfunktionen und Permutations funktionen bezeichnet werden. Wenn daher ein 32 Bits umfassender Informations block R erweitert wird zu einem
Block von 48 Bits,kann der letztere Block E(R) bezeichnet werden. Dieser ;
erweiterte Block E(R) wird durch eine Modulo-2-Addition kombiniert mit
einem Satz Chiffrierschlüsselbits K, die nach einer willkürlich gewählten,
KI 975 001/002
609837/0638
aber gleichbleibenden Permutation ausgewählt werden, um acht Segmente
Bl bis B8 zu je sechs Bits zu erzeugen. Diese Segmente bilden die Argumente für acht unterschiedliche Auswahlfunktionen Sl bis S8. Die Modulo-2-Addition
kann daher wie folgt definiert werden:
(6) E(R)^KsBl, B2, B3, B4, B5, B6, B7 und B8
Jede unterschiedliche Auswahlfunktion S. transformiert ein unterschiedliches
6-Bit-Segment B. in ein 4-Bit-Segment, wobei die acht unterschiedlichen
Auswahlfunktionen wie folgt definiert werden können: Sl(Bl), S2(B2), S3(B3), S4(B4), S5(B5), S6(b6), S7(B7) und S8(B8). Die acht Ausgangssegmente
zu je vier Bits der acht Auswahlfunktionen werden daraufhin zu einem
einzelnen 32 Bits umfassenden Block zusammengefaßt, der durch eine Permutationsfunktion
P in einen neuen Block mit 32 Bits permutiert wird, der wie folgt definiert ist:
(7) P(Sl(Bl), S2(B2), S3(B3), S4(B4), S5(B5), S6(B6),
S7(B7), S8(B8))
die
und dev Chiffrierfunktion f(R,K) darstellt.
und dev Chiffrierfunktion f(R,K) darstellt.
Die oben erläuterte De chiffrier operation kann ebenfalls in den Begriffen
einer Chiffrierfunktion und einer Schlüsselplanfunktion beschrieben werden.
Wenn dementsprechend der chiffrierte Eingangs-Informations block aus einem
31 Bits umfassenden Teilblock L' und einem 32 Bits umfassenden Teilblock R' besteht, kann der chiffrierte Eingangs-Informationsblock mit L'R' bezeichnet
werden. Der Ausgang der ersten Iteration mit einem Eingang L1R'
kann nach der Rückführung umbenannt werden in LR und wie folgt definiert sein:
(8) LsL'if (R', K)
R = R'
Hierbei wird nach jeder Iteration ein unterschiedlicher Satz K von Chiffrierschlüsselbits
aus dem Chiffrier Schluss el KEY ausgewählt in umgekehrter
Reihenfolge wie bei der Chiffrier operation. Nach der ersten Iteration wird KI 975 001/002
809837/0638
jede nachfolgende Iteration umgesetzt mit Ausnahme der letzten, so daß das
Resultat jeder nachfolgenden Iteration bei einem Eingang von L'R' die Bezeichnung
LR trägt und wie folgt definiert werden kann:
(9) LsR'ef (L' , K)
RsL'
Wenn L und R für L und R geschrieben wird und dementsprechend L , η η b ^ n-1
und R . für L' und R' geschrieben wird, kann damit der Ausgang der
ersten Iteration bei ns 16 wie folgt definiert werden:
(10) L . = L Sf (R , K ) v ' n-1 η v η η'
R1=R
n-1 η
n-1 η
Da das Ergebnis nach jeder Iteration umgesetzt wird mit Ausnahme der
letzten Iteration, kann das Ergebnis jeder folgenden Iteration für η im Bereich
von 15 bis 1 wie folgt definiert werden:
(11) L . = R-Sf (L , K ) v ' n-1 η x η η'
R . = L
n-1 η
n-1 η
In der Dechiffrier operation wird K. , zur Bezeichnung der ersten Iteration,
K1 _ zur Bezeichnung der zweiten Iteration bis K1 zur Bezeichnung der
sechzehnten Iteration benützt, wie aus Fig. 8 ersichtlich ist.
In einer Datenverarbeitungsanlage führt eine Sendestation eine Chiffrieroperation
aus, in welcher eine Produkt-Blockchiffre der ersten Hälfte eines Informationsblocks abgeleitet wird durch eine erste Modifikation der ersten
Hälfte des Informationsblockes in Übereinstimmung mit einem permutierten Chiffrier Schluss el, gefolgt von einer nichtlinearen Substitution und einer
sich anschließenden linearen Permutation. Das Resultat dieser Operationen
wird daraufhin zur Modifikation der zweiten Hälfte des Informationsblockes verwendet. Die modifizierte zweite Hälfte des Informationsblockes und die
ursprüngliche erste Hälfte des Informationsblockes werden daraufhin ausgetauscht,
so daß die modifizierte zweite Hälfte des Informations blockes KI 975 001/002
609837/0638
-15- 2 5 b B 2 O 6
als Argument für eine Iteration der Produkt-Blockchiffre-Operation dient unter
der Steuerung des permutierten, in Übereinstimmung mit einem vorgegebenen Verschiebeplan verschobenen Chiffrierschlüssels, um die erste Hälfte
des Informations blocks zu modifizieren. Es werden 16 Iterationen der Produkt-Blockchiffre-Operation
ausgeführt, in welchen jeweils das Resultat der einen als Argument der nächsten dient und an deren Ende das dann vorliegende Resultat
die chiffrierte Version des ursprünglichen Informationsblockes darstellt.
An der Empfangsstation wird eine Dechiffrieroperation unter der Steuerung des gleichen Chiffrierschlüssels in ähnlicher Weise in 16 Iterationen der
Produkt-Blockchiffre-Operation ausgeführt, wobei der Chiffrier Schluss el in
entgegengesetzter Richtung wie beim Chiffrier vor gang verschoben wird, um so
jede während der Chiffrierung ausgeführte Iteration rückgäng zu machen und die Originalversion des Informations blockes zu reproduzieren.
Im folgenden wird anhand der Figuren 3a bis 3j die oben erläuterte Chiffriereinrichtung
unter Bezugnahme auf die Impulszeitdiagramme von Fig. 7a und 7b im Detail beschrieben.
Zuvor wird anhand von Fig. 4 eine Verriegelungsschaltung erläutert, wie sie
in der hierin beschriebenen Chiffriereinrichtung für verschiedene Funktionen verwendet wird. Die Verriegelungs schaltung 10 besteht aus dynamischen Feldeffekt-Transistoren,
die nach einem 4-Phasen-Takt arbeiten, wie es die Fig. 5 zeigt, wobei jede Phase 250 Nanosekunden lang ist, so daß sich eine Dauer
von einer Mikrosekunde für einen vollständigen Taktzyklus ergibt. Ein FET
22 ist zwischen Pluspotential und einer Leitung 28 angeordnet und mit seiner Torelektrode an eine Eingangsleitung angeschlossen, die wiederkehrend ein
Taktsignal 01 zugeführt erhält. Parallelgeschaltete Paare von FET's 23, 24
und 25, 26 sind zwischen Leitungen 28 und 29 geschaltet. Die Torelektroden dieser Transistoren sind mit Eingangsleitungen D3, G3 und D4, G4 verbunden.
Ein FET 30 befindet sich zwischen der Leitung 29 und Erdpotential und erhält an seiner Torelektrode wiederholt auftretende Taktsignale 02 zugeführt. Eine
Gruppe von drei in Serie geschalteten FET 32, 33 und 34 sind zwischen Pluspotential und Erdpotential geschaltet. Der Transistor 32 erhält über seine
Torelektrode wiederholt auftretende Taktsignale 03 zugeführt, und der Transistor
34 erhält über
KI 975 001/002
KI 975 001/002
609837/0638
25582Ü6
seine Torelektrode wiederholt auftretende Taktsignale 04 zugeführt. Die
Torelektrode des Transistors 33 ist an die Leitung 28 angeschlossen. Die
Verbindung zwischen den Transistoren 32 und 33 ist mit einer Ausgangsleitung 36 gekoppelt, die den Signalausgang der Verriegelungsschaltung 10
darstellt und die über eine Rückführleitung zur Eingangsleitung D4 der Torelektrode
des Transistors 25 zugerückgeführt ist. Die Streukapazitäten und die internen Elektrodenkapazitäten der Schaltung sind zusammengefaßt als
strichlierte Kondensatoren 31 und 35 dargestellt. Die FET-Paare 23, 24 und 25, 26 haben die Funktion von Und-Schaltungen, und die Leitung 28
dient als Oder-Zusammenschaltung, während der FET 23 die Funktion eines
Inverters hat.
Unter Bezugnahme auf das Impulszeitdiagramm von Fig. 5 wird angenommen,
daß die Verriegelungs schaltung 10 ihren O-Zustand einnimmt. Wenn zu dieser
Zeit ein Taktsignal 01 zugeführt wird,um den Transistor 22 leitend zu machen, wird die Leitung 28 auf Pluspotential gebracht, zumal der Transistor
30 wegen der Abwesenheit des Taktsignals 02 nichtleitend ist. Wenn als nächstes das Taktsignal 02 auftritt, wird das Potential der Leitung 28
aufrechterhalten oder reduziert in Abhängigkeit von den Signalen, die an den Eingängen D3, G3 oder D4, G4 auftreten. Da die Verriegelungs schaltung
10 im 0-Zustand steht, hält ein Signal mit niedrigem Signalpegel am Eingang
D4 den Transistor 25 nichtleitend, und ein Signal mit niedrigem Signalpegel am Eingang G4 hält den Transistor 26 nichtleitend, wodurch ein
Entladepfad über die Transistoren 25, 26 und 30 blockiert ist. Wenn ein
1-Bit (hoher Signalpegel) am Eingang D 3 gleichzeitig mit einem Tor signal
(ebenfalls hoher Signalpegel) am Eingang G3 auftritt, werden die Transistoren 23 und 24 leitend und bilden einen Entladepfad über den Transistor
30 für das Potential auf Leitung 28. Wenn andererseits ein 0-Bit (niedriger Signalpegel) an den Eingang D 3 gleichzeitig mit einem Tor signal an den
Eingang G3 angelegt wird, dann bleibt während der Taktzeit 02 der Transistor 23 gesperrt und blockiert so den Entladepfad über die Transistoren
und 30, so daß der hohe Signalpegel auf Leitung 28 erhalten bleibt.
KI 975 001/002
609837/0638
Wenn das Taktsignal 03 als nächstes an die Torelektrode des Transistors
32 angelegt wird, tritt ein Potentialanstieg auf der Leitung 36 auf, da der Transistor 34 nichtleitend bleibt wegen der Abwesenheit des Taktsignals
Bei Anlegen des Taktsignals 04 an die Torelektrode des Transistors 34 bleibt das hohe Signalpotential auf der Leitung 36 erhalten oder fließt ab
in Abhängigkeit vom Signal auf der Leitung 28. Wenn die letztere Leitung auf niedrigem Signalpegel ist und damit ein 1-Bit darstellt, bleibt der Transistor
33 zur Taktzeit 04 nichtleitend, wodurch der Entladepfad von der Leitung 36 über den Transistor 34 gesperrt bleibt und der hohe Signalpegel
auf der Leitung 36, der die Anwesenheit eines 1-Bits anzeigt, erhalten
bleibt. Während der Taktzeit 04 wird ein positives Eingangssignal am Eingang D4 zusammen mit einem positiven Eingangssignal am Eingang G4
wirksam, um den Entladepfad für die Leitung 28 aufrechtzuerhalten, so daß diese Leitung auf niedrigem Potential bleibt unabhängig von den Signalen
an den Eingängen D3 und G3. Wenn andererseits die Leitung 28 ein hohes
Potential führt, was den Empfang eines 0-Bits am Eingang anzeigt, wird während der Taktzeit 04 der Transistor 33 leitend und stellt damit einen
Entladepfad über den Transistor 34 her, so daß der die Anwesenheit eines 0-Bits anzeigende niedrige Signalpegel auf der Leitung 36 anwesend bleibt.
In diesem Falle wird während der Taktzeit 04 ein Signal mit niedrigem Pegel am Eingang D4 wirksam, um den Transistor 25 nichtleitend zu halten,
wodurch der Entladepfad für die Leitung 28 blockiert wird und der hohe Signalpegel dieser Leitung erhalten bleibt. Dies hat zur Folge, daß
der Transistor 33 nichtleitend bleibt und damit den Entladepfad über den Transistor 34 aufrechterhält, so daß die Leitung 36 auf niedrigem Potential
bleibt. Während der Taktzeit 04 wird daher eine gültige Ausgangsanzeige der Verriegelungs schaltung 10 gewährleistet.
Wenn sich die Verriegelungs schaltung 10 im 1-Zustand befindet, wird
ein Taktzyklus eingeletet durch Auftreten eines Signals am Eingang 01, das
den Transistor 22 leitend hält und damit für ein Pluspotential auf der Leitung 28 sorgt. Das als nächstes auftretende Taktsignal 02 bewirkt eine
KI 975 001/002
809837/0638
-18" 255H206
Aufrechterhaltung oder eine Verminderung des Potentials auf der Leitung
in Abhängigkeit von den Signalen, die den Eingängen D3, G3 oder D4 und G4 zugeführt werden. Wird ein 1-Datenbit an den Eingang D3 angelegt, so stellt
sich ein niedriger Signalpegel auf der Leitung 28 ein, während bei Anlegen eines O-Bits am gleichen Eingang der hohe Signalpegel auf der Leitung 28
erhalten"bleibt. Ein Taktsignal 03 an der Torelektrode des Transistors 32
bewirkt einen Potentialanstieg auf der Leitung 36, da zu dieser Zeit der Transistor 34 nichtleitend ist. Bei Auftreten des Taktsignals 04 wird das
zuvor eingestellte Potential auf der Leitung 36 erhalten oder wieder abgesenkt in Abhängigkeit vom Potential der Leitung 28. Wenn ein niedriges
Potential auf Leitung 28 vorhanden ist entsprechend einem 1-Bit am Eingang
der Schaltung, bleibt das hohe Potential auf Leitung 36 erhalten und zeigt damit die Anwesenheit eines 1-Bits an. Wenn dagegen auf der Leitung 28
ein Signal mit hohem Pegel erscheint, das ein O-Eingangsbit darstellt,
geht die Leitung 36 auf ein niedriges Potential über und zeigt damit wie vorausgehend beschrieben ein O-Bit an. Die Verriegelungs schaltung 10 kann
durch Hinzufügung von Feldeffekttransistoren 18 und 19 in eine Schaltung mit zwei Eingängen erweitert werden, der zusätzliche Eingangs signale über Dl
und Gl zugeführt werden, oder durch Hinzufügung der Transistoren 20 und 21 zu einer Schaltung mit drei Eingängen erweitert werden, der die zusätzlichen
Eingangs signale über D2 und G2 zugeführt werden. In der hierin beschriebenen Chiffriereinrichtung wird die Verriegelungsschaltung von Fig.
wahlweise als Schaltung mit einem, mit zwei oder mit drei Eingängen benutzt.
Die Fig. 3a zeigt die Permutations schaltung 50 von Fig. 2, welcher der
zu chiffrierende Informationsblock byteweise zugeführt wird. Jedes Byte wird einer Anfangspermutation unterzogen und in der beschriebenen Weise
in zwei Hälften unterteilt, von denen die eine dem Puffer 100 und die andere dem Puffer 150 zugeführt wird. Jeder dieser beiden Puffer besteht aus
vier Schieberegistern OUIB, IUIB, 2UIB, 3UIB und OLIB, ILIB, 2LIB,
3LIB, von denen jedes acht Stufen bzw. Bitstellen aufweist. Die erste und
KI 975 001/002
80 9837/08 3 8
die letzte Stufe des Schieberegisters OUIB ist in Fig. 3a dargestellt; die
anderen Stufen gleichen diesen beiden und ebenso gleichen die anderen Schieberegister dem Schieberegister OUIB.
Zur Erläuterung der Operation der Schieberegister wird auf das Impuls zeitdiagramm
von Fig. 7a bezug genommen. Während des Zyklus 0, wenn ein gültiges Datenbyte den Puffern 100 und 150 über die Schaltung 50 zugeführt
wird, werden Taktsignale an Leitungen LIB (G3) und LIB (G4) angelegt. Diese Signale bewirken, daß das erste aus acht Bits bestehende Datenbyte
in die Verriegelungsschaltungen der ersten Stufe eines jeden der Schieberegister
in den Puffern 100 und 150 eingestellt wird. Während der folgenden Zyklen 1 bis 7 werden die restlichen Bytes des Informationsblockes
in der gleichen Weise den Puffern 100 und 150 zugeführt. Hierbei wird jeweils
jedes Bit des betreffenden Bytes der ersten Stufe (D3) des betreffenden
Schieberegisters zugeführt. Da die Signale auf den Leitungen LIB und LIB an jede Stufe der Schieberegister angelegt werden, erfolgt während der
Zyklen 1 bis 7 eine Verschiebung der jeweils in der ersten Stufe eingestellten Datenbits jeweils um eine Bitstelle parallel in allen Schieberegistern.
Am Ende des Zyklus 7 sind daher die Puffer 100 und 150 mit den zwei Hälften des zu chiffrierenden Informationsblockes geladen. Die beiden Puffer
führen eine Serien/Parallel-Umsetzung aus in der Form, daß die in jedem Puffer gespeicherten acht Bytes parallel auf 32 Ausgangsleitungen UIBO
bis UIB31 und LIBO bis LIB31 der Puffer 100 und 150 erscheinen.
Zur gleichen Zeit, wenn der Informations block den Puffern 100 und 150 zu- |
geführt wird, erfolgt eine byteweise Zuführung des Chiffrierechlüsseis
über die Schlüsseleingangssammelleitung zur Permutations schaltung 300. ;
Jedes dieser Bytes wird in der Schaltung 300 einer Anfangspermutation ;
unterzogen, dergestalt, daß es in der beschriebenen Weise in zwei Teile ·
aufgeteilt wird, von denen der eine aus vier Bits bestehende Teil dem Register 350 und der andere aus drei Bits bestehende Teil dem Register 400
zugeführt wird. Die Register 350 und 400 bestehen aus je drei Schiebere-
KI 975 001/002
609837/0638
25582Π6
gistern OUKR, lUKR, 2UKR und OLKR, lLKR, 2LKR, von denen jedes acht
Stufen aufweist, sowie aus je einem vierstufigen Schieberegister 3UKR und 3LKR. Der Ausgang der vierten Stufe des Schieberegisters 3UKR ist mit
dem Eingang der ersten Stufe des Schieberegisters 3LKR verbunden. Das achtstufige Schieberegister OUKR besteht aus einer Verriegelungsschaltung
352 mit drei Eingängen, welche die erste Stufe bildet, sowie aus sieben Verriegelungsschaltungen
mit je zwei Eingängen, von denen in Fig. 3b lediglich zwei in Form der zweiten Verriegelungsschaltung 354 und der letzten
Verriegelungsschaltung 366 dargestellt sind. Ebenso besteht das Schieberegister
lUKR aus einer Verriegelungsschaltung 368 mit drei Eingängen
für die erste Stufe und sieben Verriegelungsschaltungen mit je zwei Eingängen,
von denen die Verriegelungsschaltung 370 der zweiten Stufe und
382 der letzten Stufe dargestellt sind. Das Schieberegister 2UKR ist in Fig. 3c lediglich als ein Block dargestellt, da es in seinem Aufbau dem
Schieberegister IUKR entspricht. Das vierstufige Schieberegister 3UKR
weist eine Verriegelungsschaltung 384 mit drei Eingängen auf für die erste
Stufe sowie drei Verriegelungs schaltungen mit je zwei Eingängen für die übrigen Stufen, von denen lediglich die Verriegelungsschaltung 390 der
letzten Stufe dargestellt ist. Die achtstufigen Schieberegister OLKR, ILKR
und 2LKR des Registers 400 sind in Blockform in den Figuren 3c und 3d gezeigt; sie sind identisch den Schieberegistern OUKR, 1ÜKR und 2UKR des
Registers 350. Das vierstufige Schieberegister 3LKR besteht aus einer Verriegelungsschaltung
402 mit drei Eingängen, die die erste Stufe bildet und die an die Verriegelungsschaltung 390 der letzten Stufe des Schieberegisters
3UKR angeschlossen ist, sowie aus drei Verriegelungs schaltungen mit je zwei Eingängen, von denen lediglich die Verriegelungsschaltung 408 der
letzten Stufe in Fig. 3d gezeigt ist. Die Register 350 und 500 weisen somit zusammen sieben Schieberegister mit je acht Stufen zur Speicherung der
Bits des Chiffrier Schluss el sauf.
Nach dem Zeitdiagramm von Fig. 7a werden während der Zykluszeit 0,
wenn ein gültiges Byte des Chiffrier Schluss eis den Registern 350 und 400
KI 975 001/002
609837/0638
2 5 b 8 ? U 6
über die Permutations schaltung 300 zugeführt wird, 'e Taktsignale
an Leitungen LDK (G3) und LDK (G4) angelegt. Diese Leitungen sind mit den ersten Stufen der Schieberegister OUKR, IUKR, 2UKR, 3UKR, OLKR,
ILKR und 2LKR verbunden und bewirken, daß das erste Byte des Schlüssels
in die ersten Stufen der vorgenannten Schieberegister eingegeben wird, z. B. in die Verriegelungsschaltungen 352, 368, 384 und 402.
Während des Zyklus 1 wird das zweite Byte des Chiffrierschlüssels zugeführt
und in die ersten Stufen der Schieberegister in den Registerschaltungen
350 und 400 geladen. Zur gleichen Zeit wird der vorausgehende Inhalt
dieser Stufen, nämlich das erste Byte des Schlüssels, um eine Bitstelle verschoben unter der Wirkung von Taktsignalen auf einer Leitung SR (G3)
und auf der Leitung LDK, die jeweils mit der zweiten Stufe eines jeden Schieberegisters OUKR, lUKR, 2UKR, 3UKR, OLKR, 1LKR und 2LKR verbunden
sind. Die Schaltzeit innerhalb der Verriegelungs schaltungen ist ausreichend kurz, um eine Verschiebeoperation auszuführen, bevor ein Signalwechsel
am Ausgang der vorausgehenden Stufe in Erscheinung tritt.
Während des Zyklus 2 wird das dritte Byte des Chiffrier Schluss eis in den
ersten Stufen der Schieberegister in den Registerschaltungen 350 und 400
geladen. Zur gleichen Zeit wird der vorherige Inhalt der ersten und der zweiten Stufen dieser Schieberegister um eine Bitstelle verschoben. Dies
geschieht unter der Wirkung von Taktsignalen auf den Leitungen SR und LDK, die jeweils mit den zweiten und dritten Stufen der Schieberegister verbunden
sind.
Während der Zyklen 3 und 4 werden das vierte und fünfte Byte des Sdilüssels
zugeführt und der Inhalt der Schieberegister in den Schaltungen 350 und 400
erneut um je eine Bitposition verschoben. Hierbei wird während des Zyklus 4 das Bit in der letzten Stufe des Schieberegisters 3UKR in die erste Stufe
des Schieberegisters 3LKR verschoben. Während der Zyklen 5, 6 und 7
werden die restlichen Bytes des Schlüssels den ersten Stufen der Schiebe-KI 975 001/002
609837/0638
register in den Schaltungen 350 und 400 zugeführt bei gleichzeitiger Verschiebung
des Inhalts dieser Schieberegister um eine Bitposition, so daß am Ende des Zyklus 7 die Registerschaltungen 350 und 400 die zwei Hälften des
Chiffrierschlüssels enthalten. Diese Register führen eine Serien/Parallel-Umsetzung
durch, so daß die acht in den Registern 350 und 400 enthaltenen Bytes als zwei parallele Bitketten zu je 28 Bits am Ausgang dieser Register
in Erscheinung treten. Die Zuordnung der Schieberegisterpositionen in den Registern 350 und 400 zu den einzelnen Bits des Chiffrierschlüssels ist aus
den folgenden Tabellen 1 und 2 ersichtlich. Die Tabelle 1 gibt die Zuordnung für das Register 350 an und die Tabelle 2 für das Register 400.
Stufen im Register 350 UKR 0 - UKR 7 UKR 8 - UKR 15 UKR 16 - UKR 23
UKR 24 - UKR 27
56 48 40 32 24 16 8 0
57 49 41 33 25 17 9 1
58 50 42 34 26 18 10 2
59 51 43 35
Stufen im Register 400 LKR 0 - LKR 7 LKR 8 - LKR 15
LKR 16 - LKR 23 LKR 24 - LKR 27
Chiffrier s chlüs s elbits
62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 60 52 44 36 28 20 12 4 27 19 11 3
62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 60 52 44 36 28 20 12 4 27 19 11 3
Die in Fig. 3a dargestellten Register (UDR) 200 und (LDR) 250 bestehen aus
je 32 Stufen, von denen jede durch eine Verriegelungsschaltung OUDR bis
31UDR und OLDR bis 31LDR gebildet wird. Während des Zyklus 8 werden
KI 975 001/002
609837/0638
Taktsignale auf Leitungen IBT und LDR erzeugt, die eine Parallelübertragung
der 32 Datenbits im Puffer 100 und der 32 Datenbits im Puffer 150 in
die Register 200 und 250 veranlassen. Es ergibt sich daraufhin die aus den Tabellen 3 und 4 ersichtliche Bitverteilung für die Speicher stell en der Register
200 und 250, wobei sich die Tabelle 3 auf das Register 200 und die Tabelle 4 auf das Register 250 bezieht.
Stufen im Register 200 UDR 0 - UDR 7 UDR 8 - UDR 15 UDR 16 - UDR 23
UDR 24 - UDR 31
Datenbits
56 48 40 32 24 16 8 0
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
Stufen im Register 250 LDR 0 - LDR 7 LDR 8 - LDR 15 LDR 16 - LDR 23
LDR 24 - LDR 31
Datenbits
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
Nach dem Zyklus 7 werden auf der Leitung LDK keine weiteren Taktsignale
erzeugt. Dementsprechend wird die Verbindung von der letzten Verriegelungsschaltung
390 des Schieberegisters 3UKR zur ersten Verriegelungs schaltung 402 des Schieberegisters 3LKR nicht langer aufrechterhalten. Der
Ausgang der Verrieglungsschaltung 390 im Schieberegister 3UKR wird nun
mit dem Eingang der ersten Stufe 352 des Schft)eregisters OUKR verbunden,
und der Ausgang der letzten Verriegelungs schaltung 408 im Schieberegister KI 975 001/002
609837/0638
3LKR wird zur ersten Verriegelungs schaltung im Schiberegister OLKR durch
geschaltet. Damit können die beiden Register 350 und 400 die Funktion von zwei unabhängigen Schieberegistern mit je 28 Bitpositionen übernehmen. Vor
denn Chiffrierprozess werden die in den Registern 350 und 400 enthaltenen
Bits des Chiffrierechlüsseis zunächst um eine Bitposition aufwärts (= vorwärts)
verschoben, wobei das in der ersten Verrieglungsschaltung 352 des Registers 350 enthaltene Bits zur letzten Verriegelungs schaltung 390 dieses
Schieberegisters zurückverschoben wird und wobei das Bit in der ersten Stufe des Registers 400 in die letzte Stufe 408 dieses Registers verschoben
wird. Dies geschieht im Zyklus 8 durch ein Taktsignal auf einer Leitung SL, die an jede Stufe der Register 350 und 400 angeschlossen ist. Der Ausgang
einer jeden Verriegelungs schaltung ist mit der vorausgehenden Verriegelungsschaltung
verbunden. Diese Verbindung wird durch das Taktsignal auf der Leitung SL zur Übertragung der Bits in die jeweils vorausgehende Verriegelungsschaltung
wirksam gemacht. Beispielsweise ist der Ausgang UKRl der Verriegelungs schaltung 354 mit einem Eingang der Verriegelungs schaltung
352 verbunden, der durch das Signal auf der Leitung SL wirksam wird zur Verschiebung des Speicherinhalts der Verriegelungs schaltung 354 in
die Verriegelungs schaltung 352. Diese Vorausverschiebung des Chiffrierschlüssels
um eine Bitposition vor dem Beginn der eigentlichen Chiffrieroperation ist notwendig zur korrekten Ausrichtung der Schlüsselbits in der
ersten Iteration der Chiffrieroperation, Während der folgenden Chiffrierope- j
ration wird der Inhalt der Register 350 und 400 während jeder Iteration jeweils um eine oder zwei Bitpositionen in Vorwärts richtung verschoben mit
Ausnahme der ersten Operation, so daß insgesamt 27 zusätzliche Verschiebungen der Bits des Chiffrierschlüssels stattfinden. Da die Register 350 und ;
400 als rückgekoppelte Schieberegister wirksam sind, bewirken die insgesamt 28 Stellenverschiebungen, die sich aus einer Voraus verschiebung und
27 Operations verschiebungen zusammensetzen, eine korrekte Ausrichtung der Bits des Chiffrierechlüsseis am Beginn der Chiffrieroperation. Der Stellenvers
chiebeplan für den Chiffriervorgang ist aus der nachfolgenden Tabelle
5 zu ersehen:
KI 975 001/002
609837/0838
TABELLE 5 Chiffrier s chlüs s el »Stellenve rs chie beplan
Chiffrieren Dechiffrieren
(Vorausvers chiebung) | 1 | 1 | 1 |
2 | 1 | 2 | |
3 | 2 | 2 | |
4 | CVJ | 2 | |
5 | 2 | 2 | |
6 | 2 | 2 | |
7 | 2 | 2 | |
8 | 2 | 1 | |
9 | 1 | 2 | |
10 | tv) | 2 | |
11 | 2 | tv) | |
12 | 2 | 2 | |
13 | 2 | 2 | |
14 | 2 | 2 | |
15 | 2 | 1 | |
16 | 1 | ||
(Nachverschiebung)
KI 975 001/002
809837/0638
2 5 5 R 2 CJ 6
Eine 1 in Tabelle 5 zeigt eine Verschiebung um eine Bitposition in den Registern
350 und 400 an, und eine 2 in der Tabelle zeigt eine Verschiebung um zwei Bitpositionen in beiden Registern an.
Die Chiffrieroperation
Im folgenden wird unter Bezugnahme auf die Figuren 3b und 3d und das Zeitdiagramm
von Fig. 7a die Chiffrieroperation beschrieben. Die oben bereits erwähnte Voraus verschiebung des Inhalts der Register 350 und 400 wird
durch Signale auf den Leitungen SL und LDR entsprechend dem Verschiebeplan von Tabelle 5 ausgeführt. Am Ende des Zyklus 8 steht daher der
Chiffrierschlüssel für die erste von 16 auszuführenden Chiffrier-Iterationen
zur Verfügung. Diese erste Iteration wird während der Zyklen 9 und 10 ausgeführt.
Sie wird durch eine lineare Transformation von 24 Bits aus dem Register 350 und von 24 Bits aus dem Register 400 eingeleitet, die in der
Permutationsschaltung 450 ausgeführt wird. Diese Schaltung erzeugt eine ;
nach beliebiger Wahl festgelegte Permutation der ihr zugeführten 48 Bits entsprechend den nachstehenden Tabellen 6 und 7, wobei die Tabelle 6 die
auszuführenden Permutationen unter Bezugnahme auf die Positionen des Registers
350 und die Tabelle7 die auszuführenden Permutationen unter Bezugnahme auf die Positionen des Registers 400 angibt.
KI 975 001/002
809837/0838
2 5 b B 2 (J 6
Permutierte Bit Nr. bezogen auf Register 350
UKR | 0 |
UKR | 1 |
UKR | 2 |
UKR | 3 |
UKR | 4 |
UKR | 5 |
UKR | 6 |
UKR | 7 |
UKR | 10 |
UKR | 11 |
UKR | 12 |
UKR | 13 |
UKR | 14 |
UKR | 15 |
UKR | 16 |
UKR | 18 |
UKR | 19 |
UKR | 20 |
UKR | 22 |
UKR | 23 |
UKR | 25 |
UKR | 26 |
UKR | 27 |
UKR 13 UKR 16 UKR 10
UKR 23 UKR 0 UKR 4
UKR 2 UKR 27 UKR 5 UKR 20 UKR 9
UKR 22 UKR 18 UKR 11 UKR 3 UKR 25
UKR 7
UKR 15 UKR 6 UKR 26
UKR 19 UKR 12 UKR 1
KI 975 001/002
609837/0838
25582Ü6
Bit Nr. im Register 400 Permutierte Bit Nr. bezogen auf
Register 400
LKR 0 LKR 12
LKR 1 LKR 23
LKR 2 LKR 2
LKR 3 LKR 8
LKE. 4 LKR 18
LKR 5 LKR 26
LKR 7 LKR 1
LKR 8 LKR 11
LKR 10 LKR 22
LKR 11 LKR 16
LKR 12' LKR 4
LKR 13 LKR 19
LKR 15 LKR 15
LKR 16 LKR 20
LKR 17 LKR 10
LKR 18 LKR 27
LKR 19 LKR 5
LKR. 20 LKR 24
LKK 21 LKR 17
LKR 22 LKR 13
LKK 23 LKR 21
LKR 24 LKR 7
LKR 26 LKR 0
LKR 27 LKR 3 KI 975 001/002
609837/0638
Die von der Permutations schaltung 450 erzeugten acht Segmente zu je sechs
Bits werden acht Modulo-2-Addierern 500, 502, 504, 506, 508, 510, 512
und 514 zugeführt, von denen jeder aus sechs Exklusiv-Oder-Schaltungen besteht.
Zur gleichen Zeit wird die erste Hälfte des im Register 200 (Fig. 3a) enthaltenen Informations blocks, die aus acht Datensegmenten zu je vier Bits
besteht, zu 48 Datenbits erweitert, so daß aus jedem 4-Bit-Segment ein 6-Bit-Segment
entsteht. Diese erweiterten Segmente werden den zweiten Eingängen dieser Modulo-2-Addierer zugeführt. Die Expansion wird durch Verdoppelung
der End-Bits in jedem 4-Bit-Datensegment erreicht, wie es die aus den Figuren 3e, 3f und 3g ersichtlichen Anschlüsse der Addierwerkseingänge
an die Adern der mit dem Ausgang des Registers 200 verbundenen Sammelleitung 201 zeigen. Die Modulo-2-Addierer 500, 502, 504, 506, 508,
510, 512 und 514 verknüpfen die erweiterten Datenbits parallel mit den permutierten
Bits des Chiffrierschlüssels und erzeugen acht Segmente zu je sechs Bits, die die eigentlichen Argumente für eine nichtaffine Substitutionsoperation
darstellen, die in den Substitutionsschaltunfn550, 552, 554, 556,
558, 560, 562 und 564 ausgeführt wird. Die Zuordnung der permutierten Schlüsselbits zu den expandierten Datenbits für die Modulo-2-Verknüpfung
ist am Eingang der Addierer an den Figuren 3e, 3f und 3g angegeben.
Die Figur 6 zeigt den Aufbau der Substitutions schaltung 550. Diese Schaltung
weist einen Dekodierer 552 und einen Festwertspeicher (ROS) 584 auf. Die Schaltung 550 erhält sechs Bits vom Ausgang des Modulo-2-Addierers 500
zugeführt. Innerhalb dieser Signale nehmen die Randbits bzw. End-Bits eine Sonderstellung ein. Diese Bits werden als Resultate der Modulb-2-Addition
des duplizierten Datenbits UDR 31 und des Schlüsselbits UKR 13 sowie des duplizierten Datenbits UDR 4 und des Schlüsselbits UKR 4 erzeugt.
Diese End-Bit-Verknüpfungsresultate werden Inverterschaltungen 554 und
556 zugeführt, um die entsprechenden Komplementsignale verfügbar zu machen. Wenn die End-Bit-Resultate die Werte 0, 0 darstellen, wird die erste
von vier Gruppen mit je 16 Und-Schaltungen ausgewählt, nämlich die Und-Schaltungen
568 bis 570. Wenn die End-Bit-Resultate die Werte 0,1 aufwei-
KI 975 001/002
S09837/0838
"30" 2 5 5 8 2 Ü 6
sen,wird die zweite Gruppe von Und-Schaltung en ausgewählt, welche die
Und-Schaltungen 572 bis 574 umfaßt. Wenn die End-Bit-Resultate 1, 0 sind,
wird die dritte Gruppe ausgewählt, die aus den Und-Schaltungen 576 bis 578 besteht. Schließlich wird bei den End-Bit-Resultaten 1, 1 die vierte
Gruppe ausgewählt, die aus den Und-Schaltungen 580 bis 582 besteht. Die vier inneren Bits des der Schaltung 550 zugeführten Segments von sechs Bits
werden zu Inverterschaltungen 558, 560, 562 und 564 geleitet, um die Komplementwerte
der entsprechenden Eingangs signale herzustellen. Diese Bits werden jeweils durch eine der 16 Und-Schaltungen der ausgewählten Gruppe
dekodiert, um ein Treibersignal an einer Adressierungsleitung des Festwertspeichers
584 zu erzeugen. Der Speicher 584 enthält vier Funktionstabellen OROS, IROS, 2ROS und 3ROS, von denen jede 16 Einträge zu je
vier Bits enthält. Zur Speicherung der vier Bits eines Eintrags dienen jeweils vier Feldeffekttransistoren, wie beispielsweise 586 bis 589 oder 590
bis 593. Von diesen Elementen ist in jeder Gruppe nur eine bestimmte Kombination
an die Treiberleitung angeschlossen, die mit einem zugeordneten
Ausgang der Und-Schaltungen 568 bis 582 verbunden ist. Die durch die signalführende
Treiberleitung ausgewählte Speicherstellengruppe erzeugt eine bestimmte Kombination von Aus gangs Signalen auf Speicheraus gangs leitungen
594 bis 597, die allen Speicher Stellengruppen gemeinsam sind und die mit den Ausgangsleitungen SO, Sl, S2 und S3 der Substitutions schaltung 550
verbunden sind. Der Aufbau der Substitutions schaltungen 552, 554, 556, 558, 560, 562 und 564 ist ähnlich dem vorausgehend beschriebenen Aufbau
der Schaltung 550. Die Funktionstabellen dieser Schaltungen weiden jedoch
voneinander ab, so daß acht verschiedene Trans formations funktionen erzeugt
werden. Die folgenden Tabellen 8 bis 11 enthalten eine vollständige Liste
der von den verschiedenen Funktionstabellen erzeugten Aus gangs signale in hexadezimaler Darstellung. Jede zweistellige Dezimalzahl entspricht nach
dem hexadezimalen Verschlüsselungsschema einer vierstelligen Binärzahl
(Beispiel: 14 = 1110).
KI 975 001/002
809837/0638
Funktions tab eilen:
0000 (0)
0001 (1)
0010 (2)
0011 (3)
0100 (4)
0101 (5)
0110 (6)
0111 (7)
1000 (8)
1001 (9)
1010 (10)
1011 (11)
1100 (12)
1101 (13)
1110 (14)
1111 (15)
TABELLE | 8 | 01 | 10 | 11 | Schaltung 552 Rand-Adr es sbits |
Ol | 10 | 11 |
ii) 0 |
12} 4 |
12} 15 |
00 | ID 3 |
12} Ό |
Ü} 13 |
||
Schaltung 550 Rand-Adressbits |
15 | 1 | 12 | i°) 15 |
13 | 14 | 8 | |
00 | 7 | 14 | 8 | 1 | 4 | 7 | 10 | |
i£} 14 |
4 | 8 | 2 | 8 | 7 | 11 | 1 | |
4 | 14 | 13 | 4 | 14 | 15 | 10 | 3 | |
13 | 2 | 6 | 9 | 6 | 2 | 4 | 15 | |
1 | 13 | 2 | 1 | 11 | 8 | 13 | 4 | |
2 | 1 | 11 | 7 | 3 | 14 | 1 | 2 | |
15 | 10 | 15 | 5 | 4 | 12 | 5 | 11 | |
11 | 6 | 12 | 11 | 9 | O | 8 | 6 | |
8 | 12 | 9 | 3 | 7 | 1 | 12 | 7 | |
3 | 11 | 7 | 14 | 2 | 10 | 6 | 12 | |
10 | 9 | 3 | 10 | 13 | 6 | 9 | O | |
6 | 5 | 10 | 0 | 12 | 9 | 3 | 5 | |
12 | 3 | 5 | 6 | O | 11 | 2 | 14 | |
5 | 8 | 0 | 13 | 5 | 5 | 15 | 9 | |
9 | 10 | |||||||
0 | ||||||||
7 | ||||||||
KI 975 001/002 809837/0838
Funktionstabellen:
0000 (0)
0001 (1)
0010 (2)
0011 (3)
0100 (4)
0101 (5)
0110 (6)
0111 (7)
1000 (8)
1001 (9)
1010 (10)
1011 (11)
1100 (12)
1101 (13)
1110 (14)
1111 (15)
TABELLE | 9 | Ol | 10 | 11 | Schaltung 556 Rand-Adr es sbits |
Ol | 10 | 11 |
in 13 |
13 | 1 | OO | in 13 |
10 | il) 3 |
||
Schaltung 554 Rand-Adr es s bits |
7 | 6 | 10 | 7 | 8 | 6 | 15 | |
OO | O | 4 | 13 | 13 | 11 | 9 | O | |
ίο) 10 |
9 | 9 | O | 14 | 5 | O | 6 | |
O | 3 | 8 | 6 | 3 | 6 | 12 | 10 | |
9 | 4 | 15 | 9 | O | 15 | 11 | 1 | |
14 | 6 | 3 | 8 | 6 | O | 7 | 13 | |
6 | 10 | O | 7 | 9 | 3 | 13 | 8 | |
3 | CvJ | 11 | 4 | 10 | 4 | 15 | 9 | |
15 | 8 | 1 | 15 | 1 | 7 | 1 | 4 | |
5 | 5 | 2 | 14 | 2 | 2 | 3 | 5 | |
1 | 14 | 12 | 3 | 8 | 12 | 14 | 11 | |
13 | 12 | 5 | 11 | 5 | 1 | 5 | 12 j 1 |
|
12 | 11 | 10 | 5 | 11 | 10 | 2 | I 7 ; |
|
7 | 15 | 14 | 2 | 12 | 14 | 8 | 2 | |
11 | 1 | 7 | 12 | 4 | 9 | 4 | 14 | |
4 | 15 | |||||||
2 | ||||||||
8 | ||||||||
KI 975 001/002
609837/0-838
25582U6
Funktionstabellen:
Innere Adressbits:
0000 (0)
0001 (1)
0010 (2)
0011 (3)
0100 (4)
0101 (5)
0110 (6)
0111 (7)
1000 (8)
1001 (9)
1010 (10)
1011 (11)
1100 (12)
1101 (13)
1110 (14)
1111 (15)
TABELLE | 10 | 01 | 10 | 11 | Schaltung 560 Rand-Adr es s bits |
01 | 10 | 11 |
in 14 |
12} 4 |
Ü} 11 |
00 | in 10 |
(2}
9 |
4 | ||
Schaltung 558 Rand-Adr es s bits |
11 | 2 | 8 | ίο} 12 |
15 | 14 | 3 | |
OO | 2 | 1 | 12 | 1 | 4 | 15 | 2 | |
2 | 12 | 11 | 7 | 10 | 2 | 5 | 12 | |
12 | 4 | 10 | 1 | 15 | 7 | 2 | 9 | |
4 | 7 | 13 | 14 | 9 | 12 | 8 | 5 | |
1 | 13 | 7 | 2 | CsJ | 9 | 12 | 15 | |
7 | 1 | 8 | 13 | 6 | 5 | 3 | 10 | |
10 | 5 | 15 | 6 | 8 | 6 | 7 | 11 | |
11 | 0 | 9 | 15 | 0 | 1 | 0 | 14 | |
6 | 15 | 12 | 0 | 13 | 13 | 4 | 1 | |
8 | 10 | 5 | 9 | 3 | 14 | 10 | 7 | |
5 | 3 | 6 | 10 | 4 | 0 | 1 | 6 | |
3 | 9 | 3 | 4 | 14 | 11 | 13 | 0 | |
15 | 8 | 0 | 5 | 7 | 3 | 11 | 8 | |
13 | 6 | 14 | 3 | Ui | 8 | 6 | 13 | |
0 | 11 | |||||||
14 | ||||||||
9 | ||||||||
KI 975 001/002 809837/0830
Funktionstabellen:
0000 (0)
0001 (1)
0010 (2)
0011 (3)
0100 (4)
0101 (5)
0110 (6)
0111 (7)
1000 (8)
1001 (9) 1010(10) 1011 (11)
1100 (12)
1101 (13)
1110 (14)
1111 (15)
TABELLE | 11 | 01 | 10 | 11 | Schaltung 564 Rand-Adressbits |
01 | 10 | 11 |
Ü) | (2) | Ü) | 00 | (D | 12} | ID | ||
Schaltung 562 Rand-Adressbits |
13 | 1 | 6 | (0) | 1 | 7 | 2 | |
OO | 0 | 4 | 11 | 13 | 15 | 11 | 1 | |
11 | 11 | 13 | 2 | 13 | 4 | 14 | ||
4 | 7 | 13 | 8 | 8 | 8 | 1 | 7 | |
11 | 4 | 12 | 1 | 4 | 10 | 9 | 4 | |
2 | 9 | 3 | 4 | 6 | 3 | 12 | 10 | |
14 | 1 | 7 | 10 | 15 | 7 | 14 | 8 | |
15 | 10 | 14 | 7 | 11 | 4 | 2 | 13 | |
0 | 14 | 10 | 9 | 1 | 12 | 0 | 15 | |
8 | 3 | 15 | 5 | 10 | 5 | 6 | 12 | |
13 | Ui | 6 | 0 | 9 | 6 | 10 | 9 | |
3 | 12 | 8 | 15 | 3 | 11 | 13 | 0 | |
12 | 2 | 0 | 14 | 14 | 0 | 15 | 3 | |
9 | 15 | 5 | 2 | 5 | 14 | 3 | 5 | |
7 | 8 | 9 | 3 | 0 | 9 | 5 | 6 | |
5 | 6 | 2 | 12 | 12 | 2 | 8 | 11 | |
10 | 7 | |||||||
6 | ||||||||
1 | ||||||||
Die Aus gangs signale der Schaltungen 550, 552, 554, 556, 558, 560, 562 und
564 werden einer Permutations schaltung 600 zugeführt, welche eine in beliebiger
Form fest vorgegebene lineare Transformierung durchführt. Die im dargestellten Ausführungsbeispiel von der Schaltung 600 ausgeführte lineare
Permutation ist aus der nachstehenden Tabelle 12 ersichtlich. Die Aus gangs signale der Permutations schaltung 600 stellen das Blockchiffre-Produkt
der ersten Hälfte des zu chiffrierenden Informationsblockes dar.
KI 975 001/002
009837/0638
- 35 TABELLE 25582U6
Ausgänge der Substitutions· s chaltungen
SO Sl S2 S3
S4 S5 S6 S7 Permutierte Bit Nr. , bezogen auf die Ausgänge der Substitutionsschaltungen
S8 S16 S22 S30
S12
S27
Sl
S17
S8
S9
SlO
SIl
S12 S13 S14 S15
S16 S17 S18 S19
S20 S21 S22 S23
S24 S25 S26 S27
S28 S29 S30 S31 S23
S15
S29
S5
S25
S19
S9
SO
S7 S13 S24
S2
S3 S28 SlO S18
S31
SIl
S21
S6
S4 S26 S14 S20
KI 975 001/002
609837/0838
Die Figuren 3h, 3i und 3j zeigen acht Modulo-2-Addierer 650, 652, 654, '
656, 658, 660, 662 und 664, von denen jeder aus vier Exklusiv-Oder-Schal- !
tungen EO besteht. Diesen Schaltungen wird die zweite Hälfte des Informationsblockes
aus dem Register 250 (Fig. 3a) in Form von acht Segmenten zu je vier Bits zugeführt zusammen mit den 32 Bits vom Ausgang der Permu- |
tationsschaltung 600, die die Produkt-Blockchiffre der ersten Hälfte des
Informationsblockes darstellen. Die Modulo-2-Addierer 650 bis 664 modifi-
zieren damit die 32 Datenbits der zweiten Hälfte des Informationsblockes
parallel in Abhängigkeit von den Bits der Produkt-Blockchiffre der ersten Hälfte des Informations blocks. Es werden auf diese Weise acht Segmente
zu je vier Bits als ein neuer Satz von 32 Bits EOO bis EO31 vom Ausgang
der Modulo-2-Addierer 650 bis 664 erhalten und über eine Sammelleitung
202 dem Eingang des Registers 200 in Fig. 3a zugeführt.
Die Fig. 7a zeigt, daß während des ersten Teils des Zyklus 10 zunächst
Signale auf den Leitungen LB und LDR erzeugt werden, die mit allen Verriegelungsschaltungen
des Registers 200 verbunden sind. Diese Signale bewirken, daß die am Ausgang der Addierer 650 bis 664 auftretende modifizierte
zweite Hälfte des Informationsblockes im Register 200 gespeichert
wird. Zur gleichen Zeit werden aber die Signale auf den Leitungen LB und LDR auch an alle Verriegelungsschaltungen des Registers 250 angelegt,
wodurch die zu dieser Zeit im Register 200 gespeicherte erste Hälfte des Informations blockes über einen Zweig 201' in die Verriegelungs schaltungen
des Registers 250 übertragen wird. Diese Ladeoperationen der Register 200 und 250 dienen der Vorbereitung der nächsten Iteration der Chiffrieroperation.
Damit ist die erste Iteration der Chiffrier operation beendet, die nach der Voraus verschiebung des Chiffriere chlüss eis im Zyklus 8 begonnen
hatte.
Die zweite Iteration wird während der Zyklen 10, 11 und 12 ausgeführt und
durch eine Verschiebeoperation im Zyklus 10 eingeleitet. Während des Zyklus
10 werden allen Stufen der Register 350 und 400 erneut Taktsignale über die
KI 975 001/002
809837/0638
Leitungen SL und LDR zugeführt, wodurch eine weitere 1-Bit-Verschiebung
des Chiffriere chlüs s eis in Vorwärts richtung erfolgt gemäß dem Stellenverschiebeplan
von Tabelle 5. Es wird so ein zweiter Satz von Chiffrierschlüssel-Bits
für die zweite Iteration bereitgestellt. Während des Zyklus 11 wird die modifizierte zweite Hälfte des Informations blocks, die sich zu diesem
Zeitpunkt im Register 200 befindet, einer Chiffrieroperation der oben beschriebenen
Art zugeführt, deren Resultat erneut in den Modulo-2-Addierern
650 bis 664 benutzt wird, um die im Register 250 gespeicherte erste Hälfte des Informationsblockes zu modifizieren. Während des Zyklus 12
werden wiederum Taktsignale auf den Leitungen LB und LDR erzeugt, die
an alle Verriegelungsschaltungen des Registers 200 angelegt werden und
die Übertragung der Resultate vom Ausgang der Addierer 650 bis 664 in das Register 200 bewirken. Die gleichen Taktsignale werden auch an die
Verriegelungs schaltungen des Registers 250 angelegt und veranlassen, daß die in der vorausgehenden Iteration modifizierte zweite Hälfte des Informationsblockes
aus dem Register 200 in das Register 250 übertragen wird. Diese Übertragungen beenden die zweite Iteration und bereiten die dargestellte
Einrichtung zur Ausführung der nächsten Iteration der Chiffrieropera» tion vor.
Gemäß dem Stellenverschiebeplan von Tab.»5 ist während der dritten Iteration,
die sich über die Zyklen 11, 12, 13 und 14 erstreckt, eine Stellenverschiebung
des Chiffrier Schluss eis um zwei Bitpositionen auszuführen. ,
Dementsprechend wird während des Zyklus 11 die erste der zwei Verschiebeoperationen
des Chiffrier Schluss eis ausgeführt durch Anlegen des
dritten Taktsignals an die Leitungen SL und LDR. Diese Stellenverschiebung
hat keinen Einfluß auf die Schaltvorgänge der zweiten Iteration, die
zur Zeit des Zyklus 11 noch in den Schal tungsteilen ablaufen, die den Registern
350 und 400 nachgeschaltet sind. Während des Zyklus 12 werden erneut Taktsignale an die Leitungen SL und LDR angelegt, die eine weitere
Verschiebung des Chiffrier Schluss eis um eine Bitposition bewirken. Damit
sind die zwei Stellenverschiebungen der dritten Iterations operation ausge-
KI 975 001/002
809837/0838
führt.
In einer ähnlichen Weise werden die folgenden Iterations operationen ausgeführt
in Übereinstimmung mit dem Stellenvers chiebeplan gemäß Tabelle 5. Während jeder der restlichen Iterationen mit Ausnahme der letzten wenden
die Bits des Chiffrier Schluss eis in den Registern 350 und 400 gemäß den
Eintragungen in der Tabelle 5 in Vorwärts richtung verschoben, ferner wird eine modifizierte Hälfte des Nachrichtenblockes, die im Register 250 gespeichert ist, erneut modifiziert entsprechend der Produkt-Blockchiffre
der vorausgehend modifizierten Hälfte des Informationsblockes, die im Register
200 gespeichert ist, und die an den Ausgängen der Modulo-2-Addierer
650 bis 664 erhaltene erneut modifizierte Hälfte des Informations blocks ersetzt die vorausgehend modifizierte Hälfte des Informations blocks im Register
200, während die letztere Hälfte zur gleichen Zeit dem Register 250 zugeführt wird, um den dortigen Inhalt zu ersetzen. Während der letzten :
Iteration der Chiffrieroperation, die während der Zyklen 28 und 29 aus ge- j
führt wird, werden die Bits des Chiffrier Schluss eis in den Registern 350 und i
ein letztes Mal verschoben entsprechend dem Stellenvers chiebeplan von Ta- '
I belle 5, und es findet eine letzte Remodifizierung einer bereits mehrfach
modifizierten Hälfte des Informations blockes statt, die im Register 250 gespeichert ist, entsprechend einem von der Produkt-Blockchiffre voraus
gehend modifizierten Hälfte des Informationsblocks, die sich im Register
2.00 befindet. Das vom Ausgang der Modulo-2-Addierer 650 bis 664 erhaltene
Resultat und die im Register 200 enthaltene vorausgehend modifizierte Hälfte des Informationsblockes stellen jedoch nun die verschlüsselte Version des
ursprünglichen Informations blockes dar. Eine Rückübertragung zum Re- !
gister 200 unterbleibt wegen Abwesenheit des Taktsignals auf der Leitung LbJ
Vielmehr erfolgt eine Übertragung der beiden Teile des Endresultats der Chiffrier operation in die Ausgabepuffer 700 und 750, Jeder dieser Puffer
besteht aus vier Schieberegistern OUOB, 1ÜOB, 2UOB, 3UOB und OLOB,
ILOB5 2LOBj 3LOB, von denen jedes acht Stufen umfaßt. Die erste, zweite
und letzte Stufe des Schieberegisters OUOB sind in Fig. 3a exemplarisch
KI 975 001/002
809837/0838
dargestellt. Die übrigen Schieberegister, die dem Schieberegister OUOB
gleichen, sind in Blockform dargestellt.
Während des Zyklus 40 (Fig. 7b) werden Taktsignale an die Leitungen
LDOB und LDOBangelegt, die mit allen Verriegelungsschaltungen in jedem
Schieberegister der Puffer 700 und 750 verbunden sind. Diese Taktsignale bewirken eine parallele Einspeicherung des 32-Bit-Ausgangs des Registers
200 in den Puffer 700 und gleichzeitig eine parallele Einspeicherung der 32 Resultatbits vom Ausgang der Modulo-2-Addierer 650 bis 664 in den
Puffer 750.
Der chiffrierte Informations block befindet sich nun in den Puffern 700 und
750 und wird dort einer Parallel/Serien-Umsetzung unterzogen, indem jeweils ein Byte, bestehend aus acht Bits, einer Permutations schaltung 800
zugeführt wird. Zu diesem Zweck sind die letzten Stufen der acht Schieberegister
in den Puffern 700 und 750 mit dem Eingang der Permutationsschaltung
800 verbunden. Die letztere Schaltung führt eine abschließende lineare Permutation der Bits im zugeführten Byte durch und führt diese
den entsprechenden Adern in der Daten -Aus gangs Sammelleitung zu. Hierzu werden Taktsignale an die Leitungen LDOB und LDOB angelegt, die jeweils
mit der zweiten bis achten Stufe in jedem der acht Schieberegister OUOB, IUOB, 2UOB, 3UOB und OLOB, ILOB, 2LOB, 3LOB verbunden sind.
Während der Zyklen 41 bis 47 werden daher die Datenbits in jedem der acht
Schieberegister um eine Position abwärts verschoben, und ein aus acht Bits bestehendes Byte wird in der Schaltung 800 permutiert und der Daten-Ausgangssammelleitung
zugeführt. Am Ende des Zyklus 48 ist das letzte Byte des chiffrierten Informationsblockes zur Aus gangs Sammelleitung übertragen
worden, womit die Chiffrieroperation beendet ist.
Nachfolgende Informationsblöcke werden in der gleichen Weise chiffriert,
wie es vorausgehend für einen Informations block exemplarisch beschrieben
wurde. Jeweils während der Chiffrierung eines Informationsblockes kann
KI 975 001/002
809837/0638
"40" 25582Ü6
bei Auftreten des nächsten Informationsblockes dieser in die Puffer 100 und
150 geladen werden. Am Ende des Zyklus 39» wenn die letzte Iteration der ersten Chiffrieroperation ausgeführt ist, hat der Chiffrier Schluss el einen
vollständigen Umlauf durch die Positionen der Register 350 und 400 ausgeführt und befindet sich wieder in seiner ursprünglichen Stellung in Vorbereitung
der Chiffrier operation für den nächsten Informations block. Diese
nachfolgende Chiffrieroperation kann daher bereits zur Zeit des Zyklus 40 der ersten Chiffrier operation beginnen, während der chiffrierte erste Informationsblock
in die Ausgangspuffer 700 und 750 eingegeben wird. Zu dieser Zeit kann der als nächstes folgende Informations block in die Register
200 und 250 eingestellt werden unter Steuerung von Taktsignalen auf den Leitungen IBT und LDR, wie dies in Figur 7b strichliert dargestellt ist.
Die nächste Chiffrieroperation läuft daher bereits ab, während die chiffrierte Version des ersten Informations blocke s aus den Puffern 700 und 750 über
die Permutations schaltung 800 der Aus gangs Sammelleitung zugeführt wird. Wenn die Zuführrate der Informations blöcke zur Chiffriereinrichtung zu
hoch wird, so daß ein nachfolgender Block bereits zugeführt wird, bevor der vorausgehende Block aus den Puffern 100 und 150 in die Register 200
und 250 übertragen worden ist, so ist dieser Zustand durch eine geeignete Schaltung in Form eines Besetzt-Signals anzuzeigen. Hierdurch wird gewährleistet,
daß aufeinanderfolgende Datenblöcke synchron zur Arbeitsgeschwindigkeit
der Chiffriereinrichtung zugeführt werden. j
Die Dechiffrieroperation
Die Dechiffrierung eines aus 64 Bits bestehenden Informationsblockes wird j
unter Verwendung einer Einrichtung der oben beschriebenen Art und unter
Steuerung des gleichen Chiffrier Schluss eis ausgeführt, der zur Chiffrierung j
benutzt wird. Im Gegensatz zur Chiffrier operation, wo eine Voraus verschiebung
des Chiffrierschlüssels stattfand, erfolgt bei der De chiffrier operation ι
eine nachträgliche Verschiebung des Chiffrier Schluss eis nach der letzten
Iteration. Außerdem wird der Schlüssel in der umgekehrten Richtung wie bei der Chiffrieroperation verschoben. Die einzelnen Verschiebeschritte
KI 975 001/002
609837/0638
sind aus der Tabelle 5 ersichtlich. Ihre Ausführung stellt sicher, daß die
Schlüsselbits korrekt ausgerichtet in den Registern 350 und 400 stehen, wenn die Dechiffrierung begonnen wird und während der Ausführung der
16 De chiffrier-Iterationen.
Während der Zyklen 0 bis 7 wird der chiffrierte Informations block über
die Daten-Eingangs Sammelleitung in der oben beschriebenen Weise zugeführt und in den Registern 100 und 150 gespeichert. Gleichzeitig wird der
Chiffrier Schluss el (bzw. Dechiffrierschlüssel) über die Schlüssel-Eingangs Sammelleitung
in der beschriebenen Weise empfangen und in den Registern 350 und 400 gespeichert. Während des Zyklus 8 wird der verschlüsselte
Nachrichtenblock parallel aus den Puffern 100 und 150 in die Register 200
und 250 übertragen. Im Zyklus 9 wird die erste Hälfte des verschlüsselten
Informationsblockes aus dem Register 200 zusammen mit einem permutierten
Satz der Chiffrier Schlüsselbits der oben erläuterten Operation zur Bildung einer Produkt-Bio ckchiffre unterworfen, deren Resultat in den Modulo-2-Addierern
650 bis 664 zur Modifizierung der zweiten Hälfte des chiffrierten Informationsblockes dient, der im Register 250 gespeichert ist. Diese
Operation erfolgt in der gleichen Weise, wie vorausgehend anhand der Figuren
3a bis 3j beschrieben wurde. Während des Zyklus 10 wird ein Taktsignal
auf der Leitung LB erzeugt, das im Register 200 die erste Hälfte des verschlüsselten Informations blockes durch die modifizierte zweite Hälfte
dieses Blockes ersetzt und zur gleichen Zeit die zweite Hälfte des verschluss
selten Informationsblockes in das Register 250 bringt zur Vorbereitung der nächsten Iteration.
Die zweite Iteration der Dechiffrierung wird während der Zyklen 10, 11 und
12 ausgeführt» Sie wird eingeleitet durch eine Verschiebung der Schlüsselbits um eine Stelle während des Zyklus 10. Dies wird durch ein Taktsignal
auf der Leitung SRR ausgeführt, das zu den ersten Stufen der Register 350 und 400 gelangt. Außerdem wird ein erstes Signal auf Leitung SR an die
restlichen Stufen der Schieberegister in den Schaltungen 350 und 400 ange-
KI 975 001/002
809837/0838
legt. Desweiteren wird ein Taktsignal auf der Leitung LDK allen Stufen der
Registerschaltungen 350 und 400 zugeführt. Das Signal auf der Leitung SRR bewirkt zusammen mit dem Signal auf der Leitung LDK eine Übertragung
des Inhalts der letzten Stufe in jeden der Register 350 und 400 in die erste Stufe eines jeden dieser Register. Das Signal auf der Leitung SR bewirkt
zusammen mit dem Signal auf der Leitung LDK, daß der Inhalt einer jeden Stufe der Register 350 und 400 in die jeweils nachfolgende Stufe dieser Register
verschoben wird. Hiermit wurde der Chiffrierschlüssel um eine
Bitposition nach unten verschoben gemäß dem Stellenverschiebeplan nach
Tabelle 5. Mit der neuen Biteinstellung in den Registern 350 und 400 wird die zweite Iteration der Dechiffrier operation begonnen. Diese Iteration wird,
mit dem Ende des Zyklus 12 abgeschlossen.
Aus dem Stellenvers chiebeplan von Tabelle 5 ist ersichtlich, daß am Beginn
der dritten Iteration der Chiffrier Schluss el um zwei Bitpositionen zu verschi^
ben ist. Dementsprechend wird während des Zyklus 11 die erste dieser beiden Verschiebungen ausgeführt durch Anlegen eines zweiten Taktsignals an
die Leitungen SRR und SR sowie eines Taktsignals an die Leitung LDK. |
Während des Zyklus 12 wird ein drittes Taktsignal an die Leitungen SRR undj
SR angelegt sowie ein weiteres Signal an die Leitung LDK, wodurch eine weitere Abwärts verschiebung des Schlüssels um eine Bitstelle veranlaßt '
wird. In ähnlicher Weise werden in Übereinstimmung mit dem Stellenverschiebeplan
von Tabelle 5 die übrigen Iterationen der Dechiffrieroperation nacheinander ausgeführt bis zum Zyklus 30. Zu dieser Zeit sind die Iterationen
beendet. Während der 16. Iteration wird durch Abwesenheit des Takt-1
i signals auf der Leitung LB eine Übertragungsoperation verhindert, wie dies :
in Verbindung mit der 16. Iteration der Chiffrieroperation erläutert wurde. | Während des Zyklus 40 erfolgt eine nachträgliche Verschiebung des Chiffrierschlüssels,
um einen vollen Umlauf des Schlüssels in Registern 350 und 400 sicherzustellen zur Vorbereitung der Dechiffrierung des nächsten Informa- j
tionsblockes. Während der folgenden Zyklen 40 bis 48 wird der dechiffrierte Informations block parallel von den Ausgängen des Registers 200 und der
KI 975 001/002
609837/0638
Modulo-2-Addierer 650 bis 664 in die Ausgabepuffer 700 und 750 übertragen
und danach byteweise über die Permutations schaltung 800 zur Daten-Ausgangsleitung
weiter geleitet. Am Ende des Zyklus 48 wird das letzte Byte des dechiffrierten Blocks auf die Aus gangs Sammelleitung gegeben, womit
die De chiffrier operation beendet ist. In der gleichen Weise werden aufeinanderfolgende
verschlüsselte Informations blocke dechiffriert.
Ergänzend sei erwähnt, daß die Modulo-2-Addition, die während der Chiffrierung
in den Addierern 650 bis 664 ausgeführt wird, ein sich selbst umkehrender Prozess ist, der auch während der Dechiffrieroperation auftritt.
Während in der dargestellten Einrichtung Modulo-2-Addierer Verwendung
finden, ist die Erfindung nicht auf diesen Addierertyp beschränkt. Es können andere Addierer, Addierer anderen Moduls oder eine Kombination von
Addierern verwendet werden, ohne den Rahmen der Erfindung zu verlassen.
Im obigen Beispiel wurde davon ausgegangen, daß eine Chiffriereinrichtung
unverschlüsselte (Klartext) Informationen chiffriert und daß eine zweite
Einrichtung diese chiffrierten Inforrra tionen in unverschlüsselte (Klartext)
Informationen dechiffriert. Abweichend hiervon kann eine einzige Einrichtung sowohl die Chiffrieroperation als auch die Dechiffrieroperation in der oben
erläuterten Weise ausführen, ohne daß hierzu Schaltungsänderungen notwendig
sind.
KI 975 001/002
809837/0638
Claims (23)
1. Verfahren zum Chiffrieren und autorisierten Dechiffrieren von Informationsblöcken
unter Steuerung eines vorgegebenen Chiffrier Schluss eis,
dadurch gekennzeichnet, daß zunächst aus einem Teil eines Informations blocks
unter Verwendung des Chiffrier Schluss eis durch kombinierte
lineare und nichtlineare Transformierung eine Produkt-Blockchiffre ge- ;
i bildet wird, die mit dem Rest des Informations blocks zum Resultat
einer ersten Iteration verknüpft wird, daß danach aus dem Rest des Informationsblocks
(oder dem Resultat der jeweils vorletzten Iteration) unter Verwendung einer stellenverschobenen Version des Chiffrierschlüssels
durch kombinierte lineare und nichtlineare Transformierung eine weitere Produkt-Blockchiffre gebildet wird, die mit dem Resultat
der ersten Iteration zum Resultat einer weiteren Iteration verknüpft wird, und daß die Resultate von zwei aufeinanderfolgenden Iterationen
die chiffrierte (bzw. dechiffrierte) Version des Informations blocks darstellen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein Informationsblock
in zwei Hälften unterteilt wird, die separat auf ruf bar gespeichert werden, daß die erste Hälfte zusammen mit den Chiffrier Schluss el bits
einer Schaltung zur nichtlinearen Transformierung zugeführt werden, deren Ergebnis in einer sich anschließenden Schaltung linear transformiert
wird, und daß die Resultatsignale der letzteren Schaltung zur arithmetisch/logischen Modifizierung der zweiten Hälfte des Informationsblockes
dienen.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß das Ergebnis
der Modifizierung der zweiten Hälfte anstelle der ersten Hälfte tritt und zusammen mit einer stellenverschobenen Version der Chiffrierschlüsselbits
ztir Ausführung einer weiteren Iteration den Schaltungen zur kombinierten
nichtlinearen und linearen Transformierung zugeführt wird und
daß das von diesen Schaltungen erhaltene Ergebnis zur Modifizierung '
KI 975 001/002
609837/0638
der ursprünglichen ersten Hälfte des Informationsblockes dient.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß mehrere Chiffrieriterationen ausgeführt werden, wobei jeweils das Aus gangs signal der vorausgehenden Iteration als Eingangssignal benutzt
und das Eingangssignal der vorausgehenden Iteration mit dem Ergebnis
der kombinierten nichtlinearen/linearen Transformierung modifiziert wird, bis die Chiffrier schlüsselbits um insgesamt einen Umlauf stellenverschoben
worden sind, wonach das Resultat der letzten Iteration zusammen mit dem Resultat der vorletzten Iteration die chiffrierte Version
des Informations blocks darstellt.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß der Dechiffrierprozeß in der gleichen Weise mit dem gleichen Chiffrier Schluss el, jedoch mit Umkehrung der Stellenvers chieberichtung
ausgeführt wird.
6. Verfahren zur Chiffrierung und autorisierten Dechiffrierung von Informationsblöcken
unter Verwendung eines vorgegebenen Satzes von Chiffrierschlüsselbits, dadurch gekennzeichnet, daß die Zahl der
Chiffrier schlüsselbits höher ist als die Zahl der Bits der zu chiffrierenden
(dechiffrierenden) Information, daß zunächst eine lineare Transformierung der Chiffriere chlüss elbits vorgenommen wird, daß danach die
Zahl der Bitstellen der Information erweitert wird durch Verdoppelung eines Teiles der Informationsbits, bis die Stellenzahl des Chiffrierschlüsseis
erreicht ist, daß eine nichtlineare Transformierung der Informationsbits und der Schlüsselbits durch Substitution ausgeführt wird,
wobei das Substitutions er gebnis die gleiche Bitstellenzahl wie die zu chiffrierende (dechiffrierende) Information aufweist, und daß dieses
Resultat linear transformiert wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet,
KI 975 001/002
809837/0638
daß zur nichtlinearen Transformierung zunächst eine Modulo-2-Addition
der Informations bits und der diesen zugeordneten Chiffrier schlüsselbits
erfolgt, und daß die Resultatbits zur Entnahme-Adressierung eines Speichers
benutzt werden, der den Adressen zugeordnete Sätze von Substitutionsbits enthält.
8. Verfahren nach einem der Ansprüche 6 oder 7, dadurch gekennzeichnet,
daß die Resultatbits der Modulo-2-Addition in Gruppen zusammengefaßt
werden, von denen jede die Adresse für den Zugriff einer Speicherzelle darstellt, die Substitutions bits in einer Anzahl enthält, welche um die
erweiterte Bitstellenzahl kleiner ist als die Bitstellenzahl der Adresse.
9. Einrichtung zur Durchführung des Verfahrens nach einem der Ansprüche
1 bis 5, dadurch gekennzeichnet, daß ein erster Speicher (200) zur Aufnahme einer Hälfte eines Informationsblocks und ein zweiter
Speicher (250) zur Aufnahme der zweiten Hälfte dieses Blocks vorgesehen ist, daß ein dritter Speicher (350, 400) zur Aufnahme der Chiffrierschlüsselbits
vorgesehen ist, daß die Ausgänge des ersten und des
dritten Speichers an die Eingänge einer ersten arithmetischen/logischen
Verknüpfungsschaltung (500 bis 514) angeschlossen ist, deren Aus gangs signale als Adressen eines vierten Speichers (584) dienen, der vorgegebene
Substitutionswerte enthält, daß der Ausgang des vierten Speichers über eine Permutations schaltung (600) mit einem Eingang einer
zweiten arithmetischen/logischen Verknüpfungsschaltung (650 bis 664)
verbunden ist, deren zweiter Eingang an den Ausgang des zweiten Spei- ,
chers angeschlossen ist und deren Ausgang wahlweise zum Eingang des j ersten Speichers oder zum Ausgang der Einrichtung durchs ehalt bar ist.
10. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß der erste
Speicher (200) eine Aus gangs verbindung (201') zum zweiten Speicher (250) aufweist, die jeweils am Ende einer Iteration wirksam wird,
noch bevor die Ausgangssignale der zweiten arithmetä/schen/logischen
KI 975 001/002
609837/0638
Verknüpfungsschaltung (650 bis 664) zum ersten Speicher durchgeschaltet
übertragen worden sind.
11. Einrichtung nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß der
dritte Speicher (350, 400) als Schieberegister ausgebildet ist und daß eine Iterations steuerschaltung (265) vorgesehen ist, die nach jeder Iteration
eine Verschiebung des Chiffrier Schluss eis um eine vorgegebene
Stellenzahl veranlaßt und nach einem vollständigen Umlauf des Chiffrierschlüsseis
die Ausgänge des ersten Speichers (200) und der zweiten Verknüpfungsschaltung (650 bis 664) zum Ausgang der Einrichtung durchs
ehaltet.
12. Einrichtung nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet,
daß der Ausgang des ersten Speichers (200) und der zweiten Verknüpfungsschaltung
(650 bis 664) an je einen Ausgabepuffer (700, 750) angeschlossen ist, die beide gemeinsam als Parallel/Serien-Umsetzer zur byteweisen
Ausgabe des chiffrierten (dechiffrierten) Informationsblocks dienen.
13. Einrichtung nach einem der Ansprüche 9 bis 12, dadurch gekennzeichnet,
daß zwischen den dritten Speicher (350, 400) und der ersten Verknüpfungsschaltung
(500 bis 514) eine Permutations schaltung (450) angeordnet ist.
14. Einrichtung nach einem der Ansprüche 9 bis 13, dadurch gekennzeichnet,
daß sie wahlweise am Informationssendeort als Chiffriereinrichtung und
am Informations empfange ort als Dechiffriereinrichtung verwendbar ist, indem die Iterationssteuereinrichtung (265) wahlweise Chiffrier-Taktsi- ι
gnale (SL) und Dechiffrier-Taktsignale (SRR) erzeugt, von denen die ei- ;
nen eine Stellenverschiebung im dritten Speicher (350, 400) in der einen !
Richtung bewirken und die anderen eine Stellenverschiebung in der entgegengesetzten
Richtung.
15. Einrichtung nach einem der Ansprüche 9 bis 14, dadurch gekennzeichnet,
KI 975 001/002
609837/0638
daß die Iterations steuerschaltung (265) am Anfang und/oder am Ende
einer Chiffrier- oder Dechiffrieroperation Ergänzungsverschiebungen
im dritten Speicher (350, 400) veranlaßt, um einen Stellenvers chiebeumlauf des Chiffrier Schluss eis zu vervollständigen.
einer Chiffrier- oder Dechiffrieroperation Ergänzungsverschiebungen
im dritten Speicher (350, 400) veranlaßt, um einen Stellenvers chiebeumlauf des Chiffrier Schluss eis zu vervollständigen.
16. Einrichtung zur Ausführung des Verfahrens nach Anspruch 5, dadurch ',
gekennzeichnet, daß ein erster Speicher (200) zur Aufnahme der zu
chiffrierenden Informations bits und ein zweiter Speicher (350, 400)
chiffrierenden Informations bits und ein zweiter Speicher (350, 400)
zur Aufnahme der Chiffrierschlüsselbits vorgesehen ist, deren Stellenzahl
höher ist als die der Informationsbits im ersten Speicher, daß beide Speicher mit einer arithmetischen/logischen Verknüpfungsschaltung (500
bis 514) verbunden sind, wobei ein Teil der Aus gangsbitleitungen des
ersten Speichers mit wenigstens zwei Eingangs bitleitungen der Verknüpfungsschaltung verbunden ist, daß die Aus gangs signale der Verknüpfungsschaltung als Adressen eines dritten Speichers (584) dienen, ■ der vorgegebene Substitutionswerte enthält, und daß der Ausgang des ι
ersten Speichers mit wenigstens zwei Eingangs bitleitungen der Verknüpfungsschaltung verbunden ist, daß die Aus gangs signale der Verknüpfungsschaltung als Adressen eines dritten Speichers (584) dienen, ■ der vorgegebene Substitutionswerte enthält, und daß der Ausgang des ι
dritten Speichers mit einer Permutations schaltung verbunden ist.
17. Einrichtung nach Anspruch 16, dadurch gekennzeichnet, daß die Stellen- j
zahl der von den Aus gangs Signalen der Verknüpfungsschaltung (500 bis !
514) parallel im dritten Speicher (584) aufrufbaren Substitutionswerte
der Bitstellenzahl der Informations bits im ersten Speicher (200) entspricht. ;
der Bitstellenzahl der Informations bits im ersten Speicher (200) entspricht. ;
18. Einrichtung nach Anspruch 16 oder 17, dadurch gekennzeichnet, daß i
die Stellenzahl-Differenz zwischen den zu chiffrierenden Informations- ι
bits und den Chiffrier schlüsselbits in der Größenordnung der halben
Stellenzahl der Informations bits liegt, ·
19. Einrichtung nach einem der Ansprüche 16 bis 18, dadurch gekennzeichnet,
daß die Stufen der Verknüpfungsschaltung (500 bis 514) in Gruppen
unterteilt sind, von denen jede eine Adresse einer mehrere Substitutions-
unterteilt sind, von denen jede eine Adresse einer mehrere Substitutions-
bits enthaltenden Speicherzelle (586 bis 589) liefert, und daß die vom
KI 975 001/002
KI 975 001/002
609837/0838
ersten Speicher (200) mehrfach zugeführten Eingänge jeweils mit den
Stufen der Randbitstellen benachbarter Gruppen (z, B. 500 und 502) verbunden
sind.
20. Einrichtung nach einem der Ansprüche 9 bis 19» dadurch gekennzeichnet,
daß zwischen die Aus gangs leitungen der arithmetischen/logischen Verknüpfungsschaltung (500 bis 514) und den die Substitutionswerte enthaltenden
Speicher (584) ein Dekodierer (552) geschaltet ist.
21. Einrichtung nach einem der Ansprüche 8 bis 20, dadurch gekennzeichnet,
daß als arithmetischea/logische Verknüpfungsschaltungen (500 bis 514
und 650 bis 664) mehrstufige Modulo-2-Addierer dienen.
22. Einrichtung nach einem der Ansprüche 9 bis 21, dadurch gekennzeichnet,
daß der die Substitutions werte enthaltende Speicher (584) ein Festwertspeicher
ist.
23. Einrichtung nach einem der Ansprüche 9 bis 22, dadurch gekennzeichnet,
daß in den Permutations schaltungen (300, 450, 6C0, 800) jeweils die Zuordnung zwischen den Bitstellen der Eingangsleitungen und den Bitstellen
der Aus gangs leitungen nach einem vorgegebenen Schema geändert ist.
KI 975 001/002
609837/0638
• So·
Leerseite
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/552,685 US3958081A (en) | 1975-02-24 | 1975-02-24 | Block cipher system for data security |
US55268575 | 1975-02-24 | ||
US55268475 | 1975-02-24 | ||
US05/552,684 US3962539A (en) | 1975-02-24 | 1975-02-24 | Product block cipher system for data security |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2558206A1 true DE2558206A1 (de) | 1976-09-09 |
DE2558206B2 DE2558206B2 (de) | 1977-04-21 |
DE2558206C3 DE2558206C3 (de) | 1977-12-15 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4484025A (en) * | 1980-02-04 | 1984-11-20 | Licentia Patent-Verwaltungs-Gmbh | System for enciphering and deciphering data |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4484025A (en) * | 1980-02-04 | 1984-11-20 | Licentia Patent-Verwaltungs-Gmbh | System for enciphering and deciphering data |
Also Published As
Publication number | Publication date |
---|---|
DE2558206B2 (de) | 1977-04-21 |
FR2301873A1 (fr) | 1976-09-17 |
FR2301873B1 (de) | 1978-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0986872B1 (de) | Vorrichtung zur durchführung eines blockchiffrierverfahrens | |
DE69416684T2 (de) | System und anordnung zum blockweisen verschlüsseln/entschlüsseln von daten | |
DE602005002632T2 (de) | Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten | |
DE69728465T2 (de) | Nichtparalleler Mehrzyklus-Verschlüsselungsapparat | |
DE2658065A1 (de) | Maschinelles chiffrieren und dechiffrieren | |
DE69429126T2 (de) | Hardware-Anordnung zur Verschlüsselung von Bitblocks mit Erneuerung des Schlüssels bei jeder Iteration | |
DE69731470T2 (de) | Spiral-verwürfelungsverfahren | |
DE2231849C3 (de) | Verschlüsselungsverfahren zur Erhöhung der Entschlüsselungsfestigkeit von blockweise zu verschlüsselnden Binärdaten und Anordnung zur Durchführung des Verfahrens | |
DE69119844T2 (de) | Chiffriergerät | |
EP0012974B1 (de) | Verfahren zur Chiffrierung von Datenblöcken einer vorgegebenen Länge | |
DE10345378B4 (de) | Verfahren und Vorrichtung zur Ver-/Entschlüsselung | |
DE10324422B4 (de) | Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert | |
DE102004018874B4 (de) | Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses | |
EP1683029B1 (de) | Verfahren zur speicherung von daten in einem wahlzugriffspeicher und verschlüsselungs- und entschlüsselungsvorrichtung | |
EP3127272B1 (de) | Verschlüsselungsverfahren und pseudo-zufallszahlengenerator | |
DE2459476C3 (de) | ||
DE10352680A1 (de) | Verschlüsselungsvorrichtung und Verschlüsselungsverfahren | |
DE2558206C3 (de) | Verfahren und Einrichtung zum Chiffrieren und autorisierten Dechiffrieren von Informationsblöcken | |
DE2558206A1 (de) | Verfahren und einrichtung zum chiffrieren und autorisierten dechiffrieren von informationsbloecken | |
DE19757370C2 (de) | Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte | |
DE2459476A1 (de) | Schaltungsanordnung fuer nichtzyklische datenpermutationen | |
DE2639806C2 (de) | Verfahren und Einrichtung zum Verschlüsseln oder Entschlüsseln von Datenblöcken in binärer Darstellung | |
DE2450669A1 (de) | Verfahren und schaltungsanordnungen zur verschluesselung und entschluesselung | |
DE2252670C3 (de) | Verfahren und Anordnung zum Ver- und Entschlüsseln von Datenblöcken | |
DE2207566C3 (de) | Serien-Parallel-Multiplizierwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 |