DE10149191C2 - Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation - Google Patents
Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen OperationInfo
- Publication number
- DE10149191C2 DE10149191C2 DE10149191A DE10149191A DE10149191C2 DE 10149191 C2 DE10149191 C2 DE 10149191C2 DE 10149191 A DE10149191 A DE 10149191A DE 10149191 A DE10149191 A DE 10149191A DE 10149191 C2 DE10149191 C2 DE 10149191C2
- Authority
- DE
- Germany
- Prior art keywords
- changed
- cryptographic operation
- original
- key
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
Die vorliegende Erfindung bezieht sich auf die Kryptographie
und insbesondere auf ein sicheres Konzept zum Ermitteln von
Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Ba
sis einer kryptographischen Operation.
Fig. 6 zeigt ein Übersichtsdiagramm für den AES-
Kryptoalgorithmus, der auch als Rijndael-Algorithmus bezeich
net wird. Der Rijndael-Algorithmus ist in dem Dokument "The
Rjindael Block Cipher: AES Proposal" von Joan Daemen und Vin
cent Rijmen, Document Version 2, 9. März 1999, beschrieben.
Der AES-Algorithmus ist ein iterativer Algorithmus, bei dem
eine vorgegebene Anzahl von Runden (rounds) berechnet wird.
Nachfolgend wird anhand von Fig. 6 eine Runde des AES-
Algorithmus dargestellt. Startpunkt einer Runde ist ein Block
von z. B. 16 Bytes, wobei jedes Byte 8 Bit umfaßt, also ein
Block von 8 × 16 Bits. Diese sind in Fig. 6 bei 600 als ver
tikale Linien dargestellt. Der AES-Algorithmus oder Rijndael-
Algorithmus ist ein sogenannter Block-Cipher-Algorithmus, bei
dem bei dem in Fig. 6 gezeigten Beispiel ein Block von 16 × 8
Bits an Eingangsdaten gemeinsam verschlüsselt werden.
Der erste Schritt einer Runde wird als "Add Round Key" (Hin
zufügen des Schlüssels für eine Runde) bezeichnet. Diese
Funktion wird durch die bei 620 dargestellten Kreise symboli
siert. Der AES-Rundenschlüssel, der üblicherweise von einem
AES-Schlüssel abgeleitet wird und als Expanded Key bezeichnet
wird, umfaßt ebenfalls 16 × 8 Bit. In der Stufe Add Round Key
wird eine bitweise XOR-Verschlüsselung mit dem AES-
Rundenschlüssel und den 16 × 8 Bit an Eingangsdaten durchge
führt, wie es bei 630 dargestellt ist.
Die nächste Verarbeitungsstufe einer Runde des AES-
Algorithmus besteht in einer Byte-Substitution, die in Fig. 6
als Byte-Sub bezeichnet wird. Die Byte-Substitution besteht
in einer mathematischen Funktion, die beim AES-Algorithmus
eine multiplikative Inverse mit affiner Abbildung umfaßt.
Diese mathematische Funktion wird durch eine Nachschlagtabel
le implementiert, welche üblicherweise als S-Box bezeichnet
wird und in Fig. 6 durch Würfel 640 symbolisch dargestellt
ist. Die Ausgangsdaten der Stufe 620 werden als Adresse für
die S-Box, d. h. die Byte-Substitutions-Nachschlagtabelle,
verwendet, um als Ausgangsdaten für jedes Byte ein Substitu
tionsbyte auszugeben, das die multiplikative Inverse mit af
finer Abbildung der Eingangsadresse ist. Die S-Box enthält
keine geheimen Informationen, sondern kann im voraus berech
net werden oder von einer öffentlich zugänglichen Stelle ab
gerufen werden.
Die Ausgangsdaten der Byte-Substitution 640 werden dann einer
Zeilenverschiebungsoperation 650 unterzogen, die in Fig. 6
als "Shift Row" bezeichnet wird. Die Ausgangsdaten der Stufe
650 werden dann einer Spaltenvermischung unterzogen, die in
Fig. 6 durch längliche Quader symbolisch dargestellt ist und
in der Technik als "Mix Column" bezeichnet wird. Die Opera
tionen 620, 640, 650 und 660 bilden eine von typischerweise
zehn Runden des AES-Algorithmus, wobei eine Runde in der
Technik auch als Round bezeichnet wird. Die Ausgangsdaten der
Mix-Column-Operation, d. h. einer Runde oder Round, werden
dann wieder einer Add-Round-Key-Operation 620' unterzogen,
wobei wieder eine bitweise XOR-Verknüpfung der Daten mit ei
nem Schlüssel 630' für die nächste Runde durchgeführt wird
etc. Nach einer vorgegebenen Anzahl von Runden, welche bei
einer Blockgröße von 16 Bytes 10 beträgt, liegen dann die
AES-verschlüsselten Daten vor.
Es existiert eine Vielzahl von Angriffsszenarien auf krypto
graphische Algorithmen und insbesondere auf den Kryptostan
dard AES, wobei der AES-Algorithmus ein Beispiel für eine
symmetrische kryptographische Funktion ist, im Gegensatz zu
asymmetrischen kryptographischen Funktionen, wie z. B. dem
bekannten RSA-Algorithmus. Von den Angriffsszenarien sind
insbesondere die sogenannten Side-Channel-Attacks, wie z. B.
DPA, DEMA oder Timing, zu erwähnen. Bei einer DPA-Attacke
(DPA = Differential Power Analysis = differentielle Lei
stungsanalyse) wird z. B. ein bekannter Klartext in den Algo
rithmus eingespeist. Das Stromaufnahmeprofil der Verschlüsse
lungsschaltung über der Zeit wird bei der Ausführung des
kryptographischen Algorithmus beobachtet. In einem weiteren
Schritt werden viele verschiedene Klartexte in den krypto
graphischen Algorithmus eingespeist, um die Datenabhängigkeit
der Stromaufnahme der den kryptographischen Algorithmus aus
führenden Schaltung zu erkennen. Unter Verwendung von stati
stischen Methoden werden die Stromaufnahmen für verschiedene
Klartexte mit den verschiedenen Klartexten in Beziehung ge
setzt, um Schlüsselinformationen über den Algorithmus zu ex
trahieren.
Um die Abhängigkeit der Stromaufnahme der den kryptographi
schen Algorithmus ausführenden Schaltung von den Klartextda
ten zu verschleiern, existiert beispielsweise die Möglich
keit, parallel zu der Schaltung, die den kryptographischen
Algorithmus ausführt, eine andere Operation auszuführen, wel
che beispielsweise eine Dummy-Operation ist, deren Eingangs-
und Ausgangsdaten keine Signifikanz haben, die jedoch dazu
verwendet wird, um die Stromaufnahme der die kryptographische
Operation ausführenden Schaltung zu randomisieren.
Um einen DPA-Angriff auf eine solche Schaltung zu fahren,
wird üblicherweise ein Klartext nicht nur einmal verschlüs
selt und die Stromaufnahme betrachtet. Statt dessen wird zu
sätzlich der gleiche Klartext viele Male verschlüsselt. Par
allel dazu wird bei jeder Verschlüsselungsoperation des sel
ben Klartexts die Stromaufnahme der Kryptoschaltung gemessen,
woraufhin dann eine Mittelung durchgeführt wird. Bei dieser
Mittelung wird die Stromaufnahme der Dummy-Operation, welche
zufällig ist, ausgemittelt, während die Stromaufnahme der
Kryptoschaltung nicht zufällig ist, sondern durch die Mitte
lung sichtbar wird. Wenn die Stromaufnahme der Kryptoschal
tung als Signal bezeichnet wird, während die Stromaufnahme
der Dummy-Operation als Rauschen bezeichnet wird, führt die
Mittelung dazu, daß das Signal/Rauschverhältnis für den An
greifer deutlich verbessert wird.
Weitere Möglichkeiten zum Schutz des AES-Algorithmus bzw.
insbesondere zum Schutz von kryptographischen Operationen be
stehen dadurch, daß mittels eines Hardware-Moduls ein zeitli
ches Jitter, beispielsweise in Form von sogenannten Random-
Wait-States, oder eine Verschleierung des Stromprofils, bei
spielsweise durch die Implementierung einer Curse-Funktion,
realisiert werden.
Nachteilig an diesen Verfahren ist die Tatsache, daß zusätz
liche Hardware-Elemente benötigt werden, die die insbesondere
bei Chipkarten oder Smart Cards oder Sicherheits-ICs sehr
knappen Chipflächenressourcen belasten. Darüber hinaus bieten
diese Maßnehmen gegenüber DPA-Angriffen mit Mittelung unter
Umständen keinen Schutz.
Die Fachveröffentlichung "Securing the AES Finalists Against
Power Analysis Attacks" von Thomas S. Messerges, FSE 2000,
LNCS 1978, Seiten 150 bis 164, 2001, Springer-Verlag Berlin
Heidelberg 2001, offenbart Sicherheitsmaßnahmen, die für den
AES-Algorithmus eingesetzt werden können. Für Tabellennach
schlagoperationen wird vorgeschlagen, sowohl die Eingangsda
ten in die Nachschlagstabelle als auch die Ausgangsdaten aus
der Nachschlagtabelle mit einem Schlüssel zu verschlüsseln,
um eine verschlüsselte Nachschlagtabelle zu erzeugen, die
dann für nachfolgende Verschlüsselungsoperationen verwendet
werden kann. Als Verschlüsselungsoperation wird die XOR-
Funktion vorgeschlagen.
Nachteilig an dem beschriebenen Verfahren ist, daß sowohl die
Eingangsdaten in die Nachschlagtabelle als auch die Ausgangs
daten aus der Nachschlagtabelle sowohl beim Erzeugen der si
cheren S-Box als auch beim tatsächlichen Verschlüsseln bear
beitet werden müssen. Oftmals wird jedoch nicht die volle Si
cherheit gebraucht, bzw. kann aus Gründen der begrenzten zur
Verfügung stehenden Prozessorleistung des Kryptoprozessors
diese komplette Hin- und Rückverschlüsselung der Eingangs
adressen in die Nachschlagtabelle und der Ausgangsdaten aus
der Nachschlagtabelle nicht durchgeführt werden. In einem
solchen Fall muß daher komplett auf eine Verschlüsselung ver
zichtet werden, was darin resultiert, daß überhaupt kein
Schutz gegen die beschriebenen Angriffe implementiert werden
kann.
Die Fachveröffentlichung "An Implementation of DES and AES, Secure against Some
Attacks", M.-L. Akkar und C. Giraut, in: "Lecture Notes in Computer Science", Bd. 2162,
Berlin, Springer, 20. Sept. 2001, Seiten 309-318, (Dokument D1), offenbart anhand des
DES-Algorithmus zunächst die zu verarbeitenden Nachrichten mittels eines 64-Bit-Werts
zu maskieren, und zwar vor der anfänglichen Permutation IP. Daher wird die anfängliche
Permutation mit bereits verschlüsselten Daten durchgeführt. Die dann verschlüsselten
Daten werden einer normalen Permutation auf die rechte Hälfte der Daten unterzogen
und dann einer Erweiterungspermutation, in der der Schlüssel berücksichtigt wird. Die der
Erweiterungspermutation unterzogenen Daten werden dann einer XOR-Verknüpfung mit
einem Teil des ursprünglichen Schlüssels unterzogen. Die dann erhaltenen Daten werden
einer SM-Box zugeführt, die im Hinblick auf eine normale S-Box verändert ist, und zwar
durch eine invertierte Permutation sowie unter Verwendung zweier Schlüssel, die von
dem ursprünglichen Schlüssel, mit dem die Nachricht vor der anfänglichen Permutation
verschlüsselt worden ist, abhängen. Mit den Ausgangsdaten aus der SM-Box wird eine
Permutation durchgeführt, die invers zu der Permutation ist, die zur Berechnung der
modifizierten SM-Box eingesetzt worden ist.
Die EP 0 981 223 A2 offenbart eine Verschlüsselungs-/Entschlüsselungs-Vorrichtung, bei
der eine Maske und eine invertierte Maske für jede Rundenfunktion in einem
Datenscrambler erzeugt werden. Jedes Mal, wenn eine Verschlüsselung durchgeführt
wird, wird eine Maske des Paars ausgewählt. Ferner wird eine Exklusiv-ODER-
Verknüpfung einer Eingabe in eine S-Box und der ausgewählten Maske berechnet.
Zusätzlich wird eine Exklusiv-ODER-Verknüpfung der Ausgabe von der S-Box und den
Bits der inversen Permutation P-1 der Maske berechnet. Diese Exklusiv-ODER-
Verknüpfungen werden im voraus berechnet und als Tabelle in der S-Box gespeichert.
Diese im voraus berechneten Exklusiv-ODER-Berechnungen werden nicht in die
eigentliche S-Box "eingearbeitet", sondern als Zusatzelement verwendet.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein si
chereres Konzept zum Ermitteln von Ursprungsausgangsdaten aus
Ursprungseingangsdaten auf der Basis einer kryptographischen
Operation zu schaffen.
Diese Aufgabe wird durch ein Verfahren gemäß Patentanspruch 1
oder 14 oder durch eine Vorrichtung gemäß Patentanspruch 13
oder 17 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß
ein sicherer und effizienter Schutz gegen DPA-Attacken mit
oder ohne Mittelung dadurch erreicht werden kann, daß nicht
parallel zur kryptographischen Operation Verschleierungsmaß
nahmen ausgeführt werden, sondern daß auf die kryptographi
sche Operation selbst eingewirkt wird. Erfindungsgemäß wird
die kryptographische Operation mittels einer Vorwärtsände
rungsvorschrift geändert, um eine geänderte kryptographische
Operation zu erhalten. Um jedoch keine falschen Algorithmus
daten aufgrund der geänderten kryptographischen Operation zu
erzeugen, wird ferner auf die Verschlüsselungseingangsdaten
und/oder auf die Ausgangsdaten der geänderten kryptographi
schen Operation gemäß einer Rückwärtsänderungsvorschrift ein
gewirkt, damit aus Ursprungseingangsdaten auch Ursprungsaus
gangsdaten erzeugt werden.
Bei einem ersten Ausführungsbeispiel der vorliegenden Erfin
dung wird die kryptographische Operation mittels der Vor
wärtsänderungsvorschrift geändert. Um solche Ursprungsaus
gangsdaten zu erhalten, die die unveränderte kryptographische
Operation aus den Ursprungseingangsdaten liefern würde, wer
den die Ursprungseingangsdaten derart geändert, daß die geän
derten Ursprungseingangsdaten zusammen mit der geänderten
kryptographischen Operation die Ursprungsausgangsdaten lie
fern.
Bei einem weiteren Ausführungsbeispiel der vorliegenden Er
findung werden die Ursprungseingangsdaten direkt in die geän
derte kryptographische Operation eingespeist. Die Ausgangsda
ten der geänderten kryptographischen Operation werden dann
mittels einer Rückwärtsänderungsvorschrift verändert, um aus
den Ausgangsdaten der geänderten kryptographischen Operation
die Ursprungsausgangsdaten zu erhalten.
Bevorzugterweise umfaßt die kryptographische Operation die
Byte-Substitution, die mittels einer überall erhältlichen S-
Box durchgeführt werden kann. Auf die ursprüngliche S-Box-
Nachschlagtabelle wird gemäß der Vorwärtsänderungsvorschrift
eingewirkt, um eine geänderte S-Box zu erhalten. Die Vor
wärtsänderungsvorschrift kann entweder in einer Eingangs
adressenverwürfelung der S-Box oder in einer Ausgangsdaten
verwürfelung der S-Box bestehen.
Je nach Vorwärtsänderungsvorschrift, d. h. ob nur die Ein
gangsadressen oder nur die Ausgangsdaten verwürfelt sind,
werden die Eingangsadressen in die geänderte S-Box vor dem
Zugriff auf die S-Box ebenfalls verwürfelt bzw. werden die
Ausgangsdaten aus der geänderten S-Box verwürfelt, um die Än
derung der kryptographischen Operation wieder rückgängig zu
machen.
Im Gegensatz zum Stand der Technik, bei dem zur Stromprofil
verschleierung parallel zur eigentlichen kryptographischen
Operation Dummy-Operationen etc. ausgeführt werden, wird er
findungsgemäß direkt auf die kryptographische Operation ein
gewirkt. Ein Angreifer, der seinen Angriffen eine bekannte S-
Box, d. h. eine bekannte kryptographische Operation, zugrun
delegt, wird nicht zum Ziel gelangen, da die kryptographische
Operation nicht ausgeführt wird, sondern eine gemäß der Vor
wärtsänderungsvorschrift geänderte kryptographische Operati
on. Damit wird ein Angriff auf den Kryptoalgorithmus er
schwert, da der Angreifer zunächst erkennen muß, ob überhaupt
eine Änderung der kryptographischen Operation stattfindet,
und darüber hinaus, welche Vorwärtsänderungsvorschrift ausge
führt wird.
Es sei darauf hingewiesen, daß anhand des Zusammenhangs zwi
schen Ursprungseingangsdaten und Ursprungsausgangsdaten nicht
zu erkennen ist, ob eine geänderte kryptographische Operation
oder die - von einem Angreifer erwartete - unveränderte kryp
tographische Operation ausgeführt wird, da die Vorwärtsände
rungsvorschrift und die mit derselben korrespondierende Rück
wärtsänderungsvorschrift unter mathematischen Gesichtspunkten
nach "außen" nicht sichtbar sind, d. h., da das erfindungsge
mäße Verfahren zum Ermitteln von Ursprungsausgangsdaten aus
Ursprungseingangsdaten auf der Basis einer kryptographischen
Operation nach außen hin völlig transparent ist.
Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung wird hin und wieder oder sogar bei jeder Ausführung
des Verfahrens die Vorwärtsänderungsvorschrift verändert und
insbesondere abhängig von einer Zufallszahl verändert, so
daß, selbst wenn ein Angreifer erkannt hat, daß eine geänder
te kryptographische Operation ausgeführt wird, ein DPA-
Angriff mit Mittelung nicht mehr ausführbar ist, da die Vor
wärtsänderungsvorschrift entweder jedesmal geändert wird oder
je nach Bedarf bei jeder fünften, zehnten etc. Ausführung des
erfindungsgemäßen Verfahrens.
Insbesondere durch die Randomisierung der Vorwärtsänderungs
vorschrift und der entsprechenden Rückwärtsänderungsvor
schrift, die, wenn ein sehr hoher Schutzstandard erwünscht
ist, besonders häufig und sogar bei jeder einzelnen Ausfüh
rung geändert wird, bietet einen guten Schutz.
Durch den Einsatz dieser Randomisierung kann prinzipiell jede
symmetrische kryptographische Operation, wie z. B. die S-Box
des AES-Algorithmus oder andere Stufen des in Fig. 6 be
schriebenen AES-Algorithmus oder eine Kombination der S-Box
und der Add-Round-Key-Operation, mittels Zufallswerten von
einem Zufallszahlengenerator sogar bei stabilen Eingangsdaten
verändert werden. Somit können auch bei konstanten Eingangs
daten, beispielsweise einem unverschlüsselten Text und einem
Schlüssel, nicht mehr identische Berechnungen durchgeführt
werden.
Solche identischen Berechnungen werden im Regelfall zur Ver
besserung des Signal-Rausch-Verhältnisses bei Angriffen
durchgeführt und können durch Mittelung beispielsweise der
Stromaufnahme der die kryptographische Operation ausführenden
Schaltung erfolgen. Auch bei ungemittelten Messungen führt
das erfindungsgemäße Konzept bereits zur Abwehr von differen
tiellen Angriffen, da bei der Differenzbildung verschiedener
Attacken eine konstante kryptographische Funktion vorausge
setzt werden muß. Auch ein einfacher Angriff, beispielsweise
ein SPA, wird durch das erfindungsgemäße Konzept ohne Kennt
nis der Vorwärtsänderungsvorschrift und der dazugehörigen
Rückwärtsänderungsvorschrift nicht realisierbar.
Ein Vorteil der vorliegenden Erfindung besteht ferner darin,
daß die Schutzmaßnahme skalierbar ist. Mit anderen Worten
ausgedrückt, bedeutet dies, daß, falls ein hoher Schutz er
wünscht wird, jedesmal, wenn eine kryptographische Operation
ausgeführt wird, das erfindungsgemäße Verfahren durchgeführt
wird, d. h. mittels einer Vorwärtsänderungsvorschrift die
kryptographische Operation zu verändern und ferner die Ur
sprungseingangsdaten oder die Ausgangsdaten der geänderten
kryptographischen Operation mittels einer der Vorwärtsände
rungsvorschrift entsprechenden Rückwärtsänderungsvorschrift
zu bearbeiten, um aus den Ursprungseingangsdaten Ur
sprungsausgangsdaten zu erhalten. Ein hoher Schutz wird da
durch erreicht, dass eine hinsichtlich Adressen und Daten
verschlüsselte sichere S-Box erzeugt wird, die so verschlüs
selt ist, dass auch die Add-Round-Key-Operation mit ver
schlüsselten Daten durchgeführt werden kann. Dies wird durch
Bereitstellen von drei Schlüsseln erreicht, wobei die Adres
sen der S-Box aus einer Kombination von zwei Schlüsseln ver
schlüsselt wird, und bei der Ausführung der Operationen dann
die Eingangsdaten in die Add-Key-Operation mit dem ersten
Schlüssel verschlüsselt werden und der Round-Key mit dem
zweiten Schlüssel verschlüsselt wird.
Wird jedoch nur ein geringerer Schutz erwünscht und ist zu
gleich die Rechenleistung der Schaltung von großer Bedeutung,
so muß nicht bei jeder Ausführung der kryptographischen Ope
ration eine andere Vorwärtsänderungsvorschrift genommen wer
den. Statt dessen genügt es dann, nur zu bestimmten Interval
len eine andere geänderte kryptographische Operation zu neh
men, d. h. die Vorwärtsänderungsvorschrift und die dazugehö
rige Rückwärtsänderungsvorschrift von Zeit zu Zeit zu modifi
zieren. Ein geringerer Schutz mit weniger Aufwand wird ferner
dadurch erreicht, dass entweder nur die Adressen der S-Box
oder die Ausgangsdaten der S-Box randomisiert werden.
Ein weiterer Vorteil der vorliegenden Erfindung besteht dar
in, daß die Vorwärtsänderungsvorschrift und die entsprechende
Rückwärtsänderungsvorschrift z. B. unter Verwendung einer
einfachen XOR-Verknüpfung mit einem Zufallswert randomisiert
werden können, wobei ein solcher Zufallswert aus einem Zu
fallszahlengenerator (RNG; RNG = Random Number Generator) er
halten werden könnte, der typischerweise auf jeder modernen
Chipkarte oder Smart Card vorhanden ist.
Ein weiterer Vorteil der vorliegenden Erfindung besteht dar
in, daß die Sicherheit nicht mit komplizierten Hardware-
Schaltungen erkauft werden muß, sondern z. B. mittels einfa
cher XOR-Gatter, da die Sicherheit nicht durch die Hardware-
Schaltungen bedingt wird, sondern durch die Umänderung der
kryptographischen Operation vorzugsweise von Berechnung zu
Berechnung unter Verwendung von Zufallszahlen, die von einem
ohnehin in dem Kryptosystem vorhandenen Zufallszahlengenera
tor geliefert werden.
Bei einem weiteren bevorzugten Ausführungsbeispiel wird, um
die Sicherheit gegen Angriffe zu verstärken, sowohl eine Ver
schlüsselung der Adressen der S-Box des AES-Algorithmus nach
Rijndael als auch eine Verschlüsselung der Daten der S-Box
durchgeführt, um eine verschlüsselte S-Box, d. h. eine ver
schlüsselte Bytesubstitutionstabelle, zu erzeugen. Die Adres
sen werden mit einem Schlüssel verschlüsselt, der aus einer
Verknüpfung eines ersten Schlüssels und eines zweiten Schlüs
sels abgeleitet ist, während die Daten der Bytesubstitutions
tabelle mit einem dritten Schlüssel verschlüsselt werden.
Diese Vorgehensweise ermöglicht es, sowohl die Add-Key-
Operation des AES-Algorithmus als auch die Bytesubstitution
des AES-Algorithmus und optional auch die Shift-Row-Operation
des AES-Algorithmus insgesamt mit verschlüsselten Daten zu
betreiben. Insbesondere werden dann die Eingangsdaten in die
Add-Key-Operation mit dem ersten Schlüssel verschlüsselt. Der
Schlüssel für die Add-Key-Operation wird mit dem zweiten
Schlüssel verschlüsselt. Schließlich werden die Ausgangsdaten
entweder der Bytesubstitution an sich oder - zusätzlich - der
Shift-Row-Operation mit dem dritten Schlüssel verschlüsselt.
Für sämtliche Verschlüsselungen und die Verknüpfung des er
sten und des zweiten Schlüssels werden XOR-Operationen bevor
zugt. Damit ist es möglich, mit einer verschlüsselten Byte
substitutionstabelle und mit einem verschlüsselten Schlüssel
für die Add-Key-Operation eine Randomisierung zu erreichen,
die bestimmte Angriffe erschwert.
Bevorzugte Ausführungsbeispiele der vorliegenden Anmeldung
werden nachfolgend unter Bezugnahme auf die beiliegenden
Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Übersichtsblockschaltbild einer erfindungsgemä
ßen Vorrichtung zum Ermitteln von Ursprungsaus
gangsdaten aus Ursprungseingangsdaten auf der Basis
einer kryptographischen Operation;
Fig. 2 eine erfindungsgemäße Vorrichtung gemäß einem er
sten Ausführungsbeispiel;
Fig. 3 eine erfindungsgemäße Vorrichtung gemäß einem zwei
ten Ausführungsbeispiel;
Fig. 4a eine erfindungsgemäße Vorrichtung gemäß einem drit
ten Ausführungsbeispiel, bei dem eine geänderte S-
Box zum verschlüsselten Berechnen der Add-Round-
Key-Operation samt Bytesubstitution erzeugt wird;
Fig. 4b ein Übersichtsdiagramm für das Ausführen des AES-
Algorithmus mit geänderter S-Box, wobei sowohl die
Eingangsdaten in die Add-Key-Operation als auch der
Schlüssel für die Add-Key-Operation als auch die
Ausgangsdaten der Bytesubstitution zur Operation
verschlüsselt werden;
Fig. 5 ein bekanntes Konzept, um mittels einer krypto
graphischen Operation aus Ursprungseingangsdaten
Ursprungsausgangsdaten zu erhalten;
Fig. 6 ein Übersichtsdiagramm über eine Runde des AES-
Algorithmus;
Fig. 7 eine detaillierte Darstellung zum Berechnen einer
geänderten S-Box für den in Fig. 6 dargestellten
AES-Algorithmus mit Verschlüsselung entweder der
Adressen der S-Box oder der Daten der S-Box; und
Fig. 8 ein Übersichtsdiagramm für das erfindungsgemäße
Verfahren mit nach Fig. 7 geänderter S-Box, bei dem
entweder die Ursprungseingangsdaten oder die Aus
gangsdaten der S-Box gemäß einer Rückwärtsände
rungsvorschrift bearbeitet werden.
Fig. 1 zeigt ein Übersichtsdiagramm einer erfindungsgemäßen
Vorrichtung. Im Gegensatz zu einem bekannten Verfahren, bei
dem Ursprungseingangsdaten 500 in eine kryptographische Ope
ration 510 eingespeist werden, um Ursprungsausgangsdaten 520
zu erhalten, wird gemäß der vorliegenden Erfindung die ur
sprüngliche kryptographische Operation, die in Fig. 5 mit 510
bezeichnet ist, in eine Einrichtung 100 zum Ändern der ur
sprünglichen kryptographischen Operation eingespeist, um eine
geänderte kryptographische Operation 110 zu erhalten. Die
Einrichtung 100 spricht auf eine Vorwärtsänderungsvorschrift
120 an. Die geänderte kryptographische Operation 110 wird in
eine Einrichtung 120 zum Ausführen der geänderten krypto
graphischen Operation eingespeist.
Die geänderte kryptographische Operation kann eingangsseitig
einen Eingangsmodusschalter 130 und ausgangsseitig einen Aus
gangsmodusschalter 140 umfassen. Wie es anhand der Fig. 2 bis
4 näher erläutert werden wird, kann die geänderte krypto
graphische Operation als Eingangsdaten die Ursprungseingangs
daten 500 oder gemäß einer Rückwärtsänderungsvorschrift geän
derte Ursprungseingangsdaten 150 erhalten.
Die Ursprungsausgangsdaten sind, je nach Stellung des Aus
gangsmodusschalters 140, entweder die Ausgangsdaten der Ein
richtung 120 zum Ausführen der geänderten kryptographischen
Operation oder geänderte Ausgangsdaten 160 der Einrichtung
120 zum Ausführen der geänderten kryptographischen Operation.
Hierzu umfaßt die in Fig. 1 gezeigte erfindungsgemäße Vor
richtung eine Einrichtung 170 zum Ändern der Ursprungsein
gangsdaten und/oder der Ausgangsdaten der geänderten krypto
graphischen Operation. Die Einrichtung 170 spricht analog zur
Einrichtung 100 auf eine Rückwärtsänderungsvorschrift 180 an.
Die Vorwärtsänderungsvorschrift sowie die Rückwärtsänderungs
vorschrift sind mittels eines Zufallzahlengenerators 190
steuerbar, um die Vorwärtsänderungsvorschrift und damit auch
die Rückwärtsänderungsvorschrift von Mal zu Mal zu verändern.
Je nach Schutzbedürfnis einerseits und verfügbarer Rechenlei
stung des Kryptorechensystems, das die in Fig. 1 gezeigte
Vorrichtung umfaßt, kann, wenn eine hohe Sicherheit erwünscht
wird, bei jeder Ausführung der kryptographischen Operation
eine andere geänderte kryptographische Operation eingesetzt
werden. Wenn dagegen ein geringerer Sicherheitsstandard aus
reicht und Rechenleistung mehr zählt, muß die Vorwärtsände
rungsvorschrift 120 und damit einhergehend die Rückwärtsände
rungsvorschrift 180 nicht jedesmal verändert werden, sondern
nur zu vorbestimmten festen oder variablen Zeitintervallen
oder nur einmal bei der Initialisierung der Schaltung.
Im nachfolgenden wird auf Fig. 2 eingegangen, um eine erfin
dungsgemäße Vorrichtung gemäß einem ersten Ausführungsbei
spiel der vorliegenden Erfindung darzustellen. Die Einrich
tung 120 ist angeordnet, um eine geänderte kryptographische
Operation auszuführen, die gemäß einer Vorwärtsänderungsvor
schrift geändert worden ist. Die Vorwärtsänderungsvorschrift
ist so gestaltet, daß lediglich die Ursprungseingangsdaten
500 einer Rückwärtsänderungsvorschrift 170a unterzogen werden
müssen, derart, daß die geänderten Ursprungseingangsdaten zu
sammen mit der geänderten kryptographischen Operation bereits
die Ursprungsausgangsdaten 520 ergeben.
Bei dem in Fig. 3 gezeigten zweiten Ausführungsbeispiel der
vorliegenden Erfindung ist die Vorwärtsänderungsvorschrift
derart gestaltet, daß sich eine geänderte kryptographische
Operation ergibt, die mittels der Einrichtung 120b auf die
Ursprungseingangsdaten 500 direkt ausgeführt wird, um Aus
gangsdaten der geänderten kryptographischen Operation zu er
halten, welche in eine Einrichtung 170b zum Ausführen einer
Rückwärtsänderungsvorschrift eingespeist werden, um die Ur
sprungsausgangsdaten 520 zu erhalten.
Bei jedem der in den Fig. 2 und 3 gezeigten Verfahren werden
aus den selben Ursprungseingangsdaten 500, die den Ur
sprungseingangsdaten von Fig. 5 entsprechen, die selben Ur
sprungsausgangsdaten 520 wie in Fig. 5 erhalten, derart, daß
das erfindungsgemäße Konzept nach außen, also bezüglich der
Ursprungseingangsdaten 500 und der Ursprungsausgangsdaten 520
transparent ist. Das Stromprofil ist jedoch bei jeder der in
den Fig. 2 bis 4 gezeigten Vorrichtung unterschiedlich und
insbesondere unterschiedlich zu der in Fig. 5 gezeigten be
kannten Vorrichtung, derart, daß DPA-Attacken erschwert wer
den, da der Angreifer zunächst die Vorwärtsänderungsvor
schrift und selbstverständlich auch die Rückwärtsänderungs
vorschrift ermitteln muß, um auf die ursprüngliche krypto
graphische Operation schließen zu können.
Die Sicherheit wird weiter erhöht, wenn die Vorwärtsände
rungsvorschrift immer wieder geändert wird, derart, daß auch
DPA-Angriffe mit Mittelung zumindest schwerer oder überhaupt
nicht mehr zum Erfolg führen werden.
Im nachfolgenden wird anhand von Fig. 7 auf eine bevorzugte
Ausführung der Einrichtung 100 zum Ändern der kryptographi
schen Operation eingegangen. Die ursprüngliche kryptographi
sche Operation ist bei dem in Fig. 7 gezeigten Ausführungs
beispiel die in einem Speicher 1 gespeicherte S-Box, die die
ursprüngliche kryptographische Operation 510 von Fig. 5 re
präsentiert. Mittels einer Vorwärtsänderungsvorschrift wird
nunmehr ein Adreß-Scrambling durchgeführt, um Adressen für
die geänderte kryptographische Operation, d. h. die geänderte
S-Box, zu liefern, die in einem Speicher 2 als geänderte
kryptographische Operation 120a, 120b bzw. 120c abgespeichert
ist. Die Vorwärtsänderungsvorschrift besteht in einer XOR-
Verknüpfung 710, die eine XOR-Verknüpfungsoperation mit einem
von einem Adreß-Counter 720 ausgegebenen Adresse mit einem
XOR-Wert 1 730 durchführt. Die Ausgangsdaten der ursprüngli
chen S-Box werden ferner mittels einer Vorwärtsänderungsvor
schrift in Form eines XOR-Gatters 740 und eines XOR-Werts 2
750 bei dem in Fig. 7 gezeigten Ausführungsbeispiel ebenfalls
gescrambelt, so daß die geänderte kryptographische Operation,
d. h. die in dem Speicher gespeicherte geänderte S-Box, ent
weder bezüglich der Adressen oder der Daten bezüglich der ur
sprünglichen S-Box geändert wird. Der in Fig. 7 gezeigte Fall
entspricht somit entweder dem in Fig. 1 gezeigten ersten oder
dem in Fig. 2 gezeigten zweiten Ausführungsbeispiel der vor
liegenden Erfindung, wie es anhand der in Fig. 8 gezeigten
Vorrichtung deutlich wird.
Die S-Box 120c, die in Fig. 8 gezeigt ist, entspricht einer
entweder mit einer ersten oder einer zweiten Vorwärtsände
rungsvorschrift geänderten ursprünglichen S-Box 510. Ur
sprungseingangsdaten 500 werden mittels einer Rückwärtsände
rungsvorschrift, die aus einem XOR-Gatter 810, das eine XOR-
Verknüpfung der Ursprungseingangsdaten mit einem XOR-Wert 1
820 durchführt, verarbeitet, um geänderte Adressen, also be
züglich der Terminologie in Fig. 4 geänderte Ursprungsein
gangsdaten zu erzeugen, die in die geänderte S-Box 120c ein
gespeist werden, um Ausgangsdaten der geänderten krypto
graphischen Operation, d. h. Daten der geänderten S-Box 120c,
zu erhalten. Die Ausgangsdaten werden ggf. mittels der ersten
Rückwärtsänderungsvorschrift, die in Fig. 4 als 170c" be
zeichnet ist und in Fig. 8 aus einem XOR-Gatter 830 und einem
XOR-Wert 2 840 besteht, verarbeitet, um wieder die Ur
sprungsausgangsdaten 520 von Fig. 4 zu erhalten.
Aufgrund der Eigenschaft der XOR-Funktion, daß eine zweimali
ge Ausführung unter Verwendung des selben Schlüssels wieder
die ursprünglichen Daten ergibt, wird die XOR-Funktion bevor
zugt.
Wenn in Fig. 7 die Funktionalität der Blöcke 740 und 750 weg
gelassen werden, würde dies dem in Fig. 2 gezeigten Fall ent
sprechen, d. h. die Vorwärtsänderungsvorschrift würde den
Blöcken 710 und 730 entsprechen, während die Rückwärtsände
rungsvorschrift lediglich die Blöcke 810 und 820 von Fig. 8
umfassen würde. Die geänderte kryptographische Operation 120a
ist in diesem Fall die ursprüngliche S-Box, jedoch mit gemäß
dem XOR-Wert 1 730 gescrambelten Adressen.
Würde dagegen auf die Funktionalität der Blöcke 710 und 730
verzichtet werden, so würde dies dem Fall von Fig. 3 entspre
chen, d. h. die Ursprungseingangsdaten werden direkt in die
geänderte S-Box 120b eingespeist, während die durch die Blöc
ke 740 und 750 bewirkten Operationen bezüglich der ursprüng
lichen S-Box verändert sind. Die Vorwärtsänderungsvorschrift
wäre in diesem Fall die durch die Blöcke 740 und 750 ausge
führte Operation, während die Rückwärtsänderungsvorschrift
die durch die Blöcke 830 und 840 ausgeführte Operation von
Fig. 8 sein würde.
Es sei darauf hingewiesen, daß bei den in den Fig. 7 und 8
gezeigten Ausführungsbeispielen die Rückwärtsänderungsvor
schrift zu der Vorwärtsänderungsvorschrift identisch ist, was
auf die bereits erwähnte Eigenschaft der XOR-Funktion zurück
zuführen ist. Alternativ kann statt einer XOR-Verknüpfung mit
einem XOR-Wert auch irgendeine andere invertierbare Funktion
eingesetzt werden, wobei jede Vorwärtsänderungsvorschrift je
doch derart ausgestaltet sein muß, daß die geänderte krypto
graphische Operation entweder mit geänderten Ursprungsein
gangsdaten Ursprungsausgangsdaten ergibt oder mit Ur
sprungseingangsdaten und geänderten Ausgangsdaten der geän
derten kryptographischen Operation die Ursprungsausgangsdaten
ergibt.
Bei dem in den Fig. 7 und 8 gezeigten Ausführungsbeispiel,
bei dem die ursprüngliche kryptographische Operation eine be
kannte S-Box des AES-Algorithmus ist, besteht ein besonderer
Sicherungsvorteil darin, daß insbesondere die Zugriffe auf
die S-Box einer symmetrischen kryptographischen Funktion, z. B.
des AES-Algorithmus, aufgrund der Vermischung mit den ge
heimen und damit für den Angreifer interessanten Schlüsselda
ten einen potentiellen Angriffspunkt liefert. Wie es ausge
führt worden ist, realisiert diese S-Box eine nichtlineare
mathematische Funktion (multiplikative Inverse mit affiner
Abbildung) von 8 Bit auf 8 Bit. Dies bedeutet, daß ein 8-Bit-
Eingangswert, der als Adresse bezeichnet wird, auf einen 8-
Bit-Ausgangswert, der als Daten bezeichnet wird, umgesetzt
wird.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung wird nicht für sämtliche Ausführungen der Byte-
Substitution mittels der S-Box die selbe geänderte S-Box ver
wendet, sondern es wird je nach Bedarf der XOR-Wert 1
und/oder der XOR-Wert 2 verändert, derart, daß für verschie
dene Byte-Substitutionen verschiedene geänderte S-Boxen vor
handen sind. Diese Randomisierung kann, wie es ausgeführt
worden ist, an der Adreßseite (Fig. 2) oder auf der Datensei
te (Fig. 3) oder auf beiden Seiten (Fig. 4) erfolgen. Für die
Adreßrandomisierung kann zunächst eine Wertetabelle mit den
Originalwerten aus dem Speicher 1 510, der beispielsweise ein
unsicherer Speicher oder Programmspeicher in Form eines
ROM/EEPROM ist, in einen Speicher 2 120a, 120b, 120c, der
beispielsweise ein sicherer Speichers oder Arbeitsspeichers
in Form eines XRAM ist, geladen werden, wobei die Speicher
adresse mit einem zuvor generierten Zufallswert (730) durch
eine XOR-Operation 710 verknüpft wird. Hierdurch wird eine
nichtlineare Ablage der Werte im Speicher erzeugt.
Ebenso werden bei einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung auch die Daten mit einem zweiten zuvor
generierten Zufallswert 750 und einer XOR-Operation 740 ver
schleiert. Nach dem Kopiervorgang der Wertetabelle kann dann
der eigentliche AES-Algorithmus gemäß Fig. 8 abgearbeitet
werden, welcher mittels den zwei gespeicherten Zufallswerten
820, 840 die XOR-Operationen 810, 830 invertieren kann, so
daß die kryptographische Funktion auf die korrekten Werte zu
rückgreift.
Die Operation mittels der Blöcke 830, 840 kann entweder un
mittelbar hinter der Byte-Substitution 640 von Fig. 6 oder
aber erst nach der Shift-Row-Operation 650 von Fig. 6 erfol
gen.
Der in Fig. 4a gezeigte Schaltungsaufbau ähnelt dem in Fig. 7
gezeigten Schaltungsaufbau, jedoch mit der Ausnahme, daß drei
verschiedene XOR-Werte 410, 412 und 414 verwendet werden. Wie
in Fig. 7 gezeigt, werden die Daten der ursprünglichen S-Box
510 unter Verwendung des dritten Schlüssels, d. h. des XOR-
Werts 3 mittels einer XOR-Verknüpfung 740 bitweise verschlüs
selt, um Daten einer sicheren S-Box 420 zu erhalten. Im Ge
gensatz zu dem in Fig. 7 gezeigten Ausführungsbeispiel, bei
dem entweder die Daten oder die Adressen verschlüsselt wer
den, werden bei dem in Fig. 4a gezeigten Ausführungsbeispiel
sowohl die Daten als auch die Adressen verschlüsselt, die
durch einen Adreßzähler 720 generiert werden. Eine Verschlüs
selung findet nun jedoch nicht mehr mittels eines einzigen
XOR-Werts wie in Fig. 7 statt, sondern die Verschlüsselung
der Adressen wird auf der Basis des ersten Verschlüsselungs
schlüssels 410 und des zweiten Verschlüsselungsschlüssels 412
durchgeführt, wobei der tatsächliche Schlüssel zum Verschlüs
seln der Adressen aus einer Verknüpfung des ersten XOR-Werts
410 und des zweiten XOR-Werts 412 mittels einer XOR-
Verknüpfung 430 erzeugt wird. Die Verschlüsselung findet dann
wieder, wie in Fig. 7 gezeigt, durch das XOR-Glied 710 statt,
um eine verschlüsselte Bytesubstitutionstabelle zu erzeugen,
die in Fig. 4a mit "S-Box sicher" oder dem Bezugszeichen 420
bezeichnet ist.
Die in Fig. 4a gezeigte Verschlüsselung unter Verwendung der
XOR-Werte 410 und 412 erlaubt es erfindungsgemäß, nicht nur
die Bytesubstitutionsoperation mit verschlüsselten bzw. mas
kierten Daten zu betreiben, sondern sowohl die Add-Key-
Operation als auch die Bytesubstitutionsoperation und, wenn
es erwünscht wird, auch noch die Shift-Row-Operation mit ver
schlüsselten Daten auszuführen. Hierzu werden die zu ver
schlüsselnden Eingangsdaten (TN 500) mit dem XOR-Wert 1 410
XOR-verknüpft (810). Die Ausgangsdaten des Glieds 810 werden
dann der Add-Key-Operation 620 unterzogen wie es in Fig. 6
beschrieben ist. Der Round-Key, der in Fig. 4b aus Einfach
heitsgründen lediglich mit Key 630 bezeichnet ist, wird in
der Add-Key-Operation jedoch nicht direkt verwendet, sondern
wird erfindungsgemäß mittels des XOR-Glieds 450 unter Verwen
dung des XOR-Werts 412 verschlüsselt. Die Ausgangsdaten der
verschlüsselten Add-Key-Operation werden dann der Bytesubsti
tutionsoperation 420 zugeführt. Die Ausgangsdaten der Byte
substitutionsoperation 420 könnten nunmehr entweder direkt
mittels des XOR-Werts 3 414 verschlüsselt werden. Sie könnten
jedoch auch noch, in verschlüsseltem Zustand, der Shift-Row-
Operation 650 (Fig. 6) unterzogen werden, so daß auch diese
Operation nicht mit Ursprungsdaten, sondern mit verschlüssel
ten Daten durchgeführt wird. Am Ausgang des XOR-Glieds 830
liegen somit wieder die Ursprungsausgangsdaten 520 vor, je
doch nicht, wie in Fig. 8 gezeigt, der Bytesubstitutionsope
ration allein, sondern der Kombination aus Add-Key-Operation,
Bytesubstitutionsoperation und optional Shift-Row-Operation.
Erfindungsgemäß werden, wie es anhand der Fig. 4a und 4b
dargestellt worden ist, zur Erzeugung der sicheren Bytesub
stitutionstabelle 420 (Fig. 4a) drei verschiedene Schlüssel
verwendet, die in der beschriebenen Art und Weise beim Durch
führen des Verschlüsselungsalgorithmus zum Verschlüsseln der
Eingangsdaten (XOR-Wert 1), zum Verschlüsseln des Runden-
Schlüssels (XOR-Wert 2) und zum Verschlüsseln der Ausgangsda
ten (XOR-Wert 3) eingesetzt werden. Es sei darauf hingewie
sen, daß auch von der XOR-Funktion abweichende invertierbare
Verschlüsselungsfunktionen eingesetzt werden können, um eine
Verschlüsselung zu erreichen. Die XOR-Funktion wird jedoch
bevorzugt, da sie rechenzeiteffizient bitweise eingesetzt
werden kann und die günstige Eigenschaft hat, daß eine zwei
malige Anwendung der XOR-Funktion wieder das ursprüngliche
Ergebnis ergibt. Mit größerem Schaltungsaufwand können jedoch
auch andere Verschlüsselungsoperationen verwendet werden.
Claims (17)
1. Verfahren zum Ermitteln von Ursprungsausgangsdaten (520)
aus Ursprungseingangsdaten (500) auf der Basis einer kryp
tographischen Operation (510) mit folgenden Schritten:
Ändern der kryptographischen Operation (510) gemäß einer Vor wärtsänderungsvorschrift (100), um eine geänderte kryp tographische Operation (120a; 120b) zu erhalten;
Durchführen (120) der geänderten kryptographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
Ändern (170a; 170b) der Ursprungseingangsdaten (500) und/oder der Ausgangsdaten der geänderten kryptographischen Operation, um die Ursprungsausgangsdaten (520) zu erhalten, gemäß einer Rückwärtsänderungsvorschrift (170), wobei die Rückwärtsände rungsvorschrift (170) an die Vorwärtsänderungsvorschrift (100) angepaßt ist und so definiert ist,
daß entweder die geänderte kryptographische Operation zusammen mit den Ursprungseingangsdaten (500) die Ur sprungsausgangsdaten liefert, oder
daß die geänderte kryptographische Operation zusammen mit den geänderten Ursprungseingangsdaten die Ur sprungsausgangsdaten (520) liefert,
wobei die kryptographische Operation einen Zugriff mittels einer Eingangsadresse auf eine ursprüngliche Tabelle (510) umfaßt, um einen Ausgangswert zu erhalten, der der Eingangs adresse zugeordnet ist,
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (710, 730) geänderte Tabelle (120a) ist, in der die Eingangsadresse gegenüber der Ein gangsadresse der ursprünglichen Tabelle geändert ist, während die Ausgangswerte der geänderten Tabelle mit den Ausgangswer ten der ursprünglichen Tabelle übereinstimmen, oder
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (740, 750) geänderte Tabelle (120b) ist, in der die Ausgangswerte gegenüber den Ausgangs werten der ursprünglichen Tabelle geändert sind, während die Eingangsadressen mit den Eingangsadressen der ursprünglichen Tabelle übereinstimmen, und
wobei die Rückwärtsänderungsvorschrift (810, 820), um die ge änderten Ursprungsausgangsdaten (520) aus den Ursprungsein gangsdaten zu erhalten, zu der Vorwärtsänderungsvorschrift (710, 730) identisch ist.
Ändern der kryptographischen Operation (510) gemäß einer Vor wärtsänderungsvorschrift (100), um eine geänderte kryp tographische Operation (120a; 120b) zu erhalten;
Durchführen (120) der geänderten kryptographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
Ändern (170a; 170b) der Ursprungseingangsdaten (500) und/oder der Ausgangsdaten der geänderten kryptographischen Operation, um die Ursprungsausgangsdaten (520) zu erhalten, gemäß einer Rückwärtsänderungsvorschrift (170), wobei die Rückwärtsände rungsvorschrift (170) an die Vorwärtsänderungsvorschrift (100) angepaßt ist und so definiert ist,
daß entweder die geänderte kryptographische Operation zusammen mit den Ursprungseingangsdaten (500) die Ur sprungsausgangsdaten liefert, oder
daß die geänderte kryptographische Operation zusammen mit den geänderten Ursprungseingangsdaten die Ur sprungsausgangsdaten (520) liefert,
wobei die kryptographische Operation einen Zugriff mittels einer Eingangsadresse auf eine ursprüngliche Tabelle (510) umfaßt, um einen Ausgangswert zu erhalten, der der Eingangs adresse zugeordnet ist,
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (710, 730) geänderte Tabelle (120a) ist, in der die Eingangsadresse gegenüber der Ein gangsadresse der ursprünglichen Tabelle geändert ist, während die Ausgangswerte der geänderten Tabelle mit den Ausgangswer ten der ursprünglichen Tabelle übereinstimmen, oder
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (740, 750) geänderte Tabelle (120b) ist, in der die Ausgangswerte gegenüber den Ausgangs werten der ursprünglichen Tabelle geändert sind, während die Eingangsadressen mit den Eingangsadressen der ursprünglichen Tabelle übereinstimmen, und
wobei die Rückwärtsänderungsvorschrift (810, 820), um die ge änderten Ursprungsausgangsdaten (520) aus den Ursprungsein gangsdaten zu erhalten, zu der Vorwärtsänderungsvorschrift (710, 730) identisch ist.
2. Verfahren gemäß Anspruch 1, das zu einem ersten Zeit
punkt durchgeführt wird und das zu einem späteren Zeitpunkt
auf der Basis der selben kryptographischen Operation (510)
durchgeführt wird, wobei bei der Durchführung des Verfahrens
zu dem späteren Zeitpunkt eine andere Vorwärtsänderungsvor
schrift und eine an die andere Vorwärtsänderungsvorschrift
angepaßte Rückwärtsänderungsvorschrift verwendet werden.
3. Verfahren gemäß Anspruch 2, bei dem die eine Vorwärtsän
derungsvorschrift von einer Zufallszahl abhängt und bei dem
die andere Vorwärtsänderungsvorschrift von einer anderen Zu
fallszahl abhängt.
4. Verfahren gemäß Anspruch 2 oder 3,
bei dem die eine Vorwärtsänderungsvorschrift eine XOR- Verknüpfung (710, 740) umfaßt,
bei dem die eine Rückwärtsänderungsvorschrift eine XOR- Verknüpfung (810, 830) umfaßt,
bei dem die andere Vorwärtsänderungsvorschrift eine XOR- Verknüpfung mit einem Schlüssel umfaßt, der sich von einem Schlüssel der einen Vorwärtsänderungsvorschrift unterschei det, und
bei dem die andere Rückwärtsänderungsvorschrift einen zweiten Schlüssel umfaßt, der sich von einem Schlüssel der einen Rückwärtsänderungsvorschrift unterscheidet.
bei dem die eine Vorwärtsänderungsvorschrift eine XOR- Verknüpfung (710, 740) umfaßt,
bei dem die eine Rückwärtsänderungsvorschrift eine XOR- Verknüpfung (810, 830) umfaßt,
bei dem die andere Vorwärtsänderungsvorschrift eine XOR- Verknüpfung mit einem Schlüssel umfaßt, der sich von einem Schlüssel der einen Vorwärtsänderungsvorschrift unterschei det, und
bei dem die andere Rückwärtsänderungsvorschrift einen zweiten Schlüssel umfaßt, der sich von einem Schlüssel der einen Rückwärtsänderungsvorschrift unterscheidet.
5. Verfahren gemäß einem der Ansprüche 2 bis 4, bei dem der
spätere Zeitpunkt unmittelbar auf den ersten Zeitpunkt folgt.
6. Verfahren gemäß einem der Ansprüche 2 bis 4, das von ei
nem Prozessor ausgeführt wird, wobei zwischen dem ersten
Zeitpunkt und dem späteren Zeitpunkt das Verfahren eine An
zahl von Malen mit der einen Änderungsvorschrift durchgeführt
wird, wobei die Anzahl von Malen groß ist, wenn hohe Prozes
sorressourcen vorhanden sind, und wobei die Anzahl von Malen
klein ist, wenn niedrige Prozessorressourcen vorhanden sind.
7. Verfahren gemäß Anspruch 1,
bei dem die Tabelle die S-Box des AES-Algorithmus nach Rijn
dael ist.
8. Verfahren gemäß einem der Ansprüche 1 bis 7, bei dem die
geänderte kryptographische Operation eine Add-Key-Operation
oder eine Shift-Row-Funktion (650) des AES-Algorithmus nach
Rijndael umfaßt.
9. Verfahren gemäß einem der Ansprüche 1 bis 8,
bei dem die kryptographische Operation ein Teil eines Krypto
algorithmus ist und bei dem die Eingangsdaten einen Schlüssel
des Kryptoalgorithmus oder Informationen, die von dem Schlüs
sel des Kryptoalgorithmus abgeleitet sind, umfassen.
10. Verfahren gemäß Anspruch 9, bei dem der Kryptoalgo
rithmus ein symmetrischer Kryptoalgorithmus ist.
11. Verfahren gemäß einem der Ansprüche 1 bis 10,
bei dem der Schritt des Änderns der kryptographischen Opera tion den Schritt des Speicherns der geänderten Tabelle in ei nem flüchtigen Speicher eines Prozessors, der die Ur sprungsausgangsdaten aus den Ursprungseingangsdaten ermit telt, umfaßt, und
bei dem im Schritt des Durchführens der geänderten kryp tographischen Operation auf den flüchtigen Speicher zugegrif fen wird.
bei dem der Schritt des Änderns der kryptographischen Opera tion den Schritt des Speicherns der geänderten Tabelle in ei nem flüchtigen Speicher eines Prozessors, der die Ur sprungsausgangsdaten aus den Ursprungseingangsdaten ermit telt, umfaßt, und
bei dem im Schritt des Durchführens der geänderten kryp tographischen Operation auf den flüchtigen Speicher zugegrif fen wird.
12. Verfahren gemäß Anspruch 11,
bei dem die ursprüngliche Tabelle in einem nicht-flüchtigen Speicher gespeichert ist, und
bei dem im Schritt des Änderns der kryptographischen Operati on auf den nicht-flüchtigen Speicher zugegriffen wird.
bei dem die ursprüngliche Tabelle in einem nicht-flüchtigen Speicher gespeichert ist, und
bei dem im Schritt des Änderns der kryptographischen Operati on auf den nicht-flüchtigen Speicher zugegriffen wird.
13. Vorrichtung zum Ermitteln von Ursprungsausgangsdaten
(520) aus Ursprungseingangsdaten (500) auf der Basis einer
kryptographischen Operation (510) mit folgenden Merkmalen:
einer Einrichtung zum Ändern der kryptographischen Operation (510) gemäß einer Vorwärtsänderungsvorschrift (100), um eine geänderte kryptographische Operation (120a; 120b) zu erhal ten;
einer Einrichtung zum Durchführen (120) der geänderten kryp tographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
einer Einrichtung zum Ändern (170a; 170b) der Ursprungsein gangsdaten (500) und/oder der Ausgangsdaten der geänderten kryptographischen Operation, um die Ursprungsausgangsdaten (520) zu erhalten, gemäß einer Rückwärtsänderungsvorschrift (170), wobei die Rückwärtsänderungsvorschrift (170) an die Vorwärtsänderungsvorschrift (100) angepaßt ist und so defi niert ist,
daß entweder die geänderte kryptographische Operation zusammen mit den Ursprungseingangsdaten (500) die Ur sprungsausgangsdaten liefert, oder
daß die geänderte kryptographische Operation zusammen mit den geänderten Ursprungseingangsdaten die Ur sprungsausgangsdaten (520) liefert,
wobei die kryptographische Operation einen Zugriff mittels einer Eingangsadresse auf eine ursprüngliche Tabelle (510) umfaßt, um einen Ausgangswert zu erhalten, der der Eingangs adresse zugeordnet ist,
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (710, 730) geänderte Tabelle (120a) ist, in der die Eingangsadresse gegenüber der Ein gangsadresse der ursprünglichen Tabelle geändert ist, während die Ausgangswerte der geänderten Tabelle mit den Ausgangswer ten der ursprünglichen Tabelle übereinstimmen, oder
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (740, 750) geänderte Tabelle (120b) ist, in der die Ausgangswerte gegenüber den Ausgangs werten der ursprünglichen Tabelle geändert sind, während die Eingangsadressen mit den Eingangsadressen der ursprünglichen Tabelle übereinstimmen, und
wobei die Rückwärtsänderungsvorschrift (810, 820), um die ge änderten Ursprungsausgangsdaten (520) aus den Ursprungsein gangsdaten zu erhalten, zu der Vorwärtsänderungsvorschrift (710, 730) identisch ist.
einer Einrichtung zum Ändern der kryptographischen Operation (510) gemäß einer Vorwärtsänderungsvorschrift (100), um eine geänderte kryptographische Operation (120a; 120b) zu erhal ten;
einer Einrichtung zum Durchführen (120) der geänderten kryp tographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
einer Einrichtung zum Ändern (170a; 170b) der Ursprungsein gangsdaten (500) und/oder der Ausgangsdaten der geänderten kryptographischen Operation, um die Ursprungsausgangsdaten (520) zu erhalten, gemäß einer Rückwärtsänderungsvorschrift (170), wobei die Rückwärtsänderungsvorschrift (170) an die Vorwärtsänderungsvorschrift (100) angepaßt ist und so defi niert ist,
daß entweder die geänderte kryptographische Operation zusammen mit den Ursprungseingangsdaten (500) die Ur sprungsausgangsdaten liefert, oder
daß die geänderte kryptographische Operation zusammen mit den geänderten Ursprungseingangsdaten die Ur sprungsausgangsdaten (520) liefert,
wobei die kryptographische Operation einen Zugriff mittels einer Eingangsadresse auf eine ursprüngliche Tabelle (510) umfaßt, um einen Ausgangswert zu erhalten, der der Eingangs adresse zugeordnet ist,
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (710, 730) geänderte Tabelle (120a) ist, in der die Eingangsadresse gegenüber der Ein gangsadresse der ursprünglichen Tabelle geändert ist, während die Ausgangswerte der geänderten Tabelle mit den Ausgangswer ten der ursprünglichen Tabelle übereinstimmen, oder
wobei die geänderte kryptographische Operation eine gemäß der Vorwärtsänderungsvorschrift (740, 750) geänderte Tabelle (120b) ist, in der die Ausgangswerte gegenüber den Ausgangs werten der ursprünglichen Tabelle geändert sind, während die Eingangsadressen mit den Eingangsadressen der ursprünglichen Tabelle übereinstimmen, und
wobei die Rückwärtsänderungsvorschrift (810, 820), um die ge änderten Ursprungsausgangsdaten (520) aus den Ursprungsein gangsdaten zu erhalten, zu der Vorwärtsänderungsvorschrift (710, 730) identisch ist.
14. Verfahren zum Ermitteln von Ursprungsausgangsdaten (520)
aus Ursprungseingangsdaten (500) auf der Basis einer kryp
tographischen Operation (620, 420; 650) mit folgenden Schrit
ten:
Ändern der kryptographischen Operation (420), um eine geän derte kryptographische Operation (420) zu erhalten,
wobei die kryptographische Operation eine Add-Key- Operation (620) und nachgeschaltete Bytesubstitutions operation (420) mittels einer Bytesubstitutionstabelle umfaßt,
wobei die kryptographische Operation derart geändert wird, daß Adressen der Bytesubstitutionstabelle mit ei nem abgeleiteten Schlüssel verschlüsselt werden (710), und Daten mit einem dritten Schlüssel (414) verschlüs selt werden, um eine verschlüsselte Bytesubstitutionsta belle (420) zu erhalten, so daß die geänderte kryp tographische Operation die Add-Key-Operation und nachge schaltet die Bytesubstitutionsoperation mit der ver schlüsselten Bytesubstitutionstabelle (420) als geänder te kryptographische Operation aufweist, und
wobei der abgeleitete Schlüssel durch eine Verknüpfung eines ersten Schlüssels (410) und eines zweiten Schlüs sels (412) gebildet wird,;
Ändern (810) der Ursprungseingangsdaten (500) durch Ver schlüsseln mit dem ersten Schlüssel (410);
Ändern (450) eines Schlüssels für die Add-Round-Key-Operation durch Verschlüsseln mit dem zweiten Schlüssel (412);
Durchführen der geänderten kryptographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
Ändern (414) der Ausgangsdaten der geänderten kryptographi schen Operation durch Verschlüsseln mit dem dritten Schlüssel (414), um die Ursprungsausgangsdaten (520) zu erhalten.
Ändern der kryptographischen Operation (420), um eine geän derte kryptographische Operation (420) zu erhalten,
wobei die kryptographische Operation eine Add-Key- Operation (620) und nachgeschaltete Bytesubstitutions operation (420) mittels einer Bytesubstitutionstabelle umfaßt,
wobei die kryptographische Operation derart geändert wird, daß Adressen der Bytesubstitutionstabelle mit ei nem abgeleiteten Schlüssel verschlüsselt werden (710), und Daten mit einem dritten Schlüssel (414) verschlüs selt werden, um eine verschlüsselte Bytesubstitutionsta belle (420) zu erhalten, so daß die geänderte kryp tographische Operation die Add-Key-Operation und nachge schaltet die Bytesubstitutionsoperation mit der ver schlüsselten Bytesubstitutionstabelle (420) als geänder te kryptographische Operation aufweist, und
wobei der abgeleitete Schlüssel durch eine Verknüpfung eines ersten Schlüssels (410) und eines zweiten Schlüs sels (412) gebildet wird,;
Ändern (810) der Ursprungseingangsdaten (500) durch Ver schlüsseln mit dem ersten Schlüssel (410);
Ändern (450) eines Schlüssels für die Add-Round-Key-Operation durch Verschlüsseln mit dem zweiten Schlüssel (412);
Durchführen der geänderten kryptographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
Ändern (414) der Ausgangsdaten der geänderten kryptographi schen Operation durch Verschlüsseln mit dem dritten Schlüssel (414), um die Ursprungsausgangsdaten (520) zu erhalten.
15. Verfahren nach Anspruch 14, bei dem die kryptographische
Operation ferner eine Shift-Row-Operation (650) umfaßt, die
der Bytesubstitutionsoperation nachgeschaltet ist.
16. Verfahren nach Anspruch 14 oder 15, bei dem zum Ver
schlüsseln mit dem ersten, zweiten und dritten Schlüssel
(410, 412, 414) eine bitweise XOR-Operation verwendet wird,
und
bei dem die Verknüpfung (450) zum Erhalten des abgeleiteten
Schlüssels eine bitweise XOR-Verknüpfung des ersten und des
zweiten Schlüssels (410, 412) ist.
17. Vorrichtung zum Ermitteln von Ursprungsausgangsdaten
(520) aus Ursprungseingangsdaten (500) auf der Basis einer
kryptographischen Operation (620, 420; 650), mit folgenden
Merkmalen:
einer Einrichtung (710, 740) zum Ändern der kryptographischen Operation (420), um eine geänderte kryptographische Operation (420) zu erhalten,
wobei die kryptographische Operation eine Add-Key- Operation (620) und eine nachgeschaltete Bytesubstituti onsoperation (420) mittels einer Bytesubstitutionstabel le umfaßt,
wobei die kryptographische Operation derart geändert wird, daß Adressen der Bytesubstitutionstabelle mit ei nem abgeleiteten Schlüssel verschlüsselt werden (710), und Daten mit einem dritten Schlüssel (414) verschlüs selt werden, um eine verschlüsselte Bytesubstitutionsta belle (420) zu erhalten, so daß die geänderte kryp tographische Operation die Add-Key-Operation und nachge schaltet die Bytesubstitutionsoperation mit der ver schlüsselten Bytesubstitutionstabelle (420) als geänder te kryptographische Operation aufweist, und
wobei der abgeleitete Schlüssel durch eine Verknüpfung eines ersten Schlüssels (410) und eines zweiten Schlüs sels (412) gebildet wird; und
einer Einrichtung (620, 420) zum Durchführen der geänderten kryptographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
einer Einrichtung zum Ändern (810) der Ursprungseingangsdaten (500) durch Verschlüsseln mit dem ersten Schlüssel (410), zum Ändern (450) eines Schlüssels für die Add-Round-Key-Operation durch Verschlüsseln mit dem zweiten Schlüssel (412), und zum Ändern (414) der Ausgangsdaten der geänderten kryptographi schen Operation durch Verschlüsseln mit dem dritten Schlüssel (414), um die Ursprungsausgangsdaten (520) zu erhalten.
einer Einrichtung (710, 740) zum Ändern der kryptographischen Operation (420), um eine geänderte kryptographische Operation (420) zu erhalten,
wobei die kryptographische Operation eine Add-Key- Operation (620) und eine nachgeschaltete Bytesubstituti onsoperation (420) mittels einer Bytesubstitutionstabel le umfaßt,
wobei die kryptographische Operation derart geändert wird, daß Adressen der Bytesubstitutionstabelle mit ei nem abgeleiteten Schlüssel verschlüsselt werden (710), und Daten mit einem dritten Schlüssel (414) verschlüs selt werden, um eine verschlüsselte Bytesubstitutionsta belle (420) zu erhalten, so daß die geänderte kryp tographische Operation die Add-Key-Operation und nachge schaltet die Bytesubstitutionsoperation mit der ver schlüsselten Bytesubstitutionstabelle (420) als geänder te kryptographische Operation aufweist, und
wobei der abgeleitete Schlüssel durch eine Verknüpfung eines ersten Schlüssels (410) und eines zweiten Schlüs sels (412) gebildet wird; und
einer Einrichtung (620, 420) zum Durchführen der geänderten kryptographischen Operation, um Ausgangsdaten der geänderten kryptographischen Operation zu erhalten;
einer Einrichtung zum Ändern (810) der Ursprungseingangsdaten (500) durch Verschlüsseln mit dem ersten Schlüssel (410), zum Ändern (450) eines Schlüssels für die Add-Round-Key-Operation durch Verschlüsseln mit dem zweiten Schlüssel (412), und zum Ändern (414) der Ausgangsdaten der geänderten kryptographi schen Operation durch Verschlüsseln mit dem dritten Schlüssel (414), um die Ursprungsausgangsdaten (520) zu erhalten.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10149191A DE10149191C2 (de) | 2001-10-05 | 2001-10-05 | Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10149191A DE10149191C2 (de) | 2001-10-05 | 2001-10-05 | Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10149191A1 DE10149191A1 (de) | 2003-04-24 |
DE10149191C2 true DE10149191C2 (de) | 2003-12-18 |
Family
ID=7701526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10149191A Expired - Fee Related DE10149191C2 (de) | 2001-10-05 | 2001-10-05 | Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10149191C2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4002748B1 (de) | 2020-11-17 | 2023-08-16 | Nxp B.V. | Vorrichtung |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2327581A (en) * | 1997-06-23 | 1999-01-27 | Samsung Electronics Co Ltd | Block cypher resists differential or linear cryptoanalysis |
EP0981223A2 (de) * | 1998-08-20 | 2000-02-23 | Kabushiki Kaisha Toshiba | Vorrichtung zur Verschlüsselung/Entschlüsselung |
GB2345229A (en) * | 1998-12-23 | 2000-06-28 | Motorola Ltd | Encryption system resists differential power analysis attacks |
WO2002003605A1 (en) * | 2000-07-04 | 2002-01-10 | Koninklijke Philips Electronics N.V. | Substitution-box for symmetric-key ciphers |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB327581A (en) * | 1929-04-13 | 1930-04-10 | Samuel Milne | Improvements in paper pulp and like beating engines |
-
2001
- 2001-10-05 DE DE10149191A patent/DE10149191C2/de not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2327581A (en) * | 1997-06-23 | 1999-01-27 | Samsung Electronics Co Ltd | Block cypher resists differential or linear cryptoanalysis |
EP0981223A2 (de) * | 1998-08-20 | 2000-02-23 | Kabushiki Kaisha Toshiba | Vorrichtung zur Verschlüsselung/Entschlüsselung |
GB2345229A (en) * | 1998-12-23 | 2000-06-28 | Motorola Ltd | Encryption system resists differential power analysis attacks |
WO2002003605A1 (en) * | 2000-07-04 | 2002-01-10 | Koninklijke Philips Electronics N.V. | Substitution-box for symmetric-key ciphers |
Non-Patent Citations (1)
Title |
---|
AKKAR,M.-L. u.a.: An Implementation of DES and AES. Secure against Some Attacks. In: Lecture Notes in Computer Science, Bd. 2162, Berlin, Springer, 20. Sept. 2001, S. 309-318 * |
Also Published As
Publication number | Publication date |
---|---|
DE10149191A1 (de) | 2003-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3219042B1 (de) | Gehärtete white box implementierung 2 | |
DE102005012098B4 (de) | Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren | |
EP2605445B1 (de) | Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken | |
DE60222052T2 (de) | Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA) | |
DE602004013206T2 (de) | Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung | |
EP1668515B1 (de) | Wortindividuelle schlüsselerzeugung | |
EP2901611B1 (de) | Seitenkanalgeschützte maskierung | |
DE69911815T2 (de) | Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren | |
DE112011102765T5 (de) | Vorrichtung und Verfahren für Blockverschlüsselungsverfahren für unsichere Umgebungen | |
DE102009000869A1 (de) | Verfahren und Vorrichtung zur manipulationssicheren Übertragung von Daten | |
DE102015015953B3 (de) | Kryptoalgorithmus mit schlüsselabhängigem maskiertem Rechenschritt (SBOX-Aufruf) | |
DE602004003675T2 (de) | Sicherheitsgegenmassnahmen gegen Angriffe durch Stromverbrauchsanalysen | |
DE102004018874B4 (de) | Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses | |
DE10328860B4 (de) | Vorrichtung und Verfahren zum Verschlüsseln von Daten | |
EP3369205B1 (de) | Alternative darstellung des krypto-algorithmus des | |
DE10149191C2 (de) | Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation | |
DE60213327T2 (de) | Auf einem Blockverschlüsselungsalgorithmus mit Rundenwiederholung basiertes Verfahren und Vorrichtung zur Ausführung des Verfahrens | |
DE102018006313A1 (de) | Verfahren mit Safe-Error-Abwehrmaßnahme | |
DE19921633A1 (de) | Verfahren zur Implementierung kryptographischer Algorithmen | |
DE10136303A1 (de) | Verfahren und Vorrichtung zum Ausführen einer Bytesubstitutionsoperation des AES-Algorithmus nach Rijndael | |
DE102020129058B3 (de) | Datenverarbeitungseinrichtung und verfahren zum kryptographischen verarbeiten von daten | |
WO1997032417A1 (de) | Verfahren zum generieren eines prüfworts für eine bitfolge zur überprüfung der integrität und authentizität der bitfolge | |
DE102004001659B4 (de) | Vorrichtung und Verfahren zum Konvertieren einer ersten Nachricht in eine zweite Nachricht | |
DE112005001837B4 (de) | Verfahren zum Schutz von Schlüsseln | |
EP1588518A1 (de) | Vorrichtung und verfahren zum berechnen von verschl sselten daten aus unverschl sselten daten oder von unversch sse lten daten aus verschl sselten daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |