DE69635651T2 - Vorrichtung und Verfahren zur Datenumwandlung - Google Patents

Vorrichtung und Verfahren zur Datenumwandlung Download PDF

Info

Publication number
DE69635651T2
DE69635651T2 DE69635651T DE69635651T DE69635651T2 DE 69635651 T2 DE69635651 T2 DE 69635651T2 DE 69635651 T DE69635651 T DE 69635651T DE 69635651 T DE69635651 T DE 69635651T DE 69635651 T2 DE69635651 T2 DE 69635651T2
Authority
DE
Germany
Prior art keywords
data
transformation
sub
input
unit
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
DE69635651T
Other languages
English (en)
Other versions
DE69635651D1 (de
Inventor
Mitsuru Chiyoda-ku MATSUI
Toshio Chiyoda-ku TOKITA
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE69635651D1 publication Critical patent/DE69635651D1/de
Application granted granted Critical
Publication of DE69635651T2 publication Critical patent/DE69635651T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine Datentransformationsvorrichtung und ein Datentransformationsverfahren für die Verschlüsselung, Entschlüsselung von Eingangsdaten und Datendiffusion, um digitale Informationen der Kommunikation zu schützen.
  • Stand der Technik
  • Als ein herkömmliches Datentransformationsverfahren für die Verschlüsselung wird "FEAL-8 Algorithm" (Algorithmus-8 für schnelle Datenverschlüsselung) offenbart von Miyaguchi et al. (Miyaguchi, Shiraishi und Shimizu "FEAL-8 Encipherment Algorithm" NTT Practical Research Report, Band 39, Nr. 4/5, 1988).
  • 29 ist ein Teildiagramm des vorgenannten "FEAL-8"-Verschlüsselungsalgorithmus.
  • In der Figur bezeichnen 1001 und 1002 Eingangsdaten von zwei Folgen, 1003 und 1004 bezeichnen Ausgangsdaten von zwei Folgen und 1005, 1006, 1007 und 1008 bezeichnen Zwischendaten. 1011, 1012, 1013 und 1014 zeigen jeweils einen ersten Schlüsselparameter, einen zweiten Schlüsselparameter, einen dritten Schlüsselparameter und einen vierten Schlüsselparameter. Jeweils 1021, 1022, 1023 und 1024 zeigen eine Subtransformationseinheit jeder Transformationsstufe. Jede Subtransformationseinheit enthält jeweils einen nichtlinearen Transformator 1031, 1032, 1033, 1034 und jeweils eine XOR(Exklusiv-ODER)-Schaltung 1041, 1042, 1043, 1044.
  • Die Arbeitsweise wird nachfolgend erläutert. Die Eingangsdaten 1001 und 1002 von zwei Folgen werden an der Subtransformationseinheit 1021 einer ersten Stufe empfangen, um in neue Daten transformiert zu werden, d.h., die Zwischendaten 1005 und 1006 von zwei Folgen. Die Zwischendaten werden in die Subtransformationseinheit 1022 einer zweiten Stufe eingegeben, um in neue Daten transformiert zu werden, d.h., die Zwischendaten 1007 und 1008. Die vorbeschriebene Operation wird insgesamt achtmal wiederholt, und die Ausgangsdaten 1003 und 1004 von zwei Folgen werden als das letzte Transformationsergebnis von Subtransformationseinheit einer achten Stufe ausgegeben.
  • Die Arbeitsweise der Subtransformationseinheit 1021 der ersten Stufe wird als ein Beispiel der vorgenannten Subtransformationseinheiten erläutert.
  • Die Subtransformationseinheit 1021 empfängt die Eingangsdaten 1001 und 1002 der zwei Folgen und gibt die Zwischendaten 1005 und 1006 von zwei Folgen aus. Wie im Einzelnen in dem vorgenannten Practical Research Report beschrieben ist, werden die zweiten Eingangsdaten, d.h., die Eingangsdaten 1002, Byte für Byte geteilt und die geteilten Daten werden einer Exklusiv-ODER-Verknüpfung mit dem Schlüsselparameter unterzogen. Die arithmetische Addition wird bei den Daten wiederholt und die geteilten Daten werden wieder vereinigt. Diese nichtlineare Transformationsoperation wird in dem nichtlinearen Transformator 1031 durchgeführt. Die transformierten Daten werden mit den ersten Eingangsdaten 1001 einer Exklusiv-ODER-Verknüpfung unterzogen. Das Ergebnis der Exklusiv-ODER-Verknüpfung wird von der ersten Stufe als die zweiten Zwischendaten ausgegeben. Andererseits werden die zweiten Eingangsdaten 1002 als die ersten Zwischendaten 1005 ohne jegliche Transformation ausgegeben.
  • In der zweiten Subtransformationseinheit 1022 werden Daten ebenso wie bei der vorbeschriebenen Prozedur verarbeitet und die Zwischendaten der zweiten Stufe werden erhalten. Auf dieselbe werden bei diesem Beispiel insgesamt die Prozesse in acht Stufen durchgeführt. Als Ergebnis werden Ausgangsdaten 1003 und 1004 erhalten.
  • Die herkömmliche Datentransformationsvorrichtung ist wie vorbeschrieben ausgebildet. Die transformierten Daten werden nur ausgegeben, nachdem die nichtlineare Transformation in eine Stufe der Subtransformationseinheit beendet ist, und in die Subtransformationseinheit der nächsten Stufe eingegeben. D.h., jede Subtransformation wird aufeinander folgend durchgeführt und es wird Zeit benötigt, um den ganzen Vorgang durchzuführen.
  • LUBY M ET AL: "HOW TO CONSTRUCT PSEUDORANDOM PERMUTA TIONS FROM PSEUDORANDOM FUNCTIONS' SIAM JOURNAL ON COMPUTING, SOCIETY FOR INDUSTRIAL AND APPLIED MATHEMATICS, US, Band 17, Nr. 2, 1. April 1988 (1988-04-01), Seiten 373–386, XP000567129 ISSN: 0097-5397, offenbaren, wie ein invertierbarer Pseudozufalls-Permutationsgenerator aus einem Pseudozufallsgenerator gebildet wird. Diese Ausbildung beruht auf einem der Hauptentwurfsmerkmale des Data Encription Standard (DES) des U.S. National Bureau of Standards. Eine praktische Anwendung dieser Maßnahme besteht darin, dass ein Pseudozufalls-Bitgenerator verwendet werden kann, um wirksam ein privates Blockschlüssel-Verschlüsselungssystem auszubilden, das beweisbar sicher gegen gewählte Klartextangriffe ist.
  • Weiterhin beschreibt GB-A-2 285 562 einen Transformationsmuster-Erzeugungsmechanismus, welcher aufweist: einen Schlüsseleingabeabschnitt zum Eingeben eines Schlüssels für die Verschlüsselung. Einen Transformationsmuster-Erzeugungsabschnitt zum Erzeugen eines Transformationsmusters für die Transformation von Eingangsdaten; und einen Ausgabeabschnitt für die Ausgabe des erzeugten Transformationsmusters. Wenn eine Zahlenfolge entsprechend einem vorbestimmten Transformationsmuster als der Schlüssel in den Schlüsseleingabeabschnitt eingegeben wird, erzeugt der Transformationsmuster-Erzeugungsabschnitt das vorbestimmte Transformationsmuster entsprechend der Zahlensequenz und gibt dieses aus. Eine Pseudozufalls-Zahlenfolge wird vorzugsweise als Reaktion auf den eingegebenen Schlüssel erzeugt, und das erzeugte Transformationsmuster kann ein Permutationsmuster und eine Substitutionstabelle aufweist.
  • Schließlich diskutieren BROSCIUS A G ET AL: 'EXPLOITING PARALLELISM IN HARDWARE IMPLEMENTATION OF THE DES' ADVANCES IN CRYPTOLOGY. SANTA BARBARA, 11.–15. AUG., 1991, PROCEEDINGS OF THE CONFERENCE ON THEORY AND APPLICATIONS OF CRYPTOGRAPHIC TECHNIQUES (CRYPTO), BERLIN, SPRINGER, DE, 1991, Seiten 367–376, XP000269040, parallele Maßnahmen für mehrere Pegel einer Implementierung. Auf dem untersten Pegel kann der Kern des Algorithmus in mehrere parallele Berechnungen zur Erhöhung der Geschwindigkeit geteilt werden. Durch Erzeugen von Subschlüsseln einen Zyklus vorher kann die erforderliche Zeit wirksam mit der Verwendung des Subschlüssels in dem Rest der Rundungsoperation überlappt werden. Ein zusätzliches Überlappen kann bei den beiden Stufen von Exklusiv-ODER(XOR)-Gliedern unter Inkaufnahme einer erhöhten Komplexität und Anzahl von Gliedern erfolgen. Ein Pegel aufwärts in der Hierarchie kann die Verwendung vielfacher Rundungsimplementierungen die Rechenbandbreite erhöhen, wenn der gewählte DES-Operationsmodus keine Rückkopplung von Verschlüsselungstext erfordert. Von den offiziellen Moden schließt diese Anforderung alle bis auf das elektronische Codebuch (ECB)-Verfahren) aus. Leider ist bekannt, dass ECB empfänglich ist für auf Klartext-Frequenzanalyse beruhende Angriffe, da mehrere identische Eingangsblöcke zu demselben Ausgangsblock mit verschlüsseltem Text führen. Schließlich ergibt auf demselben Pegel die Verarbeitung von I/O gleichzeitig mit der DES-Berechnung eine kontinuierliche Operation der Verschlüsselungseinheit. Zusätzlich zu dieser Pufferung ermöglicht die Verwendung von direktem Speicherzugriff (DMA) für die Verschlüsselung, dass der Hostprozessor eine andere Arbeit gleichzeitig mit der weitergehenden Verschlüsselung fortsetzt.
  • Die vorliegende Erfindung ist vorgesehen, um das vorgenannte Problem zu lösen. Es ist die Aufgabe der Er findung, mehrere Subtransformationen parallel durchzuführen, um eine Verarbeitungsgeschwindigkeit einer Datentransformation wie Verschlüsselung, Entschlüsselung und Datendiffusion zu erhöhen.
  • Offenbarung der Erfindung
  • Die vorgenannte Aufgabe wird erfindungsgemäß gelöst durch eine Vorrichtung und ein Verfahren zur Datentransformation, die die Merkmale des Anspruchs 1 bzw. Anspruchs 17 aufweisen. Bevorzugte Ausführungsbeispiele der Vorrichtung sind in den Unteransprüchen definiert.
  • Gemäß einem ersten Aspekt der Erfindung ist eine Datentransformationsvorrichtung zum Transformieren erster Eingangsdaten und zweiter Eingangsdaten gekennzeichnet durch eine erste Transformationseinheit zum Durchführen einer ersten nichtlinearen Transformation der ersten Eingangsdaten unter Verwendung eines ersten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangsdaten, um ein durch die Exklusiv-ODER-Funktion erhaltenes Ergebnis als zweite Zwischendaten auszugeben, und Ausgeben der zweiten Eingangsdaten als erste Zwischendaten ohne jegliche Transformation, und eine zweite Transformationseinheit zum Durchführen einer zweiten nichtlinearen Transformation der ersten Zwischendaten unter Verwendung eines zweiten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischendaten, um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als vierte Zwischendaten auszugeben, und Ausgeben der zweiten Zwischendaten als dritte Zwischendaten ohne jegliche Transformation.
  • Gemäß einem bevorzugten Ausführungsbeispiel dieser Vorrichtung enthält die erste Transformationseinheit einen ersten nichtlinearen Transformator und eine Exklusiv-ODER-Schaltung, die sich zwischen einem Eingang für die ersten Eingangsdaten und einem Eingang der zweiten Transformationseinheit für die zweiten Zwischendaten befindet; und die zweite Transformationseinheit enthält einen zweiten nichtlinearen Transformator und eine Exklusiv-ODER-Schaltung, die sich zwischen einem Eingang für die ersten Zwischendaten und einem Eingang einer nächsten Transformationseinheit für die vierten Zwischendaten befindet; oder die erste Transformationseinheit enthält eine Exklusiv-ODER-Schaltung, die sich zwischen einem Eingang für die zweiten Eingangsdaten und einem Eingang der zweiten Transformationseinheit für die ersten Zwischendaten befindet, und einen ersten nichtlinearen Transformator, der sich zwischen einem Eingang für die ersten Eingangsdaten und einem Eingang der zweiten Transformationseinheit für die zweiten Zwischendaten befindet, und die zweite Transformationseinheit enthält die Exklusiv-ODER-Schaltung, die sich zwischen dem Eingang für die zweiten Zwischendaten und einem Eingang einer nächsten Transformationseinheit für die dritten Zwischendaten befindet, und einem zweiten nichtlinearen Transformator, der sich zwischen einem Eingang für die ersten Zwischendaten und einem Eingang der nächsten Transformationseinheit für die vierten Zwischendaten befindet; wobei die erste Transformationseinheit und die zweite Transformationseinheit abwechselnd d mal (d ≧ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind, und wobei die Transformationseinheit der letzten Stufe, die jeweils die erste Transformationseinheit und die zweite Transformationseinheit ist, ungeradzahlige Zwischendaten und geradzahlige Zwischendaten als Ausgangsdaten nach der Transformation ausgibt.
  • Gemäß einem anderen bevorzugten Ausführungsbeispiel dieser Vorrichtung, bei der die ersten Eingangsdaten, die in die erste Transformationseinheit eingegeben sind, in erste Eingangssubdaten und zweite Eingangssubdaten geteilt werden, und der Schlüsselparameter in einen ersten einen n-ten geteilten Schlüsselparameter geteilt wird; weist diese Vorrichtung auf: eine erste Subtransformationseinheit zum Durchführen einer nichtlinearen Transformation der ersten Eingangssubdaten, wobei ein erster geteilter Schlüsselparameter verwendet wird, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangssubdaten, Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als zweite Zwischensubdaten und Ausgeben der zweiten Eingangssubdaten als erste Zwischensubdaten ohne irgendeine Transformation; und eine zweite Subtransformationseinheit zum Durchführen einer internen nichtlinearen Transformation der ersten Zwischensubdaten unter Verwendung des zweiten geteilten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischensubdaten, Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als vierte Zwischensubdaten, und Ausgeben der zweiten Zwischensubdaten als dritte Zwischensubdaten ohne jegliche Transformation; wobei die erste Subtransformationseinheit und die zweite Subtransformationseinheit abwechselnd n mal (n ≧ 2) von einer erste Stufe zu einer letzten Stufe verbunden sind, und wobei ungeradzahlige Zwischendaten und geradzahlige Zwischendaten, die von der letzten Stufe ausgegeben werden, als ein Transformationsergebnis vereint werden.
  • Gemäß einem weiteren bevorzugten Ausführungsbeispiel weist die Vorrichtung, bei der die ersten Eingangsdaten, die in die erste Transformationseinheit eingegeben wurden, in erste Eingangssubdaten und zweite Eingangssubdaten geteilt werden und der Schlüsselparameter in einen ersten bis einen n-ten geteilten Schlüsselparameter geteilt wird; auf: eine erste Subtransformationseinheit zum Durchführen einer internen nichtlinearen Transformation der ersten Eingangssubdaten unter Verwendung eines ersten geteilten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses als zweite Zwischensubdaten, Durchführen einer Exklusiv-ODER-Operation bei den ersten Eingangssubdaten und den zweiten Eingangssubdaten, und Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als erste Zwischensubdaten; und eine zweite Subtransformationseinheit zum Durchführen einer internen nichtlinearen Transformation der ersten Zwischensubdaten, die von der ersten Subtransformationseinheit ausgegeben wurden, unter Verwendung des zweiten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses als vierte Zwischensubdaten, Durchführen einer Exklusiv-ODER-Operation bei den ersten Zwischensubdaten und den zweiten Zwischensubdaten, und Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als dritte Zwischendaten; wobei die erste Subtransformationseinheit und die zweite Subtransformationseinheit abwechselnd n mal n mal (n ≥ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind, und wobei ungeradzahlige Zwischendaten und geradzahlige Zwischendaten, die von der letzten Stufe ausgegeben wurden, als ein Transformationsergebnis vereint werden.
  • Gemäß noch einem weiteren bevorzugten Ausführungsvorrichtung dieser Vorrichtung werden die ersten Eingangsdaten und zweiten Eingangsdaten, die ungeradzahligen Zwischendaten und die geradzahligen Zwischendaten jeweils in Datenstücke so geteilt, dass jedes der geteilten Datenstücke eine gleiche Anzahl von Stellen sowohl in den ungeradzahligen als auch in den geradzahligen Daten hat.
  • Gemäß noch einem weiteren bevorzugten Ausführungsbeispiel dieser Vorrichtung enthält die erste Transformationseinheit einen ersten nichtlinearen Transformator und eine Exklusiv-ODER-Schaltung, die sich zwischen einem Eingang für die ersten Eingangsdaten und einem Eingang der zweiten Transformationseinheit für die zweiten Zwischendaten befindet; und die zweite Transformationseinheit enthält einen zweiten nichtlinearen Transformator und eine Exklusiv-ODER-Schaltung, die sich zwischen einem Eingang für die ersten Zwischendaten und einem Eingang einer nächsten Transformationseinheit für die vierten Zwischendaten befindet; oder die erste Transformationseinheit enthält die Exklusiv-ODER-Schaltung, die sich zwischen einem Eingang für die zweiten Eingangsdaten und einem Eingang der zweiten Transformationseinheit für die ersten Zwischendaten befindet, und einen ersten nichtlinearen Transformator, der sich zwischen einem Eingang für die ersten Eingangsdaten und einem Eingang der zweiten Transformationseinheit für die zweiten Zwischendaten befindet, und die zweite Transformationseinheit enthält die Exklusiv-ODER-Schaltung, die sich zwischen dem Eingang für die zweiten Zwischendaten und einem Eingang einer nächsten Transfor mationseinheit für die dritten Zwischendaten befindet, und einen zweiten nichtlinearen Transformator, der sich zwischen einem Eingang für die ersten Zwischendaten und einem Eingang der nächsten Transformationseinheit für die vierten Zwischendaten befindet; wobei die erste Transformationseinheit und die zweite Transformationseinheit abwechselnd d mal (d ≥ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind; und wobei die Vorrichtung weiterhin eine Datenauswahleinheit, die mit der Eingangsseite der ersten Transformationseinheit verbunden ist, eine Datenhalteeinheit, die mit der Ausgangsseite der zweiten Transformationseinheit verbunden ist, und eine Schlüsselparameter-Zuführungseinheit aufweist; wobei zuerst die Datenauswahleinheit erste Eingangsdaten und zweite Eingangsdaten auswählt für die Eingabe in die erste Transformationseinheit, und danach die Datenauswahleinheit die Ausgangsdaten von der Datenhalteeinheit auswählt für die Eingabe in die erste Transformationseinheit, um eine Rückführungsschleife zu bilden; wobei dieser Datentransformationszyklus m mal (m ≥ 2) wiederholt wird, und danach die Datenhalteeinheit ungeradzahligen Zwischendaten und geradzahligen Zwischendaten als ein Transformationsergebnis ausgibt.
  • Gemäß einem noch weiteren bevorzugten Ausführungsbeispiel enthält diese Vorrichtung zum Transformieren erster Eingangsdaten und zweiter Eingangsdaten, die jeweils dieselbe Anzahl von Stellen haben, jeweils eine von einer ersten Transformationseinheit enthaltend einen ersten nichtlinearen Transformator und eine erste Exklusiv-ODER-Schaltung, und einer zweiten Transformationseinheit enthaltend eine zweite Exklusiv-ODER-Schaltung und einen zweiten nichtlinearen Transformator, wobei die Transformationseinheiten d mal (d ≥ 2) verbunden sind; welche Datentransformationsvorrichtung weiterhin aufweist eine Datenauswahleinheit, die für die Eingangsseite einer ersten Transformationseinheit vorgesehen ist, eine Datenhalteeinheit, die für die Ausgangsseite einer letzten Transformationseinheit vorgesehen ist, und eine Schlüsselparameter-Zuführungseinheit aufweist; wobei zuerst die Datenauswahleinheit die ersten Eingangsdaten und die zweiten Eingangsdaten für die Eingabe in die erste Transformationseinheit auswählt, und danach die Datenauswahleinheit die Ausgangsdaten von der Datenhalteeinheit für die Eingabe in die erste Transformationseinheit auswählt, um eine Rückführungsschleife zu bilden; und wobei dieser Datentransformationszyklus m mal (m ≥ 2) wiederholt wird, und hiernach die Datenhalteeinheit ungeradzahlige Zwischendaten und geradzahlige Zwischendaten als ein Transformationsergebnis ausgibt.
  • Gemäß noch einem weiteren bevorzugten Ausführungsbeispiel dieser Vorrichtung werden die ersten Eingangsdaten in erste Eingangssubdaten und zweite Eingangssubdaten geteilt, und der Schlüsselparameter wird in einen ersten bis einen n-ten geteilten Schlüsselparameter geteilt; und die Transformationseinheit enthält weiterhin eine erste Subtransformationseinheit zum Durchführen einer nichtlinearen Transformation der ersten Eingangssubdaten unter Verwendung des ersten geteilten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangssubdaten, um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als zweite Zwischensubdaten auszugeben, und Ausgeben der zweiten Eingangssubdaten als erste Zwischensubdaten ohne jegliche Transformation; und eine zweite Subtransforma tionseinheit zum Eingeben der ersten Zwischensubdaten, die von der ersten Subtransformationseinheit ausgegeben wurden, Durchführen einer internen nichtlinearen Transformation der ersten Zwischensubdaten unter Verwendung des zweiten geteilten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischensubdaten, um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als vierte Zwischensubdaten auszugeben, und Ausgeben der zweiten Zwischensubdaten als dritte Zwischensubdaten ohne jegliche Transformation; wobei die erste Subtransformationseinheit und die zweite Subtransformationseinheit abwechselnd n mal (n ≥ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind; wobei die Transformationseinheit weiterhin eine Datensubauswahleinheit, die auf der Eingangsseite der ersten Subtransformationseinheit vorgesehen ist, eine Datensubhalteeinheit, die auf der Ausgangsseite von jeweils der ersten und der zweiten Subtransformationseinheit vorgesehen ist, und eine Schlüsselparameter-Subzuführungseinheit enthält; wobei zuerst die Datensubauswahleinheit die ersten Eingangssubdaten und die zweiten Eingangssubdaten auswählt und eingibt, nach der Auswahl und Eingabe der ersten Eingangssubdaten und der zweiten Eingangssubdaten die Datensubauswahleinheit gesetzt wird zum Auswählen und Eingeben von Ausgangsdaten von der Datensubhalteeinheit, um eine Rückführungsschleife zu bilden; und wobei die Transformationseinheit die Transformation von Daten n mal (n ≥ 2) wiederholt, die Schlüsselparameter-Subzuführungseinheit den geteilten Schlüsselparameter zu jeder Subtransformationseinheit liefert entsprechend der wiederholten Transformation, und zuletzt die Datensubhalteeinheit ungeradzahlige Zwischensubdaten und geradzahlige Zwischensubdaten als erste Ausgangsdaten nach der Transformation ausgibt.
  • Gemäß noch einem weiteren bevorzugten Ausführungsbeispiel dieser Vorrichtung werden die ersten Eingangsdaten in erste Eingangssubdaten und zweite Eingangssubdaten geteilt werden und der Schlüsselparameter wird in einen ersten bis einen n-ten geteilten Schlüsselparameter geteilt; und die Transformationseinheit enthält weiterhin eine erste Subtransformationseinheit für die Eingabe erster Eingangssubdaten, Durchführung einer nichtlinearen Transformation der ersten Eingangssubdaten unter Verwendung des ersten geteilten Schlüsselparameters, Ausgabe eines transformierten Ergebnisses als zweite Zwischensubdaten, Durchführen einer Exklusiv-ODER-Operation bei den ersten Eingangssubdaten und den zweiten Eingangssubdaten, um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als erste Zwischensubdaten auszugeben; und eine zweite Subtransformationseinheit zum Eingeben der ersten Zwischensubdaten, die von der ersten Subtransformationseinheit ausgegeben wurden, Durchführen einer nichtlinearen Transformation der ersten Zwischensubdaten unter Verwendung des zweiten geteilten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses als vierte Zwischensubdaten, Durchführung einer Exklusiv-ODER-Operation bei den ersten Zwischensubdaten und den zweiten Zwischendaten, und Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als dritte Zwischensubdaten; wobei die erste Subtransformationseinheit und die zweite Subtransformationseinheit abwechselnd n mal (n ≥ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind, wobei die Subtransformationseinheit weiterhin eine Datensubauswahleinheit, die auf der Eingangsseite der ersten Subtransformations einheit vorgesehen ist, eine Datensubhalteeinheit, die auf der Ausgangsseite jeweils der ersten und der zweiten Subtransformationseinheit vorgesehen ist, und eine Schlüsselparameter-Subzuführungseinheit enthält; wobei zuerst die Datensubauswahleinheit die ersten Eingangssubdaten und die zweiten Eingangssubdaten auswählt und eingibt, nach der Auswahl und der Eingabe der ersten Eingangssubdaten und der zweiten Eingangssubdaten die Datensubauswahleinheit gesetzt wird zur Auswahl und Eingabe von Ausgangsdaten von der Datensubhalteeinheit, um eine Rückführungsschleife zu bilden; und wobei die Transformationseinheit die Transformation von Daten m mal (m ≥ 2) wiederholt, die Schlüsselparameter-Subzuführungseinheit den geteilten Schlüsselparameter zu jeder Subtransformationseinheit entsprechend der wiederholten Transformation liefert, und zuletzt die Datensubhalteeinheit ungeradzahlige Zwischendaten und geradzahlige Zwischendaten als erste Ausgangsdaten nach der Transformation ausgibt.
  • Gemäß noch einem weiteren bevorzugten Ausführungsbeispiel dieser Vorrichtung werden in jede Subtransformationseinheit einzugebende ungeradzahlige Daten in zwei Datenstücke geteilt, die jeweils eine identische Anzahl von Stellen haben; und die ersten Subtransformationseinheiten sind n mal (n ≥ 2) verbunden.
  • Gemäß noch einem weiteren bevorzugten Ausführungsbeispiel dieser Vorrichtung ist zumindest einer der nichtlinearen Transformatoren eine Xn-Schaltung (X: ein Element) auf dem Galois-Feld, wobei die Xn-Schaltung auf dem Galois-Feld auf einer normalen Basis gebildet sein kann.
  • Gemäß noch einem weiteren bevorzugten Ausführungsbeispiel dieser Vorrichtung ist zumindest ein Teil des nichtlinearen Transformators ein Festwertspeicher, ein Speicher mit wahlfreiem Zugriff oder eine logische Schaltung.
  • Schließlich weist gemäß noch einem weiteren bevorzugten Ausführungsbeispiel die Vorrichtung zwei logische Schaltungen auf, die jeweils zwei Exklusiv-ODER-Schaltungen und UND- und ODER-Schaltungen sind, die zumindest auf der ersten Eingangsseite oder der zweiten Eingangsseite der ersten Transformationseinheit als ein Datentransformator vorgesehen sind, wobei die in den Datentransformator eingegebenen Eingangsdaten in zwei Datenstücke mit einer vorbestimmten Anzahl von Stellen als erste Subdaten und zweite Subdaten geteilt werden, der Schlüsselparameter in einen ersten Transformationsschlüsselparameter und einen zweiten Transformationsschlüsselparameter geteilt wird; wobei eine erste logische Operation bei den ersten Subdaten durchgeführt wird unter Verwendung des ersten Transformationsschlüsselparameters, ein erstes Operationsergebnis einer Exklusiv-ODER-Operation mit den zweiten Subdaten unterzogen wird, um ein erstes Exklusiv-ODER-Ergebnis auszugeben, und das erste Exklusiv-ODER-Ergebnis ausgegeben wird als Ausgangsdaten nach der Transformation der zweiten Subdaten; und wobei eine zweite logische Operation bei dem ersten Exklusiv-ODER-Ergebnis durchgeführt wird unter Verwendung des zweiten Transformations-Schlüsselparameters, das zweite Operationsergebnis einer Exklusiv-ODER-Operation mit den ersten Subdaten unterzogen wird, um ein zweites Exklusiv-ODER-Ergebnis auszugeben, das zweite Exklusiv-ODER-Ergebnis ausgegeben wird als Ausgangsdaten der Transformation der ersten Subdaten, und die Ausgangsdaten nach der Transformation der ersten Subdaten und die Ausgangsdaten nach der Transformation der zweiten Subdaten vereint und ausgegeben werden.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Datentransformationsverfahren zum Transformieren erster Eingangsdaten und zweiter Eingangsdaten gekennzeichnet durch die Schritte:
    • a) Durchführen einer ersten nichtlinearen Transformation der ersten Eingangsdaten unter Verwendung eines ersten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangsdaten, um ein Exklusiv-ODER-Ergebnis als zweite Zwischendaten auszugeben, und Ausgeben der zweiten Eingangsdaten als erste Zwischendaten ohne jegliche Transformation, und
    • b) Durchführen einer zweiten nichtlinearen Transformation der ersten Zwischendaten unter Verwendung eines zweiten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischendaten, um ein Exklusiv-ODER-Ergebnis als vierte Zwischendaten auszugeben, und Ausgeben der zweiten Zwischendaten als dritte Zwischendaten ohne jegliche Transformation.
  • Kurzbeschreibung der Zeichnung
  • 1 ist ein Blockschaltbild, das eine Ausbildung einer Datentransformationsvorrichtung gemäß dem Ausführungsbeispiel 1 zeigt, 2 zeigt ein Beispiel für einen nichtlinearen Transformator, 3 ist ein Blockschaltbild, das die Ausbildung einer Datentrans formationsvorrichtung gemäß dem Ausführungsbeispiel 2 zeigt, 4 zeigt, dass die Datentransformationsvorrichtung nach dem ersten Ausführungsbeispiel logisch identisch mit der Datentransformationsvorrichtung nach dem zweiten Ausführungsbeispiel ist, 5 zeigt ein anderes Beispiel für eine Datentransformationsvorrichtung mit derselben Ausbildung wie der der Datentransformationsvorrichtung nach dem ersten oder zweiten Ausführungsbeispiel, 6 zeigt einen Teil einer grundlegenden Ausbildung und einen nichtlinearen Transformator einer Subtransformationseinheit der Datentransformationsvorrichtung nach Ausführungsbeispiel 3, 7 zeigt eine gesamte kaskadenförmige Ausbildung der Datentransformationsvorrichtung nach dem dritten Ausführungsbeispiel, 8 zeigt den Transformationsvorgang bei der Vorrichtung nach 7, 9 zeigt den Transformationsvorgang bei der Vorrichtung nach 7, 10 zeigt den Transformationsvorgang der Vorrichtung nach 7, 11 zeigt einen Teil einer grundsätzlichen Ausbildung und einen nichtlinearen Transformator einer Subtransformationseinheit einer Datentransformationsvorrichtung nach Ausführungsbeispiel 4, 12 zeigt einen Teil von in Kaskadenform angeordneten Subtransformationseinheiten und einen Datentransformationsvorgang bei der Datentransformationsvorrichtung nach dem vierten Ausführungsbeispiel, 13 zeigt eine grundsätzliche Ausbildung und einen nichtlinearen Transformator der Subtransformationseinheit einer Datentransformationsvorrichtung nach Ausführungsbeispiel 5, 14 ist ein Blockschaltbild, das die Ausbildung einer Datentransformationsvorrichtung nach Ausführungsbeispiel 6 zeigt, 15 ist ein Blockschaltbild, das die Ausbildung einer Datentransformationsvorrichtung nach Ausführungsbeispiel 7 zeigt, 16 ist ein Blockschaltbild, das die Ausbildung einer Datentrans formationsvorrichtung nach Ausführungsbeispiel 8 zeigt, 17 ist ein Blockschaltbild, das die Ausbildung einer Datentransformationsvorrichtung nach Ausführungsbeispiel 9 zeigt, 18 zeigt die Konfiguration eines externen nichtlinearen Transformators einer Datentransformationsvorrichtung nach 9, 19 zeigt die Konfiguration eines internen nichtlinearen Transformators eines internen nichtlinearen Transformators einer Datentransformationsvorrichtung nach Ausführungsbeispiel 9, 20 zeigt ein Beispiel für nichtlineare Elemente (Substitutionstabelle) des internen nichtlinearen Transformators der Datentransformationsvorrichtung nach dem neunten Ausführungsbeispiel, 21 zeigt ein Beispiel für nichtlineare Elemente (Substitutionstabelle) des internen nichtlinearen Transformators der Datentransformationsvorrichtung nach dem neunten Ausführungsbeispiel, 22 zeigt ein Beispiel für nichtlineare Elemente des internen nichtlinearen Transformators nach 19, gebildet durch eine normale Basis der Xn-Schaltung auf dem Galois-Feld, 23 ist ein Blockschaltbild, das die Ausbildung einer Datentransformationsvorrichtung nach Ausführungsbeispiel 10 zeigt, 24 zeigt eine detaillierte Ausbildung des Datentransformators nach 23, 25 ist ein Blockschaltbild, das eine andere Datentransformationsvorrichtung nach Ausführungsbeispiel 11 zeigt, 26 zeigt jedes Merkmal von elf Ausführungsbeispielen von dem ersten Ausführungsbeispiel bis zum elften Ausführungsbeispiel, 27 zeigt ein Anwendungsbeispiel für die Datentransformationsvorrichtung nach der Erfindung, 28 zeigt ein Anwendungsbeispiel für die Datentransformationsvorrichtung nach der Erfindung, und 29 zeigt eine Ausbildung einer herkömmlichen Datentransformationsvorrichtung.
  • Beste Art der Ausführung der Erfindung
  • Ausführungsbeispiel 1
  • Auf dem Gebiet der Informationsverarbeitung haben Verschlüsselung und Entschlüsselung die Aufmerksamkeit auf sich gezogen, um die Sicherheit von Daten oder die Sicherheit der Kommunikation zwischen den Personen zu bewahren. Es ist für die Verschlüsselung und Entschlüsselung wichtig, Daten mit hoher Geschwindigkeit zu verarbeiten, um die Möglichkeit der Kryptanalyse zu verringern.
  • Bei einem bekannten Verschlüsselungsverfahren werden die Eingangsdaten unter Verwendung eines Schlüsselparameters nicht linear transformiert. Die so genannte Differenzialwahrscheinlichkeit zeigt die Stärke der Verschlüsselung. Es kann gesagt werden, dass die Verschlüsselung stark ist, wenn die Differenzialwahrscheinlichkeit klein ist. Gemäß dem Dokument 1: Provable Security Against Differential Cryptanalysis, von Kaisa Nyberg, Lars Ramkilde Knudsen, Journal of Cryptology, Band 8, Nr. 1 (1995), wird bei der Verschlüsselung von Daten durch eine Kaskade von mehreren Subtransformationen, wenn die Differenzialwahrscheinlichkeit der nichlinearen Transformation gleich "p" ist, das Folgende bewiesen.
    • (1) Wenn mehr als drei Stufen von Subtransformationen vorhanden sind, ist die Differenzialwahrscheinlichkeit als eine Gesamtvorrichtung weniger als 2p2, wenn die nichtlineare Transformation in dem System durchgeführt wird, bei dem der Wert von Ausgangsdaten nacheinander entsprechend den Eingangsdaten bestimmt wird.
  • Bei der vorstehenden Feststellung bedeutet, dass der Wert von Ausgangsdaten nacheinander entsprechend den Eingangsdaten bestimmt wird, das Folgende. Wenn Eingangsdaten x einen der Werte von 0–255 haben und Ausgangsdaten Y einen der Werte von 0–255 haben, wird ein besonderer Wert von Ausgangsdaten Y entsprechend einem besonderen Wert von Eingangsdaten X vorher bestimmt als ein Paar von Eingangsdaten und Ausgangsdaten. Wenn beispielsweise der Wert von Eingangsdaten X gleich 8 ist, ist der Wert der Ausgangsdaten Y immer 125.
  • In dem in 29 gezeigten Algorithmus wird, wenn jede der Differenzialwahrscheinlichkeiten der nichtlinearen Transformatoren 1031, 1032 und 1033 gleich "p" ist, die Differenzialwahrscheinlichkeit des gesamten Algorithmus in 29 geringer als 2p2.
  • Der bekannte FEAL-Algorithmus gehört zu einem Typ von in 29 gezeigten Algorithmen. Bei diesem FEAL-Algorithmus ist die Differenzialwahrscheinlichkeit "p" 1 bei der nichtlinearen Transformation jedes Subtransformationsprozesses, und somit wird die Differenzialwahrscheinlichkeit des Gesamtalgorithmus weniger als 2 entsprechend der vorstehenden Feststellung. Dies beweist nichts über die Stärke der Verschlüsselung.
  • 2 zeigt ein Beispiel für den herkömmlichen nichtlinearen Transformator.
  • In der Figur bezeichnet 151 eine XOR(Exklusiv-ODER)-Schaltung des nichtlinearen Transformators, 152 bezeichnet eine inverse Galois-Feld-Schaltung. Dieser nichtlineare Transformator gibt "0" bei Empfang des Eingangssignals 0 aus. n zeigt die Bitgröße von Ein gangs-/Ausgangsdaten. Wenn der nichtlineare Transformator nach 2 verwendet wird, ist bekannt, dass die Differenzialwahrscheinlichkeit "p" gleich p = 2/2n wird (worin "n" eine ungerade Zahl ist), oder p = 4/2n (worin "n" eine gerade Zahl ist).
  • Jedoch wird der Schaltungsaufwand für die inverse Galois-Feld-Schaltung 152 groß, wenn die Größe der Eingangsdaten groß ist.
  • Gemäß der vorliegenden Erfindung genügt auch eine vorstehend beschriebene Konfiguration der obigen Feststellung (1), die im Dokument 2 bestätigt wird: "On Provable Security of Block Ciphers against Differential and Linear Cryptanalysis", Mitsuru Matsui, Text for the 18th Symposium on Information Theory and Ist Applications, 24.–27. Oktober 1995). Das Dokument 2 zeigt, dass diese Erfindung eine stärkere Verschlüsselung liefert als die Konfiguration nach (1), da 2p2 bei der vorstehenden Feststellung (1) auf p2 verringert werden kann, selbst wenn der nichtlineare Transformationsvorgang derselbe wie in 29 ist.
  • Bei diesem Ausführungsbeispiel wird die Datentransformationsvorrichtung erläutert, die die Subtransformationseinheit enthält, bei der die Differenzialwahrscheinlichkeit "p" klein ist und Daten mit hoher Geschwindigkeit transformiert werden können.
  • 1 zeigt eine Ausbildung der Datentransformationsvorrichtung nach dem vorliegenden Ausführungsbeispiel.
  • In der Figur bezeichnen 101 und 102 Eingangsdaten A bzw. Eingangsdaten B. 103 und 104 bezeichnen Ausgangdaten A und Ausgangsdaten B der letzten Stufe, die das Datentransformationsergebnis sind. 105108 bezeichnen Zwischendaten, und 111114 bezeichnen Schlüsselparameter für die Verschlüsselung. 121124 bezeichnen Subtransformationseinheiten von der ersten Stufe bis zur n-ten Stufe, enthaltend nichtlineare Transformatoren 131134 für die erste bis n-te Stufe, und XOR-Schaltungen 141144.
  • Die Arbeitsweise der Datentransformationsvorrichtung nach der vorstehenden Konfiguration wird nachfolgend erläutert. Hier sind die Längen der beiden Eingangsdaten einander identisch. Bei dem Datentransformationsvorgang wird Zeit benötigt, um die nichtlineare Transformation durchzuführen. Die für eine XOR-Operation benötigte Zeit ist kurz genug, um im Vergleich mit der nichtlinearen Transformation vernachlässigt zu werden.
  • In 1 wird eine erste nichtlineare Transformation bei einem der Eingangsignale, den Eingangsdaten A 101, durchgeführt unter Verwendung des ersten Schlüsselparameters 111 in der XOR-Schaltung 151 und in der inversen Galois-Feld-Schaltung 152, die beide in 2 gezeigt sind. Das transformierte Ergebnis 109 wird mit einem anderen Eingangssignal einer Exklusiv-ODER-Verknüpfung unterzogen, die Eingangsdaten B 102 und das der Exklusiv-ODER-Verknüpfung unterzogene Ergebnis wird zu der nächsten Stufe als Zwischendaten B 106 ausgegeben (S2). Andererseits werden die Eingangsdaten B 102 zu der nächsten Stufe ohne jegliche Transformation als die ersten Zwischendaten A 105 ausgegeben (S1). Eine zweite nichtlineare Transformation von Zwischendaten A 105 wird durchgeführt und das Transformationsergebnis wird mit Zwischendaten B 106 einer Exklusiv-ODER-Verknüpfung unterzogen, um Zwischendaten B 108 auszugeben (S4). Zwischendaten B 106 werden zu der nächsten Stufe als Zwischendaten A 107 ohne jegliche Transformation ausgegeben (S3). Bei dem vorbeschriebenen Vorgang wird die Operation des zweiten nichtlinearen Transformators 132 parallel zu der ersten nichtlinearen Transformation durchgeführt.
  • In beiden Subtransformationseinheiten der ungeradzahligen Stufe und der geradzahligen Stufe werden die nichtlinearen Transformationen nahezu parallel durchgeführt, wie vorstehend beschrieben ist, was eine Datentransformation mit hoher Geschwindigkeit ermöglicht.
  • Bei der vorstehenden Erläuterung des Ausführungsbeispiels sind die Längen der beiden Eingangsdaten identisch. In einem anderen Fall, in welchem die Längen der beiden Eingangsdaten unterschiedlich sind, wenn beispielsweise die Eingangsdaten A n1 Bits enthalten und die Eingangsdaten B n2 Bits enthalten (n1 > n2), gilt das Folgende.
    • (2) Wenn mehr als drei Stufen von Subtransformationen vorhanden sind, wird die Differenzialwahrscheinlichkeit einer gesamten Vorrichtung weniger als p2, wenn eine nichtlineare Transformation in dem System durchgeführt wird, in welchem der Wert von Ausgangsdaten nacheinander entsprechend den Eingangsdaten bestimmt wird.
  • Demgemäß kann bei der Ausbildung nach 1, wenn die Längen der beiden Eingangsdaten unterschiedlich sind, obgleich selbst die Differenzialwahrscheinlichkeit "p" jeder Subtransformationseinheit dieselbe wie in dem vorstehenden Fall ist, die Datentransformationsvorrichtung konfiguriert werden, bei der die Differenzialwahrscheinlichkeit "p" der gesamten Vorrich tung sicher geringer als p2 ist. Bei der vorgenannten Vorrichtung werden zwei Daten mit unterschiedlichen Längen in die XOR-Schaltung eingegeben. Die überschüssigen Bits der Eingangsdaten A ((n1–n2) Bits) werden von der XOR-Operation ausgeschlossen. Nur dieselbe Anzahl von Bits der Eingangsdaten A wie der der Eingangsdaten B (n2 Bits) wird der Exklusiv-ODER-Verknüpfung mit den Eingangsdaten B unterzogen. Bei einer anderen Operation können beispielsweise (n1–n2) Bits von Konstanten mit Eingangsdaten B verkettet werden und die Eingangsdaten B mit dem verketteten Teil werden mit den Eingangsdaten A einer Exklusiv-ODER-Verknüpfung unterzogen. Weiterhin wird der Schlüsselparameter zweckmäßig zugeführt entsprechend der Länge von zu verarbeitenden Daten, wenn die Eingangsdaten A und die Eingangsdaten B unterschiedliche Datenlängen haben.
  • Die Hardwarekonfiguration ist bei diesem Ausführungsbeispiel wie vorbeschrieben. Es ist auch möglich, eine nichtlineare Transformation und eine Exklusiv-ODER-Operation unter Verwendung von Software durchzuführen. Die Datentransformationsvorrichtung kann eine Operation der ungeradzahligen Stufe und eine andere Operation der geradzahligen Stufe parallel durchführen, die so effektiv wie die vorstehende ist.
  • Ausführungsbeispiel 2
  • Eine andere Konfiguration einer nichtlinearen Hochgeschwindigkeitstransformation, die der Hauptdiskussionspunkt der vorliegenden Erfindung ist, wird im Folgenden erläutert.
  • Bei diesem Ausführungsbeispiel wird der Ort der XOR-Schaltung in jeder Subtransformationseinheit geän dert. 3 zeigt ein Blockschaltbild mit dieser Ausbildung. In der Figur bezeichnen 161164 die erste bis vierte Subtransformationseinheit. Schlüsselparameter 111114, nichtlineare Transformatoren 132135 und XOR-Schaltungen 141144 sind dieselben Elemente wie diejenigen bei dem in 1 gezeigten ersten Ausführungsbeispiel. Interne Verbindungen der Subtransformationseinheiten 161164 unterscheiden sich von den Subtransformationseinheiten 121124 in 1.
  • Bei der Datentransformationsvorrichtung, bei der Elemente wie vorbeschrieben verbunden sind, wird die Differenzialwahrscheinlichkeit einer gesamten Vorrichtung weniger als p2, was kleiner 2p2 ist, wie in (1) festgestellt ist, und die Vorrichtung kann eine starke Verschlüsselung erzeugen.
  • Hinsichtlich der Eingangsdaten A 101 und der Eingangsdaten B 102, die in die erste Subtransformationseinheit 161 eingegeben werden, werden die Eingangsdaten A 101 in dem nichtlinearen Transformator 132 unter Verwendung des ersten Schlüsselparameters 111 nichtlinear transformiert, und das transformierte Ergebnis wird als Zwischendaten B 106 der ersten Stufe ausgegeben (S12). Die Eingangsdaten A 101 werden in der XOR-Schaltung 141 mit den Eingangsdaten B 102 einer Exklusiv-ODER-Verknüpfung unterzogen, und das Exklusiv-ODER-Ergebnis wird als Zwischendaten A 105 der ersten Stufe ausgegeben (S11).
  • Von der ersten Subtransformationseinheit 161 ausgegebene Zwischendaten A 105 werden in die zweite Subtransformationseinheit 162 eingegeben. Zwischendaten A werden in den nichtlinearen Transformator 133 unter Verwendung des zweiten Schlüsselparameters 112 nicht lineare transformiert und das transformierte Ergebnis wird als Zwischendaten B 108 der zweiten Stufe ausgegeben (S14). Zwischendaten A 105 der ersten Stufe und Zwischendaten B 106 werden in der XOR-Schaltung 142 einer Exklusiv-ODER-Verknüpfung unterzogen und das Exklusiv-ODER-Ergebnis wird als Zwischendaten A 107 der zweiten Stufe ausgegeben (S13).
  • Die vorgenannte erste und zweite Subtransformationseinheit sind abwechselnd verbunden. Die letzte Stufe kann wie bei dem ersten Ausführungsbeispiel jeweils die erste und die zweite Subtransformationseinheit sein.
  • In der wie vorbeschrieben verbundenen Datentransformationsvorrichtung wird die Differenzialwahrscheinlichkeit einer gesamten Vorrichtung gemäß Dokument 2 weniger als p2, wie in dem ersten Ausführungsbeispiel erläutert wurde. Hinsichtlich der Operationsgeschwindigkeit der Schaltung ist die Exklusiv-ODER-Operation viel schneller als die nichtlineare Transformation. Die nichtlineare Transformation der ersten Stufe und der zweiten Stufe werden somit nahezu parallel durchgeführt, was die Verarbeitungsgeschwindigkeit der Datentransformationsvorrichtung insgesamt erhöht.
  • Im Folgenden wird unter Bezugnahme auf 4 erläutert, dass die Ausbildung von 1 im Wesentlichen dieselbe ist wie die Ausbildung von 3.
  • In 4 zeigen 121124 die Subtransformationseinheiten von 1. 161164 zeigen die Subtransformationseinheiten von 3. Sowohl die Subtransformationseinheiten von 1 als auch die Subtransformationseinheiten von 3 sind in der Ausbildung nach 4 enthalten. Der Unterschied zwischen 1 und 3 besteht darin, welcher Teil der Schaltung als eine Subtransformationseinheit definiert ist. D.h., in 1 sind die Elemente zwischen der Eingangsseite des ersten nichtlinearen Transformators 131 und der Eingangsseite des zweiten nichtlinearen Transformators 132 (der erste nichtlineare Transformator 131 und die XOR-Schaltung 141) als die erste Subtransformationseinheit 121 definiert. Und die Elemente zwischen der Eingangsseite des zweiten nichtlinearen Transformators 132 und der Eingangsseite des nächsten ersten nichtlinearen Transformators 133 (der zweite nichtlineare Transformator 132 und die XOR-Schaltung 142) als die zweite Subtransformationseinheit 122 definiert. In 3 sind die Elemente zwischen der Ausgangsseite des ersten nichtlinearen Transformators 131 und der Ausgangsseite des zweiten nichtlinearen Transformators 132 (die XOR-Schaltung 141 und der zweite nichtlineare Transformator 132) als die erste Subtransformationseinheit 161 definiert. Und die Elemente zwischen der Ausgangsseite des zweiten nichtlinearen Transformators 132 und der Ausgangsseite des nächsten ersten nichtlinearen Transformators 133 (die XOR-Schaltung 142 und der erste nichtlineare Transformator 133) als die zweite Subtransformationseinheit 162 definiert.
  • 5 zeigt die Ausbildung eines anderen Beispiels für die Datentransformationsvorrichtung, die im Wesentlichen dieselbe wie die Ausbildungen nach 1 und 3 ist.
  • In 5 sind die XOR-Schaltungen 141145 in einer Kaskade verbunden. D.h., die XOR-Schaltungen sind so verbunden, dass die Ausgangsdaten der XOR-Schaltung die Eingangsdaten an einem Eingang der nächsten XOR-Schaltung werden. Die nichtlinearen Transformatoren 131, 133, 135 sind mit den ungeradzahligen XOR-Schaltungen 141, 143 bzw. 145 verbunden. Die nichtlinearen Transformatoren 132, 134, 136 sind mit den geradzahligen xOR-Schaltungen 142 bzw. 144 verbunden.
  • Die wie in 5 gezeigt ausgebildete Datentransformationsvorrichtung ist in der Lage, Daten mit hoher Geschwindigkeit zu verarbeiten, da Operationen des ersten und des zweiten nichtlinearen Transformators 131 und 132, 133 und 134 oder 135 und 136 nahezu parallel durchgeführt werden, so wie bei den wie in den 1 und 3 gezeigt ausgebildeten Datentransformationsvorrichtungen.
  • Ausführungsbeispiel 3
  • Wie im Ausführungsbeispiel 1 beschrieben ist, wird in den nichtlinearen Transformator nach 2, wenn die Größe der Eingangs-/Ausgangsdaten groß wird, der Schaltungsumfang ebenfalls groß. Bei diesem Ausführungsbeispiel ist die Datentransformationsvorrichtung als ein Nest ausgebildet, um eine kompakte Datentransformationsvorrichtung unter Verwendung eines nichtlinearen Transformators geringer Größe herzustellen (z.B. eine inverse Elementschaltung).
  • Der FEAL-Algorithmus nach dem Stand der Technik erzeugt keine ausreichend starken Verschlüsselungen, da die Differenzialwahrscheinlichkeit "p" groß ist.
  • Bei diesem Ausführungsbeispiel wird ein nichtlinearer Transformator geringer Größe verwendet, wodurch der Schaltungsumfang klein und auch die Differenzialwahrscheinlichkeit einer gesamten Schaltung verringert werden.
  • 6 zeigt die Subtransformationseinheit und den nichtlinearen Transformator, der sich innerhalb der Subtransformationseinheit befindet.
  • In 6 zeigt "a" die Subtransformationseinheit der ersten Stufe, 221 zeigt die externe Subtransformationseinheit, und 231 zeigt den externen nichtlinearen Transformator von dieser. "b" zeigt die detaillierte Ausbildung des vorgenannten externen nichtlinearen Transformators 231. Eine interne Teilungseinheit 351 teilt Eingangsdaten A 101 in zwei Datenstücke, Eingangsdaten A1 301 und Eingangsdaten A2 302. 303308 bezeichnen interne Zwischendaten und 311313 bezeichnen geteilte Schlüsselparameter des Schlüsselparameters 111. Eine interne Vereinigungseinheit 352 vereint die internen Zwischendaten 303 und die internen Zwischendaten 304. 321 und 322 zeigen interne Subtransformationseinheiten, 331333 zeigen interne nichtlineare Transformatoren, und 341343 zeigen interne XOR-Schaltungen. Eine Schlüsselparameter-Zuführungseinheit 158 teilt die Schlüsselparameter 111.
  • Beispielsweise wird bei dem in 6 gezeigten Algorithmus, wenn die internen nichtlinearen Transformatoren 331, 332 und 333 mit der Differenzialwahrscheinlichkeit "p" verwendet werden, die Differenzialwahrscheinlichkeit des externen nichtlinearen Transformators 231 kleiner als p2. Demgemäß wird die Differenzialwahrscheinlichkeit des Algorithmus, der mehr als drei Stufen der externen Subtransformationseinheiten 221 enthält, kleiner als (p2)2 = p4.
  • 7 zeigt eine Gesamtausbildung der Subtransformationseinheit, bei den vier Stufen der als "a" in 6 gezeigten externen Subtransformationseinheiten ver bunden sind und jede der externen Subtransformationseinheiten die in 6 als "b" gezeigten nichtlinearen Transformatoren mit drei Stufen der internen Subtransformationseinheiten enthält.
  • In der Figur werden nur repräsentative Elemente durch Bezugszahlen angezeigt: die externen Subtransformationseinheiten 221224, die externen nichtlinearen Transformatoren 231234, Die XOR-Schaltungen 141144 der externen Subtransformationseinheit, die internen Subtransformationseinheiten 321323, die internen nichtlinearen Transformatoren 331336 der ersten und zweiten externen nichtlinearen Transformatoren 231 und 232.
  • Die 810 zeigen einen sequentiellen Datentransformationsvorgang bei der wie in 7 gezeigt ausgestalteten Datentransformationsvorrichtung.
  • Im Folgenden wird die Arbeitsweise des externen nichtlinearen Transformators 231 mit Bezug auf 6 erläutert.
  • Die interne Teilungseinheit 351 teilt die an der externen Subtransformationseinheit 221 empfangenen Eingangsdaten A 101 durch eine beliebige Anzahl von Stellen in zwei Datenstücke, Eingangsdaten A1 301 und Eingangsdaten A2 302. Die Schlüsselparameter-Zuführungseinheit 158 teilt den Schlüsselparameter 111 durch eine beliebige Anzahl von Stellen in die Anzahl "n" von geteilten Schlüsselparametern. Die Schlüsselparameter-Zuführungseinheit 158 liefert die geteilten Schlüsselparameter als den ersten geteilten Schlüsselparameter 311 bis n-ten geteilten Schlüsselparameter 313. In der ersten internen Subtransformationseinheit 321 wird eine interne nichtlineare Transformation der Eingangsdaten A1 101, der geteilten Daten der Eingangsdaten A 101, durchgeführt unter Verwendung des ersten geteilten Schlüsselparameters 311. Die transformierten Daten werden mit den Eingangsdaten A2 302 einer Exklusiv-ODER-Verknüpfung unterzogen und das Exklusiv-ODER-Ergebnis wird als die ersten internen Zwischendaten A2 306 ausgegeben. Die Eingangsdaten A2 werden als die ersten internen Zwischendaten A1 305 ohne jegliche Transformation ausgegeben.
  • Die ersten internen Zwischendaten A1 305 der ersten internen Subtransformationseinheit 321 werden als A1-Eingabe in die zweite interne Subtransformationseinheit 322 eingegeben. Eine interne nichtlineare Transformation der ersten internen Zwischendaten A1 305 wird durchgeführt unter Verwendung des zweiten geteilten Schlüsselparameters 312. Die transformierten Daten werden mit den Eingangsdaten A2, d.h., den ersten internen Zwischendaten A2 306, einer Exklusiv-ODER-Verknüpfung unterzogen. Das Exklusiv-ODER-Ergebnis wird als die zweiten internen Zwischendaten 308 ausgegeben und die ersten internen Zwischendaten A2 306 werden als die zweiten internen Zwischendaten A1 307 ohne jegliche Transformation ausgegeben. Die vorgenannte erste interne Subtransformationseinheit und die vorgenannte zweite Subtransformationseinheit werden abwechselnd bis zu "n" Stufen verbunden. Die internen Zwischendaten A1 303 und die internen Zwischendaten A2 304 der letzten Stufe werden durch die interne Vereinigungseinheit 352 vereint und das Ergebnis wird als das Transformationsergebnis 109 ausgegeben.
  • Die Arbeitsweise der wie vorstehend beschrieben ausgebildeten Datentransformationsvorrichtung nach 7 wird nachfolgend erläutert.
  • In dem ersten Zyklus werden sowohl die Eingangsdaten A 101 als auch die Eingangsdaten B 102 eingegeben und wie in 8 gezeigt verarbeitet. Es wird Zeit benötigt, um eine nichtlineare Transformation durchzuführen, so dass der größte Teil der Zeitperiode, die für den ersten Zyklus erforderlich ist, durch die Operationen der internen nichtlinearen Transformatoren 331, 332 der externen Subtransformationseinheit 221 und die internen nichtlinearen Transformatoren 334, 335 der externen Subtransformationseinheit 222 verbraucht wird. D.h., Daten werden innerhalb der Datentransformationsvorrichtung in den ersten Zyklus wie durch die ausgezogene Linie in 8 gezeigt zugeführt und die Operationen werden in den internen nichtlinearen Transformatoren 331, 332, 334 und 335 durchgeführt.
  • In dem nächsten Zyklus werden die Operationen wie in 9 gezeigt durchgeführt. D.h., der größte Teil der Zeitperiode des zweiten Zyklus wird durch den internen nichtlinearen Transformator 333 der ersten externen Subtransformationseinheit 221, dem internen nichtlinearen Transformator 336 der zweiten externen Subtransformationseinheit 222, den internen nichtlinearen Transformator 337 der dritten externen Subtransformationseinheit 223 und den internen nichtlinearen Transformator 391 der vierten externen Subtransformationseinheit 224 verbraucht. In der Figur zeigt die starke strichlierte Linie die Übertragung der Daten der Eingangsseite A.
  • In dem nächsten Zyklus werden die Operationen wie in 10 gezeigt durchgeführt. D.h., der größte Teil der Zeitperiode dieses Zyklus wird durch die anderen internen nichtlinearen Transformatoren 338, 339 und 392, 393 der dritten und der vierten externen Subtransformationseinheit 223 und 224 verbraucht. Die Operationen des gesamten Datentransformationsvorgangs sind durch diese drei Zyklen beendet. In dem herkömmlichen System werden Daten sequentiell transformiert, d.h., die nichtlineare Transformation jeder Stufe beginnt, nachdem die nichtlineare Transformation der vorhergehenden Stufe beendet wurde. In diesem herkömmlichen Datentransformationsfall erfordert der herkömmliche Datentransformationsvorgang 12 Zyklen. D.h., die Datentransformationsvorrichtung nach diesem Ausführungsbeispiel kann Daten mit etwa der vierfachen Geschwindigkeit wie der der herkömmlichen Datentransformationsvorrichtung verarbeiten.
  • Bei der Datentransformationsvorrichtung nach diesem Ausführungsbeispiel wird ein nichtlinearer Transformator nach dem Ausführungsbeispiel 1 für die nichtlinearen Transformatoren 331393 verwendet, mit einer Nestkonfiguration in dem Subtransformationseinheiten. Ein nichtlinearer Transformator nach dem Ausführungsbeispiel 2, der ebenfalls als ein Nest ausgebildet ist, kann ebenfalls verwendet werden. Dieselbe Wirkung kann wie bei dem vorgenannten nichtlinearen Transformator nach dem Ausführungsbeispiel 1 erhalten werden.
  • Ausführungsbeispiel 4
  • Bei diesem Ausführungsbeispiel wird ein nichtlinearer Transformator geringer Größe als der nichtlineare Transformator in der herkömmlichen Subtransformationseinheit angewendet.
  • 11 zeigt die Subtransformationseinheit und die detaillierte Ausbildung des nichtlinearen Transformators innerhalb der Subtransformationseinheit.
  • In 11 zeigt "a" die Subtransformationseinheit der ersten Stufe. 421 bezeichnet eine externe Subtransformationseinheit und 431 bezeichnet einen externen nichtlinearen Transformator. In 11 zeigt "b" eine detaillierte Ausbildung des externen nichtlinearen Transformators 431, 551 zeigt eine interne Teilungseinheit und 501508 bezeichnen Eingangsdaten. 511513 bezeichnen geteilte Schlüsselparameter des Schlüsselparameters 111. 552 zeigt eine interne Vereinigungseinheit, 521523 zeigen interne Subtransformationseinheiten, 531533 zeigen interne nichtlineare Transformatoren, und 541543 bezeichnen XOR-Schaltungen.
  • Bei dem in 11 gezeigten Algorithmus ist, wenn die internen nichtlinearen Transformatoren 531, 532, 533 die Differenzialwahrscheinlichkeit "p" haben, die Differenzialwahrscheinlichkeit des externen nichtlinearen Transformators 431 kleiner als p2. Demgemäß wird, wenn der Algorithmus mehr als drei Stufen der externen Subtransformationseinheit 421 enthält, die Differenzialwahrscheinlichkeit des Algorithmus kleiner als 2(p2)2 = 2p4.
  • In 12 zeigt "a" eine allgemeine Ausbildung der Subtransformationseinheit, bei der zwei Stufen der externen Subtransformationseinheiten, die in 11 als "a" gezeigt sind, verbunden sind. Die interne Subtransformationseinheit mit drei Stufen, die in 11 als "b" gezeigt sind, wird für die nichtlinearen Transformatoren jeder externen Subtransformationseinheit verwendet. 12 zeigt auch den sequentiellen Datentransformationsvorgang der als "a" be zeichneten Datentransformationsvorrichtung.
  • In der Figur sind nur repräsentative Elemente durch Bezugszahlen angezeigt: externe Subtransformationseinheiten 421 und 422, XOR-Schaltungen 441 und 442 der externen Subtransformationseinheiten, interne Subtransformationseinheiten 521, 522 und 523, und interne nichtlineare Transformatoren 531536 innerhalb der ersten und der zweiten internen Subtransformationseinheiten. Die anderen Elemente sind nicht durch Bezugszahlen angezeigt.
  • Im Folgenden wird die Arbeitsweise der wie vorstehend beschrieben ausgebildeten Datentransformationsvorrichtung erläutert.
  • In dem ersten Zyklus werden Eingangsdaten A 101 und Eingangsdaten B 102 eingegeben und wie in "b" in 12 gezeigt verarbeitet. Es wird Zeit benötigt, um Daten in den internen nichtlinearen Transformatoren 531 und 532 der externen Subtransformationseinheit 421 zu verarbeiten. D.h., in dem ersten Zyklus werden die Daten in den internen nichtlinearen Transformatoren 531 und 532 verarbeitet und Eingangsdaten A und Eingangsdaten B werden übertragen, wie durch die verstärkte Linie in "b" in 12 gezeigt ist.
  • In dem nächsten Zyklus werden die Daten weiter verarbeitet, wie in "c" in 12 gezeigt ist. Es wird Zeit benötigt, um Daten in dem internen nichtlinearen Transformator 533 der externen Subtransformationseinheit 421 und dem internen nichtlinearen Transformator 534 der zweiten externen Subtransformationseinheit 422 zu verarbeiten. Die verstärkte strichlierte Linie zeigt die Datenübertragung auf der Eingangsseite A.
  • In dem nächsten Zyklus werden die Daten weiter verarbeitet, wie in "d" in 12 gezeigt ist. Es wird Zeit benötigt, um Daten in den anderen internen nichtlinearen Transformatoren 535 und 536 der zweiten externen Subtransformationseinheit 422 zu verarbeiten. Die Operationen des gesamten Datentransformationsvorgangs sind durch diese drei Zyklen beendet. In dem herkömmlichen System werden Daten aufeinander folgend transformiert, d.h., die nichtlineare Transformation jeder Stufe beginnt, nachdem die nichtlineare Transformation der vorhergehenden Stufe beendet wurde. Bei dem herkömmlichen Beispiel erfordert der herkömmliche Datentransformationsvorgang sechs Zyklen. Die Datentransformationsvorrichtung nach diesem Ausführungsbeispiel beendet die Datentransformation nach drei Zyklen, was bedeutet, dass eine Hochgeschwindigkeitsoperation realisiert werden kann.
  • Bei dem vorstehenden Ausführungsbeispiel wird der im Ausführungsbeispiel 1 gezeigte nichtlineare Transformator innerhalb der Subtransformationseinheit mit einer Nestkonfiguration verwendet. Der im Ausführungsbeispiel 2 gezeigte nichtlineare Transformator kann auch in derselben weise für eine Nestkonfiguration verwendet werden, die dieselbe Wirkung erzielt.
  • Ausführungsbeispiel 5
  • Eine andere Datentransformationsvorrichtung, bei der ein nichtlinearer Transformator, der ein Grundelement der Ausbildung der vorliegenden Erfindung ist, angewendet wird auf einen nichtlinearen Transformator innerhalb der herkömmlichen Subtransformationseinheit.
  • 13 zeigt eine Ausbildung dieser Datentransformationsvorrichtung und des nichtlinearen Transformators innerhalb der Subtransformationseinheit.
  • In 13 zeigt "a" eine allgemeine Ausbildung 621624 bezeichnen externe Subtransformationseinheiten, 631634 bezeichnen externe nichtlineare Transformatoren innerhalb der externen Subtransformationseinheiten, und 641644 und 741744 bezeichnen XOR-Schaltungen. 601, 1602, 701, 702 bezeichnen Eingangsdaten A1, B1, A2 bzw. B2. 603, 604, 703, 704 bezeichnen Ausgangsdaten nach der Transformation. 605608, 705708 bezeichnen Zwischendaten. In 13 zeigt "b" eine detaillierte Ausbildung des externen nichtlinearen Transformators 631. 651, 751 sind Daten nach der nichtlinearen Transformation, 775778 bezeichnen interne Zwischendaten, und 711713 bezeichnen geteilte Schlüsselparameter des Schlüsselparameters 111. 721723 bezeichnen interne Subtransformationseinheiten, 731733 bezeichnen interne nichtlineare Transformatoren, und 761763 bezeichnen XOR-Schaltungen.
  • Die Datentransformationsvorrichtung nach 13 nimmt vier beliebige Datenstücke, Eingangsdaten A1, Eingangsdaten A2, Eingangsdaten B1 und Eingangsdaten B2 auf. Bei jedem Subtransformationsvorgang werden eine nichtlineare Transformation und eine Exklusiv-ODER-Operation jeweils zwischen Eingangsdaten A1 und Eingangsdaten B1 sowie zwischen Eingangsdaten A2 und Eingangsdaten B2 durchgeführt. Das transformierte Ergebnis wird ausgegeben als Zwischendaten B1 und Zwischendaten B2. Eingangsdaten B1 und Eingangsdaten B2 werden Zwischendaten A1 und Zwischendaten A2 ohne jegliche Transformation.
  • Die Arbeitsweise der vorgenannten Datentransformationsvorrichtung ist dieselbe wie die der Datentrans formationsvorrichtungen nach den Ausführungsbeispielen 3 und 4, die vorstehend im Einzelnen beschrieben wurden, und wird hier nicht erläutert. Die Datentransformationsvorrichtung nach diesem Ausführungsbeispiel verbessert die Arbeitsgeschwindigkeit der Vorrichtung.
  • Ausführungsbeispiel 6
  • Bei diesem Ausführungsbeispiel bilden die erste Subtransformationseinheit 121 und die zweite Subtransformationseinheit 122 ein Paar als eine Operationsgrundeinheit. Der Datentransformationsvorgang nach dem Ausführungsbeispiel 1, der durch die abwechselnd verbundenen mehreren ersten Subtransformationseinheiten 121 und mehreren zweiten Subtransformationseinheiten 122 durchgeführt wurde, wird durch Wiederholen der Operation der vorgenannten Operationsgrundeinheit durchgeführt. D.h., eine Operationseinheit wird durch die erste Subtransformationseinheit 121 und die zweite Subtransformationseinheit 122 gebildet, deren Operationen wiederholt durchgeführt werden können. Am Ende der von dieser Operationseinheit durchgeführten Operation wird das Ausgangssignal der zweiten Subtransformationseinheit gespeichert und als die nächsten Eingangsdaten zu der ersten Subtransformationseinheit geliefert. Die Operation der Operationseinheit kann somit wiederholt werden, was den Umfang der Hardware verringert.
  • 14 ist ein Blockschaltbild, das die vorgenannte Ausbildung zeigt. In der Figur zeigen 121 und 122 die erste bzw. die zweit Subtransformationseinheit. 111 und 112 zeigen den ersten und den zweiten Schlüsselparameter. Die nichtlinearen Transformatoren 131 und 132, die XOR-Schaltungen 141 und 142 sind dieselben wie die in 1 nach dem Ausführungsbeispiel 1. 153 bezeichnet eine Steuereinheit, 154 bezeichnet eine Wiederholungseinheit, 156a und 156b sind Datenauswahleinheiten, 157a und 157b sind Datenhalteeinheiten, und 158 bezeichnet eine Schlüsselparameter-Zuführungseinheit.
  • Folgende ist die Arbeitsweise der vorgenannten Datentransformationsvorrichtung.
  • Beliebige Eingangsdaten 101 und Eingangsdaten B 102 werden über die Datenauswahleinheiten 156a und 156b in die erste Subtransformationseinheit 121 eingegeben. Als Nächstes werden Zwischendaten A 105 und Zwischendaten B 106 in die zweite Subtransformationseinheit 122 eingegeben. Die Arbeitsweise der ersten und der zweiten Subtransformationseinheit ist dieselbe wie die derjenigen des Ausführungsbeispiels 1. Die Schlüsselparameter-Zuführungseinheit 158 liefert Parameter, die geeignet sind für jede der ersten und der zweiten Subtransformationseinheit, zu den nichtlinearen Transformatoren der ersten und der zweiten Subtransformationseinheit für die Wiederholung des Vorgangs, wie nachfolgend erläutert wird. Zwischendaten A 107 und Zwischendaten B 108, die von der zweiten Subtransformationseinheit 122 ausgegeben wurden, werden in die Datenhalteeinheiten 157a und 157b eingegeben. Die Daten werden dann durch die Wiederholungseinheit 154 zu den Datenauswahleinheiten 156a und 156b übertragen und somit als Eingangsdaten A und Eingangsdaten B in die erste Subtransformationseinheit 121 eingegeben. Dann wird der vorbeschriebene Vorgang wiederholt, um schließlich Ausgangsdaten A 103 und Ausgangsdaten B 104 auszugeben.
  • Die Datentransformationsvorrichtung nach diesem Aus führungsbeispiel kann Daten mit hoher Geschwindigkeit so wie beim Ausführungsbeispiel 1 transformieren. Die Anzahl der Subtransformationseinheiten ist herabgesetzt, wodurch die Größe der Vorrichtung reduziert ist.
  • Bei dem vorbeschriebenen Ausführungsbeispiel ist ein Satz aus einer Stufe der ersten Subtransformationseinheit 121 und einer Stufe der zweiten Subtransformationseinheit 122 als eine Basisoperationseinheit für die Wiederholung definiert. In anderer Weise ist ein Satz aus der ersten Subtransformationseinheit und der zweiten Subtransformationseinheit die erforderliche Anzahl von Malen verbunden und kann als eine Operationseinheit für die Wiederholung definiert sein.
  • In der Konfiguration nach 14 ist ein Satz aus der ersten Subtransformationseinheit und der zweiten Subtransformationseinheit als eine Einheit für die Verbindung in einer Kaskade definiert. Die Datentransformationsvorrichtung enthält somit immer eine geradzahlige Anzahl von Subtransformationseinheiten. Somit kann eine ordnungsgemäße Transformation durchgeführt werden, selbst wenn Eingangsdaten A und Eingangsdaten B eine unterschiedliche Anzahl von Stellen der Daten haben. Beispielsweise werden Eingangsdaten A mit sieben Stellen und Eingangsdaten B mit neun Stellen verwendet. Die Schlüsselparameter-Zuführungseinheit 158 liefert den Schlüsselparameter 111 für Daten mit sieben Stellen zu dem nichtlinearen Transformator 131 und die Schlüsselparameter-Zuführungseinheit 158 liefert den Schlüsselparameter 112 für Daten mit neun Stellen zu dem nichtlinearen Transformator 132. Die Eingangsdaten A 101 aus 7 Stellen werden in dem nichtlinearen Transformator 131 unter Verwendung des Schlüsselparameters 111 für sie ben Stellen nichtlineare in Zwischendaten B 106 aus 7 Stellen transformiert und somit als Zwischendaten A 107 ausgegeben. Diese Zwischendaten A 107 werden durch die Datenhalteeinheit 157a und die Datenauswahleinheit 156a übertragen und werden wieder Eingangsdaten A. Auf diese Weise sollte eine geradzahlige Anzahl der Subtransformationseinheiten vorhanden sein, so dass die Eingangsdaten A mit 7 Stellen immer unter Verwendung des Schlüsselparameters 111 für 7 Stellen transformiert werden. Wenn eine ungeradzahlige Anzahl der Subtransformationseinheiten in dem nichtlinearen Transformator 131 vorhanden ist, werden Daten aus 7 Stellen und Daten aus 9 Stellen abwechselnd nichtlinear transformiert.
  • Eine ungeradzahlige Anzahl der Subtransformationseinheiten kann in einer Kaskade verbunden werden, wenn die Schlüsselparameter-Zuführungseinheit 158 abwechselnd den Schlüsselparameter für Daten mit 7 Stellen und den Schlüsselparameter für Daten mit 9 Stellen liefern kann (dieser Fall ist in der Figur nicht gezeigt).
  • Ausführungsbeispiel 7
  • Bei diesem Ausführungsbeispiel wird der durch die Datentransformationsvorrichtung nach dem Ausführungsbeispiel 2 durchgeführte Prozess, der durch mehrere erste Subtransformationseinheiten 161 und mehrere zweite Subtransformationseinheiten 162, die abwechselnd verbunden sind, gebildet ist, nun durch Wiederholen der Operation der Basisoperationseinheit aus einer ersten Subtransformationseinheit und einer zweiten Subtransformationseinheit durchgeführt. D.h., eine Rückführungsschleife wird wie im Ausführungsbeispiel 6 beschrieben gebildet, so dass Zwischendaten A und Zwischendaten B zu der Datenauswahleinheit der Eingabeseite zurückgeführt werden, um wieder verarbeitet zu werden. Somit kann der Schaltungsumfang reduziert werden.
  • 15 ist ein Blockschaltbild, das die vorbeschriebene Konfiguration zeigt. In der Figur zeigen 125, 126 die erste Subtransformationseinheit bzw. die zweite Subtransformationseinheit. 111, 112 zeigen den ersten bzw. zweiten Schlüsselparameter. Die nichtlinearen Transformatoren 132133 XOR-Schaltungen 141142 sind dieselben wie diejenigen in 3 nach dem Ausführungsbeispiel 2. Die Steuereinheit 153, die Wiederholungseinheit 154, die Datenauswahleinheiten 156a, 156b, die Datenhalteeinheiten 157a, 157b und die Schlüsselparameter-Zuführungseinheit 158 sind dieselben wie diejenigen wie beim Ausführungsbeispiel 6.
  • Das Folgende ist die Arbeitsweise der wie vorstehend beschrieben ausgebildeten Datentransformationsvorrichtung.
  • Beliebige Eingangsdaten A 101 und Eingangsdaten B 102 werden die erste Subtransformationseinheit 125 über die Datenauswahleinheiten 156a, 156b eingegeben. Als Nächstes werden Zwischendaten A 105 und Zwischendaten B 106 in die zweite Subtransformationseinheit 126 eingegeben. Die Operationen der ersten und der zweiten Subtransformationseinheit sind dieselben wie beim Ausführungsbeispiel 2. Der Schlüsselparameter, der zu der ersten und der zweiten Subtransformationseinheit entsprechend dem nachfolgend beschriebenen Wiederholungsprozess zu liefern ist, wird von der Schlüsselparameter-Zuführungseinheit 158 zu den nichtlinearen Transformatoren der ersten und der zweiten Subtrans formationseinheit geliefert. Zwischendaten A 107 und Zwischendaten B 108, die von der zweiten Subtransformationseinheit 126 ausgegeben wurden, werden durch die Datenhalteeinheiten 157a, 157b, die Datenauswahleinheiten 156a, 156b der Wiederholungseinheit 154 übertragen, um in die erste Subtransformationseinheit 125 als Eingangsdaten A bzw. Eingangsdaten B eingegeben zu werden. Nach dem vorbeschriebenen Wiederholungsprozess werden Ausgangsdaten A 103 und Ausgangsdaten B 104 schließlich ausgegeben.
  • Die Datentransformation kann durch die vorbeschriebene Konfiguration aus demselben Grund wie beim Ausführungsbeispiel 2 mit hoher Geschwindigkeit durchgeführt werden, weiterhin kann die Anzahl der Subtransformationseinheiten herabgesetzt werden und der Schaltungsumfang kann reduziert werden.
  • Bei der vorstehenden Erläuterung der Arbeitsweise sind eine Stufe der ersten Subtransformationseinheit 125 und eine Stufe der zweiten Subtransformationseinheit 126 in einer Kaskade verbunden, um die Operationseinheit für die Wiederholung zu bilden. In anderer Weise bilden die erste Subtransformationseinheit 125 und die zweite Subtransformationseinheit 126 ein Paar und eine erforderliche Anzahl von Stufen sind in einer Kaskade verbunden, um die Operationseinheit für die Wiederholung zu bilden, die dieselbe wie beim Ausführungsbeispiel 6 ist. Für ein anderes Beispiel kann, obgleich eine detaillierte Ausbildung von diesem in der Figur nicht gezeigt und die Arbeitsweise von diesem hier nicht spezifiziert sind, eine gerade Anzahl von Stufen der externen Subtransformationseinheiten nach dem Ausführungsbeispiel 4 oder 5 ersetzt werden durch die Operationseinheit für die Wiederholung wie beim Ausführungsbeispiel 6 oder 7. Bei die sem Beispiel kann die Anzahl der externen Subtransformationseinheiten verringert werden, ohne die Operationsgeschwindigkeit herabzusetzen. Weiterhin kann in diesem Fall, wenn die Operationseinheit zum Wiederholen aus einer geraden Anzahl von externen Subtransformationseinheiten besteht, eine Hochgeschwindigkeitsoperation durchgeführt werden, wie aus der Erläuterung des Ausführungsbeispiels 4 ersichtlich ist.
  • Die Datenauswahleinheit und die Datenhalteeinheit des Ausführungsbeispiels 6 oder 7 sind als ein Paar vorgesehen, um eine Rückführungsschleife zu bilden. Obgleich eine detaillierte Konfiguration in der Figur nicht gezeigt und die Arbeitsweise hier nicht spezifiziert sind, kann diese Rückführungsschleife auf die internen Subtransformationseinheiten der Ausführungsbeispiele 3 bis 5 angewendet werden. D.h., eine interne Datenauswahleinheit ist innerhalb oder nach den internen Teilungseinheiten 351 oder 551 des in den 6 und 11 gezeigten externen nichtlinearen Transformators für die Auswahl von Eingangsdaten vorgesehen. Eine interne Datenhalteeinheit ist innerhalb der oder vor den internen Vereinigungseinheiten 352 oder 552 vorgesehen. Die Rückführungsschleife kann so diese interne Auswahleinheit und interne Datenhalteeinheit enthaltend ausgebildet sein. In anderer Weise kann die Datenauswahleinheit vor dem externen nichtlinearen Transformator nach 13 vorgesehen sein für die Auswahl von Eingangsdaten. Die Datenhalteeinheit kann nach dem externen nichtlinearen Transformator vorgesehen sein. Die Rückführungsschleife ist die Datenauswahleinheit und die Datenhalteeinheit enthaltend ausgebildet. Auf diese Weise kann der Schaltungsumfang der internen Subtransformationseinheit reduziert werden ohne Herabsetzung der Arbeitsge schwindigkeit.
  • Ausführungsbeispiel 8
  • Bei diesem Ausführungsbeispiel wird der beim Ausführungsbeispiel 1 beschriebene Prozess, der durch die mehreren Subtransformationseinheiten 121124 durchgeführt wurde, durch Wiederholen der Basisoperationseinheit für die Wiederholung durchgeführt. Bei der Erläuterung dieses Ausführungsbeispiels haben beliebige Eingangsdaten A 101 und Eingangsdaten B 102 Daten mit identischen Stellen. Wenn die Anzahl der Stellen der Eingangsdaten A 101 und der Eingangsdaten B 102 identisch sind, muss die Anzahl der Subtransformationseinheiten für die Wiederholung nicht immer eine gerade Zahl sein. Die beliebige Anzahl von Stufen kann somit verbunden werden, um die Rückführungsschleife zu bilden.
  • 16 ist ein Blockschaltbild, das die vorbeschriebene Konfiguration zeigt. Um die Erläuterung der Arbeitsweise zu erleichtern, enthält die Konfiguration nur eine Stufe der Subtransformationseinheit, und sie bildet die Rückführungsschleife in 16.
  • In der Figur bezeichnet 121 die Subtransformationseinheit. Der erste Schlüsselparameter 111, der nichtlineare Transformator 131, die XOR-Schaltung 141, die Wiederholungseinheit 154, die Datenauswahleinheiten 156a, 156b, die Datenhalteeinheiten 157a, 157b und die Schlüsselparameter-Zuführungseinheit 158 sind dieselben Elemente wie diejenigen bei den anderen Ausführungsbeispielen.
  • Das Folgende ist die Arbeitsweise der vorstehend konfigurierten Datentransformationsvorrichtung.
  • Beliebige Eingangsdaten A 101 und Eingangsdaten B 102 werden über die Datenauswahleinheiten 156a, 156b in die Subtransformationseinheit 121 eingegeben. Die Arbeitsweise der Subtransformationseinheit 121 ist dieselbe wie beim Ausführungsbeispiel 1. Der Schlüsselparameter wird von der Schlüsselparameter-Zuführungseinheit 158 entsprechend dem nachfolgend beschriebenen Wiederholungsprozess zu dem nichtlinearen Transformator der Subtransformationseinheit geliefert. Zwischendaten A 105 und Zwischendaten B 106, die von der Subtransformationseinheit 121 ausgegeben wurden, werden von der Wiederholungseinheit 154 als Eingangsdaten A bzw. Eingangsdaten B in die Subtransformationseinheit 121 eingegeben. Danach wird der vorbeschriebene Prozess wiederholt, um schließlich Ausgangsdaten A 103 und Ausgangsdaten B 104 auszugeben.
  • Durch die vorbeschriebene Konfiguration kann die Anzahl der nichtlinearen Transformatoren herabgesetzt werden und der Umfang der Vorrichtung kann ebenfalls reduziert werden.
  • Bei der vorstehenden Erläuterung des Ausführungsbeispiels enthält die Operationseinheit für die Wiederholung nur eine Stufe der Subtransformationseinheit 121. Es ist möglich, dass die Operationseinheit für die Wiederholung mehrere Stufen der Subtransformationseinheiten enthält, die in einer Kaskade verbunden sind. Die Operationsgeschwindigkeit kann nicht verringert werden und der Umfang der Vorrichtung kann reduziert werden.
  • In anderer Weise kann die Subtransformationseinheit durch die Subtransformationseinheit der im Ausfüh rungsbeispiel 2 spezifizierten Datentransformationsvorrichtung ersetzt werden.
  • Weiterhin kann dieses Ausführungsbeispiel auf die interne Subtransformationseinheit der Ausführungsbeispiele 3 bis 5 sowie der Ausführungsbeispiele 6 und d7 angewendet werden, obgleich eine detaillierte Konfiguration dieses Falles in der Figur nicht gezeigt und die Arbeitsweise hier nicht spezifiziert sind.
  • Ausführungsbeispiel 9
  • Bei dem vorliegenden Ausführungsbeispiel wird ein nichtlinearer Transformator geringer Größe auf einen nichtlinearen Transformator einer herkömmlichen Subtransformationseinheit angewendet.
  • 17 zeigt die Konfiguration einer Datentransformationsvorrichtung nach dem vorliegenden Ausführungsbeispiel.
  • 18 ist ein Blockschaltbild, das die Konfiguration eines externen nichtlinearen Transformators 831 (und 832838), der in 17 gezeigt ist, zeigt.
  • 19 ist ein Blockschaltbild, das die Konfiguration eines internen nichtlinearen Transformators 931 (und 932, 933), der in 18 gezeigt ist, zeigt.
  • Bei diesem Ausführungsbeispiel wird angenommen, dass der Schlüsselparameter 811 32 × 3 = 96 Bits hat, die Länge des Schlüsselparameters 811a + des Schlüsselparameters 811b + des Schlüsselparameters 811c = 32 Bits ist, die Länge des Schlüsselparameters 811d + des Schlüsselparameters 811e + des Schlüsselparameters 811f gleich 32 Bits ist, und die Länge des Schlüsselparameters 811g + des Schlüsselparameters 811h + des Schlüsselparameters 811i gleich 32 Bits ist. Der Schlüsselparameter 811a hat 16 Bits, der Schlüsselparameter 811b hat 7 Bits und der Schlüsselparameter 811c hat 9 Bits.
  • Die 20 und 21 sind Substitutionstabellen S7 und S9 für den Fall, dass die nichtlinearen Transformatoren 951, 952a und 952b, die in 19 gezeigt sind, durch einen ROM (Festwertspeicher) oder einen RAM (Speicher mit wahlfreiem Zugriff) realisiert sind. Beispielsweise werden bei der Substitutionstabelle S7, wenn Daten X = 0 ausgegeben werden, Daten Y = 85 ausgegeben. Wenn Daten X = 1 eingegeben werden, werden Daten Y = 95 ausgegeben. Weiterhin wird, wenn X = 128 eingegeben wird, Y = 42 ausgegeben. In dem Fall der Substitutionstabelle S9 ist die Operation dieselbe wie bei S7. Wenn Daten X = 0, 1, ..., 511 eingegeben werden, wird Y = 341, 310, ..., 170 ausgegeben.
  • Die obige Substitutionstabelle S7 ist wie nachfolgend beschrieben ausgebildet.
  • Wenn angenommen wird, dass die Wurzel "α" ist für das unzerlegbare Siebengrad-Polynom X7 + X5 + X4 + X3 + 1 = 0, und angenommen wird, dass die Eingangsbasis eine Normalbasis
    {α, α2, α4, α8, α16, α32, α64},
    und angenommen wird, dass die Ausgangsbasis eine Normalbasis
    32, α4, α2, α64, α16, α, α8}
    ist.
  • X17 wird ausgedrückt durch "Eingabe X", welches das Element von GF(Galois-Feld) (27) ist, gemäß der vorstehenden Basis. X17 wird mit 55h (Hexadezimalzahl) einer Exklusiv-ODER-Verknüpfung unterzogen und ausgegeben. Die vorgenannten Eingänge und Ausgänge sind in der Tabelle nach 20 durch Dezimalzahlen gezeigt. In dieser Tabelle zeigt die linke Seite der Eingabe/Ausgabedaten das LSB (geringstwertigste Bit).
  • Auch ist die vorgenannte Substitutionstabelle S9 wie folgt ausgebildet.
  • Wenn angenommen wird, dass die Wurzel für das unzerlegbare Neungrad-Polynom
    x9 + x8 + x7 + x6 + x4 + x3 + 1 = 0,
    gleich "α" ist und angenommen wird, dass die Eingabebasis eine normale Basis
    {α, α2, α4, α8, α16, α32, α64, α128, α256}
    ist, und angenommen wird, dass die Ausgabebasis eine normale Basis {α64, α, α16, α8, α256, α2, α128, α32, α4}
    ist.
  • X5 wird ausgedrückt durch "Eingabe X", welches das Element von GF(Galois-Feld) (29) ist, gemäß der vorstehenden Basis. X5 wird mit 155h (Hexadezimalzahl) einer Exklusiv-ODER-Verknüpfung unterzogen und ausgegeben. Die vorgenannten Eingabe- und Ausgabewerte sind in der Tabelle nach 21 durch Dezimalzahlen gezeigt. In dieser Tabelle zeigt die linke Seite der Eingabe/Ausgabe-Daten das LSB (geringstwertigstes Bit).
  • Das Galois-Feld wird durch einen Vektor unter Verwendung der Polynombasis oder der normalen Basis dargestellt.
  • Typischerweise wird der Vektor unter Verwendung der Polynombasis dargestellt. Wenn beispielsweise angenommen wird, dass ein Grundelement von GF(2m) gleich "α" ist, wird ein beliebiges Element von GF(2m) dargestellt durch einen Vektor unter Verwendung der Polynombasis {1, α, α2, ..., αm– 1}.
  • Es ist ein Vorteil der Polynombasis, dass die Addition von Elementen auf GF(2m) durchgeführt wird durch Addition (Exklusiv-ODER-Operation) für jedes Bit. D.h., wenn diese Operation durch Hardware durchgeführt wird, kann eine Anzahl "m" von XOR-Schaltungen mit 2 Eingängen angewendet werden. In dem Fall der Darstellung durch einen Vektor unter Verwendung der Polynombasis ist es jedoch im Vergleich zur Addition schwierig, eine Multiplikation durch Hardware durchzuführen. Die Durchführung der Multiplikation wird im Allgemeinen durch einen Rom implementiert.
  • Als andere typische Basis wird die Normalbasis für die Darstellung des Vektors verwendet. Die Normalbasis ist ein Satz bestehend aus einer Wurzel "α" des m-Grad-Grundpolynoms und seiner konjugierten Elemente, und wird beschrieben als
    Figure 00510001
  • Es ist sehr leicht, eine Quadrierungsoperation unter Verwendung einer Normalbasis durchzuführen, was der vorteilhafteste Punkt der Verwendung einer Normalbasis ist. Wenn ein beliebiges Element von GF(2m) quadriert wird, wird dies durchgeführt durch zyklisches Verschieben der Vektordarstellung des beliebigen Elements nach rechts. Für den Fall, dass die vorgenannte Quadrierungsoperation durch Hardware durchgeführt wird, wird sie realisiert nur durch Wiederverbinden der Linien der Bits. Der vorgenannte Vorteil der Darstellung des Vektors durch Normalbasis ermöglicht, die Xn-Schaltung für ein beliebiges Element X durch geringeren Hardwareaufwand durchzuführen als im Fall der Darstellung des Vektors durch die Polynombasis. Eine Schaltung für das inverse Element (X–1) kann auch als Xn-Schaltung angenommen werden. D.h., ein inverses Element X–1 eines beliebigen Elements X auf GF(2m) gleicht
    Figure 00520001
    und es kann in der Xn-Schaltung verarbeitet werden durch Behandeln als n = 2m – 2. Als Beispiel für die vorgenannte Hardware ist der Fall des 6.geringstwertigsten Bits (out 5) in 22 gezeigt, wenn sie durch eine logische Schaltung unter der Annahme implementiert ist, dass 7 Eingabebits der vorgenannten Substitutionstabelle S7 gleich {in 0, in 1, in 2, in 3, in 4, in 5, in 6} und dass 7 Ausgabebits gleich (out 0, out 1, out 2, out 3, out 4, out 5, out 6} sind.
  • Die Arbeitsweise der wie in den 1719 gezeigt ausgebildeten Datentransformationsvorrichtung kann durch die Beschreibung der vorangehenden Ausführungsbeispiele deutlich verstanden werden, und daher wird die Arbeitsweise hier nicht im Einzelnen erläutert.
  • Ausführungsbeispiel 10
  • Bei dem vorliegenden Ausführungsbeispiel wird eine Datentransformationsvorrichtung erläutert, deren Schaltungsumfang etwas vergrößert ist und die eine stärkere Verschlüsselung erzeugt.
  • 23 zeigt eine Ausbildung der Datentransformationsvorrichtung nach dem vorliegenden Ausführungsbeispiel.
  • Die Vorrichtung nach dem Ausführungsbeispiel enthält weiterhin Datentransformatoren FL1–FL10 in der Datentransformationsvorrichtung nach Ausführungsbeispiel 9.
  • 24 zeigt eine detaillierte Ausbildung des Datentransformators FL1 971 (– FL10 980).
  • Jeder der Datentransformatoren FL1–FL10 enthält eine UND-Schaltung 971a, eine ODER-Schaltung 971b und XOR-Schaltungen 971c, 971d. Ein Schlüsselparameter KL1 hat 32 Bits, der durch eine Schlüsselparameter-Zuführungseinheit (diese ist nicht illustriert) im Schlüsselparameter KL1a und KL1b geteilt ist. Beispielsweise ist der Schlüsselparameter KL1 geteilt in den Schlüsselparameter KL1a aus 16 Bits und dem Schlüsselparameter KL1b aus 16 Bits. In der Figur können jeweils die UND-Schaltung 971a und die ODER-Schaltung 971b entweder eine UND-Schaltung oder ODER-Schaltung sein. Beide können ODER-Schaltungen sein.
  • Das Folgende ist die Arbeitsweise der vorbeschriebenen Datentransformationsvorrichtung.
  • Der Datentransformator 971 enthält zwei XOR-Schaltungen 971c, 971d und die erste und zweite logische Schaltung, die jeweils zwei UND-Schaltungen, zwei ODER-Schaltungen oder UND- und ODER-Schaltungen sind. Der Datentransformator 971 ist auf einer oder beiden von der Eingangsseite A oder/und der Eingangsseite B der ersten Subtransformationseinheit vorgesehen.
  • Eingangsdaten A (oder Eingangsdaten B) werden durch eine beliebige Anzahl von Stellen in zwei Datenstücke, Daten AA und Daten AB geteilt. Der Schlüsselparameter wird in den Transformationsschlüsselparameter A 981a und den Transformationsschlüsselparameter B 981b geteilt, von denen jeder den geteilten Datenstücken entspricht. Eine erste UND/ODER-Operation wird bei den Daten AA und dem Transformationsschlüsselparameter A 981a in der ersten logischen Schaltung durchgeführt. Die XOR-Schaltung 971c führt eine Exklusiv-ODER-Verknüpfung des Ergebnisses der ersten UND/ODER-Operation mit den Daten AB durch, um das erste Exklusiv-ODER-Ergebnis auszugeben. Dieses erste Exklusiv-ODER-Ergebnis wird als Ausgangsdaten nach der Transformation der Daten AB ausgegeben. Die zweite logische Schaltung führt eine UND/ODER-Operation bei dem ersten Exklusiv-ODER-Ergebnis und dem Transformationsschlüsselparameter B durch, um das Ergebnis der zweiten UND/ODER-Operation auszugeben. Die XOR-Schaltung 971d führt eine Exklusiv-ODER-Verknüpfung des Ergebnisses der zweiten UND/ODER-Operation und der Daten AA durch, um das zweite Exklusiv-ODER-Ergebnis auszugeben. Dieses zweite Exklusiv-ODER-Ergebnis wird als Ausgangsdaten nach der Transformation der Daten AA ausgegeben. Die vorgenannten Ausgangsdaten nach der Transformation der Daten AA und Ausgangsdaten nach der Transformation der Daten AB werden vereint, um zu der nächsten Stufe als Ausgangsdaten A (oder Ausgangsdaten B) ausgegeben zu werden.
  • Die neu vorgesehenen Datentransformatoren FL1–FL10 sind Linearfunktionen, der Ausgangssignal gemäß dem Wert des Schlüsselparameters variiert. Diese Transformatoren erhöhen nicht die Differenzialwahrscheinlichkeit und ermöglichen, dass die Datentransformationsvorrichtung ihren Widerstand gegen andere Kryptoanalysen mit Ausnahme der Differenzial-Kryptoanalyse verbessert. Die Operation der nichtlinearen Transformation wurde bereits in den vorhergehenden Ausführungsbeispielen erläutert und wird hier nicht beschrieben.
  • Die Datentransformatoren FL1–FL10 müssen nicht immer wie in 23 gezeigt ausgebildet sein. Beispielsweise können die Datentransformatoren FL1, FL3, FL5, FL7, FL9 in eine Seite der Folge A (linke Seite in der Figur) und der Folge B (rechte Seite in der Figur) eingefügt sein. In anderer Weise können die Datentransformatoren in einer von der ersten und der zweiten Subtransformationseinheit des Paares in einer Seite oder beiden Seite der Folge A oder/und der Folge B vorgesehen sein.
  • Ausführungsbeispiel 11
  • Bei den Ausführungsbeispielen 9 und 10 sind die nichtlinearen Transformatoren, die ein Grundelement der Datentransformationsvorrichtung nach der vorliegenden Erfindung sind, in dem nichtlinearen Transformator der herkömmlichen Subtransformationseinheit verschachtelt. Bei dem vorliegenden Ausführungsbeispiel sind nichtlineare Transformatoren, die ein Grundelement der Datentransformationsvorrichtung nach der Erfindung sind, in dem nichtlinearen Transformator der Subtransformationseinheit verschachtelt, die ein Grundelement der Datentransformationsvorrichtung nach der vorliegenden Erfindung ist. Wie in 25 gezeigt ist, ist das vorliegende Ausführungsbeispiele eine modifizierte Datentransformationsvorrichtung des Ausführungsbeispiels 10, bei der einige Elemente unterschiedlich in der Vorrichtung angeordnet sind. Da die Arbeitsweise der Datentransformationsvorrichtung bei den vorhergehenden Ausführungsbeispielen erläutert wurde, wird sie hier nicht im Einzelnen beschrieben. Jede Lage der Datentransformatoren FL1–FL10 braucht nicht immer wie in der Figur sowie im Ausführungsbeispiel 10 gezeigt zu sein. Selbst mit einer derartigen unterschiedlichen Lage kann die vorrichtung ebenfalls effektiv arbeiten.
  • 26 ist eine Tabelle, die die jeweiligen Eigenschaften der Ausführungsbeispiele 1–11 zeigt.
  • Die Ausführungsbeispiele 1, 2, 4 und 5 sind jeweils in Reihen gezeigt, und die Ausführungsbeispiele 3, 6, 7, 8, 9, 10 und 11 sind in Spalten gezeigt für die Kombination mit jedem der vorgenannten Ausführungsbeispiele 1, 2, 4 und 5. Die Reihen für die Ausführungsbeispiele 1 und 2 zeigen jeweils Eigenschaften ihrer Subtransformationseinheiten. In 26 ist die Subtransformationseinheit des Ausführungsbeispiels 1, das wie in 1 gezeigt ausgebildet ist, als Typ 1 bezeichnet. Die Subtransformationseinheit des Ausführungsbeispiels 2, das wie in 3 gezeigt ausgebildet ist, wird als Typ 2 bezeichnet. Das Ausführungsbeispiel 3 hat eine Verschachtelungskonfiguration der externen Subtransformationseinheit und der internen Subtransformationseinheit. Die Subtransformationseinheiten der 1 und 3, die keine Verschachtelungskonfigurationen haben, sind in 26 definiert als die externen Subtransformationseinheiten. In 26 zeigt die in () gesetzte Figurennummer an, in welcher Figur die Konfiguration gezeigt ist. Beispielsweise zeigt (1) an, dass die Subtransformationseinheit Typ 1 in 1 gezeigt ist. (6) zeigt an, dass das Ausführungsbeispiel 3 in 6 gezeigt ist, das die externe Subtransformationseinheit des Typs 1 und die interne Subtransformationseinheit des Typs 1 enthält. Mehrere in {} gesetzte Elemente zeigen an, dass eines der mehreren Elemente wahlweise gewählt werden kann. Beim Ausführungsbeispiel 3 beispielsweise ist jede der Subtransformationseinheiten des Typs 1 und des Typs 2 anwendbar für die interne Subtransformationseinheit. Es ist durch die Figur leicht verständlich, dass jede der Eigenschaften der Ausführungsbeispiele 1, 2, 4 und 5 mit jeder Eigenschaft der Ausführungsbeispiele 3, 6, 7, 8, 10 und 11 kombiniert werden kann. Die Datentransformationsvorrichtung nach der vorliegenden Erfindung kann nicht nur durch die in 26 gezeigten Kombinationen von Eigenschaften ausgebildet sein, sondern kann auch durch die Kombination dieser Eigenschaften mit anderen Eigenschaften, die in 26 nicht gezeigt sind, ausgebildet sein. Die Datentransformationsvorrichtung kann nicht nur durch Kombination von Eigenschaften ausgebildet sein, sondern auch durch jede Eigenschaft jedes Ausführungsbeispiels ausgebildet sein.
  • Im Folgenden werden Anwendungsbeispiele für die Datentransformationsvorrichtung gemäß der vorliegenden Erfindung gezeigt.
  • 27 illustriert einen Personalcomputer oder eine Arbeitsstation, bei dem/der die Datentransformationsvorrichtung nach der Erfindung angewendet wird.
  • Die Datentransformationsvorrichtung 60 enthält eine Anzeigeeinheit 61, eine Tastatur 62, eine Maus 63, eine Mausunterlage 64, eine Systemeinheit 65 und ein CD-Laufwerk 100.
  • Bei der Datentransformationsvorrichtung nach der Erfindung werden beispielsweise Daten von dem CD-Laufwerk 100 eingegeben, Daten werden zu der Systemeinheit 65 übertragen und auf der Anzeigeeinheit 61 dargestellt, wie in 27 gezeigt ist. Andererseits gibt die Datentransformationsvorrichtung die auf der Anzeigeeinheit 61 dargestellten Daten zu dem CD-Laufwerk 100 aus. Die Datentransformationsvorrichtung transformiert auch Daten und überträgt die Informationen über Leitungen (nicht dargestellt). Jedoch ist die Anwendung der Datentransformationsvorrichtung nach der Erfindung nicht auf den Personalcomputer oder die Arbeitsstation, der/die in 27 gezeigt ist, beschränkt. Die Datentransformationsvorrichtung kann in verschiedener Weise ausgebildet sein, beispielsweise kann ein Videowiedergabegerät anstelle des CD-Laufwerks 100 als Eingabevorrichtung enthalten sein. Bei einem anderen Beispiel können Daten von dem Netzwerk eingegeben werden. Daten können entweder analog oder digital empfangen werden.
  • In 27 ist die Datentransformationsvorrichtung nach der Erfindung als eigenständige Einheit gezeigt. Die Datentransformationsvorrichtung kann innerhalb der Einheiten wie einem Drucker 66, einem Scanner 68 oder einer Faksimileeinheit 69 implementiert sein, wie in 28 gezeigt ist. Bei einem anderen Beispiel kann die Datentransformationsvorrichtung nach der Erfindung als ein Teil einer Systemplatine einer Fernsehkamera, einer Messmaschine, einem Computer usw. implementiert sein. Bei einem weiteren Anwendungsbeispiel ist jede der in 28 gezeigten Vor richtungen über LAN (Lokales Netz) verbunden, um die codierten Informationen gegenseitige zu übertragen, was in 28 nicht illustriert ist. Die codierten Informationen können über WAN (Weiträumiges Netz) wie ISDN gesendet/empfangen werden.
  • Gewerbliche Anwendbarkeit
  • Wie beschrieben wurde, ist in der Datentransformationsvorrichtung gemäß der vorliegenden Erfindung die Subtransformationseinheit so ausgebildet, dass sie Eingangsdaten teilweise parallel verarbeitet, was der Vorrichtung ermöglicht, eine kleine Differenzialwahrscheinlichkeit aufweisen und eine Datentransformation mit hoher Geschwindigkeit durchzuführen. Die Datentransformationsvorrichtung kann wirksam für eine Verschlüsselungsvorrichtung für die Datenverarbeitungsvorrichtung oder die Datenkommunikation angewendet werden.
  • Weiterhin ist in der Datentransformationsvorrichtung nach der Erfindung eine Rückführungsschleife vorgesehen für die Wiederholung der Operation derselben Elemente in der Schaltung. Daher kann die Vorrichtung bei einer Verschlüsselungsvorrichtung mit einem verringerten Schaltungsumfang und mit hoher Arbeitsgeschwindigkeit angewendet werden.

Claims (17)

  1. Datentransformationsvorrichtung zum Transformieren von ersten Eingangsdaten (101) und zweiten Eingangsdaten (102), welche aufweist: eine erste Transformationseinheit (121, 161) zum Durchführen einer ersten nichtlinearen Transformation der ersten Eingangsdaten (101) unter Verwendung eines ersten Schlüsselparameters (111), Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangsdaten (102), um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als zweite Zwischendaten (106) auszugeben, und Ausgeben der zweiten Eingangsdaten (102) als erste Zwischendaten (105) ohne jegliche Transformation, und eine zweite Transformationseinheit (122, 162) zum Durchführen einer zweiten nichtlinearen Transformation der ersten Zwischendaten (105) unter Verwendung eines zweiten Schlüsselparameters (112), Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischendaten (106), um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als vierte Zwischendaten (108) auszugeben, und Ausgeben der zweiten Zwischendaten (106) als dritte Zwischendaten (107) ohne jegliche Transformation.
  2. Datentransformationsvorrichtung nach Anspruch 1, bei der die erste Transformationseinheit (121) enthält: einen ersten nichtlinearen Transformator (131) und eine Exklusiv-ODER-Schaltung (141), die sich zwischen einem Eingang für die ersten Eingangsdaten (101) und einem Eingang der zweiten Transformationseinheit (122) für die zweiten Zwischendaten (106) befindet; und die zweite Transformationseinheit (122) enthält: einen zweiten nichtlinearen Transformator (132) und eine Exklusiv-ODER-Schaltung (142), die sich zwischen einem Eingang für die ersten Zwischendaten (105) und einem Eingang einer nächsten Transformationseinheit (123) für die vierten Zwischendaten (108) befindet; oder bei der die erste Transformationseinheit (161) enthält: eine Exklusiv-ODER-Schaltung (141), die sich zwischen einem Eingang für die zweiten Eingangsdaten (102) und einem Eingang der zweiten Transformationseinheit (162) für die ersten Zwischendaten (105) befindet, und einen ersten nichtlinearen Transformator (132), der sich zwischen einem Eingang für die ersten Eingangsdaten (101) und einem Eingang der zweiten Transformationseinheit (162) für die zweiten Zwischendaten (106) befindet, und die zweite Transformationseinheit (162) enthält: die Exklusiv-ODER-Schaltung (142), die sich zwischen dem Eingang für die zweiten Zwischendaten (106) und einem Eingang einer nächsten Transformationseinheit (163) für die dritten Zwischendaten (107) befindet, und einem zweiten nichtlinearen Transformator (133), der sich zwischen einem Eingang für die ersten Zwischendaten (105) und einem Eingang der nächsten Transformationseinheit (163) für die vierten Zwischendaten (108) befindet; wobei die erste Transformationseinheit (121, 161) und die zweite Transformationseinheit (122, 162) abwechselnd d mal (d ≧ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind, und wobei die Transformationseinheit der letzten Stufe, die jeweils die erste Transformationseinheit und die zweite Transformationseinheit ist, ungeradzahlige Zwischendaten (103) und geradzahlige Zwischendaten (104) als Ausgangsdaten nach der Transformation ausgibt.
  3. Datentransformationsvorrichtung nach Anspruch 2, bei der die ersten Eingangsdaten (101), die in die erste Transformationseinheit (221) eingegeben sind, in erste Eingangssubdaten (301) und zweite Eingangssubdaten (302) geteilt werden und der Schlüsselparameter (111) in einem ersten und einem n-ten geteilten Schlüsselparameter (311313) geteilt wird; und die Datentransformationsvorrichtung weiterhin aufweist: eine erste Subtransformationseinheit (321) zum Durchführen einer nichtlinearen Transformation der ersten Eingangssubdaten (301), wobei ein erster geteilter Schlüsselparameter (311) verwendet wird, Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangssubdaten (302), Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als zweite Zwischensubdaten (306) und Ausgeben der zweiten Eingangssubdaten (302) als erste Zwischensubdaten (305) ohne irgendeine Transformation; und eine zweite Subtransformationseinheit (322) zum Durchführen einer internen nichtlinearen Transformation der ersten Zwischensubdaten (305) unter Verwendung des zweiten geteilten Schlüsselparameters (312), Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischensubdaten (306), Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als vierte Zwischensubdaten (308), und Ausgeben der zweiten Zwischensubdaten (306) als dritte Zwischensubdaten (307) ohne jegliche Transformation; wobei die erste Subtransformationseinheit (321) und die zweite Subtransformationseinheit (322) abwechselnd n mal (n ≧ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind, und wobei ungeradzahlige Zwischendaten (303) und geradzahlige Zwischendaten (304), die von der letzten Stufe ausgegeben werden, als ein Transformationsergebnis (109) vereint werden.
  4. Datentransformationsvorrichtung nach Anspruch 2, bei der die ersten Eingangsdaten (101), die in die erste Transformationseinheit (221) eingegeben wurden, in erste Eingangssubdaten (301) und zweite Eingangssubdaten (302) geteilt werden und der Schlüsselparameter (111) in einen ersten bis einen n-ten geteilten Schlüsselparameter geteilt wird; und die Datentransformationsvorrichtung weiterhin aufweist: eine erste Subtransformationseinheit zum Durchführen einer internen nichtlinearen Transformation der ersten Eingangssubdaten unter Verwendung eines ersten geteilten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses als zweite Zwischensubdaten, Durchführen einer Exklusiv-ODER-Operation bei den ersten Eingangssubdaten und den zweiten Eingangssubdaten, und Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als erste Zwischensubdaten; und eine zweite Subtransformationseinheit zum Durchführen einer internen nichtlinearen Transformation der ersten Zwischensubdaten, die von der ersten Subtransformationseinheit ausgegeben wurden, unter Verwendung des zweiten geteilten Schlüsselparameters, Ausgeben eines transformierten Ergebnisses als vierte Zwischensubdaten, Durchführen einer Exklusiv-ODER-Operation bei den ersten Zwischensubdaten und den zweiten Zwischensubdaten, und Ausgeben eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als dritte Zwischendaten; wobei die erste Subtransformationseinheit und die zweite Subtransformationseinheit abwechselnd n mal (n ≥ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind, und wobei ungeradzahlige Zwischendaten und geradzahlige Zwischendaten, die von der letzten Stufe ausgegeben werden, als ein Transformationsergebnis vereint werden.
  5. Datentransformationsvorrichtung nach Anspruch 1, bei der die ersten Eingangsdaten (101) und die zweiten Eingangsdaten (102), ungeradzahligen Zwischendaten (105, 107, 109) und geradzahligen Zwischendaten (106, 108, 104) jeweils in Datenstücke so geteilt sind, dass jedes der geteilten Datenstücke eine gleiche Anzahl von Stellen sowohl in den ungeradzahligen als auch in den geradzahligen Daten hat.
  6. Datentransformationsvorrichtung nach Anspruch 1, bei der die erste Transformationseinheit (121) enthält: einen ersten nichtlinearen Transformator (131) und eine Exklusiv-ODER-Schaltung (141), die sich zwischen einem Eingang für die ersten Eingangsdaten (101) und einem Eingang der zweiten Transformationseinheit (122) für die zweiten Zwischendaten (106) befindet; und die zweite Transformationseinheit (122) enthält: einen zweiten nichtlinearen Transformator (132) und eine Exklusiv-ODER-Schaltung (142), die sich zwischen einem Eingang für die ersten Zwischendaten (105) und einem Eingang einer nächsten Transformationseinheit (123) für die vierten Zwischendaten (108) befindet; oder bei der die erste Transformationseinheit (161) enthält: die Exklusiv-ODER-Schaltung (141), die sich zwischen einem Eingang für die zweiten Eingangsdaten (102) und einem Eingang der zweiten Transformationseinheit (162) für die ersten Zwischendaten (105) befindet, und einen ersten nichtlinearen Transformator (132), der sich zwischen einem Eingang für die ersten Eingangsdaten (101) und einem Eingang der zweiten Transformationseinheit (162) für die zweiten Zwischendaten (106) befindet, und wobei die zweite Transformationseinheit (162) enthält: die Exklusiv-ODER-Schaltung (142), die sich zwischen dem Eingang für die zweiten Zwischendaten (106) und einem Eingang einer nächsten Transformationseinheit (163) für die dritten Zwischendaten (107) befindet, und einen zweiten nichtlinearen Transformator (133), der sich zwischen einem Eingang für die ersten Zwischendaten (105) und einem Eingang der nächsten Transformationseinheit (163) für die vierten Zwischendaten (108) befindet; und wobei die erste Transformationseinheit (121, 161) und die zweite Transformationseinheit (122, 162) abwechselnd d mal (d ≥ 2) von einer ersten Stufe zu einer letzten Stufe verbunden sind, welche Datentransformationsvorrichtung weiterhin aufweist: eine Datenauswahleinheit (156a, 156b), die mit der Eingangsseite der ersten Transformationseinheit (121, 161) verbunden ist, eine Datenhalteeinheit (157a, 157b), die mit der Ausgangsseite der zweiten Transformationseinheit (122, 162) verbunden ist, und eine Schlüsselparameter-Zuführungseinheit (158); wobei zuerst die Datenauswahleinheit (156a, 156b) ausgebildet ist zur Auswahl von ersten Eingangsdaten (101) und zweiten Eingangsdaten (102) für die Eingabe in die erste Transformationseinheit (121, 161), und danach diese Datenauswahleinheit (156a, 156b) ausgebildet ist zur Auswahl der Ausgangsdaten von der Datenhalteeinheit (157a und 157b) für die Eingabe in die erste Transformationseinheit (121, 161), um eine Rückführungsschleife zu bilden; wobei dieser Datentransformationszyklus m mal (m ≥ 2) wiederholt wird, und danach die Datenhalteeinheit (157a und 157b) ausgebildet ist zur Ausgabe von ungeradzahligen Zwischendaten (103) und geradzahligen Zwischendaten (104) als ein Transformationsergebnis.
  7. Datentransformationsvorrichtung nach Anspruch 1 für die Transformation von ersten Eingangsdaten (101) und zweiten Eingangsdaten (102), die jeweils dieselbe Anzahl von Stellen haben, aufweisend jeweils eine von: eine erste Transformationseinheit (121) enthaltend einen ersten nichtlinearen Transformator (131) und eine erste Exklusiv-ODER-Schaltung (141); und eine zweite Transformationseinheit (122) enthaltend eine zweite Exklusiv-ODER-Schaltung (142) und einen zweiten nichtlinearen Transformator (132); wobei die Transformationseinheiten d mal (d ≥ 2) verbunden sind; welche Datentransformationsvorrichtung weiterhin aufweist: eine Datenauswahleinheit (156a, 156b), die für die Eingangsseite einer ersten Transformationseinheit (121) vorgesehen ist, eine Datenhalteeinheit (157a, 157b), die für die Ausgangsseite einer letzten Transformationseinheit (122) vorgesehen ist, und eine Schlüsselparameter-Zuführungseinheit (158); wobei zuerst die Datenauswahleinheit (156a, 156b) ausgebildet ist zur Auswahl der ersten Eingangsdaten (101) und der zweiten Eingangsdaten (102) für die Eingabe in die erste Transformationseinheit (121), und danach diese Datenauswahleinheit (156a, 156b) ausgebildet ist zur Auswahl der Ausgangsdaten von der Datenhalteeinheit (157a, 157b) für die Eingabe in die erste Transformationseinheit (121), um eine Rückführungsschleife zu bilden; und wobei dieser Datentransformationszyklus m mal (m ≥ 2) wiederholt wird, und hiernach die Datenhalteeinheit (157a, 157b) ausgebildet ist zur Ausgabe von ungeradzahligen Zwischendaten (103) und von geradzahligen Zwischendaten (104) als ein Transformationsergebnis.
  8. Datentransformationsvorrichtung nach Anspruch 2, bei der die ersten Eingangsdaten (101) in erste Eingangssubdaten (301) und zweite Eingangssubdaten (302) geteilt werden und der Schlüsselparameter (11) in einen ersten bis einen n-ten geteilten Schlüsselparameter (311313) geteilt wird; worin die Transformationseinheit weiterhin enthält: eine erste Subtransformationseinheit (321) zum Durchführen einer nichtlinearen Transformation der ersten Eingangssubdaten (301) unter Verwendung des ersten geteilten Schlüsselparameters (311), Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangssubdaten (302), um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als zweite Zwischensubdaten (306) auszugeben, und Ausgeben der zweiten Eingangssubdaten (302) als erste Zwischensubdaten (305) ohne jegliche Transformation; und eine zweite Subtransformationseinheit (322) zum Eingeben der ersten Zwischensubdaten (305), die von der ersten Subtransformationseinheit ausgegeben wurden, Durchführen einer internen nichtlinearen Transformation der ersten Zwischensubdaten (305) unter Verwendung des zweiten geteilten Schlüsselparameters (312), Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischensubdaten (306), um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als vierte Zwischensubdaten (308) auszugeben, und Ausgeben der zweiten Zwischensubdaten (306) als dritte Zwischensubdaten (307) ohne jegliche Transformation; wobei die erste Subtransformationseinheit (321) und die zweite Subtransformationseinheit (322) abwechselnd n mal (n ≥ 2) von einer ersten Stufe bis zu einer letzten Stufe verbunden sind, worin die Transformationseinheit weiterhin enthält: eine Datensubauswahleinheit, die auf der Eingangsseite der ersten Subtransformationseinheit vorgesehen ist, eine Datensubhalteeinheit, die auf der Ausgangsseite von jeweils der ersten und der zweiten Subtransformationseinheit vorgesehen ist, und eine Schlüsselparameter-Subzuführungseinheit; wobei zuerst die Datensubauswahleinheit ausgebildet ist zum Auswählen und Eingeben der ersten Eingangssubdaten und der zweiten Eingangssubdaten, nach der Auswahl und Eingabe der ersten Eingangssubdaten und der zweiten Eingangssubdaten die Datensubauswahleinheit gesetzt wird zum Auswählen und Eingeben von Ausgangsdaten von der Datensubhalteeinheit, um eine Rückführungsschleife zu bilden; und worin die Transformationseinheit ausgebildet ist zum m-fachen (m ≥ 2) Wiederholen der Transformation von Daten, die Schlüsselparameter-Subzuführungseinheit ausgebildet ist zum Zuführen des geteilten Schlüsselparameters zu jeder Subtransformationseinheit entsprechend der wiederholten Transformation, und zuletzt die Datensubhalteeinheit ausgebildet ist zur Ausgabe von ungeradzahligen Zwischensubdaten und geradzahligen Zwischensubdaten als erste Ausgangsdaten nach der Transformation.
  9. Datentransformationsvorrichtung nach Anspruch 2, bei der die ersten Eingangsdaten (101) in erste Eingangssubdaten (301) und zweite Eingangssubdaten (302) geteilt werden und der Schlüsselparameter (111) in einen ersten bis einen n-ten geteilten Schlüsselparameter (311313) geteilt wird; worin die Transformationseinheit weiterhin enthält: eine erste Subtransformationseinheit (321) für die Eingabe von ersten Eingangssubdaten (301), Durchführung einer nichtlinearen Transformation der ersten Eingangssubdaten (301) unter Verwendung des ersten geteilten Schlüsselparameters (311), Ausgabe eines transformierten Ergebnisses als zweite Zwischensubdaten, Durchführen einer Exklusiv-ODER-Operation bei den ersten Eingangssubdaten und den zweiten Eingangssubdaten, um ein durch eine Exklusiv-ODER-Funktion erhaltenes Ergebnis als erste Zwischensubdaten auszugeben; und eine zweite Subtransformationseinheit für die Eingabe der ersten Zwischensubdaten, die von der ersten Subtransformationseinheit ausgegeben wurden, Durchführung einer nichtlinearen Transformation der ersten Zwischensubdaten unter Verwendung des zweiten geteilten Schlüsselparameters, Ausgabe eines transformierten Ergebnisses als vierte Zwischensubdaten, Durchführung einer Exklusiv-ODER-Operation bei den ersten Zwischensubdaten und den zweiten Zwischendaten und Ausgabe eines durch eine Exklusiv-ODER-Funktion erhaltenen Ergebnisses als dritte Zwischensubdaten; wobei die erste Subtransformationseinheit und die zweite Subtransformationseinheit abwechselnd n mal (n ≥ 2) von einer ersten Stufe bis zu einer letzten Stufe verbunden sind, worin die Subtransformationseinheit weiterhin enthält: eine Datensubauswahleinheit, die auf der Eingangsseite der ersten Subtransformationseinheit vorgesehen ist, eine Datensubhalteeinheit, die auf der Ausgangsseite jeweils der ersten und der zweiten Subtransformationseinheit vorgesehen ist, und eine Schlüsselparameter-Subzuführungseinheit; wobei zuerst die Datensubauswahleinheit ausgebildet ist für die Auswahl und die Eingabe der ersten Eingangssubdaten und der zweiten Eingangssubdaten, nach der Auswahl und der Eingabe der ersten Eingangssubdaten und der zweiten Eingangssubdaten die Datensubauswahleinheit gesetzt wird zur Auswahl und zur Eingabe von Ausgangsdaten von der Datensubhalteeinheit, um eine Rückführungsschleife zu bilden; und wobei die Transformationseinheit ausgebildet ist zum m-fachen (m ≥ 2) Wiederholen der Transformation von Daten, die Schlüsselparameter-Subzuführungseinheit ausgebildet ist zum Zuführen des geteilten Schlüsselparameters zu jeder Subtransformationseinheit entsprechend der wiederholten Transformation, und zuletzt die Datensubhalteeinheit ausgebildet ist zur Ausgabe ungeradzahliger Zwischendaten und geradzahliger Zwischendaten als erste Ausgangsdaten nach der Transformation.
  10. Datentransformationsvorrichtung nach Anspruch 8 oder 9, bei der in jede Subtransformationseinheit einzugebende ungeradzahlige Daten in zwei Datenstücke geteilt werden, die jeweils eine i dentische Anzahl von Stellen haben; und bei der die ersten Subtransformationseinheiten n mal (n ≥ 2) verbunden sind.
  11. Datentransformationsvorrichtung nach Anspruch 1, bei der zumindest einer der nichtlinearen Transformatoren eine Xn-Schaltung auf dem Galois-Feld ist.
  12. Datentransformationsvorrichtung nach Anspruch 11, bei der die Xn-Schaltung auf dem Galois-Feld durch eine normale Basis gebildet ist.
  13. Datentransformationsvorrichtung nach Anspruch 1, bei der zumindest ein Teil des nichtlinearen Transformators ein Festwertspeicher ist.
  14. Datentransformationsvorrichtung nach Anspruch 1, bei der zumindest ein Teil des nichtlinearen Transformators ein Speicher mit wahlweisem Zugriff ist.
  15. Datentransformationsvorrichtung nach Anspruch 1, bei der zumindest ein Teil des nichtlinearen Transformators eine logische Schaltung ist.
  16. Datentransformationsvorrichtung nach Anspruch 2, welche weiterhin aufweist: zwei logische Schaltungen (971a und 971b), die jeweils zwei Exklusiv-ODER-Schaltungen (971c und 971d) und UND- und ODER-Schaltungen sind, die zumindest auf der ersten Eingangsseite oder der zweiten Eingangsseite der ersten Transformationseinheit als ein Datentransformator (971) vorgesehen sind, wobei die in den Datentransformator (971) eingegebenen Eingangsdaten in zwei Datenstücke mit einer vorbestimmten Anzahl von Stellen als erste Subdaten und zweite Subdaten geteilt werden, der Schlüsselparameter in einen ersten Transformationsschlüsselparameter (981a) und einen zweiten Transformationsschlüsselparameter (981b) geteilt wird; wobei eine erste logische Operation bei den ersten Subdaten durchgeführt wird unter Verwendung des ersten Transformationsschlüsselparameters (981a), das erste Operationsergebnis einer Exklusiv-ODER-Operation mit den zweiten Subdaten unterzogen wird, um ein erstes Exklusiv-ODER-Ergebnis auszugeben, und das erste Exklusiv-ODER-Ergebnis ausgegeben wird als Ausgangsdaten nach der Transformation der zweiten Subdaten; wobei eine zweite logische Operation bei dem ersten Exklusiv-ODER-Ergebnis durchgeführt wird unter Verwendung des zweiten Transformations-Schlüsselparameters, das zweite Operationsergebnis einer Exklusiv-ODER-Operation mit den ersten Subdaten unterzogen wird, um ein zweites Exklusiv-ODER-Ergebnis auszugeben, das zweite Exklusiv-ODER-Ergebnis ausgegeben wird als Ausgangsdaten der Transformation der ersten Subdaten, und die Ausgangsdaten nach der Transformation der ersten Subdaten und die Ausgangsdaten nach der Transformation der zweiten Subdaten vereint und ausgegeben werden.
  17. Datentransformationsverfahren zum Transformieren erster Eingangsdaten (101) und zweiter Eingangsdaten (102), aufweisend die Schritte: a) Durchführen einer ersten nichtlinearen Transformation der ersten Eingangsdaten (101) unter Verwendung eines ersten Schlüsselparameters (111), Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Eingangsdaten (102), um ein Exklusiv-ODER-Ergebnis als zweite Zwischendaten (106) auszugeben; und Ausgeben der zweiten Eingangsdaten (102) als erste Zwischendaten (105) ohne jegliche Transformation, und b) Durchführen einer zweiten nichtlinearen Transformation der ersten Zwischendaten (105) unter Verwendung eines zweiten Schlüsselparameters (112), Ausgeben eines transformierten Ergebnisses, Durchführen einer Exklusiv-ODER-Operation bei dem transformierten Ergebnis und den zweiten Zwischendaten (106), um ein Exklusiv-ODER-Ergebnis als vierte Zwischendaten (108) auszugeben, und Ausgeben der zweiten Zwischendaten (106) als dritte Zwischendaten (107) ohne jegliche Transformation.
DE69635651T 1995-09-05 1996-07-31 Vorrichtung und Verfahren zur Datenumwandlung Expired - Lifetime DE69635651T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP22768595 1995-09-05
JP22768595 1995-09-05
JP1107396 1996-01-25
JP1107396 1996-01-25
PCT/JP1996/002154 WO1997009705A1 (fr) 1995-09-05 1996-07-31 Appareil de conversion de donnees et procede de conversion de donnees

Publications (2)

Publication Number Publication Date
DE69635651D1 DE69635651D1 (de) 2006-02-02
DE69635651T2 true DE69635651T2 (de) 2006-09-07

Family

ID=26346455

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69635651T Expired - Lifetime DE69635651T2 (de) 1995-09-05 1996-07-31 Vorrichtung und Verfahren zur Datenumwandlung

Country Status (10)

Country Link
US (3) US6201869B1 (de)
EP (1) EP0790595B1 (de)
KR (1) KR100250803B1 (de)
CN (2) CN100435505C (de)
AU (1) AU693719B2 (de)
DE (1) DE69635651T2 (de)
DK (1) DK0790595T3 (de)
ES (1) ES2255712T3 (de)
NO (1) NO324428B1 (de)
WO (1) WO1997009705A1 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU693719B2 (en) * 1995-09-05 1998-07-02 Mitsubishi Denki Kabushiki Kaisha Data transformation apparatus and data transformation method
JP3088337B2 (ja) 1997-05-30 2000-09-18 三菱電機株式会社 暗号処理装置、icカード及び暗号処理方法
US6088800A (en) 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
JP2000124813A (ja) 1998-10-20 2000-04-28 Texas Instr Japan Ltd リードソロモン符号化装置およびその方法とリードソロモン復号装置およびその方法
MY131509A (en) * 1999-03-15 2007-08-30 Sony Corp Data processing method, apparatus and system for encrypted- data transfer
JP3499810B2 (ja) 2000-03-06 2004-02-23 株式会社東芝 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体
SG124294A1 (en) * 2000-03-09 2006-08-30 Mitsubishi Electric Corp Block cipher apparatus using auxiliary tranformation
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
KR100446533B1 (ko) * 2002-10-08 2004-09-01 삼성전자주식회사 무선 통신 시스템에서 암호화 장치 및 방법
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
US7310421B2 (en) * 2003-10-06 2007-12-18 National Institute Of Information And Communications Technology Particular plaintext detector
US7433469B2 (en) * 2004-04-27 2008-10-07 Intel Corporation Apparatus and method for implementing the KASUMI ciphering process
FR2871969B1 (fr) * 2004-06-18 2006-12-01 Sagem Procede et dispositif d'execution d'un calcul cryptographique
EP1878153B1 (de) * 2005-05-04 2012-02-08 Siemens Enterprise Communications GmbH & Co. KG Verfahren und vorrichtung zum ermitteln von indizes die korrektursymbolen zugeordnet sind
FR2878390A1 (fr) * 2005-11-24 2006-05-26 Samsung Electronics Co Ltd Systeme et procede cryptographiques pour chiffrer des donnees d'entree
JP5131187B2 (ja) * 2006-03-14 2013-01-30 日本電気株式会社 情報処理システム、情報処理方法および情報処理プログラム
JP2007299088A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd データ保護システム、方法及びプログラム
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
US7620792B2 (en) * 2006-08-21 2009-11-17 Sigmatel, Inc. Processing system, memory and methods for use therewith
JP2008172617A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
JP2008270870A (ja) * 2007-04-16 2008-11-06 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム
US20100027781A1 (en) * 2007-12-20 2010-02-04 Galbi Duane E Method and apparatus for enhancing performance of data encryption standard (des) encryption/decryption
JP5272417B2 (ja) * 2008-01-21 2013-08-28 ソニー株式会社 データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム
JP5200949B2 (ja) 2009-01-16 2013-06-05 富士通株式会社 暗号処理装置
CN102598574B (zh) 2009-10-27 2014-12-17 日本电气株式会社 块加密装置、块加密方法以及程序
US8266181B2 (en) 2010-05-27 2012-09-11 International Business Machines Corporation Key-break and record-loop processing in parallel data transformation
US20120079462A1 (en) * 2010-09-24 2012-03-29 SoftKrypt LLC Systems and methods of source software code obfuscation
JP5682527B2 (ja) * 2011-03-28 2015-03-11 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
JP5682526B2 (ja) * 2011-03-28 2015-03-11 ソニー株式会社 データ処理装置、およびデータ処理方法、並びにプログラム
JP2018182429A (ja) * 2017-04-06 2018-11-15 株式会社村田製作所 データ変換装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037586A (ja) 1983-08-09 1985-02-26 富士通株式会社 Des暗号装置鍵誤り検出方式
JPS61117940A (ja) 1984-11-13 1986-06-05 Hitachi Ltd デ−タ保護方式
JPH0727325B2 (ja) * 1987-02-13 1995-03-29 沖電気工業株式会社 暗号化装置
JP2760799B2 (ja) 1988-04-28 1998-06-04 株式会社日立製作所 暗号方式
JP2825205B2 (ja) 1989-07-20 1998-11-18 日本電信電話株式会社 暗号装置
JP3053106B2 (ja) 1990-11-02 2000-06-19 株式会社日立製作所 暗号化処理装置、及び復号化処理装置
JP2862030B2 (ja) 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
JPH0535448A (ja) 1991-07-26 1993-02-12 Matsushita Electric Ind Co Ltd 有限体における乗算器
JPH0588849A (ja) 1991-09-26 1993-04-09 Matsushita Electric Ind Co Ltd 正規基底を用いた乗算器の構成法
JP3180836B2 (ja) 1992-05-21 2001-06-25 日本電気株式会社 暗号通信装置
US5317638A (en) 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
US5398284A (en) * 1993-11-05 1995-03-14 United Technologies Automotive, Inc. Cryptographic encoding process
JPH07191603A (ja) 1993-12-24 1995-07-28 Canon Inc 暗号装置及びこれを用いた秘匿・認証通信システム
JP3029381B2 (ja) * 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US5717760A (en) 1994-11-09 1998-02-10 Channel One Communications, Inc. Message protection system and method
US6125182A (en) 1994-11-09 2000-09-26 Channel One Communications, Inc. Cryptographic engine using logic and base conversions
JPH08179690A (ja) 1994-12-22 1996-07-12 Nec Corp プロダクト暗号装置
JP3129384B2 (ja) 1995-02-08 2001-01-29 日亜化学工業株式会社 窒化物半導体レーザ素子
US5757915A (en) 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
AU693719B2 (en) 1995-09-05 1998-07-02 Mitsubishi Denki Kabushiki Kaisha Data transformation apparatus and data transformation method
JPH0990870A (ja) 1995-09-27 1997-04-04 Nec Corp 基本変換方法、暗号化方法、基本変換回路および暗号装置

Also Published As

Publication number Publication date
KR970707525A (ko) 1997-12-01
NO324428B1 (no) 2007-10-15
DE69635651D1 (de) 2006-02-02
AU6629396A (en) 1997-03-27
AU693719B2 (en) 1998-07-02
EP0790595A1 (de) 1997-08-20
NO972052D0 (no) 1997-05-02
CN1496048A (zh) 2004-05-12
US7096369B2 (en) 2006-08-22
NO972052L (no) 1997-05-05
CN100435505C (zh) 2008-11-19
EP0790595B1 (de) 2005-12-28
DK0790595T3 (da) 2006-05-08
US6201869B1 (en) 2001-03-13
EP0790595A4 (de) 2003-10-15
CN1136692C (zh) 2004-01-28
US6415030B2 (en) 2002-07-02
CN1164912A (zh) 1997-11-12
ES2255712T3 (es) 2006-07-01
US20010000708A1 (en) 2001-05-03
WO1997009705A1 (fr) 1997-03-13
US20020131589A1 (en) 2002-09-19
KR100250803B1 (ko) 2000-04-01

Similar Documents

Publication Publication Date Title
DE69635651T2 (de) Vorrichtung und Verfahren zur Datenumwandlung
DE60119410T2 (de) Vorrichtung und Verfahren zur Blockverschlüsselung und zur Entschlüsselung
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
DE69731470T2 (de) Spiral-verwürfelungsverfahren
DE69031736T2 (de) Verschlüsselungsmethode
DE2715631C2 (de) Verschlüsselung und Absicherung von Daten
DE69222090T2 (de) Einrichtung und Verfahren zum blockweisen Verschlüsseln von Daten
DE2231835C3 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE19744961B4 (de) Erzeugen eindeutiger und unvorhersagbarer Werte
DE69728465T2 (de) Nichtparalleler Mehrzyklus-Verschlüsselungsapparat
DE69330070T2 (de) Verfahren und einrichtung zur erzeugung einer chiffriersequenz
DE69119844T2 (de) Chiffriergerät
DE60111746T2 (de) Lineartransformation für symmetrische verschlüsselungssysteme
EP0012974B1 (de) Verfahren zur Chiffrierung von Datenblöcken einer vorgegebenen Länge
DE3237489A1 (de) Stromchiffrierung unter verwendung einer chiffrieranlage mit oeffentlichem schluessel
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE69932740T2 (de) Verfahren und vorrichtung zur kryptographischen datenverarbeitung
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE69320246T2 (de) Hardware-Verschlüsselungsschaltung unter Verwendung von mehreren linearen Transformationsausführungen
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE69333257T2 (de) Anlage für Signalschaltung und -verarbeitung
DE69635100T2 (de) Verfahren zur Verarbeitung eines digitalen Signals in solcher Weise, dass das Ausgangs- nicht vom Eingangssignal abgeleitet werden kann, und Verwendung des Verfahrens zur Zugriffssteuerung und/oder digitaler Unterschrift
DE102004010666B4 (de) Schlüsselbitstromerzeugung
EP0902568B1 (de) Verfahren zur Übertragung von verschlüsselten Nachrichten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)