DE69829566T2 - Verschlüsselungsgerät - Google Patents

Verschlüsselungsgerät Download PDF

Info

Publication number
DE69829566T2
DE69829566T2 DE69829566T DE69829566T DE69829566T2 DE 69829566 T2 DE69829566 T2 DE 69829566T2 DE 69829566 T DE69829566 T DE 69829566T DE 69829566 T DE69829566 T DE 69829566T DE 69829566 T2 DE69829566 T2 DE 69829566T2
Authority
DE
Germany
Prior art keywords
data
pieces
exclusive
linear transformation
output
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 - Fee Related
Application number
DE69829566T
Other languages
English (en)
Other versions
DE69829566D1 (de
Inventor
Masayuki-Nippon Telegraph and Tele. Shinjuku-ku KANDA
Youichi-Nippon Telegraph and Tele.Co Shinjuku-ku TAKASHIMA
Katsuhiko Minato-ku AOKI
Tsutomu Yokohama-shi MATSUMOTO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE69829566D1 publication Critical patent/DE69829566D1/de
Publication of DE69829566T2 publication Critical patent/DE69829566T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Facsimile Transmission Control (AREA)
  • Complex Calculations (AREA)

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft ein Verschlüsselungsgerät zum Verbergen von Daten bei Datenkommunikation oder -Speicherung und genauer gesagt ein Verschlüsselungsgerät mit einem Geheimschlüsselalgorithmus, welches Daten in Blöcken unter Verwendung eines geheimen Schlüssels verschlüsselt oder entschlüsselt.
  • Ein typischer Geheimschlüsselalgorithmus, der in einem Verschlüsselungsgerät zum Verbergen von Daten verwendet wird, ist der DES (Data Encryption Standard), der ein FIPS-genehmigter Algorithmus zur Verschlüsselung ist (FIPS 46-3).
  • 1 zeigt die Funktionskonfiguration des DES. Der DES verwendet einen 56 Bit-Geheimschlüssel zum Verschlüsseln oder Entschlüsseln von Daten in Blöcken von 64 Bit. In 1 beginnt der Verschlüsselungsprozess mit der anfänglichen Permutation von 64 Bit eines Klartextes P in einem Anfangspermutationsteil 11, worauf die Aufteilung der transformierten Daten in zwei 32-Bit-Datenblöcke L0 und R0 folgt. Der Datenblock R0 wird in ein Funktionsoperationsteil (allgemein als Rundenfunktionsteil bezeichnet) 12 eingegeben (von dem Details für ein i-te-Runden-Verarbeitungsteil 14i (i = 0, 1, ... 15) in 2 gezeigt sind), in welchem er in f(R0, k0) unter Verwendung eines erweiterten 48-Bit-Schlüsselstückes k0 transformiert wird. Dieser transformierte Datenwert f(R0, k0) und der Datenblock L0 werden in einer XOR-Schaltung 13 XOR-verknüpft, und ihre Ausgabe und der Datenblock R0 werden vertauscht, um die nächsten Blockdaten L1, R1 zu erhalten. Das heißt R1 = L0 ⨁ f(R0, k0) L1 = R0 (1)
  • Ein Nullte-Runden-Verarbeitungsteil 14a umfasst ein Operationsteil 12, eine XOR-Schaltung 13 und ein Datenvertauschungsteil, durch welches zwei Stück Eingangsdaten L0 und R0 einer Rundenverarbeitung unterzogen werden, um Ausgangsblockdaten L1 und R1 zu erhalten, und entsprechende Rundenverarbeitungsteile 141 bis 1415 sind hintereinandergeschaltet vorgesehen. Die Verarbeitung durch das i-te Rundenverarbeitungsteil 14; wird im Folgenden als i-te Verarbeitung bezeichnet, mit i = 0, ..., 15. Das heißt, jedes Rundenverarbeitungsteil 14; (0 ≤ i ≤ 15) führt die folgende Verarbeitung durch: Ri+1 = L1 ⨁ f(Ri, ki) Li+1 = Ri (2) und die zwei Stück Ausgangsdaten R16 und L16 vom letzten Rundenverarbeitungsteil werden zu einem 64-Bit-Datenwert kombiniert, der in einem End-Permutationsteil 15 transformiert wird, um einen 64-Bit-Chiffretext zu ergeben. Die Entschlüsselungsverarbeitung kann nach der gleichen Prozedur wie bei der Verschlüsselungsverarbeitung durchgeführt werden, mit der Ausnahme, dass die erweiterten Schlüssel k0, k1, ..., k14, k15 in eine Funktion f in der Reihenfolge k15, k14, ..., k1, k0, umgekehrt zur Reihenfolge der Verschlüsselungsverarbeitung eingegeben werden. Dann werden die Ausgaben L16 und R16 von dem End-Rundenverarbeitungsteil 1415 weiter vertauscht wie abgebildet, und bei der Entschlüsselungsverarbeitung wird der Klartext unversehrt am Ausgang des End-Permutationsteiles 15 wiedergegeben, indem der Chiffretext in das Anfangs-Permutationsteil 11 eingegeben wird, um ihn der Verarbeitung von 1 zu unterziehen. Natürlich könnte genau das gleiche Ergebnis auch erhalten werden, indem dem End-Permutationsteil 15 Daten bereitgestellt werden, ohne die Ausgaben des Endrundenverarbeitungsteiles 145 zu vertauschen. Die erweiterten Schlüsselstücke k0, k1, ..., k14, k15 (im Folgenden auch als erweiterte Schlüssel bezeichnet) werden erzeugt durch Erweitern eines 56-Bit-Geheimschlüssel zu 16 48-Bit-Stücken eines erweiterten Schlüssels mit insgesamt 768 Bits in einem von der Verschlüsselungsverarbeitung getrennten Erweitert-Schlüsselerzeugungsteil 16.
  • Die Verarbeitung in dem Funktionsoperationsteil 12 wird durchgeführt wie in 2 gezeigt. Zu Beginn wird der 32-Bit-Datenblock R1 in einem erweiterten Permutationsteil 17 in einen 48-Bit-Datenwert E(R1) transformiert. Dieser Ausgangsdatenwert und der erweiterte Schlüssel k1 werden in einer XOR-Schaltung 18 XOR-verknüpft, deren Ausgabe in einen 48-Bit-Datenwert E(R1)⨁k1 transformiert wird, der dann in 8 Stücke von 6-Bit-Teilblockdaten aufgeteilt wird. Die 8 Stück Teilblockdaten werden in verschiedene S-Boxen S1 bis SB eingegeben, um jeweils eine Vier-Bit-Ausgabe daraus abzuleiten. Die S-Box Sj ist eine nichtlineare Transformationstabelle, die die 6-Bit-Eingangsdaten in die Vier-Bit-Ausgangsdaten transformiert, und es ist ein Teil, das eine bei der Erzielung der Sicherheit für den DES wesentliche Rolle spielt. Die 8 Stück Ausgangsdaten aus den S-Boxen S1 bis S8 werden wieder zu einem 32-Bit-Datenwert verkettet, der an ein Permutationsteil 19 angelegt wird, um eine Ausgabe der Form f(R1, k1) der Funktion f zu erhalten, die mit L1 XOR-verknüpft wird, wie in 1 gezeigt.
  • Als nächstes wird eine Beschreibung von Verschlüsselungsanalysetechniken gegeben. Diverse Verschlüsselungsanalysetechniken sind für DES und andere traditionelle Geheimschlüsselalgorithmen vorgeschlagen worden; höchst effektive Verschlüsselungsanalysetechniken unter diesen sind eine von E. Biham und A. Shamir vorgeschlagene differentielle Verschlüsselungsanalysetechnik („Differential Cryptanalysis of DES-like Cryptosystems", Proceedings of CRYPTO'90) und eine von Matsui vorgeschlagene lineare Verschlüsselungsanalysetechnik („Linear Cryptananalysis (1) of DES Cryptosystem", The 1993 Symposium on Cryptography and Information Security 1993, SCIS93-3C).
  • Wenn die Differenz zwischen zwei Stück Daten X und X* definiert ist als ΔX = X ⨁ X*, (3)zielt die differentielle Verschlüsselungsanalyse darauf, den erweiterten Schlüssel k15 in der abschließenden Runde zu erhalten, indem auf die folgenden Gleichungen zwei Sätze von Klartext-Chiffretext-Paaren angewandt werden, die ein Angreifer besitzt. L1 und R1 seien zwei Stück Block daten für einen ersten in jedes Rundenverarbeitungsteil 14i von 1 eingegebenen Klartext und L*i und R*i zwei Stück Blockdaten für einen zweiten Klartext, die in jedes Rundenverarbeitungsteil 14i eingegeben werden. Ferner sei angenommen, dass Chiffretexte als Antwort auf die Eingabe dieser ersten und zweiten Klartexte erhalten werden. Unter der Definition von Gleichung (3) gilt ΔLi = Li ⨁ L*i, ΔRi = Ri ⨁ R*i. (4)
  • Da in 1 L15 = R14, L*15 = R*14, L16 = R15 und L*16 = R*15 ist, gelten die folgenden Gleichungen R16 = L15 ⨁ f(R15, k15) R*16 = L*15 ⨁ f(R*15, k15) (5)und die Exklusiv-Oder-Verknüpfungen beider Seiten dieser zwei Gleichungen wird erhalten wie folgt: ΔR16 = ΔL15 ⨁ f(L16, k15) ⨁ f(L16 ⨁ ΔL16, k15) (6)
  • Die Exklusiv-Oder-Verknüpfungen beider Seiten mit ΔR14 = ΔL15 ergibt die folgende Gleichung: f(L16, k15) ⨁ f((L16 ⨁ ΔL16), k15) = ΔR16 ⨁ ΔR14 (7)
  • Da hier L16, ΔL16 und ΔR16 aus dem Chiffretext verfügbare Daten sind, sind sie bekannte Information. Daher ist, wenn der Angreifer ΔR14 korrekt erhalten kann, in der obigen Gleichung nur k15 eine unbekannte Konstante; der Angreifer kann einen korrekten k15 mit Gewissheit erhalten, indem er eine erschöpfende Suche nach k15 durch Verwendung der bekannten Sätze von Klartext-Chiffretext-Paaren durchführt. ΔR14 hingegen ist im allgemeinen schwierig zu erhalten, da dieser Wert ein intermediärer Differenzwert ist. Es werde angenommen, dass jedes Rundenverarbeitungsteil 14; durch die folgenden Gleichungen mit einer Wahrscheinlichkeit pi in jeder Runde von der nullten bis zur vorletzten approximiert wird: ΔRi+1 = ΔLi ⨁ Δ{f(ΔRi)} ΔLi+1 = ΔRi+1 (8)
  • Der Punkt ist, dass wenn ein bestimmtes ΔRi eingegeben wird, Δ{f(ΔRi)} mit der Wahrscheinlichkeit pi vorhergesagt werden kann, unabhängig vom Wert des erweiterten Schlüssels ki. Der Grund, weswegen solche Näherungen gemacht werden können, ist, dass Δ{f(ΔRi)} nur von dem S-Box-Teil beeinflusst wird, der eine nichtlineare Transformationstabelle ist, und dass entsprechend den darein eingegebenen Differenzen die S-Boxen eine äußerst ungleichmäßige Verteilung von Differenzausgaben liefern. Zum Beispiel wird in der S-Box S1 eine Eingabedifferenz "110100" mit einer Wahrscheinlichkeit von 1/4 in eine Ausgabedifferenz "0010" transformiert. Die Näherung für jede Runde wird dann erhalten, indem angenommen wird, dass jede S-Box in der Lage ist, die Beziehung zwischen der Eingabedifferenz und der Ausgabedifferenz mit einer Wahrscheinlichkeit psi vorherzusagen und sie zu kombinieren. Ferner macht es die Verkettung solcher Näherungen in den jeweiligen Runden möglich, ΔR14 aus ΔL0 und ΔR0 (ΔL0 und ΔR0 sind aus dem Klartext ableitbare Daten und damit bekannt) mit einer Wahrscheinlichkeit von P = Πpi zu erhalten. Dabei ist die Verschlüsselungsanalyse um so einfacher, je höher die Wahrscheinlichkeit P ist. Nachdem so der erweiterte Schlüssel k15 erhalten ist, wird eine entsprechende Rechnung für den erweiterten Schlüssel k14 durchgeführt, unter der Annahme eines 15-Runden-DES, also einer Runde weniger als oben; solche Operationen werden wiederholt, um die erweiterten Schlüssel einen nach dem anderen bis hin zu k0 zu erhalten.
  • Biham et al. behaupten, dass der DES durch diese Verschlüsselungsanalyse gebrochen werden kann, wenn 247 Sätze von ausgewählten Klartext-Chiffretext-Paaren verfügbar sind.
  • Die lineare Verschlüsselungsanalyse zielt darauf ab, erweiterte Schlüssel durch Konstruieren des folgenden linearen Näherungsausdrucks zu erhalten und das Maximum-Likelihood-Verfahren mit dem Angreifer bekannten Klartext-Chiffretext-Paaren zu verwenden. (L0, R0)·Γ(L0, R0) ⨁ (L16, R16)·Γ(L16, R16) = (k0, k1, ..., k15)·Γ(k0, k1, ..., k15) (9)wobei Γ(X) den Vektor darstellt, der eine bestimmte Bitposition von X auswählt und als ein Maskenwert bezeichnet wird.
  • Die Funktion des linearen Näherungsausdrucks ist, den kryptographischen Algorithmus näherungsweise durch einen linearen Ausdruck zu ersetzen und ihn in einen den Satz aus Klartext und Chiffretext betreffenden Teil und einen den erweiterten Schlüssel betreffenden Teil aufzuteilen. Das heißt, in dem Satz aus Klartext-Chiffretext-Paar nehmen die Exklusiv-Oder-Verknüpfungen zwischen den Werten an bestimmten Bitpositionen des Klartextes und solchen des Chiffretextes alle einen festen Wert an, was anzeigt, dass er gleich den Exklusiv-Oder-Verknüpfungen der Werte bei bestimmten Bitpositionen der erweiterten Schlüssel ist. Dies bedeutet, dass der Angreifer Information
    (k0, k1, ..., k15)·Γ(k0, k1, ..., k15)(1 Bit)
    aus Information
    (L0, R0)·Γ(L0, R0) ⨁ (L16 R16)·Γ(L16, R16)
    erhält. Dabei sind (L0, R0) und (L16, R16) der Klartext und der Chiffretext und somit bekannt. Daher kann der Angreifer, wenn er Γ(L0, R0), Γ(L16, R16) und Γ(k0, k1, ..., k15) korrekt erhalten kann, auch (k0, k1, ..., k15)·Γ(k0, k1, ..., k15) (1 Bit) korrekt erhalten.
  • Beim DES wird die nichtlineare Transformation nur in der S-Box durchgeführt; daher kann der lineare Näherungsausdruck leicht konstruiert werden, wenn nur die S-Box linear dargestellt werden kann. Es wird angenommen, dass jede S-Box Si mit einer Wahrscheinlichkeit psi linear dargestellt werden kann. Der Punkt ist hier, dass, wenn der Eingabemaskenwert für die S-Box gegeben ist, ihr Ausgabemaskenwert mit der Wahrscheinlichkeit psi vorausgesagt werden kann. Der Grund hierfür ist, dass die S-Boxen, die eine nichtlineare Transformationstabelle bilden, eine äußerst ungleichmäßige Verteilung von Differenzmaskenwerten entsprechend den Eingabemaskenwerten bilden. Wenn zum Beispiel in der S-Box S5 der Eingabemaskenwert "010000" ist, wird ein Ausgabemaskenwert "1111" mit einer Wahrscheinlichkeit von 3/16 vorausgesagt. Durch Kombinieren von Maskenwerten in diesen S-Boxen kann eine lineare Näherung zwischen dem Eingabemaskenwert und dem Ausgabemaskenwert in jeder Runde mit einer Wahrscheinlichkeit pi gemacht werden, und durch Verketten der linearen Näherungen in den jeweiligen Runden werden Γ(L0, R0), Γ(L16, R16) und Γ(k0, k1, ..., k15) mit der folgenden Wahrscheinlichkeit erhalten: P = 2n-1Π|pi – 1/2|. (10)
  • Dabei ist die Verschlüsselungsanalyse um so einfacher, je höher die Wahrscheinlichkeit P ist.
  • Angeblich hat Matsui mit dieser Verschlüsselungsanalyse durch Verwendung von 243 Sätzen von bekannten Klartext-Chiffretext-Paaren die Analyse des DES erfolgreich durchgeführt.
  • Um gegen die obigen Verschlüsselungsanalysetechniken zu konkurrieren, muss die Wahrscheinlichkeit P nur auf einen ausreichend niedrigen Wert reduziert werden. Folglich sind diverse Vorschläge gemacht worden, um die Wahrscheinlichkeit P zu verringern, und der einfachste Weg, um eine erhöhte Sicherheit bei den herkömmlichen Kryptosystemen zu bieten, ist, die Anzahl von Runden zu erhöhen. Zum Beispiel erhöht ein Dreifach-DES, der durch eine Verkettung von drei DESs gebildet ist, im Wesentlichen die Anzahl von Runden von 16 auf 48, und er bietet eine wesentlich niedrigere Wahrscheinlichkeit P als im Fall des DES.
  • Allerdings führt eine Erhöhung der Zahl von Runden im Hinblick auf das Konkurrieren mit den oben beschriebenen Verschlüsselungsanalysetechniken unvermeidlich zu einer Vergrößerung des verwendeten Kryptographiegerätes und erhöht auch die Menge an zu verarbeitenden Daten. Wenn zum Beispiel die Anzahl von Runden verdreifacht wird, erhöht sich auch der Arbeitsaufwand für die Verschlüsselung auf das Dreifache. Das heißt, da die Verschlüsselungsgeschwindigkeit des gegenwärtigen DES in der Pentium-PC-Klasse ca. 10 Mb/s beträgt, nimmt die Verschlüsselungsgeschwindigkeit des Dreifach-DES auf ca. 3,5 Mb/s ab. Andererseits werden Netzwerke und Computer von Jahr zu Jahr immer schneller, und daher besteht Bedarf nach Verschlüsselungsgeräten, die mit solchen Beschleunigungen Schritt halten. Mit herkömmlichen Kryptographiegeräten ist es daher äußerst schwierig, die Anforderungen der Beschleunigung und Sicherheit gleichzeitig zu erfüllen.
  • Das Dokument CA-A-2 203 380 offenbar ein Kryptographiegerät zum Verschlüsseln von Eingabedaten durch sequentielles Verarbeiten derselben durch eine Mehrzahl von Rundenprozessen, welches ein anfängliches Aufspaltungsteil zum Aufspalten der Eingabedaten in zwei Stück Blockdaten, ein Schlüsselspeicherteil zum Speichern eines erweiterten Schlüssels, eine Mehrzahl von in Reihe geschalteten Rundenverarbeitungsteilen, die mit den zwei Stück Blockdaten zum sequentiellen Verarbeiten derselben unter Verwendung von jeweils gespaltenen Teilen des erweiterten Schlüssels versorgt werden, und ein abschließendes Kombinierteil zum Kombinieren von zwei Stück Blockdaten, die aus dem letzten der Mehrzahl von in Reihe geschalteten Rundenverarbeitungsteilen ausgegeben werden, zu einem einzigen Stück Daten und zum Ausgeben dieses einzelnen Stücks Daten umfasst. Jedes der Mehrzahl von Rundenverarbeitungsteilen umfasst: ein Nichtlinearfunktionsteil zum Transformieren eines von zwei Stück Eingabeblockdaten, die in das jeweilige Rundenverarbeitungsteil von der vorhergehenden Stufe eingegeben werden, durch Verwendung eines jeweils entsprechenden Stücks der aufgespaltenen Stücke des erweiterten Schlüssels, ein Linearoperationsteil zum Linearverarbeiten des Ausgabedatenwertes aus dem Nichtlinearfunktionsteil und des jeweils anderen der zwei Stück Eingabeblockdaten; und ein Vertauschungsteil zum Vertauschen des Ausgabedatenwertes aus dem Linearoperationsteil und des Stücks Eingabeblockdaten des Nichtlinearfunktionsteiles und zum Bereitstellen dieser zwei Stück vertauschte Daten als zwei Stück Eingabeblockdaten für das Rundenverarbeitungsteil der nachfolgenden Stufe. Das Nichtlinearfunktionsteil umfasst mehrere Unterrundenverarbeitungsteile, die die gleiche Struktur wie die Rundenverarbeitungsteile haben. Daher kann die differentielle Verschlüsselungsanalysetechnik sowohl auf die Grundstruktur des Kryptographiegerätes als auch auf das Nichtlinearfunktionsteil angewandt werden.
  • Die vorliegende Erfindung soll die oben genannten Nachteile des Standes der Technik beheben, und ihr Ziel ist, ein Kryptographiegerät bereitzustellen, das die Sicherheitsanforderung erfüllt, ohne die Anzahl der Runden zu erhöhen.
  • OFFENBARUNG DER ERFINDUNG
  • Dieses Ziel wird erreicht durch ein Kryptographiegerät wie in Anspruch 1 beansprucht. Bevorzugte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
  • Um erhöhte Sicherheit zu liefern, umfasst die Erfindung ein zweites Lineartransformationsteil, welches die Ausgabedaten des Kombinierteiles zu den Ausgabedaten des nichtlinearen Funktionsteiles linear transformiert.
  • Ferner ist die Erfindung dadurch gekennzeichnet, dass das erste und/oder das zweite Lineartransformationsteil schlüsselabhängige Lineartransformationsteile sind, welche die darin eingegebenen Daten basierend auf in dem Schlüsselspeicherteil gespeicherten Schlüsseldaten linear transformieren.
  • Gemäß der vorliegenden Erfindung ist garantiert, dass wenn die Wahrscheinlichkeit in den S-Boxen psi ≤ pb < 1 ist (wobei pb die maximale differentielle oder lineare Wahrscheinlichkeit in den S-Boxen ist), die Wahrscheinlichkeit, dass jede Runde approximiert wird, pi ≤ pb 2 ist (wenn im Falle von differentieller Verschlüsselungsanalyse die eingegebene Differenz in die Funktion f nicht 0 ist, und wenn im Fall der linearen Verschlüsselungsanalyse der ausgegebene Maskenwert von der Funktion f nicht 0 ist). Wenn die Funktion f bijektiv ist (in welchem Fall eine unterschiedliche Eingabe immer eine unterschiedliche Ausgabe liefert), wird, wenn die Zahl von Runden der Verschlüsselung auf 3 m gesetzt ist, die Wahrscheinlichkeit der Verschlüsselung P ≤ pi 2m ≤ pb 4m. Im Allgemeinen werden Verschlüsselungen als sicher gegen differentielle und lineare Verschlüsselungsanalyseschemata angesehen, wenn P < 2–64 ist, daher ist es nur notwendig, m > –16/{log2(pb)} zu erfüllen, und wenn pb ≤ 2–4 ist, ist es möglich, Sicherheit auch mit einer kleineren Zahl von Runden als den 16 in dem DES benötigten Runden zu gewährleisten. Die Wahrscheinlichkeit der Sicherheit ändert sich für jedes Vielfache von m Runden.
  • Die vorliegende Erfindung gewährleistet Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse mit einer relativ kleinen Zahl von Runden und ermöglicht dadurch die Implementierung eines Kryptographiegerätes, das sowohl Sicherheit als auch niedrigen Rechenaufwand bietet.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm, das die Funktionskonfiguration eines herkömmlichen DES-Kryptographiegerätes abbildet.
  • 2 ist ein Diagramm, das eine konkrete Funktionskonfiguration eines f-Funktionalkalkülteiles 12 in 1 abbildet.
  • 3 ist ein Diagramm, das die Funktionskonfiguration von Ausgestaltung 1 der vorliegenden Erfindung darstellt.
  • 4 ist ein Diagramm, das im Detail ein Beispiel der Funktionskonfiguration eines Nichtlinearfunktionsteils 304 in Ausgestaltung 1 zeigt.
  • 5 ist ein Diagramm, das ein konkretes Beispiel eines schlüsselabhängigen Lineartransformationsteiles 347 in 4 abbildet.
  • 6 ist ein Diagramm, das die Funktionskonfiguration von Ausgestaltung 2 der vorliegenden Erfindung zeigt.
  • 7A ist ein Diagramm, das im Detail die Funktionskonfiguration eines Nichtlinearfunktionsteiles 304 in Ausgestaltung 2 zeigt.
  • 7B ist ein Diagramm, das in konkretes Beispiel eines Lineartransformationsteiles 354 in dem Nichtlinearfunktionsteil 304 zeigt.
  • 8 ist ein Diagramm, das die Funktionskonfiguration von Ausgestaltung 3 der vorliegenden Erfindung zeigt.
  • 9 ist ein Diagramm, das im Detail die Funktionskonfiguration eines Nichtlinearfunktionsteiles 304 in Ausgestaltung 3 zeigt.
  • BESTE ART, DIE ERFINDUNG AUSZUFÜHREN
  • AUSGESTALTUNG 1
  • Eine Ausgestaltung der vorliegenden Erfindung wird nachfolgend mit Bezug auf die beigefügten Zeichnungen erläutert.
  • 3 stellt die Funktionskonfiguration für eine Verschlüsselungsprozedur in dem Kryptographiegerät gemäß einer Ausgestaltung der vorliegenden Erfindung dar. Das Kryptographiegerät gemäß der vorliegenden Erfindung spaltet auch Eingabedaten in zwei Stück Blockdaten L0 und R0 und unterzieht sie einer Rundenverarbeitung durch n in Reihe geschaltete Rundenverarbeitungsteile 380 bis 38–1 nacheinander; jedes Rundenverarbeitungsteil 38i (i = 0, 1, ..., n1) ist aufgebaut aus einem Nichtlinearfunktionsteil 304, das dem Rundenfunktionsteil 12 in 1 entspricht, einem Linearoperationsteil 305, das der XOR-Schaltung 13 in 1 entspricht, und Vertauschungsteilen 306.
  • Ein Eingabedatenwert P, der einem Klartext entspricht, wird über ein Eingabeteil 301 in das Kryptographiegerät eingegeben. Der folgende Schlüsseldatenwert wird im voraus durch ein Erweiterte-Schlüssel-Erzeugungsteil 321 auf der Grundlage der darin von einem Schlüsseleingabeteil 320 eingegebenen und in einem Schlüsselspeicherteil 322 gespeicherten Daten erzeugt. {fk; k00, k10, k20; k01, k11, k21; ...; k0(n-1), k1(n-1), k2(n-1); ek}
  • Der eingegebene Klartextdatenwert P wird in einem schlüsselabhängigen anfänglichen Lineartransformationsteil 302 mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel fk transformiert und dann in einem anfänglichen Aufspaltungsteil 303 in zwei Stück Blockdaten L0 und R0 gespalten. Der Blockdatenwert R0 wird in das Nichtlinearfunktionsteil 304 des 0-ten Rundenverarbeitungsteiles 380 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel k00, k10 und k20 eingegeben, und in dem Nichtlinearfunktionsteil wird es in einen Datenwert Y0 transformiert. Der Datenwert Y0 und der Blockdatenwert L0 werden durch eine Operation in dem Linearoperationsteil in einen Datenwert L0* transformiert. Der Datenwert L0* und der Blockdatenwert R0 werden in dem Vertauschungsteil 306 einer Datenpositionsvertauschung unterzogen, um L1 = R0 und R1 = L0* zu erhalten; L1 und R1 werden dem nächsten Rundenverarbeitungsteil 381 zugeführt.
  • Anschließend wird in einem i-ten Rundenverarbeitungsteil 38; (i = 1, ..., n – 1) die gleiche Verarbeitung wie oben beschrieben für zwei Stück Blockdaten Li und Ri durchgeführt. Das heißt, in dem i-ten Rundenverarbeitungsteil 38i wird der Datenwert Ri, eines der zwei Stück Blockdaten Li und Ri, in das Nichtlinearfunktionsteil 304 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel k0i, k1i und k2i eingegeben, und in dem Nichtlinearfunktionsteil 304 wird es in einen Datenwert Yi transformiert. Der Datenwert Yi und der Blockdatenwert Li werden durch eine Operation in dem Linearoperationsteil 305 in einen Datenwert Li* transformiert. Der Datenwert Li* und der Datenwert Ri werden in dem Vertauschungsteil 306 zu Li+1 = Ri und Ri+1 = Li* positionsvertauscht. Das Linearoperationsteil 305 führt zum Beispiel eine Exklusiv-Oder-Operation aus. Wenn n einen Wiederholungszählwert angibt, der geeignet ist, um die Sicherheit des Verschlüsselungssys tems zu gewährleisten, werden zwei Stück Datenwerte Ln und Rn als. das Ergebnis einer solchen wiederholten Verarbeitung durch die Rundenverarbeitungsteile 380 bis 38n-1 erhalten. Diese Datenwerte Ln und Rn werden zu einem einzigen Stück Blockdaten in einem End-Kombinierteil 307 kombiniert; zum Beispiel werden zwei Stück 32-Bit-Daten Ln und Rn zu einem 64-Bit-Datenwert. Dann wird der so kombinierte Datenwert in einem schlüsselabhängigen abschließenden Lineartransformationsteil 308 unter Verwendung des in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssels ek transformiert, und der Ausgabedatenwert C wird als verschlüsselter Text von einem Ausgabeteil 309 bereitgestellt.
  • Zum Entschlüsseln muss die Verschlüsselungsprozedur lediglich umgekehrt werden, wodurch der Klartext P aus dem verschlüsselten Text C abgeleitet werden kann. Dies kann zum Beispiel erfolgen durch Eingeben von verschlüsselten Textdaten anstelle der Eingabedaten in 3 und dann Eingeben des erweiterten Schlüssels in einer zu derjenigen der 3 umgekehrten Reihenfolge, also ek, e0(n – 1), k1(n – 1), k2(n – 1), ..., k01, k21, k00, k10, k21, fk.
  • 4 zeigt die Funktionskonfiguration des in jedem Rundenverarbeitungsteil 38; verwendeten Nichtlinearfunktionsteiles 304. Der Blockdatenwert Ri für das i-te Rundenverarbeitungsteil 38i bildet Eingabedaten für das Nichtlinearfunktionsteil 304 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel k0i, k1i und k2i. Der Blockdatenwert Ri wird in einem schlüsselabhängigen Lineartransformationsteil 341 unter Verwendung des erweiterten Schlüssels k0i zum Datenwert Ri* transformiert. Der Datenwert Ri* wird beispielsweise in vier Stück 8-Bit-Daten in0, in1, in2, und in3 in einem Aufspaltungsteil 342 aufgespalten. Die vier Stück Daten in0, in1, in2, und in3 werden nichtlinear zu vier Stück Daten mid00, mid01, mid02 und mid0 3 in dem Nichtlineartransformationsteil 343, 344, 345 bzw. 346 transformiert, von wo sie in ein schlüsselabhängiges Lineartransformationsteil 347 eingegeben werden.
  • Das schlüsselabhängige Lineartransformationsteil 347 ist aufgebaut aus vier Verarbeitungswegen 300 bis 303 , von denen jeder wenigstens eine Exklusiv-Ooder-Schaltung enthält, wie in 5 abgebildet; diese Verarbeitungswege werden durch diese Exklusiv-Oder-Schaltungen logisch kombiniert. Jeder Verarbeitungsweg führt eine lineare Operation (eine Exklusiv-Oder-Operation) seiner eigenen Daten mit denen der anderen Verarbeitungswege aus, um in den jeweiligen Verarbeitungswegen homogenisierte Datenwerte zu erzeugen; in dem Beispiel der 5 werden sie weiter mit dem erweiterten Schlüssel k1i linear verarbeitet; das heißt, die Datenwerte mid00, mid01, mid02 und mid03 werden jeweils in die Verarbeitungswege 300 bis 303 eingegeben. Auf dem Verarbeitungsweg 301 werden die Eingabedatenwerte mid00 und mid01 durch ein XOR 311 exklusiv-oder-verknüpft, und auf dem Verarbeitungsweg 302 werden die Eingabedatenwerte mid02 und mid03 durch ein XOR 312 exklusiv-oder-verknüpft, und die Ausgaben von dem XOR 311 und dem XOR 312 werden durch ein XOR 322 exklusiv-oder-verknüpft. Die Ausgaben des XOR 311 und des XOR 322 werden durch ein XOR 331 exklusiv-oder-verknüpft, dann werden die Ausgabe des XOR 331 und der Eingabedatenwert mid00 durch ein XOR 340 exklusiv-oder-verknüpft, und die Ausgabe von XOR 322 und der Eingabedatenwert mid03 werden durch ein XOR 343 exklusiv-oder-verknüpft. Ferner werden die Ausgaben der XORs 340 , 341 , 342 , und 343 und der erweiterte Schlüssel k1i0, k1i1, k1i2 und k1i3 durch XORs 350 bis 353 exklusiv-oder-verknüpft, wodurch jeweils mid10, mid11, mid01 bzw. mid13 ausgegeben werden. Das heißt, die Eingabedaten mid00, mid01, mid02 und mid03 in die Verarbeitungswege 300 bis 303 werden miteinander verknüpft und dann Lineartransformationen unterzogen, die von den Schlüsseldaten k1i0, k1i1, k1i2 bzw. k1i3 abhängen. Kurz gesagt werden durch die folgenden logischen Ausdrücke gegebene logische Operationen ausgeführt: mid10 = mid00 ⨁ mid02 ⨁ mid03 k1i0 mid11 = mid02 ⨁ mid03 ⨁ k1i1 mid12 = mid00 ⨁ mid01 ⨁ mid02⨁ mid02⨁ k1i2 mid13 = mid00 ⨁ mid01 ⨁ mid02⨁ k1i3. (11)
  • Wie aus diesen Ausdrücken deutlich wird, enthält in diesem Beispiel die Ausgabe jedes Verarbeitungsweges des schlüsselabhängigen Lineartransformationsteiles 347 Eingabedaten von wenigstens zwei oder mehr anderen Wegen in Form von Exklusiv-Oder-Verknüpfungen, und entsprechend sind die Ausgabedaten jedes Weges so homogenisiert, dass sie zwei oder mehr Komponenten der vier Stück Eingabedaten enthalten.
  • Diese Eingabedatenwerte mid10, mid11, mid12 und mid13 werden zu entsprechenden Datenwerten out0, out1, out2 und out3 in Nichtlineartransformationsteilen 348, 349, 350 bzw. 351 nichtlinear transformiert, und die Datenwerte werden als Ausgabedaten der jeweiligen Verarbeitungswege einem Kombinierteil 352 bereitgestellt, wo sie zu einem einzigen Stück Blockdaten Y1* kombiniert werden. Das heißt, es werden vier Stück 8-Bit-Daten zu einem Stück 32-Bit-Daten kombiniert. Der Datenwert Y1* wird durch den erweiterten Schlüssel k2i in einem schlüsselabhängigen Lineartransformationsteil 353 zu einem Datenwert Y1 linear transformiert; so werden die Ausgabedaten Y1 des Nichtlinearfunktionsteiles 304 erzeugt. Die Nichtlineartransformationsteile 343 bis 346 und 348 bis 351 entsprechen beispielsweise der S-Box beim DES und sind jeweils beispielsweise durch ein ROM gebildet, dessen Ausgabedatenwert sich von dem darin eingegebenen Datenwert unterscheidet.
  • Die vier Nichtlineartransformationsteile 343 bis 346 sind parallel angeordnet, und ihre Transformationsprozesse sind nicht miteinander verknüpft, deshalb können sie parallel ausgeführt werden; dementsprechend kann eine Zunahme der Verarbeitungszeit vermieden werden durch Erhöhen der Zahl solcher Nichtlineartransformationsteile und Parallelverarbeitung. Das gleiche gilt für die Lineartransformationsteile 348 bis 351.
  • Die benötigte Zeit für die Verarbeitung in dem Linearoperationsteil 305 (3) und dem schlüsselabhängigen Lineartransformationsteil 341, 347 und 353 (4), die jedes Rundenverarbeitungsteil 38i bilden, ist deutlich kürzer als die Zeit, die benötigt wird, um die Verarbeitung der Nichtlineartransformationsteile 343 bis 345 und 348 bis 351 ähnlich der S-Box durchzuführen; deshalb ist die für die Verschlüsselungsverarbeitung erforderliche Zeit im Wesentlichen proportional zu der Zahl der verwendeten S-Boxen oder Nichtlineartransformationsteile. Da jedoch das schlüsselabhängige Lineartransformationsteil 347 mehrere Stück Eingabedaten in homogenisierte Ausgaben umsetzt, wie oben beschrieben, ist es möglich, eines oder mehre der Nichtlineartransformationsteile 348 bis 351 fortzulassen und die entsprechenden Stücke Daten in das Kombinierteil 352 einzugeben, wenn vorbekannt ist, dass das schlüsselabhängige Lineartransformationsteil 347 eine solche spezielle Lineartransformation wie oben mit Bezug auf 5 beschrieben durchführt. Dies kann geschehen, ohne die Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse zu verringern, und der Verarbeitungsaufwand für die Verschlüsselung kann um die Zahl der so fortgelassenen Nichtlineartransformationsteile verringert werden. Wenn zum Beispiel das schlüsselabhängige Lineartransformationsteil 347 wie in 5 gezeigt ist, bleibt die Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse selbst dann unverändert, wenn die Nichtlineartransformationsteile 349 und 350 weggelassen werden und die Datenstücke mid11 und mid12 intakt in das Kombinierteil 352 eingegeben werden, aber die Verschlüsselungsgeschwindigkeit nimmt um ca. 33% zu. Mit anderen Worten kann, wenn die Operation der schlüsselabhängigen Lineartransformationsteile 347 vorgegeben ist, das Vorhandensein eines oder mehrerer der Nichtlineartransformationsteile 348 bis 351 nichts mit der Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse zu tun haben, in welchem Falle sie fortgelassen werden können.
  • In 3 kann die Erzeugung des erweiterten Schlüssels {fk, k00, k10, k20; k01, k11, ...; k0(n-1), k1(n-1), k2(n-1); ek} durch das Erweitert-Schlüsselerzeugungsteil 321 in der gleichen Weise erfolgen wie in dem Erweitert-Schlüsselerzeugungsteil 16 für DES in 1.
  • Wenn das obige Kryptographiegerät so konstruiert ist, dass zum Beispiel die Nichtlineartransformationsteile 343 bis 346 und 348 bis 351 jeweils mit einer Wahrscheinlichkeit von pb = 2–6 durch die differentielle bzw. lineare Verschlüsselungsanalysetechnik approximiert werden, und jedes Rundenverarbeitungsteil 38i die nichtlineare Transformation zweimal durchführt, das heißt wenn es die Verarbeitung durch die Transformationsteile 343 bis 346 und die Verarbeitung durch die Transformationsteile 348 bis 351 im Tandem durchführt, wird jede Runde mit einer Wahrscheinlichkeit von pi ≤ 2–12 approximiert; wenn die Zahl n der Runden auf n = 3 m gesetzt wird, wird die Rundenverarbeitung des gesamten Kryptographiegerätes mit einer Wahrscheinlichkeit von P ≤ 2–24m approximiert. Wenn zum Beispiel m = 4 (Anzahl der Runden: 12) ist, wird die Wahrscheinlichkeit P ≤ 2–96, wodurch eine Sicherheitsbedingung P < 2–64 mit einer kleineren Zahl von Runden als den 16 Runden des DES erfüllt wird und ein Kryptographiegerät mit einem ausreichend hohen Niveau an Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse geschaffen wird. Das heißt, gemäß der vorliegenden Erfindung kann die Sicherheit gegen Verschlüsselungsanalyse erhöht werden, indem die Rundenfunktion 12 (1) konfiguriert wird, um die nichtlineare Transformation zweimal nacheinander durchzuführen.
  • Da das schlüsselabhängige anfängliche Lineartransformationsteil 302, das schlüsselabhängige abschließende Lineartransformationsteil 308 und die schlüsselabhängigen Lineartransformationsteile 347 und 353 Lineartransformationsteile sind, die von erweiterten Schlüsseln abhängig sind, bieten sie ausreichende Sicherheit gegen andere Verschlüsselungsanalyse genauso wie gegen differentielle und lineare Verschlüsselungsanalyse und gewährleisten so die Implementierung eines Kryptographiegerätes, das der Sicherheit höchste Bedeutung zubilligt.
  • Die vorliegende Erfindung ist nicht spezifisch auf diese Ausgestaltung beschränkt; zum Beispiel ist es möglich, wenn die Verschlüsselung beschleunigt werden soll, von dem schlüsselabhängigen anfänglichen Lineartransformationsteil 302, dem schlüsselabhängigen abschließenden Lineartransformationsteil 308 und dem schlüsselabhängigen Lineartransformationsteil 353 jedes beliebige oder alle fortzulassen, wie in der im Folgenden beschriebenen Ausgestaltung. In diesem Fall wird einerseits die Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse nicht verringert, andererseits kann jedoch die Verarbeitungsgeschwindigkeit der Verschlüsselung entsprechend der Zahl der fortgelassenen Operationen erhöht werden. Es besteht jedoch. die Befürchtung, dass eine geringere Sicherheit gegen andere Verschlüsselungsanalysen erreicht wird. Alternativ können von dem schlüsselabhängigen anfänglichen Lineartransformationsteil 302, dem schlüsselabhängigen abschließenden Lineartransformationsteil 308 und den schlüsselabhängigen Lineartransformationsteilen 347 und 353 jedes beliebige oder alle in schlüsselunabhängige Lineartransformationsteile abgewandelt werden. Dies verringert nicht die Sicherheit gegen andere Verschlüsselungsanalyse sowie gegen differentielle und lineare Verschlüsselungsanalyse und erlaubt es, die Verarbeitungsgeschwindigkeit der Verschlüsselung durch optimierte Implementierung zu erhöhen. Die Lineartransformationsteile führen jeweils eine Transposition durch Vertauschen von Bitpositionen von Eingabedaten in einer vorgegebenen Beziehung, eine Rotation der Eingabedaten um eine vorgegebene Zahl von Bits usw. aus. Die schlüsselabhängigen Lineartransformationsteile führen jeweils eine Rotation um die dem erweiterten Schlüssel entsprechende Zahl von Bits, eine Exklusiv-Oder-Verknüpfung der Eingabedaten und des erweiterten Schlüssels usw. aus.
  • AUSGESTALTUNG 2
  • 6 zeigt eine Ausgestaltung, welche die mittleren zwei der zweiten vier Nichtlineartransformationsteile 348 bis 351 in dem Nichtlinearfunktionsteil 304 (4) der in 3 gezeigten ersten Ausgestaltung fort lässt. In dieser Ausgestaltung sind auch das schlüsselabhängige anfängliche Lineartransformationsteil 302 und das schlüsselabhängige abschließende Lineartransformationsteil 308 fortgelassen.
  • Der einem Klartext äquivalente Eingabedatenwert P wird über das Eingabeteil 301 in das Kryptographiegerät eingegeben. Der Eingabedatenwert P wird in dem anfänglichen Aufspaltungsteil 303 in zwei Stück Blockdaten L0 und R0 aufgespalten. Der Blockdatenwert R0 wird in das Nichtlinearfunktionsteil 304 des nullten Rundenverarbeitungsteiles 380 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel k00 und k20 eingegeben und darin durch Transformationsverarbeitung in einen Datenwert Y0 transformiert. Der Datenwert Y0 und der Datenwert L0 werden durch eine Operation in dem Linearoperationsteil 305 in einen Datenwert L0* transformiert. Der Datenwert L0* und der Datenwert R0 werden in dem Vertauschungsteil 306 einer Datenpositionsvertauschung unterzogen, um L1 = R0 und R1 = L0* zu erhalten. Anschließend wird in dem i-ten Rundenverarbeitungsteil 38i (i = 1, ..., n – 1) die gleiche Verarbeitung wie oben beschrieben für die zwei Stück Daten Li und Ri durchgeführt. Das heißt, der Datenwert Ri, eines der zwei Stück Daten Li und Ri, wird in das Nichtlinearfunktionsteil 304 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel k0i und k2i eingegeben und in dem Nichtlinearfunktionsteil 304 in einen Datenwert Yi transformiert. Der Datenwert Yi und der Datenwert Li werden durch eine Operation in dem Linearoperationsteil 305 in einen Datenwert Li* transformiert. Der Datenwert Li* und der Datenwert Ri werden in dem Vertauschungsteil 306 für die Transformation zu Li+1 = Ri und Ri+1 = Li* positionsvertauscht.
  • Wenn n die zum Gewährleisten von Sicherheit des Verschlüsselungssystems geeignete Wiederholungszahl ist, werden zwei Stück Daten Ln und Rn durch solche n wiederholten Verarbeitungsrunden erhalten. Diese Stücke Daten Ln und Rn werden in dem abschließenden Kombinierteil 307 kombiniert, und die kombinierte Ausgabe wird dem Ausgabeteil 309 bereitgestellt, von wo der Ausgabedatenwert C als verschlüsselter Text ausgegeben wird.
  • Zum Entschlüsseln muss die Verschlüsselungsprozedur lediglich umgekehrt werden, wodurch der Klartext P aus dem verschlüsselten Text C abgeleitet werden kann.
  • 7A verdeutlicht die Funktionskonfiguration des Nichtlinearfunktionsteiles 304 des i-ten Rundenverarbeitungsteiles 38 i in 6. Der Datenwert Ri aus dem vorhergehenden Rundenverarbeitungsteil bildet Eingabedaten für das Nichtlinearfunktionsteil 304 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel k0i und k2i. Der Datenwert Ri wird in dem schlüsselabhängigen Lineartransformationsteil 341 unter Verwendung des erweiterten Schlüssels k0i in einen Datenwert Ri* transformiert. Dann wird der Datenwert Ri* in dem Aufspaltungsteil 342 in vier Stück Daten in0, in1, in2 und in3 aufgespalten. Die vier Stück Daten in0, in1, in2 und in3 werden in den Nichtlineartransformationsteilen 343, 344, 345 bzw. 346 nichtlinear zu vier Stücken Daten mid00, mid01, mid02 und mid03 transformiert und von dort aus in ein Lineartransformationsteil 354 eingegeben. In dem Lineartransformationsteil 354 werden die vier Stück Eingabedaten transformiert, so dass sie gegenseitig zwischen den vier Verarbeitungswegen 300 bis 303 verknüpft sind, wie in 7B abgebildet. Dies ist das gleiche Beispiel wie im Fall der Weglassung der logischen Operation mit dem erweiterten Schlüssel in 5 und kann durch die folgenden Ausdrücke geschrieben werden: mid10 = mid00 ⨁ mid02 ⨁ mid03 mid11 = mid02 ⨁ mid03 mid12 = mid00 ⨁ mid01 ⨁ mid02⨁ mid03 mid13 = mid00 ⨁ mid01 ⨁ mid02. (12)
  • Durch diese Lineartransformation werden homogenisierte Daten mid10, mid11, mid12 und mid13 erzeugt, und zwei Stück Daten mid10 und mid13 werden in dem Nichtlineartransformationsteilen 348 bzw. 351 zu Daten out0 und out3 transformiert, wonach die vier Stücke Daten out0, mid11, mid12 und out3 in dem Kombinierteil 352 zu einem einzigen Stück Daten Yi* kombiniert werden. Schließlich wird der Datenwert Yi* in dem schlüsselabhängigen Lineartransformationsteil 353 unter Verwendung des erweiterten Schlüssels k2i in den Datenwert Yi transformiert, wodurch der Ausgabedatenwert Yi des Nichtlinearfunktionsteiles 304 erzeugt wird.
  • Die Nichtlineartransformationsteile 343 bis 346 sind parallel angeordnet, und ihre Transformationsprozesse sind nicht miteinander verknüpft, deshalb können sie parallel ausgeführt werden. Das Gleiche gilt für die Nichtlineartransformationsteile 348 und 351. Da in dieser Ausgestaltung die Anzahl von zweiten nichtlinearen Transformationen in jedem Nichtlinearfunktionsteil 304 auf lediglich die äußeren zwei (348 und 351) reduziert ist, kann der Verarbeitungsaufwand für Verschlüsselung oder Entschlüsselung entsprechend verringert werden.
  • Dabei wird der erweiterte Schlüssel ki in dem Erweitert-Schlüsselerzeugungsteil 321 aus dem Geheimschlüssel „Key" erzeugt, der in das Kryptographiegerät über das Schlüsseleingabeteil 320 eingegeben und in dem Schlüsselspeicherteil 322 gespeichert ist.
  • Wenn bei dem obigen Kryptographiegerät zum Beispiel die Nichtlineartransformationsteile 343 bis 346, 348 und 351 ausgelegt sind, um eine angenäherte Darstellung mit der Wahrscheinlichkeit von pb = 2–6 gegen differentielle und lineare Verschlüsselungsanalyse zu bieten, kann jedes Rundenverarbeitungsteil eine angenäherte Darstellung mit der gleichen Wahrscheinlichkeit pi ≤ 2–12 wie in Ausgestaltung 1 liefern; wenn die Zahl n von Runden auf n = 3 m gesetzt wird, liefert das Kryptographiegerät eine approximierte Darstellung mit der Gesamtwahrscheinlichkeit von P ≤ 224m. Wenn zum Beispiel m = 4 (Rundenzahl : 12) ist, wird die Wahrscheinlich P ≤ 2–96, wodurch ein ausreichend hohes Niveau an Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse gewährleistet ist.
  • Außerdem bietet das Vorhandensein des schlüsselabhängigen Lineartransformationsteiles 353 eine Sicherheitsmarge gegen andere Verschlüsselungsanalyse als die differentielle und die lineare Verschlüsselungsanalyse, und die im Vergleich zu Ausgestaltung 1 vereinfachte Konzeption verringert den Verarbeitungsaufwand. Das heißt, das Verschlüsselungsgerät nach dieser Ausgestaltung billigt dem Ausgleich zwischen Sicherheit und verringertem Verarbeitungsaufwand hohes Gewicht zu.
  • AUSGESTALTUNG 3
  • 8 zeigt eine Ausgestaltung, die das schlüsselabhängige Lineartransformationsteil 353 in dem Nichtlinearfunktionsteil 304 der in 6 abgebildeten zweiten Ausgestaltung fortlässt. Der einem Klartext äquivalente Eingabedatenwert P wird über das Eingabeteil 301 in das Kryptographiegerät eingegeben. Der Eingabedatenwert P wird in dem anfänglichen Aufspaltungsteil 303 in zwei Stück Blockdaten L0 und R0 aufgespalten. Der Blockdatenwert R0 wird in das Nichtlinearfunktionsteil 304 des nullten Rundenverarbeitungsteiles 380 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel k0 eingegeben und darin durch Transformationsverarbeitung zu einem Datenwert Y0 transformiert. Der Datenwert Y0 und der Datenwert L0 werden durch eine Operation in dem Linearoperationsteil 305 zu einem Datenwert L0* transformiert. Der Datenwert L0* und der Datenwert R0 werden in dem Vertauschungsteil 306 für die Transformation zu L1 = R0 und R1 = L0* einer Datenpositionsvertauschung unterzogen. Anschließend wird in dem i-ten Rundenverarbeitungsteil 38i die gleiche Verarbeitung wie oben beschrieben für die zwei Stück Daten Li und Ri wiederholt. Das heißt, der Datenwert Ri, einer der zwei Stück Daten Li und Ri, wird in das Nichtlinearfunktionsteil 304 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel ki eingegeben und in dem Nichtlinearfunktionsteil 304 zu einem Datenwert Yi transformiert. Der Datenwert Yi und der Datenwert Li werden durch eine Operation in dem Linear operationsteil 305 zu einem Datenwert Li* transformiert. Der Datenwert Li* und der Datenwert Ri werden in dem Vertauschungsteil 306 für die Transformation zu Li+1 = Ri und Ri+1 = Li* positionsvertauscht, und zwei Stück Blockdaten Li+1 und Ri+1 werden ausgegeben.
  • Wenn n die Wiederholungszahl ist, die geeignet ist, um die Sicherheit des Kryptosystems zu gewährleisten, werden durch diese n-mal wiederholten Verarbeitungsrunden zwei Stück Daten Ln und Rn erhalten. Diese Stücke Daten Ln und Rn werden in dem abschließenden Kombinierteil 307 kombiniert, und die kombinierte Ausgabe wird dem Ausgabeteil 309 bereitgestellt, von wo der Ausgabedatenwert C als der verschlüsselte Text ausgegeben wird.
  • Der verschlüsselte Text C kann zu Klartext P entschlüsselt werden, indem die Verschlüsselungsprozedur in umgekehrter Richtung verfolgt wird.
  • 9 zeigt die Funktionskonfiguration des Nichtlinearfunktionsteiles 304 in 8. Der Datenwert Ri an das Nichtlinearfunktionsteil 304 wird dem schlüsselabhängigen Lineartransformationsteil 341 zusammen mit dem in dem Schlüsselspeicherteil 322 gespeicherten erweiterten Schlüssel ki zugeführt. Der Datenwert Ri wird in dem schlüsselabhängigen Lineartransformationsteil 341 unter Verwendung des erweiterten Schlüssels ki zu einem Datenwert Ri* linear transformiert. Dann wird der Datenwert Ri* in dem Aufspaltungsteil 342 in vier Stück Daten in0, in1, in2 und in3 aufgespalten. Die vier Stücke Daten in0, in1, in2 und in3 werden nichtlinear zu vier Stück Daten mid0, mid01, mid02 und mid03 in den Nichtlineartransformationsteilen 343. 344, 345 bzw. 346 transformiert, von wo sie in das Lineartransformationsteil 354 eingegeben werden. Das Lineartransformationsteil 354 transformiert sie linear zu den folgenden Stücken Daten mid0, mid01, mid02 und mid03, in der gleichen Weise, wie oben mit Bezug auf 7B in Ausgestaltung 2 beschrieben. mid10 = mid00 ⨁ mid02 ⨁ mid03 mid11 = mid02 ⨁ mid03 mid12 = mid00 ⨁ mid01 ⨁ mid02⨁ mid03 mid13 = mid00 ⨁ mid01 ⨁ mid02. (13)
  • Dann werden die zwei Stück Daten mid10 und mid13 in den Nichtlineartransformationsteilen 348 bzw. 351 nichtlinear zu Daten out0 und out3 transformiert, wonach die vier Stück Daten out0, mid11, mid12 und out13 in dem Kombinierteil 352 zu einem einzigen Stück Daten kombiniert werden, wodurch der Ausgabedatenwert Yi des Nichtlinearfunktionsteiles 304 erzeugt wird.
  • Die Nichtlineartransformationsteile 343 bis 346 sind parallel angeordnet, und ihre Transformationsprozesse sind nicht miteinander verknüpft, so dass sie parallel ausgeführt werden können. Das gleiche gilt für die Nichtlineartransformationsteile 348 und 351.
  • Der erweiterte Schlüssel ki ist ein Datenwert, der in dem Erweitert-Schlüsselerzeugungsteil 321 aus dem in das Kryptographiegerät über das Schlüsseleingabeteil 320 eingegebenen und in dem Schlüsselspeicherteil 322 gespeicherten Geheimschlüssel „key" transformiert wird.
  • Wenn zum Beispiel im Fall des obigen Kryptographiegerätes die Nichtlineartransformationsteile 343 bis 346, 348 und 351 konstruiert sind, um eine approximierte Darstellung mit der Wahrscheinlichkeit pb = 2–6 gegen die differentielle und die lineare Verschlüsselungsanalyse zu liefern, kann jedes Rundenverarbeitungsteil eine angenäherte Darstellung mit der Wahrscheinlichkeit pi ≤ 2–12 liefern; wenn die Zahl n der Runden auf n = 3 m gesetzt ist, liefert das Kryptographiegerät eine angenäherte Darstellung mit der Gesamtwahrscheinlichkeit P ≤ 2–24m. Wenn zum Beispiel m = 4 (die Anzahl der Runden: 12) ist, wird die Wahrscheinlichkeit p ≤ 2–96, wodurch ein ausreichend hohes Niveau an Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse gewährleistet ist. Da außerdem das Kryptographiegerät nach dieser Ausgestaltung eine Konfiguration hat, die die minimale Zahl von Teilen enthält, die erforderlich ist, um ein ausreichendes Niveau an Sicherheit gegen differentielle und lineare Verschlüsselungsanalyse zu erreichen, wird die Arbeitsbelastung reduziert und die Geschwindigkeit der Verschlüsselung bzw. Entschlüsselung wird entsprechend verbessert.
  • In dem oben Gesagten muss das Aufspaltungsteil 342 in dem Nichtlinearfunktionsteil 304 nicht immer die Eingabedaten in vier Teile aufspalten, sondern kann sie auch in eine beliebige Zahl von Stücken aufspalten. Im Falle des Aufspaltens der Daten in vier Stücke kann die Zahl von zweiten Nichtlineartransformationsteilen auf lediglich zwei reduziert werden, wie in 7A und 9 abgebildet.
  • In der nachfolgenden Tabelle sind im Vergleich mit dem Fall des DES der 1 und 2 das Sicherheitsniveau pro Runde, die Zahl der Runden, die die Sicherheitsanforderung erfüllt, und die Verarbeitungsleistung (die Anzahl von Schritten) angegeben, die dafür notwendig ist, im Fall der Verwendung von sechs Nichtlineartransformationsteilen (343 bis 346, 348, 351) in dem Nichtlinearfunktionsteil 304 (einer Rundenfunktion), das in der oben beschriebenen zweiten und dritten Ausgestaltung abgebildet ist. Im Vergleich haben die Ausgestaltungen der vorliegenden Erfindung insgesamt 32 Bit für die Daten an die Nichtlineartransformationsteile 343 bis 346, denen die S-Boxen des DES entsprechen, verwendet, und daher war der Datenwert für jedes Nichtlineartransformationsteil 8 Bit lang; deshalb wurde die Größe jeder S-Box auf 8 Bit gesetzt, und dementsprechend war die Zahl der S-Boxen vier.
  • Vergleichstabelle
    Figure 00160001
  • Wie aus dieser Tabelle zu sehen ist, ist die Anzahl von S-Boxen (die Anzahl von Nichtlineartransformationsteilen) pro Runde bei der vorliegenden Erfindung größer als beim DES, aber das Sicherheitsniveau pro Runde ist bei der vorliegenden Erfindung zweimal so gut wie das von DES. Unter diesem Gesichtspunkt ist die Anzahl von Runden, die benötigt wird, um die Sicherheitsanforderungen zu erfüllen, kleiner als im Fall von DES, und die Arbeitsbelastung (die Anzahl von Schritten), die notwendig ist, um die Sicherheit bereitzustellen, ist ebenfalls kleiner.
  • WIRKUNG DER ERFINDUNG
  • Wie oben im Detail beschrieben, werden gemäß der vorliegenden Erfindung die Eingabedaten in dem Nichtlinearfunktionsteil in mehrere Stücke von Daten aufgespalten, dann werden diese Stücke Daten in Verbindung zueinander nichtlinear und linear transformiert, und schließlich wird wenigstens ein Teil von solchen linear transformierten Daten nichtlinear transformiert, wodurch es möglich ist, ein hoch sicheres Kryptographiegerät zum Verbergen von Daten in der Datenkommunikation oder -speicherung bereitzustellen.

Claims (13)

  1. Kryptographiegerät zum Verschlüsseln von Eingabedaten durch sequentielles Verarbeiten derselben durch eine Mehrzahl von Rundenprozessen, mit: einem anfänglichen Aufspaltungsteil (303) zum Aufspalten der Eingabedaten in zwei Stück Blockdaten; einem Schlüsselspeicherteil (322) zum Speichern eines erweiterten Schlüssels; einer Mehrzahl von hintereinander geschalteten Rundenverarbeitungsteilen (380 38n-1 ), die mit den zwei Stück Blockdaten versorgt sind, um sie sequentiell jeweils unter Verwendung abgespaltener Stücke des erweiterten Schlüssels zu verarbeiten; und einem abschließenden Kombinierteil (307) zum Kombinieren von zwei Stück von aus dem letzten der mehreren hintereinander geschalteten Rundenverarbeitungsteile ausgegebenen Blockdaten zu einem einzigen Stück Daten und zum Ausgaben dieses einzigen Stücks Daten; wobei jedes aus der Mehrzahl der Rundenverarbeitungsteile (380 38n-1 ) umfasst: ein Nichtlinearfunktionsteil (304) zum Transformieren eines der zwei Stück von in das jeweilige Rundenverarbeitungsteil von der vorhergehenden Stufe eingegebenen Eingabeblockdaten durch Verwendung eines entsprechenden der abgespaltenen Stücke des erweiterten Schlüssels; ein Linearoperationsteil (305) zum linearen Verarbeiten der Ausgabedaten aus dem Nichtlinearfunktionsteil (304) und des jeweils anderen der zwei Stück Eingabeblockdaten; und ein Vertauschungsteil (306) zum Vertauschen der Ausgabedaten aus dem Linearoperationsteil (305) und des Stücks Eingabeblockdaten für das Nichtlinearfunktionsteil (304) und Bereitstellen der zwei Stück vertauschter Daten als zwei Stück Eingabeblockdaten für das Rundenverarbeitungsteil der nachfolgenden Stufe; wobei das Nichtlinearfunktionsteil (304) umfasst: ein erstes Lineartransformationsteil (341) zum linearen Transformieren des jeweiligen einen Stückes Eingabeblockdaten durch Verwendung des entsprechenden unter den abgespaltenen Stücken des erweiterten Schlüssels, um so erste transformierte Daten zu erzeugen; ein Aufspaltungsteil (342) zum Aufspalten der ersten transformierten Daten in eine Mehrzahl von Bit-Ketten; eine Mehrzahl von ersten Nichtlineartransformationsteilen (343 bis 346) zum nichtlinearen Transformieren aller dieser Bit-Ketten und zum Ausgeben von entsprechenden Stücken zweiter transformierter Daten; ein zweites Lineartransformationsteil (347) zum linearen Transformieren der Stücke von zweiten transformierten Daten in Verknüpfung miteinander, so dass das Stück zweite transformierte Daten aus jedem der ersten Nichtlineartransformationsteile (343 bis 346) durch das Stück zweite transformierte Daten aus wenigstens einem anderen der ersten Nichtlineartransformationsteile beeinflusst wird, und Ausgeben der resultierenden Daten als eine Mehrzahl von Stücken homogenisierter Daten an eine Mehrzahl von Wegen; ein zweites Nichtlineartransformationsteil (348 bis 351), das in wenigstens einem der Mehrzahl von Wegen vorgesehen ist, zum nichtlinearen Transformieren des entsprechenden Stücks homogenisierter Daten in dritte transformierte Daten und zum Ausgeben der dritten transformierten Daten als Daten dieses Weges; ein Kombinierteil (352), das eingerichtet ist, um Daten von der Mehrzahl von Wegen zu Ausgabedaten des Nichtlinearfunktionsteiles zu kombinieren.
  2. Gerät nach Anspruch 1, bei dem das zweite Lineartransformationsteil (347) ein schlüsselabhängiges Linearoperationsteil umfasst, das angepasst ist, um die Mehrzahl von Stücken homogenisierter Daten unter Verwendung eines entsprechenden der abgespaltenen Stücke des erweiterten Schlüssels linear zu transformieren und die Mehrzahl transformierter Daten als Daten der Mehrzahl von Wegen auszugeben.
  3. Gerät nach Anspruch 1 oder 2, bei dem ein drittes Lineartransformationsteil (353) zum linearen Transformieren der Ausgabedaten aus dem Kombinierteil (352) zum Bereitstellen der Ausgabedaten des Nichtlinearfunktionsteiles (304) vorgesehen ist.
  4. Gerät nach Anspruch 3, bei dem das dritte Lineartransformationsteil (353) eingerichtet ist, eine lineare Transformation unter Verwendung eines entsprechenden der abgespaltenen Stücke des erweiterten Schlüssels auszuführen.
  5. Gerät nach einem der Ansprüche 1 bis 4, bei dem das zweite Lineartransformationsteil (347) wenigstens eine Exklusiv-Oder-Schaltung (311 , 312 , 322 , 331 , 343 ) umfasst, die in jedem der Mehrzahl von Wegen vorgesehen ist, um als die homogenisierte Daten an den jeweiligen Weg die Exklusiv-Oder-Verknüpfung von Datens des jeweiligen Weges und von Daten anderer Wege auszugeben.
  6. Gerät nach einem der Ansprüche 1 bis 5, bei dem ein anfängliches Lineartransformationsteil (302) zum linearen Transformieren der Eingabedaten und zur Lieferung der transformierten Eingabedaten an das anfängliche Aufspaltungsteil (303) vorgesehen ist.
  7. Gerät nach Anspruch 6, bei dem das anfängliche Lineartransformationsteil (303) eingerichtet ist, eine Lineartransformation der Eingabedaten unter Verwendung eines entsprechenden der abgespaltenen Stücke des erweiterten Schlüssels durchzuführen.
  8. Gerät nach einem der Ansprüche 1 bis 7, bei dem ein abschließendes Lineartransformationsteil (308) zum linearen Transformieren der Ausgabedaten des abschließenden Kombinierteiles (307) vorgesehen ist, um die transformierten Ausgabedaten als die Ausgabe des Kryptographiegerätes bereitzustellen.
  9. Gerät nach Anspruch 8, bei der das abschließende Lineartransformationsteil (308) eingerichtet ist, eine lineare Transformation der Ausgabedaten unter Verwendung eines entsprechenden der abgespaltenen Stücke des erweiterten Schlüssels auszuführen.
  10. Gerät nach einem der Ansprüche 1 bis 9, bei dem die Mehrzahl von Wegen ein erster, zweiter, dritter und vierter Weg (300 bis 303 ), angeordnet in dieser Reihenfolge, ist.
  11. Gerät nach Anspruch 10, bei dem das zweite Nichtlineartransformationsteil (348 bis 351) in jedem der vier Wege vorgesehen ist.
  12. Gerät nach Anspruch 10, bei dem das zweite Nichtlineartransformationsteil (348351) in dem ersten und in dem vierten Weg vorgesehen ist.
  13. Gerät nach Anspruch 12, bei der das zweite Lineartransformationsteil (347) umfasst: vier Wege (300 bis 303 ), jeweils zum Empfangen eines der Stücke von zweiten transformierten Daten (mid00 – mid03); eine erste Exklusiv-Oder-Schaltung (31,), die in dem zweiten Weg vorgesehen ist, zum Ausführen der Exklusiv-Oder-Verknüpfung zwischen den durch den ersten Weg empfangenen Daten (mid00) und den durch den zweiten Weg empfangenen Daten (mid01); eine zweite Exklusiv-Oder-Schaltung (312 ), die in dem dritten Weg (302 ) vorgesehen ist, zum Ausführen der Exklusiv-Oder-Verknüpfung zwischen den durch den vierten Weg empfangenen Daten (mid03) und den durch den dritten Weg empfangenen Daten (mid02); eine dritte Exklusiv-Oder-Schaltung (322 ), die in dem dritten Weg vorgesehen ist, zum Ausführen der Exklusiv-Oder-Verknüpfung zwischen der Ausgabe der zweiten Exklusiv-Oder-Schaltung (312 ) und der Ausgabe der ersten Exklusiv-Oder-Schaltung (311 ); eine vierte Exklusiv-Oder-Schaltung (331 ), die in dem zweiten Weg vorgesehen ist, zum Ausführen der Exklusiv-Oder-Verknüpfung zwischen der Ausgabe der ersten Exklusiv-Oder-Schaltung (311 ) und der Ausgabe der dritten Exklusiv-Oder-Schaltung (322 ); eine fünfte Exklusiv-Oder-Schaltung (340 ), die in dem ersten Weg vorgesehen ist, zum Ausführen der Exklusiv-Oder-Verknüpfung zwischen den durch den ersten Weg empfangenen Daten (mid00) und der Ausgabe der vierten Exklusiv-Oder-Schaltung (331 ); und eine sechste Exklusiv-Oder-Schaltung (343 ), die in dem vierten Weg vorgesehen ist, zum Ausführen der Exklusiv-Oder-Verknüpfung zwischen den durch den vierten Weg empfangenen Daten (mid03) und der Ausgabe der dritten Exklusiv-Oder-Schaltung (322 ).
DE69829566T 1997-06-30 1998-06-30 Verschlüsselungsgerät Expired - Fee Related DE69829566T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP17367297 1997-06-30
JP17367297A JP3782210B2 (ja) 1997-06-30 1997-06-30 暗号装置
PCT/JP1998/002915 WO1999000783A1 (fr) 1997-06-30 1998-06-30 Dispositif de chiffrement

Publications (2)

Publication Number Publication Date
DE69829566D1 DE69829566D1 (de) 2005-05-04
DE69829566T2 true DE69829566T2 (de) 2006-02-16

Family

ID=15964969

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69829566T Expired - Fee Related DE69829566T2 (de) 1997-06-30 1998-06-30 Verschlüsselungsgerät

Country Status (5)

Country Link
EP (1) EP1001398B1 (de)
JP (1) JP3782210B2 (de)
CA (1) CA2295167C (de)
DE (1) DE69829566T2 (de)
WO (1) WO1999000783A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2789535B1 (fr) * 1999-02-04 2001-09-28 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique
KR100365308B1 (ko) * 1999-12-10 2002-12-26 강소대 마그네틱 페이퍼 제작방법
JP3505482B2 (ja) * 2000-07-12 2004-03-08 株式会社東芝 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体
US6956951B2 (en) * 2000-07-13 2005-10-18 Fujitsu Limited Extended key preparing apparatus, extended key preparing method, recording medium and computer program
JP4515716B2 (ja) * 2002-04-03 2010-08-04 パナソニック株式会社 拡大鍵生成装置、暗号化装置および暗号化システム
JP2008058830A (ja) * 2006-09-01 2008-03-13 Sony Corp データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3039334B2 (ja) * 1995-08-14 2000-05-08 日本電気株式会社 暗号装置
CA2203380C (en) * 1995-09-05 2000-05-30 Mitsuru Matsui Data transformation apparatus and data transformation method
IL119182A (en) * 1996-09-02 2000-06-29 Goodman Geoffrey Filter

Also Published As

Publication number Publication date
CA2295167A1 (en) 1999-01-07
EP1001398B1 (de) 2005-03-30
WO1999000783A1 (fr) 1999-01-07
EP1001398A4 (de) 2002-01-30
JPH1124559A (ja) 1999-01-29
CA2295167C (en) 2003-02-04
EP1001398A1 (de) 2000-05-17
DE69829566D1 (de) 2005-05-04
JP3782210B2 (ja) 2006-06-07

Similar Documents

Publication Publication Date Title
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
DE102005012098B4 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE69721439T2 (de) Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels
EP3218893B1 (de) Gehärtete white box implementierung
DE69936024T2 (de) Vorrichtung zur Verschlüsselung/Entschlüsselung
DE69916160T2 (de) Vorrichtung und Verfahren zur kryptographischen Verarbeitung sowie Aufzeichnungsmedium zum Aufzeichnen eines kryptographischen Verarbeitungsprogramms zur Ausführung einer schnellen kryptographischen Verarbeitung ohne Preisgabe der Sicherheit
DE602005002632T2 (de) Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
DE69932740T2 (de) Verfahren und vorrichtung zur kryptographischen datenverarbeitung
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE60221850T2 (de) Verfahren und vorrichtung zur datenverschlüsselung
DE69911815T2 (de) Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren
EP3304802B1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE60301750T2 (de) Vorrichtung zur Erzeugung eines erweiterten Schlüssels, Verschlüsselungsvorrichtung und Verschlüsselungssystem
EP0923826B1 (de) Anordnung und verfahren zur kryptographischen bearbeitung eines digitalen datenstroms, der eine beliebige anzahl von daten aufweist
DE69829566T2 (de) Verschlüsselungsgerät
DE10324422B4 (de) Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert
DE60022974T2 (de) Vorrichtung zur Ausführung eines Blockverschlüsselungsalgorithmus mit Wiederholungsrunden
DE69733424T2 (de) Datendekorrelationsverfahren
EP3369205B1 (de) Alternative darstellung des krypto-algorithmus des
DE10352680A1 (de) Verschlüsselungsvorrichtung und Verschlüsselungsverfahren
AT519476B1 (de) Verfahren zur Erstellung und Verteilung von kryptographischen Schlüsseln
DE102004010666B4 (de) Schlüsselbitstromerzeugung
DE19740333C2 (de) Verfahren zur Übertragung von verschlüsselten Nachrichten
DE102022004632B3 (de) Verfahren zur Verschlüsselung eines Klartextes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee