DE10042234A1 - Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor - Google Patents
Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen ProzessorInfo
- Publication number
- DE10042234A1 DE10042234A1 DE10042234A DE10042234A DE10042234A1 DE 10042234 A1 DE10042234 A1 DE 10042234A1 DE 10042234 A DE10042234 A DE 10042234A DE 10042234 A DE10042234 A DE 10042234A DE 10042234 A1 DE10042234 A1 DE 10042234A1
- Authority
- DE
- Germany
- Prior art keywords
- symbol
- random number
- module
- exponent
- numbers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7257—Random modification not requiring correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7271—Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred
Abstract
Das erfindungsgemäße Verfahren zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor verwendet eine Randomisierung des Exponenten der modularen Exponentiation unter Verwendung der Carmichaelschen lambda-Funktion. Zur zusätzlichen Homogenisierung des Leistungs- und Zeitverhaltens des kryptographischen Prozessors kann ferner eine Randomisierung der Basis der modularen Exponentiation durchgeführt werden. Damit kann durch entsprechende Festlegung der Länge der zur Randomisierung verwendeten Zufallszahl(en) ein optimaler Kompromiß zwischen Sicherheitsstandard einerseits und Verarbeitungsaufwand andererseits für eine große Bandbreite von unterschiedlichen Anwendungen erreicht werden. Dies gilt um so mehr, da die Randomisierung des Exponenten unter Verwendung der Carmichaelschen lambda-Funktion im Vergleich zu einer Randomisierung des Exponenten unter Verwendung der Eulerschen phi-Funktion deutlich weniger rechenaufwendig ist und dennoch einen vergleichbaren Sicherheitsstandard liefert.
Description
Die vorliegende Erfindung bezieht sich auf die Kryptographie
und insbesondere auf die modulare Exponentiation als eine
der wichtigsten arithmetischen Operationen beispielsweise
in Public-Key-Kryptographie-Verfahren.
Seit einigen Jahren gibt es sogenannte Informations-Leck-At
tacken auf Kryptographie-Prozessoren, welche versuchen, ge
heime Daten aus der Berechnung der modularen Exponentiation
zu gewinnen, welche eine der zentralen Rechenoperationen
beispielsweise bei Public-Key-Kryptographie-Verfahren ist.
Ein dominierendes, derartiges Verfahren ist beispielsweise
das RSA-Verfahren zum Erzeugen einer RSA-Signatur einer
Nachricht M, d. h. C : = Md mod N.
Alternativ kann neben der RSA-Signatur die modulare Exponen
tiation beispielsweise auch bei der RSA-Entschlüsselung ver
wendet werden. In diesem Fall ist M die verschlüsselte Nach
richt, während C die entschlüsselte Nachricht ist. Daraus
wird ersichtlich, daß die modulare Exponentiation sowohl bei
einer Verschlüsselung, wie z. B. der RSA-Signatur, als auch
bei einer Entschlüsselung, wie z. B. der RSA-
Entschlüsselung, eingesetzt werden kann. Die mathematische
Operation bleibt die gleiche; die Bedeutungen der Variablen
C und M sind jedoch in beiden Fällen genau entgegengesetzt.
Bei einer RSA-Signatur ist der Modul N üblicherweise be
kannt, während der Exponent d geheim ist.
Sogenannte Informations-Leck-Attacken versuchen, aus der Be
rechnung der modularen Exponentiation geheime Daten bei
spielsweise über den geheimen Schlüssel oder Exponenten d zu
gewinnen. Hierzu sei lediglich beispielhaft auf folgende
Veröffentlichungen hingewiesen: P. Kocher "Timing Attacks an
Implementations of DH, RSA, DSS and other Systems" (Proc. Of
CRYPTO' 96), D. Boneh, R. DeMillo, R. Lipton "On the Impor
tance of Checking Cryptographic Protocols for Faults" (Proc.
Of EUROCRYPT' 97), P. Kocher, J. Jaffe, B. Jun "Differential-
Power-Analysis" (Proc. Of CRYPTO' 99) and J. Quisquater, D.
Samyde "Electromagnetic-Analysis-Attacks" (Rumpsession of
EUROCRYPT' 00).
Im nachfolgenden wird auf Fig. 3 eingegangen, welche ein
Flußdiagramm einer üblichen modularen Exponentiation zeigt.
Der Algorithmus beginnt in einem Block 100 und initialisiert
zunächst die benötigten Variablen, nämlich den Modul N, den
Exponenten d und die zu signierende Nachricht M bzw. alter
nativ die zu entschlüsselnde Nachricht (im Falle einer RSA-
Entschlüsselung) in einem Block 102. Aus diesen Größen wird
unter Verwendung der im Block 104 gegebenen üblichen Formel
zur modularen Exponentiation das verschlüsselte Symbol C im
Falle einer RSA-Signatur bzw. das entschlüsselte Symbol C im
Falle einer RSA-Entschlüsselung berechnet. Das Ergebnis wird
dann in einem Block 106 ausgegeben, wonach der Algorithmus
in einem Block 108 beendet ist.
Dieses allgemeine Schema zur Berechnung der im Block 104 ge
gebenen modularen Exponentiation umfaßt keinerlei Gegenmaß
nahmen gegen irgendeine Form von Attacken, wie z. B. eine
Timing-Attacke, eine Leistungs-Attacke oder eine Strahlungs-
Attacke.
Die DE 198 28 936 A1 umfaßt ein Verfahren und eine Vorrich
tung zum Verarbeiten von Daten, um eine modulare Exponentia
tion besser gegen äußere Attacken sichern zu können. Das in
der DE 198 28 936 A1 offenbarte Verfahren stellt sich etwa
wie in Fig. 4 aufgezeichnet dar. Im Unterschied zu dem in
Fig. 3 gezeigten bekannten Ausführungsbeispiel wird bei dem
in Fig. 4 gezeigten bekannten Verfahren eine Randomisierung
des Exponenten d unter Verwendung einer Zufallszahl r1 sowie
eine Randomisierung der Basis unter Verwendung einer Zufallszahl
r2 vorgeschlagen. Im einzelnen werden in einem
Block 110 die Variablen M, d, N und ϕ(N) initialisiert. ϕ(N)
stellt dabei die sogenannte Eulersche ϕ-Funktion dar, welche
durch (p - 1) × (q - 1) definiert ist, wie es in der in Fig. 4
dargestellten Gleichung zu sehen ist. Daraufhin wird eine
Zufallszahl r1 in einem Schritt 112 zum Randomisieren des
Exponenten ausgewählt. Anschließend wird eine Zufallszahl r2
in einem Schritt 114 zum Randomisieren der Basis M ausge
wählt. Daraufhin wird bei dem bekannten Verfahren die im
Block 116 dargestellte modulare Exponentiation durchgeführt,
um das verarbeitete Symbol C in dem Block 106 zu erhalten,
wonach der Algorithmus beendet ist.
Ein ähnliches Verfahren wird auch in dem US-Patent Nr.
5,991,415 von Adi Shamir beschrieben. Auch hier wird die Eu
lersche ϕ-Funktion zur Randomisierung des Exponenten einge
setzt.
Ein anderes Verfahren zum Berechnen der modularen Exponen
tiation besteht darin, die modulare Exponentiation unter
Verwendung des chinesischen Restsatzes (CRT; CRT = Chinese
Residue bzw. Reminder Theorem) durchzuführen. Die modulare
Exponentiation unter Verwendung des chinesischen Restsatzes
ist in der Technik bekannt und beispielsweise im "Handbook of
Applied Cryptography" von Menezes, von Oorschort und von Sto
ne, Seiten 610 bis 613, erschienen im Springer-Verlag, be
schrieben. Zunächst werden in einem Block 118 die nötigen
Variablen M, dp, dq, p und q initialisiert. Wie es unten in
Fig. 5 dargestellt ist, sind p und q die geheimen RSA-
Primzahlen, deren Produkt den Modul N ergibt. Die Variable d
ist wieder der geheime RSA-Exponent. Die Hilfsgrößen dp und
dq werden berechnet, wie es ebenfalls in Fig. 5 dargestellt
ist. ϕ(p) bedeutet hier wieder die Eulersche ϕ-Funktion.
Entsprechend dem chinesischen Restsatz werden dann die Grö
ßen Cp und Cq berechnet, wie es in den Blöcken 120 bzw. 122
dargestellt ist. Die Größe xp ergibt sich aus Cp und Cq, wie
es in einem Block 124 veranschaulicht ist. Das verarbeitete
Symbol C ergibt sich dann aus der Bestimmungsgleichung für
C, die in einem Block 126 in Fig. 5 dargestellt ist. Es sei
darauf hingewiesen, daß Fig. 5 die modulare Exponentiation
mittels des chinesischen Restsatzes nach dem Algorithmus von
H. L. Garner darstellt.
Die bisherigen Abwehrmaßnahmen der eingangs aufgeführten At
tacken lassen sich gemäß der Berechnung der Exponentiation
in zwei Gruppen unterteilen: Nicht-Benutzung oder aber Be
nutzung des chinesischen Restsatzes zur Berechnung der modu
laren Exponentiation. Abwehrmaßnahmen für beide Fälle sind
in dem US-Patent Nr. 5,991,415 beschrieben und basieren im
wesentlichen auf einer randomisierten Berechnung der modula
ren Exponentiation.
Die Verwendung des chinesischen Restsatzes zur modularen Ex
ponentiation, wie es in Fig. 5 dargestellt ist, liefert je
doch keine Gegenmaßnahmen gegen sogenannte Differential
Fault Attacks nach Boneh, DeMillo und Lipton. Sogenannte
Fault Attacks basieren darauf, Fehler in die kryptographi
sche Berechnung einzuführen, und den Schlüssel zu identifi
zieren, indem die mathematischen und statistischen Eigen
schaften der fehlerhaft berechneten Ergebnisse analysiert
werden. Unter den vielen vorgeschlagenen Techniken zum Ein
fügen solcher Fehler befinden sich die Verwendung einer io
nisierenden Strahlung, unüblicher Betriebstemperaturen, Lei
stungs- und Taktveränderungen sowie eine Laser-basierte
Chip-Mikrochirurgie. Bestimmte Attacken sind differentiell,
d. h. es wird sowohl eine korrekte als auch eine fehlerhafte
Berechnung unter Verwendung der gleichen Eingabe durchge
führt, woraufhin die Differenzen der Ergebnisse analysiert
werden. Bezüglich näherer Details und weiterer solcher At
tacken wird auf das US-Patent Nr. 5,991,415 verwiesen.
Eine Möglichkeit, um diese Attacken zu umgehen, besteht dar
in, im wesentlichen die in Fig. 5 gezeigte Berechnung zwei
mal auszuführen, wobei es bevorzugt wird, unterschiedliche
Algorithmen zu verwenden. Wenn irgendeine Diskrepanz zwischen
den zwei Ergebnissen gefunden werden sollte, sollte
der kryptographische Prozessor, der beispielsweise in einer
Geldkarte oder Smartcard untergebracht ist, keinerlei Ausga
ben liefern. Dies erzeugt einen starken Schutz vor zufälli
gen Fehlern, welche lediglich mit einer sehr geringen Wahr
scheinlichkeit zwei Berechnungen auf identische Art und Wei
se beeinträchtigen. Diese Maßnahme führt jedoch zu einer
Verringerung der Rechengeschwindigkeit um den Faktor 2. Eine
solche Verringerung ist jedoch besonders in Smart-Card-Im
plementationen, welche eine begrenzte Rechenleistung mit
sich bringen, oftmals nicht tolerabel. Wenn insbesondere an
die breite Verwendung von Geldkarten bzw. Ausweisen mit Si
gnaturchips gedacht wird, so ist es ohne weiteres einsich
tig, daß der kryptographische Algorithmus zwar sehr sicher
sein muß, jedoch in der benötigten Rechenleistung begrenzt
sein muß, da sonst die Anschaffungskosten für Lesegeräte
derart immens werden, daß ein solches System lediglich eine
sehr schlechte Marktakzeptanz erreichen wird.
Daraus folgt jedoch, daß bei kryptographischen Systemen na
türlich die Sicherheit ein wesentlicher Faktor ist, daß je
doch auf die Effizienz der Berechnung, d. h. ein sinnvoller
und sparsamer Umgang mit Rechenressourcen, ebenfalls ein ge
wichtiger Faktor ist, welcher oftmals letztendlich darüber
entscheiden wird, ob ein System vom Markt angenommen wird
oder nicht.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
Verfahren und eine Vorrichtung zum Durchführen einer modula
ren Exponentiation zu schaffen, welche einen hohen Sicher
heitsstandard liefern, jedoch gleichzeitig keinen all zu ho
hen Rechenaufwand erfordern.
Diese Aufgabe wird durch ein Verfahren zum Durchführen einer
modularen Exponentiation nach Patentanspruch 1 oder durch
eine Vorrichtung zum Durchführen einer modularen Exponentia
tion nach Patentanspruch 13 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde,
daß die Verwendung der Eulerschen ϕ-Funktion zur Randomisie
rung des Exponenten d zwar einen effektiven Schutz gegenüber
äußeren Attacken liefert, da diese Randomisierung zu einer
starken Homogenisierung des Strom- und Zeitprofils bei der
Berechnung der modularen Exponentiation führt, daß jedoch
der Rechenaufwand beträchtlich werden kann. Erfindungsgemäß
wird daher von einer Randomisierung des Exponenten d unter
Verwendung der Eulerschen ϕ-Funktion weggegangen. Statt des
sen wird eine Randomisierung unter Verwendung der Carmicha
elschen λ-Funktion verwendet, welche bei ähnlich großem Si
cherheitsstandard zu einer deutlichen Reduktion der erfor
derlichen Rechenleistung führt. Der randomisierte Exponent
d' ergibt sich aus folgendem Zusammenhang:
d' : = d + r1.λ(N).
Diese Randomisierung ist durch die folgende Identität ge
stützt:
M(λ(N)) = 1 mod N.
Damit gilt:
M(d+r1.λ(N)) = Md mod N.
Üblicherweise handelt es sich bei dem Modul N der modularen
Exponentiation um ein sogenanntes RSA-Modul der Form N = p.q,
wobei p und q zwei gleich lange Primzahlen sind. Damit
gilt folgender Zusammenhang zwischen der Eulerschen ϕ-Funk
tion und der Carmichaelschen λ-Funktion:
λ(N) = ϕ(N)/ggT(p - 1, q - 1).
Es ist zu sehen, daß die Carmichaelsche λ-Funktion um den
größten gemeinsamen Teiler (ggT) von (p - 1) und (q - 1) kleiner
ist als die Eulersche ϕ-Funktion. Der Exponent ist damit um
einige Bits kürzer als der Exponent, der unter Verwendung
der Eulerschen Funktion randomisiert worden ist, so daß die
modifizierte modulare Exponentiation schneller berechenbar
ist, als es mit dem System erreicht werden kann, das in Fig.
4 dargestellt ist.
Es sei darauf hingewiesen, daß die Carmichaelsche λ-Funktion
nicht nur mit zwei Primzahlen gebildet werden kann, sondern
unter Verwendung einer beliebigen Anzahl von Primzahlen, so
lange das Produkt der Anzahl von Primzahlen gleich dem Modul
N ist. In Worten ausgedrückt, ist λ durch den Quotienten aus
dem Produkt von zumindest zwei Zahlen und dem größten ge
meinsamen Teiler aus den zumindest zwei Zahlen definiert,
wobei jede der Zahlen gleich der Differenz zwischen ei
ner Primzahl und Eins ist, und wobei das Produkt aus den zu
mindest zwei Primzahlen, die den zumindest zwei Zahlen zu
grunde liegen, gleich dem Modul (N) ist.
Für zwei Primzahlen p, q berechnet sich die Funktion λ dem
nach folgendermaßen:
λ = (p - 1)(q - 1)/ggT(p - 1, q - 1).
Für drei Primzahlen p, q, r berechnet sich die Funktion λ
demnach folgendermaßen:
λ = (p - 1)(q - 1)(r - 1)/ggT(p - 1, q - 1, r - 1).
Analog kann die Funktion λ für beliebige Anzahlen von Prim
zahlen gebildet werden.
Gemäß bevorzugten Ausführungsbeispielen der vorliegenden Er
findung wird die Randomisierung des Exponenten unter Verwen
dung der Carmichaelschen λ-Funktion für eine Berechnung der
modularen Exponentiation entweder mit oder ohne chinesischem
Restsatz eingesetzt.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Figuren
näher erläutert. Es zeigen:
Fig. 1 ein Flußdiagramm des Verfahrens gemäß einem ersten
Ausführungsbeispiel der vorliegenden Erfindung ohne
Verwendung des chinesischen Restsatzes;
Fig. 2A und 2B ein Flußdiagramm des Verfahrens gemäß einem
zweiten Ausführungsbeispiel der vorliegenden Erfin
dung unter Verwendung des chinesischen Restsatzes;
Fig. 3 ein bekanntes Verfahren zur Berechnung der modularen
Exponentiation;
Fig. 4 ein bekanntes Verfahren mit randomisiertem Exponen
ten zur Berechnung der modularen Exponentiation ohne
Verwendung des chinesischen Restsatzes, und
Fig. 5 ein bekanntes Verfahren zum Berechnen der modularen
Exponentiation unter Verwendung des chinesischen
Restsatzes.
Fig. 1 zeigt ein Flußdiagramm eines Verfahrens gemäß einem
ersten Ausführungsbeispiel der vorliegenden Erfindung. Das
Verfahren wird durch einen Block 10 begonnen. Hierauf werden
die notwendigen Variablen M, d, N und λ in einem Block 12
initialisiert. λ stellt die Carmichaelsche λ-Funktion dar
und wird, wie es in Fig. 1 links unten dargestellt ist, aus
den Primzahlen p und q berechnet, wobei das Produkt aus den
Primzahlen p und q den Modul N ergibt. Es sei darauf hinge
wiesen, daß die Carmichaelsche Funktion nicht nur dann ver
wendet werden kann, wenn die beiden Primzahlen p, q die
gleiche Länge haben, sondern daß diese Funktion immer genom
men werden kann, wenn das Produkt aus p und q den Modul N
ergibt.
In einem Schritt 14 wird eine Zufallszahl beispielsweise
zwischen 0 und 232 gewählt, welche zur Randomisierung des
Exponenten verwendet wird. Optional kann in einem Schritt 16
eine Zufallszahl r2 gewählt werden, mit der die Basis, d. h.
das Symbol M, randomisiert werden kann, um die Stromauf
nahme- und Leistungsprofile eines Kryptoprozessors noch ho
mogener zu verteilen, so daß es Angreifern noch schwerer ge
macht wird, geheime Informationen herauszufinden.
Es sei jedoch darauf hingewiesen, daß bereits die Randomi
sierung des Exponenten unter Verwendung der Carmichaelschen
λ-Funktion eine bedeutende Erhöhung der Sicherheit gegen In
formations-Lecks mit sich bringt, und daß die Randomisierung
der Basis lediglich optional noch für ein weiteres Absichern
eingesetzt werden kann.
Mit der in einem Block 18 gegebenen Bestimmungsgleichung
wird dann das verarbeitete Symbol, das im Falle der RSA-
Signatur das verschlüsselte Symbol ist, bzw. das im Falle
einer RSA-Entschlüsselung das entschlüsselte Symbol ist, be
rechnet. Der Wert für C wird schließlich in einem Block 20
gespeichert, wonach der Algorithmus in einem Block 22 endet.
Bezüglich der Randomisierung der Basis sei folgendes ange
merkt. Wenn die Basis M durch die Basis M + r2.M ersetzt wird,
wobei r0 eine zufällige n-Bit-Zahl ist, findet keine Ände
rung der Endergebnisse statt, da folgender Zusammenhang
gilt:
(M + r0.N) = N mod N.
Bezüglich der Zufallszahlen r1 und r2 sei folgendes ange
merkt. Es wird bevorzugt, für dieselben 32-Bit-Zahlen zu
nehmen, wenn der Modul N ein 1024-Bit-Modul ist. Falls der
Modul N ein 2048-Bit-Modul ist, so wird es bevorzugt, für r1
und r2 64-Bit-Zahlen zu nehmen. Es sei insbesondere darauf
hingewiesen, daß durch die Länge der Zufallszahlen zwei Din
ge erreicht werden. Zunächst wird durch die höhere Rando
misierung die Sicherheit erhöht. Andererseits wird jedoch
auch die Verarbeitungsgeschwindigkeit erhöht, die jedoch
durch die erfindungsgemäße Verwendung der Carmichaelschen λ-
Funktion in jedem Fall besser als bei der Verwendung der Eu
lerschen ϕ-Funktion ist, da der Zusammenhang zwischen λ und
ϕ nicht von der Länge der Zahlen r1 und r2 abhängt. Die Aus
wahl der Zufallszahlen r1 und r2 liefert also eine wesentli
che Flexibilität dahingehend, daß mit ein und demselben Al
gorithmus bzw. mit ein und demselben Chip für eine Vielzahl
von verschiedenen Anforderungen ein optimales Verhältnis
zwischen Sicherheit einerseits und Berechnungsaufwand ande
rerseits geschaffen werden kann. Werden die Zufallszahlen
sehr kurz gewählt, so ist die Verarbeitung schnell, während
die Sicherheit jedoch Einbußen erleiden könnte. Werden dage
gen für Hochsicherheitsanwendungen, bei denen die Verarbei
tungsgeschwindigkeit nicht ein wesentliches Kriterium ist,
die Zufallszahlen sehr lang verwendet, so kann ohne weiteres
ein maximaler Sicherheitsstandard erreicht werden.
In Fig. 2A ist ein zweites Ausführungsbeispiel gemäß der
vorliegenden Erfindung dargestellt, bei dem ebenso wie bei
dem in Fig. 1 gezeigten ersten Ausführungsbeispiel sowohl
der Exponent als auch die Basis randomisiert werden. Im Un
terschied zu dem in Fig. 1 gezeigten Ausführungsbeispiel
findet bei dem in Fig. 2A und Fig. 2B gezeigten Ausführungs
beispiel die Berechnung der modularen Exponentiation unter
Verwendung des chinesischen Restsatzes statt. Hierzu werden
in dem Block 12 M, d, p und q initialisiert, wobei M wieder
das zu verarbeitende Symbol ist, während d der Exponent ist
und p und q zwei Primzahlen sind, deren Produkt dem Modul M
entspricht. In einem Schritt 14 wird ein Parameter t ausge
wählt, wobei der Parameter t eine zufällige Primzahl ist,
welche eine Länge zwischen bevorzugterweise 16 und 32 hat.
Die Länge in Bits des Parameters t ist jedoch prinzipiell
beliebig einstellbar. Darüber hinaus werden in den Schritten
14 und 16 die Zufallszahlen r1 und r2 ausgewählt, wobei in
einem Schritt 24 die randomisierte Basis Mt unter Verwendung
der Zufallszahl r2 berechnet wird, während in einem Block 26
der randomisierte Exponent dt unter Verwendung der Zufallszahl
r1 berechnet wird. Es sei darauf hingewiesen, daß in
dem Block 26 bereits die in Fig. 1 links unten gegebene
Gleichung für die λ-Funktion ausgeschrieben ist. In den
Blöcken 28 bis 34 werden dann gemäß den in Fig. 2A gegebenen
Gleichungen die einzelnen Parameter Cpt, Cqt, xpt und Ct be
rechnet, wobei besonders darauf hingewiesen wird, daß bei
spielsweise in dem Block 28 die Carmichaelsche λ-Funktion
von p und t berechnet wird, während in dem Block 30 die Car
michaelsche λ-Funktion von q und t berechnet wird.
Es sei darauf hingewiesen, daß sich die Gleichungen in Fig.
2A entsprechend ändern, wenn eine Carmichaelsche Funktion
mit mehr als zwei Primzahlen verwendet wird. Hierzu wird auf
das "Handbook of Applied Cryptography" verwiesen.
In einem Block 36 wird dann festgestellt, ob der Ausdruck Ct
- Cqt) mod t = 0 erfüllt ist. Diese Überprüfung stellt si
cher, daß keine Fehler während des Ausführen der Berechnun
gen in den Blöcken 24 bis 34 gemacht wurden. Auch ein Fehler
aufgrund eines bewußten Angriffs im Sinne einer Differential
Fault Attack, beispielsweise durch Ausüben von physischem
Streß auf den Kryptoprozessor, würde hier erkannt werden.
Wird die in dem Block 36 gezeigte Bedingung nicht erfüllt,
so wird die Berechnung der modularen Exponentiation abgebro
chen (Block 38). Gleichzeitig wird keinerlei Ausgabe er
zeugt, so daß ein Angreifer keine Daten erhält, mit denen er
eventuell den geheimen Exponenten ermitteln könnte. Wird die
in dem Block 36 gegebene Bedingung erfüllt, so wird auf ei
nen Block 40 übergesprungen, in dem das verarbeitete Symbol
gemäß der in Fig. 2b im Block 40 gegebenen Gleichung berech
net wird. Das verarbeitete Symbol wird schließlich in einem
Block 20 gespeichert, woraufhin der Algorithmus in einem
Block 22 beendet wird.
Es sei besonders auf die Fehlerüberprüfung im Block 36 hin
gewiesen. Sie findet im Gegensatz zum Stand der Technik, bei
dem das in Fig. 5 gezeigte Flußdiagramm zweimal abgearbeitet
wird, wesentlich weniger rechenzeitaufwendig statt, da keine
doppelte Abarbeitung erforderlich ist. Block 36 liefert so
mit gewissermaßen eine Selbsttestfunktion durch Überprüfung
der Beziehung zwischen den Parametern Ct, Cqt und t.
Gegenüber der doppelten Abarbeitung des in Fig. 5 darge
stellten Konzepts zur Fehlerüberprüfung wird somit ein Fak
tor 2 an Rechenzeitersparnis bei nahezu gleichem Sicher
heitsstandard neben der Rechenzeitersparnis durch die erfin
dungsgemäße Randomisierung des Exponenten geschaffen.
Es sei darauf hingewiesen, daß das erfindungsgemäße Verfah
ren bzw. die erfindungsgemäße Vorrichtung auf verschiedene
Arten und Weisen implementiert werden können. So ist selbst
verständlich eine rein softwaremäßige Implementation auf ei
nem Allzweckrechner denkbar, um beispielsweise eine RSA-Si
gnatur oder eine RSA-Entschlüsselung durchzuführen. Noch be
vorzugter sind jedoch die Anwendungen des erfindungsgemäßen
Konzepts in Kryptoprozessoren auf Geldkarten, Smartcards,
Ausweisen oder ähnlichem, da diese Elemente in großen Stück
zahlen verwendet werden sollen und daher Lesegeräte mit be
grenztem Kostenrahmen unabdingbar sind. Bei solchen Anwen
dungen kann das erfindungsgemäße Konzept teilweise oder so
gar vollständig in Hardware realisiert sein.
Claims (13)
1. Verfahren zum Durchführen einer modularen Exponentiati
on in einem kryptographischen Prozessor unter Verwen
dung eines Symbols (M), eines Exponenten (d) und eines
Moduls (N), mit folgenden Schritten:
Erhalten (14) einer Zufallszahl (r1);
Kombinieren des Exponenten (d) mit dem Produkt aus der Zufallszahl (r1) und einer Randomisierungszahl (λ), um einen randomisierten Exponenten zu erhalten,
wobei (λ) durch den Quotienten aus dem Produkt von zumin dest zwei Zahlen und dem größten gemeinsamen Teiler aus den zumindest zwei Zahlen definiert ist, wobei jede der Zahlen gleich der Differenz zwischen einer Primzahl und Eins ist, und wobei das Produkt aus den zumindest zwei Primzahlen, die den zumindest zwei Zahlen zugrunde lie gen, gleich dem Modul (N) ist; und
Durchführen (18; 28-40) einer modularen Exponentiation unter Verwendung des Symbols (M), des Moduls (N) und des randomisierten Exponenten, um als Ergebnis ein ver arbeitetes Symbol (C) zu erhalten.
Erhalten (14) einer Zufallszahl (r1);
Kombinieren des Exponenten (d) mit dem Produkt aus der Zufallszahl (r1) und einer Randomisierungszahl (λ), um einen randomisierten Exponenten zu erhalten,
wobei (λ) durch den Quotienten aus dem Produkt von zumin dest zwei Zahlen und dem größten gemeinsamen Teiler aus den zumindest zwei Zahlen definiert ist, wobei jede der Zahlen gleich der Differenz zwischen einer Primzahl und Eins ist, und wobei das Produkt aus den zumindest zwei Primzahlen, die den zumindest zwei Zahlen zugrunde lie gen, gleich dem Modul (N) ist; und
Durchführen (18; 28-40) einer modularen Exponentiation unter Verwendung des Symbols (M), des Moduls (N) und des randomisierten Exponenten, um als Ergebnis ein ver arbeitetes Symbol (C) zu erhalten.
2. Verfahren nach Anspruch 1, bei dem im Schritt des
Durchführens folgende Gleichung verwendet wird:
C = M(d+r1.λ) mod N,
wobei r1 die Zufallszahl ist, wobei N der Modul ist, wobei λ die Carmichaelsche Funktion ist, wobei d der Exponent ist, wobei M das Symbol ist, und wobei C das verarbeitete Symbol ist.
C = M(d+r1.λ) mod N,
wobei r1 die Zufallszahl ist, wobei N der Modul ist, wobei λ die Carmichaelsche Funktion ist, wobei d der Exponent ist, wobei M das Symbol ist, und wobei C das verarbeitete Symbol ist.
3. Verfahren nach Anspruch 1, das ferner folgende Schritte
aufweist:
Auswählen (16) einer weiteren Zufallszahl (r2);
Kombinieren (24) des Symbols mit dem Produkt aus der weiteren Zufallszahl (r2) und dem Modul (N), um ein ran domisiertes Symbol zu erhalten; und
bei dem im Schritt des Durchführens folgende Gleichung verwendet wird:
C = (M + r2.N)(d+r1.λ) mod N,
wobei r1 die Zufallszahl ist, wobei r2 die weitere Zu fallszahl ist, wobei N der Modul ist, wobei λ die Car michaelsche Funktion ist, wobei d der Exponent ist, wo bei M das Symbol ist, und wobei C das verarbeitete Sym bol ist.
Auswählen (16) einer weiteren Zufallszahl (r2);
Kombinieren (24) des Symbols mit dem Produkt aus der weiteren Zufallszahl (r2) und dem Modul (N), um ein ran domisiertes Symbol zu erhalten; und
bei dem im Schritt des Durchführens folgende Gleichung verwendet wird:
C = (M + r2.N)(d+r1.λ) mod N,
wobei r1 die Zufallszahl ist, wobei r2 die weitere Zu fallszahl ist, wobei N der Modul ist, wobei λ die Car michaelsche Funktion ist, wobei d der Exponent ist, wo bei M das Symbol ist, und wobei C das verarbeitete Sym bol ist.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei
dem der Schritt des Durchführens der modularen Exponen
tiation unter Verwendung des chinesischen Restsatzes
durchgeführt wird.
5. Verfahren nach Anspruch 4, bei dem die Randomisierungs
zahl (λ) unter Verwendung von zwei Primzahlen berechnet
wird, und bei dem der Schritt des Durchführens der mo
dularen Exponentiation unter Verwendung des chinesi
schen Restsatzes folgende Schritte aufweist:
Auswählen (13) einer dritten Zufallszahl (t):
Berechnen (28) von Cpt unter Verwendung der folgenden Gleichung:
Cpt = (Mt mod pt)^[dt mod[(p - 1)(q - 1)/ggT(p - 1, q - 1)]]mod pt,
wobei Mt ein randomisiertes Symbol darstellt und fol gendermaßen gegeben ist:
Mt = M + r2 N
und wobei dt der randomisierte Exponent ist und folgen dermaßen gegeben ist:
dt = d + r1.[(p - 1)(q - 1)/ggT(p - 1, q - 1)],
wobei r1 die Zufallszahl ist, wobei r2 die weitere Zu fallszahl ist, wobei N der Modul ist, wobei d der Expo nent ist, wobei M das Symbol ist, und wobei C das ver arbeitete Symbol ist;
Berechnen (30) von Cqt unter Verwendung folgender Glei chung:
Cqt = (Mt mod qt)^[dt mod[(q - 1)(t - 1)/ggT(q - 1, t - 1)]] mod pt;
Berechnen (32) von xpt unter Verwendung folgender Glei chung:
xpt = (Cpt - Cqt)(q-1 mod p) mod pt;
Berechnen (34) von Ct unter Verwendung der folgenden Gleichung:
Ct = Cqt + xpt q;
Berechnen (40) des verarbeiteten Symbols unter Verwen dung der folgenden Gleichung:
C = Ct mod N.
Auswählen (13) einer dritten Zufallszahl (t):
Berechnen (28) von Cpt unter Verwendung der folgenden Gleichung:
Cpt = (Mt mod pt)^[dt mod[(p - 1)(q - 1)/ggT(p - 1, q - 1)]]mod pt,
wobei Mt ein randomisiertes Symbol darstellt und fol gendermaßen gegeben ist:
Mt = M + r2 N
und wobei dt der randomisierte Exponent ist und folgen dermaßen gegeben ist:
dt = d + r1.[(p - 1)(q - 1)/ggT(p - 1, q - 1)],
wobei r1 die Zufallszahl ist, wobei r2 die weitere Zu fallszahl ist, wobei N der Modul ist, wobei d der Expo nent ist, wobei M das Symbol ist, und wobei C das ver arbeitete Symbol ist;
Berechnen (30) von Cqt unter Verwendung folgender Glei chung:
Cqt = (Mt mod qt)^[dt mod[(q - 1)(t - 1)/ggT(q - 1, t - 1)]] mod pt;
Berechnen (32) von xpt unter Verwendung folgender Glei chung:
xpt = (Cpt - Cqt)(q-1 mod p) mod pt;
Berechnen (34) von Ct unter Verwendung der folgenden Gleichung:
Ct = Cqt + xpt q;
Berechnen (40) des verarbeiteten Symbols unter Verwen dung der folgenden Gleichung:
C = Ct mod N.
6. Verfahren nach Anspruch 5,
das vor dem Schritt des Berechnens (40) des verarbeite
ten Symbols folgende Schritte aufweist:
Überprüfen (36), ob ein Fehler aufgetreten ist;
falls ein Fehler aufgetreten ist, Abbrechen (38) ohne Ausgabe eines Ergebnisses, und
falls kein Fehler aufgetreten ist, Fortsetzen (40) der modularen Exponentiation.
Überprüfen (36), ob ein Fehler aufgetreten ist;
falls ein Fehler aufgetreten ist, Abbrechen (38) ohne Ausgabe eines Ergebnisses, und
falls kein Fehler aufgetreten ist, Fortsetzen (40) der modularen Exponentiation.
7. Verfahren nach Anspruch 1, bei dem im Schritt des Aus
wählens (14) einer Zufallszahl eine 16-32-Bit-Zufalls
zahl ausgewählt wird, falls der Modul (M) 1024 Bit lang
ist, und bei dem eine 32-64-Bit-Zufallszahl ausgewählt
wird, falls der Modul (M) 2048 Bit lang ist.
8. Verfahren nach Anspruch 3,
bei dem im Schritt des Auswählens (16) einer weiteren
Zufallszahl eine 16-32-Bit-Zufallszahl ausgewählt wird,
falls der Modul (M) 1024 Bit lang ist, und bei dem eine
32-64-Bit-Zufallszahl ausgewählt wird, falls der Modul
(M) 2048 Bit lang ist.
9. Verfahren nach Anspruch 5,
bei dem im Schritt des Auswählens (13) einer dritten
Zufallszahl eine Primzahl mit einer Länge zwischen 16
und 32 Bit ausgewählt wird.
10. Verfahren nach einem der vorhergehenden Ansprüche, bei
dem der Exponent (d) geheim ist, während der Modul (N)
bekannt ist.
11. Verfahren nach einem der vorhergehenden Ansprüche, bei
dem der kryptographische Prozessor unter Verwendung der
modularen Exponentiation eine Signatur (C) des Symbols
(M) erzeugt, wobei das Symbol die zu signierende Nach
richt darstellt, während das verarbeitete Symbol die
signierte Nachricht darstellt.
12. Verfahren nach einem der Ansprüche 1 bis 10, bei dem
der kryptographische Prozessor unter Verwendung der mo
dularen Exponentiation eine Entschlüsselung durchführt,
so daß das Symbol (M) eine verschlüsselte Nachricht
darstellt und das verarbeitete Symbol (C) eine ent
schlüsselte Nachricht darstellt.
13. Vorrichtung zum Durchführen einer modularen Exponentia
tion, mit folgenden Merkmalen:
einer Einrichtung zum Erhalten (14) einer Zufallszahl (r1);
einer Einrichtung zum Kombinieren des Exponenten (d) mit dem Produkt aus der Zufallszahl (r1) und einer Ran domisierungszahl (λ), um einen randomisierten Exponenten zu erhalten, wobei (λ) durch den Quotienten aus dem Pro dukt von zumindest zwei Zahlen und dem größten gemein samen Teiler aus den zumindest zwei Zahlen definiert ist, wobei jede der Zahlen gleich der Differenz zwi schen einer Primzahl und Eins ist, und wobei das Pro dukt aus den zumindest zwei Primzahlen, die den zumin dest zwei Zahlen zugrunde liegen, gleich dem Modul (N) ist; und
einer Einrichtung zum Durchführen (18; 28-40) einer mo dularen Exponentiation unter Verwendung des Symbols (M), des Moduls (N) und des randomisierten Exponenten, um als Ergebnis ein verarbeitetes Symbol (C) zu erhal ten.
einer Einrichtung zum Erhalten (14) einer Zufallszahl (r1);
einer Einrichtung zum Kombinieren des Exponenten (d) mit dem Produkt aus der Zufallszahl (r1) und einer Ran domisierungszahl (λ), um einen randomisierten Exponenten zu erhalten, wobei (λ) durch den Quotienten aus dem Pro dukt von zumindest zwei Zahlen und dem größten gemein samen Teiler aus den zumindest zwei Zahlen definiert ist, wobei jede der Zahlen gleich der Differenz zwi schen einer Primzahl und Eins ist, und wobei das Pro dukt aus den zumindest zwei Primzahlen, die den zumin dest zwei Zahlen zugrunde liegen, gleich dem Modul (N) ist; und
einer Einrichtung zum Durchführen (18; 28-40) einer mo dularen Exponentiation unter Verwendung des Symbols (M), des Moduls (N) und des randomisierten Exponenten, um als Ergebnis ein verarbeitetes Symbol (C) zu erhal ten.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10042234A DE10042234C2 (de) | 2000-08-28 | 2000-08-28 | Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor |
AU2001287675A AU2001287675A1 (en) | 2000-08-28 | 2001-08-10 | Method and device for carrying out a modular exponentiation in a cryptographic processor |
PCT/EP2001/009285 WO2002019065A2 (de) | 2000-08-28 | 2001-08-10 | Verfahren und vorrichtung zum durchführen einer modularen exponentiation in einem kryptographischen prozessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10042234A DE10042234C2 (de) | 2000-08-28 | 2000-08-28 | Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10042234A1 true DE10042234A1 (de) | 2002-03-14 |
DE10042234C2 DE10042234C2 (de) | 2002-06-20 |
Family
ID=7654065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10042234A Expired - Fee Related DE10042234C2 (de) | 2000-08-28 | 2000-08-28 | Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2001287675A1 (de) |
DE (1) | DE10042234C2 (de) |
WO (1) | WO2002019065A2 (de) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004070497A2 (de) * | 2003-02-04 | 2004-08-19 | Infineon Technologies Ag | Modulare exponentiation mit randomisierten exponenten |
FR2869430A1 (fr) * | 2004-04-27 | 2005-10-28 | St Microelectronics Sa | Controle de l'execution d'un algorithme par un circuit integre |
WO2009136361A1 (en) * | 2008-05-07 | 2009-11-12 | Koninklijke Philips Electronics N.V. | Exponent obfuscation |
DE102010039273A1 (de) * | 2010-08-12 | 2012-02-16 | Infineon Technologies Ag | Kryptographi-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation |
WO2013041200A1 (de) * | 2011-09-19 | 2013-03-28 | Giesecke & Devrient Gmbh | Gegen ausspähung schützbarer geheimer rsa verschlüsselungsexponent |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10326057B4 (de) * | 2003-06-11 | 2010-06-10 | Cv Cryptovision Gmbh | Gegen Seitenkanalangriffe geschütztes Verfahren zum Testen einer natürlichen Zahl auf Primalität |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5046094A (en) * | 1989-02-02 | 1991-09-03 | Kabushiki Kaisha Toshiba | Server-aided computation method and distributed information processing unit |
US5991415A (en) * | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
DE19828936A1 (de) * | 1998-05-29 | 1999-12-02 | Siemens Ag | Verfahren und Vorrichtung zum Verarbeiten von Daten |
-
2000
- 2000-08-28 DE DE10042234A patent/DE10042234C2/de not_active Expired - Fee Related
-
2001
- 2001-08-10 WO PCT/EP2001/009285 patent/WO2002019065A2/de active Application Filing
- 2001-08-10 AU AU2001287675A patent/AU2001287675A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5046094A (en) * | 1989-02-02 | 1991-09-03 | Kabushiki Kaisha Toshiba | Server-aided computation method and distributed information processing unit |
US5991415A (en) * | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
DE19828936A1 (de) * | 1998-05-29 | 1999-12-02 | Siemens Ag | Verfahren und Vorrichtung zum Verarbeiten von Daten |
Non-Patent Citations (1)
Title |
---|
SAKAI, R. u.a. New key generation algorithm for RSA cryptosystem, in: IEICE Trans. Fundamentals, Vol. E77-A, No. 1, Jan. 1994, S. 89-97 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004070497A2 (de) * | 2003-02-04 | 2004-08-19 | Infineon Technologies Ag | Modulare exponentiation mit randomisierten exponenten |
WO2004070497A3 (de) * | 2003-02-04 | 2005-01-06 | Infineon Technologies Ag | Modulare exponentiation mit randomisierten exponenten |
US7908641B2 (en) | 2003-02-04 | 2011-03-15 | Infineon Technologies Ag | Modular exponentiation with randomized exponent |
FR2869430A1 (fr) * | 2004-04-27 | 2005-10-28 | St Microelectronics Sa | Controle de l'execution d'un algorithme par un circuit integre |
EP1591866A1 (de) * | 2004-04-27 | 2005-11-02 | St Microelectronics S.A. | Kontrolle der Ausführung eines Algorithmuses durch eine integrierte Schaltung |
US7797574B2 (en) | 2004-04-27 | 2010-09-14 | Stmicroelectronics S.A. | Control of the execution of an algorithm by an integrated circuit |
WO2009136361A1 (en) * | 2008-05-07 | 2009-11-12 | Koninklijke Philips Electronics N.V. | Exponent obfuscation |
US8600047B2 (en) | 2008-05-07 | 2013-12-03 | Irdeto Corporate B.V. | Exponent obfuscation |
EP2669789A3 (de) * | 2008-05-07 | 2014-06-25 | Irdeto Corporate B.V. | Verschattung von Exponenten |
DE102010039273A1 (de) * | 2010-08-12 | 2012-02-16 | Infineon Technologies Ag | Kryptographi-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation |
DE102010039273B4 (de) * | 2010-08-12 | 2014-12-04 | Infineon Technologies Ag | Kryptographie-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation |
WO2013041200A1 (de) * | 2011-09-19 | 2013-03-28 | Giesecke & Devrient Gmbh | Gegen ausspähung schützbarer geheimer rsa verschlüsselungsexponent |
Also Published As
Publication number | Publication date |
---|---|
WO2002019065A8 (de) | 2002-09-26 |
AU2001287675A1 (en) | 2002-03-13 |
WO2002019065A2 (de) | 2002-03-07 |
DE10042234C2 (de) | 2002-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69828787T2 (de) | Verbessertes verfahren und vorrichtung zum schutz eines verschlüsselungsverfahrens mit öffentlichem schlüssel gegen angriffe mit zeitmessung und fehlereinspeisung | |
DE69930334T2 (de) | IC-Karte ausgerüstet mit einer Verarbeitungsanlage für Elliptische-Kurven-Verschlüsselung | |
WO2001048974A1 (de) | Tragbarer datenträger mit zugriffsschutz durch schlüsselteilung | |
DE112008000668T5 (de) | Kryptografisches Verfahren und System | |
EP2197149A1 (de) | Verfahren und Vorrichtung zum Verarbeiten von Daten | |
DE102005028662A1 (de) | Verfahren und Vorrichtung zum Berechnen einer Polynom-Multiplikation, insbesondere für die elliptische Kurven-Kryptographie | |
EP1922837B1 (de) | Verfahren zum sicheren ver- oder entschlüsseln einer nachricht | |
DE602004006628T2 (de) | Verfahren zur gesicherten ausführung eines rsa kryptographischen algorithmus, sowie diesbezüglicher baustein. | |
EP1290545B1 (de) | Kryptographisches verfahren und kryptographische vorrichtung | |
DE102008051447B9 (de) | Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes | |
WO2013060467A1 (de) | Effiziente primzahlprüfung | |
DE102005024609A1 (de) | Bestimmung einer modularen Inversen | |
DE10143728A1 (de) | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation | |
EP1346509B1 (de) | Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Sclüsseln | |
DE60320016T2 (de) | Verfahren zur ganzzahldivision gegen angriffe an versteckten kanälen | |
DE112018002723B4 (de) | System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen | |
DE10042234C2 (de) | Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor | |
EP1540880A1 (de) | Geschützte kryptographische berechnung | |
EP1442391B1 (de) | Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus | |
EP1454260B1 (de) | Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt) | |
DE60221863T2 (de) | Verfahren zur implementierung eines kryptographischen algorithmus zum finden des öffentlichen exponenten in einer elektronischen komponente | |
DE10162496B4 (de) | Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus | |
EP2128754B1 (de) | Sichere sliding window exponentiation | |
DE10326057B4 (de) | Gegen Seitenkanalangriffe geschütztes Verfahren zum Testen einer natürlichen Zahl auf Primalität | |
DE102004001659B4 (de) | Vorrichtung und Verfahren zum Konvertieren einer ersten Nachricht in eine zweite Nachricht |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |