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
Application number
DE3689510T
Other languages
English (en)
Other versions
DE3689510D1 (de
Inventor
Shoji Miyaguchi
Akihiro Shimizu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP60250398A external-priority patent/JPH0760292B2/ja
Priority claimed from JP60252650A external-priority patent/JPS62113191A/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of DE3689510D1 publication Critical patent/DE3689510D1/de
Application granted granted Critical
Publication of DE3689510T2 publication Critical patent/DE3689510T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • DETAILLIERTE BESCHREIBUNG DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • 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.
DE3689510T 1985-11-08 1986-11-04 Einrichtung und Verfahren zur Datenverschleierung. Expired - Lifetime DE3689510T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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