DE10324420A1 - Kryptomultiplexerzelle - Google Patents

Kryptomultiplexerzelle Download PDF

Info

Publication number
DE10324420A1
DE10324420A1 DE2003124420 DE10324420A DE10324420A1 DE 10324420 A1 DE10324420 A1 DE 10324420A1 DE 2003124420 DE2003124420 DE 2003124420 DE 10324420 A DE10324420 A DE 10324420A DE 10324420 A1 DE10324420 A1 DE 10324420A1
Authority
DE
Germany
Prior art keywords
multiplexer
input
data
key
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE2003124420
Other languages
English (en)
Inventor
Steffen Marc Sonnekalb
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003124420 priority Critical patent/DE10324420A1/de
Publication of DE10324420A1 publication Critical patent/DE10324420A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Der Kerngedanke der vorliegenden Erfindung besteht darin, entdeckt zu haben, daß es möglich ist, einen Elementarmultiplexer mit einem verschlüsselten Steuersignal anzusteuern und dabei trotzdem das richtige der beiden Datensignale am Datenausgang desselben zu erhalten - wodurch die Sicherheit gegenüber DPA- oder SPA-Angriffen erhöht wird, da der Stromverbrauch weniger mit dem eventuell geheimen Steuersignal korreliert -, indem dem Elementarmultiplexer weitere zwei Elementarmultiplexer beigefügt werden und diese drei Elementarmultiplexer (58, 60, 62) baumartig stufenweise angeordnet werden, so daß an den Dateneingängen der Elementarmultiplexer (58, 60) der ersten Stufe die Datensignale auf unterschiedliche bzw. umgekehrte Weise anliegen und die Datenausgänge derselben mit den Dateneingängen des anderen Multiplexers (62) verbunden sind, und eine der Stufen mit dem verschlüsselten Steuersignal (cryptsel) angesteuert wird, während die andere Stufe mit dem Schlüssel angesteuert wird, um das Durchschalten des falschen Datensignals zu korrigieren. Auf diese Weise unterscheidet sich die so gebildete Multiplexerzelle (50) nach außen hin nicht in ihrer Funktionsweise in Hinblick auf die beiden Dateneingänge, den Steuereingang und den Datenausgang von einem Elementarmultiplexer (58, 60, 62).

Description

  • Die vorliegende Erfindung bezieht sich auf eine Multiplexerzelle zum Durchschalten eines von zwei Signalen an einem Ausgang und in speziellen Ausführungsbeispielen auf den Einsatz einer solchen Multiplexerzelle in sicherheitskritischen Anwendungen, wie z.B. in einer ein kryptographisches Verfahren implementierenden Schaltung.
  • In einigen kryptographischen Algorithmen werden sogenannte S-Boxen verwendet. Beispiele solcher kryptographischen Algorithmen sind beispielsweise der DES- (Data Encryption Standard) und der AES- (Advanced Encryption Standard = fortgeschrittener Verschlüsselungsstandard) Algorithmus. 5 zeigt schematisch die Funktionsweise des DES-Algorithmus. Zum Verschlüsseln der Daten werden diese zunächst in 64-Bit-Blöcke 900 eingeteilt, um sie blockweise zu verarbeiten. Die Blöcke 900 werden dann zunächst einer Permutation 902 unterzogen. Hernach wird der permutierte 64-Bit-Datenblock in zwei 32-Bit-Datenblöcke 904 und 906 aufgeteilt. Diese 32-Bit-Blöcke 904 und 906 werden iterativ in 16 sogenannten Runden folgenden Operationen unterzogen. Zunächst wird der Inhalt des Datenblockes 906, der in 5 mit R bezeichnet ist, auf den Datenblock 904 der nächsten Runde abgebildet, der in 5 mit L bezeichnet ist. Diese Abbildung ist mit 908 dargestellt. Um den neuen Inhalt des Datenblockes R 906 für die nächste Runde zu erhalten, wird der aktuelle Inhalt des Datenblocks 906 einer Expansions-Operation E 910 unterzogen, um aus dem 32-Bit-Datenblock nach einer vorbestimmten Ergänzungsregel, nach der bestimmte Bits verdoppelt werden, einen 48-Bit-Datenblock zu erhalten. Letztgenannter wird daraufhin in einem Schritt 912 durch eine XOR-Verknüpfung 912 mit einem 48-Bit-Rundenschlüssel verschlüsselt, der für jede Runde unterschiedlich ist aber aus ein und demselben 56-Bit-Schlüssel 914 durch eine hier nicht näher erörterte Operation 916 abgeleitet wird.
  • Der verschlüsselte und expandierte 48-Bit-Datenblock wird in den eingangs erwähnten sogenannten S-Boxen S1, S8 wieder auf einen 32-Bit-Datenblock abgebildet. Hierzu bildet jede S-Box je sechs unterschiedliche der 48 Bits des verschlüsselten Datenblocks auf vier Bits ab, wobei die Abbildungsvorschriften der einzelnen S-Boxen zumeist durch Standards festgelegt sind. Nach dieser S-Box-Abbildung 918 wird der sich ergebende Wert wieder einer Permutation P 920 unterzogen und daraufhin der permutierte 32-Bit-Block mit dem 32-Bit-Datenblock L 904 der vorhergehenden Runde einer XOR-Verknüpfung 922 unterzogen. Der XOR-verknüpfte 32-Bit-Datenblock stellt den neuen 32-Bit-Datenblock R 906 für die nächste Runde dar. Diese durch die Schritte 908, 910, 912, 918, 920 und 922 definierte Runde wird 16 mal durchgeführt. Nach den 16 Runden werden die sich ergebenden 32-Bit-Datenblöcke L und R (904, 906) wieder zu einem 64-Bit-Datenblock zusammengefaßt und einer zu der Permutation 902 inversen Ausgangspermutation 924 unterzogen, wodurch der schließliche 64-Bit-Ausgangsdatenblock in verschlüsselter Form erhalten wird, der mit 926 angezeigt ist.
  • Die S-Boxen stellen, allgemein ausgedrückt, eine beliebige, nicht unbedingt eindeutige Abbildung von einem n-Bit-Vektor auf einen m-Bit-Vektor dar. In den meisten kryptographischen Algorithmen sind die Abbildungen nicht linear. Die übliche Implementierung einer S-Box besteht üblicherweise in einem Speicher mit einer n-Bit-Eingangsadresse und einem m-Bit-Ausgangsdatum. Eine solche Implementierung der S-Boxen ist jedoch extrem unsicher gegenüber DPA- (differential power analysis = differentielle Leistungsanalyse) Angriffen. Dies läßt sich folgendermaßen anhand des DES-Algorithmus von 5 veranschaulichen. Wie im vorhergehenden erwähnt, sind die Abbildungsvorschriften der verschiedenen S-Boxen bekannt. Zudem macht sich jeder Zugriff in dem Leistungsprofil der den DES-Algorithmus ausführenden Schaltung durch bestimmte cha rakteristische Verläufe bemerkbar, die mit den Eingangsadressen in die S-Boxen korrelieren. Insbesondere ist es beim DES-Algorithmus gefährlich, daß die in die S-Boxen eingehenden Eingangsadressen mit den geheimen Rundenschlüsseln verschlüsselt sind, die auf bekannte, da zumeist vom Standard vorgegebene Weise, von dem geheimen Hauptschlüssel 914 abgeleitet sind. Aus diesem Grunde ist es möglich, aus Stromprofilanalysen während der 918 anhand der Korrelation zwischen Stromprofil der den Algorithmus implementierenden Schaltung auf den Hauptschlüssel 914 rückzuschließen.
  • Wie bereits erwähnt, sind die Kryptoalgorithmen DES und AES nicht die einzigen, die Daten mittels S-Boxen verschlüsseln. Bei all diesen Algorithmen erlaubt eine differentielle Stromanalyse auf die im vorhergehenden beschriebene Weise einen Angriff auf geheimen Daten. Falls ungeschützte S-Boxen zur Speicherverschlüsselung in einem Mikrocontroller verwendet werden, können selbst Software-Kryptoalgorithmen, welche auf dem Prozessor laufen und Daten aus den verschlüsselten Speichern beziehen, über einen DPA-Angriff angegriffen werden.
  • Bisher wurde dieses Problem noch auf keine adäquate Weise gelöst. Es ist zwar möglich, durch den Einsatz einer Full-Custom-Dual-Rail-Schaltungstechnik die Sicherheit gegen DPA-Angriffe in dieser Hinsicht zu erhöhen, allerdings ist der Einsatz dieser Schaltungstechnik mit einem äußerst hohen Aufwand verbunden, der nicht bei allen Anwendungen gerechtfertigt erscheint.
  • Es wäre deshalb wünschenswert, eine Möglichkeit zu besitzen, Abbildungen, wie sie solche S-Boxen darstellen, auf eine Weise zu implementieren, die in Hinblick auf die verarbeiteten Werte eine höhere Sicherheit vor dem Ausspionieren durch DPA-Angriffe bei verhältnismäßigem Aufwand ermöglichen.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, einen Multiplexer und ein Verfahren zum Durchschalten eines von zwei Signalen an einem Ausgang zu schaffen, so daß der Durchschaltvorgang mehr Sicherheit gegenüber DPA-Angriffen liefert.
  • Diese Aufgabe wird durch einen Multiplexer gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 10 gelöst.
  • Eine erfindungsgemäße Multiplexerzelle umfaßt einen ersten Dateneingang, einen zweiten Dateneingang, einen Datenausgang, einen Steuereingang und einen Schlüsseleingang. Sie schaltet abhängig von einem Steuersignal an dem Steuereingang an dem Datenausgang ein erstes Datensignal an dem ersten Dateneingang oder ein zweites Datensignal an dem zweiten Dateneingang durch. Sie umfaßt einen ersten, zweiten und dritten Elementarmultiplexer, von denen jeder zwei Dateneingänge, einen Datenausgang und einen Steuereingang aufweist, wobei die Dateneingänge des ersten Elementarmultiplexers auf eine erste Weise mit den Dateneingängen der Multiplexerzelle und die Dateneingänge des zweiten Elementarmultiplexers auf eine zweite, zu der ersten umgekehrten Weise mit den Dateneingängen der Multiplexerzelle verbunden sind. Die Datenausgänge des ersten und des zweiten Elementarmultiplexers sind mit jeweils einem der Dateneingänge des dritten Elementarmultiplexers verbunden, und der Schlüsseleingang der Multiplexerzelle ist mit dem Steuereingang des dritten Elementarmultiplexers oder den Steuereingängen des ersten und des zweiten Elementarmultiplexers verbunden. Die Multiplexerzelle umfaßt ferner eine Verschlüsselungseinrichtung zur Verschlüsselung des Steuersignals an dem Steuereingang der Multiplexerzelle mit einem Schlüssel an dem Schlüsseleingang, um ein verschlüsseltes Steuersignal zu erhalten, und zum Ausgeben des verschlüsselten Steuersignals an dem Steuereingang des dritten Elementarmultiplexers, falls der Schlüsseleingang der Multiplexerzelle mit den Steuereingängen des ersten und des zweiten Elementarmultiplexers verbunden ist, oder an den Steuereingängen des ersten und des zweiten Elementarmultiplexers, falls der Schlüsseleingang der Multiplexerzelle mit dem Steuereingang des dritten Elementarmultiplexers verbunden ist.
  • Der Kerngedanke der vorliegenden Erfindung besteht darin, entdeckt zu haben, daß es möglich ist, einen Elementarmultiplexer mit einem verschlüsselten Steuersignal anzusteuern und dabei trotzdem das richtige der beiden Datensignale am Datenausgang desselben zu erhalten – wodurch die Sicherheit gegenüber DPA- oder SPA-Angriffen erhöht wird, da der Stromverbrauch weniger mit dem eventuell geheimen Steuersignal korreliert –, indem dem Elementarmultiplexer weitere zwei Elementarmultiplexer beigefügt werden und diese drei Elementarmultiplexer baumartig stufenweise angeordnet werden, so daß an den Dateneingängen der Elementarmultiplexer der ersten Stufe die Datensignale auf unterschiedliche bzw. umgekehrte Weise anliegen und die Datenausgänge der selben an mit den Dateneingängen des anderen Multiplexers verbunden sind, und eine der Stufen mit dem verschlüsselten Steuersignal angesteuert wird, während die andere Stufe mit dem Schlüssel angesteuert wird, um das Durchschalten des falschen Datensignals zu korrigieren. Auf diese Weise unterscheidet sich die so gebildete Multiplexerzelle nach außen hin nicht in ihrer Funktionsweise in Hinblick auf die beiden Dateneingänge, den Steuereingang und den Datenausgang von einem Elementarmultiplexer.
  • Die Verschlüsselung ist derart ausgelegt, daß unabhängig von dem aktuellen Wert des Schlüssels für ein und denselben Wert des Steuersignals am Steuereingang der Multiplexerzelle stets dasselbe Datensignal am Datenausgang ausgegeben wird, so daß ein stetiger Wechsel des Schlüssels auf beispielsweise zufällige Art und Weise ermöglicht wird, ohne daß sich die Funktionsweise der Zelle in Hinblick auf ihre Funktion als Durchschaltelement von den Dateneingängen auf den Datenausgang abhängig von dem Steuersignal am Steuereingang ändert, so daß DPA Angriffe aufgrund der geringeren Korrelation zu dem Stromverbrauch zusätzlich erschwert werden.
  • Gemäß Ausführungsbeispielen der vorliegenden Erfindung ist es möglich, aus erfindungsgemäßen Multiplexerzellen eine Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen abgebildeten Ausgangswert oder einen verschlüsselten abgebildeten Ausgangswert gemäß einer Abbildungsvorschrift zu schaffen, wie z.B. eine S-Box. Die Multiplexerzellen werden in einem Multiplexerbaum angeordnet, bei dem die Steuereingänge der Multiplexerzellen einer Stufe stets von einem unterschiedlichen Steuersignal angesteuert werden, wobei die Steuersignale aller Stufen des Multiplexerbaumes zusammen bei einem ersten Ausführungsbeispiel eine eindeutige Darstellung des abzubildenden Eingangswertes bilden. An den Dateneingängen der Multiplexerzellen der Anfangsstufe des Multiplexerbaumes liegen Datensignale an, und zwar in einer Art und Weise, die durch die Abbildungsvorschrift festgelegt ist. Durch Anlegen der den abzubildenden Eingangswert anzeigenden Steuersignale an den Multiplexerbaum wird eines der Datensignale am Datenausgang der Multiplexerzelle der Ausgangsstufe des Multiplexerbaumes ausgegeben. Da durch die Multiplexerzellen das Stromprofil durch das Anlegen sich ändernder Schlüssel an den Schlüsseleingängen der Multiplexerzellen verfälscht werden kann, wird es bei DPA-Angriffen erschwert, Informationen über das an dem Multiplexerbaum anliegende Steuersignal zu erhalten.
  • Eine weitere Erhöhung der Sicherheit läßt sich dadurch realisieren, daß die Datensignale an den Dateneingängen der Multiplexerzellen der Anfangsstufe mit einem sich ändernden Verschlüsselungsschlüssel verschlüsselt werden, bevor sie an die Dateneingänge angelegt werden. Auf diese Weise wird sichergestellt, daß die Durchschaltvorgänge völlig unabhängig von den zu sichernden Informationen, nämlich den den abzubildenden Eingangswert anzeigenden Steuersignalen, durchgeführt werden. Bei zufälligem Wechsel des Verschlüsselungsschlüssels sowie der Schlüssel an den Schlüsseleingängen der Multiplexerzellen ist ein erfolgreicher DPA-Angriff nahezu aussichtslos.
  • Gemäß einem Ausführungsbeispiel wird der Aufbau einer Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen entsprechenden Ausgangswert basierend auf einem Multiplexerbaum aus Kryptomultiplexern dadurch vereinfacht, daß die Anfangsstufe des Multiplexerbaumes eingespart wird, die Steuersignale an den Stufen des Multiplexerbaumes die Bitdarstellung des abzubildenden Eingangswertes nur noch bis auf ein Bit eindeutig anzeigen, und an den Eingängen der Multiplexerzellen der Anfangsstufe Datensignale angelegt werden, die jeweils aus einem Bitsignal, das das fehlende Bit der Bitdarstellung anzeigt, einem inversen Bitsignal, einem Schlüsselbit und einem inversen Schlüsselbit ausgewählt sind, derart, daß unabhängig davon, welchem der möglichen Eingangswerte der abzubildende Eingangswert entspricht, am Datenausgang der Multiplexerzelle der Ausgangsstufe des Multiplexerbaumes ein verschlüsselter abgebildeter Ausgangswert ausgegeben wird, der mit dem Schlüssel durch eine Verschlüsselung aus demjenigen möglichen Ausgangswert ableitbar ist, dem der abzubildende Eingangswert zugeordnet ist.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1a und 1b Schaltungsbilder für zwei Ausführungsbeispiele einer Kryptomultiplexerzelle gemäß der vorliegenden Erfindung;
  • 2 ein Blockschaltbild einer verschlüsselten 3-Auf-1-S-Box gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 ein Blockschaltbild einer verschlüsselten 3-Auf-1-S-Box gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 ein Blockschaltbild einer vereinfachten, verschlüsselten 3-Auf-1-S-Box gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; und
  • 5 ein Diagramm zur Veranschaulichung des DES-Algorithmus.
  • Bevor Bezug nehmend auf die nachfolgenden Figuren Ausführungsbeispiele der vorliegenden Erfindung näher erläutert werden, wird darauf hingewiesen, daß gleiche Elemente in den Figuren mit gleichen Bezugszeichen versehen sind, und daß eine wiederholte Beschreibung sich in den Figuren wiederholender Elemente vermieden wird.
  • 1a zeigt eine mögliche Kryptomultiplexerzelle, die eines von zwei Datensignalen an zwei Dateneingängen an einem Datenausgang abhängig von einem Steuersignal ausgibt, wobei es erschwert ist, anhand eines DPA-Angriffs auf das Steuersignal rückzuschließen, da das Steuersignal vor seiner Verwendung verschlüsselt wird, wie es im folgenden beschrieben wird.
  • Die Kryptomultiplexerzelle von 1a, die allgemein mit 50 angezeigt ist, hat einen ersten Dateneingang 52a, einen zweiten Dateneingang 52b, einen Steuereingang 54, einen Schlüsseleingang 56 und einen Datenausgang 57. Der Kryptomultiplexer 50 umfaßt drei Elementarmultiplexer 58, 60 und 62. Ihm ist ferner ein XOR-Gatter 64 zugeordnet, wie es in der figur dargestellt ist.
  • Jeder der Elementarmultiplexer 58, 60 und 62 umfaßt zwei Dateneingänge, einen Steuereingang und einen Datenausgang. Ein erster, in 1a linker Dateneingang des Elementarmultiplexers 58 ist mit dem ersten Dateneingang 52a der Multiplexerzelle verbunden, während der zweite, in 1a rechte Dateneingang des Elementarmultiplexers 58 mit dem zweiten Dateneingang 52b der Multiplexerzelle 50 verbunden ist. Der zweite Elementarmultiplexer 60 ist zu dem Elementarmultiple xer 58 funktionsgleich aufgebaut, wobei jedoch seine Dateneingänge auf umgekehrte Weise mit den Dateneingängen 52a und 52b der Kryptomultiplexerzelle 50 verbunden sind. So ist ein erster, in 1a rechter Dateneingang mit dem zweiten Dateneingang 52b der Multiplexerzelle 50 verbunden, während ein zweiter, in 1a rechter Dateneingang des Elementarmultiplexers 60 mit dem ersten Dateneingang 52a der Multiplexerzelle 50 verbunden ist. Beide Elementarmultiplexer 58 und 60 sind mit ihrem Steuereingang mit dem Schlüsseleingang 56 der Multiplexerzelle 50 verbunden. Die Ausgänge der Elementarmultiplexer 58 und 60 sind mit jeweils einem unterschiedlichen der Dateneingänge des Elementarmultiplexers 62 verbunden. Der Ausgang des Elementarmultiplexers 62 bildet den Datenausgang 57 der Multiplexerzelle 50. Der Steuereingang des Elementarmultiplexer 62 ist mit einem Ausgang des XOR-Gatters 64 verbunden. Das XOR-Gatter 64 umfaßt zwei Eingänge, wobei ein erster Eingang mit dem Schlüsseleingang 56 und der zweite Eingang mit dem Steuereingang 54 des Elementarmultiplexers 50 verbunden ist.
  • Nachdem im vorhergehenden der Aufbau der Kryptomultiplexerzelle 50 von 1a beschrieben worden ist, die auch mit CM (crypto multiplexer) angezeigt wird, wird im folgenden deren Funktionsweise beschrieben. Die Kryptomultiplexerzelle 50 ist vorgesehen, um abhängig von einem Steuersignal an dem Steuereingang 54 eines von zwei Datensignalen, die an den Dateneingängen 52a und 52b anliegen, am bzw. zum Datenausgang 57 durchzuschalten. Um hierbei den Beitrag der Kryptomultiplexerzelle 50 zum Stromprofil einer Schaltung, in die sie eingebaut ist, möglichst unabhängig von dem Steuersignal am Steuereingang 54 zu machen, um dasselbe vor dem Ausspionieren durch DPA-Angriffe zu schützen, wird das Steuersignal vor seiner Verwendung beim Durchschalten durch einen am Schlüsseleingang 56 anliegenden Schlüssel verschlüsselt.
  • Alle Signale, d.h. Schlüssel, Steuersignal, die Datensignale an den Dateneingängen 52a und 52b und das Datensignal am Da tenausgang 57, sind vorliegend binäre Signale bzw. Bitsignale, die einen von zwei logischen Zuständen, d.h. logisch hoch oder logisch niedrig, annehmen können.
  • Um nun zur Veranschaulichung, warum sich die Verschlüsselung des Steuersignals an dem Steuereingang 54 vor seiner Verwendung zum Durchschalten nicht negativ auf das Ergebnis des Durchschaltens auswirkt, so daß das falsche Datensignal an den Dateneingängen 52a und 52b zum Ausgang 57 durchgeschaltet wird, wird zunächst die Funktionsweise des Elementarmultiplexers 62 in der Ausgangs- bzw. Abschlußstufe betrachtet. In dem Fall daß der Schlüssel an dem Schlüsseleingang 56 einen logisch niedrigen Zustand, im folgenden auch manchmal als 0 bezeichnet, aufweist, entspricht das verschlüsselte Steuersignal, welches das XOR-Gatter 64 an den Steuereingang des Elementarmultiplexers 62 ausgibt und welches in 1a mit cryptsel bezeichnet ist, unabhängig von dem jeweiligen aktuellen Zustand des zu verschlüsselnden Steuersignals am Steuereingang 54 diesem letztgenannten Steuersignal am Steuereingang 54. Abhängig vom Zustand des Steuersignals am Steuereingang 54 wählt der Elementarmultiplexer 62 folglich den linken oder den rechten seiner Dateneingänge aus und schaltet das Signal an demselben zum Ausgang 57 durch.
  • Ist der Schlüssel an dem Schlüsseleingang 56 jedoch in einem logisch hohen Zustand, entspricht unabhängig von dem jeweiligen Zustand des Steuersignals am Steuereingang 54 das verschlüsselte Steuersignal, welches das XOR-Gatter 64 an den Steuereingang des Elementarmultiplexers 62 ausgibt, nämlich cryptsel, dem Inversen des Steuersignals am Steuereingang 54. Folglich wird der Elementarmultiplexer 62 in diesem Fall, d.h. dem Fall, da der Schlüssel am Schlüsseleingang 56 einen logisch hohen Zustand aufweist, genau den zum umgekehrten Fall, da der Schlüssel einen logisch niedrigen Zustand hat, anderen Dateneingang aus und schaltet diesen zum Ausgang 57 durch.
  • Um einen hierdurch bewirkten Fehler im Ausgabeergebnis des Kryptomultiplexers 50 zu verhindern, sind die weiteren Elementarmultiplexer 58 und 60 vorgesehen. Beide erhalten an ihrem Steuereingang den Schlüssel am Schlüsseleingang 56 als Steuersignal. Beide wählen deshalb, da funktionsgleich aufgebaut, abhängig von dem Schlüssel denselben Dateneingang unter ihren Dateneingängen aus und schalten das Signal an demselben zu ihrem Ausgang durch, wie z.B. den linken ihrer Dateneingänge, wenn der Schlüssel 0 ist. Da jedoch ihre Dateneingänge auf umgekehrte Weise mit den Dateneingängen 52a und 52b der Kryptomultiplexerzelle 50 verbunden sind, geben sie effektiv jeweils ein unterschiedliches der Datensignale an den Dateneingängen 52a und 52b aus.
  • Ebenfalls unterschiedliche der Datensignale an den Dateneingängen 52a und 52b geben die Elementarmultiplexer 58 und 60 in dem Fall aus, daß der Schlüssel 56 den anderen Zustand aufweist, also beispielsweise einen logisch hohen Zustand. In diesem Fall geben jedoch verglichen zum vorhergehenden Fall die Elementarmultiplexer 58 und 60 jeweils das andere Datensignal aus. Abhängig vom Zustand des Schlüssels 56 wechselt folglich die Art und Weise, in der die zwei Datensignale, die an den Dateneingängen 52a und 52b der Multiplexerzelle 50 anliegen, an die Dateneingänge des Elementarmultiplexers 62 angelegt werden. Genau diese Umkehr korrigiert aber den im vorhergehenden beschriebenen Wechsel in der Auswahl des Dateneingangs, den der Elementarmultiplexer 62 unter seinen Dateneingängen auswählt, um ihn an seinem Ausgang auszugeben, je nach Zustand des Schlüssels am Schlüsseleingang 56. Auf diese Weise wird unabhängig vom Zustand des Schlüssels am Schlüsseleingang 56 immer dasjenige Datensignal an den Dateneingängen 52a und 52b an den Datenausgang 57 durchgeschaltet, welches an dem Dateneingang 52a bzw. 52b anliegt, wie er durch das Steuersignal an dem Steuereingang 54 angezeigt wird, also beispielsweise das Signal am Eingang 52a bei Steuersignal = 0 und das Signal am Eingang 52b bei Steuersignal = 1 unabhängig vom Schlüssel am Eingang 56.
  • Durch den in 1a dargestellten Aufbau aus drei Zweieingangselementarmultiplexern 58, 60 und 62 ist sichergestellt, daß keiner dieser Elementarmultiplexer mit dem eventuell geheimen Steuersignal an dem Steuereingang 54 angesteuert wird. Auf inhärente Weise sorgt der Aufbau dafür, daß die Elementarmultiplexer 58 und 60 von dem Elementarmultiplexer 62 stromtechnisch unabhängig arbeiten. DPA-Angriffe werden somit sehr erschwert, da der Grad an Korrelation zwischen entstehendem Stromprofil und Steuersignal reduziert ist.
  • Da der Schlüssel an dem Schlüsseleingang 56 keinen Einfluß auf das Ergebnis an dem Datenausgang 57 hat, kann er ständig variiert werden, wie z.B. durch einen Zufallsgenerator oder eine sonstige Variationseinrichtung.
  • In 1b ist eine zu der Kryptomultiplexerzelle 50 von 1a abgewandelte Kryptomultiplexerzelle 50' dargestellt. Sie weist dieselben Komponenten auf wie die Kryptomultiplexerzelle von 1a. Es wurden deshalb dieselben Bezugszeichen wie in 1a verwendet. Lediglich in Hinblick auf das Anlegen der Steuersignale an die Elementarmultiplexer 58-62 unterscheidet sich das Ausführungsbeispiel von 1b von demjenigen nach 1a.
  • Wiederum sind die beiden Eingänge des XOR-Gatters 64 mit dem Schlüsseleingang 54 bzw. dem Steuereingang 56 der Zelle 50' verbunden. Der Ausgang, an dem das XOR-Gatter 64 das verschlüsselte Steuersignal ausgibt, ist jedoch diesmal mit den Steuereingängen der Elementarmultiplexer 58 und 60 verbunden. Der Steuereingang des Elementarmultiplexers 62, d.h. des Elementarmultiplexers der Ausgangsstufe im Gegensatz zu der durch die Elementarmultiplexer 58 und 60 gebildeten Eingangsstufe, ist mit dem Schlüsseleingang 56 verbunden. Ähnliche Überlegungen wie sie im vorhergehenden Bezug nehmend auf 1a angestellt wurden, ergeben, daß ein durch die Verschlüsselung des Steuersignals an dem Steuereingang 54 bewirktes ver ändertes Anlegen des Paars von Datensignalen an die Dateneingänge des Elementarmultiplexers 62 durch das Anlegen des Schlüssels als Steuersignal an dem Steuereingang des Elementarmultiplexers 62 korrigiert wird, so daß wiederum unabhängig davon, welchen Zustand der Schlüssel 56 annimmt, immer dasjenige Datensignal an den Dateneingängen 52a und 52b am Datenausgang 57 durchgeschaltet wird, das dem jeweiligen Zustand des Steuersignals am Steuereingang 54 entspricht.
  • In Bezug auf die vorhergehende Beschreibung wird darauf hingewiesen, daß es nicht unbedingt notwendig ist, daß die drei Elementarmultiplexer 58, 60 und 62 identisch aufgebaut sind. So kann beispielsweise ein Invertierer vorgesehen werden, um das Steuersignal zu einem der Elementarmultiplexer 58 und 60 gegenüber dem Steuersignal des jeweils anderen zu invertieren, wobei die Dateneingänge der Zelle dann auf geeignete Weise an die Dateneingänge der Elementarmultiplexer 58 und 60 anzuschließen sind. Ein solcher Aufbau entspräche vorhergehender Beschreibung im wesentlichen, sähe man in einem solchen Falle Invertierer und Multiplexer zusammen als einen Elementarmultiplexer nach obiger Beschreibung an.
  • Obige Ausführungsbeispiele betrafen ein Einfaches Ausführungsbeispiel, bei dem die erwähnten Signale lediglich Bitsignale waren bzw. die Multiplexerzelle lediglich eine 2-auf-1-Durchschaltung durchführte. Freilich sind auch andere Ausführungsbeispiele mit Mehrbitsignalen und entsprechend anderer Verschlüsselung als der erwähnten XOR-Verschlüsselung denkbar.
  • Nachdem im vorhergehenden zwei Ausführungsbeispiele für eine Kryptomultiplexerzelle beschrieben wurden, die es ermöglichen, unter erhöhter Sicherheit gegen DPA-Angriffe abhängig von einem geheimen Steuersignal eines von zwei Signalen an einen Ausgang durchzuschalten, werden im folgenden bezugnehmend auf die 2 bis 4 Ausführungsbeispiele für S-Boxen beschrieben, die unter Verwendung dieser Kryptomultiplexer zellen aufgebaut sind, so daß dieselben eine erhöhte Sicherheit vor dem Ausspionieren von Informationen über die in die S-Box eingehenden Adreßwerte durch DPA-Angriffe liefern.
  • Zur Vereinfachung der Darstellung werden zunächst Bezug nehmend auf die 2-4 lediglich Ausführungsbeispiele für eine 3-Auf-1-S-Box beschrieben, bei denen ein Drei-Bit-Eingangswert bzw. -Adreßwert auf einen Ein-Bit-Ausgangswert abgebildet wird. Anschließend wird beschrieben, wie diese Ausführungsbeispiele ohne weiteres auch auf jedwede andere S-Box übertragen werden können, so z.B. auf die beim DES-Verfahren verwendeten 6-Auf-4-S-Boxen.
  • Bevor jedoch Bezug nehmend auf die 2-4 die Ausführungsbeispiele für die S-Boxen näher erläutert werden, soll im folgenden noch einmal kurz auf 5 Bezug genommen werden, um zu veranschaulichen, worin das Problem bei dem Einsatz der S-Boxen im DES-Verfahren in Hinblick auf DPA-Angriffe besteht, um bei der Beschreibung der 2-4 auf diese Problematik Bezug nehmen zu können.
  • Wie es 5 zu entnehmen ist, die in der Beschreibungseinleitung bereits beschrieben worden ist, sind die S-Boxen, bzw. die durch dieselben definierten 918 Teil einer 16 mal durchgeführten DES-Runde bestehend aus den Schritten 908, 910, 912, 918, 920 und 922. In jeder Runde wird ein Zwischenergebnis, nämlich der erweiterte Datenblock nach der Expansion 910, mit einem Rundenschlüssel verknüpft, der aus einem geheim zu haltenden Hauptschlüssel 914 auf eine bekannte Art und Weise 916 hergeleitet wird. Die Verknüpfung besteht in der XOR-Verknüpfung 912. Das so verschlüsselte Ergebnis wird abschnitt- bzw. 6-Bit-weise in die S-Boxen S1-S8 eingegeben. Die Abbildungsvorschriften der S-Boxen sind aufgrund der Standardisierung des DES-Algorithmus grundsätzlich bekannt.
  • Das Problem besteht nun darin, daß bei der Verarbeitung des verschlüsselten Datenblocks nach der Verknüpfung 912 in den S-Boxen S1-S8 ein Stromprofil entstehen könnten, aus dem mittels des DPA-Angriffes Rückschlüsse auf die Rundenschlüssel und somit auf den geheim zu haltenden Hauptschlüssel 914 gezogen werden können. Eine S-Box sollte deshalb stets eine möglichst geringe Korrelation zwischen Stromprofil und abzubildenden Adreßwert, hier dem verschlüsselten Datenblock nach der Verknüpfung 912, besitzen.
  • 2 zeigt ein Ausführungsbeispiel einer 3-Auf-1-S-Box, die einen abzubildenden Drei-Bit-Eingangs- bzw. -Adreßwert sel={sel1, sel2, sel3} auf einen verschlüsselten Ein-Bit-Ausgangswert abbildet, der aus einem durch die der S-Box zugrundeliegenden Abbildungsvorschrift festgelegten Ausgangswert durch eine XOR-Verknüpfung mit einem Verschlüsselungsbit outkey1 hervorgeht.
  • Die S-Box von 2, die allgemein mit 100 angezeigt ist, umfaßt acht Dateneingänge 102a-102h, einen Datenausgang 103, drei Steuereingänge 104a, 104b und 104c, die mit csel bezeichnet sind, wobei „csel" gleichbedeutend mit „cryptsel" ist, drei Schlüsseleingänge 106a, 106b und 106c sowie einen Verschlüsselungsschlüsseleingang 108. An jedem Eingang liegt vorliegend ein binäres Signal an, das entweder einen logisch hohen oder einen logisch niedrigen Zustand hat. Die Zustände der Signale an den Dateneingängen 102a-102h definieren auf eine vorbestimmte Weise, die sich noch aus der nachfolgenden Beschreibung ergibt, die Abbildungsvorschrift der S-Box 100, sind fest und sind zudem mit v1-v8 dargestellt. Wie es aus dem Vergleich von 2 und 1 zu sehen ist, wird das Signal cryptsel (csel) durch ein in 2 bzw. 3 nicht gezeigtes XOR-Gatter (64 in 1a) aus dem Select-Signal erzeugt.
  • An den drei Dateneingängen 104a-104c liegen die Signale csel1-csel3 an, die zusammen eine eindeutige Bitdarstellung des Drei-Bit-Eingangswertes sel bilden, wobei vorliegend exemplarisch csel1 das niedrigstwertige und csel3 das höchstwertige Bit sein soll. Die Signale an den Schlüsseleingängen 106a-106c sind mit key1-key3 bezeichnet und bilden zusammen eine eindeutige Bitdarstellung eines 3-Bit-Schlüssels key, wobei wiederum key1 das niedrigstwertige und Key3 das höchstwertige Bit sein soll. Das mit outkey1 bezeichnete Verschlüsselungsschlüsselbit liegt an dem Verschlüsselungsschlüsseleingang 108 an.
  • Grob ausgedrückt besteht die S-Box 100 zunächst aus einem Verschlüsselungsteil 110 und einem Multiplexerteil bzw. einer Multiplexereinrichtung 112. Der Verschlüsselungsteil 110 wird gebildet durch acht XOR-Gatter 110a-110h. Jedes XOR-Gatter weist zwei Eingänge und einen Ausgang auf. Ein erster Eingang jedes XOR-Gatters 110a-110h ist mit dem Verschlüsselungsbiteingang 108 verbunden. Der zweite Eingang jedes XOR-Gatters ist mit einem unterschiedlichen der acht Dateneingänge 102a-102h verbunden.
  • Der Multiplexerteil 112 wird durch einen dreistufigen Multiplexerbaum aus Kryptomultiplexerzellen des Typs von 1a oder 1b gebildet (einschließlich der zugeordneten Gatter, wie z. B. 64 in 1a). Kryptomultiplexerzellen einer ersten bzw. Anfangsstufe sind mit 114a, 114b, 114c und 114d angezeigt. Kryptomultiplexerzellen einer zweiten Stufe des Multiplexerbaumes sind mit 116a und 116b gezeigt, während eine Kryptomultiplexerzelle einer Abschlußstufe des Multiplexerbaumes mit 118a angezeigt ist. Die Stufen des Multiplexerbaumes sind allgemein mit 114, 116 und 118 angezeigt. Der Aufbau des Multiplexerbaumes, im folgenden mit 112 bezeichnet, ist derart, daß stets die Datenausgänge der Kryptomultiplexerzellen einer vorhergehenden Stufe mit jeweils einem unterschiedlichen der Dateneingänge der Kryptomultiplexerzelle bzw. der Kryptomultiplexerzellen der nachfolgenden Stufe verbunden sind, so daß sich die Anzahl der Kryptomultiplexer von Stufe zu Stufe halbiert. Die Steuereingänge der Kryptomultiplexerzellen sind mit jeweils einem unterschiedlichen der Steuereingänge 104a-104c verbunden. Insbesondere sind die Steuereingänge der Multiplexerzellen 114a-114d der Anfangsstufe 114 mit dem Steuereingang 104a der S-Box 110, die Steuereingänge der Multiplexerzellen 116a und 116b mit dem Steuereingang 104b und der Steuereingang der Kryptomultiplexerzelle 118a mit dem Steuereingang 104c verbunden. Auf entsprechende Art und Weise sind die Kryptomultiplexerzellen jeweils einer Stufe mit ein und demselben aber zu einer anderen Stufe jeweils unterschiedlichem der Schlüsseleingänge 106a-106c verbunden.
  • Jedes XOR-Gatter 110a-110h umfaßt einen Ausgang. Der Ausgang jedes XOR-Gatters 110a-110h ist mit einem unterschiedlichen der Dateneingänge der Kryptomultiplexerzellen 114a-114d der Anfangsstufe des Multiplexerbaumes 112 verbunden. Der Datenausgang der Kryptomultiplexerzelle 118a der Abschlußstufe 118 bildet zugleich den Datenausgang 103 der S-Box 100.
  • Nachdem im vorhergehenden der Aufbau der S-Box 100 beschrieben worden ist, wird im folgenden die Funktionsweise derselben beschrieben. Es wird zunächst der Fall betrachtet, daß der Zustand des Verschlüsselungsschlüsselbits outkey1 logisch niedrig ist, bzw. 0 ist. In diesem Fall wird, wie nachfolgender Tabelle 1 entnommen werden kann, am Ausgang jedes XOR-Gatters das jeweilige Signal v1...v8, wie es am Eingang des jeweiligen XOR-Gatters anliegt, am Ausgang desselben unverändert ausgegeben.
  • Tabelle 1
    Figure 00180001
  • In dem Fall von outkey1 = 0 liegen folglich die Zustände v1-v8 durch die XOR-Gatter unverändert an den Dateneingängen der Kryptomultiplexer 114a-114d an.
  • Von diesen Signalen v1-v8 wird durch den Multiplexerbaum 112 abhängig von dem Eingangswert sel aber unabhängig von dem Schlüssel key eines auf den Ausgang 103 durchgeschaltet. Dies wird im folgenden veranschaulicht. Wie im vorhergehenden Bezug nehmend auf 1a1b beschrieben, schaltet jede Kryptomultiplexerzelle unabhängig von dem Zustand des Signals am Schlüsseleingang eines der Signale an seinen Dateneingängen abhängig von dem Steuersignal am Steuereingang auf den Ausgang durch. Vorliegend seien die Kryptomultiplexer exemplarisch derart angeordnet, daß sie bei einem logisch niedrigen Zustand des Steuersignals, d.h. 0, an ihrem Steuereingang den linken ihrer Dateneingänge auf ihren Ausgang durchschalten. Dasselbe gelte für die übrigen Kryptomultiplexerzellen 116a, 116b und 118a. Auf diese Weise wird eine eindeutige Zuordnung zwischen einerseits den möglichen Eingangswerten, die der abzubildende Eingangswert sel annehmen kann, und den Dateneingängen der Kryptomultiplexerzellen 114a-114d definiert, die jedem möglichen Eingangswert von sel einen unterschiedlichen dieser acht Dateneingänge zuordnet, der bei Anliegen dieses Eingangswertes an den Steuereingängen 104a-104c durch den Multiplexerbaum 112 auf den Ausgang 102 durchgeschaltet wird.
  • Unter den vorhergehend gemachten Annahmen über die Anordnung der Kryptomultiplexerzellen und unter der Annahme, daß outkey1 gleich 0 ist, kann die Zuordnung durch folgende Tabelle 2 veranschaulicht werden, die abhängig von den Werten von sel1-sel3 (erste drei Spalten) für den Fall von outkey1 = 0 zeigt, welches der Signale v1-v8 an dem Ausgang 103 durchgeschaltet wird (rechte Spalte):
  • Tabelle 2
    Figure 00190001
  • Jedem möglichen Drei-Bit-Eingangswert sel ist folglich ein spezielles Signal v1-v8 bzw. ein spezieller Dateneingang 102a-102h zugeordnet.
  • Jedes Signal v1-v8 kann wie bereits erwähnt lediglich einen von zwei logischen Zuständen annehmen. Dies sind die möglichen zwei Ausgangswerte, die an dem Ausgang 103 der S-Box 100 ausgegeben werden können. Welchen der beiden Zustände die Signale v1-v8 aufweisen müssen, hängt von der gewünschten Wahrheitstabelle bzw. der gewünschten Abbildungsvorschrift der S-Box 100 ab. Bestimmte sind die Zustände also über die Zuordnung, wie sie sich aus Tabelle 2 ergibt, indem v1-v8 in Tabelle 2 auf jeweils den möglichen Ausgangswert, d.h. o oder 1, eingestellt werden, wie es der Abbildungsvorschrift der S- Box entspräche, die jedem der acht möglichen Eingangswerte einen möglichen Ausgangswert zuordnet.
  • Die vorhergehende Erörterung hat gezeigt, daß in dem Fall von outkey1 = 0 der Ausgangswert, der sich abhängig von Eingangswert sel am Ausgang 103 der S-Box einstellt, derjenige unter den möglichen Ausgangswerten ist, auf den der jeweilige abzubildende Eingangswert durch die Abbildungsvorschrift der S-Box abgebildet wird. Durch das Vorsehen der Kryptomultiplexerzellen jedoch ist es durch Variieren des Schlüssels key möglich, die Korrelation zwischen dem Stromprofil einerseits und dem abzubildenden Eingangswert sel weitestgehend zu zerstören, so daß DPA-Angriffe erschwert werden.
  • Ein gewisses Maß an Korrelation zwischen abzubildenden Eingangswert sel und dem Stromprofil ergibt sich lediglich noch dadurch, daß die die Abbildungsvorschrift definierenden Signale v1-v8 fest eingestellt und in einer festen Zuordnung zu dem abzubildenden Eingangswert sel stehen. Diese Korrelation wird noch durch den Verschlüsselungsschlüssel outkey1 zerstört.
  • Wie im folgenden noch detaillierter erörtert werden wird, bewirkt das Verschlüsselungsbit outkey1, daß anstelle des gemäß der Abbildungsvorschrift der S-Box gemäß dem abzubildenden Eingangswert sel1-3 abgebildeten Ausgangswertes in unverschlüsselter Form derselbe in verschlüsselter Form ausgegeben wird und dabei in verschlüsselter Form den Multiplexerbaum 112 durchläuft. Durch Variation des Verschlüsselungsschlüssels outkey1 kann folglich jegliche Korrelation zwischen Stromprofil einerseits und abzubildenden Eingangswert sel1-3 andererseits zerstört werden, wobei lediglich die variierende Verschlüsselung des Ausgangswertes mit dem Schlüsselbit outkey1 bei der weiteren Verarbeitung zu berücksichtigen ist.
  • In dem vorliegenden Fall wird die Verschlüsselung durch den Verschlüsselungsteil 110 durch eine signalweise XOR- Verknüpfung der Signale v1-v8 mit dem Verschlüsselungsbit outkey1 bewirkt. Die Folge ist, daß wenn outkey1 gleich 0 ist, wie im vorhergehenden erwähnt, der Ausgangswert, der sich am Ausgang 103 einstellt, dem Ausgangswert entspricht, auf den der jeweilige Eingangswert sel1-3 durch die Abbildungsvorschrift der S-Box abgebildet wird, d.h. dem abgebildeten Ausgangswert. Wenn outkey1 gleich 1 ist, wird, wie es aus Tabelle 1 hervorgeht, jedes der Signale v1-v8 invertiert, bevor es den jeweiligen Dateneingang unter den Dateneingängen der Kryptomultiplexerzellen 114a-114d erreicht, weshalb am Ausgang 103 sich ein Ausgangswert einstellt, der zu dem Ausgangswert invertiert ist, der sich bei selbem Eingangswert sel1-3 in dem Fall von outkey1 gleich 0 einstellt. Folglich bewirkt die S-Box von 2 eine Abbildung eines Eingangswertes sel1-3 auf ein durch XOR-Verknüpfung mit dem Verschlüsselungsbit outkey1 verschlüsselten gemäß der Abbildungsvorschrift abgebildetem Ausgangswert dar.
  • Durch zufälliges Variieren des Verschlüsselungsbits outkey1 sowie des Drei-Bit-Schlüssels key ist es nun möglich, die Umschaltvorgänge in dem Kryptomultiplexern vollständig unabhängig von dem vor DPA-Angriffen zu schützenden Eingangswert sel zu machen. Dieser Vorteil wird detaillierter noch in Zusammenhang mit 5 beschrieben. Zuvor werden jedoch noch Bezug nehmend auf die 3 und 4 weitere Ausführungsbeispiele für eine 3-Auf-1-S-Box beschrieben, die eine Variation zu der S-Box von 2 darstellen.
  • 3 zeigt eine 3-Auf-1-S-Box 100', die sich von der in 2 gezeigten lediglich dadurch unterscheidet, daß der Schlüsselbiteingang mit einem der Steuereingänge der S-Box zusammengelegt wurde, vorliegend exemplarisch dem Steuereingang 106a. Dieser zusammengefaßte Eingang ist in 3 mit 106a' angezeigt. Wie es zu sehen ist, ist in 3 exemplarisch der Verschlüsselungsbiteingang mit dem Steuereingang der ersten Stufe 114 des Multiplexerbaumes 112 zusammengefaßt worden, so daß an den ersten Eingängen der XOR-Gatter des Verschlüsselungsteils 110 als Verschlüsselungsbit das niedrigstwertige Bit in der Bitdarstellung des Schlüssels key anliegt, d.h. key1. Freilich wäre es auch möglich, den Verschlüsselungsbiteingang mit einem beliebigen anderen der Steuereingänge 106b und 106c zusammenzufassen.
  • Das Ausführungsbeispiel von 3 ist darin zu dem Ausführungsbeispiel von 2 vereinfacht, daß lediglich noch drei Bits, nämlich key1, key2 und key3 variiert werden müssen, um die oben erläuterte Zerstörung der Korrelation des Leistungsverbrauchs von den abzubildenden Eingangswerten zu erzielen.
  • 4 zeigt eine weitere Vereinfachung des Ausführungsbeispiels von 2, wobei die Vereinfachung hierbei darin besteht, daß die bei dem Ausführungsbeispiel von 2 verwendete aktive Verschlüsselung der die Abbildungsvorschrift definierenden Signale v1-v8 vor der ersten Stufe des Multiplexerbaumes durch eine passive Verschlüsselung unter Weglassung der ersten Stufe des Multiplexerbaumes ersetzt wird, gemäß der das Verschlüsselungsbit outkey1 und das niedrigwertige Steuerbit sel1 in form und Verteilung geeignet jeweils einzeln an die Dateneingänge der nächstfolgenden Stufe 116 angelegt werden, wobei von dem Umstand Gebrauch gemacht wird, daß ja die die Abbildungsvorschrift darstellenden Signale v1-v8 bekannt sind.
  • Das Ausführungsbeispiel von 4 stellt eine Vereinfachung der S-Box in 2 für den exemplarischen Fall einer konkreten Abbildungsvorschrift dar. Genauer ausgedrückt, stellt die S-Box 100'' von 4 eine Vereinfachung der S-Box von 2 für eine Abbildungsvorschrift dar, bei der die Zustände der Signale v1-v8 die in 4 bei 115 jeweils unter v1-v8 stehenden Werte annehmen. 4 stellt folglich eine 3-Auf-1-S-Box dar, die einen 3-Bit-Eingangswert mit den Bits sel1, sel2 und sel3 in aufsteigender Wertigkeit auf einen Ein-Bit-Ausgangswert gemäß folgenden Abbildungsvorschrift bzw. Wahrheitstabelle abbildet, so lange outkey1 gleich 0 ist:
  • Tabelle 3
    Figure 00230001
  • Die S-Box von 4 hat einen Datenausgang 103, drei Steuereingänge 104a, 104b und 104c, zwei Schlüsseleingänge 106b und 106c sowie einen Verschlüsselungsbiteingang 108.
  • Grob ausgedrückt besteht die S-Box 100'' aus einem Datensignalbereitstellungsteil 110', sowie einem Multiplexerteil 112'. Der Multiplexerteil 112' entspricht den letzten beiden Stufen des Multiplexerbaumes von 2 bzw. dem Multiplexerbaum von 2 ohne die Anfangsstufe. Insbesondere besteht der Multiplexerteil 112' folglich aus einem zweistufigen Multiplexerbaum mit einer Anfangsstufe 116' und einer Abschlußstufe 118', wobei die Anfangsstufe 116' zwei Kryptomultiplexerzellen 116a und 116b und die Abschlußstufe eine Kryptomultiplexerzelle 118a aufweist. Die Datenausgänge der Kryptomultiplexerzellen 116a, 116b sind mit den beiden Dateneingängen der Kryptomultiplexerzelle 118a verbunden. Der Datenausgang der Kryptomultiplexerzelle 118a bildet den Datenausgang 103 der S-Box 100''. Die Steuereingänge der Kryptomultiplexerzellen 116a, 116b sind mit dem Steuereingang 104b verbunden, während der Steuereingang der Kryptomultiplexerzelle 118a mit dem Steuereingang 104c verbunden ist. Auf ähnliche Weise, sind die Schlüsseleingänge der Kryptomultiplexerzellen 116a, 116b mit dem Schlüsseleingang 104b und der Schlüsseleingang der Kryptomultiplexerzelle 118a mit dem Schlüsseleingang 106c verbunden.
  • Der Datensignalbereitstellungsteil 110' besteht im wesentlichen aus Leiterbahnen, die an einem Ende mit dem Verschlüsselungsbiteingang 108 bzw. dem Steuereingang 104a verbunden sind, um die an denselben anliegenden Signale an die Dateneingänge der Kryptomultiplexerzellen 116a, 116b der Anfangsstufe 116' auf geeignete Weise zu verteilen. Invertierer, hier Invertierer 152a und 152b, sind vorgesehen, um die Signale von den Eingängen 108 und 104a vor ihrem Anlegen an bestimmte Dateneingänge unter den Dateneingängen der Kryptomultiplexer 116a, 116b zu invertieren. In dem vorliegenden Fall ist der Datensignalbereitstellungsteil 110' derart ausgebildet, daß an dem linken Dateneingang der Kryptomultiplexerzelle 116a das Verschlüsselungsbit, an dem rechten Dateneingang der Kryptomultiplexerzelle 116a das niedrigstwertige Bit des Drei-Bit-Eingangswertes sel, d.h. sel1, am linken Dateneingang der Kryptomultiplexerzelle 116b der durch den Invertierer 152a invertierte Wert von sel1, d.h. sel1, und an dem rechten Dateneingang der Kryptomultiplexerzelle 116b der durch den Invertierer 152b invertierte Wert von outkey1 anliegt, d.h. outkey1 (der obere Querstrich gebe jeweils das bitweise Inverse des unter ihm stehenden Ausdrucks an).
  • Diese Art und Weise der Belegung der Dateneingänge der Kryptomultiplexerzellen 116a und 116b führt zu der gewünschten Abbildungsvorschrift und der Verschlüsselung des auszugebenden Ausgangswertes 103 unter der Annahme wie sie auch bereits einmal in der Beschreibung von 2 verwendet wurde, nämlich daß ein Steuersignal mit dem Wert 0 an einem Steuereingang eines der Kryptomultiplexerzellen 116a-118a zum Durchschalten des linken Dateneingangs auf dem jeweiligen Datenausgang führt, während ein Steuersignal von 1 zum Durchschalten des Signals am rechten Dateneingang führt.
  • Die Überlegungen, die zu der Belegung der Signale von den Eingängen 108 und 104a an die Dateneingänge der Kryptomultiplexer 116a und 116b führen, werden im folgenden erläutert. Ausgangspunkt bildet die S-Box wie in 2 gezeigt. Dort seien die Signale v1-v8 durch die Abbildungsvorschrift der S-Box 100'' auf die bei 115 gezeigte Weise festgelegt. Betrachtet man nun die XOR-Gatter 110a-110h und die Kryptomultiplexerzellen 114a-114d näher, so erkennt man, daß jeweils eine Kryptomultiplexerzelle 114a-114d zusammen mit ihren zwei verbundenen XOR-Gattern jeweils eine Einheit bilden, deren Wert am Datenausgang des jeweiligen Kryptomultiplexers lediglich von den Variablen outkey1 und sel1 abhängt, nicht jedoch von key1, da sich dieser ja nicht auf das Durchschaltergebnis der Kryptomultiplexer auswirkt, und nicht von v1-v8, da diese ja fest und nicht variabel sind.
  • So sind in dem Fall von v1 und v2 diese auf die festen Werte 0 und 0 eingestellt. Aus der Tabelle 1, die die XOR-Verknüpfung betrifft, ergibt sich, daß an beiden Dateneingängen der Kryptomultiplexerzelle 114a outkey1 anliegt. Unabhängig von dem genauen Zustand des Signals sel1 gibt die Kryptomultiplexerzelle 114a folglich outkey1 an den linken Dateneingang der Kryptomultiplexerzelle 116a der nachfolgenden Stufe 116 aus. Ähnliche Überlegungen führen dazu, daß die Kryptomultiplexerzelle 114d an ihrem Datenausgang auf jeden Fall den Wert outkey1 an den rechten Dateneingang der Kryptomultiplexerzelle 116b der nachfolgenden Stufe 116 ausgibt, da ihre zugehörigen Signale v7 und v8 beide 1 sind.
  • Anders gestaltet sich der Fall bei v3 und v4. Diese Signale haben die Werte 1 für v3 und 0 für v4. Die Werte an v3 und v4 sind folglich invertiert zueinander. In dem Fall von outkey1 = 0 liegen dieselben in dieser Form auch an der Kryptomultiplexerzelle 114b an. Ist der Wert von sel1 gleich 0 wählt die Kryptomultiplexerzelle 114b den linken Dateneingang aus, an dem dann der Wert v3 = 1 anliegt. In dem Fall von sel1 = 1 und outkey1 = 0 gibt die Zelle 104b 0 aus. Genau umgedreht gestaltet sich der Fall bei dem Paar v5 und v6, die zu dem Paar v3 und v4 genau umgekehrt an den Dateneingängen der Kryptomultiplexerzelle 114c anliegen, wenn outkey1 gleich 0 ist. Auf diese Weise lassen sich die Ergebnisse, die die Kryptomultiplexerzellen 114b und 114c an ihrem jeweiligen Datenausgang der nachfolgenden Kryptomultiplexerzelle 116a bzw. 116b ausgeben, durch sel1 auf der einen und sel1 auf der anderen Seite darstellen.
  • Obige Überlegungen sind allgemein gültig und auf jegliche Abbildungsvorschrift, bzw. auf jegliche Zuweisung von Werten zu den Signalen v1-v8 anwendbar und sind in Tabelle 4 noch einmal zusammengefaßt:
  • Tabelle 4
    Figure 00260001
  • In Anwendung der Tabelle 4 kommt man folglich zu dem Aufbau des Datensignalbereitstellungsteils 110', wie er in 4 gezeigt ist. Denn v1 und v2 betragen in diesem Fall 0 und 0, weshalb das Signal outkey1 an den linken Dateneingang der Kryptomultiplexerzelle 116a angelegt wird. Das Signal v3 v4 beträgt 1 0, weshalb nach Tabelle 4 an den rechten Dateneingang der Kryptomultiplexerzelle 116a der Wert sel1 angelegt wird usw.
  • Das Ausführungsbeispiel von 4 stellt folglich eine Vereinfachung zu 2 dar, darin, daß weniger Kryptomultiple xerzellen und keine XOR-Gatter notwendig sind. Die Funktionsweise im übrigen ist dieselbe.
  • Im vorhergehenden wurden folglich Bezug nehmend auf die 2-4 drei Ausführungsbeispiele für 3-Auf-1-S-Boxen beschrieben, die abhängig von einem 3-Bit-Eingangswert sel einen abgebildeten Ausgangswert gemäß einer Abbildungsvorschrift ausgaben, die die möglichen acht Eingangswerte, die der abzubildende Eingangswert annehmen konnte, nämlich {0 0 0}, {0 0 1}, {0 1 0}, {0 1 1}, usw., einem von zwei möglichen Ausgangswerten zuordenbar machte, nämlich 0 oder 1, wobei der abgebildete Ausgangswert in verschlüsselter Form ausgegeben wurde, hier in diesem Fall XOR-verknüpft mit dem Verschlüsselungsbit outkey1.
  • Die S-Boxen von 2-4 können ohne weiteres auch auf Eingangswerte mit mehr oder weniger Bit übertragen werden. Auf diese Weise können ohne weiteres 6-Auf-1-S-Boxen erhalten werden. Um nun zu dem vom DES-Verfahren benötigten 6-Auf-4-S-Boxen zu gelangen, werden vier 6-auf-1-S-Boxen des Typs nach 2, 3 oder 4 verwendet. Die Schlüsselbits key# jeder der vier 6-Auf-1-S-Boxen können zu den Schlüsselbits key# der jeweils anderen identisch oder unterschiedlich sein. Ebenso kann das Verschlüsselungsbit outkey1 für alle diese 6-Auf-1-S-Boxen gleich sein. Sicherer ist es aber, wenn das Verschlüsselungsbit outkey# für jede der vier 6-Auf-1-S-Boxen unterschiedlich ist, d.h. outkey1 für die erste, outkey1 für die zweite usw.
  • Die Abbildungsvorschriften der vier 6-Auf-1-S-Boxen wären aus der Gesamtabbildungsvorschrift abzuleiten, die für die 6-Auf-4-S-Box gelten soll, die sich aus den vier 6-Auf-1-S-Boxen zusammensetzt. Die Gesamtabbildungsvorschrift bildet 6-Bit-Eingangswerte auf 4-Bit-Ausgangswerte ab. Jedes Bit des Vier-Bit-Ausgangswerts wird durch eine 6-Auf-1-S-Box ausgegeben. Dementsprechend bestimmt sich aus der Gesamtabbildungsvorschrift, die sechs auf vier Bits abbildet, die Abbildungsvor schrift jeder einzelnen 6-Auf-1-S-Box durch die Werte in der entsprechenden Bitposition des Ausgangswertes gemäß der Gesamtabbildungsvorschrift, die ja durch die 6-Auf-4-S-Box ausgegeben werden sollen.
  • Dies sei an einem einfachen 3-Auf-2-S-Box-Fall veranschaulicht. Soll eine 3-Auf-2-S-Box mit der in Tabelle 5 gezeigten Abbildungsvorschrift erzeugt werden, so müssen zwei 3-Auf-1-S-Boxen zusammen verwendet werden, von denen die erste das höherwertige Bit des Ausgangswertes ausgibt und die Abbildungsvorschrift von Tabelle 6 aufweist, und von denen die zweite S-Box das niedrigwertigere Bit des Zwei-Bit-Ausgangswertes ausgibt und die in Tabelle 7 gezeigte Abbildungsvorschrift aufweist.
  • Figure 00280001
  • Tabelle 7
    Figure 00290001
  • Bei einer Anwendung einer entsprechend zusammengesetzten 6-Auf-4-S-Box für die S-Boxen s1-s8 in dem DES-Algorithmus, der in 5 gezeigt ist, würde folglich ein DPA-Angreifer aufgrund der Zerstörung der Korrelation zwischen dem durch die Durchschaltvorgänge bewirkten Stromprofil und den Eingangswerten in die S-Boxen s1-s8 keine Rückschlüsse mehr auf die geheimen Eingangswerte und damit nicht auf den Hauptschlüssel bzw. die Rundenschlüssel ziehen können. Die Ausgangswerte der S-Boxen werden verschlüsselt mit den sich ändernden Vier-Bit-Verschlüsselungsschlüssel outkey1-outkey4.
  • Bezug nehmend auf die vorhergehende Beschreibung wird darauf hingewiesen, daß dieselben verschieden variiert werden können. Anstelle der in der vorhergehenden Figurenbeschreibung zur Verschlüsselung verwendeten XOR-Verknüpfung könnte ferner eine NXOR-Verknüpfung verwendet werden. Ferner könnte die vorhergehende Beschreibung der Figuren ohne weiteres auch auf Fälle übertragen werden, bei denen die Signale nicht nur aus einem Bitsignal sondern aus Mehrbitsignalen bestehen. So könnten beispielsweise die Signale v1-v8 bereits Zwei-Bit-Signale sein. In diesem Fall müßten auch die Kryptomultiplexer und die Elementarmultiplexer innerhalb derselben auf eine für einen Fachmann leicht verständliche Art und Weise ange paßt werden, um jeweils paarweise die Bits der 2-Bit-Signale durchzuschalten. In diesem Fall könnte auch eine komplexere Verschlüsselung der Signale v1-v8 gewählt werden.
  • Bezüglich des Multiplexerteils 112 wird darauf hingewiesen, daß derselbe nicht ausschließlich aus Kryptomultiplexerzellen aufgebaut sein muß, sondern daß derselbe gemischt aus Kryptomultiplexerzellen und Elementarmultiplexern aufgebaut sein kann. Ferner könnten mehrere Multiplexer zu einem komplexeren, beispielsweise Vier-Auf-Eins-Multiplexer zusammengefaßt werden.
  • Ferner bezogen sich die Ausführungsbeispiele von 2-4 zwar auf S-Boxen des DES-Algorithmus, aber die Ausführungsbeispiele sind natürlich ohne weiteres auch auf andere Anwendungen übertragbar. So könnten die dort gezeigten Abbildungsvorrichtungen auch genutzt werden, um beispielsweise einen Dekoder bzw. Dekodierer, der ja auch nur eine Abbildungsfunktion darstellt, DPA- oder SPA-sicher zu implementieren.
  • Die vorhergehend Bezug nehmend auf die 2-4 beschriebenen Ausführungsbeispiele stellen randomisierte S-Boxen dar, die DPA-Angriffe auf die auf ihnen basierenden kryptographischen Algorithmen vereiteln. Anders ausgedrückt ermöglichen sie eine DPA-sichere Hardwareimplementierung mit Semi-Custom-Schaltungstechnik, wie z.B. der Synthese. Durch die randomisierte S-Box in Verbindung mit der Verwendung des variierenden Schlüssels key gemäß der Sparkling-Schaltungstechnik, wird es so möglich, einfach, schnell und mit geringem Aufwand sichere Verschlüsselungsalgorithmen in Hardware zu implementieren. Sowohl der geheime Schlüssel als auch die Daten, was besonders wichtig für Speicherverschlüsselungen ist, die beispielsweise im Speicher liegen, wie z.B. Koeffizienten von Softwarekryptographiealgorithmen, können so effizient vor DPA- bzw. SPA-Angriffen geschützt werden. Die Ausführungsbeispiele der S-Boxen vervollständigen somit die Sparkling-Schaltungstechnik zum DPA-sicheren Prozessieren von Daten, wobei Ziel der Sparking-Schaltungstechnik allgemein darin besteht, verwendete Daten oder Adressen mit einem sich zeitlich ändernden Zufallsschlüssel, Sparkling-key genannt, einer XOR-Verknüpfung zu unterziehen.
  • In den Ausführungsbeispielen der S-Boxen wurde durch konsequente Trennung des Sparkling-keys (key) und der damit verschlüsselten Daten (sel) jede Korrelation zwischen den Daten gebrochen und somit eine DPA unmöglich gemacht. Die Sparkling-Technik wurde bei den S-Boxen der 2-4 zudem so eingesetzt, daß die Sparkling-verschlüsselten Eingangsdaten (sel) der S-Boxen effizient und ohne sie zu entschlüsseln in den S-Boxen verarbeitet wurden, um die Ausgangswerte der S-Boxen zu bestimmen.
  • Die Ausgangswerte der S-Boxen werden zudem niemals unverschlüsselt verarbeitet und erscheinen mit einem weiteren Sparkling-key (outkey) versehen am Ausgang der S-Box. Auf diese Weise ist sichergestellt, daß zu keinem Zeitpunkt eine Korrelation der Daten bestimmbar ist und so ein DPA-Angriff ermöglicht würde. Die Schaltungen der 2-4 sind zudem einfach und regulär, wobei die letztere Eigenschaft den Einsatz einer Spezialzelle auf Transistorebene zur Flächenminimierung erlaubt. Sie erlauben über Synthese eine Nicht-Vermischung des Sparkling-key outkey und der Sparklingverschlüsselten Eingangsdaten (sel) sicherzustellen. Die möglichen Ausgangsdaten (v1-V8) sind von Anfang an durch einen Sparkling-key outkey1 geschützt.
  • Grundstock der Ausführungsbeispiele von 2-4 bildet der Multiplexerbaum, welcher sich aus den Kryptomultiplexern zusammensetzte. Der Kryptomultiplexer erlaubt ein Multiplexen von Daten über ein verschlüsseltes Steuersignal. Er baute sich prinzipiell aus drei einfachen Zwei-Eingangs-Multiplexern auf. Dabei werden in der ersten Stufe die zum multiplexenden Daten entweder mit dem Sparkling-key outkey1 oder dem Sparkling-Steuersignal key1 geschaltet, und zwar in der Art, daß ein Multiplexer mit dem positiven ansteuernden Signal und ein zweiter mit dem invertierten Signal betrieben wird. Der dritte Multiplexer innerhalb des Kryptomultiplexers selektiert dann das Ergebnis der ersten beiden Multiplexer mit dem zu Beginn nicht verwendeten Signal (Sparkling-Steuersignal oder Sparkling-key). So lange die ersten beiden Multiplexer also nicht mit dem dritten in einer Schaltung verschmolzen werden, wie dies beispielsweise durch eine Synthese beim Schaltungsentwurf automatisch geschehen würde, agieren dieselben stromtechnisch unabhängig voneinander und die Schaltung ist DPA-sicher. In der Synthese läßt sich dies durch einfaches Gruppieren der Gatter sicherstellen oder es ist möglich eine entsprechende Spezialzelle der Zellbibliothek der Entwicklungsumgebung bzw. -bibliothek hinzuzufügen, die ein großes Flächenpotential in sich hat.
  • Wie es ferner beschrieben wurde, läßt sich für eine m-auf-n-S-Box ein Multiplexerbaum für jedes der n Ausgangsbits aufbauen. In diesem Baum wird jeweils das Ausgangsbit einer bestimmten Bitposition des Ausgangswertes für den Eingangsvektor selektiert. Das ergibt einen binären Baum. Die Startwerte der S-Box, d.h. die Werte v1-v8, an den Blättern des Baums selbst werden schon zu Beginn mit einem Sparkling-key (outkey1) verschlüsselt und werden so verschlüsselt durch den gesamten Baum gereicht. Dies erlaubt keine DPA der Ausgangsdaten der S-Box. Aus Last- und schaltungstechnischen Gründen, d.h. für ein balanciertes Design, sollten die Ansteuerungsleitungen, auf denen die Eingangsdaten zu der S-Box gelangen, für die verschiedenen Ausgangsbits eingangskapazitive umverteilt werden, damit an jedem Sektionsbit bzw. jedem Steuereingang in etwa die gleiche Last anhängt. Da bei der S-Box die Ausgangsdaten, d.h. v1-v8, fest sind, kann, wie Bezug nehmend auf 4 beschrieben, auf der Blattebene (Anfangsstufe) des Baums die Kryptomultiplexerstruktur verschmolzen werden. Hierbei lassen sich auch die Ausführungsbeispiele von 3 und 4 verbinden, wenn das Sparkling-key der Blattebene, d.h. key1, auch als Sparkling-key für das Ausgangsbit (outkey1) verwendet wird, d.h. outkey1=key1. Die erste Stufe kann deswegen zu einem Stück Leitung bzw. einem Inverter reduziert werden. Dies halbiert die Größe des Multiplexerbaums.
  • 50
    Kryptomultiplexerzelle
    52a-52b
    Dateneingänge
    54
    Steuereingang
    56
    Schlüsseleingang
    57
    Datenausgang
    58
    Elementarmultiplexer
    60
    Elementarmultiplexer
    62
    Elementarmultiplexer
    64
    XOR-Gatter
    100
    S-Box
    102a-102h
    Dateneingänge
    103
    Datenausgang
    104a-104c
    Steuereingänge
    106a-106c
    Schlüsseleingänge
    108
    Verschlüsselungsschlüsseleingang
    110
    Verschlüsselungseinrichtung
    112
    Multiplexerbaum
    114
    Anfangsstufe
    116
    zweite Stufe
    118
    Abschlußstufe
    114a-114d
    Kryptomultiplexerzellen
    116a,116b
    Kryptomultiplexerzellen
    118a
    Kryptomultiplexerzelle
    150
    Abbildungsvorschrift
    152a
    Inverter
    152b
    Inverter
    900
    64-Bit-Eingangsblock
    902
    Eingangspermutation
    904
    linke Hälfte des 64-Bit-Rundenergebnis
    906
    rechte Hälfte des 64-Bit-Rundenergebnis
    908
    Abbildung
    910
    Expansion
    912
    XOR-Verknüpfung
    914
    56-Bit-Hauptschlüssel
    916
    Rundenschlüsselerzeugung
    918
    S-Box-Abbildung
    920
    Permutation
    922
    XOR-Verknüpfung
    924
    Ausgangspermutation
    926
    64-Bit-Ausgangsblock

