DE60024739T2 - Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium - Google Patents

Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium Download PDF

Info

Publication number
DE60024739T2
DE60024739T2 DE60024739T DE60024739T DE60024739T2 DE 60024739 T2 DE60024739 T2 DE 60024739T2 DE 60024739 T DE60024739 T DE 60024739T DE 60024739 T DE60024739 T DE 60024739T DE 60024739 T2 DE60024739 T2 DE 60024739T2
Authority
DE
Germany
Prior art keywords
key
bits
extension
program code
input
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
DE60024739T
Other languages
English (en)
Other versions
DE60024739D1 (de
Inventor
Motoji Hirakata-shi Oomori
Kaoru Ashiya-shi Yokota
Tsutomu Hirakata-shi Sekibe
Makoto Takarazuka-shi Tatebayashi
Fumihiko 1-1 Shibaura 1-chome Sano
Shinichi 1-1 Shibaura 1-chome Kawamura
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.)
Toshiba Corp
Panasonic Corp
Original Assignee
Toshiba Corp
Matsushita Electric Industrial Co Ltd
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 Toshiba Corp, Matsushita Electric Industrial Co Ltd filed Critical Toshiba Corp
Publication of DE60024739D1 publication Critical patent/DE60024739D1/de
Application granted granted Critical
Publication of DE60024739T2 publication Critical patent/DE60024739T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Description

  • Die vorliegende Erfindung bezieht sich auf einen Generator für erweiterte Schlüssel, eine Verschlüsselungs/Entschlüsselungseinheit und ein Speichermedium, die auf geheime Schlüsselblockchiffren angewendet werden.
  • Auf dem Gebiet neuerer Computer- und Kommunikationstechnologien überwiegt eine Kryptographietechnologie zur Übertragung verschlüsselter Übertragungsdaten und Wiederherstellen der empfangenen Inhalte durch Entschlüsseln der empfangenen Daten. Bei solch einer Verschlüsselungstechnologie wird ein kryptographischer Algorithmus, der einen geheimen Schlüssel (der nachfolgend als gemeinsamer Schlüssel bezeichnet wird) sowohl bei der Verschlüsselung als auch bei der Entschlüsselung verwendet, eine gemeinsame Schlüsselchiffre genannt. Bei der gemeinsamen Schlüsselchiffre wird eine Eingabenachricht in Eingabeblöcke segmentiert, die alle eine feststehende Länge haben, und die segmentierten Blöcke erfahren eine Randomisierung basierend auf einen Schüssel, um chiffrierten Text zu erzeugen. Als solche gemeinsame Schlüsselchiffre wird überwiegend ein beispielsweise DES (Data Encryption Standard, Datenverschlüsselungsstandard) genanntes Schema verwendet.
  • Bei auf DES basierender Verschlüsselung, wie in 1A gezeigt, durchlaufen über anfängliche Permutations-IP von Klartext erhaltene Daten 16 Prozesse unter Verwendung von Rundungsfunktionen. Darüber hinaus durchlaufen die Daten, die 16 Runden durchlaufen haben, eine inverse Permutation IP–1 der Anfangspermutation, wodurch Chiffrentext erhalten wird. Andererseits wird, indem jeder Rundungsfunktion ein aus dem Originalschlüssel erzeugter erweiterter Schlüssel gegeben wird, ein Prozess in dieser Rundungsfunktion ausgeführt.
  • Das heißt, ein auf DES basierender Verschlüsselungsapparat hat als Hauptaufbaukomponenten einen Datenrandomisierungsteil zum Randomisieren von zu verschlüsselnden Daten unter Verwendung einer großen Zahl von Rundungsfunktionen und einen Schlüsselgenerator, um jeder Rundungsfunktion des Datenrandomisierungsteils einen erweiterter Schlüssel zu geben. Man beachte, dass der konventionelle Schlüsselgenerator einen Schlüssel durch Rearrangieren von Bits unter Verwendung einer Tabelle oder von Verdrahtungsleitungen erzeugt, wobei er denselben Schlüssel wie derjenige der Datenverschlüsselungseinheit verwendet oder aus Schlüsselbits zufällig extrahiert.
  • Bei auf DES basierender Entschlüsselung, wie in 1B gezeigt, durchlaufen zu entschlüsselnde Daten 16 Runden in einer Reihenfolge, die zu derjenigen bei der Verschlüsselung umgekehrt ist. Also erzeugt ein Schlüsselgenerator erweiterte Schlüssel der Reihe nach aus einem Schlüssel, der bei der letzten Rundungsfunktion beim Verschlüsseln verwendet wurde.
  • Der erste Vorteil bei DES liegt in der Anordnung der Verschlüsselungs- und Entschlüsselungsschaltungen; sie können die meisten Komponenten teilen. Das heißt, wie in 1A und 1B gezeigt, wird eine identische Schaltung für die Rundungsfunktionen des Datenrandomisierungsteils verwendet, obwohl die Eingangsreihenfolge von erweiterten Schlüsseln beim Verschlüsseln und Entschlüsseln umgekehrt wird.
  • Der zweite Vorteil von DES ist die kleine Anzahl von zu verwaltenden Schlüsseln, da Verschlüsselung und Entschlüsselung unter Verwendung eines einzelnen gemeinsamen Schlüssels vorgenommen werden. Bei DES führt, um erweiterte Schlüssel in normaler und umgekehrter Reihenfolge auf Basis eines einzigen gemeinsamen Schlüssels zu erzeugen, der Schlüsselgenerator die folgenden Prozesse aus.
  • Das heißt, ein gemeinsamer Schlüssel durchläuft eine linke Rotationsverschiebung (Linksrotation), um jeden erweiterten Schlüssel zu erzeugen. Man beachte, dass der Gesamtwert der Rotationsbeträge so definiert ist, dass sie zu der Anzahl von Bits des gemeinsamen Schlüssels passen und schließlich ein Zwischenschlüssel in einen Ausgangszustand (gemeinsamer Schlüssel) zurückgeführt wird. Auf diese Weise kann der letzte erweiterte Schlüssel bei Verschlüsselung so erzeugt werden, dass er denselben Wert wie derjenige des ersten erweiterten Schlüssels bei Entschlüsselung aufweist. Beim Entschlüsseln durchläuft ein gemeinsamer Schlüssel eine Rechtsrotationsverschiebung (Rechtsrotation), um den erweiterten Schlüssel in umgekehrter Reihenfolge zu erzeugen.
  • Da jedoch die Prozesse des Schlüsselgenerators nur durch Permutationsprozesse bei DES implementiert werden, sind allgemein schwache Schlüssel genannte Schlüssel vorhanden, die eine niedrige Sicherheit haben. Man beachte, dass die schwachen Schlüssel erweiterte Schlüssel bedeuten, die identische Werte haben, und einen Fall enthalten, bei dem alle erweiterten Schlüssel K1 bis K16 einander gleich sind (K1 = K2 = ... K16) und einen Fall, bei dem die Hälfte der erweiterten Schlüssel K1 bis K8 und K9 bis K16 jeweils einander gleich sind (K1 = K16, K2 = K15, ..., K8 = K9).
  • Jedoch stellt die Erzeugung solcher schwacher Schlüssel keine Bedrohung das, sondern kann durch Hinzufügen einer Vorrichtung zum Entfernen der Eingabe eines gemeinsamen Schlüssels mit einem Muster zum Erzeugen schwacher Schlüssel an einen erweiterten Schlüsselgenerator hinreichend verhindert werden oder durch Hinzufügen, zu einem Chiffre-Erzeugungsapparat, einer Vorrichtung, um zu bestimmen, ob erzeugte erweiterte Schlüssel schwache Schlüssel sind oder nicht, und um sie zu entfernen, falls sie schwache Schlüssel sind.
  • Wenn jedoch eine solche Vorrichtung, welche die Erzeugung schwacher Schlüssel verhindert, hinzugefügt wird, steigen die Preise des erweiterten Schlüsselgenerators und der Verschlüsselungs/Entschlüsselungseinheit und es wachsen auch ihre Schaltungsmaßstäbe.
  • Zusätzlich zu DES ist ein Kryptosystem verlangt worden, das kryptologische Robustheit bei Verwendung verschiedener erweiterter Schlüssel in Einheiten von Rundungsfunktionen durch Verhindern der Erzeugung von schwachen Schlüsseln anbieten kann und die kryptologische Robustheit verbessern kann.
  • Wie oben beschrieben, steigen bei dem konventionellen erweiterten Schlüsselgenerator und der Verschlüsselungs/Entschlüsselungseinheit, wenn eine Vorrichtung, welche die Erzeugung schwacher Schlüssel verhindert, hinzugefügt wird, um die niedrige Sicherheit zu vermeiden, die Preise des erweiterten Schlüsselgenerators und der Verschlüsselungs/Entschlüsselungseinheit und es steigen auch ihre Schaltungsmaßstäbe.
  • Selbst wenn die Erzeugung von schwachen Schlüsseln verhindert wird, tragen Prozesse im Schlüsselgenerator nicht zur Verbesserung der kryptologischen Robustheit bei, und es wird eine Verbesserung der kryptologischen Robustheit verlangt.
  • Die vorliegende Erfindung ist im Hinblick auf die obige Situation gemacht worden und hat als ihre Aufgabe die Bereitstellung eines erweiterten Schlüsselgenerators, einer Verschlüsselungs/Entschlüsselungseinheit, eines erweiterten Schlüsselerzeugungsverfahrens und eines Speichermittels, welches die Zufälligkeit von erweiterten Schlüsseln verbessern kann, während ein Anwachsen des Vorrichtungspreises und des Schaltungsmaßstabs unterdrückt wird und die Erzeugung von schwachen Schlüsseln verhindert wird und welches die kryptologische Robustheit verbessern kann.
  • Die Veröffentlichung "Applied Cryptography", Zweite Ausgabe, 1996, von Atherine Schowalter, USA XP002204408 offenbart (13.5, S. 310) eine Mehrzahl von in Kaskade verbundenen Schlüsselumwandlungsvorrichtungen, die (13.6) ein Exklusiv-ODER-Element zum Berechnen eines Exclusiv-ODER einer Konstante umfassen, die für jede der Schlüsseltransformationsvorrichtungen bestimmt ist und ein aus dem Eingangsschlüssel erhaltener erster Schlüssel; und einer nicht-linearen Transformationseinheit zum nichtlinearen Umwandeln einer Ausgabe vom Exklusiv-ODER-Element unter Verwendung einer vorgegebenen Substitutionstabelle.
  • Gemäß dem ersten Aspekt der vorliegenden Erfindung wird eine Verschlüsselungsvorrichtung bereitgestellt, die eine Erweiterungsschlüsselerzeugungsvorrichtung umfasst, welche Erweiterungsschlüssel basierend auf Eingabeschlüsseln erzeugt, wobei die Vorrichtung eine Mehrzahl von in Kaskade verbundenen Schlüsselumwandlungsvorrichtungen umfasst, dadurch gekennzeichnet, dass jede Schlüsselumwandlungsvorrichtung umfasst:
    ein Exklusiv-ODER-Element zum Berechnen eines Exklusiv-ODER einer Konstanten, die für jede der Schlüsselumwandlungsvorrichtungen bestimmt wird, und eines aus dem Eingabeschlüssel erhaltenen ersten Schlüssels;
    eine nicht-lineare Umwandlungseinheit zum nicht-linearen Umwandeln einer Ausgabe vom Exklusiv-ODER-Element unter Verwendung einer vorbestimmten Substitutionstabelle;
    eine Erweiterungseinheit zum Durchführen einer Erweiterungsverarbeitung an der Ausgabe aus der nichtlinearen Umwandlungseinheit; und
    eine Erweiterungsschlüsselberechnungseinheit zum Berechnen des Erweiterungsschlüssels, basierend auf der Ausgabe von der Erweiterungseinheit und einem zweiten, aus dem Eingangsschlüssel erhaltenen Schlüssel.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein Erweiterungsschlüsselerzeugungsverfahren bereitgestellt, welches Erweiterungsschlüssel basierend auf Eingabeschlüsseln unter Verwendung einer Mehrzahl von in Kaskade verbundenen Schlüsselumwandlungsvorrichtungen erzeugt, dadurch gekennzeichnet, dass jede der Schlüsselumwandlungsvorrichtungen die Erweiterungsschlüssel durch ein Verfahren erzeugt, welches die Schritte umfasst:
    Berechnen eines Exklusiv-ODER einer Konstanten, die für jede der Schlüsselumwandlungsvorrichtungen bestimmt wird, und eines aus dem Eingabeschlüssel erhaltenen ersten Schlüssels;
    nicht-lineares Umwandeln des Ergebnisses des Exklusiv-ODER unter Verwendung einer vorgegebenen Substitutionstabelle;
    Durchführen einer Erweiterungsverarbeitung am Ergebnis der nicht-linearen Umwandlung; und
    Berechnen des Erweiterungsschlüssels basierend auf dem Ergebnis der Erweiterungsverarbeitung und eines aus dem Eingabeschlüssel erhaltenen zweiten Schlüssels.
  • Somit führt gemäß der vorliegenden Erfindung in jedem Schlüsselumwandlungsfunktionsabschnitt das erste Schlüsselumwandlungsmittel einen Umwandlungsprozess unter Verwendung einer vorgegebenen Substitutionstabelle auf Basis des aus einem Eingabeschlüssel erhaltenen ersten Schlüssels aus und berechnet das erweiterte Schüsselberechnungsmittel einen erweiterten Schlüssel auf Basis des umgewandelten Ergebnisses des ersten Schlüsselumwandlungsmittels und eines aus dem Eingabeschlüssel erhaltenen zweiten Schlüssels.
  • Auf diese Weise kann, da eine einfache Anordnung ohne Hinzufügen jeglicher externer Vorrichtung verwendet wird und ein nicht-linearer Umwandlungsprozess unter Verwendung einer Substitutionstabelle beim Erzeugen jedes erweiterten Schlüssels vorgenommen wird, der Vorrichtungspreis und der Maßstab klein gehalten werden und die Zufälligkeit von erweiterten Schlüsseln kann verbessert werden, während die Erzeugung schwacher Schlüssel verhindert wird, womit die kryptologische Robustheit verbessert wird.
  • Darüber hinaus weist ein Datenrandomisierungsteil eine Mehrzahl von Substitutionstabellen für Verschlüsselung und Entschlüsselung auf und eine der Substitutionstabellen des Datenrandomisierungsteils ist mit jenen des ersten Schlüsselumwandlungsmittels gemein, wodurch der Schaltungsmaßstab der Vorrichtung reduziert wird.
  • So kann eine bevorzugte Ausführungsform der Erfindung einen erweiterten Schlüsselgenerator, eine Verschlüsselungs/Entschlüsselungseinheit, ein erweitertes Schlüsselerzeugungsverfahren und ein Speichermedium bereitstellen, das die Zufälligkeit erweiteter Schlüssel verbessern kann, während ein Anwachsen des Vorrichtungspreises und des Schaltungsmaßstabes unterdrückt und die Erzeugung schwacher Schlüssel verhindert werden kann, und das die kryptologische Robustheit verbessern kann.
  • Diese Zusammenfassung der Erfindung beschreibt nicht notwendigerweise alle notwendigen Merkmale, so dass die Erfindung auch eine Unterkombination dieser beschriebenen Merkmale sein kann.
  • Die Erfindung kann aus der nachfolgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen besser verstanden werden, wobei:
  • 1A und 1B Blockdiagramme zum Erläutern von DES als ein Beispiel eines konventionellen gemeinsamen Schlüsselschiffre sind;
  • 2 ein Blockdiagramm ist, welches die Anordnung einer Verschlüsselungs-/Entschlüsselungseinheit gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • 3 ein Blockdiagramm ist, welches die Anordnung eines erweiterten Schlüsselgenerators bei der Verschlüsselungs-/Entschlüsselungseinheit der ersten Ausführungsform zeigt;
  • 4A und 4B Ansichten zum Erläutern der Einstellwerte von Konstantenregistern in der ersten Ausführungsform sind;
  • 5 eine Ansicht zum Erläutern der Konfiguration einer S-Box in der ersten Ausführungsform ist;
  • 6 eine Ansicht zum Erläutern der Einstellungen eines Rotationsschiebers in der ersten Ausführungsform ist;
  • 7 ein Blockdiagramm ist, welches die Struktur einer Rundungsfunktion in der ersten Ausführungsform zeigt;
  • 8 ein Flussdiagramm ist, welches den Betrieb der Verschlüsselungs-/Entschlüsselungseinheit zeigt;
  • 9 ein Diagramm zum Erläutern des Betriebs der ersten Ausführungsform ist;
  • 10 ein Blockdiagramm ist, welches die Anordnung einer Schlüsselumwandlungsfunktion zeigt, die auf einen erweiterten Schlüsselgenerator gemäß der zweiten Ausführungsform der vorliegenden Erfindung angewendet wird;
  • 11 ein Blockdiagramm ist, welches die Anordnung eines erweiterten Schlüsselgenerators gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt;
  • 12 eine Ansicht zum Erläutern der Einstellungen des Substitutionsteils in der dritten Ausführungsform ist;
  • 13 ein Flussdiagramm ist, welches den Betrieb der in 11 gezeigten Ausführungsform zeigt;
  • 14 ein Funktionsblockdiagramm ist, welches die Anordnung einer Smartcard zeigt, die den erweiterten Schlüsselgenerator, die Verschlüsselungs-/Entschlüsselungseinheit und ein Speichermedium der vorliegenden Erfindung verkörpert;
  • 15 ein Diagramm zum Erläutern einer Verschlüsselungs-/Entschlüsselungseinheit gemäß der vierten Ausführungsform der vorliegenden Erfindung ist;
  • 16 ein Diagramm zum Erläutern einer Modifikation der vierten Ausführungsform ist;
  • 17 ein Diagramm zum Erläutern einer anderen Modifikation der vierten Ausführungsform ist; und
  • 18A und 18B Diagramme zum Erläutern von Modifikationen der vierten Ausführungsform sind.
  • Die bevorzugten Ausführungsformen der vorliegenden Erfindung werden nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • (Erste Ausführungsform)
  • 2 ist ein Blockdiagramm, welches die Anordnung einer Verschlüsselungs-/Entschlüsselungseinheit gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt und 3 ist ein Blockdiagramm, welches die Anordnung eines erweiterten Schlüsselgenerators in der in 2 gezeigten Verschlüsselungs-/Entschlüsselungseinheit zeigt.
  • Diese Verschlüsselungs-/Entschlüsselungseinheit wird als ein Verschlüsselungs-/Entschlüsselungsprozessor für einen Computer implementiert, wie etwa einen Personal Computer, eine Workstation oder dergleichen, und führt die Verschlüsselung und Entschlüsselung durch Hardware oder Software aus. Genauer gesagt, umfasst die Verschlüsselungs-/Entschlüsselungseinheit einen erweiterten Schlüsselgenerator 10 zum Erzeugen von n erweiterten Schlüsseln K1 bis Kn aus einem gemeinsamen Schlüssel und einen Datenrandomisierungsteil 20 zum Verschlüsseln oder Entschlüsseln unter Verwendung der erweiterten Schlüssel K1 bis Kn, die vom erweiterten Schlüsselgenerator 10 erzeugt worden sind, der Reihe nach in Runden R1 bis Rn. Das heißt, dass der erweiterte Schlüsselgenerator 10 und der Datenrandomisierungsteil 20 bei Verschlüsselung und Entschlüsselung gemeinsam verwendet werden und wenn die Verschlüsselungs-/Entschlüsselungseinheit durch Software implementiert wird, werden Programme, die ihren Betrieb anzeigen, vorab aus einem Speichermedium installiert. Man beachte, dass ein Permutationsprozess zwischen dem erweiterten Schlüsselgenerator 10 und dem Datenrandomisierungsteil 20 eingefügt werden kann.
  • Der erweiterte Schlüsselgenerator 10 hat in Kaskade verbundene Schlüsseltransformationsfunktionen fk1 bis fkn (die nachfolgend auch einfach als Schlüsseltransformationsfunktion fk bezeichnet werden), die jeweils den Runden R1 bis Rn entsprechen. Beim Empfangen eines gemeinsamen Schlüssels KC oder von zwischenschlüsseltransformierten Ergebnissen Kc1 bis kcn-1 geben die Schlüsseltransformationsfunktionen fk1 bis fkn die erweiterten Schlüssel K1 bis Kn, die durch Transformieren dieser Eingaben erhalten worden sind, an Rundungsfunktionen fr1 bis frn des Datenrandomisierungsteils 20 aus und geben getrennt erhaltene Zwischenschlüsseltransformationsfunktionen kc1 bis kcn-1 an Schlüsseltransformationsfunktionen fk2 bis fkn der nächsten Stufe ein.
  • Die Schlüsselumwandlungsfunktionen fk1 bis fkn umfassen jeweils temporäre Schlüsselregister 111 bis 11n , Konstantenregister 121 bis 12n , XOR-Elemente 131 bis 13n , S-Boxen 141 bis 14n , erweiterte Umwandler 151 bis 15n , Addierer 161 bis 16n und Rotationsschieber 171 bis 17n–1 , wie in 3 gezeigt. Man beachte, dass ein Rotationsschieber 17n der letzten Stufe weggelassen wird, da es in der nächsten Stufe keine Schlüsselumwandlungsfunktion fk(n + 1) gibt.
  • Das Temporärschlüsselregister 11i (mit 1 ≤ i ≤ n; das gleiche gilt für die nachfolgende Beschreibung) hält eine gemeinsame Schlüsseleingabe an den erweiterten Schlüsselgenerator 10 oder eine zwischenschlüsselumgewandelte Ergebniseingabe aus einer Schlüsselumwandlungsfunktion kf(i – 1) der vorherigen Stufe und bei dieser Ausführungsform wird ein 56-Bitregister verwendet.
  • Das Konstantenregister 12i wird mit einer Konstante entsprechend der Anzahl von Runden eingestellt, zu der eine Schlüsselumwandlungsfunktion fki gehört und kann diese Konstante an das XOR-Element 13i liefern. Genauer gesagt, wie in 4A gezeigt, welche die Anzahl n von Runden = 16 exemplifiziert, werden im Konstantenregister 12i zu haltende Konstanten symmetrisch eingestellt (früher und spätere Hälften haben symmetrische Konstanten), um Zentralwerte (n = 8,9) der Anzahl von Runden als Zentrum aufzuweisen, da die Konstantenregister 12i auch in der Lage sein müssen, erweiterte Schlüssel K1 bis K16 in umgekehrter Reihenfolge (K16 bis K1) zu erzeugen. Jedoch ist die vorliegende Erfindung nicht auf so ein spezifisches Setup beschränkt und zu haltende Konstanten können willkürlich gesetzt werden, solange die erweiterten Schlüssel K1 bis K16 auch in der Lage sein müssen, in umgekehrter Reihenfolge (K16 bis K1) erzeugt zu werden. Wie beispielsweise in 4B gezeigt, können die Konstanten zwischen Verschlüsselung und Entschlüsselung umgekehrt werden. Man beachte, dass das Konstantenregister 12 nur zumindest eine der zu haltenden Konstanten so setzen muss, dass sie sich von denen der anderen Register unterscheidet, wie in 4A gezeigt. Beispielsweise kann die Konstante so eingestellt werden, dass CONST12i = i.
  • Das XOR-Element 13i berechnet das XOR (exklusive logische Summe) eines ersten Schlüssels KA, der aus 8-Bitdaten im temporären Schlüsselregister 11i besteht, und der Konstante im Konstantenregister und gibt das erhaltene 8-Bit Berechnungsergebnis an der S-Box ein.
  • Die S (Substitutions)-Box 14i verhindert die Erzeugung von schwachen Schlüsseln (identischen erweiterten Schlüsseln in allen Stufen). Genauer gesagt, hat die S-Box 14i eine Funktion des nicht-linearen Umwandelns einer 8-Bit Werteingabe vom XOR-Element 13i und des Eingebens des erhaltenen umgewandelten 8-Bit-Ergebnisses an den erweiterten Umwandler 15i . Die S-Box 14i transformiert unter Verwendung einer Substitutionstabelle zum Substituieren von Eingabe- und Ausgabebits, wie beispielsweise in 5 gezeigt, nicht-linear. Falls beispielsweise die Eingabebits (00000001) sind, nimmt die S-Box 14i diese Information (00000001) als binären Ausdruck an und wandelt diesen binären Ausdruck in einen Wert "1" als Dezimalausdruck um.
  • Die S-Box 14i schlägt dann in der in 5 gezeigten Substitutionstabelle nach. Unter der Annahme, dass "48", was zuerst erscheint, das 0-te Element ist, bestimmt die S-Box 14i das "erste" Element "54" (dezimaler Ausdruck) und gibt (00110110) als seinen binären Ausdruck als Ausgabebits aus.
  • Auf diese Weise können die Eingabebits (00000001) mit Ausgabebits (00110110) substituiert werden.
  • Man beachte, dass die in 5 gezeigte Substitutionstabelle die 0-ten bis 255-ten Elemente entsprechend 256 Eingaben hält, wie oben beschrieben, und verwendet wird, um einen Wert im Bereich von 0 bis 255 beim Empfang eines Wertebereichs von 0 bis 255 zu bestimmen.
  • Auch wird die S-Box 14i vorzugsweise als gewisse S-Boxen in der Rundungsfunktion fk gemeinsam verwendet, was später beschrieben wird, um eine Maßstabsreduktion der Vorrichtung zu erzielen.
  • Der erweiterte Umwandler 15i wandelt die umgewandelte 8-Bit Ergebniseingabe aus der S-Box 14i in einen größeren Wert um. Bei dieser Ausführungsform hat der erweiterte Umwandler 15i die Funktion des Erweiterns des umgewandelten 8-Bit Ergebnisses durch seine Verschiebung nach links um 4 Bits und Einbetten von "0" in den unteren 4 Bits und Eingeben des erhaltenen, erweiterten umgewandelten 12-Bit-Ergebnisses an den Addierer 16i .
  • Man beachte, dass der Schiebebetrag des erweiterten Umwandlers 15i vorzugsweise äquivalent zur halben Anzahl (= 4 Bits) von Ausgabebits (= 8) der S-Box 14i ist, da die Ausgabebits der S-Box 14i im Datenrandomisierungsteil 20 in zwei S-Boxen S3 und S4 reflektiert sind. Man beachte, dass der Ausdruck "äquivalent" bedeutet, dass eine Modifikation, die ein Ganzzahlvielfaches der Anzahl von Ausgabebits, wie 12 (= 4 + 8 × 1) Bitverschiebung oder 20 (= 4 + 8 × 2) Bitverschiebung (in anderen Worten, eine Modifikation, die einen Schiebebetrag hat, der den Rest gleich der Anzahl von der Hälfte von Bits des Divisors (= 4) macht) zusätzlich zur 4-Bitverschiebung hinzufügt, beinhaltet ist. Wenn die Ausgabebits der S-Box 14i eine 12-Bitverschiebung durchlaufen, sind sie in den S-Boxen S2 und S3 anstelle der S-Boxen S3 und S4 reflektiert; wenn die Ausgabebits eine 20-Bitverschiebung durchlaufen, sind sie in den S-Boxen S1 und S2 reflektiert. Wenn die Ausgabebits der S-Box 14i in den zwei S-Boxen S3 und S4 (einschließlich S2 und S3 oder S1 und S2) reflektiert sind, ist die Kombination von Bits nicht auf die von 4 Bits beschränkt, sondern kann eine Kombination von 1 Bit und 7 Bits, 2 Bits und 6 Bits oder 3 Bits und 5 Bits sein, die in jeglicher Reihenfolge verwendet werden können. Das heißt, äquivalente 1 nach 3 und 5 nach 7 Bitverschiebungen können zusätzlich zu einer äquivalenten 4-Bitverschiebung verwendet werden.
  • Der Addierer 16i hat die Funktion des Addierens (normale Addition mit Übertrag) der erweiterten umgewandelten 12-Bit-Ergebniseingabe aus dem erweiterten Umwandler 15i und eines zweiten Schlüssels KB, der aus 32-Bitdaten im Temporärschlüsselregister 11i besteht, und Eingeben der erhaltenen Summe (32 Bits (das ausgeführte (Bit) wird ignoriert) an der Rundungsfunktion fri des Datenrandomisierungsteils 20 als ein erweiterter Schlüssel Ki einer Runde Ri.
  • Man beachte, dass die ersten und zweiten Schlüssel KA und KB individuell aus kontinuierlichen Bereichen des Temporärschlüsselregisters 11i extrahiert werden. Jedoch ist die vorliegende Erfindung nicht darauf beschränkt und diese Schlüssel können aus diskontinuierlichen Bereichen extrahiert werden. Das bedeutet, der erste Schlüssel KA kann die Summe von willkürlichen 8-Bitdaten im Temporärschlüsselregister 11i sein und der zweite Schlüssel KB kann die Summe von willkürlichen 32-Bitdaten im Temporärschlüsselregister 11i sein. Die ersten und zweiten Schlüssel KA und KB können miteinander überlappen. Man beachte, dass die Bitlänge des ersten Schlüssels KA vorzugsweise gleich der Eingangsbitlänge der S-Box des Datenrandomisierungsteils 20 ist, um die S-Boxen gemeinsam zu nutzen. Die Bitlänge des zweiten Schlüssels KB ist vorzugsweise gleich derjenigen des erweiterten Schlüssels Ki, um das Design zu vereinfachen (man beachte, dass die Bitlänge des zweiten Schlüssels KB sich von der des erweiterten Schlüssels Ki nach Bedarf unterscheiden kann und in einem solchen Fall die Bitlänge des erweiterten Schlüssels Ki schließlich durch beispielsweise kontrahierte oder erweiterte Permutation eingestellt werden kann).
  • Der Rotationsschieber 17i rotiert den Wert des Temporärschlüsselregisters 11i um einen vorgegebenen Schiebebetrag und gibt den rotierten Wert am Temporärschlüsselregister 11i+1 der nächsten Stufe ein. Bei dieser Ausführungsform sind die Schiebebeträge in Einheiten der Schlüsseltransformationsfunktionen fk1 bis fkn, wie in 6 gezeigt. Man beachte, dass der Schiebebetrag des Rotationsschiebers 17i vorzugsweise teilerfremd zu mindest entweder der Anzahl von Bits des gemeinsamen Schlüssels KC oder der Anzahl von Ausgabebits der S-Box 14i ist, um somit die Zufälligkeit von Schlüsseln zu verbessern, und diese drei Werte sind am bevorzugtesten teilerfremd zueinander. Die Schiebebeträge sind symmetrisch gesetzt (die früheren und späteren Hälften haben symmetrische Konstanten), um einen Zentralwert (n = 8) der Schlüsselumwandlungsfunktionen fk1 bis fk(n + 1) außer für die letzte Stufe aufzuweisen, da die erweiterten Schlüssel K1 bis K16 auch in der Lage sein müssen, erweiterte Schlüssel K1 bis K16 in umgekehrter Reihenfolge (K16 bis K1) zu erzeugen. Jedoch ist die vorliegende Erfindung nicht auf so ein spezifisches Setup beschränkt und die Schiebebeträge und die Rotationsrichtung der Rotationsschieber 17i können willkürlich eingestellt werden, solange wie erweiterte Schlüssel K1 bis K16 auch in der Lage sind, erweiterte Schlüssel K1 bis K16 in umgekehrter Reihenfolge (K16 bis K1) zu erzeugen.
  • Andererseits weist der Datenrandomisierungsteil 20 eine Verschlüsselungsfunktion des Verschlüsselns von Eingabeklartext und des Ausgebens von Chiffretext auf, wenn er erweiterte Schlüssel K1 bis K16 der Reihe nach vom erweiterten Schlüsselgenerator 10 in n Runden von den Runden 1 bis Rn empfängt. Andererseits hat der Teil 20 eine Entschlüsselungsfunktion des Entschlüsselns von eingegebenem Chiffretext und der Ausgabe von Klartext, wenn er die erweiterten Schlüssel K16 bis K1 aus dem erweiterten Schlüsselgenerator 10 in einer zu derjenigen bei der Verschlüsselung umgekehrten Reihenfolge erhält. Der Datenrandomisierungsteil 20 weist die Rundungsfunktionen fr1 bis frn auf, die in Kaskade in dieser Reihenfolge entsprechend den Runden R1 bis R16 verbunden sind.
  • Die Rundungsfunktion fri ist eine Funktion des Umwandelns von Klartext oder eines verschlüsselten Zwischenergebnisses auf Basis der Eingabe des erweiterten Schlüssels Ki aus dem erweiterten Schlüsselgenerator 10 und des Ausgebens eines verschlüsselten Zwischenergebnisses oder von Chiffretext in der Verschlüsselung und ist ebenfalls eine Funktion des Umwandelns von Chiffretext oder eines entschlüsselten Zwischenergebnisses auf Basis der erweiterten Schlüsseleingabe K(n + 1 – i) in der umgekehrten Reihenfolge aus dem erweiterten Schlüsselgenerator 10 und des Ausgebens eines entschlüsselten Zwischenergebnisses oder von Klartext im Entschlüsselungsprozess. Bei dieser Ausführungsform verwendet beispielsweise die Rundungsfunktion fri die in 7 gezeigte Feistel-Struktur.
  • Die in 7 gezeigte Feistel-Struktur umfasst die folgende Anordnung. Das heißt, dass von den aus zwei Unterblöcken Li und Ri gebildeten Eingangsdatenblöcken ein Unterblock Ri unter Verwendung einer F-Funktion auf Basis des erweiterten Schlüssels Ki nicht-linear umgewandelt wird, das XOR dieses umgewandelten Ergebnisses und des anderen Unterblocks Li durch ein XOR-Element 21 berechnet wird und das Berechnungsergebnis Ri + l und ein Unterblock Li + l (= Ri) der nächsten Stufe zugeführt werden, während sie ihre Positionen tauschen.
  • Man beachte, dass die F-Funktion in 7 ein XOR-Element 22 umfasst, welches den erweiterten Schlüssel K und den Unterblock Ri (oder Li) „XOR-t" und vier S-Boxen S1 bis S4 zum Segmentieren der Ausgabe aus dem XOR-Element 22 in vier Elemente und jeweils nicht-lineare Umwandlung dieser Elemente. Man beachte, dass die S-Boxen S1 bis S4 eine in beispielsweise 5 gezeigte Substitutionstabelle aufweisen und die entsprechenden S-Boxen können eine gemeinsame Substitutionstabelle aufweisen, können aber auch verschiedene aufweisen.
  • Man beachte, dass die von jeder Rundungsfunktion fr durchgeführte Transformation eine Involution genannte Natur hat, d.h., dass Ursprungsdaten wiederhergestellt werden, wenn eine identische Umwandlung zweimal wiederholt wird. Aus diesem Grund kann, wenn ein Chiffretext durch Umwandeln von Klartext in der Reihenfolge der erweiterten Schlüssel K1 bis K16 erzeugt wird, der Datenrandomisierungsteil 20 Klartext durch Retransformieren dieses Chiffretextes in der Reihenfolge der erweiterten Schlüssel K16 bis K1 erzeugen.
  • Der Betrieb der Verschlüsselungs-/Entschlüsselungseinheit mit der vorstehenden Anordnung wird untenstehend auch unter Bezugnahme auf das in 8 gezeigte Flussdiagramm erläutert.
  • Beim Verschlüsseln, wie in 2 gezeigt, wird ein gemeinsamer Eingabeschlüssel KC oder ein zwischenschlüsseltransformiertes Ergebnis kci in einen erweiterten Schlüssel ki in jeder Runde unter Verwendung der Schlüsselumformungsfunktion fki umgewandelt.
  • Genauer gesagt, wie in 9 gezeigt, wendet bei der Schlüsseltransformationsfunktion fki das XOR-Element 13i den aus dem Temporärschlüsselregister 11i extrahierten ersten 8-Bitschlüssel KA und eine Konstante im Konstantenregister 12i (Schritt S1 in 8) mittels XOR um und die S-Box 14i transformiert diesen XOR (Schritt S3 in 8) linear. Als nicht-ineare Transformation werden Eingabe und Ausgabe in Biteinheiten substituiert, um die beispielsweise in 5 gezeigte Beziehung zu haben. Dieses Substitutionsergebnis wird vom erweiterten Umwandler 15i um 4 Bits (= 16-mal) nach links verschoben, um 12 Datenbits zu erhalten. Weiterhin wird das Substitutionsergebnis durch Hinzuaddieren von 20 Bits von führenden "0" auf 32 Bits erweitert. Das 32-Bit-Substitutionsergebnis wird dann am Addierer 16i eingegeben (Schritt S5 in 8).
  • Der Addierer 16i addiert das Eingabeschiebeergebnis (32 Bit) und den aus dem Temporärschlüsselregister 11i extrahierten zweiten 32-Bitschlüssel KB und gibt die Summe als den erweiterten 32-Bit-Schlüssel Ki an den Datenrandomisierungsteil 20 (Schritt S7 in 8) aus.
  • Bei diesem erweiterten Schlüssel Ki ist der von der S-Box 14i umgewandelte erste 8-Bitschlüssel KA an den 5. bis 12. Bits von rechts (dem am wenigsten signifikanten Bit) lokalisiert. Diese Positionen entsprechen einer Eingabe an den dritten und vierten S-Boxen S3 und S4. Daher kann der Randomisierungseffekt der S-Box 14i im erweiterten Schlüsselgenerator 10 in den zwei S-Boxen S3 und S4 im Datenrandomisierungsteil 20 reflektiert werden, wodurch die Zufälligkeit des erweiterten Schlüssels verbessert wird.
  • Im Datenrandomisierungsteil 20 wird Klartext basierend auf erweiterten Schlüsseln K1 bis Kn in Einheiten von Rundungsfunktionen fr1 bis frn transformiert und wird schließlich über verschlüsselte Zwischenergebnisse im Chiffretext transformiert.
  • Andererseits führt beim Verschlüsseln der erweiterte Schlüsselgenerator 10 Schlüsselumwandlungsprozesse in umgekehrter Reihenfolge zu der bei Verschlüsselung beim Empfangen des gemeinsamen Schlüssels durch, wie im vorstehenden Fall und gibt den erweiterten Schlüssel Kn bis K1 sequentiell an den Datenrandomisierungsteil 20 aus.
  • Der Datenrandomisierungsteil 20 wandelt den eingegebenen Chiffretext auf Basis der erweiterten Schlüssel Kn bis K1 in umgekehrter Reihenfolge zu derjenigen bei der Verschlüsselung um und wandelt ihn schließlich über entschlüsselte Zwischenergebnisse in Klartext um.
  • Um es zu wiederholen, führt gemäß dieser Ausführungsform jeder der Schlüsselumwandlungsfunktionen fk1 bis fkn einen nicht-linearen Umwandlungsprozess unter Verwendung der S-Box 14i (Substitutionstabelle) auf Basis des aus dem Eingabeschlüssel erhaltenen ersten Schlüssels KA aus und der Addierer 16i berechnet einen entsprechenden der erweiterten Schlüssel K1 bis K16 auf Basis des durch Linksverschieben des umgewandelten Ergebnisses der S-Box 14i erhaltenen Werts und des aus dem Eingabeschlüssel erhaltenen zweiten Schlüssels KB.
  • Auf diese Weise wird eine einfache Anordnung ohne irgendeine zusätzliche externe Vorrichtung verwendet und es wird ein nicht-linearer Umwandlungsprozess unter Verwendung der Substitutionstabelle (S-Box 14i ) beim Erzeugen des erweiterten Schlüssels Ki durchgeführt. Daher kann der Vorrichtungspreis und Maßstab unterdrückt werden und die Zufälligkeit von erweiterten Schlüsseln kann verbessert werden, während die Erzeugung von schwachen Schlüsseln vermieden wird, was die kryptologische Robustheit verbessert.
  • Bei jeder Schlüsselumwandlungsfunktion fki, da der Rotationsschieber 17i den Eingangsschlüssel nach links (oder rechts) Rotations-verschiebt und den rotationsverschobenen Schlüssel an der Schlüsselumwandlungsfunktion fk(i + 1) der nächsten Runde eingibt, können in den entsprechenden Runden eingegebene Schlüssel leicht und zuverlässig voneinander unterschiedlich werden.
  • Weiterhin können unter der Annahme, dass der Shift-Betrag des Rotationsschiebers 17i relativ zu z.B. der Anzahl von Ausgabebits der S-Box 14i teilerfremd ist, nahezu alle ersten Schlüssel KA in den Runden R1 bis Rn zueinander unterschiedlich sein und der vorstehend erwähnte Effekt kann leichter und zuverlässiger erhalten werden.
  • Weiterhin kann in jeder Schlüsseltransformationsfunktion fki, da der erweiterte Umwandler 15i das umgewandelte Ergebnis der S-Box 14i erweitert und umwandelt und das Ergebnis am Addierer 16i eingibt, der Randomisierungseffekt des ersten Schlüssels KA in einem beliebigen Bereich des erweiterten Schlüssels Ki zusätzlich zu den vorstehenden Effekten reflektiert werden.
  • Da die erweiterte Umwandlung des erweiterten Umwandlers 15i durch Verschieben um die vorgegebene Anzahl von Bits implementiert wird, kann der vorgenannte Effekt leicht und zuverlässlich erzielt werden.
  • Darüber hinaus kann, da der Datenrandomisierungsteil 20 eine Mehrzahl von S-Boxen S1 bis S4 zum Verschlüsseln und Entschlüsseln aufweist und einige S-Boxen des Datenrandomisierungsteils 20 mit den S-Boxen 14i der Schlüsseltransformationsfunktionen fk1 bis fkn gemein sind, der Vorrichtungsmaßstab vermindert werden.
  • In jeder der Schlüsseltransformationsfunktionen fk1 bis fkn, da der erweiterte Umwandler 15i das umgewandelte Ergebnis, das von der S-Box 14i empfangen ist, um die vorgegebene Anzahl von Bits nach links verschiebt, welche die Hälfte des umgewandelten Ergebnisses sind oder die Anzahl von Bits, die durch ein Ganzzahlenvielfaches der Anzahl von Bits im umgewandelten Ergebnis zur halben Anzahl von Bits ist, und das Schiebeergebnis an den Addierer 16i eingibt, kann der Randomisierungseffekt des ersten Schlüssels KA in einen vom erweiterten Schlüssel Ki linksverschobenen Bereich reflektiert werden. In diesem Fall kann, da der Randomisierungseffekt des ersten Schlüssels KA in einem an den S-Boxen S3 und S4 des Datenrandomisierungsteils 20 eingegebenen Bereichs reflektiert werden kann, die kryptologische Robustheit weiter verbessert werden.
  • (Zweite Ausführungsform)
  • 10 ist ein Blockdiagramm, welches die Anordnung einer Schlüsselumwandlungsfunktion zeigt, die auf einen erweiterten Schlüsselgenerator gemäß der zweiten Ausführungsform der vorliegenden Erfindung angewendet wird. Dieselben Bezugszeichen in 10 kennzeichnen dieselben Teile wie diejenigen in 3, eine detaillierte Beschreibung derselben wird weggelassen und nur Unterschiede werden unten erläutert. Man beachte, dass in den später zu beschreibenden Ausführungsformen eine wiederholte Beschreibung ebenfalls vermieden wird.
  • Das heißt, diese Ausführungsform ist eine Modifikation der ersten Ausführungsform und zielt auf weitere Verbesserungen der Zufälligkeit der erweiterten Schlüssel ab. Genauer gesagt, werden in jeder Schlüsselübertragungsfunktion die zuvor erwähnten Umwandlungselemente einschließlich der Konstantenregister 12i , der XOR-Elemente 13i , der S-Boxen 14i und der erweiterte Umwandler 15i parallel zwischen dem Temporärschlüsselregister 11i und dem Addierer 16i verbunden, wie in 10 gezeigt.
  • Die zwei S-Boxen 14i können entweder von einer Sorte oder von einer Mehrzahl von Sorten sein. Wenn eine Mehrzahl von Sorten von S-Boxen verwendet wird, sind solche Sorten vorzugsweise so gesetzt, dass die erstere Gruppe von Schlüsselumwandlungsfunktionen fk1 bis fk8 und die letztere Gruppe von Schlüsselumwandlungsfunktionen fk9 bis fk16 vertikal symmetrisch von den Zentralwerten (fk8 und fk9) wird, da erweiterte Schlüssel Ki in der Lage sein müssen, in sowohl der normalen als auch der umgekehrten Reihenfolge auf Basis des gemeinsamen Schlüssels KC erzeugt zu werden.
  • Die zwei erweiterten Umwandler 15i können identische Schiebebeträge aufweisen. Da der Randomisierungseffekt der zwei S-Boxen 14i über einen breiteren Bereich reflektiert werden muss, werden die Ausgaben aus den S-Boxen 14i unter Verwendung verschiedener Schiebebeträge vorzugsweise nach links verschoben. Falls ein erweiteter Umwandler 15i eingestellt ist, um eine 4-Bit Linksverschiebung zu implementieren, und der andere erweiterte Umwandler 15i eingestellt ist, eine 20-Bit Linksverschiebung zu implementieren, kann in diesem Fall der Randomisierungseffekt des ersten Schlüssels KA bequem in allen S-Boxen S1 bis S4 des Datenrandomisierungsteils 20 reflektiert werden.
  • Bei der zuvor erwähnten Anordnung kann, da die Zufälligkeit unter Verwendung des ersten Schlüssels KA weiter verbessert werden kann, die Zufälligkeit von erweiterten Schlüsseln Ki weiter zusätzlich zu den Effekten der ersten Ausführungsform verbessert werden.
  • (Dritte Ausführungsform)
  • 11 ist ein Blockdiagramm, welches die Anordnung eines erweiterten Schlüsselgenerators gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt.
  • Diese Ausführungsform ist eine Modifikation der ersten oder der zweiten Ausführungsform und umfasst an Stelle des Temporärschieberegisters 11i und des Rotationsschiebers 17i einen Substitutionsteil 18i , der entsprechende Bits eines gemeinsamen Eingabeschlüssels KC oder eines der Zwischenschlüssel kc1 bis kcn–1 nicht-linear substituiert, einige Bits des erhaltenen Zwischenschlüssels an dem XOR-Element 13i und dem Addierer 16i der eigenen Stufe eingibt und auch den gesamten Zwischenschlüssel am Substitutionsteil 18(i+1) der nächsten Stufe eingibt. Man beachte, dass der Substitutionsteil 181 die entsprechenden Bits des gemeinsamen Eingabeschlüssels KC nicht ersetzt.
  • Die entsprechenden Substitutionsteile 18i werden so eingestellt, dass das Ergebnis nach n Substitutionen des gemeinsamen Schlüssels KC in normaler Reihenfolge gleich dem ursprünglichen gemeinsamen Schlüssel KC wird, da sie in der Lage sein müssen, erweiterte Schlüssel Ki auf Basis des gemeinsamen Schlüssels KC in sowohl normalen als auch umgekehrten Reihenfolgen zu erzeugen. Auch wird die Umwandlung in aufsteigender Reihenfolge bei Verschlüsselung vorgenommen und es wird eine inverse Umwandlung in absteigender Reihenfolge bei der Entschlüsselung vorgenommen, wie in 12 gezeigt, welches die Anzahl n von Runden = 16 exemplifiziert. Beispielsweise wird der Prozess für jeden Substitutionsteil 18i durch Rotationsverschieben des gemeinsamen Schlüssels KC nach links um eine beliebige Anzahl von Bits implementiert.
  • In der in 11 gezeigten Ausführungsform führt jeder Substitutionsteil 18i einen Prozess zum nicht-linearen Umwandeln des gemeinsamen Schlüssels KC im Schritt S21 in 13 aus. Im Schritt S23 verknüpft das XOR-Element 13i einen ersten aus dem Substitutionsteil 18i erhaltenen Schlüssel KA und eine im Konstantenregister 12i gehaltene Konstante per XOR. Im Schritt S25 wandelt die S-Box 14i die XOR-Ausgabe aus dem XOR-Element 13i unter Verwendung einer Substitutionstabelle nicht-linear um. Im Schritt S27 verschiebt der Umwandler 15i den nicht-linearen umgewandelten Wert um 4 Bit nach links, so dass er ein erweitertes umgewandeltes 12-Bitergebnis erhält. Darüber hinaus wird das transformierte 12-Bitergebnis durch Hinzuaddieren von 20 Bit führender "0" expandiert. Im Schritt S29 wird das erweiterte umgewandelte 32-Bitergebnis zu einem zweiten Schlüssel KB hinzuaddiert, der aus dem Substitutionsteil 18i erhalten ist, um einen erweiterten Schlüssel zu bilden.
  • Auch bei dieser Anordnung können dieselben Effekte wie in der ersten oder zweiten Ausführungsform erzielt werden. Zusätzlich können die an den Schlüsselumwandlungsfunktionen fk1 bis fkn einzugebenden Schlüssel KC und kc1 bis kcn–1 leicht und zuverlässig zueinander unterschiedlich werden.
  • In den obigen Ausführungsformen ist das XOR-Element 13i zum XOR-Verknüpfen der Konstante mit der Eingangsseite der S-Box 14i verbunden. Jedoch ist die vorliegende Erfindung nicht auf eine solche spezifische Anordnung beschränkt. Beispielsweise kann das XOR-Element 13i weggelassen werden oder es kann eine S-Box 14xi nachdem das XOR mit einer Konstanten berechnet ist, anstelle der S-Box 14i vorgesehen werden, so dass die vorliegende Erfindung ähnlich praktiziert wird und derselbe Effekt erzielt wird. Genauer gesagt, können die XORs des Wertes KA und von Konstanten vorab berechnet werden und sie werden in Form einer Tabelle gehalten und die S-Box 14i kann die Tabelle unter Verwendung des Wertes KA als Eingabeparameter nachschlagen, um einen gegebenen XOR zu erhalten.
  • 14 ist ein Funktionsblockdiagramm, welches die Anordnung einer Smartcard zeigt, welche den vorstehend erwähnten erweiterten Schlüsselgenerator, die Verschlüsselungs-/Entschlüsselungseinheit und das Speichermittel der vorliegenden Erfindung ausführt. Wie in 14 gezeigt, weist eine Smartcard 51 eine CPU 53, RAM 55, ROM 57, EEPROM 59 und einen Verbinder 61 auf. Das RAM 55 wird verwendet, um verschiedene Daten zu speichern und wird als Arbeitsbereich oder dergleichen verwendet. Das ROM 57 wird verwendet, um verschiedene Daten, Programme und dergleichen zu speichern. Das EEPROM 59 speichert Programme und dergleichen, die in Flussdiagrammen der 8 und 13 gezeigt sind. Der Verbinder 61 stellt elektrische Kontakte mit einem Smartcard-Leser/-Schreiber her (nicht gezeigt). Man beachte, dass die in den 8 und 13 gezeigten Programme im RAM 55 oder ROM 57 anstelle des EEPROM 59 gespeichert sein können.
  • (Vierte Ausführungsform)
  • Es wird unter Verwendung von 15 eine Verschlüsselungs-/Entschlüsselungseinheit gemäß der vierten Ausführungsform der vorliegenden Erfindung unten gezeigt. Diese Verschlüsselungs/Entschlüsselungseinheit 30 weist eine in einer der ersten bis dritten Ausführungsformen beschriebene Anordnung auf und wird verwendet, um digitale Informationen wie etwa Bilddaten, Musikdaten und dergleichen zu schützen (die nachfolgend als Rohdaten bezeichnet werden).
  • Man nehme an, dass die Verschlüsselungs-/Entschlüsselungseinheit 30 in einem Personal-Computer PC durch Installieren eines Programms von einem Speichermedium implementiert ist, wie in 15 gezeigt. Die Verschlüsselungs-/Entschlüsselungseinheit 30 verschlüsselt eine Rohdateneingabe an den Personal-Computer PC unter Verwendung beispielsweise einer Benutzer-ID als gemeinsamer Schlüssel und speichert die erhaltenen verschlüsselten Daten (entsprechend dem zuvor erwähnten Chiffretext) in einem tragbaren Speicherelement 31. Als ein solches Speicherelement 31 können eine Smartcard, Smartmedien, eine Speicherkarte oder dergleichen verwendet werden.
  • Das Speicherelement 31 wird an das Heim des Anwenders verteilt und eine Verschlüsselungs/Entschlüsselungseinheit (nicht gezeigt) im Heim des Benutzers entschlüsselt die verschlüsselten Daten im Speicherelement 13 auf Basis der eigenen Benutzer-ID und reproduziert erhaltene Bilddaten oder Musikdaten von z.B. einem Lautsprecher oder dergleichen. Auf diese Weise können Rohdaten (Inhalte) nur an solche Benutzer verteilt werden, die einen Abonnementvertrag vorab hergestellt haben.
  • Verschiedene Modifikationen dieser Ausführungsform sind wie folgt erhältlich. Beispielsweise, wie in 16 gezeigt, kann eine die Verschlüsselungs-/Entschlüsselungseinheit 30 als eine Hardwareschaltung umfassende Aufzeichnungseinheit 32 anstelle des Personal-Computers PC vorgesehen sein. Bei dieser Anordnung verschlüsselt beim Schreiben von Inhalten in das Speicherelement 31 die Verschlüsselungs-/Entschlüsselungseinheit 30 Roh-Daten basierend beispielsweise auf einer Anwender-ID und speichert verschlüsselte Daten im Speicherelement 31. Die Prozesse von der Lieferung nach Hause bis zur Entschlüsselung sind dieselben wie oben beschrieben. Auf diese Weise kann die Verschlüsselungs-/Entschlüsselungseinheit 30 der dezidierten Aufzeichnungseinheit 32, anstelle eines Universal-Computers, wie etwa des Personal-Computers PC oder dergleichen, bereitgestellt werden.
  • Wie in 17 gezeigt, kann ein Wirtscomputer 33 mit der Verschlüsselungs-/Entschlüsselungseinheit 30 auch mit dem Personal-Computer PC über ein Netzwerk NW verbunden werden. In diesem Fall werden vom Wirtscomputer 33 heruntergeladene verschlüsselte Daten im Speicherelement 32 über den Personal-Computer PC im verschlüsselten Zustand gespeichert. Die Prozesse von der Lieferung nach Hause bis zum Entschlüsseln sind dieselben wie die oben beschriebenen. Gemäß dieser Modifikation kann zusätzlich zum vorbeschriebenen Effekt das Abhören der Inhalte (Rohdaten) auf dem Netzwerk NW verhindert werden.
  • Wie weiterhin in den 18A und 18B gezeigt, kann eine DVD (Digital Versatile Disc) als Speicherelement verwendet werden. Im in 18A gezeigten Fall wird eine DVD 34, welche verschlüsselte Daten vorspeichert, dem Anwender geliefert. Die Verschlüsselungs-/Entschlüsselungseinheit 30 zu Hause beim Anwender entschlüsselt die verschlüsselten Daten in der DVD 34 und reproduziert die erhaltenen Bilddaten oder Musikdaten mit einem Lautsprecher oder dergleichen.
  • Auch im in 18B gezeigten Fall werden Rohdaten, wie etwa Bilddaten, Musikdaten oder dergleichen durch die Verschlüsselungs-/Entschlüsselungseinheit 30 zu Hause beim Anwender unter Verwendung eines vorgegebenen gemeinsamen Schlüssels verschlüsselt werden und die erhaltenen verschlüsselten Daten werden auf einer DVD-RAM 35 gespeichert.
  • Diese verschlüsselten Daten werden durch den vom Benutzer eingestellten vorgegebenen gemeinsamen Schlüssel entschlüsselt, können aber von Dritten nicht entschlüsselt werden, wenn nicht der gemeinsame Schlüssel offenbart wird. Daher können persönliche Bilddaten und Musikdaten gesichert werden, während sie gegenüber Drittparteien geschützt sind.
  • (Andere Ausführungsformen)
  • Als Speichermedium, das ein Programm zum Implementieren der Prozesse des erweiterten Schlüsselgenerators und der Verschlüsselungs/Entschlüsselungseinheit der vorliegenden Erfindung speichert, kann eine Magnetplatte, Floppy Disk, Festplatte, optische Platte (CD-ROM, CD-R, DVD, oder dergleichen) eine magnetooptische Platte (MO oder dergleichen), Halbleiterspeicher und dergleichen verwendet werden. In der Praxis ist das Speicherformat nicht besonders beschränkt, solange wie ein Speichermedium das Programm speichern kann und von einem Computer gelesen werden kann.
  • Ein BS (Betriebssystem), das auf einem Computer oder auf MW (Middleware) wie etwa einem Datenbankmanagementprogramm, Netzwerk-Software oder dergleichen läuft, kann einige der Prozesse ausführen, welche die obige Ausführungsform implementieren, auf Basis einer Anweisung des aus dem Speichermedium im Computer installierten Programms.
  • Weiterhin ist das Speichermedium in der vorliegenden Erfindung nicht auf ein Medium beschränkt, das unabhängig vom Computer ist, sondern beinhaltet ein Speichermedium, welches ein von einem Netzwerk, dem Internet oder dergleichen heruntergeladenes Programm speichert oder temporär speichert.
  • Die Anzahl von Speichermedien ist nicht auf Eins beschränkt und das Speichermedium der vorliegenden Erfindung beinhaltet einen Fall, bei dem die Prozesse der obigen Ausführungsformen von einer Mehrzahl von Medien implementiert sind und jede Medienanordnung verwendet werden kann.
  • Man beachte, dass der Computer in der vorliegenden Erfindung Prozesse der obigen Ausführungsform auf Basis von im Speichermedium gespeicherten Programmen ausführt und entweder eine Apparatur sein kann, die aus einer einzelnen Vorrichtung wie etwa einem Personal-Computer besteht oder aus einem System, das durch Verbinden einer Mehrzahl von Vorrichtungen über ein Netzwerk aufgebaut wird.
  • Der Computer ist in der vorliegenden Erfindung nicht auf einen Personal-Computer beschränkt und beinhaltet eine arithmetische Prozessierungsvorrichtung, einen Mikrocomputer und dergleichen, die in einem informationsverarbeiteten Apparat beinhaltet sind, d.h. beinhaltet alle Vorrichtungen und Apparate, welche die Funktionen der vorliegenden Erfindung über Programme implementieren können.
  • Die vorliegende Erfindung ist nicht auf ein DES-Kryptosystem limitiert, sondern kann auf jedes andere Blockkryptosystem angewendet werden, das Rundungsfunktionen benutzt. Beispielsweise kann die vorliegende Erfindung auf Kryptosysteme wie etwa Lucifer, LOKI, MISTY1, MISTY2 und SAFER (Secure and Fast Encryption Routine) und dergleichen angewendet werden.
  • Bei den obigen Ausführungsformen führt die S-Box eine nicht-lineare Umwandlung unter Verwendung einer Substitutionstabelle durch. Alternativ kann die S-Box eine nicht-lineare Transformation unter Verwendung eines Verdrahtungsmusters durchführen.
  • In der in 10 gezeigten Ausführungsform sind zwei Sätze von Umwandlungselementen einschließlich der Konstantenregister 12i , XOR-Elemente 13i , S-Boxen 14i und erweiterten Umwandler 15i parallel angeordnet. Alternativ können drei oder mehr Sätze von Umwandlungselementen parallel angeordnet sein.
  • Verschiedene Modifikationen der vorliegenden Erfindung können innerhalb des Schutzumfangs der Erfindung gemacht werden.

Claims (16)

  1. Verschlüsselungsvorrichtung, die eine Erweiterungsschlüsselerzeugungsvorrichtung umfasst, welche Erweiterungsschlüssel basierend auf Eingabeschlüsseln erzeugt, wobei die Vorrichtung eine Mehrzahl von in Kaskade verbundenen Schlüsselumwandlungsvorrichtungen (fk) umfasst, dadurch gekennzeichnet, dass jede Schlüsselumwandlungsvorrichtung umfasst: ein Exklusiv-ODER-Element (13) zum Berechnen eines Exklusiv-ODER einer Konstanten, die für jede der Schlüsselumwandlungsvorrichtungen bestimmt wird, und eines aus dem Eingabeschlüssel erhaltenen ersten Schlüssels; eine nicht-lineare Umwandlungseinheit zum nicht-linearen Umwandeln einer Ausgabe vom Exklusiv-ODER-Element unter Verwendung einer vorbestimmten Substitutionstabelle; eine Erweiterungseinheit (15) zum Durchführen einer Erweiterungsverarbeitung an der Ausgabe aus der nichtlinearen Umwandlungseinheit; und eine Erweiterungsschlüsselberechnungseinheit (16) zum Berechnen des Erweiterungsschlüssels, basierend auf der Ausgabe von der Erweiterungseinheit und einem zweiten, aus dem Eingangsschlüssel erhaltenen Schlüssel.
  2. Verschlüsselungsvorrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass jede der Schlüsselumwandlungsvorrichtungen (fk) weiterhin umfasst: eine Rotationseinheit (17) zum Verschieben des Eingabeschlüssels zu einem am wenigsten signifikanten Bit oder einem signifikantesten Bit und Eingeben des verschobenen Schlüssels an der Schlüsselumwandlungsvorrichtung einer nächsten Stufe.
  3. Verschlüsselungsvorrichtung gemäß Anspruch 2, dadurch gekennzeichnet, dass der Verschiebebetrag der Rotationseinheit (17) in Bezug auf die Anzahl von Ausgabe-Bits der nicht-linearen Umwandlungseinheit teilerfremd ist.
  4. Verschlüsselungsvorrichtung gemäß einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Erweiterungseinheit (15) eine Verschiebung um eine vorgegebene Anzahl von Bits durchführt.
  5. Verschlüsselungsvorrichtung gemäß Anspruch 4, dadurch gekennzeichnet, dass die Erweiterungseinheit (15) die Ausgabe aus der nicht-linearen Umwandlungseinheit (14) zum am wenigsten signifikanten Bit um die Anzahl der halben Anzahl von Bits der Ausgabe aus der nichtlinearen Umwandlungseinheit (14), oder um die Anzahl der durch Addieren eines Ganzzahlvielfachen der Anzahl von Bits der Ausgabe aus der nicht-linearen Umwandlungseinheit (14) zur halben Anzahl von Bits erhaltenen Bits verschiebt.
  6. Verschlüsselungsvorrichtung gemäß einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Erweiterungsschlüsselberechnungseinheit (16) die Ausgabe aus der Erweiterungseinheit (15) und den zweiten Schlüssel mit Übertrag addiert.
  7. Verschlüsselungsvorrichtung gemäß einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass sie weiter umfasst: eine Datenrandomisierungseinheit (20) zum Chiffrieren eines Klartexts, um einen Chiffretext zu erhalten, oder Entziffern eines Chiffretexts, um einen Klartext zu erhalten, durch Verarbeiten eines Eingabetexts durch eine auf den, von den Schlüsselumwandlungseinheiten erzeugten, Erweiterungsschlüsseln basierende Rundungsfunktion.
  8. Verschlüsselungsvorrichtung gemäß Anspruch 7, dadurch gekennzeichnet, dass die Datenrandomisierungseinheit (20) eine Mehrzahl von Substitutionstabellen zur Verschlüsselung und Entschlüsselung verwendet und die Mehrzahl von Substitutionstabellen mit der vorbestimmten Substitutionstabelle der nicht-linearen Umwandlungseinheit gemein sind.
  9. Erweiterungsschlüsselerzeugungsverfahren, welches Erweiterungsschlüssel basierend auf Eingabeschlüsseln unter Verwendung einer Mehrzahl von in Kaskade verbundenen Schlüsselumwandlungsvorrichtungen (fk) erzeugt, dadurch gekennzeichnet, dass jede der Schlüsselumwandlungsvorrichtungen die Erweiterungsschlüssel durch ein Verfahren erzeugt, welches die Schritte umfasst: Berechnen eines Exklusiv-ODER einer Konstanten, die für jede der Schlüsselumwandlungsvorrichtungen (fk) bestimmt wird, und eines aus dem Eingabeschlüssel erhaltenen ersten Schlüssels; nicht-lineares Umwandeln des Ergebnisses des Exklusiv-ODER unter Verwendung einer vorgegebenen Substitutionstabelle; Durchführen einer Erweiterungsverarbeitung am Ergebnis der nicht-linearen Umwandlung; und Berechnen des Erweiterungsschlüssels basierend auf dem Ergebnis der Erweiterungsverarbeitung und eines aus dem Eingabeschlüssel erhaltenen zweiten Schlüssels.
  10. Erweiterungsschlüsselerzeugungsprogramm, welches einen Computer veranlasst, Erweiterungsschlüssel basierend auf Eingabeschlüsseln unter Verwendung einer Mehrzahl von in Kaskade verbundenen Schlüsselumwandlungsvorrichtungen (fk) zu erzeugen, dadurch gekennzeichnet, dass das Programm umfasst: Programmcode zum Berechnen eines Exklusiv-ODER einer Konstanten, die für jede der Schlüsselumwandlungsvorrichtungen (fk) bestimmt wird, und eines aus dem Eingabeschlüssel erhaltenen ersten Schlüssels; Programmcode zum nicht-linearen Umwandeln eines Ergebnisses eines Exklusiv-ODER unter Verwendung einer vorgegebenen Substitutionstabelle; Programmcode zum Durchführen einer Erweiterungsverarbeitung an einem Ergebnis einer nichtlinearen Umwandlung; Programmcode zum Berechnen des Erweiterungsschlüssels basierend auf einem Ergebnis von Erweiterungsverarbeitung und eines aus dem Eingabeschlüssel erhaltenen zweiten Schlüssels; und Programmcode zum Verschieben des Eingabeschlüssels zu einem am wenigsten signifikanten Bit oder einem signifikantesten Bit und Eingeben des verschobenen Schlüssels an der Schlüsselumwandlungsvorrichtung einer nächsten Stufe.
  11. Programm gemäß Anspruch 10, dadurch gekennzeichnet, dass der Programmcode zum Verschieben des Eingabeschlüssels Programmcode zum Verschieben des Eingabeschlüssels um eine teilerfremde Zahl relativ zur Anzahl der Ausgabebits eines Ergebnisses einer nicht-linearen Umwandlung umfasst.
  12. Programm gemäß Anspruch 10 oder 11, dadurch gekennzeichnet, dass der Programmcode zum Durchführen einer Erweiterungsverarbeitung Programmcode zum Verschieben eines Ergebnisses einer nicht-linearen Umwandlung um eine vorbestimmte Anzahl von Bits umfasst.
  13. Programm gemäß Anspruch 12, dadurch gekennzeichnet, dass der Programmcode zum Durchführen einer Erweiterungsverarbeitung Programmcode zum Verschieben eines Ergebnisses einer nicht-linearen Umwandlung um die halbe Anzahl von Bits eines Ergebnisses einer nichtlinearen Umwandlung, oder um die Anzahl von durch Addieren eines Ganzzahlvielfaches der Anzahl von Bits des Ergebnisses der nicht-linearen Umwandlung zur halben Anzahl von Bits erhaltenen Bits umfasst.
  14. Programm gemäß einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, dass der Programmcode zum Berechnen des Erweiterungsschlüssels Programmcode zum Addieren eines Ergebnisses einer Erweiterung und des zweiten Schlüssels mit Übertrag umfasst.
  15. Programm gemäß einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass es weiter umfasst Programmcode zum Chiffrieren eines Klartexts, um einen Chiffretext zu erhalten, oder Entschlüsseln eines Chiffretexts, um einen Klartext zu erhalten, durch Prozessieren eines Eingabetexts durch eine Rundungsfunktion, basierend auf den erzeugten Erweiterungsschlüsseln.
  16. Programm gemäß Anspruch 15, dadurch gekennzeichnet, dass der Programmcode zum Chiffrieren oder Dechiffrieren Programmcode zum Randomisieren des Klartexts oder des Chiffretexts unter Verwendung einer Mehrzahl von Substitutionstabellen zur Verschlüsselung und Entschlüsselung umfasst, wobei die Mehrzahl von Substitutionstabellen der vorbestimmten Substitutionstabelle gemein sind.
DE60024739T 1999-08-31 2000-08-18 Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium Expired - Lifetime DE60024739T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP24417699 1999-08-31
JP24417699 1999-08-31

Publications (2)

Publication Number Publication Date
DE60024739D1 DE60024739D1 (de) 2006-01-19
DE60024739T2 true DE60024739T2 (de) 2006-06-29

Family

ID=17114905

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60024739T Expired - Lifetime DE60024739T2 (de) 1999-08-31 2000-08-18 Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium

Country Status (9)

Country Link
US (1) US6891950B1 (de)
EP (1) EP1081889B1 (de)
KR (1) KR100402811B1 (de)
CN (1) CN1172235C (de)
DE (1) DE60024739T2 (de)
ID (1) ID27135A (de)
MX (1) MXPA00008484A (de)
SG (1) SG92735A1 (de)
TW (1) TW556111B (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2784831B1 (fr) * 1998-10-16 2000-12-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
CA2449665C (en) * 2000-03-09 2005-06-21 Mitsubishi Denki Kabushiki Kaisha Block encryption device using auxiliary conversion
US7054443B1 (en) * 2000-03-27 2006-05-30 Microsoft Corporation System and method for protecting digital goods using random and automatic code obfuscation
US9520993B2 (en) 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing
US7577250B2 (en) 2004-08-12 2009-08-18 Cmla, Llc Key derivation functions to enhance security
US7564970B2 (en) * 2004-08-12 2009-07-21 Cmla, Llc Exponential data transform to enhance security
US8077861B2 (en) 2004-08-12 2011-12-13 Cmla, Llc Permutation data transform to enhance security
JP2003050745A (ja) * 2001-08-07 2003-02-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4690600B2 (ja) * 2001-08-23 2011-06-01 富士通株式会社 データ保護方法
GB0121793D0 (en) * 2001-09-08 2001-10-31 Amphion Semiconductor Ltd An apparatus for generating encryption/decryption keys
DE10201441A1 (de) 2002-01-16 2003-08-14 Infineon Technologies Ag Schiebevorrichtung und Verfahren zum Verschieben
US20060034456A1 (en) * 2002-02-01 2006-02-16 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
US20030149876A1 (en) * 2002-02-01 2003-08-07 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
EP1351430B1 (de) * 2002-04-03 2005-10-05 Matsushita Electric Industrial Co., Ltd. Vorrichtung zur Erzeugung eines erweiterten Schlüssels, Verschlüsselungsvorrichtung und Verschlüsselungssystem
JP2004245988A (ja) * 2003-02-13 2004-09-02 Sony Corp データ処理装置、その方法およびそのプログラムと線形変換回路および暗号化回路
TW595183B (en) * 2003-03-14 2004-06-21 Acer Labs Inc Crypto-system with an inverse key evaluation circuit
DE10345378B4 (de) * 2003-09-30 2010-08-12 Infineon Technologies Ag Verfahren und Vorrichtung zur Ver-/Entschlüsselung
US20050147244A1 (en) * 2003-12-30 2005-07-07 Alexander Moldovyan Method for cryptographic transformation of binary data blocks
CN101288260A (zh) 2005-01-27 2008-10-15 美商内数位科技公司 使用未由他人分享联合随机衍生秘钥方法及系统
US20070005359A1 (en) * 2005-06-30 2007-01-04 David Bowen Method for transmitting transactional commands and data between computer networks
US7873166B2 (en) * 2005-09-13 2011-01-18 Avaya Inc. Method for undetectably impeding key strength of encryption usage for products exported outside the U.S
US20080037775A1 (en) * 2006-03-31 2008-02-14 Avaya Technology Llc Verifiable generation of weak symmetric keys for strong algorithms
US7702100B2 (en) * 2006-06-20 2010-04-20 Lattice Semiconductor Corporation Key generation for advanced encryption standard (AES) Decryption and the like
US8144875B2 (en) * 2006-09-06 2012-03-27 Paul McGough Method and system for establishing real-time authenticated and secured communications channels in a public network
CA2662166A1 (en) * 2006-09-06 2008-03-13 Sslnext, Inc. Method and system for establishing real-time authenticated and secured communications channels in a public network
US10148430B1 (en) 2013-04-17 2018-12-04 Amazon Technologies, Inc Revocable stream ciphers for upgrading encryption in a shared resource environment
JP2015130580A (ja) * 2014-01-07 2015-07-16 富士通株式会社 データスクランブル装置、セキュリティ装置、セキュリティシステム及びデータスクランブル方法
US9774443B2 (en) * 2015-03-04 2017-09-26 Apple Inc. Computing key-schedules of the AES for use in white boxes
US10073964B2 (en) 2015-09-25 2018-09-11 Intel Corporation Secure authentication protocol systems and methods
CN112202547B (zh) * 2020-11-11 2022-04-12 衡阳师范学院 一种轻量级分组密码gfcs实现方法、装置及可读存储介质
CN114124348B (zh) * 2021-11-22 2023-07-25 南京信息工程大学 一种基于混沌轮编码的光接入加密方法
CN115208626B (zh) * 2022-06-02 2023-12-01 北京交大微联科技有限公司 铁路信号系统中基于安全通信密文传输的通信方法及装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3958081A (en) * 1975-02-24 1976-05-18 International Business Machines Corporation Block cipher system for data security
US4255811A (en) * 1975-03-25 1981-03-10 International Business Machines Corporation Key controlled block cipher cryptographic system
US4802217A (en) * 1985-06-07 1989-01-31 Siemens Corporate Research & Support, Inc. Method and apparatus for securing access to a computer facility
US4850019A (en) 1985-11-08 1989-07-18 Nippon Telegraph And Telephone Corporation Data randomization equipment
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
SG48838A1 (en) * 1992-12-30 1998-05-18 Telstra Corp Ltd A method and apparatus for generating a cipher
JPH0812537B2 (ja) * 1993-03-11 1996-02-07 日本電気株式会社 暗号化装置
US5511123A (en) * 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption
JPH09162859A (ja) * 1995-12-07 1997-06-20 Fujitsu Ltd スクランブル方法及び装置、デスクランブル方法及び装置、並びに、データ伝達方法及びシステム
KR100190157B1 (ko) * 1996-04-30 1999-06-01 니시무로 타이죠 암호화 장치 및 암호화 방법
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
JP3517063B2 (ja) * 1996-10-11 2004-04-05 株式会社東芝 暗号化装置及び暗号化方法
KR19980027399A (ko) * 1996-10-16 1998-07-15 구자홍 셀룰라 오토마타를 이용한 블록 암호화 방법 및 장치
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
US6292896B1 (en) * 1997-01-22 2001-09-18 International Business Machines Corporation Method and apparatus for entity authentication and session key generation
JPH10301492A (ja) * 1997-04-23 1998-11-13 Sony Corp 暗号化装置および方法、復号装置および方法、並びに情報処理装置および方法
US6606385B1 (en) * 1997-08-07 2003-08-12 Hitachi, Ltd. Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same
WO1999008411A2 (en) * 1997-08-08 1999-02-18 Jonathan Stiebel New operation for key insertion with folding
AU9569098A (en) * 1997-09-17 1999-04-05 Frank C. Luyster Improved block cipher method
DE69931606T8 (de) 1998-01-27 2007-06-28 Nippon Telegraph And Telephone Corp. Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
US6570989B1 (en) * 1998-04-27 2003-05-27 Matsushita Electric Industrial Co., Ltd. Cryptographic processing apparatus, cryptographic processing method, and storage medium storing cryptographic processing program for realizing high-speed cryptographic processing without impairing security
KR100296958B1 (ko) * 1998-05-06 2001-09-22 이석우 블록 데이터 암호화 장치
DE19924986B4 (de) * 1998-05-29 2006-03-23 Hitachi, Ltd. Verschlüsselungs-Konversionsvorrichtung, Entschlüsselungs-Konversionsvorrichtung, kryptografisches Kommunikationssystem und elektronische Gebühren-Sammelvorrichtung
JP2000261098A (ja) 1999-03-09 2000-09-22 Nec Corp 自励発振型半導体レーザ

Also Published As

Publication number Publication date
SG92735A1 (en) 2002-11-19
KR100402811B1 (ko) 2003-10-30
US6891950B1 (en) 2005-05-10
DE60024739D1 (de) 2006-01-19
CN1172235C (zh) 2004-10-20
ID27135A (id) 2001-03-01
EP1081889A2 (de) 2001-03-07
MXPA00008484A (es) 2004-11-10
CN1291744A (zh) 2001-04-18
EP1081889B1 (de) 2005-12-14
EP1081889A3 (de) 2002-09-11
TW556111B (en) 2003-10-01
KR20010067121A (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
DE60024739T2 (de) Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium
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
DE69721439T2 (de) Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE60024941T2 (de) Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung
DE69836450T2 (de) Verschlüsselungs-, Entschlüsselungs- und Informationsverarbeitungsgerät und -verfahren
DE69728465T2 (de) Nichtparalleler Mehrzyklus-Verschlüsselungsapparat
DE69433257T2 (de) Verfahren und Kommunikationssystem unter Verwendung einer Verschlüsselungseinrichtung
DE60017155T2 (de) Ver- und entschlüsselungsvorrichtung und verfahren für digitale videoeinhaltsübertragung
JP3746098B2 (ja) データの暗号化装置
DE69938539T2 (de) Kryptographische Einrichtung mit parallel geschalteten Verschlüsselungsblöcken
DE60221850T2 (de) Verfahren und vorrichtung zur datenverschlüsselung
DE2231835B2 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE102005012098A1 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE102008010789B4 (de) Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten
DE10129285A1 (de) Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE69333257T2 (de) Anlage für Signalschaltung und -verarbeitung
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE60301750T2 (de) Vorrichtung zur Erzeugung eines erweiterten Schlüssels, Verschlüsselungsvorrichtung und Verschlüsselungssystem
DE60038042T2 (de) Einserkomplement-verschlüsselungskombinator
DE10352680A1 (de) Verschlüsselungsvorrichtung und Verschlüsselungsverfahren
Raghuvanshi et al. Investigation of piecewise linear chaotic map as a diffusion model for image encryption
EP1676394A1 (de) Verfahren und vorrichtung zur ver-/ entschlüsselung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: KABUSHIKI KAISHA TOSHIBA, TOKIO/TOKYO, JP

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP