DE60024941T2 - Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung - Google Patents

Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung Download PDF

Info

Publication number
DE60024941T2
DE60024941T2 DE60024941T DE60024941T DE60024941T2 DE 60024941 T2 DE60024941 T2 DE 60024941T2 DE 60024941 T DE60024941 T DE 60024941T DE 60024941 T DE60024941 T DE 60024941T DE 60024941 T2 DE60024941 T2 DE 60024941T2
Authority
DE
Germany
Prior art keywords
data
unit
block
mode
subkey
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
DE60024941T
Other languages
English (en)
Other versions
DE60024941D1 (de
DE60024941T8 (de
Inventor
Makoto Takarazu-shi Tatebayashi
Kaoru Ashiya-shi Yokota
Motoji Hirakata-shi Ohmori
Fumihiko Fuchu-shi Sano
Naoki Fuchu-shi Endo
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 DE60024941D1 publication Critical patent/DE60024941D1/de
Publication of DE60024941T2 publication Critical patent/DE60024941T2/de
Application granted granted Critical
Publication of DE60024941T8 publication Critical patent/DE60024941T8/de
Active legal-status Critical Current

Links

Classifications

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

  • HINTERGRUND DER ERFINDUNG
  • (1) Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine kryptographische Technik, die einen Klartext verschlüsselt, um einen Chiffretext zu erzeugen, und anschließend den Chiffretext entschlüsselt, um den ursprünglichen Klartext zu erhalten.
  • (2) Beschreibung des Standes der Technik
  • In den vergangenen Jahren ist es in zunehmender Weise üblich geworden, wichtige Informationen vor der Sendung zur verschlüsseln, um zu verhindern, dass Dritte deren Inhalt erfahren. Es wird daher nach sichereren Arten der Verschlüsselung gesucht.
  • Die japanische Patentanmeldungs-Offenlegungsschrift No. H11-7239 beschreibt ein Datenverschlüsselungsgerät, das auf das Erreichen einer sichereren Verschlüsselung abzielt.
  • Dieses Datenverschlüsselungsgerät unterteilt einen Klartext, der von außerhalb empfangen wird, in mehrere Klartextblöcke und verschlüsselt jeden Klartextblock unter Verwendung von Schlüsseldaten, um Chiffrentextblöcke zu erzeugen. Wenn der erste Klartextblock verschlüsselt wird, verwendet dieses Datenverschlüsselungsgerät Schlüsseldaten, die es von außerhalb des Gerätes erhält. Für den zweiten und die folgenden Klartextblöcke aktualisiert das Datenverschlüsse lungsgerät die Schlüsseldaten mit Hilfe des Chiffretextblocks, der erzeugt wird, wenn der vorhergehende Klartextblock verschlüsselt wird, und verschlüsselt den vorliegenden Klartextblock mit Hilfe dieser aktualisierten Schlüsseldaten.
  • Das Datenverschlüsselungsgerät verschlüsselt jeden Klartextblock in der folgenden Art und Weise. Das Datenverschlüsselungsgerät enthält eine Teilschlüssel-Erzeugungseinheit und erste bis achte Verschlüsselungseinheiten. Die Teilschlüssel-Erzeugungseinheit verwendet die Schlüsseldaten, um erste bis achte Teilschlüssel zu erzeugen. Jeder dieser ersten bis achten Teilschlüssel ist anders. Die erste Verschlüsselungseinheit erzeugt einen ersten Zwischenblock aus einem Klartextblock unter Verwendung des ersten Teilschlüssels. Die zweite Verschlüsselungseinheit erzeugt einen zweiten Zwischenblock aus dem ersten Zwischenblock unter Verwendung des zweiten Teilschlüssels. Die dritte bis siebte Verschlüsselungseinheit erzeugen in ähnlicher Weise dritte bis siebte Zwischenblöcke aus dem zweiten bis sechsten Zwischenblock mit Hilfe des dritten bis siebten Teilschlüssels. Die achte Verschlüsselungseinheit erzeugt einen Chiffretextblock aus dem siebten Zwischenblock unter Verwendung des achten Teilschlüssels.
  • Jeder Klartextblock wird mit Hilfe der Schlüsseldaten verschlüsselt, die für jeden Klartextblock unterschiedlich sind. Dadurch wird es schwierig, Paare von Klartexten, die unter Verwendung desselben Schlüssels verschlüsselt wurden, und die resultierenden Chiffretexte zu sammeln. Infolgedessen wird die Sicherheit der Verschlüsselung gegen bekannte Klartextangriffe, wie etwa die differentiale Kryptoanalyse und die lineare Kryptoanalyse, verbessert.
  • Die Teilschlüsselerzeugungseinheit in diesem Datenverschlüsselungsgerät muss jedoch zahlreiche unterschiedliche Teilschlüssel immer dann erzeugen, wenn ein Klartextblock verschlüsselt wird. Dies hat den Nachteil, das die Geschwindigkeit der kryptographischen Verarbeitung abnimmt.
  • Charnes C; O'Connor L; Pieprzyk J; Safavani-Naini R; Zheng Y: "Comments on Soviet Encryption Algorithm", ADVANCES IN CRYPTOLOGY-EUROCRYPT'94, PERUGIA, ITALIEN, ISBN 3-540-60176-7, Seite 433–438 beschreibt ein DES-Typ- Verschlüsselungssystem mit einem drastisch vereinfachten Schlüssel-Ablaufplan. Es verschlüsselt 64-Bit-Kryptogramme unter Verwendung von 256-Bit-Schlüsseln.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Die vorliegende Erfindung wurde im Hinblick auf das beschriebene Problem gemacht und hat zum Ziel, ein Verschlüsselungsgerät anzugeben, das eine kryptographische Verarbeitung ausführt, die schnell ist und ein hohes Maß an Sicherheit gegen bekannte Klartextangriffe bietet. Die Erfindung zielt zudem darauf ab, ein Verschlüsselungsverfahren, ein Verschlüsselungsgerät, ein Entschlüsselungsverfahren sowie ein Aufzeichnungsmedium anzugeben, das ein Verschlüsselungsprogramm und/oder ein Entschlüsselungsprogramm speichert, die jeweils denselben Effekt haben.
  • Das beschriebene Ziel kann durch ein Verschlüsselungsverfahren für die Verwendung durch ein Verschlüsselungsgerät, das Klartextdaten verschlüsselt, die aus einer Vielzahl von Blöcken bestehen, erreicht werden, wobei das Verschlüsselungsverfahren umfasst: einen Block-Bezugsschritt zum Beziehen der Klartextdaten der Reihe nach Block für Block von außerhalb des Verschlüsselungsgerätes; einen Wählschritt zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für einen momentanen Block, der im Block-Bezugsschritt bezogen wurde, in Übereinstimmung damit, wie viele Blöcke bezogen wurden; einen Teilschlüssel-Erzeugungsschritt zum Erzeugen (1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und (2) einer zweiten Gruppe, die aus weniger als n unterschiedlicher Teilschlüssel besteht, wenn die zweite Betriebsart gewählt ist; und einen Verschlüsselungsschritt zum Verschlüsseln des momentanen Blocks, indem der momentane Block der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge Teilschlüsseln in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  • Beim beschriebenen Verfahren werden in der zweiten Betriebsart weniger Teilschlüsselerzeugt, als in der ersten Betriebsart. Dies verringert eine Abnahme der Verarbeitungsgeschwindigkeit, die durch die Erzeugung der Teilschlüssel während der Verschlüsselung der Blöcke verursacht wird.
  • Hier kann der Wählschritt die erste Betriebsart für Blöcke immer dann wählen, wenn eine Zahl von Blöcken, die bezogen wurden, gleich einem Vielfachen eines vorbestimmten Wertes ist, und die zweite Betriebsart für alle anderen Fälle.
  • Beim beschriebenen Verfahren wird die erste Betriebsart lediglich für bestimmte Blöcke in den Klartextdaten gewählt. Die zweite Betriebsart wird für alle anderen Blöcke gewählt. Dies bedeutet, dass die zweite Betriebsart öfter gewählt wird, als die erste Betriebsart, und dass die Abnahmen der Geschwindigkeit der kryptographischen Verarbeitung für die gesamten Klartextdaten, die aus den Blöcken bestehen, verringert werden können.
  • Hier kann das Verschlüsselungsgerät eine Ausgangswert-Speichereinrichtung enthalten, die einen Ausgangswert speichert, kann der Verschlüsselungsschritt den momentanen Block verschlüsseln, um einen Chiffretextblock zu erzeugen, der eine vorbestimmte Länge hat, und kann der Teilschlüssel-Erzeugungsschritt die erste Gruppe unter Verwendung des Ausgangswertes in der ersten Betriebsart und die zweite Gruppe unter Verwendung des Ausgangswertes und des Chiffretextblocks, der zuletzt durch den Verschlüsselungsschritt erzeugt wurde, in der zweiten Betriebsart erzeugen.
  • Beim beschriebenen Verfahren wird jeder Klartextblock unter Verwendung unterschiedlicher Schlüsseldaten verschlüsselt. Dadurch wird es schwierig für Dritte, Paare von Klartexten, die unter Verwendung desselben Schlüssels verschlüsselt wurden, und die resultierenden Chiffretexte anzuhäufen. Dadurch wird die Sicherheit gegenüber bekannten Klartextangriffen, wie etwa der differentialen Kryptoanalyse und der linearen Kryptoanalyse, verbessert.
  • Das genannte Ziel kann durch ein Entschlüsselungsverfahren für die Verwendung durch ein Entschlüsselungsgerät erreicht werden, das Chiffretextdaten in Chiffretextblockeinheiten entschlüsselt, wobei das Entschlüsselungsverfahren umfasst: einen Block-Bezugsschritt zum Beziehen der Chiffretextdaten der Reihe nach Chiffretextblock für Chiffretextblock von außerhalb des Entschlüsselungsgerätes; einen Wählschritt zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für die Verwendung mit einem momentanen Chiffretextblock, der im Block-Bezugsschritt bezogen wurde, in Übereinstimmung damit, wie viele Chiffretextblöcke bezogen wurden; einen Teilschlüssel-Erzeugungsschritt zum Erzeugen (1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und (2) einer zweiten Gruppe, die aus weniger als n unterschiedlichen Teilschlüsseln besteht, wenn die zweite Betriebsart gewählt ist; und einen Entschlüsselungsschritt zum Entschlüsseln des momentanen Chiffretextblocks, indem der momentane Chiffretextblock der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge den Teilschlüsseln in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  • Beim beschriebenen Verfahren werden in der zweiten Betriebsart weniger Teilschlüssel erzeugt, als in der ersten Betriebsart. Dadurch werden die Abnahmen der Verarbeitungsgeschwindigkeit verringert, die durch die Erzeugung von Teilschlüsseln während der Entschlüsselung der Chiffretextblöcke verursacht werden.
  • Das beschriebene Ziel kann zudem mit einem Entschlüsselungsverfahren für die Verwendung durch ein Entschlüsselungsgerät erreicht werden, das Chiffretextdaten in Chiffretextblockeinheiten entschlüsselt, wobei das Entschlüsselungsverfahren umfasst: einen Block-Bezugsschritt zum Beziehen der Chiffretextdaten der Reihe nach Chiffretextblock für Chiffretextblock von außerhalb des Entschlüs selungsgerätes; einen Wählschritt zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für die Verwendung mit einem momentanen Chiffretextblock, der im Block-Bezugsschritt bezogen wurde, in Übereinstimmung damit, wie viele Chiffretextblöcke bezogen wurden; einen Teilschlüssel-Erzeugungsschritt zum Erzeugen (1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und (2) einer zweiten Gruppe, die aus weniger als n unterschiedlichen Teilschlüsseln besteht, wenn die zweite Betriebsart gewählt ist; und einen Entschlüsselungsschritt zum Entschlüsseln des momentanen Chiffretextblocks, indem der momentane Chiffretextblock der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge den Teilschlüsseln in der zweiten Gruppe zugeordnet werden und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  • Beim beschriebenen Verfahren wird die erste Betriebsart lediglich für bestimmte Blöcke in den Klartextdaten gewählt. Die zweite Betriebsart wird für alle anderen Blöcke gewählt. Dies bedeutet, dass die zweite Betriebsart öfter gewählt wird, als die erste Betriebsart, und dass die Abnahmen in der Entschlüsselungs-Verarbeitungsgeschwindigkeit für die gesamten Chiffretextdaten, die aus den Chiffretextblöcken bestehen, verringert werden kann.
  • Hier kann das Entschlüsselungsgerät eine Ausgangswert-Speichereinrichtung zum Speichern eines Ausgangswertes enthalten, wobei der Teilschlüssel-Erzeugungsschritt die erste Gruppe unter Verwendung des Ausgangswertes in der ersten Betriebsart erzeugt und die zweite Gruppe unter Verwendung des Ausgangswertes und des Chiffretextblocks, der unmittelbar vor dem momentanen Chiffretextblock bezogen wurde, in der zweiten Betriebsart erzeugt.
  • Beim beschriebenen Verfahren wird jeder Chiffretextblock unter Verwendung unterschiedlicher Schlüsseldaten entschlüsselt. Dadurch wird es für Dritte schwer, Paare von Klartexten, die unter Verwendung desselben Schlüssels verschlüsselt wurden, und die resultierenden Chiffretexte zu sammeln. Auf diese Weise wird die Sicherheit gegen bekannte Klartextangriffe, wie etwa der differentialen Kryptoanalyse und der linearen Kryptoanalyse, verbessert.
  • Wie es oben beschrieben wurde, erreicht die vorliegende Erfindung ein ähnliches Sicherheitsniveau wie die beschriebene herkömmliche Technik, wobei die Geschwindigkeit der kryptographischen Verarbeitung verbessert wird. Die Erfindung eignet sich für Vorgänge, wie etwa die geheime Kommunikation von Bildern und anderen Informationen in Echtzeit. Mit dem momentanen Bedarf an Verbesserungen in die Multimediatechnologie gewinnt der Effekt der vorliegenden Erfindung besondere Bedeutung.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Ziele, Vorteile und Merkmale der Erfindung werden aus der folgenden Beschreibung derselben in Verbindung mit den beiliegenden Zeichnungen deutlich, die eine spezielle Ausführungsform der Erfindung darstellen.
  • 1 ist ein Blockschaltbild, das den Aufbau eines verschlüsselten Kommunikationssystems 5 zeigt, das eine bevorzugte Ausführungsform der vorliegenden Erfindung darstellt;
  • 2 ist ein Blockschaltbild, das den Aufbau der Datenverschlüsselungseinheit 10 im Sendegerät 1 zeigt;
  • 3 ist ein Blockschaltbild, das die Aufbauten der Verschlüsselungseinheit 100 und der Teilschlüsseldaten-Erzeugungseinheit 101 zeigt;
  • 4 ist ein Blockschaltbild, das den Aufbau der Daten-Zufallserzeugungseinheit 301 zeigt;
  • 5A und 5B sind konzeptionelle Zeichnungen, die zeigen welche der Vielzahl von Sätzen von Teilschlüsseldaten, die durch die Teilschlüsseldaten-Erzeugungseinheit 101 erzeugt werden, jeweils von der ersten bis 16. Verschlüsselungseinheit der Verschlüsselungseinheit 100 verwendet werden, wobei 5A den Fall zeigt, bei dem der Teilschlüsseldaten-Erzeugungstyp A ist, und 5B den Fall darstellt, bei dem der Teilschlüsseldaten-Erzeugungstyp B ist;
  • 6 zeigt die Entsprechung zwischen dem Zählwert, den eingegebenen Schlüsseldaten und dem Teilschlüsseldaten-Erzeugungstyp;
  • 7 ist ein Blockschaltbild, das den Aufbau der Datenentschlüsselungseinheit 20 im Empfangsgerät 2 zeigt;
  • 8 ist ein Flussdiagramm, das den Gesamtbetrieb des Sendegerätes 1 darstellt;
  • 9 ist ein Flussdiagramm, das den Betrieb der Datenverschlüsselungseinheit 10 des Sendegerätes 1 darstellt;
  • 10 ist ein Flussdiagramm, das den Betrieb der Zähleinheit 105 in der Datenverschlüsselungseinheit 10 zeigt;
  • 11 ist ein Flussdiagramm, das den Betrieb der Registereinheit 104 in der Datenverschlüsselungseinheit 10 darstellt;
  • 12 ist ein Flussdiagramm des ersten Betriebsteils der Teilschlüsseldaten-Erzeugungseinheit 101 in der Datenverschlüsselungseinheit 10;
  • 13 ist ein Flussdiagramm des letzten Betriebsteils der Teilschlüsseldaten-Erzeugungseinheit 101 in der Datenverschlüsselungseinheit 10; und
  • 14 ist ein Flussdiagramm, das den Betrieb der Daten-Zufallserzeugungseinheit 301 in der Teilschlüsseldaten-Erzeugungseinheit 101 zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Im folgenden wird ein verschlüsseltes Kommunikationssystem 5 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung erläutert.
  • 1. Aufbau des verschlüsselten Kommunikationssystems 5
  • Wie in 1 dargestellt, besteht das verschlüsselte Kommunikationssystem 5 aus einem Sendegerät 1, einem Empfangsgerät 2 und einem Übertragungsweg 3. Der Übertragungsweg 3 verbindet das Sendegerät 1 mit dem Empfangsgerät 2.
  • Das Sendegerät 1 und das Empfangsgerät 2 wurden jeweils zuvor mit denselben Verschlüsselungsschlüsseldaten EK ausgestattet. Das Sendegerät 1 verschlüsselt die Klartextdaten P unter Verwendung der Verschlüsselungsschlüsseldaten EK, um die Chiffretextdaten C zu erzeugen, und sendet anschließend die erzeugten Chiffretextdaten C zum Empfangsgerät 2 über den Übertragungsweg 3. Das Empfangsgerät 2 empfängt diese Chiffretextdaten C, entschlüsselt die Chiffretextdaten C unter Verwendung der Verschlüsselungsschlüsseldaten EK und erzeugt auf diese Weise die entschlüsselten Textdaten D. Hier ist die Entschlüsselung, die vom Empfangsgerät 2 ausgeführt wird, die Umkehrung der Verschlüsselung, die vom Sendegerät 1 ausgeführt wird, so dass die entschlüsselten Textdaten D, die durch die Entschlüsselung erzeugt werden, dieselben sind, wie die Klartextdaten P.
  • 1.1 Aufbauten des Sendegerätes 1 und des Empfangsgerätes 2
  • (1) Aufbau des Sendegerätes 1
  • Wie es in 1 dargestellt ist, besteht das Sendegerät 1 aus einer Klartextdaten-Speichereinheit 12, einer Verschlüsselungsschlüsseldaten-Speichereinheit 13, einer Datenverschlüsselungseinheit 10 und einer Sendeinheit 11.
  • Die Klartextdaten-Speichereinheit 12 speichert die Klartextdaten P im voraus. Diese Klartextdaten P sind digitale Daten, die wenigstens 64 Bits enthalten und beispielsweise digital codierte Audio- oder Bildinformationen sein können.
  • Die Verschlüsselungsschlüssel-Datenspeichereinheit 13 speichert 64-Bit-Verschlüsselungsschlüsseldaten EK im voraus. Die Verschlüsselungsschlüsseldaten EK werden im voraus sowohl für das Sendegerät 1 als auch das Empfangsgerät 2 festgelegt.
  • Die Datenverschlüsselungseinheit 10 liest die Klartextdaten P aus der Klartextdaten-Speichereinheit 12 und die Verschlüsselungsschlüsseldaten EK aus der Verschlüsselungsschlüsseldaten-Speichereinheit 13. Die Datenverschlüsselungseinheit 10 verschlüsselt daraufhin die Klartextdaten P unter Verwendung der Verschlüsselungsschlüsseldaten EK, um die Chiffretextdaten C zu erzeugen. Die Datenverschlüsselungseinheit 10 gibt die resultierenden Chiffretextdaten C an die Sendeeinheit 11 aus. Diese Datenverschlüsselungseinheit 10 wird später im Detail in dieser Beschreibung erläutert.
  • Die Sendeinheit 11 empfängt die Chiffretextdaten C, führt eine Parallel-zu-Seriell-Umwandlung an den Chiffretextdaten C aus und moduliert und verstärkt anschließend die umgewandelten Daten, um Signale zu erzeugen. Die Sendeinheit 11 sendet diese Signale über den Übertragungsweg 3 zum Empfangsgerät.
  • (2) Aufbau des Empfangsgerätes
  • Wie 1 dargestellt, besteht das Empfangsgerät aus einer Entschlüsselungstextdaten-Speichereinheit 22, einer Verschlüsselungsschlüsseldaten-Speichereinheit 23, einer Datenentschlüsselungseinheit 20 und einer Empfangseinheit 21.
  • Die Empfangseinheit 21 empfängt Signale, die von der Sendeeinheit 11 des Sendegerätes 1 gesendet werden, über den Übertragungsweg 3, demoduliert die Signale und führt eine Seriell-zu-Parallel-Umwandlung aus, um die Chiffretextdaten C zu erhalten. Die Empfangseinheit 21 gibt diese Chiffretextdaten C an die Datenentschlüsselungseinheit 20 aus.
  • Die Verschlüsselungsschlüsseldaten-Speichereinheit 23 speichert 64-Bit-Verschlüsselungsschlüsseldaten EK im voraus. Diese Verschlüsselungsschlüsseldaten EK sind dieselben, wie jene, die von der Verschlüsselungsschlüsseldaten-Speichereinheit 13 im Sendegerät 1 gespeichert werden. Die Datenentschlüsselungseinheit 20 empfängt die Chiffretextdaten C und liest die Verschlüsselungsschlüsseldaten EK aus der Verschlüsselungsschlüsseldaten-Speichereinheit 23. Die Datenentschlüsselungseinheit 20 entschlüsselt die Chiffretextdaten C unter Verwendung der Verschlüsselungsschlüsseldaten EK, um die entschlüsselten Textdaten D zu erzeugen. Die Datenentschlüsselungseinheit 20 schreibt diese entschlüsselten Textdaten D in die Entschlüsselungstextdaten-Speichereinheit 22. Die Entschlüsselung, die von der Datenentschlüsselungseinheit 20 ausgeführt wird, ist die Umkehrung der Verschlüsselung, die von der Datenverschlüsselungseinheit 10 ausgeführt wird. Dies bedeutet, dass die Entschlüsselungstextdaten D dieselben sind, wie die ursprünglichen Klartextdaten P. Diese Datenentschlüsselungseinheit 20 wird ebenfalls später detailliert in dieser Beschreibung erläutert.
  • Die Entschlüsselungstextdaten-Speichereinheit 22 speichert die entschlüsselten Textdaten D.
  • 1.2 Aufbau der Datenverschlüsselungseinheit 10
  • Wie in 2 gezeigt, besteht die Datenverschlüsselungseinheit 10 aus einer Verschlüsselungseinheit 100, einer Teilschlüsseldaten-Erzeugungseinheit 101, einer logischen XODER-Einheit 102, einer Datenumwandlungseinheit 103, einer Registereinheit 104, einer Zählereinheit 105, einer Teilschlüsseldaten-Erzeugungssteuereinheit 106, einer Registersteuereinheit 107, einer Blockunterteilungseinheit 108, einer Blockkombiniereinheit 109, einer Schlüsselbezugseinheit 110 und einer Schlüsselspeichereinheit 111.
  • (1) Blockunterteilungseinheit 108
  • Die Blockunterteilungseinheit 108 liest die Klartextdaten P aus der Klartextdaten-Speichereinheit 12 und unterteilt die Klartextdaten P in Blockeinheiten, die vom Beginn der Klartextdaten P gemessen werden, um eine Vielzahl vom Klartextblöcken Pt zu erzeugen (wobei t = 0, 1, 2 ... ist). Jeder Klartextblock Pt ist 64 Bits lang. Die Blockunterteilungseinheit 108 gibt die Klartextblöcke Pt nacheinander an die Verschlüsselungseinheit 100 aus. Nach dem Ausgeben sämtlicher Klartextblöcke Pt gibt die Blockunterteilungseinheit 108 Informationen, die zeigen, das die Ausgabe abgeschlossen ist, an die Blockkombiniereinheit 109 aus.
  • (2) Schlüsselbezugseinheit 110
  • Die Schlüsselbezugseinheit 110 liest die Verschlüsselungsschlüsseldaten EK aus der Verschlüsselungsschlüsseldaten-Speichereinheit 13 und schreibt die gelesenen Verschlüsselungsschlüsseldaten EK in die Schlüsselspeichereinheit 111.
  • (3) Schlüsselspeichereinheit 111
  • Die Schlüsselspeichereinheit 111 speichert die Verschlüsselungsschlüsseldaten EK.
  • (4) Verschlüsselungseinheit
  • Wie in 3 gezeigt, enthält die Verschlüsselungseinheit 100 eine erste Verschlüsselungseinheit 100a, eine zweite Verschlüsselungseinheit 100b, ... eine 15. Verschlüsselungseinheit 100c und eine 16. Verschlüsselungseinheit 100d.
  • Die erste Verschlüsselungseinheit 100a bezieht einen Klartextblock Pt von der Blockunterteilungseinheit 108 und erste Teilschlüsseldaten SK0 von der Teilschlüsseldaten-Erzeugungseinheit 101. Die ersten Teilschlüsseldaten SK0 sind 32 Bits lang. Die erste Verschlüsselungseinheit 100a verschlüsselt den bezogenen Klartextblock Pt unter Verwendung der ersten Teilschlüsseldaten SK0, um einen ersten Zwischenblock zu erzeugen. Die erste Verschlüsselungseinheit 100a gibt den ersten Zwischenblock an die zweite Verschlüsselungseinheit 100b aus.
  • Die Verschlüsselung, die von der ersten Verschlüsselungseinheit 100a ausgeführt wird, ist der Datenverschlüsselungsteil eines FEAL- (Schnellen Datenchiffrieralgorithmus) Verschlüsselungsverfahrens, das eine hinlänglich bekannte Blockverschlüsselungstechnik ist.
  • Die zweite bis 15. Verschlüsselungseinheit empfangen jeweils einen Zwischenblock von einer vorangehenden Verschlüsselungseinheit in der ersten bis 14. Verschlüsselungseinheit und zweite bis 15. Teilschlüsseldaten SK1 bis SK14 von der Teilschlüsseldaten-Erzeugungseinheit 101. Jeder des zweiten bis 15. Satzes von Teilschlüsseldaten SK1 bis SK14 ist 32 Bits lang. Die zweite bis 15. Verschlüsselungseinheit verschlüsseln jeweils den empfangenen Zwischenblock unter Verwendung der zweiten bis 15. Teilschlüsseldaten SK1 bis SK14, um zweite bis 15. Zwischenblöcke zu erzeugen, die jeweils an die dritte bis 16. Verschlüsselungseinheit ausgegeben werden.
  • Die 16. Verschlüsselungseinheit 100d bezieht den 15. Zwischenblock von der 15. Verschlüsselungseinheit 100c und erhält die 16. Teilschlüsseldaten SK15 von der Teilschlüsseldaten-Erzeugungseinheit 101. Die 16. Teilschlüsseldaten SK15 sind ebenfalls 32 Bits lang. Die 16. Verschlüsselungseinheit 100d verschlüsselt den bezogenen Zwischenblock unter Verwendung der 16. Teilschlüsseldaten SK15, um den Chiffretextblock Ct zu erzeugen.
  • Gleichung 7
    • Ct = Enc (Pt, SK0t)
  • Hier zeigt der Ausdruck Enc (Pt, SK0t), dass der Klartextdatenblock Pt mit Hilfe einer Gruppe SK0t (SK0 bis SK15) von Teilschlüsseldaten verschlüsselt wird, die als Teil des t-ten Verschlüsselungsvorgangs erzeugt wurden.
  • Die 16. Verschlüsselungseinheit 100d gibt den Chiffretextblock Ct, den sie erzeugt hat, an die Blockkombiniereinheit 109 aus.
  • Nachdem der erzeugte Chiffretextblock Ct and die Blockkombiniereinheit 109 ausgegeben wurde, gibt die Verschlüsselungseinheit 100 Informationen, die zeigen, dass die Verschlüsselung des Klartextblocks abgeschlossen ist, an die Zählereinheit 105 aus.
  • (5) Registereinheit 104
  • Die Registereinheit 104 enthält Bereiche zum Speichern eines 64-Bit-Ausgangswertes IV und 64-Bit-Speicherdaten R0t. Der Wert der Speicherdaten R0t wird als Ausgangswert IV im voraus eingestellt.
  • Die Registereinheit 104 empfängt den Chiffretextblock Ct von der 16. Verschlüsselungseinheit 100d.
  • Die Registereinheit 104 empfängt ein Steuersignal von der Registersteuereinheit 107. Wenn das empfangene Steuersignal "0" ist und ein Chiffretextblock Ct von der 16. Verschlüsselungseinheit 1000d empfangen wird, speichert die Registereinheit 104 den Chiffretextblock Ct als Speicherdaten R0t. Wenn das empfangene Steuersignal "1" ist, liest die Registereinheit 104 den Ausgangswert IV und speichert den Ausgangswert IV als Speicherdaten R0t.
  • Anders gesagt wird angenommen, dass T für einen vorbestimmten Zyklus steht, und dass n 0, 1, ... ist. Wenn der (T·n)te Klartextblock Pt (wobei t = T·n) verschlüsselt wird, setzt die Registereinheit 104 den gespeicherten Wert R0t unter Verwendung des Ausgangswertes IV zurück, der zuvor eingestellt wurde. Der Wert "T" wird im voraus eingestellt und wird später in dieser Beschreibung erläutert. Wenn ein Klartextblock, der nicht ein (T·n)ter Klartextblock ist (sozusagen ein Klartextblock Pt, bei dem t ≠ T·n), verschlüselt wird, wird der empfangene Chiffretextblock Ct als Speicherdaten R0t gespeichert.
  • (6) Datenumwandlungseinheit 103
  • Die Datenumwandlungseinheit 103 liest die 64-Bit-Speicherdaten R0t aus der Registereinheit 104. Wenn die Verschlüsselungseinheit 100 den tten Klartextblock Pt verschlüsselt, liest die Datenumwandlungseinheit 103 die 64-Bit-Daten R0t, die unten aufgeführt sind.
  • Gleichung 1
    • Wenn t ≠ T·k (wobei k = 0, 1, ...) ist R0t = Ct–1
  • Gleichung 2
    • Wenn t = T·k (wobei k = 0, 1, ...) ist R0t = IV
  • Die Datenumwandlungseinheit 103 unterzieht die gelesenen Speicherdaten R0t einer vorbestimmten Datenumwandlung f, um S0t zu erzeugen.
  • Gleichung 3
    • S0t = f(R0t)
  • Bei dieser Beschreibung steht der Ausdruck f(X) für das Ergebnis der Eingangsdaten X, die der vorbestimmten Datenumwandlung f unterzogen wurden. Diese vorbestimmte Datenumwandlung f ist eine 13-Bit-Drehverschiebung zum MSB (höchstwertigen Bit) von 64-Bit-Daten.
  • Anschließend gibt die Datenumwandlungseinheit 103 die 64-Bit-Daten S0t, die durch die Umwandlung erzeugt wurden, an die logische XODER-Einheit 102 aus.
  • (7) Logischer XODER-Einheit 102
  • Die logische XODER-Einheit 102 empfängt die 64-Bit-Daten S0t von der Datenumwandlungseinheit 103 und liest die Verschlüsselungsschlüsseldaten EK aus der Schlüsselspeichereinheit 111.
  • Die logische XODER-Einheit 102 nimmt ein XODER für jedes Bit in den 64-Bit-Daten S0t und ein entsprechendes Bit in den Verschlüsselungsdaten EK und erzeugt auf diese Weise die 64-Bit-Eingabeschlüsseldaten IK0t.
  • Gleichung 4
    • IK0t = S0t(+)EK
  • Es wird darauf hingewiesen, dass in der oben genannten Gleichung das Symbol "(+)" verwendet wird, um eine XODER-Operation zu kennzeichnen.
  • Die logische XODER-Einheit 102 gibt die Eingangsschlüsseldaten IK0t, die sie erzeugt hat, an die Teilschlüsseldaten-Erzeugungseinheit 101 aus.
  • (8) Teilschlüsseldaten-Erzeugungseinheit 101
  • Die Teilschlüsseldaten-Erzeugungseinheit 101 empfängt ein Steuersignal von der Teilschlüsseldaten-Erzeugungssteuereinheit 106 und die Eingangsschlüsseldaten IK0t von der logischen XODER-Einheit 102. Dieses Steuersignal zeigt an, ob ein (T·n)ter Klartextblock (wobei n = 0, 1, ...) verschlüsselt wird. Eine derartige Verschlüsselung findet einmal in jedem vorbestimmten Zyklus T statt. Beim vorliegenden Beispiel ist der vorbestimmte Zyklus T auf 210 Verschlüsselungsoperationen eingestellt.
  • Die Teilschlüsseldaten-Erzeugungseinheit 101 eignet sich für zwei (Typ A und Typ B) Teilschlüsselerzeugungsvorgänge. Der Typ-A-Teilschlüsselerzeugungsvorgang lastet den Prozessor stark aus, während Typ B den Prozessor geringfügig auslastet. Gemäß dem empfangenen Steuersignal wählt die Teilschlüsseldaten-Erzeugungseinheit 101 einen der beiden Typen der Teilschlüsselerzeugungsvorgänge und führt den gewählten Vorgang unter Verwendung der Eingangsschlüsseldaten IK0t aus, um 16 Sätze von 32-Bit-Teilschlüsseldaten zu erzeugen (d.h. die ersten bis 16. ersten Teilschlüsseldaten SK0 bis SK15).
  • Gleichung 5
    • Wenn t ≠ T·k(k = 0, 1, ...) ist SK0t = KGB (IK0t)
  • Hier bezieht sich der Ausdruck KGB(X) auf 16 Sätze von Teilschlüsseldaten, die aus den Eingangsschlüsseldaten IK0t durch den Typ-B-Teilschlüsseldaten-Erzeugungsvorgang erzeugt werden. Diese 16 Sätze von Teilschlüsseldaten bestehen aus zwei Typen von Teilschlüsseldaten.
  • Gleichung 6
    • Wenn t = T·k (k = 0, 1, ...) ist SK0t = KGA (IK0t)
  • Der Ausdruck KGA(X) steht für die 16 Sätze von Teilschlüsseldaten, die durch den Typ-A-Teilschlüsseldaten-Erzeugungsvorgang erzeugt werden. Jeder dieser 16 Sätze von Teilschlüsseldaten unterscheidet sich von den anderen.
  • Die Teilschlüsseldaten-Erzeugungseinheit 101 gibt 16 Sätze von Teilschlüsseldaten SK0 bis SK15, die sie erzeugt hat, an die erste bis 16. Verschlüsselungseinheit der Verschlüsselungseinheit 100 aus.
  • 6 zeigt die Beziehung zwischen dem Zählwert der Zählereinheit 105, den Eingangsschlüsseldaten, die von der Teilschlüsseldaten-Erzeugungseinheit 101 empfangen werden, und dem Typ (A oder B) des Teilschlüssel- Erzeugungsvorgangs, der von der Teilschlüsseldaten-Erzeugungseinheit 101 verwendet wird. Wenn der Zählwert "0" ist, werden die Eingangsschlüsseldaten unter Verwendung der Verschlüsselungsschlüsseldaten EK und des Ausgangswertes IV erzeugt, wobei der Typ-A-Teilschlüsselerzeugungsvorgang verwendet wird. Wenn im Gegensatz dazu der Zählwert "1" bis "210–1" ist, werden die Eingangsschlüsseldaten unter Verwendung der Verschlüsselungsschlüsseldaten EK und des Chiffretextblocks, der vom vorangehenden Verschlüsselungsvorgang erzeugt wurde, erzeugt, wobei der Typ-B-Teilschlüsselerzeugungsvorgang verwendet wird.
  • Wie in 3 gezeigt, besteht die Teilschlüsseldaten-Erzeugungseinheit 101 aus der Daten-Zufallserzeugungseinheit 301, der Zufallsdaten-Speichereinheit 302 und der Stufenzahl-Steuereinheit 303.
  • (a) Daten-Zufallserzeugungseinheit 301
  • Die Daten-Zufallserzeugungseinheit 301 empfängt 64-Bit-Daten von der Stufenzahl-Steuereinheit 303, führt einen vorbestimmten Daten-Zufallserzeugungsvorgang an diesen Daten aus und erzeugt auf diese Weise 32-Bit-Teilschlüsseldaten SK und 64-Bit-Zufallsdaten. Die Daten-Zufallserzeugungseinheit 301 gibt die 32-Bit-Teilschlüsseldaten SK an die Zufallsdaten-Speichereinheit 302 und die erzeugten 64-Bit-Zufallsdaten an die Stufenzahl-Steuereinheit 303 aus.
  • Wie in 4 gezeigt, besteht die Daten-Zufallserzeugungseinheit 301 aus einer Trenneinheit 301a, einer logischen XODER-Einheit 301b, einer Datenverwürfelungseinheit 301c und einer Kombiniereinheit 301d.
  • Trenneinheit 301a
  • Die Trenneinheit 301a empfängt 64-Bit-Daten von der Stufenzahl-Steuereinheit 303 und trennt diese Daten in die oberen 32 Bits (im folgenden "Daten A1" ge nannt) und die unteren 32 Bits (im folgenden "Daten A0" genannt). Die Trenneinheit 301a gibt die Daten A1 an die logische XODER-Einheit 301b sowie die Datenverwürfelungseinheit 301c und die Daten A0 an die Kombiniereinheit 301d sowie die Datenverwürfelungseinheit 301c aus.
  • Datenverwürfelungseinheit 301c
  • Die Datenverwürfelungseinheit 301c empfängt die Daten A0 und die Daten A1 von der Trenneinheit 301a, nimmt ein exklusives ODER für jedes Bit in den Daten A0 und den Daten A1 und bezieht somit 32-Bit-Daten. Die Datenverwürtelungseinheit 301c trennt diese Daten in vier Sätze zu 8-Bit-Daten, führt eine vorbestimmte Ersetzung für jeden Satz der 8-Bit-Daten aus und erzeugt somit vier Sätze von 8-Bit-Daten. Die vorbestimmte Ersetzung, auf die sich hier bezogen wird, wird unter Verwendung einer Tabelle ausgeführt, die 256 8-Bit-Werte speichert, die Adresswerten von "0" bis "255" zugewiesen wurden.
  • Anschließend erzeugt die Datenverwürfelungseinheit 301c 32-Bit-Daten durch Kombinieren der vier Sätze von 8-Bit-Daten, die sie erzeugt hat. Die Datenverwürfelungseinheit 301c transponiert spezifische Bits in diesem 32-Bit-Wert, um die neuen 32-Bit-Daten C1 zu erzeugen, die sie an die logische XODER-Einheit 301b ausgibt.
  • Logische XODER-Einheit 301b
  • Die logische XODER-Enheit 301b empfängt die Daten A1 von der Trenneinheit 301a und die 32-Bit-Daten C1 von der Datenverwürfelungseinheit 301c. Die logische XODER-Einheit 301b nimmt ein logisches XODER für jedes Bit in den Daten A1 und den Daten C1, um die 32-Bit-Teilschlüsseldaten B0 zu erzeugen. Die logischer XODER-Einheit 301b gibt anschließend diese Teilschlüsseldaten B0 an die Zufallsdaten-Speichereinheit 302 und die Kombiniereinheit 301d aus.
  • Kombiniereinheit 301d
  • Die Kombiniereinheit 301d empfängt die Daten A0 von der Trenneinheit 301a und die Teilschlüsseldaten B0 von der logischen XODER-Einheit 301b. Die Kombiniereinheit 301d kombiniert die Daten A0 und die Teilschlüsseldaten B0, um 64-Bit-Zufallsdaten zu erzeugen, die die Daten A0 als die oberen 32 Bits und die Teilschlüsseldaten B0 als untere Bits enthalten. Die Kombiniereinheit 301d gibt diese 64-Bit-Zufallsdaten an die Stufenzahl-Steuereinheit 303 aus.
  • (b) Stufenzahl-Steuereinheit 303
  • Die Stufenzahl-Steuereinheit 303 arbeitet wie unten beschrieben, damit die Daten-Zufallserzeugungseinheit 301 den Daten-Zufallserzeugungsvorgang wiederholt.
  • Die Stufenzahl-Steuereinheit 303 ist mit einem Bereich zum Speichern (1) einer Verarbeitungsiterationszahl, die eine Gesamtzahl der Häufigkeit anzeigt, mit der die Daten-Zufallserzeugungseinheit 301 den Zufallserzeugungsvorgang ausgeführt hat, und (2) einer Maximalzahl von Iterationen ausgestattet.
  • Die Stufenzahl-Steuereinheit 303 empfängt die Eingangsteilschlüsseldaten von der logischen XODER-Einheit 102 oder die 64-Bit-Zufallsdaten von der Daten-Zufallserzeugungseinheit 301. Die Stufenzahl-Steuereinheit 303 empfängt zudem ein Steuersignal von der Teilschlüsseldaten-Erzeugungssteuereinheit 106. Wenn das empfangene Steuersignal "1" ist, wird die Maximalzahl von Iterationen auf "16" eingestellt. Wenn das empfangene Steuersignal "0" ist, wird die Maximalzahl von Iterationen auf "2" eingestellt. Bei Empfang eines Steuersignals setzt die Stufenzahl-Steuereinheit 303 die Verarbeitungsiterationszahl auf "0" zurück.
  • Die Stufenzahl-Steuereinheit 303 empfängt die Eingangsschlüsseldaten oder Zufallsschlüsseldaten, fügt Eins zur Verarbeitungsiterationszahl hinzu und vergleicht die Verarbeitungsiterationszahl mit der Maximalzahl von Iterationen. Ist die Verarbeitungsiterationszahl gleich der Maximalzahl von Iterationen, gibt die Stufenzahl-Steuereinheit 303 die Eingangsschlüsseldaten oder Zufallschlüsseldaten, die sie empfangen hat, an die Daten-Zufallserzeugungseinheit 301 aus, um die wiederholte Verarbeitung zu vervollständigen. Wenn die Verarbeitungsiterationszahl unter der Maximalzahl von Iterationen ist, gibt die Stufenzahl-Steuereinheit 303 die Eingangsschlüsseldaten oder Zufallschlüsseldaten, die sie empfangen hat, an die Daten-Zufallserzeugungseinheit 301 aus und lässt eine weitere Iteration der wiederholten Verarbeitung ausführen.
  • Es wird darauf hingewiesen, dass während der ersten Iteration der wiederholten Verarbeitung die Stufenzahl-Steuereinheit 303 die Eingangsschlüsseldaten, die sie empfangen hat, an die Daten-Zufallserzeugungseinheit 301 ausgibt. Bei der zweiten und den folgenden Iterationen gibt die Stufenzahl-Steuereinheit 303 die Zufallsdaten, die sie empfangen hat, an die Daten-Zufallserzeugungseinheit 301 aus.
  • Wie es oben beschrieben wurden, steuert die Stufenzahl-Steuereinheit 303 die Daten-Zufallserzeugungseinheit 301, damit diese den Zufallserzeugungsvorgang zweimal oder 16 mal ausführt. Wenn ein (T·n)ter Klartextblock (wobei n = 0, 1, ...) verschlüsselt wird, lässt die wiederholte Verarbeitung die Daten-Zufallserzeugungseinheit 301 16 Sätze von Teilschlüsseldaten an die Zufallsdaten-Speichereinheit 302 ausgeben. In allen anderen Fällen gibt die Daten-Zufallserzeugungseinheit 301 jedoch zwei Sätze von Teilschlüsseldaten an die Zufallsdaten-Speichereinheit 302 aus.
  • (c) Zufallsdaten-Speichereinheit 302
  • Die Zufallsdaten-Speichereinheit 302 empfängt ein Steuersignal von der Teilschlüsseldaten-Erzeugungssteuereinheit 106. Die Zufallsdaten-Steuereinheit 302 empfängt zudem aufeinanderfolgend 16 Sätze von Teilschlüsseldaten oder zwei Sätze von Teilschlüsseldaten von der Daten-Zufallserzeugungseinheit 301. Die 16 Sätze von Teilschlüsseldaten werden jeweils mit SK0 bis SK15 numeriert, während die beiden Sätze von Teilschlüsseldaten jeweils mit SK0 und SK1 numeriert werden. Nach dem Empfang derartiger Daten, speichert die Zufallsdaten- Speichereinheit 302 entweder die 16 Sätze von Teilschlüsseldaten SK0 bis SK15 oder die beiden Sätze der Teilschlüsseldaten SK0 und SK1.
  • Wie es in 5A dargestellt ist, liest, wenn das empfangene Steuersignal "1" ist, die Zufallsdaten-Speichereinheit 302 die gespeicherten Sätze von Teilschlüsseldaten SK0 bis SK15 und gibt diese Sätze von Teilschlüsseldaten SK0 bis SK15 an die erste bis 16. Verschlüsselungseinheit aus.
  • Wenn, wie in 5B gezeigt, das empfangene Steuersignal "0" ist, liest die Zufallsdaten-Speichereinheit 302 die gespeicherten Sätze von Teilschlüsseldaten SK0 und SK1 und anschließend die Sätze SK14=SK1 2=SK10=SK8=SK6=SK4=SK2=SK0 und SK15=SK13=SK11=SK9=SK7=SK5=SK3=SK1 aus. Danach gibt die Zufallsdaten-Speichereinheit 302 die Sätze von Teilschlüsseldaten SK0 bis SK15 an die erste bis 16. Verschlüsselungseinheit aus.
  • Die Sätze der Teilschlüsseldaten SK0 bis SK15 werden jeweils als erster bis 16. Satz von Teilschlüsseldaten verwendet.
  • (9) Zählereinheit 105
  • Die Zählereinheit 105 ist mit einem internen Bereich zum Speichern eines Zählwertes ausgestattet. Dieser Zählwert wird unter Verwendung des Ausgangswertes "0" initialisiert.
  • Die Zählereinheit 105 empfängt Vervollständigungsinformationen von der Verschlüsselungseinheit 100. Diese Informationen zeigen, dass die Verschlüsselung eines Klartextblocks abgeschlossen ist. Beim empfangen der Vervollständigungsinformationen, fügt die Zählereinheit "1" zum Zählwert hinzu. Wenn "1" zu einem Zählwert hinzugefügt wird, der bereits "210–1" beträgt, setzt die Zählereinheit 105 den Zählwert auf "0" zurück.
  • 10 Teilschlüsseldaten-Erzeugungsteuereinheit 106
  • Die Teilschlüsseldaten-Erzeugungssteuereinheit 106 liest den Zählwert aus der Zählereinheit 105. Wenn der Zählwert "0" ist, gibt die Teilschlüsseldaten-Erzeugungssteuereinheit 106 ein Steuersignal mit dem Wert "1" an die Teilschlüsseldaten-Erzeugungseinheit 101 aus. Wenn der Zählwert nicht "0" ist, gibt die Teilschlüsseldaten-Erzeugungssteuereinheit 106 ein Steuersignal mit dem Wert "0" aus.
  • (11) Registersteuereinheit 107
  • Die Registersteuereinheit 107 liest ebenfalls den Zählwert aus der Zählereinheit 105. Wenn der Zählwert "0" ist, gibt die Registersteuereinheit 107 ein Steuersignal mit dem Wert "1" an die Registereinheit 104 aus. Wenn der Zählwert nicht "0" ist, gibt die Registersteuereinheit 107 ein Steuersignal mit dem Wert "0" an die Registereinheit 104 aus.
  • (12) Blockkombiniereinheit 109
  • Die Blockkombiniereinheit 109 empfängt nacheinander die Chiffretextblöcke Ct von der Verschlüsselungseinheit 100 und empfängt Informationen, die die Vervollständigung der Ausgabe anzeigen, von der Blockunterteilungseinheit 108.
  • Beim Empfangen der Informationen, die eine Vervollständigung der Ausgabe kennzeichnen, kombiniert die Blockkombiniereinheit 109 alle der empfangenen Chiffretextblöcke Ct (t = 0, 1, 2, ...) in der Reihenfolge, in der sie sie empfangen hat, um die Chiffretextdaten C zu erzeugen. Die Blockkombiniereinheit 109 gibt diese Chiffretextdaten C an die Sendeeinheit 11 aus.
  • 1.3 Aufbau der Datenentschlüsselungseinheit 20
  • Wie es in 7 dargestellt ist, enthält die Datenentschlüsselungseinheit 20 eine Entschlüsselungseinheit 200, eine Teilschlüsseldaten-Erzeugungseinheit 201, eine logische XODER-Einheit 202, eine Datenumwandlungseinheit 203, eine Registereinheit 204, eine Zählereinheit 205, eine Teilschlüsseldaten-Erzeugungssteuereinheit 206, eine Registersteuereinheit 207, eine Blockunterteilungseinheit 208, eine Blockkombiniereinheit 209, eine Schlüsselbezugseinheit 210 und eine Schlüsselspeichereinheit 211.
  • Die Teilschlüsseldaten-Erzeugungseinheit 201, die logische XODER-Einheit 202, die Datenumwandlungseinheit 203, die Registereinheit 204, die Zählereinheit 205, die Teilschlüsseldaten-Erzeugungssteuereinheit 206, die Registersteuereinheit 207, die Schlüsselbezugseinheit 210 und die Schlüsselspeichereinheit 211 der Datenentschlüsselungseinheit 20 haben jeweils denselben Aufbau wie die Teilschlüsseldaten-Erzeugungseinheit 101, die logische XODER-Einheit 102, die Datenumwandlungseinheit 103, die Registereinheit 104, die Zählereinheit 105, die Teilschlüsseldaten-Erzeugungssteuereinheit 106, die Registersteuereinheit 107, die Schlüsselbezugseinheit 110 und die Schlüsselspeichereinheit 111 der Datenverschlüsselungseinheit 10. Demzufolge konzentriert sich die folgende Erläuterung lediglich auf die Unterschiede zwischen der Datenentschlüsselungseinheit 20 und der Datenverschlüsselungseinheit 10.
  • (1) Blockunterteilungseinheit 208
  • Die Blockunterteilungseinheit 208 empfängt die Chiffretextdaten C von der Empfangseinheit 21 und unterteilt die empfangenen Chiffretextdaten in mehrere Chiffretextblöcke Ct (wobei t = 0, 1, 2, ...). Jeder Chiffretextblock Ct ist 64 Bits lang. Die Blockunterteilungseinheit 208 gibt jeden Chiffretextblock Ct, den sie erzeugt, an die Entschlüsselungseinheit 200 der Reihe nach aus.
  • Die Blockunterteilungseinheit 208 gibt zudem nacheinander den vorangehenden Chiffretextblock Ct–1 an die Registereinheit 204 aus. Wenn der erste Chiffretextblock C0 an die Entschlüsselungseinheit 200 ausgegeben wird, gibt die Blockunterteilungseinheit 208 keine Daten an die Registereinheit 204 aus.
  • Bei Vervollständigung der Ausgabe sämtlicher Chiffretextblöcke, gibt die Blockunterteilungseinheit 208 Informationen aus, die die Vervollständigung der Ausgabe der Blockkombiniereinheit 209 zeigen.
  • (2) Entschlüsselungseinheit 200
  • Die Entschlüsselungseinheit 200 verwendet den Datenentschlüsselungsteil eines FEAL-Entschlüsselungsverfahrens.
  • Die Entschlüsselungseinheit 200 enthält erste bis 16. Entschlüsselungseinheiten (nicht gezeigt).
  • Die erste Entschlüsselungseinheit empfängt einen Chiffretextblock Ct von der Blockunterteilungseinheit 208 und erste Teilschlüsseldaten SK0 von der Teilschlüsseldaten-Erzeugungseinheit 201. Die ersten Teilschlüsseldaten SK0 sind 32 Bits lang. Die erste Entschlüsselungseinheit entschlüsselt den empfangenen Chiffretextblock Ct unter Verwendung der ersten Teilschlüsseldaten SK0 und erzeugt auf diese Weise einen ersten Zwischenblock. Die erste Entschlüsselungseinheit gibt diesen ersten Zwischenblock an die zweite Entschlüsselungseinheit aus.
  • Die zweit bis 15. Entschlüsselungseinheit empfangen jeweils einen ersten bis 14. Zwischenblock von einer vorangehenden Entschlüsselungseinheit aus der ersten bis 14. Entschlüsselungseinheit zusätzlich zu entsprechenden Teilschlüsseldaten aus den zweiten bis 15. Teilschlüsseldaten SK1 bis SK14 von der Teilschlüsseldaten-Erzeugungseinheit 201. Jede der zweiten bis 15. Teilschlüsseldaten SK1 bis SK14 ist 32 Bits lang. Die zweite bis 15. Entschlüsselungseinheit entschlüsseln jeweils den ersten bis 14. Zwischenblock unter Verwendung der zweiten bis 15. Teilschlüsseldaten SK1 bis SK1 4, um die zweiten bis 15. Zwischenblocks zu erzeugen, die an die dritte bis 16. Entschlüsselungseinheit ausgegeben werden.
  • Die 16. Entschlüsselungseinheit empfängt den 15. Zwischenblock von der 15. Entschlüsselungseinheit und die 16. Teilschlüsseldaten SK15 von der Teilschlüsseldaten-Erzeugungseinheit 201. Diese 16. Teilschlüsseldaten SK15 sind 32 Bits lang. Die 16. Entschlüsselungseinheit entschlüsselt den 15. Zwischenblock mit Hilfe der 16. Teilschlüsseldaten SK15, um den Klartextblock Dt zu erzeugen.
  • Gleichung 14
    • Dt = Dec (Ct, SK1t)
  • Hier steht Dec (Ct, SK1t) für die Entschlüsselung des Chiffretextes Ct unter Verwendung des Satzes SK1t (SK0 bis SK15) der Teilschlüsseldaten, die während des tten Entschlüsselungsvorgangs erzeugt werden.
  • Die 16. Entschlüsselungseinheit gibt den Klartextblock Dt, den sie erzeugt, an die Blockkombiniereinheit 209 aus.
  • Nach dem Ausgeben des erzeugten Klartextblocks Dt an die Blockkombiniereinheit 209, gibt die Verschlüsselungseinheit 100 die Vervollständigungsinformationen, die anzeigen, dass die Entschlüsselung eines Chiffretextblocks abgeschlossen ist, an die Zählereinheit 205 aus.
  • (3) Zählereinheit 205
  • Die Zählereinheit 205 empfängt Vervollständigungsinformationen, die anzeigen, dass die Entschlüsselung eines Chiffretextblocks durch die Entschlüsselungseinheit 200 abgeschlossen ist. Beim Empfang dieser Informationen, addiert die Zählereinheit 205 "1" zum Zählwert.
  • (4) Registereinheit 205
  • Die Registereinheit 204 ist mit Bereichen zum Speichern eines 64-Bit-Ausgangswertes IV und 64-Bit-Speicherdaten ausgestattet. In einer Ausgangsstufe werden die 64-Bit-Speicherdaten auf den Ausgangswert IV eingestellt.
  • Die Registereinheit 204 empfängt den vorherigen Chiffretextblock Ct–1, von der Blockunterteilungseinheit 208.
  • Die Registereinheit 204 empfängt ein Steuersignal von der Registersteuereinheit 207. Wenn das empfangene Steuersignal "0" ist und die Registereinheit 204 einen Chiffretextblock Ct–1 von der Blockunterteilungseinheit 208 empfangen hat, speichert die Regsitereinheit 204 den empfangenen Chiffretextblock Ct–1 als Speicherdaten, nachdem die Entschlüsselungseinheit 200 den Klartextblock Dt–1 am Ende des Datenentschlüsselungsvorgangs für den momentanen Chiffretextblock ausgegeben hat. Ist das Steuersignal "1", liest die Registereinheit 204 den Ausgangswert IV und speichert ihn als Speicherdaten.
  • Anders gesagt initialisiert beim Entschlüsseln des (T·n)ten Chiffretextblocks (wobei n = 0, 1, 2, ...) die Registereinheit 204 den gespeicherten Wert unter Verwendung des Ausgangswertes IV, der im voraus eingestellt wurde. In allen anderen Fällen, speichert die Registereinheit 204 den vorangehenden Chiffretextblock Ct–1. Wie es zuvor erwähnt wurde, ist der Wert "T" ein Wert, der einen vorbestimmten Zyklus anzeigt.
  • (5) Blockkombiniereinheit 209
  • Die Blockkombiniereinheit 209 empfängt nacheinander die Klartextblöcke Dt von der Entschlüsselungseinheit 200 und empfängt Informationen, die die Vervollständigung einer Ausgabe anzeigen, von der Blockunterteilungseinheit 208.
  • Beim Empfangen der Informationen, die eine Vervollständigung der Ausgabe anzeigen, kombiniert die Blockkombiniereinheit 209 die empfangenen Klartextblöcke Dt (t = 0, 1, 2, ...) in der Reihenfolge, in der sie sie empfangen hat, um die Klar textdaten D zu erzeugen. Die Blockkombiniereinheit 109 gibt diese Klartextdaten D an die Entschlüsselungsdaten-Speichereinheit 22 aus.
  • (6) Datenumwandlungseinheit 203
  • Die Datenumwandlungseinheit 203 liest die 64-Bit-Speicherdaten aus der Registereinheit 204. Beim Entschlüsseln des tten Chiffretextblocks Ct liest die Verschlüsselungseinheit 100 die 64-Bit-Speicherdaten R1t, die unten aufgeführt sind.
  • Gleichung 8
    • Wenn t ≠ T·k (k = 0, 1, ...) ist R1t = Ct–1
  • Gleichung 9
    • Wenn t = T·k (k = 0, 1, ...) ist R1t = IV
  • Die Datenumwandlungseinheit 203 unterzieht als nächstes die gespeicherten Daten R1t, die sie gelesen hat, einer vorbestimmten Datenumwandlung f, um S1t zu erzeugen.
  • Gleichung 10
    • S1t = f(R1t)
  • Hier steht f(X) für einen Wert, der erzeugt wird, wenn die Datenumwandlungseinheit 203 die Eingangsdaten X der Datenumwandlung f unterzieht.
  • (7) Logische XODER-Einheit 202
  • Die logische XODER-Einheit 202 empfängt die 64-Bit-Daten S1t von der logischen XODER-Einheit 202 und erzeugt die Eingangsdaten IK1t.
  • Gleichung 11
    • IK1t = S1t(+)EK
  • (8) Teilschlüsseldaten-Erzeugungseinheit 201
  • Die Teilschlüsseldaten-Erzeugungseinheit 201 erzeugt 16 Sätze von 32-Bit-Teilschlüsseldaten (die ersten bis 16 Teilschlüsseldaten SK0 bis SK15).
  • Gleichung 12
    • Wenn t ≠ T·k (k = 0, 1, ...) ist SK1t = KGB (IK1t)
  • Hier steht KGB (X) für die 16 Sätze der Teilschlüsseldaten, die vom Typ-B-Teilschlüssel-Erzeugungsvorgang unter Verwendung der Eingangsschlüsseldaten X erzeugt werden. Diese 16 Sätze der Teilschlüsseldaten bestehen aus zwei Typen von Teilschlüsseldaten.
  • Gleichung 13
    • Wenn t = T·k (k = 0, 1, ...) ist SK1t = KGA (IK1t)
  • Hier steht KGA (X) für die 16 Sätze von Teilschlüsseldaten, die vom Typ-A-Teilschlüssel-Erzeugungsvorgang unter Verwendung der Eingangsschlüsseldaten X erzeugt werden. Diese 16 Sätze von Teilschlüsseldaten unterscheiden sich jeweils voneinander.
  • 2. Betrieb des verschlüsselten Kommunikationssystem 5
  • Im folgenden wird der Betrieb der verschlüsselten Kommunikationssystems 5 beschrieben.
  • 2.1 Betrieb des Sendegerätes 1
  • Im folgenden wird der Betrieb des Sendegerätes 1 erläutert.
  • (1) Gesamtbetrieb des Sendegerätes 1
  • Im folgenden wird der Gesamtbetrieb des Sendegerätes 1 unter Bezugnahme auf das Flussdiagramm in 8 beschrieben.
  • Die Zählereinheit 105 stellt den Zählwert auf "0" ein, die Registereinheit 104 stellt die gespeicherten Daten auf den Ausgangswert IV ein, und die Blockunterteilungseinheit 108 liest die Klartextdaten aus der Klartextdaten-Speichereinheit 12 (Schritt S101). Die Schlüsselbezugseinheit 110 liest die Verschlüsselungsschlüsseldaten aus der Verschlüsselungsschlüsseldaten-Speichereinheit 13 und schreibt die gelesenen Verschlüsselungsschlüsseldaten in die Schlüsselspeichereinheit 111 (Schritt S102). Die Blockunterteilungseinheit 108 unterteilt die gelesenen Klartextdaten in eine Vielzahl von Klartextblöcken (Schritt S103).
  • Die Blockunterteilungseinheit 108 gibt jeden Klartextblock an die Verschlüsselungseinheit 100 aus. Die Verschlüsselungseinheit 100 empfängt einen Klartextblock von der Blockunterteilungseinheit 108, verschlüsselt den Klartextblock, um einen Chiffretextblock zu erzeugen, und gibt den erzeugten Chiffretextblock an die Blockkombiniereinheit 109 aus (Schritt S104). Wenn alle Klartextblöcke nicht verschlüsselt wurden (Schritt S105: Nein), kehrt der Vorgang zu Schritt S104 zurück.
  • Beim Vervollständigen der Ausgabe sämtlicher Klartextblöcke (S105: Ja) gibt die Blockunterteilungseinheit 108 Informationen, die eine Vervollständigung der Ausgabe anzeigen, an die Blockkombiniereinheit 109 aus. Die Blockkombiniereinheit 109 kombiniert sämtliche Chiffretextblöcke, die sie empfangen hat, der Reihe nach, um die Chiffretextdaten zu erzeugen, die sie an die Sendeinheit 11 ausgibt (Schritt S106).
  • Die Sendeeinheit 11 empfängt die Chiffretextdaten und unterzieht die empfangenen Chiffretextdaten einer Parallel-zu-Seriell-Umwandlung, einer Modulation und einer Verstärkung, um Signale zu erzeugen. Die Sendeeinheit 11 sendet diese Signale zum Empfangsgerät 2 über den Übertragungsweg 3 (Schritt S107).
  • (2) Betrieb der Datenverschlüsselungseinheit 10
  • Im folgenden wird der Betrieb der Datenverschlüsselungseinheit 10 unter Bezugnahme auf das Flussdiagramm in 9 beschrieben.
  • Die Datenumwandlungseinheit 103 liest zunächst die 64-Bit-Speicherdaten aus der Registereinheit 104 (Schritt S121), unterzieht die gelesenen Daten einer vorbestimmten Datenumwandlung und gibt die resultierenden 64-Bit-Daten an die logische XODER-Einheit 102 aus (Schritt S122).
  • Die logische XODER-Einheit 102 empfängt die 64-Bit-Daten von der Datenumwandlungseinheit 103, liest die Verschlüsselungsschlüsseldaten aus der Schlüsselspeichereinheit 111, nimmt ein logisches XODER für entsprechende Bits in den empfangenen 64-Bit-Daten und die gelesenen Verschlüsselungsdaten, um die 64-Bit-Eingangsdaten zu erzeugen. Die logische XODER-Einheit 102 gibt die erzeugten Eingangsdaten an die Teilschlüsseldaten-Erzeugungseinheit 101 aus (Schritt S123).
  • Die Teilschlüsseldaten-Erzeugungseinheit 101 erzeugt eine Vielzahl von Sätzen von Teilschlüsseldaten unter Verwendung der Eingangsschlüsseldaten und gibt jeden erzeugten Satz von Teilschlüsseldaten an eine andere Verschlüsselungseinheit in der ersten bis 16. Verschlüsselungseinheit in der Verschlüsselungseinheit 100 aus (Schritt S124).
  • Die Verschlüsselungseinheit 100 empfängt einen Klartextblock von der Blockunterteilungseinheit 108 (Schritt S125), verschlüsselt den Klartextblock unter Verwendung der Vielzahl von Sätzen der Teilschlüsseldaten und erzeugt auf diese Weise einen Chiffretextblock (Schritt S126). Die Zählereinheit 105 addiert "1" zum Zählwert (Schritt S127). Die Verschlüsselungseinheit 100 gibt den Chiffretextblock an die Blockkombiniereinheit 109 aus (Schritt S128).
  • Die Teilschlüsseldaten-Erzeugungssteuereinheit 106 liest den Zählwert aus der Zählereinheit 105. Wenn der Zählwert "0" ist (Schritt S141: Ja) gibt die Teilschlüsseldaten-Erzeugungssteuereinheit 106 ein Steuersignal mit dem Wert "1" an die Teilschlüsseldaten-Erzeugungseinheit 101 aus (Schritt S143). Ist im Gegensatz dazu der Zählwert nicht "0" (Schritt S141: Nein), gibt die Teilschlüsseldaten-Erzeugungssteuereinheit 106 ein Steuersignal mit dem Wert "0" an die Teilschlüsseldaten-Erzeugungseinheit 101 aus (Schritt S142).
  • Die Registersteuereinheit 107 liest zudem den Zählwert der Zählereinheit 105. Wenn der Zählwert "0" ist (Schritt S151: Ja), gibt die Registersteuereinheit 107 ein Steuersignal mit dem Wert "1" an die Registereinheit 104 aus (Schritt S153). Wenn im Gegensatz dazu der Zählwert nicht "0" ist (Schritt S151: Nein), gibt die Registersteuereinheit 107 ein Steuersignal mit dem Wert "0" an die Registereinheit 104 aus (Schritt S152).
  • Die Registereinheit 104 speichert einen Wert in Übereinstimmung mit dem Steuersignal, das von der Registersteuereinheit 107 empfangen wird (Schritt S161).
  • (3) Betrieb der Zählereinheit 105
  • Im folgenden wird der Betrieb der Zählereinheit 105 unter Bezugnahme auf das Flussdiagramm von 10 beschrieben.
  • Bei Empfang eines Vervollständigungssignals von der Verschlüsselungseinheit 100, das anzeigt, dass die Verschlüsselung des Klartextblocks abgeschlossen ist, addiert die Zählereinheit 105 "1" zum Zählwert (Schritt S181). Wenn der Zählwert 210 erreicht (Schritt S182: Ja), stellt die Zählereinheit 105 den Zählwert auf "0" (Schritt S183) zurück.
  • (4) Betrieb der Registereinheit 104
  • Im folgenden wird der Betrieb der Registereinheit 104 unter Bezugnahme auf das Flussdiagramm in 11 beschrieben.
  • Die Registereinheit 104 empfängt ein Steuersignal von der Registersteuereinheit 107. Wenn das empfangene Steuersignal "0" ist (Schritt S201: "=0") und ein Chiffretextblock von der 16. Verschlüsselungseinheit 100d empfangen wird, speichert die Registereinheit 104 diesen Chiffretextblock als Speicherdaten (Schritt S202). Wenn das empfangene Steuersignal "1" ist (Schritt S201: "=1"), liest die Registereinheit 104 den Ausgangswert IV und speichert den Ausgangswert als Speicherdaten (Schritt S203).
  • (5) Betrieb der Teilschlüsseldaten-Erzeugungseinheit 101
  • Im folgenden wird der Betrieb der Teilschlüsseldaten-Erzeugungseinheit 101 unter Bezugnahme auf die Flussdiagramme von 12 und 13 beschrieben.
  • Die Stufenzahl-Steuereinheit 303 der Teilschlüsseldaten-Erzeugungseinheit 101 empfängt ein Steuersignal von der Teilschlüsseldaten-Erzeugungsteuereinheit 106. Wenn das empfangene Steuersignal "1" ist (Schritt S221: "=1"), stellt die Stufenzahl-Steuereinheit 303 die Maximalzahl auf 16 ein (Schritt S223), während, wenn das empfangene Steuersignal "0" ist (Schritt S221: "=0"), die Stufenzahl-Steuereinheit 303 die Maximalzahl auf 2 einstellt (Schritt S222). Beim Empfangen des Steuersignals stellt die Stufenzahl-Steuereinheit 303 zudem die Iterationszahl "i" auf "0" ein (Schritt S224).
  • Die Stufenzahl-Steuereinheit 303 empfängt entweder Eingangsschlüsseldaten oder Zufallsdaten. Bei der ersten Iteration (Schritt S225: Ja) gibt die Stufenzahl-Steuereinheit 303 die Eingangsschlüsseldaten an die Daten-Zufallserzeugungseinheit aus (Schritt S227). Bei der zweiten und den folgenden Iterationen (Schritt S225: Nein) gibt die Stufenzahl-Steuereinheit 303 die Zufallsdaten an die Daten-Zufallserzeugungseinheit 301 aus (Schritt S226).
  • Die Daten-Zufallserzeugungseinheit 301 führt einen Daten-Zufallserzeugungsvorgang aus und erzeugt auf diese Weise die Teilschlüsseldaten und die Zufallsdaten (Schritt 228). Die Zufallsdaten-Speichereinheit 302 speichert die Teilschlüsseldaten (Schritt S229). Als nächstes addiert die Stufenzahl-Steuereinheit 303 "1" zum Wert der Iterationszahl i (Schritt S230) und vergleicht die resultierende Iterationszahl mit der Maximalzahl. Wenn die Iterationszahl unter der Maximalzahl ist (Schritt S231: Ja), kehrt die Verarbeitung zu Schritt S225 zurück und es wird der oben beschriebene Ablauf wiederholt.
  • Wenn die Iterationszahl wenigstens gleich der Maximalzahl ist (Schritt S231: Ja), wird der wiederholte Vorgang abgeschlossen. Die Zufallsdaten-Speichereinheit 302 empfängt dann ein Steuersignal von der Teilschlüsseldaten-Erzeugungssteuereinheit 106. Wenn das empfangene Steuersignal "1" ist (Schritt S232) liest die Zufallsdaten-Speichereinheit 302 die gespeicherten Sätze von Teilschlüsseldaten SK0 bis SK15 und gibt die gelesenen Sätze der Teilschlüsseldaten SK0 bis SK1 5 an die erste bis 16. Verschlüsselungseinheit aus (Schritt S235).
  • Wenn das empfangene Steuersignal "0" ist (Schritt S232) liest die Zufallsdaten-Speichereinheit 302 die gespeicherten Sätze von Teilschlüsseldaten SK0 und SK1, die Sätze SK14=SK12=SK10=SK8=SK6=SK4=SK2=SK0 sowie SK1 5=SK13=SK11=SK9=SK7=SK5=SK3=SK1 und gibt die Sätze der Teilschlüsselda ten SK0 bis SK15 an die erste bis 16. Verschlüsselungseinheiten aus (Schritte S233 und S234).
  • (6) Betrieb der Daten-Zufallserzeugungseinheit 301
  • Im folgenden wird der Betrieb der Daten-Zufallserzeugungseinheit 301 unter Bezugnahme auf das Flussdiagramm in 14 beschrieben.
  • Die Trenneinheit 301a empfängt 64-Bit-Daten von der Stufenzahl-Steuereinheit 303 und trennt die empfangenen 64-Bit-Daten, um die oberen 32-Bit-Daten A1 und die unteren 32-Bit-Daten A0 zu erzeugen. Die Trenneinheit 301a gibt die Daten A1 an die logische XODER-Einheit 301b und die Datenverwürtelungseinheit 301c aus und gibt die Daten A0 an die Kombiniereinheit 301d sowie die Datenverwürfelungseinheit 301c aus (Schritt S251).
  • Die Datenverwürfelungseinheit 301c empfängt die Daten A0 und die Daten A1 von der Trenneinheit 301a, nimmt ein logisches XODER für entsprechende Bits in den Daten A0 und den Daten A1, um 32-Bit-Daten zu erzeugen, und trennt diese 32-Bit-Daten in vier Sätze von 8-Bit-Daten. Die Datenverwürfelungseinheit 301c führt anschließend eine vorbestimmte Ersetzung an jedem Satz der 8-Bit-Daten aus und kombiniert die resultierenden Sätze modifizierter 8-Bit-Daten um einen neuen Satz von 32-Bit-Daten zu erzeugen. Die Datenverwürfelungseinheit 301c ersetzt zudem vorbestimmte Bits in den 32-Bit-Daten durch andere Bits, um die 32-Bit-Daten C1 zu erzeugen, die sie an die logische XODER-Einheit 301b (Schritt S252) ausgibt.
  • Die logische XODER-Einheit 301b empfängt die Daten A0 von der Trenneinheit 301a und die 32-Bit-Daten C1 von der Datenverwürfelungseinheit 301c und nimmt ein logisches XODER für entsprechende Bits in den Daten A0 und den Daten C1, um die Teilschlüsseldaten B0 zu erzeugen. Die logische XODER-Einheit 301b gibt diese Teilschlüsseldaten B0 an die Zufallsdaten-Speichereinheit 302 und die Kombiniereinheit 301d aus (Schritt S253).
  • Die Kombiniereinheit 301d empfängt die Daten A0 von der Trenneinheit 301a und die Teilschlüsseldaten B0 von der logischen XODER-Einheit 301b. Die Kombiniereinheit 301d kombiniert die Daten A0 und die Teilschlüsseldaten B0 mit den Daten A0 als die oberen Bits und die Teilschlüsseldaten B0 als die unteren Bits, um 64-Bit-Zufallsdaten zu erzeugen. Die Kombiniereinheit 301d gibt diese 64-Bit-Zufallsdaten an die Stufenzahl-Steuereinheit 303 aus (Schritt S254).
  • 2.2 Betrieb des Empfangsgerätes 2
  • Im folgenden wird der Betrieb des Empfangsgerätes 2 beschrieben.
  • {1) Gesamtbetrieb des Empfangsgerätes 2
  • Der Gesamtbetrieb des Empfangsgerätes 2 gleicht dem Betrieb des Sendegerätes 1 und wird somit ebenfalls unter Bezugnahme auf das Flussdiagramm von 8 beschrieben.
  • Die Empfangseinheit 21 des Empfangsgerätes 2 empfängt Signale von der Sendeeinheit 11 des Sendegerätes 1 über den Übertragungsweg 3. Die Empfangseinheit 21 unterzieht die Empfangssignale einer Demodulation und Seriell-zu-Parallel-Umwandlung, um einen Chiffretext zu erzeugen. Die Zählereinheit 205 stellt den Zählwert auf "0" ein, und die Registereinheit 203 stellt die gespeicherten Daten auf den Ausgangswert IV ein. Die Blockunterteilungseinheit 208 empfängt die Chiffretextdaten von der Empfangseinheit 21 (dies entspricht Schritt S101), und die Schlüsselbezugseinheit 210 liest die Verschlüsselungsdaten aus der Verschlüsselungsschlüsseldaten-Speichereinheit 23 und schreibt sie in die Schlüsselspeichereinheit 211 (dies entspricht Schritt S102). Die Blockunterteilungseinheit 208 unterteilt die Chiffretextdaten in eine Vielzahl von Chiffretextblöcken (dies entspricht Schritt S103).
  • Die Blockunterteilungseinheit 208 gibt jeden Chiffretextblock an die Entschlüsselungseinheit 200 aus. Die Entschlüsselungseinheit 200 empfängt einen Chiffre textblock von der Blockunterteilungseinheit 208, entschlüsselt den empfangenen Chiffretextblock, um einen Klartextblock zu erzeugen, und gibt den resultierenden Klartextblock an die Blockkombiniereinheit 209 aus (dies entspricht Schritt S104). Wenn die Entschlüsselungseinheit 200 nicht die Entschlüsselung sämtlicher Chiffretextblöcke abgeschlossen hat (dies entspricht S105: Nein), wird der Entschlüsselungsvorgang wiederholt.
  • Wenn die Ausgabe sämtlicher Chiffretextblöcke abgeschlossen ist (dies entspricht S105: Ja), gibt die Blockunterteilungseinheit 208 Informationen, die den Abschluss der Ausgabe kennzeichnen, an die Blockkombiniereinheit 209 aus. Die Blockkombiniereinheit 209 kombiniert sämtliche Klartextblöcke, die sie empfangen hat der Reihe nach, um Klartextdaten zu erzeugen (dies entspricht Schritt S106), und schreibt die erzeugten Klartextdaten in die Entschlüsselungsdaten-Speichereinheit 22 (dies entspricht Schritt S107).
  • (2) Betrieb der Datenentschlüsselungseinheit 20
  • Der Betrieb der Datenentschlüsselungseinheit 20 gleicht jenem der Datenverschlüsselungseinheit 10 und wird somit unter Bezugnahme auf das Flussdiagramm von 9 erläutert.
  • Die Datenumwandlungseinheit 203 liest die 64-Bit-Speicherdaten aus der Registereinheit 204 (dies entspricht Schritt S121), führt eine vorbestimmte Datenumwandlung an den gespeicherten Daten aus und gibt die umgewandelten 64-Bit-Daten an die logische XODER-Einheit 202 aus (dies entspricht Schritt S122).
  • Die logische XODER-Einheit 202 empfängt 64-Bit-Daten von der Datenumwandlungseinheit 203, liest die Verschlüsselungsschlüsseldaten aus der Schlüsselspeichereinheit 211 und nimmt ein logisches XODER für entsprechende Bits in den 64-Bit-Daten und Verschlüsselungsdaten, um 64-Bit-Eingangsschlüsseldaten zu erzeugen. Die logische XODER-Einheit 202 gibt diese Eingangsschlüsseldaten an die Teilschlüsseldaten-Erzeugungseinheit 201 aus (dies entspricht Schritt S123).
  • Die Teilschlüsseldaten-Erzeugungseinheit 201 erzeugt eine Vielzahl von Sätzen von Teilschlüsseldaten unter Verwendung der Eingangsschlüsseldaten und gibt jeden erzeugten Satz von Teilschlüsseldaten an eine andere Entschlüsselungseinheit in der ersten bis 16. Entschlüsselungseinheit der Entschlüsselungseinheit 200 aus (dies entspricht Schritt S124).
  • Die Entschlüsselungseinheit 200 empfängt einen Chiffretextblock von der Blockunterteilungseinheit 208 (dies entspricht Schritt S125), entschlüsselt den Chiffretextblock mit Hilfe der Vielzahl von Teilschlüsseldaten und erzeugt auf diese Weise einen Klartextblock (dies entspricht Schritt S126). Die Zählereinheit 205 erhöht den Zählwert (dies entspricht Schritt S127). Die Entschlüsselungseinheit 200 gibt den resultierenden Klartextblock an die Blockkombiniereinheit 209 aus (dies entspricht Schritt S128).
  • Der Betrieb der Teilschlüsseldaten-Erzeugungssteuereinheit 206 ist derselbe wie der Betrieb der Teilschlüsseldaten-Erzeugungssteuereinheit 106, der in den Schritten S141 bis S143 des Flussdiagramms in 9 dargestellt ist, und wird somit nicht erläutert.
  • Der Betrieb der Registersteuereinheit 207 ist derselbe wie der Betrieb der Registersteuereinheit 107, der in den Schritten S151 bis S153 des Flussdiagramms von 9 gezeigt ist, und wird somit nicht erläutert.
  • Die Registereinheit 204 speichert einen Wert gemäß dem Steuerwert, den sie von der Registersteuereinheit 207 empfängt (dies ist derselbe Vorgang wie Schritt S161 im Flussdiagramm von 9).
  • (3) Betrieb der Zählereinheit 205
  • Der Betrieb der Zählereinheit 206 gleicht jenem der Zähleinheit 105 und wird somit unter Bezugnahme auf das Flussdiagramm in 10 erläutert.
  • Beim Empfang der Vervollständigungsinformationen von der Entschlüsselungseinheit 200, die anzeigen, dass sie die Entschlüsselung eines Chiffretextblocks abgeschlossen hat, addiert die Zählereinheit 205 Eins zum Zählwert (dies entspricht Schritt S181). Wenn diese Addition dazu führt, dass der Zählwert 210 erreicht (dies entspricht S181: Ja) setzt die Zählereinheit 205 den Zählwert auf Null zurück (dies entspricht Schritt S183).
  • (4) Betrieb der Registereinheit 204
  • Der Betrieb der Registereinheit 204 gleicht jenem der Zähleinheit 105 und wird somit unter Bezugnahme auf das Flussdiagramm in 11 erläutert.
  • Die Registereinheit 204 empfängt ein Steuersignal von der Register-Steuereinheit 207. Wenn das empfangene Steuersignal "0" ist (Schritt S201: Ja) und ein vorangehender Chiffretextblock von der Blockunterteilungseinheit 208 empfangen wird, speichert die Registereinheit 204 diesen Chiffretextblock als Speicherdaten (dies entspricht Schritt S202). Wenn das empfangene Steuersignal "1" ist (dies entspricht Schritt S201: Nein) liest die Registereinheit 204 den Ausgangswert IV und speichert den Ausgangswert IV als Speicherdaten (dies entspricht Schritt S203).
  • (5) Betrieb der Teilschlüsseldaten-Erzeugungseinheit 201
  • Der Betrieb der Teilschlüsseldaten-Erzeugungseinheit 201 gleicht jenem der Teilschlüsseldaten-Erzeugungseinheit 101, so dass sich die folgende Beschreibung auf die Unterschiede der Vorgänge der Flussdiagramme konzentriert, die in 12 und 13 gezeigt sind.
  • In Schritt S235 liest die Zufallsdatenspeichereinrichtung 302 die gespeicherten Teilschlüsseldaten SK0 bis SK15 und gibt die entsprechenden Sätze von Teilschlüsseldaten SK0 bis SK15 an die entsprechende erste bis 16. Entschlüsselungseinheit in der Entschlüsselungseinheit 200 aus.
  • In den Schritten S233 und S234 liest die Zufallsdaten-Speichereinheit 302 die gespeicherten Teilschlüsseldaten SK0 und SK1, stellt SK1 4=SK1 2=SK10=SK8=SK6=SK4=SK2=SK0 sowie SK15=SK1 3=SK11=SK9=SK7=SK5=SK3=SK1 ein und gibt die entsprechenden Sätze von Teilschlüsseldaten SK0 bis SK15 an die entsprechende erste bis 16. Entschlüsselungseinheit in der Entschlüsselungseinheit 200 aus.
  • (6) Betrieb der Daten-Zufallserzeugungseinheit 301
  • Der Betrieb der Daten-Zufallserzeugungseinheit 301 in der Teilschlüsseldaten-Erzeugungseinheit 201 ist derselbe wie der Betrieb der Daten-Zufallserzeugungseinheit 301 in der Teilschlüsseldaten-Erzeugungseinheit 101, der mit Hilfe von 14 beschrieben wurde. Es erfolgt keine weitere Erläuterung.
  • Entsprechung zwischen Klartext und entschlüsseltem Text
  • Die Chiffretextblöcke C0, C1, ... werden bezogen, wenn die Datenverschlüsselungseinheit 10 die Klartextblocksequenz P0, P1, ... unter Verwendung der 64-Bit-Verschlüsselungsdaten verschlüsselt. Diese Chiffretextblöcke werden mit der Datenentschlüsselungseinheit 20 unter Verwendung derselben 64-Bit-Verschlüsselungsschlüsseldaten entschlüsselt, um die Klartextblocksequenz D0, D1, ... zu erzeugen, die dieselbe wie die Klartextblocksequenz P0, P1, .., ist. Dies ist im folgenden detaillierter Dargestellt.
  • Die Gleichung 15 ergibt sich aus den Gleichungen 1 und 2 und den Gleichungen 8 und 9.
  • Gleichung 15
    • R0t = R1t (t = 0, 1, ...)
  • Gleichung 16 ergibt sich aus der Gleichung 15 und den Gleichungen 3 und 10.
  • Gleichung 16
    • S0t = S1t (t = 0,1, ...)
  • Gleichung 17 ergibt sich aus der Gleichung 16 und den Gleichungen 4 und 11.
  • Gleichung 17
    • IK0t = IK1t (t = 0, 1, ...)
  • Daher ist Gleichung 18 durch die Gleichungen 17 und 5 und die Gleichungen 12 und 13 gegeben.
  • Gleichung 18
    • SK0t = SK1t (t = 0, 1, ...)
  • Die Gleichung 19 ergibt sich aus den Gleichungen 7 und 14.
  • Gleichung 19
    • Dt = Dec (Enc (Pt, SK0t), SK1t) (t = 0, 1, ...)
  • Die folgende Beziehung (Gleichung 20) wird für beliebige 64-Bit-Daten α, β in den Funktionen Enc und Dec gebildet.
  • Gleichung 20
    • α = Dec (Enc (α, β), β)
  • Daher folgt aus den Gleichungen 19, 20 und 18
    • Dt = Pt
  • 4. Bewertung der Sicherheit und der Verschlüsselungs-Verarbeitungsgeschwindigkeit
  • (1) Sicherheit
  • Bei der vorliegenden Ausführungsform wird die Verschlüsselung eines tten (wobei t ≠ 210·k (k = 0, 1, ...)) Klartextblocks mit Hilfe von 16 Sätzen von 32-Bit-Teilschlüsseldaten SK0, ..., SK1 5 ausgeführt, die in die Verschlüsselungseinheit 100 eingegeben werden. Wie es zuvor erläutert wurde, werden diese Sätze von Teilschlüsseldaten derart erzeugt, dass SK0=SK2=SK4 ... =S14 und SK1=SK3=SK5 ... =S15, so dass die Sicherheit gegen bekannte Klartextangriffe nicht so hoch ist wie beim herkömmlichen Verfahren, bei dem jeder Satz von Teilschlüsseldaten anders ist.
  • Die Eingangsschlüsseldaten IK0t, die verwendet werden, um diese Klartextblöcke zu verschlüsseln, werden jedoch derart eingestellt, dass IK0t = EK (+) Ct–1
  • Da es 264 potentielle Werte von Ct–1 gibt, ist es praktisch unmöglich, eine große Zahl von Klartextblöcken zu erhalten, die unter Verwendung desselben IK0t verschlüsselt wurden. Dies macht das vorliegende Verfahren gegen bekannte Klartextangriffe sicher.
  • Die Verschlüsselung eines tten (wobei t = 210·k (k = 0, 1, ...)) Klartextblocks wird ebenfalls unter Verwendung von 16 Sätzen von 32-Bit-Teilschlüsseldaten SK0, ..., SK15 ausgeführt, die in die Verschlüsselungseinheit 100 eingegeben werden. Wie es zuvor beschrieben wurde, ist jeder Satz der Teilschlüsseldaten anders, so dass die Sicherheit gegen bekannte Klartextangriffe dieselbe ist wie beim erwähnten herkömmlichen Verfahren.
  • (2) Verschlüsselungs-Verarbeitungsgeschwindigkeit
  • Im folgenden wird die Verschlüsselungs-Verarbeitungsgeschwindigkeit der Datenverschlüsselungseinheit 10 beschrieben.
  • Wenn ein tter (wobei t ≠ 210·k (k = 0, 1, ...)) Klartextblock Pt verschlüsselt wird, führt die Teilschlüsseldaten-Erzeugungseinheit 101 einen einfachen Vorgang aus, der 16 Sätze von 32-Bit-Teilschlüsseldaten erzeugt, indem das erzeugt wird, was tatsächlich lediglich 32-Bit-Sätze von Teilschlüsseldaten sind. Dies bedeutet, dass die Erzeugung von Teilschlüsseldaten für jeden Block einen geringeren Effekt auf die Verschlüsselungs-Verarbeitungsgeschwindigkeit hat, als das erläuterte herkömmliche Verfahren.
  • 5. Andere Abänderungen
  • Wenngleich die vorliegende Erfindung anhand der oben aufgeführten Ausführungsformen erläutert wurde, sollte es verständlich sein, dass die Erfindung nicht auf die hier beschriebenen Details beschränkt ist. Es sind zahlreiche Abänderungen möglich, wobei repräsentative Beispiele unten aufgeführt sind.
    • (1) Bei der obigen Ausführungsform ist die logische XODER-Einheit 102 (202) als Datenzusammenführeinrichtung beschrieben, die ein logisches XODER für jedes Bit in den 64-Bit-Daten, die von der Datenumwandlungseinheit 103 (203) erzeugt werden, und die Verschlüsselungsdaten nimmt. Dieselbe Wirkung kann jedoch auch dann erreicht werden, wenn ein XODER nicht für jede Bitposition verwendet wird.
    • (2) Bei der oben erwähnten Ausführungsform ist die Datenumwandlungseinheit 103 (203) so beschrieben, dass sie 64-Bit-Umwandlungsdaten ausgibt, obwohl derartige Daten nicht 64 Bit lang sein müssen. Wenn beispielsweise die Verschlüsselungsschlüsseldaten 56 Bits lang sind, kann eine Datenumwandlungseinheit verwendet werden, die 56-Bit-Daten ausgibt.
    • (3) Bei der oben erwähnten Ausführungsform empfängt die Registereinheit 104 (204) eine Eingabe von Chiffretextdaten, die beim unmittelbar vorausgehenden Verschlüsselungsvorgang erzeugt werden, obwohl der 64-Bit-Wert verwendet werden kann, den man während des unmittelbar vorausgehenden Verschlüsselungsvorgangs erhält. Beispielsweise kann der erste oder der zweite Zwischenblock verwendet werden, der während des Verschlüsselungsvorgangs erzeugt wird. Die verwendeten Daten müssen nicht 64 Bit lang sein, so dass kürzere Daten, wie etwa ein 40-Bit-Wert, verwendet werden können. Im folgenden wird eine mögliche Anordnung beschrieben, bei der 40-Bit-Daten verwendet werden. Die Datenumwandlungseinheit 103 (203) empfängt die 40-Bit-Daten und wandelt die Daten um, um neue 40-Bit-Daten zu erzeugen. Die Schlüsselspeichereinheit 111 speichert 40-Bit-Verschlüsselungsschlüsseldaten. Die logische XODER-Einheit 102 nimmt ein logisches XODER für entsprechende Bits in den neuen 40-Bit-Daten und die 40-Bit-Verschlüsselungsschlüsseldaten, um 40-Bit-Eingangsschlüsseldaten zu erzeugen. Die Teilschlüsseldaten-Erzeugungseinheit 101 erzeugt 16 Sätze von 20-Bit-Teilschlüsseldaten, die während der Verschlüsselung durch die erste bis 16. Verschlüsselungseinheit der Verschlüsselungseinheit 100 verwendet werden.
    • (4) Bei der oben beschriebenen Ausführungsform verwendet die Verschlüsselungseinheit 100 das FEAL-Verfahren, wenngleich jedes Blockverschlüsselungsverfahren verwendet werden kann. Beispielsweise kann der DES (Datenverschlüsselungsstandard) verwendet werden. Die Teilschlüsseldaten-Erzeugungseinheit 101 ist nicht darauf beschränkt, den oben beschriebenen Aufbau zu haben. Beispielsweise kann die Teilschlüsseldaten-Erzeugungseinheit 101 16 Sätze von 32-Bit-Teilschlüsseldaten aus den 64-Bit-Eingangsdaten erzeugen.
    • (5) Die vorliegende Erfindung ist nicht auf einen Aufbau beschränkt, bei dem die Teilschlüsseldaten-Erzeugungseinheit 101 zwei Typen von Verschlüsselungsverarbeitungen verwendet, bei denen Zufallszahlen unter Nutzung unterschiedlicher Verarbeitungsauslastungen verwendet werden. Es kann eine beliebige Anordnung verwendet werden, solange die verwendete Verschlüsselungsverarbeitung, wenn das Steuersignal "1" eingegeben wird, eine größere Auslastung hat, als die verwendete Verschlüsselungsverarbeitung, wenn das Steuersignal "0" eingegeben wird.
  • Beispielsweise kann anstelle der Erzeugung zweier Sätze von Teilschlüsseldaten die Teilschlüsseldaten-Erzeugungseinheit unterschiedliche Daten für die ersten 16 Bits jedes der 16 Sätze von Teilschlüsseldaten erzeugen und anschließend die letzteren 16 Bits jedes Satzes von Teilschlüsseldaten auf der Basis der entsprechenden ersteren 16 Bits erzeugen. Eine derartige Verarbeitung verringert den Verarbeitungsaufwand der Schlüsselerzeugung in derselben Weise wie es oben beschrieben wurde.
  • Anstelle der Erzeugung zweier Sätze von Teilschlüsseldaten kann die Teilschlüsseldaten-Erzeugungseinheit drei, vier, fünf oder eine beliebige andere Zahl bis zu 15 Sätzen von Teilschlüsseldaten erzeugen, wobei die erste bis 16 Verschlüsselungseinheit jeweils einen der erzeugten Sätze von Teilschlüsseldaten verwenden.
    • (6) Die Zählereinheit 105 (205) setzt den Zählwert auf "0" zurück, wenn sie "210–1" erreicht, wenngleich die Erfindung nicht auf die Verwendung von "210–1" als Obergrenze für den Zählwert beschränkt ist. Es kann eine beliebige positive ganze Zahl verwendet werden. Der Zählwert muss zudem nicht auf "0" zurückgesetzt werden. Bei den oben beschriebenen Ausführungsformen sind die Geräte so beschrieben, dass sie intern 64-Bit-Verschlüsselungsschlüsseldaten speichern. Anstelle dessen können die Geräte lediglich 64-Bit-Verschlüsselungsschlüsseldaten speichern, die verwendet werden, wenn zum ersten mal die Verschlüsselung durchgeführt wird, wobei die Eingangsschlüsseldaten, die verwendet werden, wenn jeder der anderen Klartextblöcke verschlüsselt wird, mit den Klartextblöcken verschlüsselt und übertragen werden. Wenn die Eingangsverschlüsselungsdaten aktualisiert werden, kann eine Verschlüsselung mit öffentlichem Schlüssel, wie etwa das Diffie-Hellmann-Verfahren verwendet werden, um die Eingangsschlüsseldaten auf die Geräte zu verteilen, die die Kommunikation ausführen sollen.
    • (7) Die vorliegende Erfindung bezieht sich zudem auf das Verfahren, das von den oben beschriebenen Geräten verwendet wird. Dieses Verfahren kann durch Computerprogramme realisiert werden, die von Computern ausgeführt werden. Derartige Computerprogramme können als digitale Signale verteilt werden.
  • Die vorliegende Erfindung kann durch ein computerlesbares Speichermedium, wie etwa eine Floppy-Diskette, eine Festplatte, eine CD-ROM (Compact Disc Read Only Memory), ein MO- (magnetooptisches) Laufwerk, eine DVD (Digital Versatile Disc), eine DVD-ROM, eine DVD-RAM oder einen Halbleiterspeicher realisiert sein, auf dem Computerprogramme und/oder digitale Signale gespeichert werden, die oben erwähnt wurden. Im Gegensatz kann die vorliegende Erfindung zudem durch ein Computerprogramm und/oder ein digitale Signal realisiert sein, das auf einem Speichermedium gespeichert ist.
  • Computerprogramme oder digitale Signale, die die vorliegende Erfindung umsetzen, können zudem über ein Netzwerk, wie etwa ein elektronisches Kommunikationsnetzwerk, ein drahtgebundenes oder drahtloses Kommunikationsnetzwerk oder das Internet, gesendet werden.
  • Die vorliegende Erfindung kann zudem durch ein Computersystem realisiert sein, das einen Mikroprozessor und einen Speicher enthält. In diesem Fall kann ein Computerprogramm im Speicher gespeichert sein, wobei der Mikroprozessor gemäß diesem Computerprogramm arbeitet.
  • Die Computerprogramme und/oder Digitalsignale können einem unabhängigen Computersystem bereitgestellt werden, indem ein Speichermedium verteilt wird, auf dem die Computerprogramme und/oder Digitalsignale aufgezeichnet sind, oder indem die Computerprogramme und/oder Digitalsignale über ein Netzwerk gesendet werden. Der unabhängige Computer kann dann die Computerprogramme und/oder Digitalsignale ausführen, um als die vorliegende Erfindung zu fungieren.
    • (8) Die Einschränkungen, die bei der Ausführungsform beschrieben wurden, und die Abänderungen können frei kombiniert werden.
  • Wenngleich die vorliegende Erfindung umfassend beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben wurde, versteht es sich, dass unterschiedliche Änderungen und Modifikationen dem Fachmann verständlich sein werden. Solange derartige Änderungen und Modifikationen nicht vom Geltungsbereich der vorliegenden Erfindung abweichen, sollten sie als darin eingeschlossen angesehen werden.

Claims (10)

  1. Verschlüsselungsverfahren für die Verwendung durch ein Verschlüsselungsgerät (10), das Klartextdaten verschlüsselt, die aus einer Vielzahl von Blöcken bestehen, wobei das Verschlüsselungsverfahren umfasst: einen Block-Bezugsschritt (108) zum Beziehen der Klartextdaten der Reihe nach Block für Block von außerhalb des Verschlüsselungsgerätes; einen Wählschritt (106) zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für einen momentanen Block, der im Block-Bezugsschritt bezogen wurde, in Übereinstimmung damit, wie viele Blöcke bezogen wurden (105); einen Teilschlüssel-Erzeugungsschritt (101) zum Erzeugen 1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und 2) einer zweiten Gruppe, die aus weniger als n unterschiedlicher Teilschlüssel besteht, wenn die zweite Betriebsart gewählt ist; und einen Verschlüsselungsschritt (100) zum Verschlüsseln des momentanen Blocks, indem der momentane Block der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge Teilschlüsseln in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  2. Verschlüsselungsverfahren nach Anspruch 1, bei dem der Wählschritt (106) i) die erste Betriebsart für Blöcke immer dann wählt, wenn eine Zahl von Blöcken, die bezogen wurden (105), gleich einem Vielfachen eines vorbestimmten Wertes ist, und ii) und die zweite Betriebsart für alle anderen Fälle wählt.
  3. Verschlüsselungsverfahren nach Anspruch 1, bei dem das Verschlüsselungsgerät (10) eine Ausgangswert-Speichereinrichtung (104) enthält, die einen Ausgangswert speichert, der Verschlüsselungsschritt (100) den momentanen Block verschlüsselt, um einen Chiffretextblock zu erzeugen, der eine vorbestimmte Länge hat, und der Teilschlüssel-Erzeugungsschritt (101) die erste Gruppe unter Verwendung des Ausgangswertes in der ersten Betriebsart und die zweite Gruppe unter Verwendung des Ausgangswertes und des Chiffretextblocks, der zuletzt durch den Verschlüsselungsschritt erzeugt wurde, in der zweiten Betriebsart erzeugt.
  4. Verschlüsselungsgerät (10) zum Verschlüsseln von Klartextdaten, die aus einer Vielzahl von Blöcken bestehen, wobei das Verschlüsselungsgerät enthält: Eine Block-Bezugseinrichtung (108) zum Beziehen der Klartextdaten der Reihe nach Block für Block von außerhalb; eine Wähleinrichtung (106) zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für die Verwendung mit einem momentanen Block, der in der Block-Bezugseinrichtung (108) bezogen wurde, in Übereinstimmung damit, wie viele Blöcke bezogen wurden (105); eine Teilschlüssel-Erzeugungseinrichtung (101) zum Erzeugen 1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und 2) einer zweiten Gruppe, die aus weniger als n unterschiedlichen Teilschlüsseln besteht, wenn die zweite Betriebsart gewählt ist; und eine Verschlüsselungseinrichtung (100) zum Verschlüsseln des momentanen Blocks, indem der momentane Block der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge jeweils einem Teilschlüssel in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  5. Computerlesbares Speichermedium, das ein Verschlüsselungsprogramm (10) für die Verwendung durch einen Computer speichert, der Klartextdaten verschlüsselt, die aus einer Vielzahl von Blöcken bestehen, wobei das Verschlüsselungsprogramm umfasst: einen Block-Bezugsschritt (108) zum Beziehen der Klartextdaten der Reihe nach Block für Block von außerhalb des Verschlüsselungsgerätes; einen Wählschritt (106) zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für einen momentanen Block, der im Block-Bezugsschritt (108) bezogen wurde, in Übereinstimmung damit, wie viele Blöcke bezogen wurden (105); einen Teilschlüssel-Erzeugungsschritt (101) zum Erzeugen 1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und 2) einer zweiten Gruppe, die aus weniger als n unterschiedlicher Teilschlüssel besteht, wenn die zweite Betriebsart gewählt ist; und einen Verschlüsselungsschritt (100) zum Verschlüsseln des momentanen Blocks, indem der momentane Block der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge Teilschlüsseln in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  6. Entschlüsselungsverfahren für die Verwendung durch ein Entschlüsselungsgerät (20), das Chiffretextdaten in Chiffretext-Blockeinheiten entschlüsselt, wobei das Entschlüsselungsverfahren umfasst: einen Block-Bezugsschritt (208) zum Beziehen der Chiffretextdaten der Reihe nach Chiffretextblock für Chiffretextblock von außerhalb des Entschlüsselungsgerätes; einen Wählschritt (206) zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für die Verwendung mit einem momentanen Chiffretextblock, der im Block-Bezugsschritt bezogen wurde, in Übereinstimmung damit, wie viele Chiffretextblöcke bezogen wurden (205); einen Teilschlüssel-Erzeugungsschritt (201) zum Erzeugen 1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und 2) einer zweiten Gruppe, die aus weniger als n unterschiedlicher Teilschlüssel besteht, wenn die zweite Betriebsart gewählt ist; und einen Entschlüsselungsschritt (200) zum Entschlüsseln des momentanen Chiffretextblocks, indem der momentane Chiffretextblock der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge den Teilschlüsseln in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  7. Entschlüsselungsverfahren nach Anspruch 6, bei dem der Wählschritt (206) 1) die erste Betriebsart immer dann wählt, wenn eine Zahl der Chiffretextblöcke, die bezogen wurden (205), als Vielfaches eines vorbestimmtes Wertes gegeben ist, und 2) die zweite Betriebsart für alle anderen Fälle wählt.
  8. Entschlüsselungsverfahren nach Anspruch 6, bei dem das Entschlüsselungsgerät (20) eine Ausgangswert-Speichereinrichtung (204) enthält, die einen Ausgangswert speichert, und der Teilschlüssel-Erzeugungsschritt (201) die erste Gruppe unter Verwendung des Ausgangswertes in der ersten Betriebsart erzeugt und die zweite Gruppe unter Verwendung des Ausgangswertes und des Chiffretextblocks, der unmittelbar vor dem momentanen Chiffretextblock bezogen wurde, in der zweiten Betriebsart erzeugt.
  9. Entschlüsselungsgerät (20), das Chiffretextdaten in Chiffretext-Blockeinheiten entschlüsselt, wobei das Entschlüsselungsgerät enthält: eine Block-Bezugseinrichtung (208), die die Chiffretextdaten der Reihe nach Chiffretextblock für Chiffretextblock von außerhalb bezieht; eine Wähleinrichtung (206) zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für die Verwendung mit einem momentanen Chiffretextblock, der durch Block-Bezugseinrichtung bezogen wurde, in Übereinstimmung damit, wie viele Chiffretextblöcke bezogen wurden (205); eine Teilschlüssel-Erzeugungseinrichtung (201), die 1) eine erste Gruppe erzeugt, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und 2) eine zweite Gruppe erzeugt, die aus weniger als n unterschiedlicher Teilschlüssel besteht, wenn die zweite Betriebsart gewählt ist; und eine Entschlüsselungseinrichtung (200) zum Entschlüsseln des momentanen Chiffretextblocks, indem der momentane Chiffretextblock der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge Teilschlüsseln in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
  10. Computerlesbares Speichermedium zum Speichern eines Entschlüsselungsprogramms (20) für die Verwendung durch einen Computer, der Chiffretextdaten in Chiffretext-Blockeinheiten entschlüsselt, wobei das Entschlüsselungsprogramm umfasst: einen Block-Bezugsschritt (208) zum Beziehen der Chiffretextdaten der Reihe nach Chiffretextblock für Chiffretextblock von außerhalb des Entschlüsselungsgerätes; einen Wählschritt (206) zum Wählen entweder einer ersten Betriebsart oder einer zweiten Betriebsart für die Verwendung mit einem momentanen Chiffretextblock, der im Block-Bezugsschritt bezogen wurde, in Übereinstimmung damit, wie viele Chiffretextblöcke bezogen wurden (205); einen Teilschlüssel-Erzeugungsschritt (201) zum Erzeugen 1) einer ersten Gruppe, die aus einer vorbestimmten Zahl n unterschiedlicher Teilschlüssel besteht, wenn die erste Betriebsart gewählt ist, und 2) einer zweiten Gruppe, die aus weniger als n unterschiedlicher Teilschlüssel besteht, wenn die zweite Betriebsart gewählt ist; und einen Entschlüsselungsschritt (200) zum Entschlüsseln des momentanen Chiffretextblocks, indem der momentane Chiffretextblock der Reihe nach n Umwandlungsvorgängen unterzogen wird, wobei in der ersten Betriebsart jeder der n Umwandlungsvorgänge einem anderen Teilschlüssel in der ersten Gruppe zugeordnet ist und unter Verwendung des zugeordneten Teilschlüssels ausgeführt wird, und in der zweiten Betriebsart die n Umwandlungsvorgänge Teilschlüsseln in der zweiten Gruppe zugeordnet sind und jeweils unter Verwendung des zugeordneten Teilschlüssels ausgeführt werden.
DE60024941T 1999-08-31 2000-08-11 Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung Active DE60024941T8 (de)

Applications Claiming Priority (2)

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

Publications (3)

Publication Number Publication Date
DE60024941D1 DE60024941D1 (de) 2006-01-26
DE60024941T2 true DE60024941T2 (de) 2006-06-29
DE60024941T8 DE60024941T8 (de) 2006-08-10

Family

ID=17131294

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60024941T Active DE60024941T8 (de) 1999-08-31 2000-08-11 Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung

Country Status (9)

Country Link
US (1) US6917684B1 (de)
EP (1) EP1081888B1 (de)
JP (1) JP3364200B2 (de)
CN (2) CN100595816C (de)
BR (1) BR0003884B1 (de)
CA (1) CA2316636C (de)
DE (1) DE60024941T8 (de)
RU (1) RU2257677C2 (de)
SG (1) SG87160A1 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565546B2 (en) * 1999-03-30 2009-07-21 Sony Corporation System, method and apparatus for secure digital content transmission
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US7039614B1 (en) * 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US7124303B2 (en) * 2001-06-06 2006-10-17 Sony Corporation Elementary stream partial encryption
US7747853B2 (en) * 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
EP1396142B8 (de) * 2001-06-12 2005-06-08 International Business Machines Corporation Verfahren zum authentifizieren mehrerer mit einem textdokument verbundener dateien
WO2003034425A1 (en) * 2001-10-12 2003-04-24 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing block-wise stored user data
US7233669B2 (en) * 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys
US7292691B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Progressive video refresh slice detection
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7155012B2 (en) 2002-01-02 2006-12-26 Sony Corporation Slice mask and moat pattern partial encryption
US7292690B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Video scene change detection
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
JP4150886B2 (ja) * 2002-04-19 2008-09-17 ソニー株式会社 暗号化復号化演算装置およびデータ受信装置
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US20040088539A1 (en) * 2002-11-01 2004-05-06 Infante Steven D. System and method for securing digital messages
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
EP1610490A1 (de) * 2004-06-21 2005-12-28 France Telecom Verfahren und Gerät zum Verschlüsseln oder Entschlüsseln von Daten
US20060018627A1 (en) * 2004-07-20 2006-01-26 Canon Kabushiki Kaisha Image reproducing apparatus and image reproducing method
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7546461B2 (en) * 2005-06-28 2009-06-09 Microsoft Corporation Strengthening secure hash functions
JP2007013506A (ja) * 2005-06-29 2007-01-18 N-Crypt Inc 暗号化処理装置、暗号化方法、復号化処理装置、復号化方法、及びデータ構造
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
WO2008066671A2 (en) * 2006-11-08 2008-06-05 Voltage Security, Inc. Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme
JP5024999B2 (ja) * 2007-09-28 2012-09-12 東芝ソリューション株式会社 暗号管理装置、暗号管理方法、暗号管理プログラム
JP4993733B2 (ja) * 2007-09-28 2012-08-08 東芝ソリューション株式会社 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置
CN101887713B (zh) * 2009-05-13 2012-01-25 深圳市文鼎创数据科技有限公司 字库的加密方法及装置
US8611540B2 (en) * 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
JP5225414B2 (ja) * 2011-03-08 2013-07-03 株式会社東芝 暗号演算装置
US9774443B2 (en) * 2015-03-04 2017-09-26 Apple Inc. Computing key-schedules of the AES for use in white boxes
GB2544453A (en) * 2015-09-14 2017-05-24 Creme Software Ltd System for secure analysis of datasets
CN105790930A (zh) * 2016-04-29 2016-07-20 南京酷派软件技术有限公司 用于移动终端的信息加密方法、信息加密装置和移动终端
RU2694336C1 (ru) * 2018-05-08 2019-07-11 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ аутентифицированного шифрования
CN111212026A (zh) * 2019-11-21 2020-05-29 深圳壹账通智能科技有限公司 基于区块链的数据处理方法、装置及计算机设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229818A (en) * 1978-12-29 1980-10-21 International Business Machines Corporation Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system
US5081676A (en) * 1990-10-04 1992-01-14 Chou Wayne W Method and apparatus for protecting multiple copies of computer software from unauthorized use
GB2267419B (en) * 1992-05-29 1996-11-27 Toshiba Kk Data processing apparatus
US5351299A (en) * 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
US5671283A (en) * 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes
US5606616A (en) * 1995-07-03 1997-02-25 General Instrument Corporation Of Delaware Cryptographic apparatus with double feedforward hash function
US5825889A (en) * 1996-10-15 1998-10-20 Ericsson Inc. Use of duplex cipher algorithms for satellite channels with delay
TW367465B (en) * 1997-04-23 1999-08-21 Matsushita Electric Ind Co Ltd Cryptographic processing apparatus cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
DE19724072C2 (de) * 1997-06-07 1999-04-01 Deutsche Telekom Ag Vorrichtung zur Durchführung eines Blockchiffrierverfahrens
JP2000066587A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体

Also Published As

Publication number Publication date
US6917684B1 (en) 2005-07-12
CA2316636C (en) 2007-05-15
EP1081888A3 (de) 2002-07-17
DE60024941D1 (de) 2006-01-26
DE60024941T8 (de) 2006-08-10
JP2001142394A (ja) 2001-05-25
BR0003884B1 (pt) 2014-04-15
RU2257677C2 (ru) 2005-07-27
CN100595816C (zh) 2010-03-24
CN1822538A (zh) 2006-08-23
CA2316636A1 (en) 2001-02-28
BR0003884A (pt) 2001-04-03
CN100592681C (zh) 2010-02-24
EP1081888A2 (de) 2001-03-07
JP3364200B2 (ja) 2003-01-08
SG87160A1 (en) 2002-03-19
EP1081888B1 (de) 2005-12-21
CN1286457A (zh) 2001-03-07

Similar Documents

Publication Publication Date Title
DE60024941T2 (de) Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung
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
DE60024739T2 (de) Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
Biham et al. The rectangle attack—rectangling the Serpent
DE69831982T2 (de) Kryptographisches vermittlungsverfahren und gerät
DE69721439T2 (de) Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels
DE602005002632T2 (de) Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE60121566T2 (de) Verschlüsselungsverfahren, Verschlüsselungsprogramm, Speichermedium zur Aufzeichnung des Programms, und Verschlüsselungsvorrichtung sowie Entschlüsselungsverfahren und Entschlüsselungsvorrichtung
DE19827904C2 (de) Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung
EP2462717B1 (de) Echtzeitfähige quantencomputersichere verschlüsselung von daten aller art
DE60111746T2 (de) Lineartransformation für symmetrische verschlüsselungssysteme
DE60313519T2 (de) Verfahren zur Erzeugung eines Schlüssels, Inhaltsbereitstellungsverfahren, Entschlüsselungsverfahren für verschlüsselte Inhalte, Verfahren zur Erkennung von illegalen Benutzern, System zum Bereitstellen von Inhalten, Benutzersystem, Verfahren zur Ablaufverfolgung, Verschlüsselungsgerät, Entschlüsselungsgerät, und Computerprogramm
DE69938539T2 (de) Kryptographische Einrichtung mit parallel geschalteten Verschlüsselungsblöcken
Rahim et al. Cryptography technique with modular multiplication block cipher and playfair cipher
DE69937007T2 (de) Verfahren und vorrichtung zur verschlüsselung und entschlüsselung von daten
DE2231835B2 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE60221850T2 (de) Verfahren und vorrichtung zur datenverschlüsselung
Gérault et al. Related-key cryptanalysis of midori
EP3304802B1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
Devaraj et al. An image encryption scheme using dynamic S-boxes
DE112012000971B4 (de) Datenverschlüsselung
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: YOKOTA, KAORU, ASHIYA-SHI, HYOGO-KEN 659-0016, JP

Inventor name: OHMORI, MOTOJI, HIRAKATA-SHI, OSAKA-FU 573-0071, J

Inventor name: ENDO, NAOKI, FUCHU-SHI, TOKYO 183-0046, JP

Inventor name: TATEBAYASHI, MAKOTO, TAKARAZU-SHI, HYOGO-KEN 665-0

Inventor name: SANO, FUMIHIKO, FUCHU-SHI, TOKYO 183-0043, JP

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