Claims (10)

  1. Multiplexerzelle mit einem ersten Dateneingang (52a), einem zweiten Dateneingang (52b), einem Datenausgang (57), einem Steuereingang (54) und einem Schlüsseleingang (56) zum Durchschalten eines ersten Datensignals an dem ersten Dateneingang (52a) oder eines zweiten Datensignals an dem zweiten Dateneingang (52b) an dem Datenausgang (57) abhängig von einem Steuersignal an dem Steuereingang (54), mit einem ersten, zweiten und dritten Elementarmultiplexer (58, 60, 62), von denen jeder zwei Dateneingänge, einen Datenausgang und einen Steuereingang aufweist, wobei die Dateneingänge des ersten Elementarmultiplexers (58) auf eine erste Weise mit den Dateneingängen (52a, 52b) der Multiplexerzelle und die Dateneingänge des zweiten Elementarmultiplexers (60) auf eine zweite, zu der ersten umgekehrten Weise mit den Dateneingängen (52a, 52b) der Multiplexerzelle verbunden sind, die Datenausgänge des ersten und des zweiten Elementarmultiplexers (58, 60) mit jeweils einem der Dateneingänge des dritten Elementarmultiplexers (62) verbunden sind, und der Schlüsseleingang (56) der Multiplexerzelle mit dem Steuereingang des dritten Elementarmultiplexers (62) oder den Steuereingängen des ersten und des zweiten Elementarmultiplexers (58, 60) verbunden ist, und einer Verschlüsselungseinrichtung (64) zur Verschlüsselung des Steuersignals an dem Steuereingang (54) der Multiplexerzelle mit einem Schlüssel an dem Schlüsseleingang (56), um ein verschlüsseltes Steuersignal zu erhalten, und zum Ausgeben des verschlüsselten Steuersignals an den Steuereingang des dritten Elementarmultiplexers (62), falls der Schlüsseleingang (56) der Multiplexerzelle mit den Steuereingängen des ersten und des zweiten Elementarmultiplexers (58, 60) verbunden ist, oder an die Steuereingänge des ersten und des zweiten Elementarmultiplexers (58, 60), falls der Schlüs seleingang (56) der Multiplexerzelle mit dem Steuereingang des dritten Elementarmultiplexers (62) verbunden ist.
  2. Multiplexerzelle gemäß Anspruch 1, die ferner eine Einrichtung zum intermittierenden Verändern des Schlüssels aufweist.
  3. Multiplexerzelle gemäß Anspruch 1 oder 2, bei der die Verschlüsselungseinrichtung (64) ein XOR- oder NXOR-Gatter ist, das einen ersten Eingang, einen zweiten Eingang und einen Ausgang aufweist, wobei der erste Eingang mit dem Steuereingang (54) der Multiplexerzelle verbunden ist, der zweite Eingang mit dem Schlüsseleingang (56) der Multiplexerzelle verbunden ist, und der Ausgang mit dem Multiplexer-Steuereingang bzw. den Multiplexer-Steuereingängen verbunden ist, an den bzw. die das verschlüsselte Steuersignal ausgegeben wird.
  4. Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen abgebildeten Ausgangswert gemäß einer Abbildungsvorschrift, durch eine Mehrzahl möglicher Eingangswerte einer Mehrzahl möglicher Ausgangswerte zuordbar ist, mit einem Multiplexerbaum (112), der aus aufeinanderfolgenden Stufen (114, 116, 118) aufgebaut ist, die zumindest eine Anfangsstufe (114) und eine Abschlußstufe (118) umfassen, wobei die Abschlußstufe einen und die anderen Stufen mehrere Multiplexer aufweisen, wobei jeder Multiplexer (114a-114d, 116a, 116b, 118a) einen ersten Dateneingang, einen zweiten Dateneingang, einen Steuereingang und einen Datenausgang aufweist, wobei für jede Stufe der Datenausgang der Multiplexer dieser Stufe mit einem unterschiedlichen der Dateneingänge der bzw. des Multiplexers der nachfolgenden Stufe des Multiplexerbaumes (112) verbunden ist, und wobei die Steuereingänge der bzw. des Multiplexers innerhalb jeder Stufe durch ein jeweiliges, für die Stufen unterschiedliches Steuersignal angesteuert werden, wobei die Steuersignale aller Stufen des Multiplexerbaumes (112) zusammen eine eindeutige Darstellung des abzubildenden Eingangswertes bilden, wobei an den Dateneingängen der Multiplexer (114a-114d) der Anfangsstufe (114) des Multiplexerbaumes (112) Datensignale anliegen, die jeweils einen der möglichen Ausgangswerte anzeigen, so daß am Datenausgang des Multiplexers der Ausgangsstufe (118) derjenige Ausgangswert ausgegeben wird, dem der durch die Steuersignale angezeigte abzubildende Eingangswert durch die Abbildungsvorschrift zugeordnet ist, wobei zumindest einer der Multiplexer des Multiplexerbaumes (112) durch eine Multiplexerzelle gemäß einem der Ansprüche 1 bis 3 gebildet ist.
  5. Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert gemäß einer Abbildungsvorschrift, durch die eine Mehrzahl möglicher Eingangswerte einer Mehrzahl möglicher Ausgangswerte zuordbar ist, mit einem Multiplexerbaum (112), der aus aufeinanderfolgenden Stufen (116, 118) aufgebaut ist, die zumindest eine Anfangsstufe (116) und eine Abschlußstufe (118) umfassen, wobei die Abschlußstufe einen und die anderen Stufen mehrere Multiplexer aufweisen, wobei jeder Multiplexer (116a, 116b, 118a) einen ersten Dateneingang, einen zweiten Dateneingang, einen Steuereingang und einen Datenausgang aufweist, wobei für jede Stufe der Datenausgang der Multiplexer dieser Stufe mit einem unterschiedlichen der Dateneingänge der bzw. des Multiplexers der nachfolgenden Stufe des Multiplexerbaumes (112) verbunden ist, und wobei die Steuereingänge der bzw, des Multiplexers innerhalb jeder Stufe durch ein jeweiliges, für die Stufen unterschiedliches Steuersignal angesteuert werden, wobei an den Dateneingängen der Multiplexer der Anfangsstufe (116') Datensignale anliegen, die jeweils aus einem Bitsignal, das ein Bit einer Bitdarstellung des abzubildenden Eingangswertes anzeigt, deren restliche Bits der Bitdarstellung durch die Steuersignale eindeutig angezeigt werden, einem zu dem Bitsignal inversen Bitsignal, einem Schlüsselbit und einem zu dem Schlüsselbit inversen Schlüsselbit, derart ausgewählt sind, daß für jeden möglichen Eingangswert am Datenausgang des Multiplexers (118a) der Abschlußstufe (118) ein Ausgangswert ausgegeben wird, der durch eine Verschlüsselung mit dem Schlüsselbit aus demjenigen möglichen Ausgangswert ableitbar ist, dem der abzubildende Eingangswert durch die Abbildungsvorschrift zugeordnet ist, wobei zumindest einer der Multiplexer des Multiplexerbaumes (112) durch eine Multiplexerzelle gemäß einem der Ansprüche 1 bis 3 gebildet ist.
  6. Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert gemäß einer Abbildungsvorschrift, durch die eine Mehrzahl möglicher Eingangswerte einer Mehrzahl möglicher Ausgangswerte zuordbar ist, wobei die Vorrichtung gemäß Anspruch 5 aufgebaut ist; die Vorrichtung zusätzlich eine Ausgangsverschlüsselungseinrichtung (110) aufweist, die ausgebildet ist, um jedes der Datensignale mit einem Verschlüsselungsschlüssel zu verschlüsseln, der für jedes Signal dasselbe ist, um verschlüsselte Datensignale zu erhalten; und bei der Vorrichtung an den Dateneingängen der Multiplexer der Anfangsstufe (114) anstelle der Datensignale die verschlüsselten Datensignale anliegen.
  7. Vorrichtung gemäß einem der Ansprüche 5 bis 6, bei der die Multiplexer zumindest einer Stufe alle aus den Multiplexerzellen nach einem der Ansprüche 1 bis 3 gebildet sind, und an den Schlüsseleingängen der Multiplexerzellen dieser Stufe ein und derselbe Schlüssel anliegt.
  8. Vorrichtung gemäß einem der Ansprüche 4 bis 7, wobei alle Multiplexer der Multiplexerbaumes aus Multiplexerzellen gemäß einem der Ansprüche 1 bis 3 gebildet sind, und an den Schlüsseleingängen der Multiplexerzellen jeder Stufe ein und das selbe, aber ein zu den übrigen Stufen unterschiedlicher Schlüssel anliegt.
  9. Vorrichtung gemäß einem der Ansprüche 4 bis 8, bei der der Verschlüsselungsschlüssel gleich dem Schlüssel einer Stufe ist.
  10. Verfahren zum Durchschalten eines ersten Datensignals an einem ersten Dateneingang (52a) oder eines zweiten Datensignals an einem zweiten Dateneingang (52b) an einem Datenausgang (57) abhängig von einem Steuersignal an einem Steuereingang (54), basierend auf einem ersten, zweiten und dritten Elementarmultiplexer (58, 60, 62), von denen jeder zwei Dateneingänge, einen Datenausgang und einen Steuereingang aufweist, wobei die Dateneingänge des ersten Elementarmultiplexers (58) auf eine erste Weise mit dem ersten und zweiten Dateneingang (52a, 52b) und die Dateneingänge des zweiten Elementarmultiplexers (60) auf eine zweite, zu der ersten umgekehrten Weise mit dem ersten und zweiten Dateneingang (52a, 52b) verbunden sind, die Datenausgänge des ersten und des zweiten Elementarmultiplexers (58, 60) mit jeweils einem der Dateneingänge des dritten Elementarmultiplexers (62) verbunden ist, und ein Schlüsseleingang (56) mit dem Steuereingang des dritten Elementarmultiplexers (62) oder den Steuereingängen des ersten und des zweiten Elementarmultiplexers (58, 60) verbunden ist, wobei das Verfahren folgende Schritte aufweist: Verschlüsseln des Steuersignals an dem Steuereingang (54) mit einem Schlüssel, das an dem Schlüsseleingang (56) anliegt, um ein verschlüsseltes Steuersignal zu erhalten, und Ausgeben des verschlüsselten Steuersignals an den Steuereingang des dritten Elementarmultiplexers (62), falls der Schlüsseleingang (56) mit den Steuereingängen des ersten und des zweiten Elementarmultiplexers (58, 60) verbunden ist, oder an die Steuereingänge des ersten und des zweiten Elemen tarmultiplexers (58, 60), falls der Schlüsseleingang (56) mit dem Steuereingang des dritten Elementarmultiplexers (62) verbunden ist.
DE2003124420 2003-05-28 2003-05-28 Kryptomultiplexerzelle Ceased DE10324420A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003124420 DE10324420A1 (de) 2003-05-28 2003-05-28 Kryptomultiplexerzelle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003124420 DE10324420A1 (de) 2003-05-28 2003-05-28 Kryptomultiplexerzelle

Publications (1)

Publication Number Publication Date
DE10324420A1 true DE10324420A1 (de) 2004-12-23

Family

ID=33482279

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003124420 Ceased DE10324420A1 (de) 2003-05-28 2003-05-28 Kryptomultiplexerzelle

Country Status (1)

Country Link
DE (1) DE10324420A1 (de)

Similar Documents

Publication Publication Date Title
DE602005002632T2 (de) Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
EP2605445B1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE102005012098B4 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE10201449C1 (de) Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
DE69932740T2 (de) Verfahren und vorrichtung zur kryptographischen datenverarbeitung
DE102004062825A1 (de) Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
DE10324422B4 (de) Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE60301750T2 (de) Vorrichtung zur Erzeugung eines erweiterten Schlüssels, Verschlüsselungsvorrichtung und Verschlüsselungssystem
DE60022974T2 (de) Vorrichtung zur Ausführung eines Blockverschlüsselungsalgorithmus mit Wiederholungsrunden
DE60022840T2 (de) Verfahren zum sichern einer oder mehrerer elektronischer baugruppen, unter zuhilfenahme eines privatschlüssel-krypto-algorithmus, sowie elektronische baugruppe
DE102004018874B4 (de) Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses
EP3369205B1 (de) Alternative darstellung des krypto-algorithmus des
DE69829566T2 (de) Verschlüsselungsgerät
DE10352401A1 (de) Verfahren zur Speicherung von Daten in einem Wahlzugriffspeicher und Verschlüsselungs- und Entschlüsselungsvorrichtung
DE10324420A1 (de) Kryptomultiplexerzelle
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
WO2014063875A1 (de) Vorrichtung und verfahren zur ausführung eines kryptographischen verfahrens
DE10201450B4 (de) Carry-Skip-Addierer für verschlüsselte Daten
DE102020129058B3 (de) Datenverarbeitungseinrichtung und verfahren zum kryptographischen verarbeiten von daten
DE10303723B4 (de) Vorrichtung und Verfahren zum Berechnen von verschlüsselten Daten aus unverschlüsselten Daten oder von unverschlüsselten Daten aus verschlüsselten Daten
EP1446711A2 (de) Schiebevorrichtung und verfahren zum verschieben
DE10149191C2 (de) Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation
DE10207966B4 (de) Vorrichtung und Verfahren zum Codieren eines Stroms von Informationseinheiten bzw. zum Decodieren von Codewörtern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection