DE3689510T2 - Einrichtung und Verfahren zur Datenverschleierung. - Google Patents
Einrichtung und Verfahren zur Datenverschleierung.Info
- Publication number
- DE3689510T2 DE3689510T2 DE3689510T DE3689510T DE3689510T2 DE 3689510 T2 DE3689510 T2 DE 3689510T2 DE 3689510 T DE3689510 T DE 3689510T DE 3689510 T DE3689510 T DE 3689510T DE 3689510 T2 DE3689510 T2 DE 3689510T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- function processing
- obfuscation
- channel
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000012545 processing Methods 0.000 claims description 335
- 230000006870 function Effects 0.000 claims description 217
- 230000004087 circulation Effects 0.000 claims description 44
- 230000000694 effects Effects 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000008859 change Effects 0.000 description 27
- 238000013478 data encryption standard Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Facsimile Transmission Control (AREA)
Description
- Diese Erfindung bezieht sich auf eine Datenverschleierungseinrichtung und auf ein Verfahren zum Zufallsverteilen bzw. Verschleiern von digitalen Daten, das bei Zufallszahlengeneratoren zum Erzeugen von Zufallszahlen digitaler Daten und bei Verschlüsselungs- und Entschlüsselungsverfahren von Verschlüsselungseinrichtungen einzusetzen ist.
- Zunächst wird die Datenverschleierungseinrichtung kurz beschrieben. Wie in Fig. 1 gezeigt ist, empfängt die Datenverschleierungseinrichtung digitale Eingangsdaten und digitale Parameter- Daten und stellt verschleierte Daten als Ausgangsdaten bereit.
- Eine Datenverschleierungseinrichtung hoher Güte besitzt die Eigenschaft, daß nahezu die Hälfte der Ausgangsdatenbits bei einer geringfügigen Änderung der Eingangsdaten oder Parameter- Daten geändert werden.
- Der Stand der Technik (COMPUTER, Band 10, Nr. 6, Juni 1977, Seiten 74 bis 84, Northridge, US; W. Diffie et al: "Exhaustive cryptanalysis of NBS data encryption standard") wird als ein Beispiel einer Datenverschleierungseinrichtung beschrieben, die in dem DES-Verschlüssler als eine typische Verschlüsselungseinrichtung eingesetzt wird. Fig. 2 zeigt diese Datenverschleierungseinrichtung. Die Größe der 32-Bit-Eingangsdaten wird durch eine Datenexpandiereinrichtung 12 in 48-Bit-Daten aufgeweitet. Bei dieser Datenerweiterung werden die 32-Bit-Eingangsdaten in acht Blöcke aus jeweils 4 Bits aufgeteilt und die Bits auf beiden Seiten jedes 4-Bit- Blocks werden jeweils in zwei Bits aufgezweigt.
- Ein EXKLUSIV-ODER-Abschnitt 13 bildet eine EXKLUSIV-ODER-Verknüpfung zwischen jedem Bit der expandierten 48-Bit-Daten und einem korrespondierenden Bit von 48- Bit- Parameter- Daten. Die resultierenden 48-Bit-Daten werden in acht Blöcke aus jeweils 6 Bits aufgeteilt und diese Datenblöcke werden jeweiligen Festwertspeichern (ROM) 14&sub1; bis 14&sub8; zugeführt, die gemeinsam als S-Blöcke bezeichnet sind. Die S-Blöcke 14&sub1; bis 14&sub8; erzeugen jeweils 4-Bit-Daten, wobei die 6-Bit-Eingangsdaten als eine Adresse herangezogen werden. Die 32-Bit-Daten, die die Ausgangssignale aller S-Blöcke 14&sub1; bis 14&sub8; bilden, werden einem Permutationsabschnitt 15 zugeführt, der durch eine verdrahtete Schaltung gebildet ist. Der Permutationsabschnitt 15 bewirkt eine Umordnung der Bitposition der 32-Bit-Eingangsdaten und gibt das resultierende Ausgangssignal als ein verschleiertes Ausgangssignal ab.
- Bei dieser herkömmlichen Einrichtung verändern sich bei einer Änderung des Eingangssignals jedes der S-Blöcke 14&sub1; bis 14&sub8; lediglich mindestens ein Bit bis maximal 4 Bits des Ausgangssignals von "0" zu "1" oder von "1" zu "0", d. h. durchschnittlich 2,5 Bits des Ausgangssignals. Dies bedeutet, daß bei Auftreten der Veränderung eines Bits in den Eingangsdaten der herkömmlichen Datenverschleierungseinrichtung lediglich mindestens ein Bit bis maximal 8 Bits, d. h. lediglich durchschnittlich 4 Bits der 32-Bit-Ausgangsdaten geändert werden. Weiterhin werden bei einer Veränderung eines Bits der Parameter-Daten dieser Einrichtung lediglich 2,5 Bits der Ausgangsdaten geändert.
- Die EP-A 0 105 553 offenbart einen Aufbau, bei dem eine Mehrzahl von Datenverschlüsselungs-Standardschaltungen (DES) eingesetzt werden, wobei jede DES auf der Basis einer Zeitteilung realisiert ist. 8 Eingangskanäle sind jeweils für ein Byte (8 Bits) vorgesehen. Die 64-Bit- Eingangsdaten werden der DES Byte für Byte zugeführt und auf der Basis der Zeitteilung bearbeitet. Der Chiffretext wird von der DES-Einheit Byte für Byte abgegeben. Manche der leitungsverbundenen, aufeinanderfolgenden DES-Einheiten enthalten EXKLUSIV-ODER-Schaltungen und manche nicht. Es ist keine bidirektionale Interaktion zwischen den Kanälen vorhanden. Die grundlegende Idee, die bei der herkömmlichen Schaltung herangezogen wird, besteht in der Addition einer Hälfte der Bits der chiffrierten Textdaten zu den anderen Bits der Textdaten.
- Die Aufgabe der Erfindung besteht in der Bereitstellung einer Datenverschleierungseinrichtung und eines Datenverschleierungsverfahrens, bei der bzw. dem nahezu eine Hälfte der Ausgangsdatenbits bei einer Veränderung eines Bits oder einer sehr kleinen Anzahl von Bits der Eingangsdaten geändert werden. Diese Aufgabe wird durch die in den Ansprüchen definierte Erfindung gelöst.
- Gemäß der Erfindung werden Eingangsdaten durch eine Aufteilungseinrichtung in eine Mehrzahl von Blöcken aufgeteilt, die jeweils gleiche Datenlänge besitzen, um als Kanaldaten in jeweiligen Verarbeitungskanälen verarbeitet zu werden. Alle Kanaldaten werden zumindest einmal einer Funktionsoperation in direkter oder indirekter Beziehung zu allen anderen Kanaldaten in einer Funktionsverarbeitungseinrichtung unterzogen, wodurch die Kanaldaten erneuert werden. Alle Kanaldaten werden weiterhin einer Transformationsoperation in einer Transformationsverarbeitungseinrichtung unterzogen, wodurch die neuen Kanaldaten zu weiteren neuen Kanaldaten modifiziert werden. Erhaltene abschließende Kanaldaten nach den Funktions- und Transformationsverarbeitungen werden in einer Zusammenfassungseinrichtung zur Erzeugung von den Eingangsdaten entsprechenden verschleierten Daten zusammengefaßt. Wenn Parameter-Daten eingesetzt werden, werden zumindest Daten eines Kanals einer Funktionsoperation durch die Funktionsverarbeitungseinrichtung in Relation zu den Parameter- Daten unterzogen, um neue Kanaldaten oder neue Parameter-Daten zu erhalten.
- Die Funktionsverarbeitungseinrichtung führt eine EXKLUSIV-ODER-Verknüpfung zweier Daten oder eine Additionsoperation zweier Daten und dann eine Modulo-Operation der resultierenden Summendaten durch. Die Transformations- bzw. Umkodierungs-Verarbeitungseinrichtung bewirkt eine Bitumlaufverarbeitung von Kanaldaten oder eine Bitpositions-Permutationsverarbeitung von Kanaldaten mittels einer verdrahteten Schaltung oder eine Umkodierungsverarbeitung von Kanaldaten einschließlich einer Datenänderung unter Heranziehung eines Festwertspeichers oder eines ähnlichen Speichers. In manchen Fällen ist eine Umschalteinrichtung zur selektiven Benutzung der Umkodierungs-Verarbeitungseinrichtung und der Funktionsverarbeitungseinrichtung entsprechend Kanaldaten oder Parameter-Daten oder zur selektiven Benutzung der Umkodierungs- oder Funktionsverarbeitungseinrichtung und einer Umgehungseinrichtung vorhanden.
- Gemäß einem weiteren Gesichtspunkt der Erfindung ist eine Mehrzahl von Verschleierungsstufen in Kaskadenverschaltung vorhanden, wobei jede Stufe eine Verschleierungseinrichtung enthält. Eingangsdaten werden der ersten der kaskadenverschalteten Verschleierungsstufen für die Verschleierung mittels der aufeinanderfolgenden Verschleierungsstufen zugeführt. In allen oder manchen Verschleierungsstufen, die einer N-ten nachfolgen (N ist eine ganze Zahl gleich oder größer als 2), werden die Eingangsdaten der Verschleierungseinrichtung der vorhergehenden Verschleierungsstufe als Parameter-Daten für die Verschleierungseinrichtung der betroffenen Stufe zugeführt. Als Verschleierungseinrichtung kann die vorstehend erwähnte Verschleierungseinrichtung eingesetzt werden.
- Gemäß der Erfindung werden alle aus einer Mehrzahl von Kanaldaten einer Funktionsverarbeitung in direkter oder indirekter Relation zu allen anderen Kanaldaten unterzogen, so daß jegliche abschließende Kanaldaten durch alle Kanaldaten beeinflußt sind. Daher führt eine Veränderung eines Bits in den Eingangsdaten zu einer Veränderung einer großen Anzahl von Bits der Ausgangsdaten.
- Fig. 1 zeigt eine Ansicht, die ein Schema der Verschleierungseinrichtung veranschaulicht;
- Fig. 2 zeigt eine Ansicht, die eine Datenverschleierungseinrichtung veranschaulicht, die als eine herkömmliche DES-Verschlüsselungseinrichtung eingesetzt wird;
- Fig. 3 ist ein Blockschaftbild, das ein Beispiel der Anordnung der Datenverschleierungseinrichtung gemäß der Erfindung zeigt;
- Fig. 4 ist ein Blockschaltbild, das ein Ausführungsbeispiel der Datenverschleierungseinrichtung gemäß der Erfindung zeigt;
- Fig. 5 ist ein Blockschaltbild, das ein anderes Ausführungsbeispiel der Datenverschleierungseinrichtung gemäß der Erfindung zeigt;
- Fig. 6 ist ein Blockschaltbild, das ein weiteres Ausführungsbeispiel der Erfindung zeigt, bei dem Umkodierungs- und Funktionsverarbeitungen dynamisch umgeschaltet werden;
- Fig. 7 ist ein Blockschaltbild, das ein weiteres Ausführungsbeispiel der Erfindung zeigt, das bei einer mit 16-Bit-Eingangsdaten arbeitenden Datenverschleierungseinrichtung eingesetzt ist;
- Fig. 8 ist ein Blockschaltbild, das ein weiteres Ausführungsbeispiel der Datenverschleierungseinrichtung gemäß der Erfindung zeigt, bei dem eine gleichartige Verschleierungsverknüpfung in einer Vielzahl von Stufen durchgeführt wird;
- Fig. 9 ist ein Blockschaltbild, das ein weiteres Ausführungsbeispiel der Datenverschleierungseinrichtung gemäß der Erfindung zeigt, bei dem eine gleichartige Verschleierungsverarbeitung in einer Vielzahl von Stufen ohne Benutzung irgendwelcher Parameter-Daten durchgeführt wird;
- Fig. 10 ist ein Blockschaltbild, das ein weiteres Ausführungsbeispiel der Erfindung zeigt, das bei einer Datenverschleierungseinrichtung in dem Fall eingesetzt wird, daß 224-Bit- Parameter-Daten eingesetzt werden; und
- Fig. 11 ist ein Blockschaltbild, das ein weiteres Ausführungsbeispiel der Verschleierungseinrichtung gemäß der Erfindung zeigt, bei dem 128-Bit-Eingangsdaten zur Bildung von 224-Bit-Ausgangsdaten verschleiert werden.
- Fig. 3 zeigt ein Beispiel der Anordnung der erfindungsgemäßen Einrichtung. Eingangsdaten R werden durch eine Aufteilungseinrichtung 21 in eine Mehrzahl von Blöcken mit jeweils einer Datenlänge von n Bits unterteilt. Die von der Aufteilungseinrichtung 21 erhaltenen einzelnen Blockdaten werden als Kanaldaten über jeweilige Verarbeitungskanäle 25 bis 28 verarbeitet. In jedem Verarbeitungskanal werden die Kanaldaten mittels zumindest eines Funktionsverarbeitungsabschnitts 22 und, bei Anforderung mittels eines Umkodierungsabschnitts 23 verarbeitet. Die Ausgangssignale der einzelnen Kanäle 25 bis 28 werden durch einen Zusammenfassungsbzw. Verknüpfungsabschnitt 24 zur Erzielung von Ausgangsdaten zusammengefaßt.
- Jeder Funktionsverarbeitungsabschnitt 22 führt eine Funktionsbearbeitung der Eingangskanaldaten des jeweiligen Kanals mit Kanaldaten eines anderen Kanals oder mit Parameter-Daten zur Bildung von erneuerten bzw. aktualisierten Kanaldaten durch. Er kann aber auch eine Funktionsverarbeitung der Kanaldaten und Parameter-Daten zur Erzeugung neuer Parameter-Daten durchführen. Jeder Umkodierungsabschnitt 23 bewirkt eine Bitzirkulation oder Bitpermutationsverarbeitung der angegebenen Kanaldaten des jeweiligen Kanals zur Bildung neuer Kanaldaten.
- Fig. 4 zeigt ein Ausführungsbeispiel der Erfindung. Bei diesem Ausführungsbeispiel werden 32- Bit-Eingangsdaten zur Bildung von verschleierten 32-Bit-Ausgangsdaten unter Heranziehung von 16 Bits von Parameter-Daten verarbeitet. Die 32-Bit-Eingangsdaten R werden durch den Aufteilungsabschnitt 21 in 8-Bit-Blöcke R0 bis R3 unterteilt.
- Die Blockdaten R0 bis R3 werden als Kanaldaten eingegeben und durch jeweilige Verarbeitungskanäle 25 bis 28 verarbeitet, die zwischen dem Aufteilungsabschnitt 21 und dem Verknüpfungsabschnitt 24 vorgesehen sind. Lm Kanal 25 sind eine Additions/Modulo-Verknüpfungsschaltung 29 und eine Bitumlauf- bzw. Bitzirkulierschaltung 30 in der angegebenen Reihenfolge vorhanden. Im Kanal 26 sind EXKLUSIV-ODER-Schaltungen (im folgenden als EOR- Schaltungen bezeichnet) 31 und 32, eine Additions/Modulo-Verarbeitungsschaltung 33 und eine Bitzirkulierschaltung 34 in der angegebenen Reihenfolge vorgesehen. Im Kanal 27 sind EOR-Schaltungen 35 und 36, eine Additions/Modulo-Verarbeitungsschaltung 37 und eine Bitzirkulierschaltung 38 vorhanden. Im Kanal 28 sind eine Additions/Modulo-Verarbeitungsschaltung 39 und eine Bitzirkulierschaltung 41 vorgesehen. Parameter-Daten P0 und P1 werden den jeweiligen EOR-Schaltungen 31 und 35 zugeführt und die Blockdaten R0 und R3 werden an die jeweiligen EOR-Schaltungen 32 und 36 angelegt. Eine Konstante + 1 und Ausgangssignale der EOR-Schaltungen 32 und 36 werden an die Additions/Modulo-Verarbeitungsschaltung 33 angelegt. Das Ausgangssignal der Additions/Modulo-Verarbeitungsschaltung 33 wird der Bitzirkulierschaltung 34 zugeführt. Das Ausgangssignal der Bitzirkulierschaltung 34 wird an die Additions/Modulo-Verarbeitungsschaltung 29 angelegt. Die Ausgangssignale der Bitzirkulierschaltung 34 und der EOR-Schaltung 36 werden in die Additions/Modulo-Verarbeitungsschaltung 37 eingespeist. Eine Konstante + 1, Blockdaten R3 und ein Ausgangssignal der Bitzirkulierschaltung 38 werden an die Additions/Modulo-Verarbeitungsschaltung 39 angelegt.
- Die EOR-Schaltungen 31, 32, 35 und 36 führen jeweils Bit für Bit eine EXKLUSIV-ODER-Verknüpfung der beiden Eingangsdaten durch. Die Additions/Modulo-Verarbeitungsschaltungen 29, 33, 37 und 39 bewirken jeweils eine Addition der Eingangsdaten und führen dann eine Modulo- 256-Verknüpfung der resultierenden Summendaten aus. Eine Moduloverknüpfung x mod y bedeutet eine Verknüpfung zum Erhalt des Rests der Division von x durch y. Die Bitzirkulierschaltungen 30, 34, 38 und 41 führen jeweils eine 2-Bit-Linksumlaufverschiebung ihrer Eingangsdaten aus. Die EOR-Schaltungen 31, 32, 35 und 36 und die Additions/Modulo-Verarbeitungsschaltungen 29, 33, 37 und 39 bilden jeweils den Funktionsverarbeitungsabschnitt 22, während die Bitzirkulierschaltungen 30, 34, 38 und 41 jeweils den Umkodierabschnitt 23 in Fig. 3 bilden.
- Bei dieser Einrichtung werden die Eingangsdaten der nachfolgenden Verschleierungsverarbeitung unterzogen, wobei Variable R0, R1, R2 und R3 die Kanaldaten der jeweiligen Kanäle 25, 26, 27 und 28 bezeichnen, P0 und P1 die Parameter-Daten repräsentieren, der Ausdruck "cir" einen Vorgang einer 2-Bit-Linksumlaufverschiebung von Daten bezeichnet und ein Symbol eines nach links zeigenden Pfeils "←" die Zuweisung des Ergebnisses der Verarbeitung auf der rechten Seite an die Variable auf der linken Seite bedeutet.
- 1. Schritt: R1 ← R1 P0 R0 in Schaltungen 31 und 32 R2 ← R2 P1 R3 in Schaltungen 35 und 36
- 2. Schritt: R1 ← (R1 + 1 + R2) mod 256 in Schaltung 33
- 3. Schritt: R1 ← cir R1 in Schaltung 34
- 4. Schritt: R2 ← (R1 + R2) mod 256 in Schaltung 37
- 5. Schritt: R2 ← cir R2 in Schaltung 38
- 6. Schritt: R0 ← (R0 + R1) mod 256 in Schaltung 29 R3 ← (R3 + R2 + 1) mod 256 in Schaltung 39
- 7. Schritt: R0 ← cir R0 in Schaltung 30 R3 ← cir R3 in Schaltung 41
- Die abschließenden Kanaldaten R0 bis R3 der einzelnen Kanäle 25 bis 28, die durch die vorstehend beschriebene Verschleierungsverarbeitung erhalten wurden, werden im Verknüpfungsabschnitt 24 zur Bildung von Ausgangsdaten zusammengefaßt.
- Die abschließenden Daten jedes Kanals sind entweder direkt oder indirekt durch die Blockdateneingaben in allen Kanälen 25 bis 28 beeinflußt. Beispielsweise läßt sich bezüglich der Kanaldaten R0 erkennen, daß die Kanaldaten R2 und R3 jeweils gegenseitig in der EOR-Schaltung 36 beeinflußt sind, dessen Ausgangssignal wiederum die Kanaldaten R1 in der Additions/Modulo- Verarbeitungsschaltung 33 beeinflußt, die durch die Bitzirkulierschaltung 34 mit der Additions/ Modulo-Verarbeitungsschaltung 29 gekoppelt ist. Das bedeutet, daß die Kanaldaten R0 durch all die anderen Kanaldaten R1 bis R3 beeinflußt sind. In dieser Weise werden alle Kanaldaten durch die anderen beeinflußt. Wenn demzufolge eine Veränderung eines Bits der Eingangsdaten auftritt, werden auch die übrigen Kanaldaten durch diese 1-Bit-Veränderung beeinflußt. In jeder der EOR-Schaltungen 32 und 36 führt eine Veränderung eines Bits der an diese angelegten Kanaldaten zu einer Veränderung eines Bits von deren Ausgangsdaten. In jeder der Additions/Modulo-Verarbeitungsschaltungen 29, 33, 37 und 39 führt eine Veränderung eines Bits der in diese eingespeisten Kanaldaten zu einer Veränderung von zumindest einem Bit und von maximal allen Bits, d. h. bei diesem Ausführungsbeispiel von 8 Bits, der von diesen abgegebenen Ausgangsdaten. In jeder der Bitzirkulierschaltungen 30, 34, 38 und 41 führt eine 1-Bit-Veränderung in den an diese angelegten Kanaldaten zu einer 2-Bit-Veränderung in deren Ausgangsdaten. Folglich führt eine 1-Bit-Veränderung in den Eingangsdaten R zu einer Veränderung von durchschnittlich 11 Bits der Ausgangsdaten. Diese Wirkung ist eine erhebliche Verbesserung gegenüber der in Fig. 2 gezeigten herkömmlichen Technik, bei der eine 1-Bit-Veränderung im Eingangssignal zu einer Veränderung von lediglich ungefähr 4 Bits des Ausgangssignals führt.
- Bei dem in Fig. 4 gezeigten Ausführungsbeispiel werden die Parameter-Daten P0 und P1 direkt mit den unmittelbar vom Aufteilungsabschnitt 21 stammenden Kanaldaten verknüpft. Folglich beeinflußt eine 1-Bit-Veränderung der Parameter-Daten alle Kanaldaten, so daß ein starker Verschleierungseffekt erzielbar ist. Bei dem vorstehenden Ausführungsbeispiel wurde erläutert, daß die Bitzirkulierschaltungen 30, 34, 38 und 41 einen Bitumlauf um 2 Bits durchführen; sie können aber auch ein anderes Ausmaß der Bitverschiebung bewerkstelligen.
- Bei dem vorstehend beschriebenen Ausführungsbeispiel gemäß Fig. 4 werden die Parameter- Daten mit den Kanaldaten verknüpft, um erneuerte Kanaldaten zu erzeugen. Es ist jedoch auch möglich, das Verknüpfungsergebnis als neue Parameter-Daten in der Einrichtung zu benutzen. Fig. 5 zeigt ein anderes Ausführungsbeispiel, bei dem neue Parameter-Daten durch die vorstehend angegebene Verknüpfung erzeugt werden. In Fig. 5 sind Abschnitte, die denjenigen in Fig. 4 entsprechen, mit denselben Bezugszahlen versehen. Bei diesem Ausführungsbeispiel sind diejenigen, die den EOR-Schaltungen 31 und 35 in den Verarbeitungskanälen 26 und 27 gemäß Fig. 4 entsprechen, denen Parameter-Daten zugeführt werden, entfallen. Statt dessen sind EOR-Schaltungen 42, 43, 44 und 45 mit Fremdkanaldaten-Eingabeseiten der Additions/Modulo- Verarbeitungsschaltungen 29, 33, 37 und 39 in den Kanälen 25, 26, 27 und 28 verbunden. Parameter-Daten P2, P0, P1 und P3 werden den jeweiligen EOR-Schaltungen 42, 43, 44 und 45 zugeführt und mit den an diese angelegten Kanaldaten verknüpft, wodurch neue Parameter- Daten erzeugt werden, die den entsprechenden Additions/Modulo-Verarbeitungsschaltungen 29, 33, 37 und 39 zuzuführen sind. Auch in diesem Fall führt eine 1-Bit-Änderung in den Eingangsdaten R zu einer durchschnittlichen 11-Bit-Änderung in den Ausgangsdaten.
- Es ist möglich, eine dynamische Umschaltung der Arten der Bearbeitungen entsprechend den Werten der Kanaldaten und/oder Parameter-Daten zu bewirken. Fig. 6 zeigt ein weiteres Ausführungsbeispiel, das eine solche Umschaltung erlaubt. In der Figur sind Abschnitte, die denjenigen in Fig. 4 entsprechen, mit denselben Bezugszeichen bezeichnet. Bei diesem Ausführungsbeispiel enthält der Verarbeitungskanal 25 eine Kaskadenschaltung einer EOR-Schaltung 46, eines Multiplexers 47, einer Permutationsschaltung 48, einer EOR-Schaltung 49, einer Additions/Modulo-Verarbeitungsschaltung 29 und eines Umkodierungsspeichers 51 in der angegebenen Reihenfolge. Ein Ausgang des Multiplexers 47 ist mit dem Ausgang der Permutationsschaltung 48 zur Bildung eines Umgehungspfads (bypass) verbunden. Im Kanal 26 sind EOR- Schaltungen 31 und 32, eine Additions/Modulo-Verarbeitungsschaltung 33, eine EOR-Schaltung 52, die Bitzirkulierschaltung 34 und eine Additions/Modulo-Verarbeitungsschaltung 53 in Kaskadenschaltung in der angegebenen Reihenfolge vorgesehen. Im Kanal 27 sind EOR-Schaltungen 35, 36 und 54 und eine Additions/Modulo-Verarbeitungsschaltung 37 in Kaskadenschaltung in der erwähnten Reihenfolge vorhanden. Im Kanal 28 sind eine Additions/Modulo- Verarbeitungsschaltung 55, ein Multiplexer 56, eine Parallelkombination bzw. -schaltung einer Additions/Modulo-Verarbeitungsschaltung 57 und eines Umkodierspeichers 58, Multiplexers 59 sowie eine Parallelkombination bzw. -schaltung einer Additions/Modulo-Verarbeitungsschaltung 61 und einer Permutationsschaltung 62 in Kaskadenschaltung in der angegebenen Reihenfolge vorgesehen. Zwei Ausgangssignale des Multiplexers 56 werden der jeweiligen Additions/Modulo-Verarbeitungsschaltung 57 und dem Umkodierspeicher 58 zugeführt, deren beide Ausgänge mit demselben Eingang des Multiplexers 59 verbunden sind. Zwei Ausgangssignale des Multiplexers 59 werden der Additions/Modulo-Verarbeitungsschaltung 61 und der Permutationsschaltung 62 zugeführt, deren Ausgänge miteinander verbunden sind. Parameter-Daten P2 und P3 werden den jeweiligen EOR-Schaltungen 46 und 52 zugeführt. Das Ausgangssignal der Bitzirkulierschaltung 34 wird an die EOR-Schaltung 49 angelegt. Das Ausgangssignal der Additions/Modulo-Verarbeitungsschaltung 37 wird den Additions/Modulo-Verarbeitungsschaltungen 53, 57 und 61 zugeführt. Das Ausgangssignal der Additions/Modulo-Verarbeitungsschaltung 33 wird an die Additions/Modulo-Verarbeitungsschaltung 55 angelegt. Die Multiplexer 47, 56 und 59 stellen jeweils ihr Eingangssignal als jeweils eines ihrer beiden Ausgangssignale in Übereinstimmung mit 1-Bit-Steuerdaten bereit. Die Multiplexer 47 und 56 werden durch jeweilige 1-Bit-Parameter-Daten P4 und PS gesteuert. Der Multiplexer 59 wird durch ein bestimmtes Bit des Ausgangssignals der Additions/Modulo-Verarbeitungsschaltung 37 gesteuert. Die Permutationsschaltungen 48 und 62 bewirken jeweils eine Permutation bzw. Vertauschung von Bitpositionen der Eingangsdaten mittels rein bzw. einfacher verdrahteter Schaltungen. Die Umkodierspeicher 51 und 58 können jeweils aus einem Festwertspeicher ROM bestehen. Ihre Eingangsdaten werden als Adressen zum Auslesen von transformierten bzw. umkodierten Daten eingesetzt.
- Bei dieser Anordnung legt der Multiplexer 47 das Ausgangssignal der EOR Schaltung 46 in Abhängigkeit vom Wert der Parameter Daten P4 entweder direkt oder nach Umkodierung mittels der Permutationsschaltung 48 an die EOR-Schaltung 49 an. In dieser Weise wird die Verknüpfung der Kanaldaten dynamisch entsprechend den Parameter-Daten umgeschaltet. Die Kombination der über die Multiplexer 56 und 59 wählbaren Zustände erlaubt eine Vielzahl bzw. Abänderung der dynamischen Veränderung bei der Verknüpfungsverarbeitung der Kanaldaten.
- Bei dem vorstehend erläuterten Ausführungsbeispiel wurden 32-Bit-Eingangsdaten R in vier 1- Byte-Blöcke aufgeteilt. Fig. 7 zeigt ein weiteres Ausführungsbeispiel der Einrichtung, die eine Verschleierung von 16-Bit-Eingangsdaten bewirkt. 16-Bit-Eingangsdaten werden durch die Aufteilungseinrichtung 21 in 8-Bit-Blockdaten R0 und R1 zur Verarbeitung durch jeweilige Kanäle 25 und 26 aufgeteilt. Der Kanal 25 enthält eine Additions(Modulo-Verarbeitungsschaltung 29 und eine Bitzirkulierschaltung 30, die in der angegebenen Reihenfolge in Kaskade angeordnet sind. Der Kanal 26 enthält eine Additions/Modulo-Verarbeitungsschaltung 33 und eine Bitzirkulierschaltung 34, wobei diese Abschnitte in der angegebenen Reihenfolge in Kaskade vorgesehen sind. Eine EOR-Schaltung 63 bewirkt eine EXKLUSIV-ODER-Verknüpfung der Blockdaten, d. h. der Kanaldaten R0 und der Parameter-Daten P0, wobei deren Ausgangsdaten der Additions/Modulo-Verarbeitungsschaltung 33 zugeführt werden. Die Additions/Modulo-Verarbeitungsschaltung 33 wird weiterhin mit den Kanaldaten R1 und einer Konstanten + 1 gespeist und legt ihr Ausgangssignal an die Bitzirkulierschaltung 34 an. Eine EOR-Schaltung 64 führt eine EXKLUSIV-ODER-Verknüpfung des Ausgangssignals der Bitzirkulierschaltung 34 und der Parameter-Daten P1 durch, wobei ihre Ausgangsdaten der Additions/Modulo-Verarbeitungsschaltung 29 zugeführt werden.
- Diese Einrichtung führt das nachstehend angegebene Verschleierungsverfahren durch.
- 1. Schritt: R1 ← ((RO P0) + R1 + 1) mod 256 in den Schaltungen 33 und 63
- 2. Schritt: R1 ← cir R1 in Schaltung 34
- 3. Schritt: R0 ← ((R0 + (R1 P1)) mod 256 in den Schaltungen 29 und 64
- 4. Schritt: R0 ← cir R0 in Schaltung 30
- Verarbeitete Kanaldaten-Ausgangssignale R0 und R1 der Verarbeitungskanäle 25 und 26 werden durch die Verknüpfungseinrichtung 24 zur Bildung von 16-Bit-Ausgangsdaten zusammengefaßt.
- Unter Bezugnahme auf Fig. 8 wird nun eine Datenverschleierungseinrichtung beschrieben, die die verschiedenen Anordnungen der vorstehend beschriebenen Datenverschleierungseinrichtung in jeder von in Kaskade geschalteten mehreren Verschleierungsstufen benutzt. Eine EOR-Schaltung 66 führt eine EXKLUSIV-ODER-Verknüpfung von 64-Bit-Eingangsdaten und 64-Bit-Paraometer-Daten P4, P5, P6, P7 durch, wobei ihr Ausgangssignal durch einen Aufteilungsabschnitt 67 in linke und rechte Blockdaten mit jeweils 32 Bits unterteilt wird. Die linken Blockdaten werden unverändert einer ersten Verschleierungsstufe 68 zugeführt. Eine EOR-Schaltung 69 bewirkt eine EXKLUSIV-ODER-Verknüpfung der linken und rechten Blockdaten, wobei ihre Ausgangsdaten als rechte Blockdaten der ersten Verschleierungsstufe 68 zugeführt werden.
- In jeder Verschleierungsstufe 68 werden die eingegebenen rechten Daten direkt als linke Dateneingabe für die nachfolgende Verschleierungsstufe 68 zugeführt, während sie weiterhin einem Verschleierungsabschnitt 71 zur Verschleierung mit 16-Bit-Parameter-Daten zugeführt werden. Die verschleierte Datenausgabe des Verschleierungsabschnitts 71 und die linken Daten werden in der EOR-Schaltung 72 EXKLUSIV-ODER-verknüpft, deren Ausgangssignal als rechte Daten der nächsten Verschleierungsstufe 68 zugeführt werden. In diesem Fall sind vier Verschleierungsstufen 68 in Kaskadenverschaltung vorgesehen, wobei jede Verschleierungsstufe 68 dieselbe Verarbeitung durchführt. Die linke Datenausgabe der letzten Verschleierungsstufe 68 wird direkt einem Verknüpfungsabschnitt 73 zugeführt. Weiterhin wird sie an die EOR- Schaltung 74 für eine EXKLUSIV-ODER-Verknüpfung mit rechten Daten angelegt. Das Ausgangssignal der EOR-Schaltung 74 wird als rechte Daten an den Verknüpfungsabschnitt 73 angelegt. Der Verknüpfungsabschnitt 73 faßt die linken und rechten Daten zur Bildung von zusammengefaßten 64-Bit-Daten zusammen. Eine EOR-Schaltung 75 bewirkt eine EXKLUSIV- ODER-Verknüpfung der zusammengefaßten 64-Bit-Daten und von 64-Bit-Parameter-Daten zur Bildung einer verschleierten Datenausgabe. Der Verschleierungsabschnitt 71 in jeder Verschleierungsstufe 68 kann jede beliebige der verschiedenen, in den Fig. 3 bis 6 gezeigten Anordnungen sein.
- Fig. 9 zeigt eine Anordnung zum Verschleiern von Eingangsdaten ohne Benutzung irgendwelcher externer Parameter-Daten. In diesem Fall werden 64-Bit-Eingangsdaten durch den Aufteilungsabschnitt 67 in linke und rechte Blockdaten mit jeweils 32 Bits aufgeteilt. Die Blockdaten werden einer ersten aus einer Mehrzahl von kaskadenverschalteten Verschleierungsstufen 76 zugeführt. In jeder Verschleierungsstufe werden rechte Daten als linke Dateneingabe der nachfolgenden Verschleierungsstufe 76 zugeführt und weiterhin an eine EOR-Schaltung 77 angelegt. Ein Verschleierungsabschnitt 78 verschleiert linke Daten mit dem Ausgangssignal der EOR-Schaltung 77, die als interne Parameter-Daten benutzt werden. Das Ausgangssignal des Verschleierungsabschnitts 78 wird als rechte Daten der nachfolgenden Verschleierungsstufe 76 zugeführt. Eine geeignete Konstante D&sub0; wird an die EOR-Schaltung 77 in der ersten Verschleierungsstufe 76 angelegt, während in jeder der nachfolgenden Verschleierungsstufen die an die unmittelbar vorhergehende Verschleierungsstufe eingangsseitig angelegten linken Daten der EOR 77 zugeführt werden. Der Verschleierungsabschnitt 78 jeder Verschleierungsstufe 76 stellt 32-Bit-Daten als Teil von 192-Bit-Ausgangsdaten bereit. Dies bedeutet, daß die 64-Bit- Eingangsdaten in 192 Bits während ihrer Verschleierung expandiert werden. Der Verschleierungsabschnitt 78 kann irgendeine der vorstehend beschriebenen Anordnungen gemäß den Fig. 3 bis 6 sein.
- Eine Kombination der Anordnungen gemäß den Fig. 8 und 9 kann als Verschlüsselungsvorrichtung entweder zum Verschlüsseln eines normalen Textes oder zum Entschlüsseln eines Chiffretextes eingesetzt werden. Eine derartige Vorrichtung wurde durch die vorliegenden Erfinder in der Literatur mit dem Titel "Fast data encipherment algorithm FEAL", IECEJ Technical Report IT 86-33 (1986) vorgeschlagen. Die Verschlüsselung kann wie folgt realisiert werden: Die in Fig. 9 gezeigten 64-Bit-Eingangsdaten werden als ein Geheimschlüssel zugeführt. Die Ausgangsdaten von 32 mal 6 Bits, d. h. 192 Bits, der sechs Verschleierungsstufen 76 werden in der Reihenfolge der Stufen in zwölf Zwischenschlüssel P0 bis P11 mit jeweils 16 Bits aufgeteilt. Von diesen Zwischenschlüsseln werden die Zwischenschlüssel P0 bis P3 als Parameter-Daten den jeweiligen Verschleierungsstufen 68 in Fig. 8, die Zwischenschlüssel P4 bis P7 als Parameter- Daten der EOR-Schaltung 66, sowie die Zwischenschlüssel P8 bis P11 als Parameter-Daten der EOR-Schaltung 75 zugeführt. Bei Zuführung eines normalen Texts als Eingangssignal für die EOR-Schaltung 66 kann von der EOR-Schaltung 75 ein Chiffretext erhalten werden. Zum Entschlüsseln wird ein Chiffretext der EOR-Schaltung 66 zugeführt, Zwischenschlüssel P3, P2, P1 und P0 werden als Parameter-Daten den jeweiligen ersten bis letzten Verschleierungsstufen 68 zugeführt, während Zwischenschlüssel P8 bis P11 an die EOR-Schaltung 66 und Zwischenschlüssel P4 bis P7 an die EOR-Schaltung 75 angelegt werden, wie dies in Fig. 8 in Klammern gezeigt ist. Bei diesem Vorgehen kann von der EOR-Schaltung 75 ein ursprünglicher normaler Text erhalten werden.
- Bei der Anordnung gemäß Fig. 8 werden vier Verschleierungsstufen eingesetzt, wobei es aber selbstverständlich möglich ist, eine unterschiedliche Anzahl von Verschleierungsstufen vorzusehen. Fig. 10 zeigt eine sechsstufige Anordnung. In Fig. 10 sind Teile, die denjenigen gemäß Fig. 8 entsprechen, mit denselben Bezugszeichen bezeichnet und ihre Beschreibung entfällt. Fig. 11 zeigt ein Beispiel einer Datenverschleierungsvorrichtung zur Bildung von Zwischenschlüsseln, die dem Geheimschlüssel entsprechen, für den Fall, daß die Datenverschleierungseinrichtung gemäß Fig. 10 bei einer kryptographischen Vorrichtung benutzt wird. In diesem Fall sind der eingegebene Geheimschlüssel 128-Bit-Daten, die durch einen Aufteilungsabschnitt 80 in zwei Blockdaten mit jeweils 64 Bits aufgeteilt werden. Die beiden Blockdaten werden weiterhin durch Aufteilungsabschnitte 81 und 82 in Unterblockdaten mit jeweils 32 Bits unterteilt. Die beiden von den zwei Aufteilungsabschnitten 81 und 82 erhaltenen rechten Unterblockdaten werden in der EOR-Schaltung 83 EXKLUSIV-ODER-verknüpft, deren Ausgangssignal als linke Daten an die erste von kaskadenverschalteten Verschleierungsstufen 76 angelegt wird. Die beiden linken Unterblockdaten der Aufteilungsabschnitte 81 und 82 werden Verschleierungsabschnitten 84 und 85 zur Verschleierung bezüglich der rechten Unterblockdaten zugeführt. Die verschleierten Ausgangssignale der Verschleierungsabschnitte 84 und 85 werden einer EOR- Schaltung 86 zugeführt, deren Ausgangssignal als rechte Daten an die erste Verschleierungsstufe 76 angelegt wird. Die Verschleierungsstufen 76 besitzen dieselbe Ausgestaltung wie sie in Fig. 9 gezeigt ist, mit der Ausnahme, daß die EOR-Schaltung 77 in einer betroffenen Verschleierungsstufe 76 linke Daten empfängt, die an die Verschleierungsstufe angelegt werden, die der betroffenen Stufe 76 um drei Stufen vorhergeht. Jedoch werden alle "0"-Daten D&sub0; der EOR-Schaltung 77 der ersten Verschleierungsstufe 76 zugeführt und die vorstehend erwähnten rechten Unterblockdaten, die von den Aufteilungsabschnitten 81 und 82 abgegeben werden, werden den EOR-Schaltungen 77 der zweiten bzw. dritten Verschleierungsstufe 76 zugeführt.
- Die Ausgangssignale der Verschleierungsabschnitte 78 der jeweiligen Verschleierungsstufen 76 und die Ausgangssignale der Verschleierungsabschnitte 84 und 85 werden in Kombination als 244-Bit-Ausgangsdaten bereitgestellt. Eine Kombination der Anordnungen gemäß den Fig. 10 und 11 kann in folgender Weise als Verschlüsselungseinrichtung eingesetzt werden: Die in Fig. 11 gezeigte Anordnung wird als ein Geheimschlüsselprozessor eingesetzt, in den ein 128-Bit- Geheimschlüssel eingespeist wird und der 224-Bit-Ausgangsdaten erzeugt, die aus 14 Zwischenschlüsseln P0 bis P13 mit jeweils 16 Bits zusammengestellt sind. Die von den Verschleierungsabschnitten 84 und 85 abgegebenen Zwischenschlüssel P0 bis P3 und die von der ersten Verschleierungsstufe 76 stammenden Zwischenschlüssel P4 und PS werden der ersten bis letzten Verschleierungsstufe 68 in Fig. 10 als Parameter-Daten zugeführt, und es werden die von der zweiten und dritten Verschleierungsstufe 76 stammenden Zwischenschlüssel P6 bis P9 und die von der vierten und fünften Verschleierungsstufe 76 stammenden Zwischenschlüssel P10 bis P13 als Parameter-Daten an die EOR-Schaltungen 66 bzw. 75 in Fig. 10 angelegt.
- Wie vorstehend beschrieben, können die Anordnungen gemäß den Fig. 9 und 11 als ein Geheimschlüsselprozessor bei einer Verschlüsselungsvorrichtung eingesetzt werden. Bei der Geheimschlüsselverarbeitung bei der in Fig. 2 gezeigten herkömmlichen DES-Verschlüsselungseinrichtung wird ein Bit aus jedem Byte eines 64-Bit-Schlüssels entfernt, die verbleibenden 56-Bit- Daten werden einer Bitpositionspermutation unterzogen, die resultierenden 56-Bit-Daten werden in zwei 28-Bit-Daten aufgeteilt, diese beiden Daten werden 16 mal einem Links-Bitumlauf um 1 Bit oder 2 Bits unterzogen, und eine Gesamtheit von 8 Bits wird aus den beiden Daten entfernt, die bei jedem Bitumlaufvorgang resultieren, während die resultierenden Daten einer Bitpositionspermutation unterzogen werden. In dieser Weise werden 16 unterschiedliche 48- Bit-Zwischenschlüssel erhalten. Bei dieser Geheimschlüsselverarbeitung sind dann, wenn einer der Zwischenschlüssel bekannt ist, lediglich 8 unbekannte Bits für den Links-Bitumlauf der Öffentlichkeit bekanntgemacht worden. Daher können die beiden 28-Bit-Blockdaten geschätzt werden, so daß es möglich ist, den ursprünglichen 64-Bit-Geheimschlüssel zu schätzen bzw. zu erraten.
- Wenn jedoch die in den Fig. 9 und 11 gezeigten Anordnungen bei der Geheimschlüsselverarbeitung eingesetzt werden, ist das Erraten des ursprünglichen Geheimschlüssels schwierig. Bei jedem der Verschleierungsabschnitte 78, 84 und 85 können die verbleibenden Daten erkannt werden, falls zwei Daten aus zwei Eingangsdaten und eines der Ausgangsdaten bekannt sind. Jedoch bestehen die Schlüsseldaten der Eingangsdaten im Fall gemäß Fig. 9 aus 64 Bits. Daher können selbst dann, wenn beispielsweise 64 Bits der Zwischenschlüssel P8 bis P11 bekannt sind, die Ausgangsdaten der EOR-Schaltung 77 in der letzten Stufe 76 nicht erkannt werden, da es lediglich die Daten P8 und P9 sind, die als eine Eingabe für die EOR-Schaltung 77 in der letzten Verschleierungsstufe 76 bekannt sind. Das heißt, daß lediglich Ausgangsdaten P10 und P11 bezüglich des Verschleierungsabschnitts 78 dieser Stufe bekannt sind und die beiden Eingangsdaten nicht bekannt sind. Daher können diese Eingangsdaten des Verschleierungsabschnitts 78 nicht bestimmt werden. Aus diesem Grund ist es möglich, eine andere Datenverschleierungseinrichtung als die in den Fig. 3 bis 6 gezeigte für die Verschleierungsabschnitte 78, 84 und 85 in den Fig. 9 und 11 einzusetzen. Selbst in diesem Fall ist es bei den Anordnungen gemäß den Fig. 9 und 11 schwierig, einen korrekten Geheimschlüssel zu erkennen, wenn manche der Zwischenschlüssel bekannt sind. Anders ausgedrückt, kann die Ausgestaltung der Datenverschleierungseinrichtung gemäß Fig. 9 oder 11 selbst wirksam als Datenverschleierungseinrichtung dienen.
- Weiterhin führt bei der erfindungsgemäßen Datenverschleierungseinrichtung eine 1-Bit-Veränderung in den Eingangsdaten stets zu einer Änderung von nahezu der Hälfte der Ausgangsdatenbits, wie vorstehend erläutert. Daher können bei Zuführung geeignet variierender Daten als Eingangsdaten zufällig sich verändernde Ausgangsdaten erhalten werden. Diese Ausgangsdaten können als Zufallszahlendaten betrachtet werden. Dies bedeutet, daß die erfindungsgemäße Datenverschleierungseinrichtung auch als ein Zufallszahlengenerator eingesetzt werden kann.
- In den Fällen gemäß den Fig. 3 bis 6 wurden die Eingangsdaten in 8-Bit-Daten (d. h. 1-Byte-Daten) unterteilt. Jedoch ist es möglich, die Eingangsdaten in 16-Bit-Daten zu unterteilen. In diesem Fall basiert die Modulo-Verknüpfung auf mod 65536 anstatt auf mod 256. Weiterhin ist es bei der Ausgestaltung gemäß Fig. 9 möglich, die linken und rechten Datenausgaben der letzten Verschleierungsstufe 76 zusammenzufassen und die resultierenden einzigen 32-Bit-Daten als verschleierte Daten bereitzustellen.
- Der Grund für die Zuführung der Konstante + 1 für die Addition zu den Additions/Modulo-Verarbeitungsschaltungen 33 und 39 in den Fig. 4 und 5 besteht darin, daß dann, wenn nicht die Konstante + 1 addiert wird, ein Nachteil dahingehend auftreten kann, daß dann, wenn beide Eingangsdaten R und Parameter-Daten null sind, die Ausgangsdaten gleichfalls null sind, d. h. die Eingangs- und Ausgangsdaten fallen zusammen. Dies ist unerwünscht, wenn die Datenverschleierungseinrichtung bei einer kryptographischen Einrichtung (Verschlüsselungseinrichtung) eingesetzt wird. Dieser Nachteil wird durch die Addition der Konstanten vermieden. Aus diesem Grund muß die Konstante nicht + 1 sein und kann auch eine unterschiedliche Zahl sein. Die Addition der Konstanten ist nicht notwendig, wenn die Datenverschleierungseinrichtung nicht für irgendeine Verschlüsselungseinrichtung benutzt wird, sondern lediglich zur Datenverschleierung eingesetzt wird.
- Die einzelnen Schaltungen, Abschnitte und Stufen, die vorstehend beschrieben wurden, können durch Hardware realisiert sein oder es können ihre Verarbeitungen teilweise oder vollständig unter Einsatz eines elektronischen Computers realisiert werden.
- Bei den Ausführungsbeispielen (Fig. 4 und 5) gemäß der Erfindung führt eine 1-Bit-Änderung in den Eingangsdaten zu einer durchschnittlichen Änderung von 11 Bits der Ausgangsdaten, wohingegen bei der herkömmlichen Vorrichtung dieselbe Eingangsdatenänderung zu einer durchschnittlichen Änderung von lediglich 4 Bits des Ausgangssignals führt. Durch Ersatz der Datenverschleierungseinrichtung der herkömmlichen DES-Verschlüsselungsvorrichtung durch die erfindungsgemäße Datenverschleierungseinrichtung können die zur Sättigung bzw. ausreichenden Durchführung der Datenverschleierung notwendigen Verschlüsselungsstufen von fünf Stufen auf zwei oder drei Stufen verringert werden.
Claims (62)
1. Datenverschleierungseinrichtung mit:
einer Aufteilungseinrichtung (21) zum Unterteilen von Eingangsdaten in eine Vielzahl
von Datenblöcken mit jeweils gleicher Datenlänge;
einer Vielzahl von Verarbeitungskanälen (25 bis 28) zum Verarbeiten der jeweiligen,
von der Aufteilungseinrichtung (21) abgegebenen Datenblöcke als Kanaldaten;
einer Funktionsverarbeitungseinrichtung (22, 29, 31 bis 33, 35 bis 37, 39), die in
jedem Verarbeitungskanal (25 bis 28) vorgesehen ist und dazu dient, alle Kanaldaten einer
zumindest einmaligen Funktionsverarbeitung zur Erzeugung neuer Kanaldaten zu unterziehen;
einer Verknüpfungseinrichtung (24) zum Verknüpfen der letztendlich vorliegenden, an
den Ausgängen von jeweiligen Verarbeitungskanälen (25 bis 28) abgegebenen Kanaldaten für
die Erzeugung verschleierter Daten als den Eingangsdaten entsprechende Ausgangsdaten;
dadurch gekennzeichnet,
daß die Aufteilungseinrichtung (21) alle Eingangsdaten mit einer vorbestimmten
Anzahl von parallelen Bits in eine Vielzahl von parallelen Datenblöcken unterteilt;
daß die Verknüpfungseinrichtung (24) die letztendlich vorliegenden, an den
Ausgängen der jeweiligen Verarbeitungskanäle (25 bis 28) abgegebenen Kanaldaten in paralleler Form
verknüpft;
daß jeder Verarbeitungskanal (25 bis 28) zumindest einen Zweig zum direkten oder
indirekten Zuführen aller Bits der Kanaldaten des Verarbeitungskanals zu einer der
Funktionsverarbeitungseinrichtungen (22, 29, 31 bis 33, 35 bis 37, 39) in einem anderen Kanal
aufweist;
daß eine Bitzirkuliereinrichtung (23, 30, 34, 38, 41) in jedem Verarbeitungskanal an
der Ausgangsseite der Funktionsverarbeitungseinrichtung (22, 29, 31 bis 33, 35 bis 37, 39)
zum umlaufenden Verschieben der Kanaldaten um eine vorbestimmte Bitanzahl vorgesehen ist;
und
daß jede Funktionsverarbeitungseinrichtung (22, 29, 31 bis 33, 35 bis 37, 39) eine
Additions/Modulo-Verarbeitungseinrichtung (29, 33, 37, 39) aufweist, die die
Additions/Modulo-Verarbeitung zumindest einmal direkt oder indirekt mit sämtlichen Bits der vom
Zweig eines anderen der Verarbeitungskanäle (25 bis 28) stammenden Kanaldaten durchführt,
so daß sämtliche Kanaldatenbits jedes Verarbeitungskanals direkt oder indirekt mit sämtlichen
Kanaldatenbits aller anderen Verarbeitungskanäle verknüpft werden.
2. Datenverschleierungseinrichtung nach Anspruch 1, die eine
Parameter-Funktionsverarbeitungseinrichtung (22, 31, 35, 42 bis 45) aufweist, durch die die Daten zumindest eines
Kanals einer Funktionsverarbeitung in Relation zu Parameterdaten unterziehbar sind.
3. Datenverschleierungseinrichtung nach Anspruch 2, bei der die
Parameter-Funktionsverarbeitungseinrichtung (22, 31, 35) an der Eingangsseite der
Funktionsverarbeitungseinrichtung
(22, 32, 36) in zumindest einem Verarbeitungskanal (25 bis 28) zur Erzeugung neuer
Kanaldaten angeordnet ist.
4. Datenverschleierungseinrichtung nach Anspruch 3, bei der die
Aufteilungseinrichtung (21) die Eingangsdaten in vier Datenblöcke unterteilt, die durch jeweilige, erste bis vierte
Verarbeitungskanäle (25 bis 28) zu verarbeiten sind, bei der die
Funktionsverarbeitungseinrichtungen (29, 33, 37, 39) eine erste bis vierte Funktionsverarbeitungseinrichtung (29, 33, 37,
39) jeweils im ersten bis vierten Verarbeitungskanal (25 bis 28) umfassen, bei der die
Bitzirkuliereinrichtungen (30, 34, 38, 41) eine jeweilige erste bis vierte Bitzirkuliereinrichtung (30, 34,
38, 41) umfassen, die sich unmittelbar an die erste bis vierte
Funktionsverarbeitungseinrichtung (29, 33, 37, 39) anschließen, bei der die Parameter-Funktionsverarbeitungseinrichtung
(31, 35) sowohl im zweiten als auch im dritten Verarbeitungskanal (26, 27) als erste bzw.
zweite Parameter-Funktionsverarbeitungseinrichtung (31, 35) vorgesehen ist, durch die jeweils
die zweiten und dritten Kanaldaten Funktionsverarbeitungen in Relation zu ersten bzw. zweiten
Parameterdaten unterziehbar sind, bei der eine fünfte Funktionsverarbeitungseinrichtung (32)
zwischen der ersten Parameter-Funktionsverarbeitungseinrichtung (31) und der zweiten
Funktionsverarbeitungseinrichtung (33) vorgesehen ist, durch die die zweiten, von der ersten
Parameter-Funktionsverarbeitungseinrichtung (31) erhaltenen Kanaldaten einer Funktionsverarbeitung
in Relation zu den ersten, an den Eingang der ersten Funktionsverarbeitungseinrichtung (29)
angelegten Kanaldaten unterzogen werden, bei der eine sechste
Funktionsverarbeitungseinrichtung (36) zwischen der zweiten Parameter-Funktionsverarbeitungseinrichtung (35) und der
dritten Funktionsverarbeitungseinrichtung (37) vorgesehen ist, durch die die dritten, von der
zweiten Parameter-Funktionsverarbeitungseinrichtung (35) erhaltenen Kanaldaten einer
Funktionsverarbeitung in Relation zu den vierten, an den Eingang der vierten
Funktionsverarbeitungseinrichtung (39) angelegten Kanaldaten unterzogen werden, bei der die dritten, von der sechsten
Funktionsverarbeitungseinrichtung (36) erhaltenen Kanaldaten in der zweiten
Funktionsverarbeitungseinrichtung (33) einer Funktionsverarbeitung in Relation zu den zweiten, von der fünften
Funktionsverarbeitungseinrichtung (32) erhaltenen Kanaldaten unterzogen werden, bei der die
zweiten, von der zweiten Bitzirkuliereinrichtung (34) erhaltenen Kanaldaten in der ersten
Funktionsverarbeitungseinrichtung (29) einer Funktionsverarbeitung in Relation zu den ersten
Kanaldaten unterzogen werden, bei der die zweiten, von der zweiten Bitzirkuliereinrichtung (34)
erhaltenen Kanaldaten in der dritten Funktionsverarbeitungseinrichtung einer Verarbeitung in
Relation zu den dritten, von der sechsten Funktionsverarbeitungseinrichtung (36) erhaltenen
Kanaldaten unterzogen werden, bei der die dritten, von der dritten Bitzirkuliereinrichtung (38)
erhaltenen Kanaldaten in der vierten Funktionsverarbeitungseinrichtung (39) einer
Funktionsverarbeitung in Relation zu den vierten Kanaldaten unterzogen werden, und bei der die
Verknüpfungseinrichtung (24) die ersten bis vierten, von der ersten bis vierten Bitzirkuliereinrichtung (30, 34,
38, 41) erhaltenen Kanaldaten verknüpft.
5. Datenverschleierungseinrichtung nach Anspruch 4, bei der die erste und die zweite
Parameter-Funktionsverarbeitungseinrichtung (31, 35) und die fünfte und die sechste
Funktionsverarbeitungseinrichtung (32, 36) jeweils eine EXKLUSIV-ODER-Verknüpfung zweier Daten
durchführen und bei der die erste bis vierte Funktionsverarbeitungseinrichtung (29, 33, 37, 39)
jeweils eine Additionsverarbeitung zumindest zweier Daten und anschließend eine
Modulo-Verarbeitung der resultierenden Summendaten durchführen.
6. Datenverschleierungseinrichtung nach Anspruch 2, bei der zumindest eine (33, 39)
der ersten bis zur sechsten Funktionsverarbeitungseinrichtungen (29, 32, 33, 36, 37, 39) eine
Konstante (+ 1) als dritte Daten empfängt und eine Funktionsverarbeitung zweier Kanaldaten
und der Konstanten durchführt.
7. Datenverschleierungseinrichtung nach Anspruch 2, bei der die
Funktions-Verarbeitungseinrichtung (42 bis 45) Kanaldaten, die zumindest einer Funktionsverarbeitung unterzogen
wurden, einer Funktionsverarbeitung unter Einsatz der Parameter-Daten unterzieht.
8. Datenverschleierungseinrichtung nach Anspruch 2, bei der die
Parameter-Funktionsverarbeitungseinrichtung neue Parameter-Daten erzeugt.
9. Datenverschleierungseinrichtung nach Anspruch 8, bei der die
Aufteilungseinrichtung (21) die Eingangsdaten in vier Datenblöcke unterteilt, die jeweils durch den ersten bis
vierten Kanal (25 bis 28) als Kanaldaten zu verarbeiten sind, bei der die
Funktionsverarbeitungseinrichtungen (29, 33, 37, 39) eine erste bis vierte Funktionsverarbeitungseinrichtung (29, 33,
37, 39) jeweils im ersten bis vierten Kanal (25 bis 28) umfassen, bei der die erste bis vierte
Bitzirkuliereinrichtung (30, 34, 38, 41) sich jeweils unmittelbar an die erste bis vierte
Funktionsverarbeitungseinrichtung (29, 33, 37, 39) anschließen, bei der die Parameter-Daten aus
ersten bis vierten Parameter-Daten (P0 bis P3) bestehen, die dieselbe Datenlänge wie die
Kanaldaten (R) haben, bei der eine fünfte und eine sechste Funktionsverarbeitungseinrichtung (32,
36) im zweiten und dritten Kanal (26, 27) vor der zweiten und der dritten
Funktionsverarbeitungseinrichtung (33, 37) vorgesehen sind, durch die die zweiten und dritten Kanaldaten (21,
22) Funktionsverarbeitungen in Relation zu den ersten und vierten Kanaldaten unterziehbar
sind, bei der eine erste Parameter-Funktionsverarbeitungseinrichtung (43) zur
Funktionsverarbeitung der ersten Parameter-Daten (P0) mit den von der sechsten
Funktionsverarbeitungseinrichtung (36) stammenden dritten Kanaldaten (R2) zur Erzeugung neuer erster, der zweiten
Funktionsverarbeitungseinrichtung (33) zuzuführender Parameter-Daten vorgesehen ist, bei der
eine zweite Parameter-Funktionsverarbeitungseinrichtung (44) zur Funktionsverarbeitung der
zweiten Parameter-Daten (P1) mit zweiten, von der zweiten Bitzirkuliereinrichtung (34)
stammenden Kanaldaten (R1) zur Erzeugung neuer zweiter, der dritten
Funktionsverarbeitungseinrichtung (37) zuzuführender Parameter-Daten vorgesehen ist, bei der eine dritte Parameter-
Funktionsverarbeitungseinrichtung (42) zur Funktionsverarbeitung der dritten Parameter-Daten
(P2) mit den von der zweiten Bitzirkuliereinrichtung (34) stammenden Kanaldaten (R1) zur
Erzeugung neuer dritter, der ersten Funktionsverarbeitungseinrichtung (29) zuzuführender
Parameter-Daten vorgesehen ist, bei der eine vierte Parameter-Funktionsverarbeitungseinrichtung
(45) zur Funktionsverarbeitung der vierten Parameter-Daten (P3) mit dritten, von der dritten
Bitzirkuliereinrichtung (38) stammenden Kanaldaten (R2) zur Erzeugung neuer vierter, der vierten
Funktionsverarbeitungseinrichtung (39) zuzuführender Parameter-Daten vorhanden ist, und bei
der die Verknüpfungseinrichtung (24) erste bis vierte, von der ersten bis vierten
Bitzirkuliereinrichtung (30, 34, 38, 41) erhaltene Kanaldaten verknüpft.
10. Datenverschleierungseinrichtung nach Anspruch 9, bei der die fünfte und die
sechste Funktionsverarbeitungseinrichtung (32, 36) und die erste bis vierte
Parameter-Funktionsverarbeitungseinrichtung (29, 33, 37, 39) jeweils eine EXKLUSIV-ODER-Verknüpfung
zweier Daten durchführen und bei der die erste bis vierte Funktionsverarbeitungseinrichtung
(29, 33, 37, 39) jeweils eine Additionsverknüpfung zweier Daten und anschließend eine
Modulo-Verknüpfung der resultierenden Summendaten durchführen.
11. Datenverschleierungseinrichtung nach Anspruch 9, bei der zumindest eine (33,
39) der ersten bis sechsten Funktionsverarbeitungseinrichtungen (29, 33, 37, 39, 32, 36) eine
Konstante als dritte Daten empfängt und eine Funktionsverarbeitung zweier Kanaldaten und der
Konstanten durchführt.
12. Datenverschleierungseinrichtung nach Anspruch 2, die weiterhin eine
Verarbeitungs-Umschalteinrichtung zum Verändern der Verknüpfungsverarbeitung entsprechend den
Kanaldaten oder Parameter-Daten aufweist.
13. Datenverschleierungseinrichtung nach Anspruch 12, bei der die Verarbeitungs-
Umschalteinrichtung eine Auswahl in Abhängigkeit von diesen Daten dahingehend bewirkt, daß
die Kanaldaten direkt oder nach Verarbeitung weiterzuleiten sind.
14. Datenverschleierungseinrichtung nach Anspruch 12, bei der die Verarbeitungs-
Umschalteinrichtung entweder eine Funktionsverarbeitungseinrichtung oder eine
Tranformationsverarbeitungseinrichtung in Abhängigkeit von diesen Daten wählt.
15. Datenverschleierungseinrichtung nach Anspruch 2, bei der die
Aufteilungseinrichtung (21) die Eingangsdaten in zwei Datenblöcke aufteilt, die jeweils im ersten bzw. zweiten
Kanal (25, 26) als erste und zweite Kanaldaten zu verarbeiten sind, bei der die
Funktionsverarbeitungseinrichtungen eine erste und eine zweite Funktionsverarbeitungseinrichtung (29, 33) im
ersten bzw. im zweiten Kanal (25, 26) umfassen, bei der die Bitzirkuliereinrichtungen (30, 34)
eine erste und eine zweite, sich unmittelbar an die erste bzw. zweite
Funktionsverarbeitungseinrichtung (29, 33) anschließende Bitzirkuliereinrichtung (30, 34) umfassen, bei der eine erste
Parameter-Funktionsverarbeitungseinrichtung (63) zur Funktionsverarbeitung erster Parameter-
Daten mit den ersten Kanaldaten zur Erzeugung neuer erster, der zweiten
Funktionsverarbeitungseinrichtung (33) zuzuführender Parameter-Daten vorhanden ist, bei der eine zweite
Parameter-Funktionsverarbeitungseinrichtung (64) zur Funktionsverarbeitung zweiter Parameter-
Daten mit zweiten, von der zweiten Bitzirkuliereinrichtung (34) stammenden Kanaldaten zur
Erzeugung neuer zweiter, der ersten Funktionsverarbeitungseinrichtung (29) zuzuführender
Parameter-Daten vorgesehen ist, und bei der erste und zweite, von der ersten und zweiten
Bitzirkuliereinrichtung (30, 34) erhaltene Kanaldaten durch die Verknüpfungseinrichtung (24) verknüpft
werden.
16. Datenverschleierungseinrichtung nach Anspruch 15, bei der die erste und die
zweite Parameter-Funktionsverarbeitungseinrichtung (63, 64) jeweils eine EXKLUSIV-ODER-
Verknüpfung zweier Daten durchführen und bei der die erste und die zweite
Funktionsverarbeitungseinrichtung (29, 33) jeweils eine Additionsverknüpfung zweier Daten und anschließend
eine Modulo-Verknüpfung der resultierenden Summendaten bewirken.
17. Datenverschleierungseinrichtung nach einem der Ansprüche 2, 4, 9 und 15, bei
der ein Aufteilungsabschnitt (67) eingegebene Textdaten in linke und rechte Daten mit gleicher
Datenlänge unterteilt, bei der die linken und rechten Daten einer in Kaskadenschaltung
verbundenen Vielzahl von Verschleierungsstufen (68) zugeführt werden, bei der in jeder der
Verschleierungsstufen (68) die rechten Eingangsdaten als linke Daten zur nächsten
Verschleierungsstufe (68) weitergeleitet und weiterhin in einer Verschleierungsvorrichtung (71) einer
Verschleierungsverarbeitung in Bezug zu Parameter-Daten zur Erzielung verschleierter Daten
unterzogen werden, während die linken Eingangsdaten in einer
Zwischen-Funktionsverarbeitungseinrichtung (72) einer Funktionsverarbeitung in Relation zu den verschleierten Daten zur Bildung
von der nächsten Verschleierungsstufe (68) als rechte Daten zuzuführenden Daten unterzogen
werden, und bei der die Verschleierungsvorrichtung (71) durch die
Datenverschleierungseinrichtung gemäß einem der Ansprüche 2, 4, 9 und 15 gebildet ist.
18. Datenverschleierungseinrichtung nach Anspruch 17, bei der die linken Daten vom
Aufteilungsabschnitt (67) als linke Eingangsdaten der ersten der Verschleierungsstufen (68)
zugeführt werden, während die linken und rechten Daten vom Aufteilungsabschnitt (67) einer
vorbereitenden Funktionsverarbeitungseinrichtung (61) für eine Funktionsverarbeitung zur
Bildung von Daten, die der ersten Verschleierungsstufe (68) als rechte Eingangsdaten zuzuführen
sind, zugeführt werden, wobei die linken und rechten, von der letzten der
Verschleierungsstufen (68) abgegebenen Daten einer nachfolgenden Funktionsverarbeitungseinrichtung (77) für
eine Funktionsverarbeitung zugeführt werden und die Ausgangsdaten der nachfolgenden
Funktionsverarbeitungseinrichtung (74) und die linken Ausgangsdaten der letzten
Verschleierungsstufe (68) zur Bildung verschleierter Textdaten entsprechend den eingegebenen Textdaten
verknüpft werden.
19. Datenverschleierungseinrichtung nach Anspruch 18, bei der die eingegebenen
Textdaten vor ihrer Unterteilung einer Funktionsverarbeitung durch eine
Ausgangs-Funktionsverarbeitungseinrichtung (66) in Relation zu Parameter-Daten unterzogen werden, und bei der
die Ausgangsdaten der nachfolgenden Funktionsverarbeitungseinrichtung (74) in einer
Abschluß-Funktionsverarbeitungseinrichtung (75) einer Funktionsverarbeitung in Relation zu
Parameter-Daten unterzogen werden.
20. Datenverschleierungseinrichtung nach einem der Ansprüche 2, 4, 9 und 15, bei
der eingegebene Textdaten in einem Aufteilungsabschnitt in linke und rechte Daten mit gleicher
Datenlänge unterteilt werden, bei der die linken und rechten Daten einer ersten aus einer
Vielzahl von in Kaskadenverschaltung vorliegenden Verschleierungsstufen (76) zugeführt werden,
bei der in jeder der Verschleierungsstufen (76) die rechten Eingangsdaten als linke
Eingangsdaten für die Verschleierungsstufe (76) der nächsten Stufe bereitgestellt werden, während die
rechten Eingangsdaten in einer Zwischen-Funktionsverarbeitungseinrichtung (77) einer
Funktionsverarbeitung in Relation zu linken Eingangsdaten für eine der vorhergehenden
Verschleierungsstufen
(67) zur Bildung von Daten unterzogen werden, wobei die Daten als interne
Parameter-Daten zur Verschleierung von linken, an eine Verschleierungsvorrichtung (78) angelegten
Daten zur Bildung von Daten, die der nächsten Verschleierungsstufe (76) als rechte
Eingangsdaten zuzuführen sind, eingesetzt werden, und bei der die Verschleierungsvorrichtung (78)
durch die Datenverschleierungseinrichtung gemäß einem der Ansprüche 2, 4, 9 und 15 gebildet
ist.
21. Datenverschleierungseinrichtung nach Anspruch 20, bei der die von der
Verschleierungsvorrichtung (78) in den jeweiligen Verschleierungsstufen (76) erhaltenen Daten als
verschleierte Textdaten bereitgestellt werden.
22. Datenverschleierungseinrichtung nach Anspruch 20, bei der die rechten und
linken, von der letzten Verschleierungsstufe (76) abgegebenen Daten verknüpft werden, um als
verschleierte Textdaten bereitgestellt zu werden.
23. Datenverschleierungseinrichtung nach Anspruch 21, bei der die linken und
rechten, vom Aufteilungsabschnitt (80) abgegebenen Daten durch einen weiteren
Aufteilungsabschnitt (81, 82) nochmals zur Bildung erster bis vierter Daten mit gleicher Datenlänge aufgeteilt
werden, bei der die ersten und dritten Daten in jeweiligen linken und rechten
Verschleierungsvorrichtungen (84, 85) einer Verschleierung unter Heranziehung der jeweiligen zweiten und
vierten Daten als Parameter-Daten zur Bildung jeweiliger verschleierter Daten unterzogen
werden, wobei die verschleierten Daten einer rechten Funktionsverarbeitungseinrichtung (86) für
eine Funktionsverarbeitung zur Bildung von Daten, die als rechte Eingangsdaten zur ersten
Verschleierungsstufe (76) geleitet werden, zugeführt werden, wobei die zweiten und vierten Daten
einer linken Funktionsverarbeitungseinrichtung (83) für eine Funktionsverarbeitung zur Bildung
von der ersten Verschleierungsstufe (76) als linke Eingangsdaten zugeführten Daten zugeführt
werden, und Daten, die durch Verschleierung in der linken und rechten
Verschleierungsvorrichtung (84, 85) erhalten werden, ebenfalls als verschleierte Textdaten bereitgestellt werden.
24. Datenverschleierungseinrichtung nach einem der Ansprüche 1, 2, 4, 9, 13 und
14, bei der zumindest eine der Bitzirkuliereinrichtungen (48) eine Bitpositions-Permutation von
Kanaldaten mit Hilfe einer verdrahteten Schaltung durchführt.
25. Datenverschleierungseinrichtung nach einem der Ansprüche 1, 2, 4, 9, 13 und
14, bei der zumindest eine der Bitzirkuliereinrichtungen Daten aus einem Speicher (51)
entsprechend Kanaldaten ausliest und neue Daten anstelle der Kanaldaten bereitstellt.
26. Datenverschleierungseinrichtung mit:
einer Aufteilungseinrichtung (21) zum Unterteilen von Eingangsdaten mit einer
vorbestimmten Anzahl paralleler Bits in vier Datenblöcke mit gleicher Länge, die jeweils mittels vier
Kanälen (25 bis 28) als vier Kanaldaten zu verarbeiten sind;
einer Additions/Modulo-Verarbeitungseinrichtung (29, 33, 37, 39), die in jeden der
vier Kanäle eingefügt ist und durch die sämtliche Bits der Kanaldaten einer direkten oder
indirekten
Additions/Modulo-Verarbeitung mit den gesamten Bits der Kanaldaten aller anderen
Kanäle zur Erzeugung neuer Kanaldaten unterziehbar sind;
einer EXKLUSIV-ODER-Verknüpfungseinrichtung (32, 36), die in jeden von zumindest
zwei Kanälen vor der Additions/Modulo-Verarbeitungseinrichtung zur
EXKLUSIV-ODER-Verarbeitung der gesamten Bits der Kanaldaten des Kanals mit den gesamten Bits der Kanaldaten
eines anderen Kanals zur Erzeugung neuer Kanaldaten eingefügt ist;
einer Bit-Transformationseinrichtung (30, 34, 38, 41, 48, 51, 58, 62), die in jedem
der Kanäle an der Ausgangsseite der Additions/Modulo-Verarbeitungseinrichtung (29, 33, 37,
39) zur Transformation der Kanaldaten in neue Kanaldaten vorgesehen ist; und
einer Verknüpfungseinrichtung (24) zum parallelen Verknüpfen der letztendlich durch
Verarbeitung in den jeweiligen vier Kanälen (25 bis 28) erhaltenen vier Kanaldaten zur
Erzeugung verschleierter Daten als den Eingangsdaten entsprechende Ausgangsdaten.
27. Datenverschleierungseinrichtung nach Anspruch 26, bei der eine
Parameter-Funktionsverarbeitungseinrichtung (31, 35, 46, 52, 47, 56) in zumindest einen der vier Kanäle (25
bis 28) zur Funktionsverarbeitung von Parameter-Daten zur Erzeugung neuer Kanaldaten
eingefügt ist.
28. Datenverschleierungseinrichtung nach Anspruch 26, bei der eine
Parameter-Funktionsverarbeitungseinrichtung (31, 35) an der Eingangsseite von einem anderen Kanal zu der
Additions/Modulo-Verarbeitungseinrichtung in zumindest einem der vier Kanäle (25 bis 28)
vorgesehen ist, die zur Funktionsverarbeitung von Parameter-Daten mit Kanaldaten des anderen
Kanals zur Erzeugung neuer, der ersten Funktionsverarbeitungseinrichtung (33, 37)
zuzuführender Parameter-Daten dient.
29. Datenverschleierungseinrichtung nach Anspruch 26, 27 oder 28, bei der die Bit-
Transformationseinrichtung (48, 51, 34, 58. 62) unmittelbar im Anschluß an die
Additions/Modulo-Verknüpfungseinrichtung (47, 29, 33, 64, 59) in jedem der vier Kanäle (25 bis 28)
angeordnet ist, um die Kanaldaten einer Bitzirkulation zur Erzeugung neuer Kanaldaten zu
unterziehen.
30. Datenverschleierungseinrichtung nach Anspruch 29, bei der jede der ersten
Additions/Modulo-Verknüpfungseinrichtungen (29, 33, 37, 56) eine Addition zumindest zweier
Daten und anschließend eine Modulo-Verknüpfung der resultierenden Summendaten zur
Erzeugung neuer Kanaldaten durchführt.
31. Datenverschleierungseinrichtung nach Anspruch 29, bei der die
Bit-Transformationseinrichtung (34) eine Bitzirkulation bei den ihr zugeführten Daten durchführt, um neue
Kanaldaten durch Verschiebung der Daten um eine vorbestimmte Bitanzahl zu erzeugen.
32. Datenverschleierungsverfahren mit den Schritten:
Unterteilen von Eingangsdaten in eine Vielzahl von Datenblöcken mit jeweils gleicher
Datenlänge;
wobei zum Verarbeiten der jeweiligen Datenblöcke als Kanaldaten
alle Kanaldaten einer zumindest einmaligen Funktionsverarbeitung zur Erzeugung neuer
Kanaldaten unterzogen werden;
die schließlich erhaltenen Kanaldaten zur Erzeugung verschleierter Daten als den
Eingangsdaten entsprechende Ausgangsdaten verknüpft werden;
dadurch gekennzeichnet,
daß alle Eingangsdaten mit vorbestimmter Anzahl von parallelen Bits in eine Vielzahl
von parallelen Datenblöcken unterteilt werden;
daß die gesamten Bits aller jeweiligen Kanaldaten vor einer Funktionsverarbeitung der
Kanaldaten innerhalb eines anderen Kanals direkt oder indirekt abgezweigt werden,
daß die Bits aller jeweiligen Kanaldaten nach einer Funktionsverarbeitung der
Kanaldaten zur zyklischen Verschiebung der Kanaldaten um eine vorbestimmte Bitanzahl zirkuliert
werden;
daß die Funktionsverarbeitung durch eine zumindest einmalige direkte oder indirekte
Additions/Modulo-Verknüpfung aller von einem anderen der Kanäle abgezweigten
Kanaldatenbits bewirkt wird, derart, daß sämtliche Kanaldatenbits jedes Kanals direkt oder indirekt mit
sämtlichen Kanaldatenbits aller anderen Kanäle verknüpft werden; und
daß die resultierenden Kanaldaten in paralleler Form verknüpft werden.
33. Datenverschleierungsverfahren nach Anspruch 32, bei dem eine
Parameter-Funktionsverarbeitung vorgesehen ist, durch die zumindest die Daten eines Kanals einer
Funktionsverarbeitung in Relation zu Parameter-Daten unterzogen werden.
34. Datenverschleierungsverfahren nach Anspruch 33, dadurch g e k e n n z e i c h
ne t , daß die Parameter-Funktionsverarbeitung vor der Funktionsverarbeitung in zumindest
einem Kanal zur Erzeugung neuer Kanaldaten durchgeführt wird.
35. Datenverschleierungsverfahren nach Anspruch 34, bei dem die Unterteilung die
Aufteilung der Eingangsdaten in vier Datenblöcke umfaßt, die durch jeweilige erste bis vierte
Verarbeitungskanäle (25 bis 28) zu verarbeiten sind, bei dem die Funktionsverarbeitungen
jeweils durch erste bis vierte, jeweils in den ersten bis vierten Verarbeitungskanälen (25 bis 28)
enthaltene Funktionsverarbeitungseinrichtungen (29, 33, 37, 39) erfolgen, bei dem die
Bitzirkulation durch erste bis vierte, sich jeweils unmittelbar an die erste bis vierte
Funktionsverarbeitungseinrichtung (29, 33, 37, 39) anschließende Bitzirkuliereinrichtungen (30, 34, 38, 41)
erfolgt, bei dem die Parameter-Funktionsverarbeitung in jedem der zweiten und dritten
Verarbeitungskanäle (26, 27) durch eine erste und eine zweite
Parameter-Funktionsverarbeitungseinrichtung (31, 35) zur Funktionsverarbeitung jeweiliger zweiter und dritter Kanaldaten in Relation
zu jeweiligen ersten und zweiten Parameter-Daten bewirkt wird, bei dem eine zwischen der
ersten Parameter-Funktionsverarbeitungseinrichtung (31) und der zweiten
Funktionsverarbeitungseinrichtung (33) vorhandene fünfte Funktionsverarbeitungseinrichtung (32) zur
Funktionsverarbeitung zweiter, von der ersten Parameter-Funktionsverarbeitungseinrichtung (31)
erhaltener Kanaldaten in Relation zu ersten, an den Eingang der ersten
Funktionsverarbeitungseinrichtung (29) angelegten Kanaldaten eingesetzt wird, bei dem eine zwischen der zweiten
Parameter-Funktionsverarbeitungseinrichtung (35) und der dritten Funktionsverarbeitungseinrichtung
(37) vorhandene sechste Funktionsverarbeitungseinrichtung (36) zur Funktionsverarbeitung von
dritten, von der zweiten Parameter-Funktionsverarbeitungseinrichtung (35) erhaltenen
Kanaldaten in Relation zu vierten, an den Eingang der vierten Funktionsverarbeitungseinrichtung (39)
angelegten Kanaldaten eingesetzt wird, bei dem von der sechsten
Funktionsverarbeitungseinrichtung (36) erhaltene dritte Kanaldaten in der zweiten Funktionsverarbeitungseinrichtung (33)
einer Funktionsverarbeitung in Relation zu zweiten, von der fünften
Funktionsverarbeitungseinrichtung (32) erhaltenen Kanaldaten unterzogen werden, bei dem zweite, von der zweiten
Bitzirkuliereinrichtung (34) erhaltene Kanaldaten in der ersten Funktionsverarbeitungseinrichtung
(29) einer Funktionsverarbeitung in Relation zu den ersten Kanaldaten unterzogen werden, bei
dem von der zweiten Bitzirkuliereinrichtung (34) erhaltene zweite Kanaldaten in der dritten
Funktionsverarbeitungseinrichtung einer Funktionsverarbeitung in Relation zu dritten, von der
sechsten Funktionsverarbeitungseinrichtung (36) erhaltenen Kanaldaten unterzogen werden, bei
dem dritte, von der dritten Bitzirkulier-Verarbeitungseinrichtung (38) erhaltene Kanaldaten in der
vierten Funktionsverarbeitungseinrichtung (39) einer Funktionsverarbeitung in Relation zu den
vierten Kanaldaten unterzogen werden, und bei dem die Verknüpfungseinrichtung (34) erste bis
vierte, von der ersten bis vierten Bitzirkuliereinrichtung (30, 34, 38, 41) erhaltene Kanaldaten
verknüpft.
36. Datenverschleierungsverfahren nach Anspruch 35, bei dem die erste und zweite
Parameter-Funktionsverarbeitungseinrichtung (31, 35) und die fünfte und sechste
Funktionsverarbeitungseinrichtung (32, 36) jeweils eine EXKLUSIV-ODER-Verknüpfung zweier Daten
bewirken und bei dem die erste bis vierte Funktionsverarbeitungseinrichtung (29, 33, 37, 39)
jeweils eine Additionsverknüpfung zumindest zweier Daten und anschließend eine
Modulo-Verknüpfung der resultierenden Summendaten durchführen.
37. Datenverschleierungsverfahren nach Anspruch 33, bei dem zumindest eine (33,
39) der ersten bis sechsten Funktionsverarbeitungseinrichtungen (29, 32, 33, 36, 37, 39) eine
Konstante (+ 1) als dritte Daten empfängt und eine Funktionsverarbeitung zweier Kanaldaten
und der Konstanten durchführt.
38. Datenverschleierungsverfahren nach Anspruch 33, bei dem die
Parameter-Funktionsverarbeitung Kanaldaten, die zumindest einer Funktionsverarbeitung unterzogen wurden,
einer Funktionsverarbeitung mit Hilfe der Parameter-Daten unterzieht.
39. Datenverschleierungsverfahren nach Anspruch 33, bei dem die
Parameter-Funktionsverarbeitung neue Parameter-Daten erzeugt.
40. Datenverschleierungsverfahren nach Anspruch 39, bei dem die Unterteilung die
Aufteilung der Eingangsdaten in vier Datenblöcke enthält, die durch erste bis vierte Kanäle (25
bis 28) jeweils als Kanaldaten zu verarbeiten sind, bei dem die Funktionsverarbeitungen durch
erste bis vierte, jeweils in den ersten bis vierten Kanälen (25 bis 28) vorhandene
Funktionsverarbeitungseinrichtungen (29, 33, 37, 39) erfolgen, bei dem die Bitzirkulation durch erste bis
vierte, sich jeweils unmittelbar an die erste bis vierte Funktionsverarbeitungseinrichtung (29,
33, 37, 39) anschließende Bitzirkuliereinrichtungen (30, 34, 38, 41) erfolgt, bei dem die
Parameter-Daten aus ersten bis vierten Parameter-Daten (P0 bis P3) mit derselben Datenlänge wie
die Kanaldaten (R) bestehen bei dem fünfte und sechste Funktionsverarbeitungseinrichtungen
(32, 36) in dem zweiten und dem dritten Kanal (26, 27) vor der zweiten und der dritten
Funktionsverarbeitungseinrichtung (33, 37) angeordnet sind, die zur Funktionsverarbeitung der
zweiten und dritten Kanaldaten (21, 22) in Relation zu den ersten und vierten Kanaldaten dienen,
bei dem eine erste Parameter-Funktionsverarbeitungseinrichtung (43) zur Funktionsverarbeitung
der ersten Parameter-Daten (P0) mit den dritten Kanaldaten (R2) von der sechsten
Funktionsverarbeitungseinrichtung (36) zur Erzeugung neuer erster, der zweiten
Funktionsverarbeitungseinrichtung (33) zuzuführender Parameter-Daten vorgesehen ist, bei dem eine zweite
Parameter-Funktionsverarbeitungseinrichtung (44) zur Funktionsverarbeitung der zweiten Parameter-
Daten (P1) mit zweiten Kanaldaten (R1) von der zweiten Bitzirkuliereinrichtung (34) zur
Erzeugung neuer zweiter, der dritten Funktionsverarbeitungseinrichtung (37) zuzuführender
Parameter-Daten vorhanden ist, bei dem eine dritte Parameter-Funktionsverarbeitungseinrichtung (42)
zur Funktionsverarbeitung der dritten Parameter-Daten (P2) mit zweiten Kanaldaten (R1) von
der zweiten Bitzirkuliereinrichtung (34) zur Erzeugung neuer dritter, der ersten
Funktionsverarbeitungseinrichtung (29) zuzuführender Parameter-Daten vorgesehen ist, bei dem eine vierte
Parameter-Funktionsverarbeitungseinrichtung (45) zur Funktionsverarbeitung der vierten
Parameter-Daten (P3) mit den dritten Kanaldaten (R2) von der dritten Bitzirkuliereinrichtung (38) zur
Erzeugung neuer vierter, der vierten Funktionsverarbeitungseinrichtung (39) zuzuführender
Parameter-Daten vorhanden ist, und bei dem die Verknüpfungseinrichtung (24) erste bis vierte,
von der ersten bis vierten Bitzirkuliereinrichtung (30, 34, 38, 41) erhaltene Kanaldaten
verknüpft.
41. Datenverschleierungsverfahren nach Anspruch 40, bei dem die fünfte und die
sechste Funktionsverarbeitungseinrichtung (32, 36) und die erste bis vierte
Parameter-Funktionsverarbeitungseinrichtung (29, 33, 37, 39) jeweils eine EXKLUSIV-ODER-Verknüpfung
zweier Daten bewirken und bei dem die erste bis vierte Funktionsverarbeitungseinrichtung (29,
33, 37, 39) jeweils eine Additionsverknüpfung zweier Daten und anschließend eine Modulo-
Verknüpfung der resultierenden Summendaten durchführen.
42. Datenverschleierungsverfahren nach Anspruch 40, bei dem zumindest eine (33,
39) der ersten bis sechsten Funktionsverarbeitungseinrichtungen (29, 33, 37, 39, 32, 36) eine
Konstante als dritte Daten empfängt und eine Funktionsverarbeitung zweier Kanaldaten und der
Konstanten durchführt.
43. Datenverschleierungsverfahren nach Anspruch 33, bei dem weiterhin ein
Verarbeitungs-Umschaltschritt zur Veränderung der Operationsverarbeitung in Abhängigkeit von den
Kanaldaten oder Parameter-Daten vorgesehen ist.
44. Datenverschleierungsverfahren nach Anspruch 43, bei dem die
Verarbeitungs-Umschaltung eine Wahl in Abhängigkeit von den Daten dahingehend bewirkt, ob die Kanaldaten
direkt oder nach Verarbeitung weiterzuleiten sind.
45. Datenverschleierungsverfahren nach Anspruch 43, bei dem die
Verarbeitungsumschaltung entweder eine Funktionsverarbeitungseinrichtung oder eine Bitzirkuliereinrichtung in
Abhängigkeit von den Daten wählt.
46. Datenverschleierungsverfahren nach Anspruch 33, bei dem die Aufteilung eine
Unterteilung der Eingangsdaten in zwei Datenblöcke, die als erste und zweite Kanaldaten in
jeweiligen ersten und zweiten Kanälen (25, 26) zu verarbeiten sind, enthält, bei dem die
Funktionsverarbeitungen durch erste und zweite, jeweils im ersten bzw. im zweiten Kanal (25, 26)
enthaltene Funktionsverarbeitungseinrichtungen (29, 33) erfolgen, bei dem die Bitzirkulation
durch erste und zweite, sich jeweils unmittelbar an die erste bzw. zweite
Funktionsverarbeitungseinrichtung (29, 33) anschließende Bitzirkuliereinrichtungen (30, 34) erfolgt, bei dem eine
erste Parameter-Funktionsverarbeitungseinrichtung (63) zur Funktionsverarbeitung erster
Parameter-Daten mit den ersten Kanaldaten zur Erzeugung neuer erster, der zweiten
Funktionsverarbeitungseinrichtung (33) zuzuführender Parameter-Daten vorgesehen ist, bei dem eine zweite
Parameter-Funktionsverarbeitungseinrichtung (64) zur Funktionsverarbeitung zweiter Parameter-
Daten mit zweiten, von der zweiten Bitzirkuliereinrichtung (34) stammenden Kanaldaten zur
Erzeugung neuer zweiter, der ersten Funktionsverarbeitungseinrichtung (29) zuzuführender
Parameter-Daten vorhanden ist, und bei dem die ersten und zweiten, von der ersten und der
zweiten Bitzirkuliereinrichtung (30, 34) erhaltenen Kanaldaten durch eine Verknüpfungseinrichtung
(24) verknüpft werden.
47. Datenverschleierungsverfahren nach Anspruch 46, bei dem die erste und die
zweite Parameter-Funktionsverarbeitungseinrichtung (63, 64) jeweils eine EXKLUSIV-ODER-
Verknüpfung zweier Daten durchführt und bei dem die erste und die zweite
Funktionsverarbeitungseinrichtung (29, 33) jeweils eine Additionsverknüpfung zweier Daten und anschließend
eine Modulo-Verknüpfung der resultierenden Summendaten bewirken.
48. Datenverschleierungsverfahren nach einem der Ansprüche 33, 35, 40 und 46, bei
dem ein Aufteilungsabschnitt (67) eingegebene Textdaten in linke und rechte Daten mit gleicher
Datenlänge unterteilt, bei dem die linken und rechten Daten einer Kaskadenverschaltung aus
einer Vielzahl von Verschleierungsstufen (68) zugeführt werden, bei dem in jeder
Verschleierungsstufe (68) die rechten eingegebenen Daten als linke Daten zur nächsten
Verschleierungsstufe (68) weitergeleitet und weiterhin in einer Verschleierungsvorrichtung (71) einer
Verschleierungsverarbeitung in Relation zu Parameter-Daten zur Bildung verschleierter Daten
unterzogen werden, während die linken eingegebenen Daten in einer
Zwischen-Funktionsverarbeitungseinrichtung (72) einer Funktionsverarbeitung in Relation zu den verschleierten Daten zur
Bildung von Daten, die der nächsten Verschleierungsstufe (68) als rechte Daten zuzuführen
sind, unterzogen werden, und bei dem die Verschleierungsverarbeitung durch das
Datenverschleierungsverfahren nach einem der Ansprüche 33, 35, 40 und 46 gebildet ist.
49. Datenverschleierungsverfahren nach Anspruch 48, bei dem die linken Daten vom
Aufteilungsabschnitt (67) als linke Eingangsdaten der ersten der Verschleierungsstufen (68)
zugeführt werden, bei dem die linken und rechten Daten vom Aufteilungsabschnitt (67) einer
vorläufigen Funktionsverarbeitungseinrichtung (61) für eine Funktionsverarbeitung zur Bildung
von Daten, die der ersten Verschleierungsstufe (68) als rechte Eingangsdaten zuzuführen sind,
zugeführt werden, bei dem die linken und rechten, von der letzten Verschleierungsstufe (68)
abgegebenen Daten einer nachfolgenden Funktionsverarbeitungseinrichtung (77) für eine
Funktionsverarbeitung zugeführt werden, bei dem die Ausgangsdaten der nachfolgenden
Funktionsverarbeitungseinrichtung (74) und die linken Ausgangsdaten der letzten Verschleierungsstufe
(68) zur Bildung verschleierter, den eingegebenen Textdaten entsprechenden Textdaten
verknüpft werden.
50. Datenverschleierungsverfahren nach Anspruch 49, bei dem die eingegebenen
Textdaten vor der Aufteilung einer Funktionsverarbeitung in einer anfänglichen
Funktionsverarbeitungseinrichtung (66) in Relation zu Parameter-Daten unterzogen werden und bei dem die
Ausgangsdaten der nachfolgenden Funktionsverarbeitungseinrichtung (74) in einer
abschließenden Funktionsverabeitungseinrichtung (75) einer Funktionsverarbeitung in Relation zu
Parameter-Daten unterzogen werden.
51. Datenverschleierungsverfahren nach einem der Ansprüche 33, 35, 40 und 46, bei
dem eingegebene Textdaten in einem Aufteilungsabschnitt in linke und rechte Daten mit
gleicher Datenlänge aufgeteilt werden, bei dem linke und rechte Daten einer ersten aus einer
Vielzahl in Kaskadenverschaltung vorliegenden Verschleierungsstufen (76) zugeführt werden, bei
dem in jeder der Verschleierungsstufen (76) die rechten eingegebenen Daten an die
Verschleierungsstufe (76) der nächsten Stufe als linke eingegebene Daten bereitgestellt werden, während
die rechten eingegebenen Daten in einer Zwischen-Funktionsverarbeitungseinrichtung (77) einer
Funktionsverarbeitung in Relation zu linken, in eine der vorhergehenden Verschleierungsstufen
(76) eingegebenen Daten zur Bildung von Daten unterzogen werden, die als interne Parameter-
Daten für die Verschleierung von linken eingegebenen Daten für eine
Verschleierungsvorrichtung (78) zur Bildung von Daten eingesetzt werden, die der nächsten Verschleierungsstufe (76)
als rechte eingegebene Daten zuzuführen sind, und bei dem die Verschleierungsvorrichtung
(78) entsprechend dem Datenverschleierungsverfahren nach einem der Ansprüche 33, 35, 40
und 46 arbeitet.
52. Datenverschleierungsverfahren nach Anspruch 51, bei dem von der
Verschleierungsvorrichtung (78) in den jeweiligen Verschleierungsstufen (76) erhaltene Daten als
verschleierte Textdaten bereitgestellt werden.
53. Datenverschleierungsverfahren nach Anspruch 51, bei dem die von der letzten
Verschleierungsstufe (76) abgegebenen rechten und linken Daten zur Bereitstellung als
verschleierte Textdaten verknüpft werden.
54. Datenverschleierungsverfahren nach Anspruch 52, bei dem die von dem
Aufteilungsabschnitt (80) erhaltenen linken und rechten Daten durch einen weiteren
Aufteilungsabschnitt (81, 82) nochmals zur Bildung erster bis vierter Daten mit gleicher Datenlänge aufgeteilt
werden, bei dem die ersten und dritten Daten in jeweiligen linken und rechten
Verschleierungsvorrichtungen (84, 85) einer Verschleierung mittels der jeweiligen zweiten und vierten, als
Parameter-Daten dienenden Daten zur Bildung jeweiliger verschleierter Daten unterzogen werden,
die einer rechten Funktionsverarbeitungseinrichtung (86) für eine Funktionsverarbeitung zur
Bildung von der ersten Verschleierungsstufe (76) als rechte eingegebene Daten zugeführten Daten
zugeführt werden, bei dem die zweiten und vierten Daten einer linken
Funktionsverarbeitungseinrichtung (83) für eine Funktionsverarbeitung zur Bildung von der ersten Verschleierungsstufe
(76) als linke eingegebene Daten zugeführten Daten zugeführt werden, und bei dem Daten, die
durch Verschleierung in der ersten und der zweiten Verschleierungsvorrichtung (84, 85)
erhalten werden, gleichfalls als verschleierte Textdaten bereitgestellt werden.
55. Datenverschleierungsverfahren nach einem der Ansprüche 32, 33, 35, 40, 44,
und 45, bei dem die Bitzirkulation eine Bitpositions-Permutation von Kanaldaten mit Hilfe einer
verdrahteten Schaltung bewirkt.
56. Datenverschleierungsverfahren nach einem der Ansprüche 32, 33, 35, 40, 44 und
45, bei dem zumindest eine der Bitzirkulationen durch Auslesen von Daten aus einem Speicher
(51) entsprechend Kanaldaten und Bereitstellen von neuen Daten anstelle der Kanaldaten
durchgeführt wird.
57. Datenverschleierungsverfahren,
bei dem Eingangsdaten mit vorbestimmter Anzahl paralleler Bits in vier Datenblöcke
mit gleicher Länge für die Verarbeitung als vier Kanaldaten in jeweiligen vier Kanälen unterteilt
werden;
bei dem eine Additions/Modulo-Verknüpfung in jedem der vier Kanäle durchgeführt
wird, um sämtliche Bits der Kanaldaten einer direkten oder indirekten
Additions/Modulo-Verknüpfung mit sämtlichen Bits der Kanaldaten aller anderen Kanäle zur Erzeugung neuer
Kanaldaten zu unterziehen;
bei dem in jedem von zumindest zwei Kanälen eine EXKLUSIV-ODER-Verknüpfung vor
der Additions/Modulo-Verknüpfung zur Bewirkung einer EXKLUSIV-ODER-Verknüpfung
zwischen sämtlichen Bits der Kanaldaten des Kanals und sämtlichen Bits der Kanaldaten eines
anderen Kanals zur Erzeugung neuer Kanaldaten durchgeführt wird;
bei dem die Bits aller Kanaldaten nach der Additions/Modulo-Verknüpfung der
Kanaldaten transformiert werden, um neue Kanaldaten zu erzeugen; und
bei dem die schließlich erhaltenen vier Kanaldaten parallel verknüpft werden, um
verschleierte Daten als den Eingangsdaten entsprechende Ausgangsdaten zu bilden.
58. Datenverschleierungsverfahren nach Anspruch 57, bei dem eine Parameter-
Funktionsverarbeitung in zumindest einem der vier Kanäle (25 bis 28) zur Funktionsverarbeitung von
Parameter-Daten zur Erzeugung neuer Kanaldaten durchgeführt wird.
59. Datenverschleierungsverfahren nach Anspruch 57, bei dem eine
Parameter-Funktionsverarbeitung an der Eingangsseite von einem anderen Kanal zur
Additions/Modulo-Verknüpfung in zumindest einem der vier Kanäle (25 bis 28) durchgeführt wird, um eine
Funktionsverarbeitung von Parameter-Daten mit Kanaldaten des anderen Kanals zur Erzeugung neuer,
der Additions/Modulo-Verknüpfungseinrichtung (33, 37) zuzuführender Parameter-Daten zu
bewirken.
60. Datenverschleierungsverfahren nach Anspruch 57, 58 oder 59, bei dem eine Bit-
Transformationsverarbeitung unmittelbar nach der Additions/Modulo-Verarbeitung in jedem der
vier Kanäle (25 bis 28) durchgeführt wird, um Kanaldaten einer Transformationsverarbeitung
zur Erzeugung neuer Kanaldaten zu unterziehen.
61. Datenverschleierungsverfahren nach Anspruch 60, bei dem jede der
Additions/Modulo-Verarbeitungseinrichtungen (29, 33, 37, 56) eine Addition zumindest zweier Daten
und anschließend eine Modulo-Verknüpfung der resultierenden Summendaten zur Erzeugung
neuer Kanaldaten durchführt.
62. Datenverschleierungsverfahren nach Anspruch 60, bei dem die
Transformationsverarbeitung eine Bitzirkulation bei deren Eingabe zur Erzeugung neuer Kanaldaten durch
Verschiebung der Daten um eine vorbestimmte Bitanzahl durchführt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60250398A JPH0760292B2 (ja) | 1985-11-08 | 1985-11-08 | データ乱数化装置 |
JP60252650A JPS62113191A (ja) | 1985-11-13 | 1985-11-13 | デ−タ拡散装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3689510D1 DE3689510D1 (de) | 1994-02-17 |
DE3689510T2 true DE3689510T2 (de) | 1994-05-19 |
Family
ID=26539758
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3689510T Expired - Lifetime DE3689510T2 (de) | 1985-11-08 | 1986-11-04 | Einrichtung und Verfahren zur Datenverschleierung. |
DE3650365T Expired - Lifetime DE3650365T2 (de) | 1985-11-08 | 1986-11-04 | Einrichtung zur Datenverschleierung. |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3650365T Expired - Lifetime DE3650365T2 (de) | 1985-11-08 | 1986-11-04 | Einrichtung zur Datenverschleierung. |
Country Status (3)
Country | Link |
---|---|
US (1) | US4850019A (de) |
EP (2) | EP0454187B1 (de) |
DE (2) | DE3689510T2 (de) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128996A (en) * | 1988-12-09 | 1992-07-07 | The Exchange System Limited Partnership | Multichannel data encryption device |
US4997288A (en) * | 1988-12-09 | 1991-03-05 | The Exchange System Limited Partnership | Power supply arrangement for fault-tolerant operation in a microcomputer-based encryption system |
US5123047A (en) * | 1988-12-09 | 1992-06-16 | The Exchange System Limited Partnership | Method of updating encryption device monitor code in a multichannel data encryption system |
EP0482154B1 (de) * | 1990-05-18 | 1993-06-30 | Ascom Tech Ag | Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben |
US5351299A (en) * | 1992-06-05 | 1994-09-27 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for data encryption with block selection keys and data encryption keys |
JPH0812537B2 (ja) * | 1993-03-11 | 1996-02-07 | 日本電気株式会社 | 暗号化装置 |
JP3053527B2 (ja) * | 1993-07-30 | 2000-06-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置 |
US5583939A (en) * | 1995-06-01 | 1996-12-10 | Chung N. Chang | Secure, swift cryptographic key exchange |
US5835592A (en) * | 1995-06-01 | 1998-11-10 | Chang; Chung Nan | Secure, swift cryptographic key exchange |
US5966444A (en) * | 1996-12-06 | 1999-10-12 | Yuan; Chuan K. | Method and system for establishing a cryptographic key agreement using linear protocols |
US6292896B1 (en) | 1997-01-22 | 2001-09-18 | International Business Machines Corporation | Method and apparatus for entity authentication and session key generation |
US6005944A (en) * | 1997-02-14 | 1999-12-21 | At&T Corp | System and method for constructing block ciphers |
US5987130A (en) * | 1997-03-31 | 1999-11-16 | Chang; Chung Nan | Simiplified secure swift cryptographic key exchange |
US5970095A (en) * | 1997-04-14 | 1999-10-19 | Lockheed Martin Corporation | Secure data transmission on a TDM isochronous network |
DE19724072C2 (de) * | 1997-06-07 | 1999-04-01 | Deutsche Telekom Ag | Vorrichtung zur Durchführung eines Blockchiffrierverfahrens |
TW396704B (en) * | 1997-08-07 | 2000-07-01 | Hitachi Ltd | Cipher conversion method, cipher conversion apparatus, decoding method, decoding apparatus, and data communication system |
US6038317A (en) * | 1997-12-24 | 2000-03-14 | Magliveras; Spyros S. | Secret key cryptosystem and method utilizing factorizations of permutation groups of arbitrary order 2l |
EP1052611B9 (de) * | 1998-01-27 | 2007-02-14 | Nippon Telegraph and Telephone Corporation | Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung |
KR100296958B1 (ko) * | 1998-05-06 | 2001-09-22 | 이석우 | 블록 데이터 암호화 장치 |
DE19924986B4 (de) * | 1998-05-29 | 2006-03-23 | Hitachi, Ltd. | Verschlüsselungs-Konversionsvorrichtung, Entschlüsselungs-Konversionsvorrichtung, kryptografisches Kommunikationssystem und elektronische Gebühren-Sammelvorrichtung |
AU3324599A (en) * | 1999-03-16 | 2000-10-04 | Valentin Alexandrovich Mischenko | Method and apparatus for encoding and decoding information |
US7508945B1 (en) | 1999-05-18 | 2009-03-24 | Ferre Herrero Angel Jose | Self-corrector randomisation-encryption and method |
BR9903609A (pt) * | 1999-08-27 | 2001-04-24 | Coppe Ufrj | Processo de implementação em hardware do algorìtimo criptográfico idea- hipcrypto |
TW556111B (en) | 1999-08-31 | 2003-10-01 | Toshiba Corp | Extended key generator, encryption/decryption unit, extended key generation method, and storage medium |
US7428305B1 (en) * | 2000-05-02 | 2008-09-23 | Qualcomm Incorporated | Generation of keyed integer permutations for message authentication codes |
GB2379587B (en) * | 2001-09-10 | 2003-08-20 | Simon Alan Spacey | A method and apparatus for securing electronic information |
US7099469B2 (en) * | 2001-10-17 | 2006-08-29 | Motorola, Inc. | Method of scrambling and descrambling data in a communication system |
JP2003223098A (ja) * | 2002-01-29 | 2003-08-08 | Sony Corp | ブーリアン・マトリクスに基づく暗号化処理方法、および復号処理方法、並びにデータ通信システム |
EP1480371A1 (de) * | 2003-05-23 | 2004-11-24 | Mediacrypt AG | Vorrichtung und Verfahren zur Ver- und Entschlüsselung eines Datenblocks |
US20050147244A1 (en) * | 2003-12-30 | 2005-07-07 | Alexander Moldovyan | Method for cryptographic transformation of binary data blocks |
US7519371B2 (en) | 2004-02-09 | 2009-04-14 | Qualcomm Incorporated | Multi-hop communications in a wireless network |
US7289629B2 (en) * | 2004-02-09 | 2007-10-30 | Microsoft Corporation | Primitives for fast secure hash functions and stream ciphers |
US7870399B2 (en) * | 2006-02-10 | 2011-01-11 | Arxan Defense Systems | Software trusted platform module and application security wrapper |
CN101479774B (zh) * | 2006-06-23 | 2010-12-08 | 松下电器产业株式会社 | 加密处理装置、数据变换方法和集成电路 |
US9578469B2 (en) | 2014-10-02 | 2017-02-21 | Motorola Solutions, Inc. | Method and system for direct mode communication within a talkgroup |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3370126A (en) * | 1964-09-23 | 1968-02-20 | Honeywell Inc | Communication apparatus |
US3798360A (en) * | 1971-06-30 | 1974-03-19 | Ibm | Step code ciphering system |
US4217586A (en) * | 1977-05-16 | 1980-08-12 | General Electric Company | Channel estimating reference signal processor for communication system adaptive antennas |
DE3044984A1 (de) * | 1979-11-30 | 1982-04-15 | Dassault Electronique | Integrierte transistorschaltung, insbesondere fuer codierung |
NL8203737A (nl) * | 1982-09-27 | 1984-04-16 | Nederlanden Staat | Inrichting voor vercijfering van digitale signalen met een of meer des-schakelingen. |
US4707839A (en) * | 1983-09-26 | 1987-11-17 | Harris Corporation | Spread spectrum correlator for recovering CCSK data from a PN spread MSK waveform |
US4731843A (en) * | 1985-12-30 | 1988-03-15 | Paradyne Corporation | Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier |
-
1986
- 1986-11-03 US US06/926,043 patent/US4850019A/en not_active Expired - Lifetime
- 1986-11-04 EP EP91112054A patent/EP0454187B1/de not_active Expired - Lifetime
- 1986-11-04 DE DE3689510T patent/DE3689510T2/de not_active Expired - Lifetime
- 1986-11-04 EP EP86115279A patent/EP0221538B1/de not_active Expired - Lifetime
- 1986-11-04 DE DE3650365T patent/DE3650365T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE3689510D1 (de) | 1994-02-17 |
EP0221538A2 (de) | 1987-05-13 |
DE3650365D1 (de) | 1995-09-14 |
US4850019A (en) | 1989-07-18 |
EP0221538B1 (de) | 1994-01-05 |
EP0221538A3 (en) | 1988-08-10 |
DE3650365T2 (de) | 1996-02-08 |
EP0454187A2 (de) | 1991-10-30 |
EP0454187B1 (de) | 1995-08-09 |
EP0454187A3 (en) | 1992-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3689510T2 (de) | Einrichtung und Verfahren zur Datenverschleierung. | |
DE69222090T2 (de) | Einrichtung und Verfahren zum blockweisen Verschlüsseln von Daten | |
DE69721439T2 (de) | Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels | |
DE60222052T2 (de) | Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA) | |
DE69031736T2 (de) | Verschlüsselungsmethode | |
DE69916160T2 (de) | Vorrichtung und Verfahren zur kryptographischen Verarbeitung sowie Aufzeichnungsmedium zum Aufzeichnen eines kryptographischen Verarbeitungsprogramms zur Ausführung einer schnellen kryptographischen Verarbeitung ohne Preisgabe der Sicherheit | |
DE69931606T2 (de) | Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung | |
DE602005002632T2 (de) | Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten | |
DE19827904C2 (de) | Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung | |
DE68914322T2 (de) | Dynamische Rückkopplungsvorrichtung für einen Verschleierungsschlüsselgenerator. | |
DE69929251T2 (de) | Verschlüsselungssystem mit einem schlüssel veränderlicher länge | |
DE69736148T2 (de) | Verfahren und Einrichtung zur Datenverschlüsselung | |
EP0012974B1 (de) | Verfahren zur Chiffrierung von Datenblöcken einer vorgegebenen Länge | |
DE19744961A1 (de) | Erzeugen eindeutiger und unvorhersagbarer Werte | |
DE69932740T2 (de) | Verfahren und vorrichtung zur kryptographischen datenverarbeitung | |
EP1298834B1 (de) | Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten | |
DE69026784T2 (de) | Verfahren und Einrichtung zur Verschlüsselung mittels Modulo 2-Addition und Blocksubstitution | |
DE69834296T2 (de) | Verschlüsselungsvorrichtung und rechnerlesbares Aufzeichnungsmedium mit Ausführungsprogramm | |
DE60301750T2 (de) | Vorrichtung zur Erzeugung eines erweiterten Schlüssels, Verschlüsselungsvorrichtung und Verschlüsselungssystem | |
DE3883057T2 (de) | Verfahren und Anordnung zur Verschlüsselung eines digitalen Signals. | |
DE60038042T2 (de) | Einserkomplement-verschlüsselungskombinator | |
DE60004409T2 (de) | Schaltung und Verfahren zur Zufallszahlerzeugung | |
DE10324422B4 (de) | Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert | |
DE60022840T2 (de) | Verfahren zum sichern einer oder mehrerer elektronischer baugruppen, unter zuhilfenahme eines privatschlüssel-krypto-algorithmus, sowie elektronische baugruppe | |
DE102004038594B4 (de) | Verschlüsselungsverfahren und -vorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: HOFFMANN, E., DIPL.-ING., PAT.-ANW., 82166 GRAEFELFING |