DE102005010779A1 - Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten - Google Patents

Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten Download PDF

Info

Publication number
DE102005010779A1
DE102005010779A1 DE200510010779 DE102005010779A DE102005010779A1 DE 102005010779 A1 DE102005010779 A1 DE 102005010779A1 DE 200510010779 DE200510010779 DE 200510010779 DE 102005010779 A DE102005010779 A DE 102005010779A DE 102005010779 A1 DE102005010779 A1 DE 102005010779A1
Authority
DE
Germany
Prior art keywords
key
key data
calculation
output
data items
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.)
Granted
Application number
DE200510010779
Other languages
English (en)
Other versions
DE102005010779B4 (de
Inventor
Mi-Jung Noh
Kyoung-Moon Ahn
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102005010779A1 publication Critical patent/DE102005010779A1/de
Application granted granted Critical
Publication of DE102005010779B4 publication Critical patent/DE102005010779B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L8/00Electric propulsion with power supply from forces of nature, e.g. sun or wind
    • B60L8/006Converting flow of air into electric energy, e.g. by using wind turbines
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K16/00Arrangements in connection with power supply of propulsion units in vehicles from forces of nature, e.g. sun or wind
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K16/00Arrangements in connection with power supply of propulsion units in vehicles from forces of nature, e.g. sun or wind
    • B60K2016/006Arrangements in connection with power supply of propulsion units in vehicles from forces of nature, e.g. sun or wind wind power driven
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/90Vehicles comprising electric prime movers
    • B60Y2200/91Electric vehicles
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E10/00Energy generation through renewable energy sources
    • Y02E10/70Wind energy
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/7072Electromobility specific charging systems or methods for batteries, ultracapacitors, supercapacitors or double-layer capacitors

Abstract

Die Erfindung bezieht sich auf ein System zur Verschlüsselung und/oder Entschlüsselung von Daten mit einer Schlüsseldispositionsvorrichtung, einem Prozessor zum Ver-/Entschlüsseln von Daten, basierend auf einem von der Schlüsseldispositionsvorrichtung erzeugten Chiffrier-/Dechiffrierschlüssel, und einer Steuereinheit, sowie auf eine hierin verwendbare Schlüsseldispositionsvorrichtung mit einer Schlüsselspeichereinheit (701), einer Schlüsselberechnungseinheit (702) und einer Schlüsselausgabeeinheit (703).
Erfindungsgemäß ist die Schlüsselspeichereinheit darauf ausgelegt, Berechnungsschlüsseldatenbestandteile oder Speicherschlüsseldatenbestandteile als Eingabeschlüsseldatenbestandteile in Reaktion auf Ladefreigabesignale und ein Taktsignal zu empfangen und zu speichern und die gespeicherten Eingabeschlüsseldatenbestandteile als die Speicherschlüsseldatenbestandteile abzugeben, die Schlüsselberechnungseinheit ist darauf ausgelegt, die Speicherschlüsseldatenbestandteile rechnerisch in Reaktion auf Berechnungssteuersignale zu verarbeiten und die Berechnungsschlüsseldatenbestandteile als Resultat abzugeben, und die Schlüsselausgabeeinheit ist darauf ausgelegt, Teile der Eingabeschlüsseldatenbestandteile und der Speicherschlüsseldatenbestandteile in Reaktion auf Ausgabesteuersignale auszuwählen, um sie als Chiffrierrundenschlüssel oder Dechiffrierrundenschlüssel abzugeben.
Verwendung in der Kryptographietechnik, z. B. für Kryptographiesysteme mit AES-Algorithmus.

Description

  • Die Erfindung bezieht sich auf eine Schlüsseldispositionsvorrichtung nach dem Oberbegriff des Anspruchs 1 sowie auf ein System zur Verschlüsselung und/oder Entschlüsselung von Daten nach dem Oberbegriff des Anspruchs 27.
  • Es ist in der Kryptographietechnik bekannt, dass ein Blockchiffrieralgorithmus, wie ein AES(Advanced Encription Standard)-Algorithmus einen Echtzeit-Datenstrom in Datenblöcke aufteilt und diese ver- oder entschlüsselt. Die Blocklänge beträgt z.B. 128 Bit, wobei der Algorithmus in Software und/oder Hardware implementiert sein kann. Ein in Hardware implementiertes Ver-/Entschlüsselungssystem wird häufig für Produktanwendungen benutzt, die eine hohe Geschwindigkeit erfordern.
  • Eine Verschlüsselung unter Verwendung eines Blockchiffrieralgorithmus kann z.B. durch Prozesse wie SubBytes-Wandlung, ShiftRows-Wandlung, MixedColumns-Wandlung und/oder AddRoundKey-Wandlung durchgeführt werden. Eine Entschlüsselung unter Verwendung eines Blockchiffrieralgorithmus kann beispielsweise durch Prozesse wie InvShiftRows-Wandlung, InvSubBytes-Wandlung, InvMixColumns-Wandlung und AddRoundKey-Wandlung durchgeführt werden. Praktisch alle Wandlungsprozesse zur Ver- oder Entschlüsselung werden in sogenannten Runden bzw. Durchläufen ausgeführt. Nach Abschluss eines Durchlaufs kann der Durchlauf gegebenenfalls einmal oder mehrmals wiederholt werden, um Daten zu ver- oder entschlüsseln.
  • Im AddRoundKey-Wandlungsprozess werden Datenblöcke gegebenenfalls nach Verarbeitung in vorherigen Wandlungsprozessläufen mit sogenannten Rundenschlüsseln gemischt, die von einer Schlüsseldispositionsvorrichtung, auch Schlüsselbereitstellungseinheit oder Schlüsselplaner genannt, erzeugt werden, wonach die Datenblöcke in einen verschlüsselten bzw. entschlüsselten Datenstrom gewandelt werden. Ein anfänglicher Eingabeschlüssel, welcher der Schlüsseldispositionsvorrichtung zugeführt werden kann, um einen Rundenschlüssel zu erzeugen, kann beispielsweise eine Schlüssellänge von 180 Bit, 192 Bit oder 256 Bit haben. Mit größerer Länge des anfänglichen Eingabeschlüssels steigt in der Regel das Maß an Datenverschlüsselung. Die Anzahl an Rundenwiederholungen kann durch die Länge des anfänglichen Eingabeschlüssels bestimmt sein. So können z.B. bei einer Länge des anfänglichen Eingabeschlüssels von 128 Bit für das Verschlüsselungs-/Entschlüsselungssystem zehn Durchläufe, bei einer Länge des anfänglichen Eingabeschlüssels von 192 Bit zwölf Durchläufe und bei einer Länge des anfänglichen Eingabeschlüssels von 256 Bit vierzehn Durchläufe vorgesehen sein. Der Schlüsselplaner stellt den Rundenschlüssel immer dann bereit, wenn das Verschlüsselungs-/Entschlüsselungssystem einen Durchlauf ausführt.
  • Der Schlüsselplan kann beispielsweise begleitend oder durch Vorausberechnung erstellt werden. Bei der begleitenden Methode kann der jeweilige Rundenschlüssel gleichzeitig mit dem Verschlüsseln bzw. Entschlüsseln von Daten erzeugt werden, z.B. für jeden Durchlauf immer dann, wenn der Durchlauf ausgeführt wird. Bei der vorausberechnenden Methode können die Rundenschlüssel für alle Durchläufe im voraus erzeugt und in einem Speicher abgelegt werden, wonach dann der jeweils benötigte Rundenschlüssel für jeden Durchlauf aus dem Speicher ausgelesen wird.
  • Die vorausberechnende Methode benötigt dementsprechend eine größere Speicherkapazität zum Speichern der im voraus erzeugten Rundenschlüssel. Da der Rundenschlüssel für den jeweiligen Durchlauf aus dem Speicher gelesen werden muss, kann sich eine geringere Betriebsgeschwindigkeit für die Verschlüsselung ergeben. Die Länge praktisch aller Rundenschlüssel entspricht typischerweise der Bitanzahl eines Blocks, der ver- bzw. entschlüsselt wird. Wenn beispielsweise zehn Durchläufe ausgeführt werden und die Länge jedes Rundenschlüssels 128 Bit beträgt, beträgt der zur Speicherung aller Rundenschlüssel im Speicher benötigte Speicherplatz 128×(Rundenanzahl+1) Bit, d.h. 1408 Bit. Alternativ beträgt der erforderliche Speicherplatz für die Variante mit zwölf Durchläufen und 192-Bit-Rundenschlüsseln 1644 Bit und mit vierzehn Durchläufen und 256-Bit-Rundenschlüsseln 1920 Bit.
  • Zur Speicherung der Rundenschlüssel kann ein Register benutzt werden, und eine Hardware-Variante mit mindestens 15.000 Gate-Einheiten kann eingesetzt werden, wenn die Rundenschlüssellänge 256 Bit beträgt. Der Schlüsselplaner braucht dann keinen Speicher hoher Kapazität zur Speicherung der Rundenschlüssel aufweisen, vielmehr genügt ein geringerer Speicherplatz zum Speichern nur jeweils eines Rundenschlüssels.
  • 1 veranschaulicht ein herkömmliches Verschlüsselungs-/Entschlüsselungssystem 10, das einen Blockchiffrieralgorithmus, wie einen AES-Algorithmus, benutzt und einen Schlüsselplaner, der einen Chiffrierschlüsselplaner 12 und einen Dechiffrierschlüsselplaner 13 umfasst, sowie eine Steuereinheit 11 und einen Blockrundenprozessor 14 bein haltet. Der Chiffrierschlüsselplaner 12 erzeugt aus einem anfänglichen Rundenschlüssel E_INKEY, der von einer externen Einheit empfangen wird, einen Chiffrierrundenschlüssel R_KEY, den er an den Blockrundenprozessor 14 abgibt. Der Dechiffrierschlüsselplaner 13 erzeugt aus einem anfänglichen Rundenschlüssel D_INKEY, den er von einer externen Einheit empfängt, einen Dechiffrierrundenschlüssel IR_KEY, den er an den Blockrundenprozessor 14 abgibt. Herkömmlicherweise sind der Chiffrierschlüsselplaner 12 und der Dechiffrierschlüsselplaner 13 durch entsprechende Hardware-Einheiten realisiert.
  • Der Chiffrierschlüsselplaner 12 und der Dechiffrierschlüsselplaner 13 führen Wortersetzungsprozesse aus, um den Chiffrierrundenschlüssel R_KEY bzw. den Dechiffrierrundenschlüssel IR_KEY zu erzeugen. Bei diesen Wortsubstitutionsprozessen teilen der Chiffrierschlüsselplaner 12 und der Dechiffrierschlüsselplaner 13 Schlüsseldaten von z.B. 32 Bit in vier Worte mit je 8 Bit und führen eine Substitution mit den vier Worten unter Verwendung von vier zugehörigen Ersetzungstabellen aus. Der anfängliche Chiffrierrundenschlüssel E_INKEY und der anfängliche Dechiffrierrundenschlüssel D_INKEY können z.B. eine Länge von je 256 Bit haben, und der Chiffrierschlüsselplaner 12 sowie der Dechiffrierschlüsselplaner 13 führen den Wortsubstitutionsprozess zweimal pro Zyklus eines vorgegebenen Taktes aus. Der Chiffrierschlüsselplaner 12 und der Dechiffrierschlüsselplaner 13 beinhalten in diesem Fall acht Ersetzungstabellen, die typischerweise in Hardware mit je zwischen 800 Gate-Einheiten und 2200 Gate-Einheiten aufgebaut sind, so dass für 8 Ersetzungstabellen zwischen 6400 Gate-Einheiten und 17.600 Gate-Einheiten benötigt werden. Der Chiffrierschlüsselplaner 12 und der Dechiffrierschlüsselplaner 13 haben daher eine vergleichsweise große Abmessung des Verschlüsselungs-/Entschlüsselungssystems 10 zur Folge.
  • Die Steuereinheit 11 empfängt ein Schlüsselinformationssignal KEY_IF und leitet es an den Chiffrierschlüsselplaner 12 und den Dechiffrier schlüsselplaner 13 weiter. Des weiteren empfängt die Steuereinheit 11 ein Moduseinstellsignal EN_DE und gibt dieses an den Chiffrierschlüsselplaner 12, an den Dechiffrierschlüsselplaner 13 und an den Blockrundenprozessor 14 ab. Der Blockrundenprozessor 14 führt dann die eigentliche Verschlüsselung bzw. Entschlüsselung von zugeführten Daten DAT_IN aus und gibt entsprechende Daten DAT_OUT ab.
  • Der Erfindung liegt als technisches Problem die Bereitstellung einer Schlüsseldispositionsvorrichtung und eines Systems zur Ver-/Entschlüsselung von Daten der eingangs genannten Art zugrunde, mit denen sich die oben erwähnten Schwierigkeiten des Standes der Technik wenigstens teilweise vermeiden lassen und insbesondere Systemrealisierungen mit vergleichsweise geringen Abmessungen ermöglichen.
  • Die Erfindung löst dieses Problem durch die Bereitstellung einer Schlüsseldispositionsvorrichtung mit den Merkmalen des Anspruchs 1 und eines Systems zur Verschlüsselung und/oder Entschlüsselung von Daten mit den Merkmalen des Anspruchs 27.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie das zu deren besserem Verständnis oben erläuterte herkömmliche Ausführungsbeispiel sind in den Zeichnungen dargestellt, in denen zeigen:
  • 1 ein Blockdiagramm eines herkömmlichen Verschlüsselungs-/Entschlüsselungssystems mit einem Schlüsselplaner,
  • 2 ein Blockdiagramm eines erfindungsgemäßen Verschlüsselungs-/Entschlüsselungssystems mit einem Schlüsselplaner,
  • 3 ein Blockschaltbild eines erfindungsgemäßen Schlüsselplaners,
  • 4 ein Blockdiagramm möglicher Realisierungen von Ladefreigabeschaltungen und Registern im Schlüsselplaner von 3,
  • 5 ein Blockdiagramm einer möglichen Realisierung eines Ausgabeselektors im Schlüsselplaner von 3,
  • 6 ein Zeitsteuerungsdiagramm zur Veranschaulichung einer Zeitsteuerung für Ausgangssignale von Registern, wenn der Schlüsselplaner von 3 einen ersten Chiffrier- oder Dechiffrierrundenschlüssel erzeugt,
  • 7A und 7B je ein Zeitsteuerungsdiagramm zur Veranschaulichung einer Zeitsteuerung für die Ausgangssignale der Register, wenn der Schlüsselplaner von 3 einen zweiten Chiffrierrundenschlüssel bzw. einen zweiten Dechiffrierrundenschlüssel erzeugt,
  • 8A und 8B je ein Zeitsteuerungsdiagramm zur Veranschaulichung einer Zeitsteuerung für die Ausgangssignale der Register, wenn der Schlüsselplaner von 3 einen dritten Chiffrierrundenschlüssel bzw. einen dritten Dechiffrierrundenschlüssel erzeugt,
  • 9 ein Blockdiagramm eines weiteren erfindungsgemäßen Schlüsselplaners und
  • 10 ein Blockdiagramm einer möglichen Realisierung von Takt-Gateschaltungen und Registern im Schlüsselplaner von 9.
  • 2 zeigt ein erfindungsgemäßes Verschlüsselungs-/Entschlüsselungssystem 600 mit einer Steuereinheit 601, einer Schlüsseldispositionsvor richtung 700, nachfolgend auch als Schlüsselplaner bezeichnet, und einem z.B. als Blockrundenprozessor ausgelegten Prozessor 602. Die Steuereinheit 601 legt die Länge eines anfänglichen, dem Schlüsselplaner 700 zugeführten Rundenschlüssels basierend auf einem externen Schlüsselinformationssignal KEY_LEG fest. Des weiteren stellt die Steuereinheit 601 basierend auf einem externen Moduseinstellsignal ENC_DEC fest, ob sich das Verschlüsselungs-/Entschlüsselungssystem 600 momentan in einem Verschlüsselungsmodus oder einem Entschlüsselungsmodus befindet. Basierend auf dem externen Moduseinstellsignal ENC_DEC gibt die Steuereinheit 601 außerdem ein Taktsignal CLK, Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3, LD3B, LD4 und LD4B, interne Auswahlsignale M1, M2, M3 und M4, Ausgabeauswahlsignale S1 und S2, Berechnungssteuersignale P1, P2, P3 und P4 sowie ein Rundensteuersignal RCTL ab.
  • Der Schlüsselplaner 700 empfängt von einer externen Einrichtung einen von drei anfänglichen Rundenschlüsseln EIKEY1, EIKEY2, EIKEY3. Die Längen des ersten, zweiten und dritten anfänglichen Rundenschlüssels EIKEY1, EIKEY2 und EIKEY3 betragen z.B. 128 Bit, 192 Bit bzw. 256 Bit. Der Schlüsselplaner 700 erzeugt einen von drei möglichen Chiffrierrundenschlüsseln ERKEY1, ERKEY2, ERKEY3 oder einen von drei möglichen Dechiffrierrundenschlüsseln DRKEY1, DRKEY2, DRKEY3 in Reaktion auf das Taktsignal CLK, die Ladefreigabesignale LD1 bis LD4B, die internen Auswahlsignale M1 bis M4, die Ausgabeauswahlsignale S1 und S2 und die Berechnungssteuersignale P1 bis P4.
  • Der Prozessor 602 führt wiederholt Verschlüsselungs- bzw. Entschlüsselungsdurchläufe aus, wobei die Anzahl an Chiffrierrundenschlüsseln oder Dechiffrierrundenschlüsseln, die vom Schlüsselplaner 700 erzeugt werden, abhängig von der Länge des anfänglichen Rundenschlüssels festgelegt werden kann. Beispielsweise erzeugt der Schlüsselplaner 700, wenn er den ersten anfänglichen Rundenschlüssel EIKEY1 empfängt, zehn erste Dechiffrierrundenschlüssel ERKEY1 oder zehn erste Dechiffrierrundenschlüssel DRKEY1 für zehn entsprechende Durchläufe. Wenn der Schlüsselplaner 700 den zweiten anfänglichen Rundenschlüssel EIKEY2 empfängt, erzeugt er z.B. zwölf zweite Chiffrierrundenschlüssel DRKEY2 oder zwölf zweite Dechiffrierrundenschlüssel DRKEY2 für zwölf Durchläufe. Wenn der Schlüsselplaner 700 den dritten anfänglichen Rundenschlüssel EIKEY3 empfängt, erzeugt er beispielsweise vierzehn dritte Chiffrierrundenschlüssel ERKEY3 oder vierzehn dritte Dechiffrierrundenschlüssel DRKEY3 für vierzehn Durchläufe. Der Prozessor 602 verarbeitet wenigstens einen Datenblock mit z.B. 128 Bit, wobei jeder der ersten, zweiten und dritten Chiffrierrundenschlüssel ERKEY1, ERKEY2, ERKEY3 bzw. jeder der ersten, zweiten und dritten Dechiffrierrundenschlüssel DRKEY1, DRKEY2, DRKEY3, die vom Schlüsselplaner 700 erzeugt werden, eine Länge von 128 Bit haben kann.
  • Der Prozessor 602 empfängt einen von dem ersten, dem zweiten und dritten anfänglichen Rundenschlüssel EIKEY1, EIKEY2, EIKEY3 und einen von dem ersten, dem zweiten und dem dritten Chiffrierrundenschlüssel ERKEY1, ERKEY2, ERKEY3 oder einen von dem ersten, dem zweiten und dem dritten Dechiffrierrundenschlüssel DRKEY1, DRKEY2, DRKEY3. Der Prozessor 602 teilt einen zugeführten Datenstrom SDAT_IN in Reaktion auf das Rundensteuersignal RCTL in Datenblöcke, mischt die Datenblöcke mit dem empfangenen Chiffrierrundenschlüssel ERKEY1, ERKEY2 oder ERKEY3 bzw. Dechiffrierrundenschlüssel DRKEY1, DRKEY2 oder DRKEY3, um die Datenblöcke zu verschlüsseln oder zu entschlüsseln, und gibt einen entsprechenden Datenstrom SDAT_OUT ab. Der Prozessor 602 wiederholt mehrmals die Verschlüsselungs- oder Entschlüsselungsdurchläufe, wobei der Schlüsselplaner 700 jeden vom Prozessor 602 benutzten Chiffrier- oder Dechiffrierrundenschlüssel erzeugt.
  • 3 zeigt eine mögliche Realisierung für den Schlüsselplaner 700 gemäß der Erfindung. In diesem Beispiel beinhaltet der Schlüsselplaner 700 eine Schlüsselspeichereinheit 701, eine Schlüsselberechnungseinheit 702 und eine Schlüsselausgabeeinheit 703. Die Schlüsselspeichereinheit 701 umfasst Ladefreigabeschaltungen 711 bis 718 und Register 721 bis 728. Jeder Ladefreigabeschaltung 711 bis 718 wird je ein anfänglicher Schlüsseldatenbestandteil w[0] bis w[7], ein Berechnungsschlüsseldatenbestandteil c[8m] bis c[8m+7], mit m als einer natürlichen Zahl, und ein Speicherschlüsseldatenbestandteil r[8n] bis r[8n+7], mit n als einer natürlichen Zahl, zugeführt und die jeweilige Ladefreigabeschaltung 711 bis 718 wählt von den drei zugeführten Bestandteilen jeweils einen in Reaktion auf je zwei ihr gemäß 3 zugeführte Ladefreigabesignale aus. Speziell wird das Ladefreigabesignalpaar LD1 und LD1B den Ladefreigabeschaltungen 711 bzw. 712 zugeführt, das Ladefreigabesignalpaar LD2 und LD2B wird den Ladefreigabeschaltungen 713 bzw. 714, das Ladefreigabesignalpaar LD3 und LD3B wird den Ladefreigabeschaltungen 715 bzw. 716 und das Ladefreigabesignalpaar LD4 und LD4B wird den Ladefreigabeschaltungen 717 bzw. 718 zugeführt. Die ausgewählten Datenbestandteile werden von den Ladefreigabeschaltungen 711 bis 718 als Eingabeschlüsseldatenbestandteile w[8n] bis w[8n+7] abgegeben. Die Berechnungsschlüsseldatenbestandteile c[8m] bis c[8m+7] werden von der Schlüsselberechnungseinheit 702 abgegeben, dies ist jedoch optional.
  • Die Anzahl an den Ladefreigabeschaltungen 711 bis 718 zugeführten Schlüsseldatenbestandteilen ist durch den dem Schlüsselplaner 700 zugeführten, anfänglichen Rundenschlüssel festgelegt. Der erste anfängliche Rundenschlüssel EIKEY1 beinhaltet die anfänglichen Schlüsseldatenbestandteile w[0] bis w[3], der zweite anfängliche Rundenschlüssel EIKEY2 beinhaltet die anfänglichen Schlüsseldatenbestandteile w[0] bis w[5] und der dritte anfängliche Rundenschlüssel EIKEY3 beinhaltet die anfänglichen Schlüsseldatenbestandteile w[0] bis w[7]. Der erste anfängliche Rundenschlüssel EIKEY1 kann dem Schlüsselplaner 700 zugeführt werden, indem die anfänglichen Schlüsseldatenbestandteile w[0] bis w[3] je einer der Ladefreigabeschaltungen 711 bis 714 zugeführt werden. Der zweite anfängliche Rundenschlüssel EIKEY2 kann dem Schlüsselplaner 700 zugeführt werden, indem die anfänglichen Schlüsseldatenbestandteile w[0] bis w[5] je einer der Ladefreigabeschaltungen 711 bis 716 zugeführt werden. Der dritte anfängliche Rundenschlüssel EIKEY3 kann dem Schlüsselplaner 700 zugeführt werden, indem die anfänglichen Schlüsseldatenbestandteile w[0] bis w[7] je einer der Ladefreigabeschaltungen 711 bis 718 zugeführt werden.
  • Die Register 721 bis 728 speichern die zugeführten Schlüsseldatenbestandteile w[n] bis w[8n+7] in Reaktion auf das Taktsignal CLK und geben sie als die Speicherschlüsseldatenbestandteile r[8n] bis r[8n+7] wieder aus. Die Ladefreigabeschaltungen 711 bis 718 und die Register 721 bis 728 werden nachstehend in Verbindung mit 4 näher erläutert.
  • Die Schlüsselberechnungseinheit 702 beinhaltet Kettenberechnungseinheiten 731 bis 738, eine davon unabhängige Berechnungseinheit 739, Auswahlschaltungen 741, 742 und 743, eine Wortrotationseinheit 751, eine Wordsubstitutionseinheit 752 und einen Rundenkonstantengenerator 753.
  • Die Kettenberechnungseinheiten 731 bis 738 sind als Kette seriell miteinander verbunden und außerdem mit je einem der Register 721 bis 728 verbunden. Sie empfangen je einen der Speicherschlüsseldatenbestandteile r[8n] bis r[8n+7] von den Registern 721 bis 728 und geben in Reaktion darauf sowie auf Wandlungsschlüsseldaten SUC je einen der Berechnungsschlüsseldatenbestandteile c[8m] bis c[8m+7] ab. Speziell empfängt die Kettenberechnungseinheit 731 die Wandlungsschlüsseldaten SUC, und die weiteren Kettenberechnungseinheiten 732 bis 738 empfangen jeweils den von der vorherigen Kettenberechnungseinheit 731 bis 737 abgegebenen Berechnungsschlüsseldatenbestandteil c[8m] bis c[8m+6]. Die Kettenberechnungseinheiten 731 bis 738 führen z.B. Exklusiv-ODER-Verknüpfungen aus. Speziell führt dann die Kettenberechnungseinheit 731 eine Exklusiv-ODER-Verknüpfung des Speicher schlüsselbestandteils r[8n] mit den Wandlungsschlüsseldaten SUC durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[8m] ab. Die Kettenberechnungseinheiten 732 bis 738 führen jeweils eine Exklusiv-ODER-Verknüpfung eines der Speicherschlüsseldatenbestandteile r[8n+1] bis r[8n+7] mit je einem der Berechnungsschlüsseldatenbestandteile c[8m] bis c[8m+6] aus und geben den entsprechenden Berechnungsschlüsseldatenbestandteil c[8m+1] bis c[8m+7] ab.
  • Die unabhängige Berechnungseinheit 739 führt eine Exklusiv-ODER-Verknüpfung von Substitutionsschlüsseldaten SUB mit einer Rundenkonstanten RNC aus und gibt die Wandlungsschlüsseldaten SUC als Resultat ab.
  • Die Auswahlschaltung 741 gibt in Reaktion auf das Berechnungssteuersignal P1 von der Steuereinheit 601 entweder die Substitutionsschlüsseldaten SUB oder den Berechnungsschlüsseldatenbestandteil c[8m+3] an die Kettenberechnungseinheit 735 ab. Beispielsweise gibt sie die Substitutionsschlüsseldaten SUB ab, wenn das Berechnungssteuersignal P1 aktiviert ist, und den Berechnungsschlüsselbestandteil c[8m+3], wenn das Berechnungssteuersignal P1 deaktiviert ist.
  • Die Auswahlschaltung 742 gibt einen von drei Ausgabeschlüsseldatenbestandteilen x3, x5 und x7 in Reaktion auf die Berechnungssteuersignale P2 und P3 von der Steuereinheit 601 an die Wortrotationseinheit 751 ab. Beispielsweise gibt sie den Ausgabeschlüsseldatenbestandteil x3 ab, wenn beide Berechnungssteuersignale P2 und P3 deaktiviert sind, während sie den Ausgabeschlüsseldatenbestandteil x5 abgibt, wenn das Berechnungssteuersignal P2 aktiviert und das Berechnungssteuersignal P3 deaktiviert sind. Wenn das Berechnungssteuersignal P2 deaktiviert und das Berechnungssteuersignal P3 aktiviert sind, gibt die Auswahlschaltung 742 den Ausgabeschlüsseldatenbestandteil x7 an die Wortrotationseinheit 751 ab.
  • Die Auswahlschaltung 743 gibt in Reaktion auf das Berechnungssteuersignal P4 von der Steuereinheit 601 entweder den Berechnungsschlüsseldatenbestandteil c[8m+3] oder Rotationsschlüsseldaten ROT an die Wortsubstitutionseinheit 752 ab. Beispielsweise gibt sie den Berechnungsschlüsseldatenbestandteil c[8m+3] ab, wenn das Berechnungssteuersignal P4 aktiviert ist, während sie die Rotationsschlüsseldaten ROT abgibt, wenn das Berechnungssteuersignal P4 deaktiviert ist. Die Auswahlschaltungen 741, 742 und 743 können jeweils einen Multiplexer umfassen.
  • Die Wortrotationseinheit 751 empfängt einen der Ausgabeschlüsseldatenbestandteile x3, x5 und x7 von der Auswahlschaltung 742, führt eine Rotation der Bits des empfangenen Ausgabeschlüsseldatenbestandteils x3, x5, x7 um beispielsweise 8 Bit aus und gibt die entsprechenden Rotationsschlüsseldaten ROT ab. Eine solche Betriebsweise einer Wortrotationseinheit ist dem Fachmann als solche allgemein bekannt und bedarf hier keiner näheren Erläuterung.
  • Die Wortsubstitutionseinheit 752 empfängt den Berechnungsschlüsseldatenbestandteil c[8m+3] oder die Rotationsschlüsseldaten ROT von der Auswahlschaltung 743, nimmt eine Substitution der empfangenen Daten vor und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die Wortsubstitutionseinheit 752 kann hierfür z.B. vier nicht gezeigte, interne Ersetzungstabellen beinhalten und den empfangenen Berechnungsschlüsseldatenbestandteil c[8m+3] oder die empfangenen Rotationsschlüsseldaten ROT durch Werte aus den vier Ersetzungstabellen substituieren. Der Rundenkonstantengenerator 753 erzeugt die Rundenkonstante RNC.
  • Die Schlüsselausgabeeinheit 703 umfasst interne Auswahlschaltungen 761 bis 768 und einen Ausgabeselektor 770. Die internen Auswahlschaltungen 761 bis 768 wählen in Reaktion auf die internen Auswahlsignale M1 bis M4, die ihnen von der Steuereinheit 601 zugeführt werden, jeweils den entsprechenden Eingabeschlüsseldatenbestandteil w[8n] bis w[8n+7] oder den entsprechenden Speicherschlüsseldatenbestandteil r[8n] bis r[8n] aus und geben den ausgewählten Datenbestandteil als die Ausgabeschlüsseldatenbestandteile x0 bis x7 ab. Speziell wird dazu das interne Auswahlsignal M1 den internen Auswahlschaltungen 761 und 762, das interne Auswahlsignal M2 den internen Auswahlschaltungen 763 und 764, das interne Auswahlsignal M3 den internen Auswahlschaltungen 765 und 766 und das interne Auswahlsignal M4 den internen Auswahlschaltungen 767 und 768 zugeführt.
  • Die internen Auswahlschaltungen 761 und 762 geben beispielsweise die Eingabeschlüsseldatenbestandteile w[8n] und w[8n+1] als die Ausgabeschlüsseldatenbestandteile x0 bzw. x1 ab, wenn das interne Auswahlsignal M1 aktiviert ist, während sie die Speicherschlüsseldatenbestandteile r[8n] und r[8n+1] als die Ausgabeschlüsseldatenbestandteile x0 bzw. x1 abgeben, wenn das interne Auswahlsignal M1 deaktiviert ist. In gleicher Weise geben die internen Auswahlschaltungen 763 bis 768 als die weiteren Ausgabeschlüsseldatenbestandteile x3 bis x7 z.B. die Eingabeschlüsseldatenbestandteile w[8n+2] bis w[8n+7] ab, wenn die internen Auswahlsignale M2, M3 und M4 aktiviert sind, und die Speicherschlüsseldatenbestandteile r[8n+2] bis r[8n+7], wenn die internen Auswahlsignal M2, M3 und M4 deaktiviert sind. Die internen Auswahlschaltungen 761 bis 768 können jeweils einen Multiplexer beinhalten.
  • Der Ausgabeselektor 770 wählt einen Teil der Ausgabeschlüsseldatenbestandteile x0 bis x7 in Reaktion auf die Ausgabeauswahlsignal S1 und S2 von der Steuereinheit 601 aus und gibt diesen ausgewählten Teil als den ersten, den zweiten oder den dritten Chiftrierrundenschlüssel ERKEY1, ERKEY2, ERKEY3 bzw. als den ersten, den zweiten oder den dritten Dechiffrierrundenschlüssel DRKEY1, DRKEY2, DRKEY3 ab. Der Ausgabeselektor 770 wird weiter unten in Verbindung mit 5 näher erläutert.
  • 4 veranschaulicht mögliche Realisierungen für die Ladefreigabeschaltungen 711 und 712 und die Register 721 und 722. Die Ladefreigabeschaltungen 713 bis 718 können identisch oder im wesentlichen gleich aufgebaut sein wie die Ladefreigabeschaltungen 711 und 712. Ebenso können die Register 723 bis 728 einen identischen oder im wesentlichen gleichen Aufbau haben wie die Register 721 und 722.
  • Im Beispiel von 4 umfasst die Ladefreigabeschaltung 711 zwei UND-Gatter 71 und 73 sowie ein ODER-Gatter 81, und in gleicher Weise umfasst die Ladefreigabeschaltung 712 zwei UND-Gatter 72 und 74 sowie ein ODER-Gatter 82. Die UND-Gatter 71 und 72 geben logische Signale T1 und T2 in Reaktion auf das Ladefreigabesignal LD1 und entweder dem zugehörigen anfänglichen Schlüsseldatenbestandteil w[0] bzw. w[1] oder dem zugehörigen Berechnungsschlüsseldatenbestandteil c[8m] bzw. c[8m+1] ab. Die UND-Gater 73 und 74 geben logische Signale T3 und T4 in Reaktion auf das invertierte Ladefreigabesignal LD1 B und entweder den zugehörigen Speicherschlüsseldatenbestandteil r[0] bzw. r[1] oder den zugehörigen Speicherschlüsseldatenbestandteil r[8n] bzw. r[8n+1] ab. Das ODER-Gatter 81 empfängt die logischen Signale T1 und T3 und gibt daraus den Eingabeschlüsseldatenbestandteil w[0] oder w[8n] ab, während das ODER-Gatter 82 die logischen Signale T2 und T4 empfängt und daraus den Eingabeschlüsseldatenbestandteil w[1] oder w[8n+1] abgibt.
  • Beispielsweise geben die UND-Gatter 71 und 72 die anfänglichen Schlüsseldatenbestandteile w[0] und w[1] oder alternativ die Berechnungsschlüsseldatenbestandteile c[8m] und c[8m+1] als die logischen Signale T1 und T2 ab, wenn das Ladefreigabesignal LD1 auf einen hohen Logikpegel ansteigt. Analog geben die UND-Gatter 73 und 74 die logischen Signale T3 und T4 mit einem niedrigen Logikpegel ab, wenn sich das invertierte Ladefreigabesignal LD1B auf einem niedrigen Logikpegel befindet. Die ODER-Gatter 81 und 82 geben dann die logischen Signale T1 und T2 als die Eingabeschlüsseldatenbestandteile w[8n] und w[8n+1] oder alternativ als die Eingabeschlüsseldatenbestandteile w[0] und w[1] ab. Wenn andererseits das Ladefreigabesignal LD1 auf niedrigem Logikpegel deaktiviert ist, geben die UND-Gatter 71 und 72 die logischen Signale T1 und T2 mit niedrigem Logikpegel ab. Das invertierte Ladefreigabesignal LD1 B ist dann auf hohem Logikpegel, wodurch die UND-Gatter 73 und 74 die Speicherschlüsseldatenbestandteile r[8n] und r[8n+1] oder die Speicherschlüsseldatenbestandteile r[0] und r[1] als die logischen Signale T3 und T4 abgeben. Die ODER-Gatter 81 und 82 geben dann die logischen Signale T3 und T4 als die Eingabeschlüsseldatenbestandteile w[8n] und w[8n+1] oder alternativ w[0] und w[1] ab.
  • Zusammengefasst geben somit die Ladefreigabeschaltungen 711 und 712 die anfänglichen Schlüsseldatenbestandteile w[0] und w[1] oder alternativ die Berechnungsschlüsseldatenbestandteile c[8m] und c[8m+1] als die Eingabeschlüsseldatenbestandteile w[8n] und w[8n+1] ab, wenn das Ladefreigabesignal LD1 auf hohen Logikpegel aktiviert ist, während sie die Speicherschlüsseldatenbestandteile r[8n] und r[8n+1] oder alternativ r[0] und r[1] als die Eingabeschlüsseldatenbestandteile w[8n] und w[8n+1] oder alternativ w[0] und w[1] abgeben, wenn das Ladefreigabesignal LD1 auf niedrigen Logikpegel deaktiviert ist.
  • Ausgangsanschlüsse der Ladefreigabeschaltungen 711 und 712 sind mit je einem Eingangsanschluss der Register 721 und 722 verbunden. Jedes Register 721 und 722 kann aus einem D-Flip-Flop bestehen. Die Register 721 und 722 speichern in Reaktion auf das Taktsignal CLK die Eingabeschlüsseldatenbestandteile w[8n] und w[8n+1] und geben sie als die Speicherschlüsseldatenbestandteile r[8n] und r[8n+1] aus.
  • 5 veranschaulicht eine mögliche Realisierung für den Ausgabeselektor 770 von 3. Der Ausgabeselektor 770 umfasst in diesem Beispiel Ausgabeauswahlschaltungen 771 bis 774, die jeweils einen Multiplexer aufweisen können. Die Ausgabeauswahlschaltung 771 wählt ei nen der Ausgabeschlüsseldatenbestandteile x0, x2 und x4 in Reaktion auf die Ausgabeauswahlsignale S1 und S2 von der Steuereinheit 601 aus und gibt ihn ab. Sie gibt beispielsweise den Ausgabeschlüsselbestandteil x0 ab, wenn beide Ausgabeauswahlsignale S1 und S2 deaktiviert sind, während sie den Ausgabeschlüsseldatenbestandteil x4 abgibt, wenn nur eines der beiden Ausgabeauswahlsignale S1 und S2 aktiviert ist, und sie den Ausgabeschlüsseldatenbestandteil x2 abgibt, wenn beide Ausgabeauswahlsignale S1 und S2 aktiviert sind.
  • Die Ausgabeauswahlschaltung 772 wählt einen der Ausgabeschlüsseldatenbestandteile x1, x3 und x5 in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus und gibt ihn ab. Beispielsweise gibt sie den Ausgabeschlüsseldatenbestandteil x1 ab, wenn beide Ausgabeauswahlsignale S1 und S2 deaktiviert sind, während sie den Ausgabeschlüsseldatenbestandteil x5 abgibt, wenn nur eines der beiden Ausgabeauswahlsignale S1 und S2 aktiviert ist, und sie den Ausgabeschlüsseldatenbestandteil x3 abgibt, wenn beide Ausgabeauswahlsignale S1 und S2 aktiviert sind.
  • Die Ausgabeauswahlschaltung 773 wählt einen der Ausgabeschlüsseldatenbestandteile x0, x2, x4 und x6 in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus. Beispielsweise gibt die Ausgabeauswahlschaltung 773 den Ausgabeschlüsseldatenbestandteil x2 ab, wenn beide Ausgabeauswahlsignale S1 und S2 deaktiviert sind, den Ausgabeschlüsseldatenbestandteil x6 ab, wenn das Ausgabeauswahlsignal S1 aktiviert und das Ausgabeauswahlsignal S2 deaktiviert ist, den Ausgabeschlüsseldatenbestandteil x0 ab, wenn das Ausgabeauswahlsignal S1 deaktiviert und das Ausgabeauswahlsignal S2 aktiviert ist, und den Ausgabeschlüsseldatenbestandteil x4 ab, wenn beide Ausgabeauswahlsignale S1 und S2 aktiviert sind.
  • Die Ausgabeauswahlschaltung 774 wählt einen der Ausgabeschlüsseldatenbestandteile x1, x3, x5 und x7 in Reaktion auf die Ausgabeaus wahlsignale S1 und S2 aus und gibt ihn ab. Beispielsweise gibt sie den Ausgabeschlüsseldatenbestandteil x3 ab, wenn beide Ausgabeauswahlsignale S1 und S2 deaktiviert sind, den Ausgabeschlüsseldatenbestandteil x7 ab, wenn das Ausgabeauswahlsignal S1 aktiviert und das Ausgabeauswahlsignal S2 deaktiviert ist, den Ausgabeschlüsseldatenbestandteil x1 ab, wenn das Ausgabeauswahlsignal S1 deaktiviert und das Ausgabeauswahlsignal S2 aktiviert ist, und den Ausgabeschlüsseldatenbestandteil x5 ab, wenn beide Ausgabeauswahlsignale S1 und S2 aktiviert sind. Im Beispiel von 5 werden den Ausgabeauswahlschaltungen 771 bis 774 nur die Ausgabeauswahlsignale S1 und S2 zugeführt, alternativ kann ihnen aber auch zusätzlich das Ausgabeauswahlsignal S3 zugeführt werden, wobei die Ausgabeauswahlschaltungen 771 bis 774 dann die oben erwähnten Ausgabeschlüsseldatenbestandteile in Reaktion auf die Ausgabeauswahlsignale S1 und S2 abgeben, wenn das Ausgabeauswahlsignal S3 z.B. deaktiviert ist, während für den Fall eines aktivierten Ausgabeauswahlsignals S3 vorgesehen sein kann, dass die Ausgabeauswahlschaltungen 771 bis 774 keine Ausgabeschlüsseldatenbestandteile abgeben.
  • Nachfolgend wird eine mögliche Betriebsweise der erfindungsgemäßen Schlüsseldispositionsvorrichtung 700 unter Bezugnahme auf 3 näher erläutert, wobei auf einen Prozess Bezug genommen wird, bei dem der erste anfängliche Rundenschlüssel EIKEY1 mit den anfänglichen Schlüsseldatenbestandteilen w[0], w[1], w[2] und w[3] empfangen und der erste Chiffrierrundenschlüssel ERKEY1 erzeugt wird.
  • Der erste anfängliche Rundenschlüssel EIKEY1 mit den anfänglichen Schlüsseldatenbestandteilen w[0], w[1], w[2] und w[3] wird dem Schlüsselplaner 700 zugeführt, und die Ladefreigabesignale LD1, LD1B, LD2 und LD2B sowie die internen Auswahlsignale M1 und M2 werden aktiviert und im aktivierten Zustand gehalten, bis der Schlüsselplaner 700 z.B. zehn erste Chiffrierrundenschlüssel ERKEY1 erzeugt. Die Ladefreigabesignale LD3, LD3B, LD4 und LD4B, die internen Auswahlsignale M3 und M4, die Ausgabeauswahlsignale S1 und S2 sowie die Berechnungssteuersignale P1 bis P4 werden in einem deaktivierten Zustand gehalten, bis der Schlüsselplaner 700 beispielsweise die zehn ersten Chiffrierrundenschlüssel ERKEY1 erzeugt. Die Ladefreigabeschaltungen 711 bis 714, die Register 721 bis 724 und die Kettenberechnungseinheiten 731 bis 734 werden betrieben, während der Schlüsselplaner 700 beispielsweise die zehn ersten Chiffrierrundenschlüssel ERKEY1 erzeugt.
  • Die Ladefreigabeschaltungen 715 bis 718 geben vorzugsweise kontinuierlich die Speicherschlüsseldatenbestandteile r[8n+4], r[8n+5], r[8n+6] und r[8n+7] als jeweiligen Eingabeschlüsseldatenbestandteil w[8n+4], w[8n+5], w[8n+6] und w[8n+7] ab, wenn die Ladefreigabesignale LD3, LD3B, LD4 und LD4B deaktiviert sind. Die Ausgabesignale der Register 725 bis 728 werden beibehalten, wobei der Stromverbrauch der Register 725 bis 728 verringert werden kann.
  • Die Ladefreigabeschaltungen 711 bis 714 geben in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2 und LD2B die anfänglichen Schlüsseldatenbestandteile w[0], w[1], w[2] bzw. w[3] als die Eingabeschlüsseldatenbestandteile w[0], w[1], w[2] und w[3] ab. Die Register 721 bis 724 empfangen und speichern die Eingabeschlüsseldatenbestandteile w[0] bis w[3] in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[0] bis w[3] als die Speicherschlüsseldatenbestandteile r[0] bis r[3] ab.
  • Die internen Auswahlschaltungen 761 bis 764 wählen die Eingabeschlüsseldatenbestandteile w[0] bis w[3] aus und geben sie als die Ausgabeschlüsseldatenbestandteile x0 bis x3 in Reaktion auf die internen Auswahlsignale M1 und M2 aus. Die Ausgabeauswahlsignale S1 und S2 sind deaktiviert, und der Ausgabeselektor 770 gibt die Ausgabeschlüsseldatenbestandteile x0 bis x3, welche die Eingabeschlüsseldatenbestandteile w[0] bis w[3] sein können, als den ersten Chiffrierrunden schlüssel ERKEY1 ab. Der Prozessor 602 kann direkt die anfänglichen Schlüsseldatenbestandteile w[0] bis w[3] empfangen und braucht daher den ersten Chiffrierrundenschlüssel ERKEY1 mit den Eingabeschlüsseldatenbestandteilen w[0] bis w[3], wie vom Ausgabeselektor 770 abgegeben, nicht empfangen. Der Prozessor 602 kann aber den ersten Chiffrierrundenschlüssel ERKEY1, der vom Ausgabeselektor 770 abgegeben wird, in Reaktion auf das Rundensteuersignal RCTL empfangen.
  • Die Auswahlschaltung 742 wählt in Reaktion auf die Berechnungssteuersignale P2 und P3 den Ausgabeschlüsseldatenbestandteil x3 aus und gibt ihn ab. Die Wortrotationseinheit 751 rotiert die Bits des Ausgabeschlüsseldatenbestandteils x3 und gibt die entsprechenden Rotationsschlüsseldaten ROT ab. Die Auswahlschaltung 743 wählt die Rotationsschlüsseldaten ROT in Reaktion auf das Berechnungssteuersignal P4 aus und gibt sie ab.
  • Die Wortersetzungseinheit 752 ersetzt die Rotationsschlüsseldaten ROT unter Verwendung der z.B. vier Ersetzungstabellen und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die unabhängige Berechnungseinheit 739 führt eine logische Verknüpfung der Substitutionsschlüsseldaten SUB und der vom Rundenkonstantengenerator 753 empfangenen Rundenkonstante RNC aus und gibt die entsprechenden Wandlungsschlüsseldaten SUC ab.
  • Die Kettenberechnungseinheit 731 führt eine logische Verknüpfung der Wandlungsschlüsseldaten SUC mit dem Speicherschlüsseldatenbestandteil r[0] durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[4] ab. Die Kettenberechnungseinheit 732 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[1] mit dem Berechnungsschlüsseldatenbestandteil c[4] von der Kettenberechnungseinheit 731 durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[5] ab. Die Kettenberechnungseinheit 733 führt eine logische Verknüpfung des Speicherschlüsseldatenbe standteils r[2] mit dem Berechnungsschlüsseldatenbestandteil c[5] von der zweiten Kettenberechnungseinheit 732 durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[6] aus. Die Kettenberechnungseinheit 743 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[3] mit dem Berechnungsschlüsseldatenbestandteil c[6] von der Kettenberechnungseinheit 733 durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[7] ab. Die Ladefreigabeschaltungen 711 bis 714 geben die Berechnungsschlüsseldatenbestandteile c[4] bis c[7] als jeweiligen Eingabeschlüsseldatenbestandteil w[4] bis w[7] in Reaktion auf die Ladefreigabesignale LD1, LD1 B, LD2 und LD2B ab.
  • Die internen Auswahlschaltungen 761 bis 764 wählen die Eingabeschlüsseldatenbestandteile w[4] bis w[7] aus und geben sie als die Ausgabeschlüsseldatenbestandteile x0 bis x3 in Reaktion auf die internen Auswahlsignale M1 und M2 ab. Der Ausgabeselektor 770 wählt die Ausgabeschlüsseldatenbestandteile x0 bis x3 in Reaktion auf die Ausgabesteuersignale S1 und S2 aus und gibt sie als den ersten Chiffrierrundenschlüssel ERKEY1 ab. Der Schlüsselplaner 700 erzeugt somit den ersten Chiffrierrundenschlüssel ERKEY1 mit den Ausgabeschlüsseldatenbestandteilen x0 bis x3, bei denen es sich um die Eingabeschlüsseldatenbestandteile w[4] bis w[7] handeln kann, beispielsweise während eines ersten Zyklus des Taktsignals CLK. Der erste Chiffrierrundenschlüssel ERKEY1 mit den Eingabeschlüsseldatenbestandteilen w[4] bis w[7] und der erste anfängliche Rundenschlüssel EIKEY1 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[3] werden dem Prozessor 602 z.B. während des ersten Zyklus des Taktsignals CLK zugeführt.
  • Der Schlüsselplaner 700 wiederholt die vorstehenden Berechnungsschritte und gibt beispielsweise den ersten Chiffrierrundenschlüssel ERKEY1 aus, bis dieser mit den Eingabeschlüsseldatenbestandteilen w[40] bis w[43] erzeugt wird. Der erste Chiffrierrundenschlüssel ERKEY1 mit den Eingabeschlüsseldatenbestandteilen w[40] bis w[43] wird dann vom Schlüsselplaner 700 erzeugt, und die Register 721 bis 724 speichern den jeweiligen Eingabeschlüsseldatenbestandteil w[40] bis w[43]. Die gespeicherten Eingabeschlüsseldatenbestandteile w[40] bis w[43] werden dann beispielsweise eingesetzt, wenn der erste Dechiffrierrundenschlüssel DRKEY1 erzeugt wird und im Speicherzustand gehalten wird. Die nachstehende Tabelle 1 veranschaulicht die Erzeugung des ersten Chiffrierrundenschlüssels ERKEY1 durch den Schlüsselplaner 700.
  • Tabelle 1
    Figure 00210001
  • Wie aus Tabelle 1 ersichtlich, wird während eines ersten Zyklus des Taktsignals CLK der erste Chiffrierrundenschlüssel ERKEY1 mit den Eingabeschlüsseldatenbestandteilen w[4] bis w[7] und den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[3] des ersten anfänglichen Rundenschlüssels EIKEY1 dem Prozessor 602 zugeführt.
  • 6 veranschaulicht im Zeitsteuerungsdiagramm die zeitliche Abstimmung der Ausgabe der Speicherschlüsseldatenbestandteile r[8n] bis r[8n+7] aus den Registern 721 bis 728, wenn der Schlüsselplaner 700 die ersten zehn Chiffrierrundenschlüssel erzeugt. Wie aus 6 ersichtlich, werden die von den Registern 721 bis 724 ausgegebenen Spei cherschlüsseldatenbestandteile r[8n] bis r[8n+3] bei jedem Zyklus des Taktsignals CLK getriggert. Die Speicherschlüsseldatenbestandteile r[8n+4] bis r[8n+7], die von den Registern 725 bis 728 ausgegeben werden, werden beibehalten, während der Schlüsselplaner 700 beispielsweise alle oder im Wesentlichen alle zehn ersten Chiffrierrundenschlüssel ERKEY1 erzeugt, so dass der Stromverbrauch der Register 725 bis 728 gering gehalten werden kann.
  • Der erste Dechiffrierrundenschlüssel DRKEY1 wird z.B. erzeugt, wenn der Schlüsselplaner 700 den ersten anfänglichen Rundenschlüssel EIKEY1 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[3] empfängt. Die Ladefreigabesignale LD1, LD1 B, LD2 und LD2B werden aktiviert, und die Ladefreigabesignale LD3, LD3B, LD4 und LD4B werden deaktiviert. Die Ladefreigabesignale LD1, LD1 B, LD2 und LD2B werden im aktivierten Zustand gehalten, und die Ladefreigabesignale LD3, LD3B, LD4 und LD4B werden im deaktivierten Zustand gehalten, bis der Schlüsselplaner 700 den ersten Dechiffrierrundenschlüssel DRKEY1 erzeugt.
  • Die Ladefreigabeschaltungen 711 bis 714 geben in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2 und LD2B die anfänglichen Schlüsseldatenbestandteile w[0] bis w[4] als Eingabeschlüsseldatenbestandteile w[0] bis w[3] aus. Die Register 721 bis 724 empfangen und speichern die Eingabeschlüsseldatenbestandteile w[0] bis w[3] in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[0] bis w[3] als die Speicherschlüsseldatenbestandteile r[0] bis r[3] aus.
  • Der Schlüsselplaner 700 wiederholt die Erzeugung des ersten Chiffrierrundenschlüssels ERKEY1 z.B. bis von den Kettenberechnungseinheiten 731 bis 734 die Berechnungsschlüsseldatenbestandteile c[40] bis c[43] ausgegeben werden. Der Schlüsselplaner 700 kann diesen Erzeugungsvorgang z.B. in Reaktion auf das Rundensteuersignal RCTL wie derholen, während der Prozessor 602 den vom Schlüsselplaner 700 abgegebenen ersten Chiffrierrundenschlüssel ERKEY1 nicht empfangen braucht. Der Schlüsselplaner 700 wiederholt die obigen Vorgänge beispielsweise, bis die Kettenberechnungseinheiten 731 bis 734 die Berechnungsschlüsseldatenbestandteile c[40] bis c[43] abgeben, während der Ausgabeselektor 770 den ersten Chiffrierrundenschlüssel ERKEY1 nicht abgibt.
  • Die Kettenberechnungseinheiten 731 bis 734 geben die Berechnungsschlüsseldateneinheiten c[40] bis c[43) z.B. in Reaktion auf die Ladefreigabesignale LD1, LD1 B, LD2 und LD2B ab, und die Ladefreigabeschaltungen 711 bis 714 geben die Berechnungsschlüsseldatenbestandteile c[40] bis c[43] als die Eingabeschlüsseldatenbestandteile w[40] bis w[43] ab. Die Register 721 bis 724 empfangen und speichern die Eingabeschlüsseldatenbestandteile w[40] bis w[43] z.B. in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[40] bis w[43] als die Speicherschlüsseldatenbestandteile r[40] bis r[43] ab. Die internen Auswahlsignale M1 und M2 können deaktiviert sein, und alle oder im Wesentlichen alle Berechnungssteuersignale P1 bis P4 sowie die Ausgabeauswahlsignale S1 und S2 können deaktiviert sein und im deaktivierten Zustand gehalten werden, bis der Schlüsselplaner 700 den letzten ersten Dechiftrierrundenschlüssel DRKEY1 erzeugt.
  • Die internen Auswahlschaltungen 761 bis 764 geben die Speicherschlüsseldatenbestandteile r[40] bis r[43] z.B. in Reaktion auf die internen Auswahlsignale M1 und M2 als die Ausgabeschlüsseldatenbestandteile x0 bis x3 ab. Der Ausgabeselektor 770 wählt z.B. die Ausgabeschlüsseldatenbestandteile x0 bis x3, bei denen es sich um die Speicherschlüsseldatenbestandteile r[40] bis r[43] handeln kann, in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus und gibt sie ab.
  • Die Auswahlschaltung 742 gibt z.B. den Ausgabeschlüsseldatenbestandteil x3, bei dem es sich um den Speicherschlüsseldatenbestandteil r[43] handeln kann, in Reaktion auf die Berechnungssteuersignale P2 und P3 an die Wortrotationseinheit 751 aus. Die Wortrotationseinheit 751 rotiert die Bits des Speicherschlüsseldatenbestandteils r[43], um die Rotationsschlüsseldaten ROT abzugeben. Die Auswahlschaltung 743 wählt die Rotationsschlüsseldaten ROT z.B. in Reaktion auf das Berechnungssteuersignal P4 aus und gibt sie an die Wortersetzungseinheit 752 ab. Die Wortersetzungseinheit 752 substituiert die Rotationsschlüsseldaten ROT unter Verwendung der Ersetzungstabelle und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die unabhängige Berechnungseinheit 739 führt eine logische Verknüpfung der Substitutionsschlüsseldaten SUB mit der Rundenkonstanten RNC durch und gibt die entsprechenden Wandlungsschlüsseldaten SUC ab.
  • Die Kettenberechnungseinheit 731 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[40] mit den Wandlungsschlüsseldaten SUC durch und gibt die entsprechenden Berechnungsschlüsseldaten c[36] ab. Die Kettenberechnungseinheiten 732, 733, 734 führen je eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[41], r[42] bzw. r[43] mit dem Berechnungsschlüsseldatenbestandteil c[36], c[37] bzw. c[38] durch und geben den entsprechenden Berechnungsschlüsseldatenbestandteil c[37], c[38] bzw. c[39] ab. Die Ladefreigabeschaltungen 711 bis 714 geben z.B. in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2 und LD2B die Berechnungsschlüsseldatenbestandteile c[36] bis c[39] als den jeweiligen Eingabeschlüsseldatenbestandteil w[36], w[37], w[38] bzw. w[39] ab.
  • Die internen Auswahlsignale M1 und M2 werden aktiviert und im aktivierten Zustand gehalten, bis der Schlüsselplaner 700 den letzten ersten Dechiffrierrundenschlüssel DRKEY1 erzeugt. Die internen Auswahlschaltungen 761 bis 764 geben die Eingabeschlüsseldatenbestandteile w[36] bis w[39] als den jeweiligen Ausgabeschlüsseldatenbestandteil x0, x1, x2 bzw. x3 in Reaktion auf die internen Auswahlsignale M1 und M2 ab. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x0 bis x3 aus und gibt sie als den ersten Dechiffrierrundenschlüssel DRKEY1 ab. Der Schlüsselplaner 700 erzeugt so den ersten Dechiffrierrundenschlüssel DRKEY1 mit den Ausgabeschlüsseldatenbestandteilen x0 bis x3, d.h. den Eingabeschlüsseldatenbestandteilen w[36] bis w[39], während eines elften Zyklus des Taktsignals CLK. Während des elften Zyklus des Taktsignals CLK werden somit der erste Dechiffrierrundenschlüssel DRKEY1, der aus den Eingabeschlüsseldatenbestandteilen w[36] bis w[39] bestehen kann, und die Speicherschlüsseldatenbestandteile r[40] bis r[43] dem Prozessor 602 zugeführt.
  • Die Register 721 bis 724 empfangen und speichern die Eingabeschlüsseldatenbestandteile w[36] bis w[39] in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[36] bis w[39] als die Speicherschlüsseldatenbestandteile r[36] bis r[39] ab. Der Schlüsselplaner 700 wiederholt die Berechnungsschritte und gibt den ersten Dechiffrierrundenschlüssel DRKEY1 ab, bis der erste Dechiffrierrundenschlüssel DRKEY1 mit den Eingabeschlüsseldatenbestandteilen w[0] bis w[3] erzeugt wird.
  • Nachfolgend wird ein Prozess zur Erzeugung des ersten Dechiffrierrundenschlüssels DRKEY1 beschrieben, wenn der Schlüsselplaner 700 den ersten anfänglichen Rundenschlüssel EIKEY1 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[3] nicht empfängt.
  • Die Register 721 bis 724 geben in diesem Fall die gespeicherten Eingabeschlüsseldatenbestandteile w[40] bis w[43] als die Speicherschlüsseldatenbestandteile r[40] bis r[43] in Reaktion auf das Taktsignal CLK ab. Die internen Auswahlsignale M1 und M2 sind deaktiviert, und die Berechnungssteuersignale P1 bis P4 sowie die Ausgabeauswahlsignale S1 und S2 sind deaktiviert und werden in einem deaktivierten Zustand gehalten, bis der Schlüsselplaner 700 den letzten ersten Dechiffrierrundenschlüssel DRKEY1 erzeugt.
  • Die internen Auswahlschaltungen 761 bis 764 geben die Speicherschlüsseldatenbestandteile r[40] bis r[43] als die Ausgabeschlüsseldatenbestandteile x0 bis x3 in Reaktion auf die internen Auswahlsignale M1 und M2 ab. Der Ausgabeselektor 770 wählt die Ausgabeschlüsseldatenbestandteile x0 bis x3, bei denen es sich um die Speicherschlüsseldatenbestandteile r[40] bis r[43] handeln kann, in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus und gibt sie ab. Die anschließenden Betriebsvorgänge des Schlüsselplaners 700 sind gleich oder im Wesentlichen gleich wie die Vorgänge bei der Erzeugung des ersten Dechiftrierrundenschlüssels DRKEY1 im Fall, dass der Schlüsselplaner 700 den ersten anfänglichen Rundenschlüssel EIKEY1 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[3] empfängt.
  • Tabelle 2
    Figure 00260001
  • Der Schlüsselplaner 700 erzeugt den ersten Dechiffrierrundenschlüssel DRKEY1 und die Register 721 bis 724 speichern die aktualisierten Eingabeschlüsseldatenbestandteile w[4n] bis w[4n+3] bei jedem Zyklus des Taktsignals CLK. Die vorstehende Tabelle 2 veranschaulicht die Erzeu gung des ersten Dechiffrierrundenschlüssels DRKEY1 durch den Schlüsselplaner 700 für jeden Taktzyklus.
  • Die zeitliche Steuerung der Ausgabe der Speicherschlüsseldatenbestandteile r[8n] bis r[n+7] aus den Registern 721 bis 728 bei Erzeugung des ersten Dechiffrierrundenschlüssels DRKEY1 durch den Schlüsselplaner 700 entspricht im Wesentlichen der in 6 gezeigten Zeitsteuerung. Wie aus Tabelle 2 und 6 ersichtlich, wird die Ausgabe der Speicherschlüsseldatenbestandteile r[8n] bis r[8n+3] aus den Registern 721 bis 724 bei jedem Zyklus des Taktsignals CLK getriggert und die Speicherschlüsseldatenbestandteile r[8n+4] bis r[8n+7], die von den Registern 725 bis 728 abgegeben werden, werden beibehalten, während der Schlüsselplaner 700 den ersten Dechiffrierungsschlüssel DRKEY1 erzeugt, so dass der Stromverbrauch der Register 725 bis 728 niedrig gehalten werden kann.
  • Der Schlüsselplaner 700 empfängt den zweiten anfänglichen Rundenschlüssel EIKEY2 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[5], woraus der zweite Chiffrierrundenschlüssel ERKEY2 erzeugt werden kann. Der zweite anfängliche Rundenschlüssel EIKEY2 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[5] wird dem Schlüsselplaner 700 zugeführt, und die Ladefreigabesignale LD1, LD1 B, LD2, LD2B, LD3 und LD3B sowie die internen Auswahlsignale M1, M2 und M3 werden aktiviert. Das Berechnungssteuersignal P2 wird aktiviert und im aktivierten Zustand gehalten, bis der Schlüsselplaner den zweiten Chiffrierrundenschlüssel ERKEY2 erzeugt. Die Berechnungssteuersignale P1, P3 und P4 und die Ladefreigabesignale LD4 und LD4B werden deaktiviert und im deaktivierten Zustand gehalten, bis der Schlüsselplaner 700 den zweiten Chiffrierrundenschlüssel ERKEY2 erzeugt. Die Ladefreigabeschaltungen 711 bis 716, die Register 721 bis 726 und die Kettenberechnungseinheiten 731 bis 736 werden betrieben, während der Schlüsselplaner 700 z.B. zwölf zweite Chiffrierrundenschlüssel ERKEY2 erzeugt.
  • Die Ladefreigabeschaltungen 717 und 718 geben vorzugsweise kontinuierlich die Speicherschlüsseldatenbestandteile r[8n+6] und r[8n+7] als die Eingabeschlüsseldatenbestandteile w[8n+6] bzw. w[8n+7] ab, da die Ladefreigabesignale LD4 und LD4B deaktiviert sind. Die Ausgabesignale der Register 727 und 728 werden beibehalten, so dass der Stromverbrauch der Register 727 und 728 niedrig gehalten werden kann.
  • Die Ladefreigabeschaltungen 711 bis 716 geben die anfänglichen Schlüsseldatenbestandteile w[0] bis w[5] als die Eingabeschlüsseldatenbestandteile w[0] bis w[5] in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B ab. Die Register 721 bis 726 empfangen und speichern die Eingabeschlüsseldatenbestandteile w[0] bis w[5] in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[0] bis w[5] als jeweilige Speicherschlüsseldatenbestandteile r[0] bis r[5] ab.
  • Die internen Auswahlschaltungen 761 bis 766 wählen in Reaktion auf die internen Auswahlsignale M1, M2 und M3 die Eingabeschlüsseldatenbestandteile w[0] bis w[5] aus und geben sie als jeweilige Ausgabeschlüsseldatenbestandteile x0 bis x5 ab.
  • Die Auswahlschaltung 742 wählt den Ausgabeschlüsseldatenbestandteil x5, bei dem es sich um den Eingabeschlüsseldatenbestandteil w[5] handeln kann, in Reaktion auf die Berechnungssteuersignale P2 und P3 aus und gibt ihn an die Wortrotationseinheit 751 ab. Die Wortrotationseinheit 751 rotiert die Bits des Eingabeschlüsselbestandteils w[5] und gibt die entsprechenden Rotationsschlüsseldaten ROT ab. Die Auswahlschaltung 743 wählt die Rotationsschlüsseldaten ROT in Reaktion auf das Berechnungssteuersignal P4 aus und gibt sie an die Wortersetzungseinheit 752 ab. Die Wortersetzungseinheit 752 substituiert die Rotationsschlüsseldaten ROT und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die unabhängige Berechnungseinheit 739 führt eine logische Verknüpfung der Substitutionsschlüsseldaten SUB mit der Rundenkonstanten RNC durch und gibt die entsprechenden Wandlungsschlüsseldaten SUC ab.
  • Die Kettenberechnungseinheit 731 führt eine logische Verknüpfung der Wandlungsschlüsseldaten SUC mit dem Speicherschlüsseldatenbestandteil r[0] durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[6] ab. Die Kettenberechnungseinheit 732 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[1] mit dem Berechnungsschlüsseldatenbestandteil c[6] von der Kettenberechnungseinheit 731 durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[7] ab. Die Kettenberechnungseinheit 733 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[2] mit dem Berechnungsschlüsseldatenbestandteil c[7] von der Kettenberechnungseinheit 732 durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[8] ab. Die Kettenberechnungseinheit 734 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[3] mit dem Berechnungsschlüsseldatenbestandteil c[8] von der Kettenberechnungseinheit 733 durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[9] ab. Die Auswahlschaltung 741 gibt den Berechnungsschlüsseldatenbestandteil c[9] in Reaktion auf das Berechnungssteuersignal P1 an die Kettenberechnungseinheit 735 ab. Die Kettenberechnungseinheiten 735 und 736 führen Verknüpfungen der Speicherschlüsseldatenbestandteile r[4] und r[5] mit den Berechnungsschlüsseldatenbestandteilen c[9] bzw. c[10] durch und geben jeweils den entsprechenden Berechnungsschlüsseldatenbestandteil c[10] und c[11] ab.
  • Die Ladefreigabeschaltungen 711 bis 716 geben durch die Freigabe der Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B die Berechnungsschlüsseldatenbestandteile c[6] bis c[11] als die Eingabeschlüsseldatenbestandteile w[6] bis w[11] ab.
  • Das interne Auswahlsignal M1 wird in einem aktiven Zustand gehalten, und die internen Auswahlsignale M2 und M3 werden deaktiviert. Die internen Auswahlschaltungen 761 und 762 geben in Reaktion auf das interne Auswahlsignal M1 die Eingabeschlüsseldatenbestandteile w[6) und w[7] als die Ausgabeschlüsseldatenbestandteile x0 bzw. x1 ab. Die internen Auswahlschaltungen 763 bis 766 geben die Speicherschlüsseldatenbestandteile r[2] bis r[5] als die jeweiligen Ausgabeschlüsseldatenbestandteile x2 bis x5 in Reaktion auf die internen Auswahlsignale M2 und M3 ab.
  • Das Ausgabeauswahlsignal S1 wird aktiviert, und das Ausgabeauswahlsignal S2 wird deaktiviert. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus den Ausgabeschlüsseldatenbestandteilen x0 bis x7 die Ausgabeschlüsseldatenbestandteile x4, x5, x0 und x1 aus und gibt diese als den zweiten Chiffrierrundenschlüssel ERKEY2 aus. Der Schlüsselplaner 700 erzeugt somit den zweiten Chiffrierrundenschlüssel ERKEY2 mit den Ausgabeschlüsseldatenbestandteilen x0 und x1, bei denen es sich um die Eingabeschlüsseldatenbestandteile w[6] und w[7] handeln kann, und den Ausgabeschlüsseldatenbestandteilen x4 und x5, bei denen es sich um die Speicherschlüsseldatenbestandteile r[4] und r[5] handeln kann, während des ersten Zyklus des Taktsignals CLK. Außerdem werden während des ersten Zyklus des Taktsignals CLK der zweite Chiffrierrundenschlüssel ERKEY2 und die anfänglichen Schlüsseldatenbestandteile w[0] bis w[5] des zweiten anfänglichen Rundenschlüssels EIKEY2 dem Prozessor 602 zugeführt. Die Speicherschlüsseldatenbestandteile r[4] und r[5] des zweiten Chiffrierrundenschlüssels ERKEY2 können identisch oder im Wesentlichen gleich den anfänglichen Schlüsseldatenbestandteilen w[4] und w[5] sein, wobei der Prozessor 602 die Speicherschlüsseldatenbestandteile r[4] und r[5) nicht empfangen braucht. Der Prozessor 602 empfängt den zweiten Chiffrierrundenschlüssel ERKEY2 mit den Eingabeschlüsseldatenbestandteilen w[6] und w[7] und den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[5].
  • Die Register 721 bis 726 speichern den jeweiligen Eingabeschlüsseldatenbestandteil w[6] bis w[11] in Reaktion auf das Taktsignal CLK und geben ihn als den jeweiligen Speicherschlüsseldatenbestandteil r[6] bis r[11] ab.
  • Die Ladefreigabesignale LD1, LD1B. LD2, LD2B. LD3 und LD3B und die internen Auswahlsignale M1, M2 und M3 werden deaktiviert, und die Ausgabeauswahlsignale S1 und S2 werden aktiviert. Die Ladefreigabeschaltungen 711 bis 716 geben vorzugsweise kontinuierlich die Speicherschlüsseldatenbestandteile r[6] bis r[11] als die Eingabeschlüsseldatenbestandteile w[6] bis w[11] in Reaktion auf die Ladefreigabesignale LD1, LD1 B, LD2, LD2B, LD3 und LD3B ab. Die internen Auswahlschaltungen 761 bis 766 geben die Speicherschlüsseldatenbestandteile r[6] bis r[11] als die jeweiligen Ausgabeschlüsseldatenbestandteile x0 bis x5 in Reaktion auf die internen Auswahlsignale M1, M2 und M3 ab.
  • Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x2 bis x5 aus und gibt sie als den zweiten Chiffrierrundenschlüssel ERKEY2 ab. Der Schlüsselplaner 700 erzeugt so den zweiten Chiffrierrundenschlüssel ERKEY2 mit den Ausgabeschlüsseldatenbestandteilen x2 bis x5, d.h. den Speicherschlüsseldatenbestandteilen r[8] bis r[11], während des zweiten Zyklus des Taktsignals.
  • Die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B werden aktiviert. Die Ladefreigabeschaltungen 711 bis 716 geben die Berechnungsschlüsseldatenbestandteile c[12] bis c[17], die von den Kettenberechnungseinheiten 731 bis 736 abgegeben werden, als die Eingabeschlüsseldatenbestandteile w[12] bis w[17] in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B ab.
  • Der Schlüsselplaner 700 wiederholt die obigen Berechnungsschritte und das Ausgeben des zweiten Chiffrierrundenschlüssels ERKEY2, bis von den Kettenberechnungseinheiten 731 bis 736 die Berechnungsschlüsseldatenbestandteile c[46] bis c[51] abgegeben werden. Die Register 721 bis 726 speichern dann die Eingabeschlüsseldatenbestandteile w[45] bis w[51], die sie von den Ladefreigabeschaltungen 711 bis 716 empfangen, und behalten den Speicherungszustand bei. Die Eingabeschlüsseldatenbestandteile w[46] bis w[51] werden beispielsweise benutzt, wenn der Schlüsselplaner 700 den zweiten Dechiffrierrundenschlüssel DRKEY2 erzeugt.
  • Somit erzeugt der Schlüsselplaner 700 den zweiten Chiffrierrundenschlüssel ERKEY2, und die Register 721 bis 726 speichern nach je zwei Zyklen des Taktsignals CLK die aktualisierten Eingabeschlüsseldatenbestandteile w[6n] bis w[6n+5]. Die Erzeugung des zweiten Chiffrierrundenschlüssels ERKEY2 durch den Schlüsselplaner 700 ist in der nachfolgenden Tabelle 3 für die einzelnen Taktzyklen veranschaulicht.
  • Tabelle 3
    Figure 00320001
  • 7A veranschaulicht die zeitliche Abstimmung der Ausgabe der Speicherschlüsseldatenbestandteile r[8n] bis r[8n+7] aus den Registern 721 bis 728, wenn der Schlüsselplaner 700 den zweiten Chiffrierrundenschlüssel ERKEY2 erzeugt. Wie aus Tabelle 3 und 7A ersichtlich, werden die aus den Registern 721 bis 726 ausgegebenen Speicherschlüsseldatenbestandteile r[8n] bis r[8n+5] bei jedem zweiten Zyklus des Taktsignals CLK getriggert. Die aus den Registern 727 und 728 ausgegebenen Speicherschlüsseldatenbestandteile r[8n+6] und r[8n+7] werden beibehalten, während der Schlüsselplaner 700 den zweiten Chiffrierrundenschlüssel ERKEY2 erzeugt. Dies hält den Stromverbrauch der Register 727 und 728 gering.
  • Der zweite anfängliche Rundenschlüssel EIKEY2 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[5] wird dem Schlüsselplaner 700 zugeführt, und die Ladefreigabesignale LD1, Ld1B, LD2, LD2B, LD3 und LD3B werden aktiviert. Das Berechnungssteuersignal P2 wird aktiviert und im aktivierten Zustand gehalten, bis der Schlüsselplaner 700 den zweiten Dechiffrierrundenschlüssel DRKEY2 erzeugt. Die Berechnungssteuersignale P1, P3 und P4 sowie die Ladefreigabesignale LD4 und LD4B werden deaktiviert und im deaktivierten Zustand gehalten, bis der Schlüsselplaner 700 den zweiten Dechiffrierrundenschlüssel DRKEY2 erzeugt. Die Ladefreigabeschaltungen 711 bis 716, die Register 721 bis 726 und die Kettenberechnungseinheiten 731 bis 736 werden betrieben, während der Schlüsselplaner 700 z.B. zwölf zweite Dechiffrierungsschlüssel DRKEY2 erzeugt.
  • Die Ladefreigabeschaltungen 711 bis 716 geben die anfänglichen Schlüsseldatenbestandteile w[0] bis w[5] als die Eingabeschlüsseldatenbestandteile w[0] bis w[5] in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B ab. Die Register 721 bis 726 speichern die Eingabeschlüsseldatenbestandteile w[0] bis w[5] in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[0] bis w[5] als die Speicherschlüsseldatenbestandteile r[0] bis r[5] ab. Der Schlüsselplaner 700 wiederholt diese Berechnungsvorgänge und erzeugt den zweiten Chiffrierrundenschlüs sel ERKEY2, bis die Berechnungsschlüsseldatenbestandteile c[46] bis c[51] von den Kettenberechnungseinheiten 731 bis 736 abgegeben werden.
  • Der Prozessor braucht den vom Schlüsselplaner 700 in Reaktion auf das Rundensteuersignal RCTL abgegebenen zweiten Chiffrierrundenschlüssel ERKEY2 nicht empfangen, während die Kettenberechnungseinheiten 731 bis 736 die Berechnungsschlüsseldatenbestandteile c[46] bis c[51] abgeben. Der Ausgabeselektor 770 braucht den zweiten Chiffrierrundenschlüssel ERKEY2 nicht ausgeben, während der Schlüsselplaner 700 den Berechnungsvorgang zur Erzeugung des zweiten Dechiffrierrundenschlüssels DRKEY2 wiederholt, bis die Berechnungsschlüsseldatenbestandteile c[46] bis c[51] von den Kettenberechnungseinheiten 731 bis 736 abgegeben werden.
  • Die Berechnungsschlüsseldatenbestandteile c[46] bis c[51] werden von den Kettenberechnungseinheiten 731 bis 736 abgegeben, und die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B werden aktiviert. Die Ladefreigabeschaltungen 711 bis 716 geben in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B die Berechnungsschlüsseldatenbestandteile c[46] bis c[51] als die Eingabeschlüsseldatenbestandteile w[46] bis w[51] ab. Die Register 721 bis 726 empfangen und speichern die Eingabeschlüsseldatenbestandteile w[46] bis w[51] in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[46] bis w[51 ] als die Speicherschlüsseldatenbestandteile r[46] bis r[51] ab.
  • Die internen Auswahlsignale M1, M2 und M3 werden deaktiviert, und die Ausgabeauswahlsignale S1, S2 und S3 werden aktiviert. Die internen Auswahlschaltungen 761 bis 766 geben in Rektion auf die internen Auswahlsignale M1, M2 und M3 die Speicherschlüsseldatenbestandteile r[46] bis r[51] als die Ausgabeschlüsseldatenbestandteile x0 bis x5 ab. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsig nale S1 und S2 die Ausgabeschlüsseldatenbestandteile x2 bis x5, d.h. die Speicherschlüsseldatenbestandteile r[48] bis r[51], aus und gibt sie ab. Die Auswahlschaltung 742 wählt in Reaktion auf die Berechnungssteuersignale P2 und P3 den Ausgabeschlüsseldatenbestandteil x5, d.h. den Speicherschlüsseldatenbestandteil r[51], aus und gibt ihn an die Wortrotationseinheit 751 ab. Die Wortrotationseinheit 751 rotiert die Bits des Speicherschlüsseldatenbestandteils r[51] und gibt die entsprechenden Rotationsschlüsseldaten ROT ab. Die Auswahlschaltung 743 wählt die Rotationsschlüsseldaten ROT in Reaktion auf das Berechnungssteuersignal P4 aus und gibt sie an die Wortsubstitutionseinheit 752 ab. Die Wortsubstitutionseinheit 752 substituiert die Rotationsschlüsseldaten ROT und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die unabhängige Berechnungseinheit 739 führt eine logische Verknüpfung der Substitutionsschlüsseldaten SUB mit der Rundenkonstanten RNC durch und gibt die entsprechenden Wandlungsschlüsseldaten SUC ab.
  • Die Kettenberechnungseinheit 731 führt eine logische Verknüpfung der Wandlungsschlüsseldaten SUC mit dem Speicherschlüsseldatenbestandteil r[46] durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[40] ab. Die Kettenberechnungseinheiten 732, 733 und 734 führen jeweils eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[47], r[48] bzw. r[49] mit dem Berechnungsschlüsseldatenbestandteil c[40], c[41] bzw. c[42] durch geben den entsprechenden Berechnungsschlüsseldatenbestandteil c[41], c[42] bzw. c[43] ab. Die Auswahlschaltung 741 gibt den Berechnungsschlüsseldatenbestandteil c[43] in Reaktion auf das Berechnungssteuersignal P1 an die Kettenberechnungseinheit 735 ab. Die Kettenberechnungseinheit 735 führt eine logische Verknüpfung des Berechnungsschlüsseldatenbestandteils c[43] mit dem Speicherschlüsseldatenbestandteil r[50] durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[44] ab. Die Kettenberechnungseinheit 736 führt eine logische Verknüpfung des Berechnungsschlüsseldatenbestandteils c[44] mit dem Spei cherschlüsseldatenbestandteil r[51] durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[45] ab.
  • Die Ladefreigabeschaltungen 711 bis 716 geben die Berechnungsschlüsseldatenbestandteile c[40] bis c[45] als die Eingabeschlüsseldatenbestandteile w[40] bis w[45] ab, da die Ladefreigabesignale LD1, LD1 B, LD2, LD2B, LD3 und LD3B aktiviert sind.
  • Das interne Auswahlsignal M3 wird aktiviert, und die internen Auswahlsignale M1 und M2 werden deaktiviert. Das Ausgabeauswahlsignal S1 wird deaktiviert, und das Ausgabeauswahlsignal S2 wird aktiviert. Die internen Auswahlschaltungen 765 und 766 geben in Reaktion auf das interne Auswahlsignal M3 die Eingabeschlüsseldatenbestandteile w[44] und w[45] als die jeweiligen Ausgabeschlüsseldatenbestandteile x4 bzw. x5 ab. Die internen Auswahlschaltungen 761 bis 764 geben die Speicherschlüsseldatenbestandteile r[46] bis r[49] in Reaktion auf die internen Auswahlsignale M1 und M2 als die jeweiligen Ausgabeschlüsseldatenbestandteile x0, x1, x2 bzw. x3 ab. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x4, x5, x0 und x1 aus und gibt sie als den zweiten Dechiffrierrundenschlüssel DRKEY2 aus. Der Schlüsselplaner 700 erzeugt somit den zweiten Dechiffrierrundenschlüssel DRKEY2 mit den Ausgabeschlüsseldatenbestandteilen x4, x5, x0 und x1, d.h. den Speicherschlüsseldatenbestandteile r[46] und r[47] und den Eingabeschlüsseldatenbestandteilen w[44] und w[45], während eines dreizehnten Zyklus des Taktsignals CLK. Außerdem werden während des dreizehnten Zyklus des Taktsignals CLK der zweite Dechiffrierrundenschlüssel DRKEY2 mit den Speicherschlüsseldatenbestandteilen r[46] und r[47] und den Eingabeschlüsseldatenbestandteilen w[44] und w[45] ebenso wie die Speicherschlüsseldatenbestandteile r[48] bis r[51] dem Prozessor 602 zugeführt.
  • Die Register 721 bis 726 speichern die Eingabeschlüsseldatenbestandteile w[40] bis w[45] in Reaktion auf das Taktsignal und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[40] bis w[45] als die jeweiligen Speicherschlüsseldatenbestandteile r[40] bis r[45] ab.
  • Die internen Auswahlsignale M1, M2 und M3 werden dann ebenso wie die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B sowie die Ausgabeauswahlsignale S1 und S2 deaktiviert. Die internen Auswahlschaltungen 761 bis 766 geben in Reaktion auf die internen Auswahlsignale M1, M2 und M3 die Speicherschlüsseldatenbestandteile r[40] bis r[45] als die jeweiligen Ausgabeschlüsseldatenbestandteile x0 bis x7 ab. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x0, x1, x2 und x3 aus und gibt sie als den zweiten Dechiffrierrundenschlüssel DRKEY2 ab. Somit erzeugt der Schlüsselplaner 700 den zweiten Dechiffrierrundenschlüssel DRKEY2 mit den Ausgabeschlüsseldatenbestandteilen x0 bis x3, d.h. den Speicherschlüsseldatenbestandteilen r[40] bis r[43], während eines vierzehnten Zyklus des Taktsignals CLK, und die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3 und LD3B werden aktiviert.
  • Der Schlüsselplaner 700 wiederholt die obigen Berechnungsvorgänge und das Ausgeben des zweiten Dechiffrierschlüssels DRKEY2, bis von den Kettenberechnungseinheiten 731 bis 736 die Berechnungsschlüsseldatenbestandteile c[0] bis c[5] abgegeben werden. Der Schlüsselplaner 700 braucht den zweiten anfänglichen Rundenschlüssel EIKEY2 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[5] nicht empfangen, und es wird der zweite Dechiffrierrundenschlüssel DRKEY2 erzeugt. Die sechs Register 721 bis 726 geben die zuvor in ihnen gespeicherten Eingabeschlüsseldatenbestandteile w[46] bis w[51] als die jeweiligen Speicherschlüsseldatenbestandteile r[46] bis r[51] ab.
  • Die internen Auswahlsignale M1, M2 und M3 werden deaktiviert, und die Ausgabeauswahlsignale S1 und S2 werden aktiviert. Die internen Auswahlschaltungen 761 bis 766 geben in Reaktion auf die internen Auswahlsignale M1, M2 und M3 die Speicherschlüsseldatenbestandteile r[46] bis r[51] als die jeweiligen Ausgabeschlüsseldatenbestandteile x0 bis x5 ab. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x2 bis x5 aus, d.h. die Speicherschlüsseldatenbestandteile r[48] bis r[51]. Die nachfolgenden Betriebsvorgänge des Schlüsselplaners 700 sind gleich oder im Wesentlichen gleich denen bei der Erzeugung des zweiten Dechiffrierrundenschlüssels DRKEY2 im Fall, dass der Schlüsselplaner 700 den anfänglichen Rundenschlüssel EIKEY2 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[5] empfängt.
  • Der Schlüsselplaner 700 erzeugt somit den zweiten Dechiffrierrundenschlüssel DRKEY2, und die Register 721 bis 726 speichern die jeweils aktualisierten Eingabeschlüsseldatenbestandteile w[6n] bis w[6n+5] nach je zwei Zyklen des Taktsignals CLK. Die nachstehende Tabelle 4 veranschaulicht diese Erzeugung des zweiten Dechiffrierrundenschlüssels DRKEY2 durch den Schlüsselplaner 700 in den einzelnen Taktzyklen.
  • Tabelle 4
    Figure 00380001
  • 7B zeigt ein Beispiel der zeitlichen Abstimmung für die Ausgabe der Speicherschlüsseldatenbestandteile r[8n] bis r[8n+7], wenn der Schlüsselplaner 700 den zweiten Dechiffrierrundenschlüssel DRKEY2 erzeugt. Wie aus Tabelle 4 und 7B ersichtlich, werden die von den Registern 721 bis 726 abgegebenen Speicherschlüsseldatenbestandteile r[8n] bis r[8n+5] nach je zwei Zyklen des Taktsignals CLK getriggert. Die von den Registern 727 und 728 abgegebenen Speicherschlüsseldatenbestandteile r[8n+6] und r[8n+7] werden nicht getriggert, während der Schlüsselplaner 700 den zweiten Dechiffrierrundenschlüssel DRKEY2 erzeugt, so dass der Stromverbrauch der Register 727 und 728 gering gehalten wird.
  • Der Schlüsselplaner 700 empfängt den anfänglichen Rundenschlüssel EIKEY3 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[7] und erzeugt den dritten Chiffrierrundenschlüssel ERKEY3. Der anfängliche Rundenschlüssel EIKEY3 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[7] wird dem Schlüsselplaner 700 zugeführt, und die Ladefreigabesignale LD1, LD1B, LD2, LD2B, LD3, LD3B, LD4 und LD4B sowie die internen Auswahlsignale M1 bis M4 werden aktiviert.
  • Die Ladefreigabeschaltungen 711 bis 718 geben in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2, LD2B. LD3, LD3B, LD4 und LD4B die anfänglichen Schlüsseldatenbestandteile w[0] bis w[7] als die Eingabeschlüsseldatenbestandteile w[0] bis w[7] ab. Die internen Auswahlschaltungen 761 bis 768 geben in Reaktion auf die internen Auswahlsignale M1 bis M4 die Eingabeschlüsseldatenbestandteile w[0] bis w[7] als die jeweiligen Ausgabeschlüsseldatenbestandteile x0 bis x7 ab. Die Register 721 bis 728 empfangen und speichern in Reaktion auf das Taktsignal CLK die Eingabeschlüsseldatenbestandteile w[0] bis w[7] und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[0] bis w[7] als die Speicherschlüsseldatenbestandteile r[0] bis r[7] ab.
  • Die Berechnungssteuersignale P2 und P4 werden deaktiviert, und das Berechnungssteuersignal P3 wird aktiviert. Die Auswahlschaltung 742 wählt in Reaktion auf die Berechnungssteuersignale P2 und P3 den Ausgabeschlüsseldatenbestandteil x7, d.h. den Eingabeschlüsseldatenbestandteil w[7], aus und gibt ihn an die Wortrotationseinheit 751 ab. Die Wortrotationseinheit 751 rotiert die Bits des Speicherschlüsseldatenbestandteils r[7] und gibt die entsprechenden Rotationsschlüsseldaten ROT ab. Die Auswahlschaltung 743 wählt die Rotationsschlüsseldaten ROT in Reaktion auf das Berechnungssteuersignal P4 aus und gibt sie an die Wortersetzungseinheit 752 ab. Die Wortersetzungseinheit 752 substituiert die Rotationsschlüsseldaten ROT um einen vorgegebenen Wert und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die unabhängige Berechnungseinheit 739 führt eine logische Verknüpfung der Substitutionsschlüsseldaten SUB mit der Rundenkonstanten RNC durch und gibt die entsprechenden Wandlungsschlüsseldaten SUC ab.
  • Die Kettenberechnungseinheit 731 führt eine logische Verknüpfung der Wandlungsschlüsseldaten SUC mit dem Speicherschlüsseldatenbestandteil r[0] durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[8] ab. Die Kettenberechnungseinheiten 732, 733 und 734 führen jeweils eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[1], r[2] bzw. r[3] mit dem Berechnungsschlüsseldatenbestandteil c[8], c[9] bzw. c[10] durch und geben die entsprechenden Berechnungsschlüsseldatenbestandteile c[9], c[10] bzw. c[11] ab.
  • Die Ladefreigabesignale LD1, LD1B, LD2 und LD2B und die internen Auswahlsignale M1 und M2 werden aktiviert, während die Ladefreigabesignale LD3, LD3B, LD4 und LD4B sowie die internen Auswahlsignale M3 und M4 deaktiviert werden. Die Ausgabeauswahlsignale S1 und S2 werden deaktiviert, und die Berechnungssteuersignale P1 und P4 werden aktiviert.
  • Die Ladefreigabeschaltungen 711 bis 714 geben in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2 und LD2B die Berechnungsschlüsseldatenbestandteile c[8] bis c[11] als die Eingabeschlüsseldatenbestandteile w[8] bis w[11] ab. Die Ladefreigabeschaltungen 715 bis 718 geben vorzugsweise kontinuierlich die Speicherschlüsseldatenbestandteile r[4] bis r[7] in Reaktion auf die Ladefreigabesignale LD3, LD3B, LD4 und LD4B als die Eingabeschlüsseldatenbestandteile w[4] bis w[7] ab. Die internen Auswahlschaltungen 761 bis 764 wählen in Reaktion auf die internen Auswahlsignale M1 und M2 die Eingabeschlüsseldatenbestandteile w[8] bis w[11] aus und geben sie als die jeweiligen Ausgabeschlüsseldatenbestandteile x0, x1, x2 bzw. x3 ab. Der Ausgabeselektor 770 wählt die Ausgabeschlüsseldatenbestandteile x0 bis x4 in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus und gibt sie als den dritten Chiffrierrundenschlüssel ERKEY3 ab. Der Schlüsselplaner 700 erzeugt somit den dritten Chiffrierrundenschlüssel ERKEY3 mit den Ausgabeschlüsseldatenbestandteilen x0 bis x4, d.h. den Eingabeschlüsseldatenbestandteilen w[8] bis w[11], während des zweiten Zyklus des Taktsignals CLK. Während des ersten Zyklus des Taktsignals CLK werden die anfänglichen Schlüsseldatenbestandteile w[0] bis w[7] des anfänglichen Rundenschlüssels EIKEY3 direkt dem Prozessor 602 von einer externen Einrichtung zugeführt, wie in 2 gezeigt.
  • Die Auswahlschaltung 743 wählt in Reaktion auf das Berechnungssteuersignal P4 den Berechnungsschlüsseldatenbestandteil c[11] aus und gibt ihn an die Wortsubstitutionseinheit 752 ab. Die Wortsubstitutionseinheit 752 substituiert den Berechnungsschlüsseldatenbestandteil c[11] durch einen bestimmten Wert und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die Auswahlschaltung 741 gibt die Substitutionsschlüsseldaten SUB in Reaktion auf das Berechnungssteuersignal P1 an die Kettenberechnungseinheit 735 ab.
  • Die Kettenberechnungseinheit 735 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[4] mit den Substitutionsschlüssel daten SUB durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[12] ab. Die Kettenberechnungseinheiten 736, 737 und 738 führen jeweils eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[5], r[6] bzw. r[7] mit dem Berechnungsschlüsseldatenbestandteil c[12], c[13] bzw. c[14] durch und geben den entsprechenden Berechnungsschlüsseldatenbestandteil c[13], c[14] bzw. c[15] ab.
  • Die Ladefreigabesignale LD3, LD3B, LD4 und LD4B, die internen Auswahlsignale M3 und M4 und das Ausgabeauswahlsignal S1 werden aktiviert. Die Ladefreigabesignale LD1, LD1 B, LD2 und LD2B sowie die internen Auswahlsignale M1 und M2 und das Ausgabeauswahlsignal M2 werden deaktiviert. Die Ladefreigabeschaltungen 715 bis 718 geben in Reaktion auf die Ladefreigabesignale LD3, LD3B, LD4 und LD4B die Berechnungsschlüsseldatenbestandteile c[12] bis c[15] als die Eingabeschlüsseldatenbestandteile w[12] bis w[15] ab. Die internen Auswahlschaltungen 765 bis 768 wählen in Reaktion auf die internen Auswahlsignale M3 und M4 die Eingabeschlüsseldatenbestandteile w[12] bis w[15] aus und geben sie als die jeweiligen Ausgabeschlüsseldatenbestandteile x4, x5, x6 bzw. x7 ab. Der Ausgabeselektor 770 wählt die Ausgabeschlüsseldatenbestandteile x4 bis x7 in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus und gibt sie als den dritten Chiffrierrundenschlüssel ERKEY3 aus. Der Schlüsselplaner 700 erzeugt somit den dritten Chiffrierrundenschlüssel ERKEY3 mit den Ausgabeschlüsseldatenbestandteilen x4 bis x7, d.h. den Eingabeschlüsseldatenbestandteilen w[12] bis w[15], während des entsprechenden Zyklus des Taktsignals CLK.
  • Die Register 721 bis 728 speichern in Reaktion auf das Taktsignal CLK die Eingabeschlüsseldatenbestandteile w[8] bis w[15] und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[8] bis w[15] als die jeweiligen Speicherschlüsseldatenbestandteile r[8] bis r[15] ab. Der Schlüsselplaner 700 wiederholt die obigen Berechnungsvorgänge und das Ausgeben des dritten Chiffrierrundenschlüssels ERKEY3, bis von den Kettenberechnungseinheiten 731 bis 738 die Berechnungsschlüsseldatenbestandteile c[52] bis c[59] abgegeben werden.
  • Die Berechnungsschlüsseldatenbestandteile c[52] bis c[59] werden von den Kettenberechnungseinheiten 731 bis 738 abgeben und die Register 721 bis 728 speichern die Eingabeschlüsseldatenbestandteile w[52] bis w[59], die sie von den Ladefreigabeschaltungen 711 bis 718 empfangen, und verbleiben im Speicherzustand. Die Eingabeschlüsseldatenbestandteile w[52] bis w[59] werden verwendet, wenn der Schlüsselplaner 700 den dritten Dechiffrierrundenschlüssel DRKEY3 erzeugt.
  • Der Schlüsselplaner 700 erzeugt somit den dritten Chiffrierrundenschlüssel ERKEY3, und die Register 721 bis 724 sowie die Register 725 bis 728 speichern die z.B. alternierend aktualisierten Berechnungsschlüsseldateneinheiten c[8n] bis c[8n+3] beziehungsweise c[8n+4] bis c[8n+7] für jeden Zyklus des Taktsignals CLK mit Ausnahme des ersten Zyklus. Die Wortersetzungseinheit 752 führt eine Ersetzung z.B. jeweils einmal pro Zyklus des Taktsignals CLK durch, wobei sie z.B. vier Ersetzungstabellen umfasst. Die nachstehende Tabelle 5 veranschaulicht diese Erzeugung des dritten Chiffrierrundenschlüssels ERKEY3 durch den Schlüsselplaner 700 in den jeweiligen Taktzyklen.
  • Tabelle 5
    Figure 00430001
  • 8A veranschaulicht ein Beispiel der zeitlichen Abstimmung für die Ausgabe der Speicherschlüsseldatenbestandteile r[8n] bis r[8n+7] aus den Registern 721 bis 728, wenn der Schlüsselplaner 700 den dritten Chiffrierrundenschlüssel ERKEY3 erzeugt. Wie aus Tabelle 5 und 8A ersichtlich, werden die von den Registern 721 bis 724 abgegebenen Speicherschlüsseldatenbestandteile r[8n] bis r[8n+3] sowie die von den Registern 725 bis 728 abgegebenen Speicherschlüsseldatenbestandteile r[8n+4] bis r[8n+7] vorzugsweise alternierend bei jedem Zyklus des Taktsignals CLK getriggert.
  • Der Schlüsselplaner 700 empfängt den anfänglichen Rundenschlüssel EIKEY3 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[7], und es kann der dritte Dechiftrierrundenschlüssel DRKEY3 erzeugt werden. Der dritte anfängliche Rundenschlüssel EIKEY3 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[7] wird dem Schlüsselplaner 700 zugeführt, und die Ladefreigabesignale LD1 bis LD4B werden aktiviert. Die Ladefreigabeschaltungen 711 bis 718 geben in Reaktion auf die Ladefreigabesignale LD1 bis LD4B die anfänglichen Schlüsseldatenbestandteile w[0] bis w[7] als die Eingabeschlüsseldatenbestandteile w[0] bis w[7] ab. Die Register 721 bis 728 speichern die Eingabeschlüsseldatenbestandteile w[0] bis w[7] in Reaktion auf das Taktsignal und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[0] bis w[7] als die Speicherschlüsseldatenbestandteile r[0] bis r[7] ab.
  • Der Schlüsselplaner 700 wiederholt die vorstehenden Berechnungsvorgänge zur Erzeugung des dritten Chiffrierrundenschlüssels ERKEY3, bis von den Schlüsselberechnungseinheiten 731 bis 738 die Berechnungsschlüsseldatenbestandteile c[521] bis c[59] abgegeben werden. Der Prozessor 602 braucht den vom Schlüsselplaner 700 in Reaktion auf das Rundensteuersignal RCTL abgegebenen dritten Chiffrierrundenschlüssel ERKEY3 nicht empfangen. Der Ausgabeselektor 770 braucht den dritten Chiffrierrundenschlüssel ERKEY nicht abzugeben, während der Schlüsselplaner 700 den Berechnungsvorgang wiederholt, wie oben in Verbindung mit 5 erläutert.
  • Die Berechnungsschlüsseldatenbestandteile c[52] bis c[59] werden von den Kettenberechnungseinheiten 731 bis 738 abgegeben, und die Ladefreigabeschaltungen 711 bis 718 geben die Berechnungsschlüsseldatenbestandteile c[52] bis c[59] als die Eingabeschlüsseldatenbestandteile w[52] bis w[59] in Reaktion auf die Ladefreigabesignale LD1 bis LD4B ab. Die Register 721 bis 728 empfangen und speichern die Eingabeschlüsseldatenbestandteile w[52] bis w[59] in Reaktion auf das Taktsignal CLK und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[52] bis w[59] als die Speicherschlüsseldatenbestandteile r[59] ab.
  • Die internen Auswahlsignale M1 bis M4 und die Berechnungssteuersignale P2 und P4 werden deaktiviert und das Berechnungssteuersignal P3 wird aktiviert. Das Ausgabeauswahlsignal S1 wird aktiviert, und das Ausgabeauswahlsignal S2 wird deaktiviert. Die internen Auswahlschaltungen 761 bis 768 geben in Reaktion auf die internen Auswahlsignale M1 bis M4 die Speicherschlüsseldatenbestandteile r[52] bis r[59] als die Ausgabeschlüsseldatenbestandteile x0 bis x7 ab. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x4 bis x7 aus, d.h. die Speicherschlüsseldatenbestandteile r[56] bis r[59], und gibt sie ab.
  • Dann werden die beiden Ausgabeauswahlsignale S1 und S2 deaktiviert. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x0 bis x3 aus, d.h. die Speicherschlüsseldatenbestandteile r[52] bis r[55], und gibt sie ab. Der Schlüsselplaner 700 erzeugt so den dritten Dechiffrierrundenschlüssel DRKEY3 mit den Ausgabeschlüsseldatenbestandteilen x0 bis x3, d.h. den Speicherschlüsseldatenbestandteilen r[52] bis r[55], während eines fünfzehnten Zyklus des Taktsignals CLK. Außerdem werden während des fünfzehnten Zyklus des Taktsignals CLK der dritte Dechiffrierrundenschlüssel DRKEY3 mit den Speicherschlüsseldatenbestandteilen r[52] bis r[55] sowie die Speicherschlüsseldatenbestandteile r[56] bis r[59] dem Prozessor 602 zugeführt.
  • Die Auswahlschaltung 742 wählt in Reaktion auf die Berechnungssteuersignale P2 und P3 den Ausgabeschlüsseldatenbestandteil x7, d.h. den Speicherschlüsseldatenbestandteil r[59), aus und gibt ihn an die Wortrotationseinheit 751 ab. Die Wortrotationseinheit 751 rotiert die Bits des Speicherschlüsseldatenbestandteils r[59], und gibt die entsprechenden Rotationsschlüsseldaten ROT ab. Die Auswahlschaltung 743 wählt in Reaktion auf das Berechnungssteuersignal P4 die Rotationsschlüsseldaten ROT aus und gibt sie an die Wortersetzungseinheit 752 ab. Die Wortersetzungseinheit 752 substituiert die Rotationsschlüsseldaten ROT durch einen vorgegebenen Wert und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die unabhängige Berechnungseinheit 739 führt eine logische Verknüpfung der Substitutionsschlüsseldaten SUB mit der Rundenkonstanten RNC durch und gibt die entsprechenden Wandlungsschlüsseldaten SUC ab.
  • Die Kettenberechnungseinheit 731 führt eine logische Verknüpfung der Wandlungsschlüsseldaten SUC mit dem Speicherschlüsseldatenbestandteil r[52] durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[44) ab. Die Kettenberechnungseinheiten 732, 733 und 734 führen je eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[53], r[54] bzw. r[55] mit dem Berechnungsschlüsseldatenbestandteil c[44], c[45] bzw. c[46] durch und geben den entsprechenden Berechnungsschlüsseldatenbestandteil c[45], c[46] bzw. c[47] ab. Die Ladefreigabesignale LD1, LD1B, LD2 und LD2B werden deaktiviert, und die Berechnungssteuersignale P1 und P4 werden aktiviert. Die Ladefreigabeschaltungen 711 bis 714 geben vorzugsweise kontinuierlich in Reaktion auf die Ladefreigabesignale LD1, LD1B, LD2 und LD2B die Speicherschlüsseldatenbestandteile r[52] bis r[55] als die Eingabeschlüsseldatenbestandteile w[52] bis w[55] ab.
  • Die Auswahlschaltung 743 wählt in Reaktion auf das Berechnungssteuersignal P4 den Berechnungsschlüsseldatenbestandteil c[47] aus und gibt ihn an die Wortersetzungseinheit 752 ab. Die Wortersetzungseinheit 752 substituiert den Berechnungsschlüsseldatenbestandteil c[47] durch einen vorgegebenen Wert und gibt die entsprechenden Substitutionsschlüsseldaten SUB ab. Die Auswahlschaltung 741 gibt die Substitutionsschlüsseldaten SUB in Reaktion auf das Berechnungssteuersignal P1 an die Kettenberechnungseinheit 735 ab. Die Kettenberechnungseinheit 735 führt eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[56] mit den Substitutionsschlüsseldaten SUB durch und gibt den entsprechenden Berechnungsschlüsseldatenbestandteil c[48] ab. Die Kettenberechnungseinheiten 736, 737 und 738 führen je eine logische Verknüpfung des Speicherschlüsseldatenbestandteils r[57], r[58] bzw. r[59] mit dem Berechnungsschlüsseldatenbestandteil c[48], c[49] bzw. c[50] durch und geben den entsprechenden Berechnungsschlüsseldatenbestandteil c[49], c[50] bzw. c[51] ab.
  • Die Ladefreigabesignale LD3, LD3B, LD4 und LD4B, die internen Auswahlsignale M3 und M4 und das Ausgabeauswahlsignal S1 werden aktiviert, und das Ausgabeauswahlsignal S2 wird deaktiviert. Die Ladefreigabeschaltungen 715 bis 718 geben dadurch in Reaktion auf die Ladefreigabesignale LD3, LD3B, LD4 und LD4B die Berechnungsschlüsseldatenbestandteile c[48] bis c[51] als die Eingabeschlüsseldatenbestandteile w[48] bis w[51] ab. Die internen Auswahlschaltungen 765 bis 768 wählen in Reaktion auf die internen Auswahlsignale M3 und M4 die Eingabeschlüsseldatenbestandteile w[48] bis w[51 ] aus und geben sie als die jeweiligen Ausgabeschlüsseldatenbestandteile x4 bis x7 aus. Der Ausgabeselektor 770 wählt die Ausgabeschlüsseldatenbestandteile x4 bis x7 in Reaktion auf die Ausgabeauswahlsignale S1 und S2 aus und gibt sie als den dritten Dechiffrierrundenschlüssel DRKEY3 ab. Der Schlüsselplaner 700 erzeugt so den dritten Dechiftrierrundenschlüssel DRKEY3 mit den Ausgabeschlüsseldatenbestandteilen x4 bis x7, d.h. den Eingabeschlüsseldatenbestandteilen w[48] bis w[51], während eines sechzehnten Zyklus des Taktsignals CLK.
  • Die Register 725 bis 728 speichern die Eingabeschlüsseldatenbestandteile w[48] bis w[51] und geben sie als die Speicherschlüsseldatenbestandteile r[48] bis r[51] ab. Die Ladefreigabesignale LD3, LD3B, LD4 und LD4B und die internen Auswahlsignale M3 und M4 werden dann deaktiviert, während die Ladefreigabesignale LD1, LD1 B, LD2 und LD2B sowie die internen Auswahlsignale M1 und M2 aktiviert werden. Die Ausgabeauswahlsignale S1 und S2 und die Berechnungssteuersignale P2 und P4 werden deaktiviert, und das Berechnungssteuersignal P3 wird aktiviert.
  • Die Ladefreigabeschaltungen 711 bis 714 geben dann in Reaktion auf die Ladefreigabesignale LD1, LD1 B, LD2 und LD2B die Berechnungsschlüsseldatenbestandteile c[44] bis c[47] als die Eingabeschlüsseldatenbestandteile w[44] bis w[47] ab. Die internen Auswahlschaltungen 761 bis 764 wählen in Reaktion auf die internen Auswahlsignale M1 und M2 die Eingabeschlüsseldatenbestandteile w[44] bis w[47] aus und geben sie als die jeweiligen Ausgabeschlüsseldatenbestandteile x0 bis x3 ab. Die internen Auswahlschaltungen 765 bis 768 wählen in Reaktion auf die internen Auswahlsignale M3 und M4 die Speicherschlüsseldatenbestandteile r[48] bis r[51 ] aus und geben sie als die jeweiligen Ausgabeschlüsseldatenbestandteile x4 bis x7 ab. Der Ausgabeselektor 770 wählt in Reaktion auf die Ausgabeauswahlsignale S1 und S2 die Ausgabeschlüsseldatenbestandteile x0 bis x3 aus und gibt sie als den dritten Dechiffrierrundenschlüssel DRKEY3 aus. Der Schlüsselplaner 700 erzeugt so den dritten Dechiffrierrundenschlüssel DRKEY3 mit den Ausgabeschlüsseldatenbestandteilen x0 bis x3, d.h. den Eingabeschlüsseldatenbestandteilen [44] bis w[47], während eines siebzehnten Zyklus des Taktsignals CLK.
  • Die Register 721 bis 724 speichern in Reaktion auf das Taktsignal CLK die Eingabeschlüsseldatenbestandteile w[44] bis w[47] und geben die gespeicherten Eingabeschlüsseldatenbestandteile w[44] bis w[47] als die Speicherschlüsseldatenbestandteile r[44] bis r[47] ab. Die Auswahlschaltung 742 wählt den Ausgabeschlüsseldatenbestandteil x7, d.h. den Speicherschlüsseldatenbestandteil r[51], in Reaktion auf das Berechnungssteuersignal P4 aus und gibt ihn an die Wortrotationseinheit 751 ab. Der Schlüsselplaner 700 wiederholt den Berechnungsvorgang und die Ausgabe des dritten Dechiffrierrundenschlüssels DRKEY3, bis die Kettenberechnungseinheiten 731 bis 738 die Berechnungsschlüsseldatenbestandteile c[0] bis c[7] abgeben. Der Schlüsselplaner 700 braucht den anfänglichen Rundenschlüssel EIKEY3 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[7] nicht empfangen, und es kann der dritte Dechiffrierrundenschlüssel DRKEY3 erzeugt werden.
  • Die Register 721 bis 728 geben die gespeicherten Eingabeschlüsseldatenbestandteile w[52] bis w[59] als die Speicherschlüsseldatenbestandteile r[52] bis r[59] ab. Die Ladefreigabesignale LD1 bis LD4B und die internen Auswahlsignale M1 bis M4 werden deaktiviert. Die Ladefreigabeschaltungen 711 bis 718 geben dann in Reaktion auf die Ladefreigabesignale LD1 bis LD4B vorzugsweise kontinuierlich die Speicherschlüsseldatenbestandteile r[52] bis r[59] als die Eingabeschlüsseldatenbestandteile w[52] bis w[59] ab. Die internen Auswahlschaltungen 761 bis 768 geben in Reaktion auf die internen Auswahlsignale M1 bis M4 die Speicherschlüsseldatenbestandteile r[52] bis r[59] als die jeweiligen Ausgabeschlüsseldatenbestandteile x0 bis x7 ab. Nachfolgende Betriebsvorgänge des Schlüsselplaners 700 sind identisch oder im Wesentlichen gleich den entsprechenden Vorgängen bei der Erzeugung des dritten Dechiffrierrundenschlüssels DRKEY1 im Fall, dass der Schlüsselplaner 700 den anfänglichen Rundenschlüssel EIKEY3 mit den anfänglichen Schlüsseldatenbestandteilen w[0] bis w[7] empfängt.
  • Der Schlüsselplaner 700 erzeugt so den dritten Dechiffrierrundenschlüssel DRKEY3, und die Register 721 bis 728 sowie die Register 725 bis 728 speichern die vorzugsweise alternierend aktualisierten Eingabeschlüsseldatenbestandteile w[8n] bis w[8n+3] bzw. w[8n+4] bis w[8n+7] bei jedem Zyklus des Taktsignals CLK. Die nachstehende Tabelle 6 veranschaulicht diese Erzeugung des dritten Dechiffrierrundenschlüssels DRKEY3 durch den Schlüsselplaner 700 für die einzelnen Taktzyklen.
  • Tabelle 6
    Figure 00500001
  • 8B veranschaulicht ein Beispiel einer zeitlichen Abstimmung für die Ausgabe der Speicherschlüsseldatenbestandteile r[8n] bis r[8n+7] aus den Registern 721 bis 728, wenn der Schlüsselplaner 700 den dritten Dechiffrierrundenschlüssel DRKEY3 erzeugt. Wie aus Tabelle 6 und 8B ersichtlich, werden die Speicherschlüsseldatenbestandteile r[8n] bis r[8n+3], die von den Registern 721 bis 724 abgegeben werden, und die Speicherschlüsseldatenbestandteile r[8n+4] bis r[8n+7], die von den Registern 725 bis 728 abgegeben werden, vorzugsweise alternierend bei jedem Zyklus des Taktsignals CLK getriggert.
  • 9 veranschaulicht einen weiteren erfindungsgemäßen Schlüsselplaner 800, der eine Schlüsselspeichereinheit 801, eine Schlüsselberech nungseinheit 802 und eine Schlüsselausgabeeinheit 803 umfasst. Der Aufbau und die Betriebsweise des Schlüsselplaners 800 sind im Wesentlichen gleich wie beim Schlüsselplaner 700 von 3. Jedoch weist die Schlüsselspeichereinheit 801 des Schlüsselplaners 800 mehrere Takt-Gateschaltungen 811 bis 814 und Register 821 bis 828 auf. Jede Takt-Gateschaltung 811 bis 814 ist mit zwei der Register 821 bis 828 verbunden. Im Detail ist eine erste Takt-Gateschaltung 811 mit den Registern 821 und 822 verbunden, eine zweite Takt-Gateschaltung 812 ist mit den Registern 823 und 824 verbunden, eine dritte Takt-Gateschaltung 813 ist mit den Registern 825 und 826 verbunden, und eine vierte Takt-Gateschaltung 814 ist mit den Registern 827 und 828 verbunden. Die Takt-Gateschaltungen 811 bis 814 liefern das Taktsignal CLK für die Register 821 bis 828 oder unterbrechen die Zufuhr des Taktsignals CLK in Reaktion auf Ladefreigabesignale LD1 bis LD4. Die Register 821 bis 828 speichern davon abhängig Signale, die ihnen zugeführt werden.
  • 10 veranschaulicht eine mögliche Realisierung der Takt-Gateschaltung 811 und der Register 821 und 822. Die weiteren Takt-Gateschaltungen 812, 813 und 814 können in Aufbau und Funktionsweise gleich oder im Wesentlichen gleich der Takt-Gateschaltung 811 sein. Wie aus 10 ersichtlich, ist die Takt-Gateschaltung 811 in diesem Fall als UND-Gateschaltung realisiert und empfängt das Ladefreigabesignal LD1 und das Taktsignal CLK. Die Takt-Gateschaltung 811 gibt wahlweise in Reaktion auf das Ladefreigabesignal LD1 das Taktsignal CLK an die Register 821 und 822 ab. Beispielsweise gibt sie das Taktsignal CLK ab, wenn das Ladefreigabesignal LD1 aktiviert ist, während sie das Taktsignal CLK nicht weiterleitet, wenn das Ladefreigabesignal LD1 deaktiviert ist. Die Register 821 und 822 speichern ein zugeführtes Eingabesignal w[0] bzw. w[1] oder c[8n] bzw. c[8n+1], wenn sie das Taktsignal CLK empfangen.
  • In den oben erläuterten, exemplarischen Ausführungsbeispielen der Erfindung wurden hauptsächlich anfängliche Rundenschlüssel EIKEY1, EIKEY2 und EIKEY3 mit einer Länge von 128Bit, 192Bit oder 256Bit betrachtet, es versteht sich jedoch, dass die anfänglichen Rundenschlüssel EIKEY1 , EIKEY2 bzw. EIKEY3 auch jede beliebige andere Bitlänge haben können. Gleiches gilt für alle anderen, oben erwähnten Rundenschlüssel. Es versteht sich außerdem, dass anstelle der beschriebenen Erzeugung von z.B. zehn Chiffrierschlüsseln ERKEY1 bzw. zehn Dechiffrierschlüsseln DRKEY1 erfindungsgemäß auch jede andere Anzahl von Chiffrier- bzw. Dechiffrierschlüsseln verwendet werden kann.
  • Die Erfindung umfasst des weiteren modifizierte Ausführungsformen mit ausgetauschten Komponenten des Schlüsselplaners 700 von 3 bzw. des Schlüsselplaners 800 von 9, z.B. Ausführungsformen, bei denen die Schlüsselspeichereinheit 801 des Schlüsselplaners 800 von 9 anstelle der Schlüsselspeichereinheit 701 im Schlüsselplaner 700 von 3 implementiert ist.
  • Ebenso versteht es sich, dass die Erfindung zusätzlich zu den beschriebenen Ausführungsformen auch solche umfasst, bei denen der niedrige und der hohe Logikpegel in ihrer Bedeutung vertauscht sind.
  • Wie die obige Erläuterung vorteilhafter Ausführungsbeispiele zeigt, umfasst die Erfindung einen Schlüsselplaner, der in der Lage ist, selektiv einen Chiffrierrundenschlüssel und einen Dechiffrierrundenschlüssel entsprechend der Länge eines anfänglichen Rundenschlüssels zu erzeugen und dadurch die Anzahl an Ersetzungstabellen, die zur Rundenschlüsselerzeugung benötigt werden, zu verringern und/oder die Abmessung des zugehörigen Verschlüsselungs- und/oder Entschlüsselungssystems zu verringern, in welchem ein solcher Schlüsselplaner benutzt wird. Der erfindungsgemäße Schlüsselplaner kann zudem das Triggern der Ausgangssignale von Registern entsprechend der anfängli chen Rundenschlüssellänge verringern und außerdem den Stromverbrauch reduzieren.

Claims (27)

  1. Schlüsseldispositionsvorrichtung mit – einer Schlüsselspeichereinheit (701), – einer Schlüsselberechnungseinheit (702) und – einer Schlüsselausgabeeinheit (703), dadurch gekennzeichnet, dass – die Schlüsselspeichereinheit (701) darauf ausgelegt ist, Berechnungsschlüsseldatenbestandteile (c[8m] bis c[8m+7]) oder Speicherschlüsseldatenbestandteile (r[8n] bis r[8n+7]) als Eingabeschlüsseldatenbestandteile (w[8n] bis w[8n+7]) in Reaktion auf Ladefreigabesignale (LD1 bis LD4B) und ein Taktsignal (CLK) zu empfangen und zu speichern und die gespeicherten Eingabeschlüsseldatenbestandteile als Speicherschlüsseldatenbestandteile abzugeben, – die Schlüsselberechnungseinheit (702) darauf ausgelegt ist, in Reaktion auf Berechnungssteuersignale (P1 bis P4) die Speicherschlüsseldatenbestandteile rechnerisch zu verarbeiten und als Berechnungsresultat die Berechnungsschlüsseldatenbestandteile abzugeben, und – die Schlüsselausgabeeinheit (703) darauf ausgelegt ist, Teile der Eingabeschlüsseldatenbestandteile und der Speicherschlüsseldatenbestandteile in Reaktion auf Ausgabesteuersignale (M1 bis M4, S1, S2) auszuwählen, um sie als ein Chiffrierrundenschlüssel (ERKEY1, ERKEY2, ERKEY3) oder Dechiffrierrundenschlüssel (DRKEY1, DRKEY2, DRKEY3) abzugeben.
  2. Schlüsseldispositionsvorrichtung nach Anspruch 1, weiter dadurch gekennzeichnet, dass die Schlüsselspeichereinheit anfängliche Schlüsseldatenbestandteile, die mit einem anfänglichen Rundenschlüssel verknüpft sind, in Reaktion auf die Ladefreigabesignale und das Taktsignal speichert, wenn die an fänglichen Schlüsseldatenbestandteile von einer externen Einrichtung zugeführt werden, und die anfänglichen Schlüsseldatenbestandteile als die Speicherschlüsseldatenbestandteile abgibt.
  3. Schlüsseldispositionsvorrichtung nach Anspruch 2, weiter dadurch gekennzeichnet, dass jeder anfängliche Schlüsseldatenbestandteil eine Anzahl N von Bits aufweist und die Anzahl an Chiffrier- und Dechiffrierrundenschlüsseln sowie die Anzahl an Berechnungen der Speicherschlüsseldatenbestandteile basierend auf der Größe der anfänglichen Schlüsseldatenbestandteile bestimmt werden.
  4. Schlüsseldispositionsvorrichtung nach Anspruch 3, weiter dadurch gekennzeichnet, dass die Schlüsselberechnungseinheit in Reaktion auf die Berechnungssteuersignale die Speicherschlüsseldatenbestandteile R Mal berechnet, wobei R eine Zahl kleiner als N ist, wenn die ursprünglichen Schlüsseldatenbestandteile J Bits aufweisen, wobei J eine Zahl größer als N ist, die Speicherschlüsseldatenbestandteile S Mal berechnet, wobei S eine Zahl zwischen R und N ist, wenn die anfänglichen Schlüsseldatenbestandteile K Bit aufweisen, wobei K eine Zahl größer als J ist, und die Speicherschlüsseldatenbestandteile T Mal berechnet, wobei T eine Zahl zwischen S und N ist, wenn die anfänglichen Schlüsseldatenbestandteile L Bit aufweisen, wobei L eine Zahl größer als K ist.
  5. Schlüsseldispositionsvorrichtung nach Anspruch 4, weiter dadurch gekennzeichnet, dass die Schlüsselausgabeeinheit in Reaktion auf die Ausgabesteuersignale eine Anzahl R von Chiffrierrundenschlüsseln oder Dechiffrierrundenschlüsseln mit J Bit erzeugt, wenn die anfänglichen Schlüsseldatenbestandteile J Bit aufweisen, eine Anzahl S von Chiffrierrundenschlüsseln oder Dechiffrierrundenschlüsseln mit J Bit erzeugt, wenn die anfänglichen Schlüsseldatenbestandteile K Bit aufweisen, und eine Anzahl T von Chiffrierrundenschlüsseln oder Dechiffrierrundenschlüsseln mit J Bit erzeugen, wenn die anfänglichen Schlüsseldatenbestandteile L Bit aufweisen.
  6. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 1 bis 5, weiter dadurch gekennzeichnet, dass die Schlüsselausgabeeinheit in Reaktion auf die Ausgabesteuersignale einen letzten Chiffrierrundenschlüssel als einen ersten Dechiffrierrundenschlüssel ausgibt.
  7. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 1 bis 6, weiter dadurch gekennzeichnet, dass die Schlüsselberechnungseinheit die Speicherschlüsseldatenbestandteile 2R Mal berechnet, wenn die anfänglichen Schlüsseldatenbestandteile J Bit aufweisen, 2S Mal berechnet, wenn die anfänglichen Schlüsseldatenbestandteile K Bit aufweisen, und 2T Mal berechnet, wenn die anfänglichen Schlüsseldatenbestandteile L Bit aufweisen, wobei R, S, T, K und L ganze Zahlen sind mit R kleiner als S, S kleiner als T, T kleiner als K und K kleiner als L.
  8. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 1 bis 7, weiter dadurch gekennzeichnet, dass die Schlüsselausgabeeinheit deaktiviert wird, wenn die Schlüsselberechnungseinheit die Speicherschlüsseldatenbestandteile R-1 Mal, S-1 Mal oder T-1 Mal berechnet, und die Schlüsselausgabeeinheit aktiviert wird, wenn die Schlüsselberechnungseinheit einen letzten Dechiffrierrundenschlüssel berechnet und abgibt.
  9. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 1 bis 8, weiter dadurch gekennzeichnet, dass die Schlüsselspeichereinheit die Eingabeschlüsseldatenbestandteile für jeden Taktzyklus speichert, wenn die anfänglichen Schlüsseldatenbestandteile J Bit aufweisen, die Eingabeschlüsselbestandteile nach je zwei Taktzyklen speichert, wenn die anfänglichen Schlüsseldatenbestandteile K Bit aufweisen, und einen Teil der Eingabeschlüsseldatenbestandteile in jedem Taktzyklus speichert, wenn die anfänglichen Schlüsseldatenbestandteil L Bit aufweisen, wobei J, K und L ganze Zahlen sind mit J kleiner als K und K kleiner als L.
  10. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 1 bis 9, weiter dadurch gekennzeichnet, dass die Schlüsselspeichereinheit folgende Elemente enthält: – Ladefreigabeschaltungen zum Abgeben der Berechnungsschlüsseldatenbestandteile oder der Speicherschlüsseldatenbestandteile als die Eingabeschlüsseldatenbestandteile in Reaktion auf die Ladefreigabesignale und – Register zum Speichern der Eingabeschlüsseldatenbestandteile, die von den Ladefreigabeschaltungen empfangen werden, in Reaktion auf das Taktsignal und zum Abgeben der gespeicherten Eingabeschlüsseldatenbestandteile als die Speicherschlüsseldatenbestandteile.
  11. Schlüsseldispositionsvorrichtung nach Anspruch 10, weiter dadurch gekennzeichnet, dass jedes Ladefreigabesignal einem Paar der Ladefreigabeschaltungen zugeführt wird.
  12. Schlüsseldispositionsvorrichtung nach Anspruch 10 oder 11, weiter dadurch gekennzeichnet, dass die Ladefreigabeschaltungen die Berechnungsschlüsseldatenbestandteile als die Eingabeschlüsseldatenbestandteile abgeben, wenn die Ladefreigabesignale aktiviert sind, und die Speicherschlüsseldatenbestandteile als die Eingabeschlüsseldatenbestandteile abgeben, wenn die Ladefreigabesignale deaktiviert sind.
  13. Schlüsseldispositionsvorrichtung nach Anspruch 12, weiter dadurch gekennzeichnet, dass ein Teil der Ladefreigabeschaltungen betrieben werden, wenn die anfänglichen Schlüsseldatenbestandteile J Bit oder K Bit aufweisen, und alle Ladefreigabeschaltungen betrieben werden, wenn die anfänglichen Schlüsseldatenbestandteile L Bit aufweisen, wobei J, K und L ganze Zahlen sind mit K kleiner als L und J kleiner als K.
  14. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 10 bis 13, weiter dadurch gekennzeichnet, dass die Anzahl der Ladefreigabeschaltungen, die betrieben werden, wenn die anfänglichen Schlüsseldatenbestandteile J Bit aufweisen, kleiner als die Anzahl der Ladefreigabeschaltungen ist, die betrieben werden, wenn die anfänglichen Schlüsseldatenbestandteile K Bit aufweisen, wobei J und K ganze Zahlen mit J kleiner als K sind.
  15. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 10 bis 14, weiter dadurch gekennzeichnet, dass die Anzahl an Ladefreigabeschaltungen und die Anzahl an Registern, die in der Schlüsselspeichereinheit enthalten sind, jeweils gleich UN ist.
  16. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 1 bis 15, weiter dadurch gekennzeichnet, dass die Schlüsselberechnungseinheit folgende Elemente enthält: – eine Mehrzahl von Kettenberechnungseinheiten, von denen jede mit einem zugehörigen Register verbunden und dafür eingerichtet ist, die Berechnungsschlüsseldatenbestandteile in Reaktion auf die Speicherschlüsseldatenbestandteile und auf Wandlungsschlüsseldaten abzugeben, und – eine eigenständige Berechnungseinheit, die dafür ausgelegt ist, eine logische Verknüpfung von Substitutionsschlüssel daten mit einer Rundenkonstanten durchzuführen und als Ergebnis die Wandlungsschlüsseldaten abzugeben.
  17. Schlüsseldispositionsvorrichtung nach Anspruch 16, weiter dadurch gekennzeichnet, dass jede Kettenberechnungseinheit und die eigenständige Berechnungseinheit jeweils eine Explosiv-ODER-Verknüpfung durchführen.
  18. Schlüsseldispositionsvorrichtung nach Anspruch 16 oder 17, weiter dadurch gekennzeichnet, dass eine erste Kettenberechnungseinheit eine logische Verknüpfung der Wandlungsschlüsseldaten mit einem ersten Speicherschlüsseldatenbestandteil durchführt, um einen ersten Berechnungsschlüsseldatenbestandteil abzugeben, und jede weitere Kettenberechnungseinheit eine logische Verknüpfung des Berechnungsschlüsseldatenbestandteils, der von einer vorgeschalteten Kettenberechnungseinheit geliefert wird, mit einem Speicherschlüsseldatenbestandteil durchführt, der vom zugehörigen Register geliefert wird, und als Ergebnis einen nächsten Berechnungsschlüsseldatenbestandteil abgibt.
  19. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 16 bis 18, weiter dadurch gekennzeichnet, dass die Ausgabesteuersignale interne Auswahlsignale und Ausgabeauswahlsignale umfassen und die Schlüsselausgabeeinheit folgende Elemente enthält: – interne Auswahlschaltungen zum Auswählen und Abgeben der Eingabeschlüsseldatenbestandteile oder der Speicherschlüsseldatenbestandteile als Ausgabeschlüsseldatenbestandteile in Reaktion auf die internen Auswahlsignale und – einen Ausgabeselektor zum Empfangen der Ausgabeschlüsseldatenbestandteile von den internen Auswahlschaltungen und zum Auswählen von Teilen der Ausgabeschlüs seldatenbestandteile in Reaktion auf die Ausgabeauswahlsignale, um dadurch den Chiffrierrundenschlüssel oder den Dechiffrierrundenschlüssel auszugeben.
  20. Schlüsseldispositionsvorrichtung nach Anspruch 19, weiter dadurch gekennzeichnet, dass jedes interne Auswahlsignal einem Paar von internen Auswahlschaltungen zugeführt wird.
  21. Schlüsseldispositionsvorrichtung nach Anspruch 20, weiter dadurch gekennzeichnet, dass die internen Auswahlschaltungen die Berechnungsschlüsseldatenbestandteile auswählen, um die Ausgabeschlüsseldatenbestandteile abzugeben, wenn die internen Auswahlsignale aktiviert sind, und die Speicherschlüsseldatenbestandteile zur Ausgabe der Ausgabeschlüsseldatenbestandteile auswählen, wenn die internen Auswahlsignale deaktiviert sind.
  22. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 16 bis 21, weiter dadurch gekennzeichnet, dass die Berechnungssteuersignale ein erstes, zweites, drittes und viertes Berechnungssteuersignal umfassen und die Schlüsselberechnungseinheit folgende Elemente enthält: – eine erste Auswahlschaltung zum Auswählen eines der Berechnungsschlüsseldatenbestandteile von einer ersten Kettenberechnungseinheit oder eines Substitutionsschlüsseldatenbestandteils in Reaktion auf das erste Berechnungssteuersignal, um die ausgewählten Daten an eine nächste Kettenberechnungseinheit abzugeben, – eine zweite Auswahlschaltung zum Abgeben eines ersten, zweiten oder dritten Ausgabeschlüsseldatenbestandteils, die von einer ersten, zweiten und dritten internen Auswahlschaltung abgegeben werden, in Reaktion auf das zweite und dritte Berechnungssteuersignal, – eine Wortrotationseinheit zum Rotieren der Bits des von der zweiten Auswahlschaltung gelieferten Ausgabeschlüsseldatenbestandteils, um Rotationsschlüsseldaten abzugeben, – eine dritte Auswahlschaltung zum Abgeben der Rotationsschlüsseldaten oder des Berechnungsschlüsseldatenbestandteils in Reaktion auf das vierte Berechnungssteuersignal, – eine Wortsubstitutionseinheit zum Substituieren der Rotationsschlüsseldaten oder des Berechnungsschlüsseldatenbestandteils durch die Substitutionsschlüsseldaten unter Verwendung mehrerer Substitutionstabellen und – einen Rundenkonstantengenerator zur Erzeugung einer Rundenkonstante und zum Abgeben derselben an eine eigenständige Berechnungseinheit.
  23. Schlüsseldispositionsvorrichtung nach Anspruch 22, weiter dadurch gekennzeichnet, dass – das erste Berechnungssteuersignal deaktiviert ist, wenn die anfänglichen Schlüsseldatenbestandteile J Bit oder K Bit aufweisen, und alternierend in jedem Taktzyklus aktiviert und deaktiviert ist, wenn die anfänglichen Schlüsseldatenbestandteile L Bit aufweisen, – das zweite und das dritte Berechnungssteuersignal deaktiviert sind, wenn die anfänglichen Schlüsseldatenbestandteile J Bit aufweisen, das zweite Berechnungssteuersignal aktiviert und das dritte Berechnungssteuersignal deaktiviert sind, wenn die anfänglichen Schlüsseldatenbestandteile K Bit aufweisen, und das zweite Berechnungssteuersignal deaktiviert und das dritte Berechnungssteuersignal aktiviert sind, wenn die anfänglichen Schlüsseldatenbestandteile L Bit aufweisen, und – das vierte Berechnungssteuersignal deaktiviert ist, wenn die anfänglichen Schlüsseldatenbestandteile J Bit oder K Bit aufweisen, und alternierend in jedem Taktzyklus deaktiviert und aktiviert wird, wenn die anfänglichen Schlüsseldatenbestandteile L Bit aufweisen, – wobei J, K und L ganze Zahlen mit J kleiner als K und K kleiner als L sind.
  24. Schlüsseldispositionsvorrichtung nach Anspruch 23, weiter dadurch gekennzeichnet, dass – die erste Auswahlschaltung die Substitutionsschlüsseldaten abgibt, wenn das erste Berechnungssteuersignal aktiviert ist, und den Berechnungsschlüsseldatenbestandteil abgibt, wenn das erste Berechnungssteuersignal deaktiviert ist, – die zweite Auswahlschaltung den ersten Ausgabeschlüsseldatenbestandteil abgibt, wenn das zweite und das dritte Berechnungssteuersignal deaktiviert sind, den zweiten Ausgabeschlüsseldatenbestandteil abgibt, wenn das zweite Berechnungssteuersignat aktiviert und das dritte Berechnungssteuersignal deaktiviert sind, und den dritten Ausgabeschlüsseldatenbestandteil abgibt, wenn das zweite Berechnungssteuersignal deaktiviert und das dritte Berechnungssteuersignal aktiviert sind, und – die dritte Auswahlschaltung die Rotationsschlüsseldaten abgibt, wenn das vierte Berechnungssteuersignal freigegeben wird, und den Berechnungsschlüsseldatenbestandteil abgibt, wenn das vierte Berechnungssteuersignal deaktiviert ist.
  25. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 22 bis 24, weiter dadurch gekennzeichnet, dass die Ausgabeschlüsseldatenbestandteile J Bit, K Bit oder L Bit aufweisen und der Ausgabeselektor die Ausgabeschlüsseldatenbestandteile mit J Bit aus den Ausgabeschlüsseldatenbestandteilen aus wählt, um sie als den Chiffrierrundenschlüssel oder den Dechiffrierrundenschlüssel in jedem Taktzyklus abzugeben.
  26. Schlüsseldispositionsvorrichtung nach einem der Ansprüche 1 bis 25, weiter dadurch gekennzeichnet, dass die Schlüsselspeichereinheit folgende Elemente enthält: – Register zum Speichern der Berechnungsschlüsseldatenbestandteile in Reaktion auf das Taktsignal und zum Abgeben der gespeicherten Berechnungsschlüsseldatenbestandteile als die Speicherschlüsseldatenbestandteile und – Takt-Gateschaltungen zur wahlweisen Bereitstellung des Taktsignals für die Register oder Unterbrechung der Taktsignalversorgung in Reaktion auf Ladefreigabesignale.
  27. System zur Verschlüsselung und/oder Entschlüsselung von Daten, mit – einer Schlüsseldispositionsvorrichtung (700), – einem Prozessor (602), der darauf ausgelegt ist, Daten basierend auf einem von der Schlüsseldispositionsvor-richtung erzeugten Chiffrierschlüssel oder Dechiffrierschlüssel zu verschlüsseln oder zu entschlüsseln, und – einer Steuereinheit (601), die darauf ausgelegt ist, den Prozessor und die Schlüsseldispositionsvorrichtung zu steuern, dadurch gekennzeichnet, dass – die Schlüsseldispositionsvorrichtung eine solche nach einem der Ansprüche 1 bis 26 ist.
DE102005010779A 2004-02-26 2005-02-25 Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten Expired - Fee Related DE102005010779B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040012992A KR20050087271A (ko) 2004-02-26 2004-02-26 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
KR10-2004-0012992 2004-02-26

Publications (2)

Publication Number Publication Date
DE102005010779A1 true DE102005010779A1 (de) 2005-09-22
DE102005010779B4 DE102005010779B4 (de) 2010-07-08

Family

ID=34880297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005010779A Expired - Fee Related DE102005010779B4 (de) 2004-02-26 2005-02-25 Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten

Country Status (4)

Country Link
US (1) US7606365B2 (de)
JP (1) JP4740611B2 (de)
KR (1) KR20050087271A (de)
DE (1) DE102005010779B4 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087271A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
US8024583B2 (en) * 2005-04-27 2011-09-20 Panasonic Corporation Confidential information processing host device and confidential information processing method
US9191198B2 (en) 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
US20070177424A1 (en) * 2005-09-29 2007-08-02 Martin Sadler Device with n-time pad and a method of managing such a pad
US8842839B2 (en) * 2005-09-29 2014-09-23 Hewlett-Packard Development Company, L.P. Device with multiple one-time pads and method of managing such a device
US7949130B2 (en) 2006-12-28 2011-05-24 Intel Corporation Architecture and instruction set for implementing advanced encryption standard (AES)
US8879727B2 (en) * 2007-08-31 2014-11-04 Ip Reservoir, Llc Method and apparatus for hardware-accelerated encryption/decryption
US8520845B2 (en) * 2007-06-08 2013-08-27 Intel Corporation Method and apparatus for expansion key generation for block ciphers
KR100949538B1 (ko) * 2008-09-09 2010-03-25 한국전자통신연구원 Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
GB2508052A (en) * 2012-11-18 2014-05-21 Nds Ltd Glitch resistant device
US9135834B2 (en) * 2013-04-30 2015-09-15 The United Sates of America as represented by the Secretary of the Air Force Apparatus and method to prevent side channel power attacks in advanced encryption standard using floating point operation
EP2996277B1 (de) * 2014-09-10 2018-11-14 Nxp B.V. Befestigung einer kryptografischen Vorrichtung gegen die Implementierung von Angriffen
KR102033351B1 (ko) * 2017-08-22 2019-10-17 국민대학교산학협력단 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511123A (en) * 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption
EP0839418B1 (de) * 1996-05-20 2003-05-02 Koninklijke Philips Electronics N.V. Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
KR100389902B1 (ko) * 1997-06-23 2003-09-22 삼성전자주식회사 차분해독법과선형해독법에대하여안전성을보장하는고속블럭암호화방법
US6243470B1 (en) * 1998-02-04 2001-06-05 International Business Machines Corporation Method and apparatus for advanced symmetric key block cipher with variable length key and block
JP2000056679A (ja) * 1998-08-11 2000-02-25 Fujitsu Ltd Desの鍵スケジュール装置
CN100431293C (zh) * 2000-08-03 2008-11-05 皇家菲利浦电子有限公司 对称-密钥加密的线性变换方法和系统
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
US7142671B2 (en) * 2000-12-13 2006-11-28 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
US7502463B2 (en) * 2000-12-13 2009-03-10 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
US7366300B2 (en) * 2000-12-13 2008-04-29 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
KR100525389B1 (ko) * 2001-01-17 2005-11-02 엘지전자 주식회사 실시간 입력 스트림의 암호화/복호화 장치
US7280657B2 (en) * 2001-06-13 2007-10-09 Itt Manufacturing Enterprises, Inc. Data encryption and decryption system and method using merged ciphers
JP3851115B2 (ja) * 2001-06-28 2006-11-29 富士通株式会社 暗号回路
US20030086564A1 (en) * 2001-09-05 2003-05-08 Kuhlman Douglas A. Method and apparatus for cipher encryption and decryption using an s-box
GB0121793D0 (en) * 2001-09-08 2001-10-31 Amphion Semiconductor Ltd An apparatus for generating encryption/decryption keys
KR20030051111A (ko) 2001-12-18 2003-06-25 신경욱 AES Rijndael(라인달) 암호 알고리듬의 하드웨어 구현을위한 라운드 처리부 회로 및 온라인 라운드 키 생성 회로
JP4230152B2 (ja) * 2002-01-28 2009-02-25 富士通株式会社 暗号回路
EP1510028A4 (de) * 2002-05-23 2008-01-23 Atmel Corp Hardware-kryptographische engine für den erweiterten verschlüsselungsstandard (aes)
GB0214620D0 (en) 2002-06-25 2002-08-07 Koninkl Philips Electronics Nv Round key generation for AES rijndael block cipher
JP4117157B2 (ja) * 2002-07-08 2008-07-16 富士通株式会社 暗号回路
US20040047466A1 (en) * 2002-09-06 2004-03-11 Joel Feldman Advanced encryption standard hardware accelerator and method
CN1788450A (zh) * 2003-05-14 2006-06-14 皇家飞利浦电子股份有限公司 列混合函数的小型硬件实现
JP2007500376A (ja) * 2003-05-23 2007-01-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 鍵拡大機能の低メモリハードウェア実施のための方法および装置
US7688974B2 (en) * 2003-06-16 2010-03-30 Electronics And Telecommunications Research Institute Rijndael block cipher apparatus and encryption/decryption method thereof
JP2005077517A (ja) * 2003-08-28 2005-03-24 Mitsumi Electric Co Ltd 暗号化/復号化装置及び暗号化/復号化方法
KR100546375B1 (ko) * 2003-08-29 2006-01-26 삼성전자주식회사 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법
KR20050087271A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
US7561689B2 (en) * 2004-06-17 2009-07-14 Agere Systems Inc. Generating keys having one of a number of key sizes
US7715555B2 (en) * 2004-09-07 2010-05-11 Broadcom Corporation Method and system for extending advanced encryption standard (AES) operations for enhanced security
US8538015B2 (en) * 2007-03-28 2013-09-17 Intel Corporation Flexible architecture and instruction for advanced encryption standard (AES)

Also Published As

Publication number Publication date
US20050190923A1 (en) 2005-09-01
JP4740611B2 (ja) 2011-08-03
JP2005242366A (ja) 2005-09-08
US7606365B2 (en) 2009-10-20
DE102005010779B4 (de) 2010-07-08
KR20050087271A (ko) 2005-08-31

Similar Documents

Publication Publication Date Title
DE102005010779B4 (de) Schlüsseldispositionsvorrichtung und System zur Ver-/Entschlüsselung von Daten
DE60105788T2 (de) AES Verschlüsselungsschaltung
DE60121284T2 (de) Verfahren und Vorrichtung zur Ausführung einer kryptographischen Funktion
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE60024739T2 (de) Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium
DE60117230T2 (de) Stromverschlüsselungsanwendungsbeschleuniger und zugehöriges Verfahren
EP2462717B1 (de) Echtzeitfähige quantencomputersichere verschlüsselung von daten aller art
EP0809905B1 (de) Verschlüsselungsvorrichtung
DE60032321T2 (de) System zur Erzeugung einer Bitfolge
DE2607784B2 (de) Datenchiffrierverfahren und vorrichtung zur durchfuehrung dieses verfahrens
DE102005005335A1 (de) Vorrichtung und Verfahren zur Hardware-Verschlüsselung
DE60221850T2 (de) Verfahren und vorrichtung zur datenverschlüsselung
DE10129285A1 (de) Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln
DE10347455B4 (de) Pseudozufallszahlengenerator für einen Stream Cipher
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
EP2446580B1 (de) Vorrichtung und verfahren zur bildung einer signatur
DE60125673T2 (de) Verfahren und Vorrichtung zur Ausführung einer kryptographischen Funktion
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE10232348A1 (de) Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren
DE602004001732T2 (de) Datenverschlüsselung in einem elektronischen Gerät mit mehreren symmetrischen Prozessoren
DE102004013480B4 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE60004409T2 (de) Schaltung und Verfahren zur Zufallszahlerzeugung
EP1683029B1 (de) Verfahren zur speicherung von daten in einem wahlzugriffspeicher und verschlüsselungs- und entschlüsselungsvorrichtung
WO2005043804A1 (de) Verfahren und vorrichtung zur ver- und entschlüsselung
DE60128309T2 (de) Schaltung zur Erzeugung eines Verschlüsselungsnebenschlüssels

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee