-
Die vorliegende Erfindung betrifft ein Verfahren zur gesicherten verschlüsselten Berechnung mit geheimem oder privatem Schlüssel. Die vorliegende Erfindung betrifft ebenfalls einen Baustein, der ein solches gesichertes Verfahren umsetzt. Genauer zielt die Erfindung darauf ab, solche Bausteine gegen einen physischen Angriff zu schützen, dessen Absicht es ist, Informationen über den geheimen oder privaten Schlüssel anhand des Energieverbrauchs oder anhand der elektromagnetischen Strahlung des Bausteins zu erhalten, wenn dieser das Verschlüsselungsverfahren umsetzt.
-
Die von der Erfindung betroffenen Bausteine werden insbesondere für Anwendungen eingesetzt, bei denen der Zugang zu Dienstleistungen und/oder zu Daten strikt kontrolliert ist. Diese Bausteine weisen sehr häufig eine Bauform auf, die um einen Mikroprozessor und um einen Programmspeicher, der insbesondere den geheimen Schlüssel aufweist, herum gebildet ist.
-
Solche Bausteine werden beispielsweise in Chipkarten, insbesondere für Bankanwendungen, mittels eines Bedien- oder Fernterminals benutzt.
-
Solche Bausteine verwenden ein oder mehrere Verschlüsselungsverfahren mit geheimem oder privatem Schlüssel, um Ausgangsdaten anhand von Eingangsdaten zu berechnen. Ein solches Verfahren wird beispielsweise zum Verschlüsseln, Entschlüsseln, Unterschreiben einer Eingangsnachricht oder aber zum Überprüfen der Unterschrift der besagten Eingangsnachricht eingesetzt.
-
Um die Sicherheit der Transaktionen zu gewährleisten, sind die Verschlüsselungsverfahren mit geheimem oder privatem Schlüssel derart gestaltet, dass es nicht möglich ist, den verwendeten geheimen Schlüssel anhand der Kenntnis der Eingangsdaten und/oder der Ausgangsdaten des Algorithmus zu bestimmen. Allerdings beruht die Sicherheit eines Bausteins auf seiner Fähigkeit, den geheimen Schlüssel, den er verwendet, versteckt zu halten.
-
Ein häufig benutztes Verfahren ist das Verfahren der Art DES (für Data Encryption Standard). Es ermöglicht beispielsweise eine chiffrierte Nachricht MS (oder Ausgangsdaten), die auf 64 Bits codiert ist, anhand einer klaren Nachricht ME (oder Eingangsdaten), die ebenfalls auf 64 Bits codiert ist, und eines geheimen Schlüssels K0 von 56 Bits zu liefern.
-
Die Hauptschritte des Verfahrens DES sind in in Einzelheiten dargelegt. Nach einer Eingangspermutation IP wird der Block, der aus den permutierten Bits der Eingangsdaten gebildet ist, in einen linken Teil L0 und einen rechten Teil R0 unterteilt.
-
Danach werden 16 identische Arbeitsrunden durchgeführt. Während jeder Arbeitsrunde wird der rechte Teil (R0, ..., R15) von Zwischendaten, die während der vorherigen Arbeitsrunde berechnet wurden, mit einem von dem geheimen Schlüssel abgeleiteten Schlüssel (M1, ..., M16) vermischt. Die Vermischung findet im Verlauf einer als Umwandlung F bezeichneten Umwandlung statt. Das Ergebnis der Umwandlung F wird dann (durch einen exklusiven ODER-Operator) zu dem linken Teil (L0, ..., L15) der während der vorherigen Arbeitsrunde berechneten Zwischendaten addiert.
-
Nach der 16. Arbeitsrunde werden der linke Teil L16 und der rechte Teil R16 der 16. Zwischendaten zusammengestellt und eine Endpermutation IP–1, umgekehrt zu der Eingangspermutation IP, beendet das Verfahren.
-
Eine Arbeitsrunde des Rangs i zwischen 1 und 16 ist in näher dargestellt. Im Verlauf eines Berechnungsschrittes mit UND-Schlüssel werden die 56 Bits eines Zwischenschlüssels Ki–1, der während der vorherigen Runde berechnet wurde, verschoben (Operation Si), um einen neuen aktualisierten Zwischenschlüssel Ki zu liefern, dann werden 48 Bits von 56 durch einen Permutations-/Komprimierungsvorgang PC ausgewählt, um einen abgeleiteten Schlüssel Mi:Mi = PC(Ki) = PC(Si(Ki-1)) zu liefern.
-
Parallel dazu wird die Umwandlung F durchgeführt. Der rechte Teil Ri-1 von während der vorherigen Runde berechneten Zwischendaten wird durch eine Erweiterung (Operator E) auf 48 Bits ausgedehnt, mit dem abgeleiteten Schlüssel Mi durch eine Operation der Art exklusives ODER kombiniert, durch einen nicht linearen Substitutionsvorgang (dargestellt durch den Operator SBOX) durch 32 neue Bits ersetzt und dann noch einmal permutiert (einfache Permutation P).
-
Das Ergebnis der Umwandlung F wird dann durch ein exklusives ODER mit dem linken Teil Li-1 der während der vorherigen Runde berechneten Zwischendaten (Li-1, Ri-1) kombiniert. Die Kombination liefert den rechten Teil Ri von aktualisierten Zwischendaten. Der linke Teil Li der aktualisierten Zwischendaten ist selbst gleich Ri-1.
-
Die Operatoren F, P, E, PC, SBOX sind für alle Runden identisch. Dahingegen können die während der Berechnung der abgeleiteten Schlüssel K1 bis K16 eingesetzten Operatoren S1 bis S16 von einer Runde zur anderen abweichen.
-
Alle Eigenschaften der Operatoren IP, IP
–1, P, PC, E, SBOX, S, die während der Umsetzung eines Verfahrens DES eingesetzt werden, sind bekannt: durchgeführte Berechnungen, verwendete Parameter, etc. Diese Eigenschaften sind beispielsweise in detaillierter Weise in der Patentanmeldung
WO 00/46953 oder in der Norm „Data Encryption Standard, FIPS PUB 46”, veröffentlicht am 15. Januar 1977, beschrieben.
-
Die Sicherheit eines Bausteins, der ein Verschlüsselungsverfahren mit geheimem oder privatem Schlüssel verwendet, liegt in seiner Fähigkeit, den Schlüssel, den er einsetzt, geheim zu halten.
-
Um sicher zu sein, muss ein Baustein insbesondere in der Lage sein, den geheimen Schlüssel, den er verwendet, versteckt zu halten, wenn er einer Analyse der Art DPA (für Differential Power Analysis) unterzogen wird.
-
Eine DPA-Analyse besteht darin, eine statistische Analyse des Verbrauchs des Bausteins durchzuführen, d. h. der von dem Baustein in Abhängigkeit von der Zeit hinterlassenen Spur. Hierzu wird ein Muster von ungefähr 1000 Spurmessungen eingesetzt, wobei jede Spur verschiedenen und voneinander unabhängigen Eingangsdaten ME [i = 1 bis 1000] entspricht. Die statistische Studie erlaubt eine oder mehrere Hypothesen bezüglich des Wertes der Bits des benutzten geheimen Schlüssels zu validieren.
-
Ein konkretes Beispiel für die Umsetzung einer DPA-Analyse an einem Baustein, der ein Verschlüsselungsverfahren der Art DES verwendet, ist in der Offenlegungsschrift
WO 00/46953 detailliert dargelegt, und zwar insbesondere auf den Seiten 3, 4 dieser Offenlegungsschrift.
-
Das Verschlüsselungsverfahren der Art DES ist insbesondere anfällig für Angriffe der Art DPA am Ausgang der Operatoren SBOX. Allgemeiner ist ein Verschlüsselungsverfahren an jedem Punkt anfällig für eine Analyse der Art DPA, wo der geheime Schlüssel in Kombination entweder mit den Eingangsdaten oder mit den Ausgangsdaten auftaucht.
-
So ist ein Verfahren der Art DES in der Praxis am Ausgang aller Operatoren (exklusives ODER, P, E, PC, SBOX, etc.) aller Arbeitsrunden anfällig, denn der geheime Schlüssel ist von der ersten Runde an unter die Eingangsdaten gemischt.
-
Indem man beispielsweise die Eingangsdaten ME kennt und indem man Hypothesen über den geheimen Schlüssel K0 anstellt, kann man den Wert zumindest eines Bits der Zwischendaten (Li, Ri) vorhersagen, die am Ausgang der ersten Arbeitsrunde geliefert werden. Wenn die Vorhersage verifiziert wird, ist somit die über den geheimen Schlüssel aufgestellte Hypothese verifiziert.
-
Um sicher zu sein, muss ein Baustein ebenfalls in der Lage sein, den geheimen Schlüssel, den er verwendet, versteckt zu halten, wenn er einer Analyse der Art SPA (für Simple Power Analysis) unterzogen wird.
-
Eine SPA-Analyse besteht darin, den Baustein mehrere Male das Verschlüsselungsverfahren, das er verwendet, durchführen zu lassen, wobei ihm die gleichen Eingangsdaten ME zugeleitet werden, und bei jeder Durchführung des Verfahrens die von dieser Ausführung in Abhängigkeit von der Zeit hinterlassene Spur zu messen. Die Spur stellt beispielsweise den Energieverbrauch des Bausteins oder die zeitabhängig ausgestrahlte elektromagnetische Energie dar. Dann wird der Mittelwert aller Messungen genommen, um das Rauschen der Messung herauszufiltern und die tatsächliche Spur der Schaltung für festgelegte Eingangsdaten ME zu erhalten. Hinweisend kann eine Gesamtheit von 10 bis 100 identischer Messungen ausreichen, um das Rauschen der Messung herauszufiltern und die tatsächliche Spur des Bausteins für bestimmte Eingangsdaten ME zu erhalten.
-
Nach dem Filtern werden auf der tatsächlichen Spur des Bausteins deutlich die verschiedenen Schritte des Verfahrens DES ausgemacht: Eingangspermutation IP, 16 Arbeitsrunden, dann die Endpermutation IP–1.
-
Ein Verfahren der Art DES ist insbesondere an den Punkten anfällig für die Analysen der Art SPA, wo der geheime Schlüssel in seiner Anfangsform K0 oder in einer anderen Form (Zwischenschlüssel K1, ..., K16, abgeleitete Schlüssel M1, ... M16) auftaucht. In der Tat ist es durch eine Analyse der Art SPA möglich, für jede Arbeitsrunde i ein Bild des abgeleiteten Schlüssels Mi zu bestimmen. Beispielsweise ist es möglich, das Zeitintervall zu identifizieren, im Verlauf dessen die Übertragung des abgeleiteten Schlüssels Mi vor der Durchführung des exklusiven ODER-Arbeitsgangs stattfindet. Indem alle abgeleiteten Schlüssel M1 bis M16 anhand des geheimen Schlüssels K0 durch bekannte Arbeitsgänge erhalten werden, liefert die Kenntnis einfacher Bilder der abgeleiteten Schlüssel eine Information über den geheimen Schlüssel K0.
-
Allgemein sind alle Verschlüsselungsverfahren mehr oder weniger anfällig für Angriffe der Art DPA, insbesondere an den Stellen, wo ein vorhersagbares Zwischenergebnis auftaucht, welches eine Kombination der Eingangsdaten (oder von den Eingangsdaten abgeleiteter Daten) und des geheimen oder privaten Schlüssels (oder eines anhand des geheimen oder privaten Schlüssels erhaltenen Schlüssels) ist. Ein solches Zwischenergebnis ist in der Tat vorhersagbar anhand der Eingangsdaten und/oder der Ausgangsdaten und anhand von Hypothesen über den benutzen Schlüssel, denn die eingesetzten Verschlüsselungsverfahren sind bekannt (verwendete Operatoren, Reihenfolge der Benutzung dieser Operatoren, etc.). Ein DPA-Angriff erlaubt es somit, Informationen über den verwendeten Schlüssel zu erhalten, indem die gemachten Hypothesen bewertet werden.
-
In der Praxis sind alle Verfahren am Ausgang aller Operatoren aller ihrer Schritte (oder Unterschritte) anfällig, welche die Eingangsdaten (oder von den Eingangsdaten abgeleitete Daten) verwenden, sobald die Eingangsdaten ein erstes Mal mit dem geheimen Schlüssel vermischt worden sind. In gleicher Weise sind alle Verfahren ebenfalls am Ausgang aller Operatoren anfällig, welche ein von den Ausgangsdaten und dem geheimen oder privaten Schlüssel abhängiges Ergebnis liefern, und zwar sobald die Eingangsdaten ein erstes Mal mit dem geheimen oder privaten Schlüssel vermischt worden sind.
-
Die Schrift
WO 00/41356 beschreibt ein Verfahren der Gegenmaßnahme gegen einen solchen Angriff mit einem einzigen Maskierungsniveau der Eingangsdaten.
-
Ebenfalls sind alle Verschlüsselungsverfahren, welche geheime oder private Schlüssel verwenden, mehr oder weniger anfällig für die Analysen der Art SPA. Ihre Anfälligkeit ist insbesondere an den Stellen hoch, wo der Schlüssel allein in seiner Anfangsform oder in seiner abgeleiteten Form auftaucht. In der Praxis sind alle Verfahren anfällig am Ausgang eines so genannten kritischen Schrittes, im Verlauf dessen der geheime Schlüssel entweder direkt oder in abgeleiteter Form verwendet wird, welche durch ein bekanntes Berechnungsgesetz für den abgeleiteten Schlüssel erhalten wird. Ein solcher kritischer Schritt ist beispielsweise ein Schritt zur Berechnung eines Zwischenschlüssels oder abgeleiteten Schlüssels anhand des geheimen oder privaten Schlüssels oder aber anhand eines zuvor berechneten Zwischenschlüssels.
-
Ein Gegenstand der Erfindung ist es, ein Verfahren zur gesicherten verschlüsselten Berechnung mit geheimem oder privatem Schlüssel umzusetzen, welches gegen jeden physischen Angriff der Art DPA immun ist, d. h. ein Verfahren zur gesicherten verschlüsselten Berechnung, dessen Spur während der Durchführung des Verfahrens keinerlei Information über den Schlüssel, den es verwendet, hergibt, und zwar unabhängig davon, welche Eingangsdaten von dem Verfahren benutzt werden, unabhängig von der Anzahl von Benutzungen des Verfahrens und selbst dann, wenn eine statistische Studie der Spur durchgeführt wird.
-
Ein weiteres Ziel der Erfindung besteht darin, ein Verfahren zur gesicherten verschlüsselten Berechnung mit geheimem oder privatem Schlüssel umzusetzen, welches ebenfalls gegen jeden Angriff der Art SPA geschützt ist.
-
Im Hinblick auf diese Zielsetzungen betrifft die Erfindung ein Verfahren zur gesicherten verschlüsselten Berechnung mit N hintereinander durchgeführten Berechnungsrunden zum Erhalt von Ausgangsdaten anhand von Eingangsdaten und eines geheimen Schlüssels.
-
Erfindungsgemäß wird im Verlauf des Verfahrens:
- – eine erste Maskierungsstufe durchgeführt, um die Eingangsdaten derart zu maskieren, dass alle von einer Berechnungsrunde verwendeten oder erzeugten Zwischendaten maskiert werden, und
- – eine zweite Maskierungsstufe durchgeführt, um die innerhalb jeder Berechnungsrunde behandelten Daten zu maskieren.
-
Die Erfindung betrifft ebenfalls einen elektronischen Baustein mit Vorrichtungen, die dafür eingerichtet sind, ein Verfahren wie das hier oben beschriebene und hier unten näher erläuterte umzusetzen.
-
Das Wort „maskiert” (oder „vermischt”) soll hier und im Nachfolgenden im folgenden Sinn verstanden werden. In einem erfindungsgemäßen Verfahren werden Daten, ein Ergebnis, ein Operator als maskiert bezeichnet, wenn sie während zwei Durchführungen des Verfahrens, insbesondere während zwei Durchführungen des Verfahrens unter Verwendung derselben Eingangsdaten und desselben geheimen oder privaten Schlüssels, einen unterschiedlichen Wert aufweisen.
-
So sind mit der Erfindung Daten, die von einer Berechnungsrunde erzeugt wurden, maskiert, denn die Eingangsdaten werden vor der Berechnungsrunde maskiert (erste Maskierungsstufe). Von einer Berechnungsrunde erzeugte Daten unterscheiden sich somit bei jeder Durchführung des Verfahrens, selbst wenn die Eingangsdaten und der geheime Schlüssel, die verwendet werden, identisch sind.
-
Außerdem erlaubt die in einem erfindungsgemäßen Verfahren eingesetzte zweite Maskierungsstufe, alle innerhalb einer Berechnungsrunde behandelten Daten zu maskieren.
-
Die beiden in der Erfindung eingesetzten Maskierungsstufen ermöglichen somit, alle im Verlauf der Durchführung des Verfahrens außerhalb und innerhalb der Berechnungsrunden behandelten Daten zu maskieren.
-
Eine statistische Studie des Verbrauchs (oder der elektromagnetischen Strahlung) des Bausteins, der ein erfindungsgemäßes Verfahren benutzt, ist somit zum Scheitern verurteilt: die Studie erlaubt nicht, Informationen über den verwendeten geheimen Schlüssel zu erhalten, da der Verbrauch des Bausteins von dem Wert des verwendeten Schlüssels abgekoppelt ist.
-
Um die erste Maskierungsstufe durchzuführen, wird vorzugsweise durchgeführt:
- – ein erster Schritt zur Maskierung ET01 der Eingangsdaten, der vor einer ersten Berechnungsrunde durchgeführt wird,
- – ein erster Schritt zur Demaskierung ET10 des Ergebnisses aus der Nten Berechnungsrunde, um die Ausgangsdaten zu erzeugen.
-
Um die zweite Maskierungsstufe durchzuführen wird vorzugsweise in einer Berechnungsrunde mit Rang i des Verfahrens durchgeführt:
- – ein zweiter Schritt ET3 zur Maskierung eines Ergebnisses aus einem vorherigen Schritt ET2 der Berechnungsrunde mit dem Rang i,
- – ein Schritt ET6 zur Substitution des aus dem zweiten Schritt ET3 erhaltenen maskierten Ergebnisses mit Hilfe eines maskierten, nicht linearen Operators SBOX',
- – ein zweiter Schritt ET9 zur Demaskierung des Ergebnisses aus dem Schritt ET6.
-
Während des ersten Maskierungsschrittes ET01 wird ein erster Maskierungsparameter unter die Eingangsdaten ME gemischt, um der ersten Berechnungsrunde maskierte Eingangsdaten zu liefern, wobei die Vermischung durch Einsatz eines ersten linearen Mischoperators durchgeführt wird.
-
Für eine maximale Sicherung des Verfahrens wird der erste Maskierungsparameter vorzugsweise zufällig bei jeder Durchführung des Verfahrens während des Maskierungsschrittes ausgewählt. Der erste Maskierungsparameter kann ebenfalls nur zufällig alle M Durchführungen des Verfahrens ausgewählt werden. In diesem Fall wird der gleiche Maskierungsparameter für die M folgenden Durchführungen verwendet.
-
Der erste Maskierungsschritt erlaubt somit, durch Vermischung der Eingangsdaten mit einem zufälligen Parameter jegliche Korrelation zwischen den Eingangsdaten ME und anhand der Eingangsdaten ME erhaltenen und von einer Berechnungsrunde verwendeten oder erzeugten Zwischendaten aufzuheben.
-
Während der ersten Demaskierungsstufe wird am Ende des Verfahrens der von dem ersten Maskierungsparameter dem Ergebnis der Nten Berechnungsrunde hinzugefügte Beitrag von dem Ergebnis der Nten Berechnungsrunde abgezogen. Die Demaskierungsstufe erlaubt somit, am Ende des Verfahrens die erwarteten Ausgangsdaten wieder zu finden. Insbesondere wenn das Verfahren zweimal mit den gleichen Eingangsdaten und demselben geheimen Schlüssel durchgeführt wird, sind die erhaltenen Ausgangsdaten MS in den beiden Fällen dieselben. Die Zwischendaten sind dahingegen unterschiedlich.
-
Zur Durchführung der zweiten Maskierungsstufe umfasst das Verfahren ebenfalls vorzugsweise einen dritten Maskierungsschritt ET03, der vor der ersten Berechnungsrunde durchgeführt wird, um den nicht linearen Operator SBOX' zu liefern. SBOX verifiziert die folgende Beziehung für alle Daten A: SBOX'(A@X3) = SBOX(A) # X2, wobei
- X2
- ein zweiter Maskierungsparameter ist, und
- X3
- ein dritter Maskierungsparameter ist,
- SBOX
- ein bekannter nicht linearer Operator ist,
- „#”
- ein zweiter Mischoperator ist und
- „@”
- ein dritter Mischoperator ist.
-
Vorzugsweise wird zumindest einer der drei Maskierungsparameter zufällig bei jeder Durchführung des Verfahrens ausgewählt, um eine maximale Sicherheit zu erreichen.
-
Gemäß einer Variante kann einer der Maskierungsparameter zufällig bei allen M Durchführungen des Verfahrens gewählt werden.
-
Ebenfalls vorzugsweise sind die Mischoperatoren lineare Operatoren. Als Beispiel kann der exklusive ODER-Operator als einer der Mischoperatoren gewählt werden.
-
Wenn das erfindungsgemäße Verfahren einen Schritt zur Berechnung des abgeleiteten Schlüssels aufweist, um einen anhand des geheimen Schlüssels gemäß einem bekannten Schlüsselberechnungsgesetz abgeleiteten Schlüssel zu liefern, wird das Verfahren vorteilhafter Weise durch Hinzufügen eines vierten Maskierungsschrittes komplettiert, der vor dem Schritt zur Berechnung des abgeleiteten Schlüssels durchgeführt wird, um den geheimen Schlüssel derart zu maskieren, dass der berechnete abgeleitete Schlüssel bei jeder Durchführung des Verfahrens unterschiedlich ist.
-
So sind der (oder die) abgeleitete(n) Schlüssel und/oder der (oder die) Zwischenschlüssel alle durch Hinzufügen eines Zufallsparameters derart maskiert, dass eine Analyse des Verbrauchs des Bausteins, beispielsweise der Art SPA, keinerlei Information über den verwendeten geheimen Schlüssel liefern kann.
-
Gemäß einer Ausführungsform wird während des vierten Maskierungsschrittes ein zufällig ausgewählter Mischparameter mit Hilfe eines vierten Mischoperators mit dem geheimen Schlüssel vermischt, um einen maskierten geheimen Schlüssel zu liefern, wobei der maskierte abgeleitete Schlüssel anhand des maskierten geheimen Schlüssels berechnet wird.
-
Die Erfindung wird besser verstanden und weitere Eigenschaften und Vorteile werden deutlich werden bei der Lektüre der nachfolgenden Beschreibung eines Beispiels für die Durchführung eines erfindungsgemäß geschützten Verfahrens zur verschlüsselten Berechnung. Die Beschreibung ist unter Bezugnahme auf die beigefügten Zeichnungen zu lesen, in welchen:
-
, die bereits beschrieben wurde, ein Diagramm eines bekannten Verschlüsselungsverfahrens der Art DES ist, welches einen geheimen Schlüssel verwendet,
-
, die bereits beschrieben wurde, ein Diagramm ist, welches einen Schritt des Verfahrens der näher erläutert,
-
die , ein Diagramm des Verfahrens der sind, das erfindungemäß gesichert ist,
-
ein Diagramm einer Verbesserung des Verfahrens der , ist.
-
Die , zeigen, wie das Verfahren DES der , erfindungsgemäß gesichert wird.
-
Aus Gründen der Übersichtlichkeit und Vereinfachung sind nur die erste und i-te Arbeitsrunde in den , mit den charakteristischen Schritten der vorliegenden Erfindung dargestellt, wobei i eine ganze Zahl zwischen 1 und 16 ist.
-
Wie zuvor zu sehen war, berechnet ein Verfahren DES Ausgangsdaten MS anhand eines geheimen Schlüssels K0 und Eingangsdaten ME; das Verfahren DES umfasst 16 Berechnungsrunden, denen eine Eingangspermutation IP ( ) vorangeht und eine Ausgangspermutation IP–1 ( ) folgt, welche umgekehrt zu der Eingangspermutation ist. Jede Arbeitsrunde weist insbesondere ( ) einen Schritt zur Berechnung des abgeleiteten Schlüssels ET1, einen Umwandlungsschritt F' und einen Schritt der Kombination durch ein exklusives ODER ET8 auf.
-
Das Verfahren DES wird erfindungsgemäß gesichert durch Hinzufügen von zwei Maskierungsstufen. Die erste Maskierungsstufe wird durch einen Maskierungsschritt ET01 ( ) und einen Demaskierungsschritt ET10 ( ) durchgeführt. Die zweite Maskierungsstufe wird bei jeder Berechnungsrunde durch einen Maskierungsschritt ET3, einen Substitutionsschritt ET6 durch einen maskierten, nicht linearen Operator SBOX' und einen Demaskierungsschritt ET9 durchgeführt.
-
In dem Beispiel der , umfasst das Verfahren einen Initialisierungsschritt ET0, der sich in vier Unterschritte ET00 bis ET03 aufgliedert. Der Initialisierungsschritt hat zum Ziel, die erste Maskierungsstufe (Schritt ET01: Maskierung der Eingangsdaten) durchzuführen und die zweite Maskierungsstufe vorzubereiten (Berechnung des nicht linearen Operators SBOX'), welche dann bei jeder Berechnungsrunde durchgeführt wird.
-
Im Verlauf des Schrittes ET00 werden drei Maskierungsparameter X1, X2, X3 zufällig ausgewählt; sie werden beispielsweise bei jeder Durchführung des Verfahrens modifiziert. Sie können ebenfalls nur alle M Durchführungen modifiziert werden.
-
Im Verlauf des Schrittes ET01 werden der linke Teil und der rechte Teil der Eingangsdaten getrennt, dann durch den Parameter X1 maskiert, um so einen maskierten linken Teil L'0 = L0 & X1 und einen maskierten rechten Teil R'0 = R0 & X1 zu liefern. Die Maskierung wird mit Hilfe des ersten Maskierungsoperators „&” durchgeführt.
-
Der Operator „&” ist bezüglich den zwei Variablen, welche er mischt, linear gewählt. In einer Ausführungsform ist der Operator „&” ein exklusives ODER. Der Operator „&” kann ebenfalls jede Art linearer Operator sein. Allgemein weist der Operator „&” die folgenden Eigenschaften auf, unabhängig von den Daten A, B, C:
- • „&” weist die Kapazität zwei auf: er nimmt zwei Argumente als Parameter,
- • „&” überprüft: E(A & B) = E(A) & E(B), wobei E ein linearer Operator ist
- • „&” überprüft (A ⊕ B) & C = A ⊕ (B & C), wobei ⊕ der exklusive ODER-Operator ist,
- • es gibt einen Operator „&”, der umgekehrt zu „&” ist, wie (A & B) &–1 A = B, eventuell sind „&” und „&” identisch.
-
Im Verlauf des Schrittes ET02 werden die Variablen VX1 = E(X1), VX2 = P(X2) berechnet. Die Operatoren E, P sind jeweils eine Erweiterung und eine einfache Permutation, wie in dem bekannten Verfahren der Art DES definiert.
-
Im Verlauf des Schrittes ET03 wird ein neuer, nicht linearer Operator SBOX' durch die Beziehung berechnet: SBOX' = FCT(SBOX, X2, X3) wobei SBOX der in einem bekannten Verfahren DES verwendete nicht lineare Operator ist, X2, X3 Zufallsparameter sind und FCT eine Funktion ist wie: SBOX'[A@X3] = SBOX[A] # X2 für jedes A.
-
„@”, „#” sind lineare Mischoperatoren mit ähnlichen Eigenschaften wie der Operator „&”, „@”, „#” können voneinander verschieden sein, und sie können ebenfalls von dem Operator „&” verschieden sein.
-
Dann wird die erste Arbeitsrunde durchgeführt; sie teilt sich in neun Schritte ET1 bis ET9 auf.
-
Im Verlauf des Schrittes ET1 zur Berechnung des Schlüssels wird anhand des geheimen Schlüssels K0 ein abgeleiteter Schlüssel M1 berechnet. Der erste aktualisierte abgeleitete Schlüssel M1 ist durch die Beziehung gegeben: M1 = PC(S1(K0)) = PC(K1). K1 ist ein erster aktualisierter Zwischenschlüssel, der nachfolgend an die zweite Arbeitsrunde (in den , nicht dargestellt) geliefert wird. Die Operatoren PC, S1 sind jeweils eine Permutations-Komprimierung und eine Verschiebungsoperation von Bits, wie in dem Fall eines bekannten Verfahrens DES definiert. Der Schritt ET1 ist somit identisch mit einem Schlüsselberechnungsschritt, wie im Rahmen eines bekannten DES-Verfahrens definiert.
-
Die folgenden Schritte ET2 bis ET8 bilden einen Umwandlungsschritt F', welcher der Umwandlung F eines bekannten Verfahrens entspricht, modifiziert durch das erfindungsgemäße Hinzufügen der Schritte ET3, ET4 und den Ersatz des Operators SBOX durch den neuen Operator SBOX'.
-
Im Verlauf des Schrittes ET2 wird an den Daten R'0 eine Erweiterung durchgeführt.
-
Das Ergebnis E(R'0) dieser Operation wird dann mit dem Parameter X3 mittels des zweiten Maskierungsoperators „@” vermischt.
-
Der folgende Schritt ET4 ist ein erster Demaskierungsschritt, der darauf abzielt, in dem Ergebnis der vorherigen Operation den von dem Maskierungsparameter X1 diesem Ergebnis hinzugefügten Beitrag aufzuheben. Hierzu wird die folgende Operation durchgeführt: [E(R'0)@X3] &–1 VX1 = [E(R'0)@X3] &–1 E(X1)
= E(R0)&E(X1)@X3 &–1 E(X1)
= E(R0)@X3
-
Während des folgenden Schrittes ET5 wird das Ergebnis des vorherigen Schrittes ET4 durch ein exklusives ODER mit dem aktualisierten abgeleiteten Schlüssel M1 vermischt. Der Schritt ET5 liefert somit das Ergebnis: E(R0)@X3 ⊕ M1 = E(R0) ⊕ M2@X3.
-
Im Verlauf des Schrittes ET6 wird die nicht lineare Operation SBOX' an dem Ergebnis der vorherigen Operation durchgeführt. Der Schritt ET6 liefert das Ergebnis: SBOX'[E(R0) ⊕ M1@X3] = SBOX[E(R0) ⊕ M1] # X2.
-
Dies ergibt sich aus der Definition selbst des nicht linearen Operators SBOX'.
-
Eine Permutationsoperation P von Bits wird dann mit diesem Ergebnis durchgeführt (Schritt ET7). So erhält man: F'(R'0) = P[SBOX[E(R0) ⊕ M1] # X2]
= P[SBOX[E(R0) ⊕ M1]] # P(X2). Dieses letzte Ergebnis leitet sich einfach aus der Linearität des Operators P ab.
-
Im Verlauf des Schrittes ET8 wird das Ergebnis der Permutation P dann (mittels eines exklusiven ODER) den Daten L'0 hinzugefügt, welche im Verlauf des Schrittes ET01 berechnet worden sind. Der Schritt ET8 ist ähnlich dem entsprechenden Schritt eines bekannten DES-Verfahrens. Man erhält somit: P[SBOX[E(R0) ⊕ M1]] # P(X2) ⊕ L'0
= [P(SBOX[E(R0) ⊕ M1]) # P(X2)] ⊕ L0 & X1
= [P[SBOX[E(R0) ⊕ M1]] ⊕ L0] & X1 # P(X2)
= R1 & X1 # P(X2) wobei R1 der rechte Teil der ersten Zwischendaten (L1, R1) ist, wie im Rahmen des bekannten Verfahrens der Art DES definiert. Auch hier leiten sich alle oben aufgeführten Ungleichheiten aus der Linearität der Operatoren P, &, # her.
-
Der folgende Schritt ET9 ist ein zweiter Demaskierungsschritt, der darauf abzielt, in dem Ergebnis der vorherigen Operation den von dem Maskierungsparameter X2 diesem Ergebnis hinzugefügten Beitrag aufzuheben. Hierzu wird die folgende Operation durchgeführt: [R1 & X1 # P(X2)] & VX2 = [R1 & X1 # P(X2)] #–1 P(X2) = R1 & X1
-
Am Ende der ersten Runde sind die gelieferten aktualisierten Zwischendaten gleich (L'1, R'1), mit: L'1 = R'0 = R0 & X1 = L1 & X1, und R1 = R1 & X1.
-
So sind mit dem erfindungsgemäßen DES-Verfahren die während der ersten Arbeitsrunde berechneten Zwischendaten gleich den Zwischendaten (L'1, R'1), die von einem bekannten, nicht gesicherten Verfahren der Art DES geliefert werden, allerdings mit Hilfe des Operators „&” maskiert mit dem Zufallsparameter X1.
-
Die zweite Runde wird dann durchgeführt, indem die neuen aktualisierten Zwischendaten (L'1, R'1) sowie der während des Schrittes ET1 berechnete aktualisierte Zwischenschlüssel K1 verwendet werden.
-
Allgemein gliedert sich die erste Arbeitsrunde des Verfahrens in neun Schritte ET1 bis ET9 auf.
-
Im Verlauf des Schrittes ET1 wird ein abgeleiteter Schlüssel Mi anhand eines während der vorherigen Runde berechneten Zwischenschlüssels Ki-1 berechnet, um einen aktualisierten abgeleiteten Schlüssel Mi = PC(Si(Ki-1)) = PC(Ki) zu liefern. Ki ist ein i-ter aktualisierter Zwischenschlüssel, der nachfolgend an die folgende Arbeitsrunde (in den , nicht dargestellt) geliefert wird. Die Operatoren PC, Si sind jeweils eine Permutations-Komprimierung und eine Verschiebungsoperation von Bits, wie in dem Fall eines bekannten Verfahrens DES definiert.
-
Im Verlauf des Schrittes ET2 wird an den Daten R'i-1 die Erweiterung durchgeführt.
-
Das Ergebnis E(R'i-1) dieser Operation wird dann mit dem Parameter X3 mittels des zweiten Maskierungsoperators „@” vermischt.
-
Im Verlauf des Schrittes ET4 wird die folgende Operation durchgeführt: [E(R'i-1)@X3] &–1 VX1 = [E(R'i-1)@X3] &–1 E(X1)
= E(Ri-1) & E(X1)@X3 &–1 E(X1)
= E(Ri-1)@X3
-
Während des folgenden Schrittes ET5 wird das Ergebnis des Schrittes ET4 durch ein exklusives ODER mit dem aktualisierten abgeleiteten Schlüssel M1 vermischt. Der Schritt ET5 liefert somit das Ergebnis: E(Ri-1)@X3 ⊕ M1 = E(Ri-1) ⊕ Mi@X3.
-
Im Verlauf des Schrittes ET6 wird die nicht lineare Operation SBOX' an dem Ergebnis der vorherigen Operation durchgeführt. Der Schritt ET6 liefert das Ergebnis: SBOX'[E(R1) ⊕ Mi@X3] = SBOX[E(Ri-1) ⊕ Mi] # X2.
-
Dies ergibt sich aus der Definition selbst des nicht linearen Operators SBOX'.
-
Eine Permutationsoperation P von Bits wird dann mit diesem Ergebnis durchgeführt (Schritt ET7). So erhält man: P[SBOX[E(Ri-1) ⊕ Mi] # X2] = P[SBOX[E(Ri-1) ⊕ Mi]] # P(X2).
-
Im Verlauf des Schrittes ET8 wird das Ergebnis der Permutation P dann (mittels eines exklusiven ODER) den Daten L'i-1 hinzugefügt, welche im Verlauf der vorherigen Runde berechnet worden sind. Man erhält somit: P[SBOX[E(Ri-1) ⊕ Mi]] # P(X2) ⊕ L'i-1
= [P(SBOX[E(Ri-1) ⊕ Mi]) # P(X2)] ⊕ Li-1 & X1
= [P[SBOX[E(Ri-1) ⊕ Mi]] ⊕ Li-1] & X1 # P(X2)
= Ri & X1 # P(X2) wobei Ri der rechte Teil der i-ten aktualisierten Daten (Li, Ri) ist, wie im Rahmen des bekannten Verfahrens der Art DES definiert. Auch hier leiten sich alle oben aufgeführten Gleichheiten aus der Linearität der Operatoren P, &, # her.
-
Der folgende Schritt ET9 ist ein zweiter Demaskierungsschritt, der darauf abzielt, in dem Ergebnis der vorherigen Operation den von dem Maskierungsparameter X2 diesem Ergebnis hinzugefügten Beitrag aufzuheben. Hierzu wird die folgende Operation durchgeführt: [Ri-1 & X1 # P(X2)] #–1 VX2 = [Ri-1 & X1 # P(X2)] #–1 P(X2) = Ri-1 & X1
-
Am Ende der i-ten Runde sind die gelieferten aktualisierten Zwischendaten gleich (L'i, R'i), mit: L'i = R'i-1 = Ri-1 & X1 = Li & X1, und R'i = Ri & X1.
-
So sind mit dem erfindungsgemäßen DES-Verfahren die während der i-ten Arbeitsrunde berechneten Zwischendaten (L'i, R'i) gleich den Zwischendaten (Li, Ri), die von einem bekannten, nicht gesicherten Verfahren der Art DES während derselben Runde geliefert werden, allerdings mit Hilfe des Operators „&” maskiert mit dem Zufallsparameter X1.
-
Die neuen Zwischendaten (L'i, Ri) werden dann an die folgende Runde geliefert.
-
Die 16. Runde des Verfahrens liefert die 16. Zwischendaten (L'16, R'16). Im Verlauf eines dritten Enddemaskierungsschrittes ET10 wird der Beitrag des Parameters X1 zu den 16. Daten mit Hilfe des Operators &–1 aufgehoben: L16 = L'16 &–1 X1, R16 = R'16 &–1 X1.
-
Die nach dem Schritt ET10 durchgeführte Endpermutation IP–1 beendet das erfindungsgemäße DES-Verfahren. Die Permutation IP–1 ist identisch mit der äquivalenten Permutation eines bekannten Verfahrens der Art DES.
-
Mit dem erfindungsgemäßen Verfahren DES sind die erzeugten Ausgangsdaten dieselben wie diejenigen, die von einem bekannten Verfahren DES geliefert werden, zumal die Eingangsdaten ME und der geheime Schlüssel K0 identisch sind für das bekannte Verfahren und das erfindungsgemäße Verfahren.
-
Dahingegen ist bei dem erfindungsgemäßen Verfahren ( ) und entgegen dem bekannten Verfahren DES ( , ) festzustellen:
- – die Zwischendaten der Art (L'i, R'i) sind alle durch den Parameter X1 (erste Maskierungsstufe) maskiert; die Daten (L'i, R'i) werden von den Berechnungsrunden verwendet oder erzeugt.
- – die Zwischenergebnisse innerhalb einer selben Berechnungsrunde, die am Ausgang einer Operation der Art P, PC, E, Si, SBOX', ⊕, etc. erzeugt wurden, werden alle durch zumindest einen der Maskierungsparameter (X1, X2, X3) oder durch einen abgeleiteten Wert (E(X1), P(X2), etc.) maskiert; so ist die zweite Maskierungsstufe korrekt durchgeführt.
-
Da X1, X2 oder X3 zufällig bei jeder Durchführung des Verfahrens gewählt werden, ist der Wert aller Zwischenergebnisse und aller Zwischendaten bei jeder Durchführung des Verfahrens unterschiedlich und zwar unabhängig von dem Wert der Eingangsdaten (L0, R0) oder dem Wert des von dem Verfahren verwendeten geheimen Schlüssels K0. Insbesondere ist der Wert aller Zwischenergebnisse auch in dem Fall unterschiedlich, in dem das Verfahren zweimal mit denselben Eingangsdaten ME und demselben geheimen Schlüssel K0 durchgeführt wird.
-
Das Vorhandensein zumindest eines Zufallsparameters unterdrückt im Bereich eines Zwischenergebnisses oder von Zwischendaten jede Korrelation zwischen dem geheimen Schlüssel K0 und den Eingangsdaten ME. Eine statistische Analyse der Art DPA erlaubt somit nicht, Informationen über den geheimen Schlüssel zu erhalten, der von einem erfindungsgemäß gesicherten Verfahren eingesetzt wird.
-
Modifizierungen und/oder Verbesserungen des Verfahrens der , sind möglich, ohne den Rahmen der Erfindung zu verlassen.
-
Beispielsweise kann die Ausführungsreihenfolge bestimmter Schritte des Verfahrens modifiziert werden:
- – Die Schritte IP, ET01, Runde 1, ..., Runde i, ... Runde 16, ET10, IP–1 müssen in der in den , aufgezeigten Reihenfolge ausgeführt werden, wenn das gewünschte Verfahren ähnlich demjenigen der , sein soll.
- – Der Schritt ET00 muss vor dem Schritt ET01 durchgeführt werden. Der Schritt ET00 kann vor oder parallel zu dem Schritt IP ausgeführt werden.
- – Der Schritt ET02 wird zwischen dem Schritt ET00 und dem Schritt ET4 der ersten Arbeitsrunde durchgeführt; er kann vor oder parallel zu dem Schritt IP, dem Schritt ET01, den Schritten ET1 oder ET2 ausgeführt werden.
- – Der Schritt ET03 wird zwischen dem Schritt ET00 und dem Schritt ET6 der ersten Arbeitsrunde durchgeführt; er kann vor oder nach dem Schritt IP, eventuell parallel zu dem Schritt ET01, den Schritten ET1, ET2, ET3 oder ET4 durchgeführt werden. Aus Symmetriegründen wird der Schritt ET10 nach dem Schritt IP–1 durchgeführt, wenn der Schritt ET01 vor dem Schritt IP ausgeführt wird. Umgekehrt wird der Schritt ET10 vor dem Schritt IP–1 durchgeführt, wenn der Schritt ET01 nach dem Schritt IP durchgeführt wird.
- – In jeder Runde i muss der Schritt ET1 derart ausgeführt werden, dass der abgeleitete Schlüssel Mi, den er liefert, für die Ausführung des Schrittes ET5 verfügbar ist; der Schritt ET1 kann beispielsweise parallel zu den Schritten ET2, ET3 oder ET4 durchgeführt werden.
-
In dem hier oben im Zusammenhang mit den , beschriebenen Beispiel werden drei Zufallsparameter X1, X2, X3 verwendet. Diese Lösung ermöglicht, alle Zwischenergebnisse in der am wirksamsten möglichen Weise zu maskieren. In einem anderen Beispiel ist es möglich, nur zwei Parameter zu verwenden, nämlich die Parameter X1, X2. In diesem Fall ist der Schritt ET02 auf die Berechnung von P(X2) beschränkt, die Schritte ET3, ET4 aller Arbeitsrunden werden ausgelassen, und der Schritt ET03 wird modifiziert, um einen neuen nicht linearen Operator SBOX'' durch die Beziehung zu berechnen: SBOX'' = FCT''(SBOX, X1, X2), mit FCT'' einer Funktion wie SBOX''(A & E(X1)) = SBOX(A) # X2.
-
Auch hier sind alle Zwischenergebnisse durch einen Zufallsparameter maskiert, wobei dieser Zufallsparameter bei jeder Durchführung des Verfahrens modifiziert wird. Insbesondere in der Runde mit dem Rang i wird am Ausgang des Schrittes ET2 das Zwischenergebnis E(R'0) = E(R0) & E(Xi) durch den abgeleiteten Parameter E(X1) maskiert. In gleicher Weise wird am Ausgang des Schrittes ET5 das Zwischenergebnis E(R'0) ⊕ Mi durch den abgeleiteten Parameter E(X1) maskiert. Am Ausgang des Schrittes ET6 wird das Zwischenergebnis wie in dem vorherigen Beispiel durch den Parameter X2 maskiert.
-
Ebenso werden in dem hier oben in Bezug auf die 3a, beschriebenen Beispiel die drei Parameter X1, X2, X3 bei jeder Durchführung des Verfahrens zufällig gewählt. Allerdings ist es möglich, die Parameter X1, X2, X3 mehr oder weniger oft zu modifizieren. Beispielsweise ist es möglich, die Parameter, insbesondere X2 und/oder X3 bei jeder Durchführung einer Arbeitsrunde i zu modifizieren. In diesem Fall werden die Schritte ET02, ET03 bei jeder Runde durchgeführt, um die modifizierten Parameter X2, X3 zu berücksichtigen.
-
In dem gleichen Sinn ist es möglich, die Parameter X1, X2, X3 alle M Durchführungen des Verfahrens zu modifizieren, wenn man annimmt, dass M Durchführungen nicht ausreichend sind, um einen Angriff der Art DPA auszuführen. M ist eine ganze Zahl. In diesem Fall wird nur der Schritt ET01 im Verlauf des Schrittes ET0 durchgeführt. Die Schritte ET00, ET02, ET03 werden nur alle M Durchführungen des Verfahrens ausgeführt.
-
Eine weitere wichtige Verbesserung ermöglicht, das Verfahren ebenfalls gegen die Analysen der Art SPA zu sichern. Für diese Analysenart sind die Schritte zur Berechnung des abgeleiteten Schlüssels M besonders anfällig. Die Verbesserung besteht somit darin, die abgeleiteten Schlüssel zusätzlich zu den Zwischenergebnissen zu maskieren.
-
Das Verfahren der , wird somit verbessert durch Hinzufügen von (siehe ):
- – Unterschritten ET05, ET06 in dem Initialisierungsschritt ET0,
- – Schritten ET11, ET12 in jeder der 16 Arbeitsrunden des Verfahrens.
-
Aus Gründen der Übersichtlichkeit und der Vereinfachung ist nur die i-te Runde des Verfahrens in dargestellt worden, begleitet von den neuen Schritten ET05, ET06.
-
Im Verlauf des Schrittes ET05 wird ein vierter Parameter Y0 zufällig gewählt. Der Schritt ET05 wird beispielsweise gleichzeitig mit dem Schritt ET00 oder auch parallel zu dem einen der Schritte IP, ET01, ET02, ET03 durchgeführt.
-
Im Verlauf des nach dem Schritt ET05 durchgeführten Maskierungsschrittes ET06 wird der vierte Maskierungsparameter Y0 mit dem geheimen Schlüssel K0 vermischt, um einen maskierten geheimen Schlüssel K0 zu liefern. Die Vermischung findet durch die folgende Beziehung statt: K'0 = K0|0
-
Der Operator „|” ist bezüglich den zwei Variablen, welche er mischt, vorzugsweise linear gewählt. In einer Ausführungsform ist der Operator „|” ein exklusives ODER. Der Operator „|” kann ebenfalls jede Art linearer Operator sein. Allgemein weist der Operator „|” ähnliche Eigenschaften auf wie diejenigen der Operatoren „&”, „@” oder „#”.
-
Dann wird die erste Arbeitsrunde (nicht dargestellt in ) durchgeführt. Der Schritt ET1 zur Berechnung des Schlüssels wird hier nicht direkt anhand des geheimen Schlüssels K0 durchgeführt, sondern anhand des maskierten geheimen Schlüssels K'0. Der Schritt ET1 liefert einen maskierten abgeleiteten Schlüssel M'i gemäß der Beziehung: M'i = PC(S1(K'0)) = PC(S1(K0|Y))
= PC(S1(K0))|PC(S1(Y0)).
-
Der letzte Gleichheitsausdruck leitet sich einfach daraus her, dass die Operatoren PC, S1 und ”|” lineare Operatoren sind und somit insbesondere Eigenschaften der vertauschbaren oder assoziativen Art aufweisen.
-
Da PC(S1(K0)) = M1 ist, wird daraus schließlich abgeleitet, dass M'1 = M1|PC(S1(Y0) ist, wobei M1 der abgeleitete Schlüssel ist, der gemäß dem in Verbindung mit den , beschriebenen Verfahren berechnet wurde.
-
Der Schritt ET11 zur Berechnung der Differenz wird beispielsweise vor, parallel zu oder nach dem Schritt ET1 zur Berechnung des Schlüssels ausgeführt. Der Schritt ET11 bestimmt den durch den Parameter Y0 dem maskierten abgeleiteten Schlüssel M'1 hinzugefügten Beitrag C1.
-
Der Schritt ET11 ist ähnlich dem Schritt ET1; der Schritt ET11 umfasst somit eine Operation S1, um einen durch Verschiebung der Bits von Y0 aktualisierten Maskierungsparameter Y1 = S1(Y0) zu liefern, und eine Operation PC zur Berechnung des Beitrags C1. Der Beitrag C1 wird so gemäß der Beziehung berechnet: C1 = PC(S1(Y0)). Davon wird schließlich M'1 = M1|C1 abgeleitet. Der aktualisierte Maskierungsparameter Y1 wird selbst an die folgende Arbeitsrunde geliefert.
-
Der Demaskierungsschritt ET12 ist ein Unterschritt der Umwandlung F'' (welche der Umwandlung F' des Verfahrens DES gemäß den , entspricht, modifiziert durch das Hinzufügen des Schrittes ET12); in dem Beispiel der wird der Schritt ET12 zwischen dem Schritt ET5 und dem Schritt ET6 durchgeführt. Der Schritt ET12 zielt darauf ab, den von dem aktualisierten Maskierungsparameter Y1 hinzugefügten Beitrag C1 zu entfernen. Hierzu wird der Operator „|–1”, der umgekehrt zu dem Operator „|” ist, eingesetzt. Am Ausgang des Schrittes ET12 hat man: (E(R0)@X3 ⊕ M'1|–1C1
= E(R0)@X3 ⊕ M'1|C1|–1C1 = E(R0)@X3 ⊕ M1
-
So ist die Variable, die nach der Unterdrückung des Beitrags C1 am Eingang des Operators der Art SBOX' erscheint (Schritt ET6) gleich E(R0)@X3 ⊕ M1, d. h. sie ist identisch mit der Variablen, welche am Eingang des Operators SBOX' des in Verbindung mit den , beschriebenen Verfahrens erscheint.
-
Folglich sind die Ausgangsdaten, die am Ausgang der Umwandlung F'' erscheinen, identisch mit denjenigen, die am Ausgang der Umwandlung F' des Verfahrens der , erscheinen.
-
Allgemeiner liefert der Schritt ET1 während der i-ten Arbeitsrunde einen maskierten abgeleiteten Schlüssel M'i gemäß der Beziehung: M'i = PC(S1(K'i-1)) = PC(Si(Ki-1|Yi-1))
= PC(Si(Ki-1))|PC(Si(Yi-1))
= M'i = Mi|PC(Si(Yi-1),
-
Wobei Mi der abgeleitete Schlüssel ist, der gemäß dem in Verbindung mit den , beschriebenen Verfahren berechnet wurde.
-
Erinnern wir uns, dass die Operatoren PC für alle Runden des Verfahrens identisch sind (gleiche Eigenschaften, gleiche Parameter, etc.). Dahingegen unterscheiden sich die Operationen Si zur Verschiebung von Bits von einer Arbeitsrunde zur anderen.
-
Der Schritt ET11 bestimmt den Beitrag Ci, der dem maskierten abgeleiteten Schlüssel M'i durch den Parameter Yi-1 (oder allgemeiner Y0) hinzugefügt wird. Der Schritt ET11 liefert einen aktualisierten Maskierungsparameter Yi = Si(Yi-1) und einen gemäß der Beziehung Ci = PC(Si(Yi-1)) aktualisierten Beitrag C. Davon wird schließlich M'i = Mi|Ci abgeleitet. Der aktualisierte Maskierungsparameter Yi wird selbst an die folgende Arbeitsrunde geliefert.
-
Der Schritt ET12 wird zwischen dem Schritt ET5 und dem Schritt ET6 durchgeführt. Am Ausgang des Schrittes ET12 hat man: (E(Ri-1)@X3 ⊕ M'i|–1Ci
= E(Ri-1)@X3 ⊕ Mi|Ci|–1 Ci = E(Ri-1)@X3 ⊕ Mi
-
So ist die Variable, die nach der Unterdrückung des Beitrags Ci am Eingang des Operators der Art SBOX' erscheint (Schritt ET6) gleich PE(R1)@X3 ⊕ Mi, d. h. sie ist identisch mit der Variablen, welche am Eingang des Operators SBOX' des in Verbindung mit den , beschriebenen Verfahrens erscheint. Folglich sind die Ausgangsdaten, die am Ausgang der Umwandlung F'' erscheinen, identisch mit denjenigen, die am Ausgang der Umwandlung F' des Verfahrens der , erscheinen.
-
Schließlich sind mit dem Verfahren der alle Zwischenergebnisse durch zumindest einen der Parameter X1, X2, X3 (oder eine abgeleitete Form dieser Parameter) maskiert. Außerdem sind alle Zwischenschlüssel K'i, und alle abgeleiteten Schlüssel M'i ebenfalls durch den Parameter Y0 oder eine abgeleitete Form von Y0 maskiert.