WO2002019065A2 - 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 prozessor Download PDF

Info

Publication number
WO2002019065A2
WO2002019065A2 PCT/EP2001/009285 EP0109285W WO0219065A2 WO 2002019065 A2 WO2002019065 A2 WO 2002019065A2 EP 0109285 W EP0109285 W EP 0109285W WO 0219065 A2 WO0219065 A2 WO 0219065A2
Authority
WO
WIPO (PCT)
Prior art keywords
mapping rule
security module
page
logical
mapping
Prior art date
Application number
PCT/EP2001/009285
Other languages
English (en)
French (fr)
Other versions
WO2002019065A8 (de
Inventor
Holger Sedlak
Jean-Pierre Seifert
Original Assignee
Infineon Technologies Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies Ag filed Critical Infineon Technologies Ag
Priority to AU2001287675A priority Critical patent/AU2001287675A1/en
Publication of WO2002019065A2 publication Critical patent/WO2002019065A2/de
Publication of WO2002019065A8 publication Critical patent/WO2002019065A8/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/145Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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/755Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/723Modular exponentiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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/302Public 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7257Random modification not requiring correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7271Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred

Definitions

  • the present invention relates to cryptography and in particular to modular exponentiation as one of the most important arithmetic operations, for example in public key cryptography methods.
  • modular exponentiation can also be used for RSA decryption, for example.
  • M is the encrypted message while C is the decrypted message.
  • decryption such as. B. the RSA decryption
  • the module N is usually known, while the exponent d is secret.
  • So-called information leak attacks attempt to obtain secret data from the calculation of the modular exponentiation, for example via the secret key or exponent d.
  • the algorithm begins in a block 100 and initially initializes the required variables, namely the module N, the exponent d and the message M to be signed, or alternatively the message to be decrypted (in the case of RSA decryption) in a block 102. From these The encrypted symbol C in the case of an RSA signature or the decrypted symbol C in the case of RSA decryption is calculated using the conventional modular exponentiation formula given in block 104. The result is then output in a block 106, after which the algorithm is ended in a block 108.
  • This general scheme for calculating the modular exponentiation given in block 104 does not include any countermeasures against any form of attack, e.g. B. a timing attack, a performance attack or a radiation attack.
  • DE 198 28 936 AI includes a method and a device for processing data in order to better secure a modular exponentiation against external attacks.
  • the method disclosed in DE 198 28 936 AI is approximately as recorded in FIG. 4.
  • exponent d is randomized using a Random number ri and a randomization of the base using an addition case number r 2 suggested.
  • the variables M, d, N and ⁇ (N) are initialized in a block 110.
  • ⁇ (N) represents the so-called Euler ⁇ function, which is defined by (p-1) x (q-1), as can be seen in the equation shown in FIG. 4.
  • a random number ri is then selected in a step 112 to randomize the exponent.
  • a random number r is then selected in a step 114 to randomize the base M.
  • the modular exponentiation shown in block 116 is then carried out in the known method in order to obtain the processed symbol C in block 106, after which the algorithm is ended.
  • CTR Chinese Residence or Reminder Theorem
  • Modular exponentiation using the Chinese residual theorem is known in the art and is described, for example, in the Handbook of Applied Cryptography by Menezes, van Oorschort and van Stone, pages 610 to 613, published by Springer-Verlag.
  • M, d p , d q , p and q are initialized in a block 118.
  • p and q are the secret RSA prime numbers, the product of which gives the module N.
  • the variable d is again the secret RSA exponent.
  • the auxiliary quantities d p and d q are calculated, as is also shown in FIG. 5.
  • ⁇ (p) here again means the Euler ⁇ function.
  • FIG. 5 shows the modular exponentiation using the Chinese residual theorem according to the HL Garner algorithm.
  • the object of the present invention is to provide a method and a device for carrying out a modular exponentiation, which deliver a high security standard, but at the same time do not require too much computing effort.
  • p and q are two prime numbers of equal length.
  • ⁇ (N) ⁇ (N) / ggT (p-1, q-1).
  • the Carmichael ⁇ function is smaller than the Euler ⁇ function by the greatest common divisor (ggT) of (p-1) and (q-1).
  • the exponent is therefore a few bits shorter than the exponent used the Euler function has been randomized so that the modified modular exponentiation can be calculated more quickly than can be achieved with the system shown in FIG. 4.
  • the Carmichael ⁇ function can be formed not only with two prime numbers, but using any number of prime numbers as long as the product of the number of prime numbers is equal to the module N.
  • is defined by the quotient of the product of at least two numbers and the greatest common divisor of the at least two numbers, each of the numbers being the difference between a prime number and one, and the product of the at least two Prime numbers underlying the at least two numbers are equal to the module (N).
  • is calculated as follows for three prime numbers p, q, r:
  • the function ⁇ can be formed for any number of prime numbers.
  • the randomization of the exponent using the Carmichael ⁇ function is used for calculating the modular exponentiation either with or without a Chinese remainder theorem.
  • Preferred exemplary embodiments of the present invention are explained in more detail below with reference to the accompanying figures. Show it:
  • FIG. 1 shows a flowchart of the method according to a first exemplary embodiment of the present invention without using the Chinese remainder sentence;
  • FIGS. 2A and 2B show a flow diagram of the method according to a second exemplary embodiment of the present invention using the Chinese remainder sentence;
  • FIG. 1 shows a flowchart of a method according to a first exemplary embodiment of the present invention.
  • the method is started by a block 10.
  • the necessary variables M, d, N and ⁇ are then initialized in a block 12, ⁇ represents the Carmichael ⁇ function and, as shown in FIG. 1 at the bottom left, is calculated from the prime numbers p and q, the Product of the prime numbers p and q gives the module N.
  • Carmichael's function can be used not only if the two prime numbers p, q have the same length, but that this function can always be used if the product of p and q gives the module N.
  • a random number is chosen, for example between 0 and 2 32 , which is used to randomize the exponent.
  • a random number r 2 can be selected in a step 16, with which the base, ie the symbol M, can be randomized in order to distribute the current consumption and power profiles of a crypto processor even more homogeneously, so that it is made more difficult for attackers, secret Find out information.
  • the processed symbol which is the encrypted symbol in the case of the RSA signature, or which is the decrypted symbol in the case of RSA decryption, is then calculated.
  • the value for C is finally stored in block 20, after which the algorithm ends in block 22.
  • the following should be noted with regard to the randomization of the base. If the base M is replaced by the base M + r 2 * M, where r 0 is a random n-bit number, there is no change in the final results, since the following relationship applies:
  • the random numbers ⁇ and r 2 It is preferred to take the same 32-bit numbers if module N is a 1024-bit module. If module N is a 2048-bit module, it is preferred to take 64-bit numbers for ri and r 2 .
  • the length of the random numbers accomplishes two things. First, the higher randomization increases security. On the other hand, however the processing speed is also increased, which, however, is in any case better by using the Carmichael ⁇ function according to the invention than when using the Euler ⁇ function, since the relationship between ⁇ and ⁇ does not depend on the length of the numbers ri and r 2 .
  • the selection of the random numbers ri and r 2 thus provides substantial flexibility in that an optimal relationship between security on the one hand and calculation effort on the other hand can be created with one and the same algorithm or with one and the same chip for a multitude of different requirements. If the random numbers are chosen to be very short, processing is quick, but security could suffer. On the other hand, if the random numbers are used very long for high-security applications in which the processing speed is not an essential criterion, a maximum security standard can be achieved without further ado.
  • FIG. 2A shows a second exemplary embodiment according to the present invention, in which, like the first exemplary embodiment shown in FIG. 1, both the exponent and the base are randomized.
  • the modular exponentiation is calculated using the Chinese residual theorem.
  • M, d, p and q are initialized in block 12, where M is again the symbol to be processed, while d is the exponent and p and q are two prime numbers, the product of which corresponds to the module M.
  • a parameter t is selected, the parameter t being a random prime number, which preferably has a length between 16 and 32.
  • the length in bits of the parameter t can be set as desired.
  • the random numbers ri and r 2 are selected in steps 14 and 16, the randomized base M t being calculated using the random number r 2 in a step 24, while in a block 26 the randomized exponent d t is calculated using the random number - number ri is calculated.
  • the equation for the ⁇ function given at the bottom left in FIG. 1 is already written out in block 26.
  • the individual parameters C p t, C qt , x pt and C t are then calculated in blocks 28 to 34 in accordance with the equations given in FIG. 2A, it being particularly pointed out that, for example, in block 28 the Carmichael ⁇ function of p and t is calculated, while in block 30 the Carmichael ⁇ function of q and t is calculated.
  • Block 36 provides a kind of self-test function by checking the relationship between the parameters Ct, C qt and t.
  • the method according to the invention and the device according to the invention can be implemented in various ways.
  • a software-based implementation on a general-purpose computer is of course conceivable, for example, to carry out an RSA signature or an RSA decryption.
  • the applications of the concept according to the invention are even more preferred in crypto processors on cash cards, smart cards, ID cards or the like, since these elements are to be used in large quantities and therefore reading devices with a limited cost framework are essential.
  • the concept of the invention can be implemented partially or even completely in hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Ein erfindungsgemässes Verfahren zum Herstellen von Sicherheitsmodulen mit einer virtuellen Speicheradressierung, bei der logische Adressen mittels einer Abbildungsvorschrift (30) auf eindeutige Weise auf physikalische Adressen abgebildet werden, umfasst das Bereitstellen eines ersten Sicherheitsmoduls mit einer ersten Abbildungsvorschrift sowie das Bereitstellen eines zweiten Sicherheitsmoduls mit einer zweiten Abbildungsvorschrift, wobei sich die erste Abbildungsvorschrift von der zweiten Abbildungsvorschrift unterscheidet. Es wird die Eigenschaft der virtuellen Speicheradressierung, nämlich der Invarianz des Programmadressraumes von dem tatsächlichen physikalischen Adressraum bzw. Von der Abbildungsvorschrift (30) des Programmadressraumes in den physikalischen Adressraum, dadurch ausgenutzt, dass bei ansonsten gleichartigen Sicherheitsmodulen die gespeicherten Informationen, wie z.B. ein Applikationscode oder Applikationsdaten, in einem Vergleich zwischen zwei verschiedenen Sicherheitsmodulen und/oder in einem Vergleich eines Sicherheitsmoduls zu zwei verschieden Zeitpunkten in unterschiedlichen physikalischen Adressen gespeichert sind, wodurch die Sicherheit des Sicherheitsmoduls gegen Angriffe erhöht ist.

Description

Verf hren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem ryptographisehen Prozessor
Beschreibung
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-Attacken auf Kryptographie-Prozessoren, welche versuchen, geheime 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 Exponentiation beispielsweise auch bei der RSA-Entschlüsselung verwendet werden. In diesem Fall ist M die verschlüsselte Nachricht, 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 bekannt, während der Exponent d geheim ist.
Sogenannte Informations-Leck-Attacken versuchen, aus der Berechnung der modularen Exponentiation geheime Daten beispielsweise über den geheimen Schlüssel oder Exponenten d zu gewinnen. Hierzu sei lediglich beispielhaft auf folgende Veröffentlichungen hingewiesen: P. Kocher "Timing Attacks on 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. alternativ 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 gegebenen 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 AI umfaßt ein Verfahren und eine Vorrichtung zum Verarbeiten von Daten, um eine modulare Exponentiation besser gegen äußere Attacken sichern zu können. Das in der DE 198 28 936 AI 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 ri sowie eine Randomisierung der Basis unter Verwendung einer Zu- fallszahl 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) x (q-1) definiert ist, wie es in der in Fig. 4 dargestellten Gleichung zu sehen ist. Daraufhin wird eine Zufallszahl ri in einem Schritt 112 zum Randomisieren des Exponenten ausgewählt. Anschließend wird eine Zufallszahl r in einem Schritt 114 zum Randomisieren der Basis M ausgewä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 Eulersche φ-Funktion zur Randomisierung des Exponenten eingesetzt.
Ein anderes Verfahren zum Berechnen der modularen Exponentiation besteht darin, die modulare Exponentiation unter Verwendung des chinesischen Restsatzes (CRT; CRT = Chinese Re- sidue 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, van Oorschort und van Sto- ne, Seiten 610 bis 613, erschienen im Springer-Verlag, beschrieben. 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 dem chinesischen Restsatz nach dem Algorithmus von H. L. Garner darstellt.
Die bisherigen Abwehrmaßnahmen der eingangs aufgeführten Attacken lassen sich gemäß der Berechnung der Exponentiation in zwei Gruppen unterteilen: Nicht-Benutzung oder aber Benutzung des chinesischen Restsatzes zur Berechnung der modularen 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 modularen Exponentiation.
Die Verwendung des chinesischen Restsatzes zur modularen Exponentiation, wie es in Fig. 5 dargestellt ist, liefert jedoch 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 identifizieren, indem die mathematischen und statistischen Eigenschaften der fehlerhaft berechneten Ergebnisse analysiert werden. Unter den vielen vorgeschlagenen Techniken zum Einfügen solcher Fehler befinden sich die Verwendung einer ionisierenden 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 durchgeführt, woraufhin die Differenzen der Ergebnisse analysiert werden. Bezüglich näherer Details und weiterer solcher Attacken wird auf das US-Patent Nr. 5,991,415 verwiesen.
Eine Möglichkeit, um diese Attacken zu umgehen, besteht darin, im wesentlichen die in Fig. 5 gezeigte Berechnung zweimal auszuführen, wobei es bevorzugt wird, unterschiedliche Algorithmen zu verwenden. Wenn irgendeine Diskrepanz zwi- sehen den zwei Ergebnissen gefunden werden sollte, sollte der kryptographische Prozessor, der beispielsweise in einer Geldkarte oder Smartcard untergebracht ist, keinerlei Ausgaben liefern. Dies erzeugt einen starken Schutz vor zufälligen Fehlern, welche lediglich mit einer sehr geringen Wahrscheinlichkeit zwei Berechnungen auf identische Art und Weise 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 Signaturchips gedacht wird, so ist es ohne weiteres einsichtig, 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 natürlich die Sicherheit ein wesentlicher Faktor ist, daß jedoch auf die Effizienz der Berechnung, d. h. ein sinnvoller und sparsamer Umgang mit Rechenressourcen, ebenfalls ein gewichtiger 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 modularen Exponentiation zu schaffen, welche einen hohen Sicherheitsstandard liefern, jedoch gleichzeitig keinen all zu hohen 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 Exponentiation nach Patentanspruch 13 gelöst. Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Verwendung der Eulerschen φ-Funktion zur Randomisierung 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 dessen wird eine Randomisierung unter Verwendung der Carmi- chaelschen λ-Funktion verwendet, welche bei ähnlich großem Sicherheitsstandard zu einer deutlichen Reduktion der erforderlichen Rechenleistung führt. Der randomisierte Exponent d' ergibt sich aus folgendem Zusammenhang:
Diese Randomisierung ist durch die folgende Identität gestützt :
M(λ(H)> = 1 mod N
Damit gilt:
Figure imgf000008_0002
Ü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 φ-Funktion 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, solange 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 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 liegen, gleich dem Modul (N) ist.
Für zwei Primzahlen p, q berechnet sich die Funktion λ demnach folgendermaßen:
λ = (p-1) (q-l)/ggT(p-l,q-l)
Für drei Primzahlen p, q, r berechnet sich die Funktion λ demnach folgendermaßen:
λ = (p-1) (q-1) (r-l)/ggT(p-l,q-l,r-l)
Analog kann die Funktion λ für beliebige Anzahlen von Primzahlen gebildet werden.
Gemäß bevorzugten Ausführungsbeispielen der vorliegenden Erfindung wird die Randomisierung des Exponenten unter Verwendung 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 Erfindung unter Verwendung des chinesischen Restsatzes;
Fig. 3 ein bekanntes Verfahren zur Berechnung der modularen Exponentiation;
Fig. 4 ein bekanntes Verfahren mit randomisiertem Exponenten 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 hingewiesen, daß die Carmichaelsche Funktion nicht nur dann verwendet werden kann, wenn die beiden Primzahlen p, q die gleiche Länge haben, sondern daß diese Funktion immer genommen 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 Stromaufnahme- und Leistungsprofile eines Kryptoprozessors noch homogener zu verteilen, so daß es Angreifern noch schwerer gemacht wird, geheime Informationen herauszufinden.
Es sei jedoch darauf hingewiesen, daß bereits die Randomisierung des Exponenten unter Verwendung der Carmichaelschen λ-Funktion eine bedeutende Erhöhung der Sicherheit gegen Informations-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, berechnet. 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 angemerkt. Wenn die Basis M durch die Basis M+r2*M ersetzt wird, wobei r0 eine zufällige n-Bit-Zahl ist, findet keine Änderung der Endergebnisse statt, da folgender Zusammenhang gilt:
(M+r0*N) = N od N
Bezüglich der Zufallszahlen ∑χ und r2 sei folgendes angemerkt. 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 ri und r2 64-Bit-Zahlen zu nehmen. Es sei insbesondere darauf hingewiesen, daß durch die Länge der Zufallszahlen zwei Dinge erreicht werden. Zunächst wird durch die höhere Randomisierung 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 Eulerschen φ-Funktion ist, da der Zusammenhang zwischen λ und φ nicht von der Länge der Zahlen ri und r2 abhängt. Die Auswahl der Zufallszahlen ri und r2 liefert also eine wesentliche Flexibilität dahingehend, daß mit ein und demselben Algorithmus bzw. mit ein und demselben Chip für eine Vielzahl von verschiedenen Anforderungen ein optimales Verhältnis zwischen Sicherheit einerseits und Berechnungsaufwand andererseits 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 dagegen für Hochsicherheitsanwendungen, bei denen die Verarbeitungsgeschwindigkeit 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 Unterschied zu dem in Fig. 1 gezeigten Ausführungsbeispiel findet bei dem in Fig. 2A und Fig. 2B gezeigten Ausführungsbeispiel 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 ausgewä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 ri 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 Zufalls- zahl ri 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 berechnet, wobei besonders darauf hingewiesen wird, daß beispielsweise in dem Block 28 die Carmichaelsche λ-Funktion von p und t berechnet wird, während in dem Block 30 die Carmichaelsche λ-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 sicher, daß keine Fehler während des Ausführen der Berechnungen 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 abgebrochen (Block 38). Gleichzeitig wird keinerlei Ausgabe erzeugt, 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 einen Block 40 übergesprungen, in dem das verarbeitete Symbol gemäß der in Fig. 2b im Block 40 gegebenen Gleichung berechnet 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 hingewiesen. 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 somit 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 dargestellten Konzepts zur Fehlerüberprüfung wird somit ein Faktor 2 an Rechenzeitersparnis bei nahezu gleichem Sicherheitsstandard neben der Rechenzeitersparnis durch die erfindungsgemäße Randomisierung des Exponenten geschaffen.
Es sei darauf hingewiesen, daß das erfindungsgemäße Verfahren bzw. die erfindungsgemäße Vorrichtung auf verschiedene Arten und Weisen implementiert werden können. So ist selbstverständlich eine rein softwaremäßige Implementation auf einem Allzweckrechner denkbar, um beispielsweise eine RSA-Signatur oder eine RSA-Entschlüsselung durchzuführen. Noch bevorzugter sind jedoch die Anwendungen des erfindungsgemäßen Konzepts in Kryptoprozessoren auf Geldkarten, Smartcards, Ausweisen oder ähnlichem, da diese Elemente in großen Stückzahlen verwendet werden sollen und daher Lesegeräte mit begrenztem Kostenrahmen unabdingbar sind. Bei solchen Anwendungen kann das erfindungsgemäße Konzept teilweise oder sogar vollständig in Hardware realisiert sein.

Claims

Patentansprüche
1. Verfahren zum Herstellen von Sicherheitsmodulen mit einer virtuellen Speicheradressierung, bei der logische Adressen mittels einer Abbildungsvorschrift auf eindeutige Weise auf physikalische Adressen abgebildet werden, mit ~ folgenden Schritten:
Bereitstellen (50) eines ersten Sicherheitsmoduls mit einer ersten Abbildungsvorschrift; und
Bereitstellen (60) eines zweiten Sicherheitsmoduls mit einer zweiten Abbildungsvorschrift,
wobei sich die erste Abbildungsvorschrift von der zweiten Abbildungsvorschrift unterscheidet .
2. Verfahren gemäß Anspruch 1, bei dem die Schritte des Bereitsteilens (50, 60) das zufällige Erstellen der ersten beziehungsweise zweiten Abbildungsvorschrift aufweisen.
3. Verfahren gemäß Anspruch 1, bei dem die Schritte des Bereitsteilens (50, 60) das Auswählen der ersten beziehungsweise zweiten Abbildungsvorschrift aus einer Vielzahl von unterschiedlichen Abbildungsvorschriften aufweisen.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Schritte des Bereitsteilens (50, 60) das Laden der ersten beziehungsweise zweiten Abbildungsvorschrift in einen nicht-flüchtigen Speicher des ersten beziehungsweise zweiten Sicherheitsmoduls aufweisen.
5. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Schritte des Bereitsteilens (50, 60) das Brennen der ersten beziehungsweise zweiten Abbildungsvorschrift auf eine ROM- Maske des ersten beziehungsweise zweiten Sicherheitsmoduls aufweisen.
6. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem die erste und die zweite Abbildungsvorschrift Übersetzungsnachschlagtabellen (40) mit einer Mehrzahl von Einträgen umfassen, wobei jeder Eintrag eine logische
Adresse und eine physikalische Adresse aufweist, auf die* die logische Adresse abgebildet ist.
7. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem die erste und die zweite Abbildungsvorschrift Algorithmen zum
Berechnen der physikalischen Adressen aus den logischen Adressen aufweisen.
8. Verfahren gemäß Anspruch 7, bei dem die Algorithmen hardwaremäßig implementiert sind und sich voneinander unterscheiden.
9. Verfahren gemäß Anspruch 7, bei dem die Algorithmen identisch und durch zumindest einen Parameter konfigurierbar sind, wobei die Schritte des Bereitsteilens (50, 60) das Konfigurieren des Algorithmus durch Laden von unterschiedlichen Parametern auf das erste beziehungsweise zweite Sicherheitsmodul aufweisen.
10. Verfahren gemäß einem der Ansprüche 1 bis 9, bei dem die erste und die zweite Abbildungsvorschrift seitenweise Abbildungsvorschriften (130) sind, die nicht überlappende logische Seiten (120a, 120b, 120c, 120d, 120e, 120f) auf nicht überlappende physikalische Seitenabschnitte (140a, 140b, 140c, 140d, I40e, 140f) abbildet, wobei jede logische Adresse eine Seitenadresse einer logischen Seite und jede physikalische Adresse eine Seitenabschnittsadresse eines physikalischen Seitenabschnitts ist, und wobei die Seitengröße gleich der Seitenabschnittsgröße ist.
11. Verfahren gemäß Anspruch 10, bei dem die Seitengröße zwischen 32 und 128 Bytes beträgt.
12. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem das Sicherheitsmodul eine Chipkarte ist, die mehrere Applikationen unterstützt, wobei jeder Applikation unterschiedliche logische Adressen zugeordnet sind.
13. Sicherheitsmodul mit einer virtuellen Speicheradressierung, bei der logische Adressen mittels einer ersten Abbildungsvorschrift auf eindeutige Weise auf physikalische Adressen abgebildet werden, mit folgendem Merkmal:
einer Einrichtung (70) zum Ändern der ersten Abbildungsvorschrift in eine zweite Abbildungsvorschrift ansprechend auf das Eintreten eines vorbestimmten Ereignissen,
wobei sich die erste Abbildungsvorschrift von der zweiten Abbildungsvorschrift unterscheidet .
14. Sicherheitsmodul gemäß Anspruch 13, das ferner folgendes Merkmal aufweist:
eine Einrichtung zum Kopieren des Speicherinhalts derjeniger physikalischen Adressen, auf die die logischen Adressen durch die erste Abbildungsvorschrift abgebildet werden, zu denjenigen physikalischen Adressen, auf die die logischen Adressen durch die zweite Abbildungsvorschrift abgebildet werden.
15. Sicherheitsmodul gemäß Anspruch 13 oder 14, bei dem das vorbestimmte Ereignis das Eintreten der Chipkarte in Kommunikation mit einem Terminal, das Ablaufen einer vorbestimmten Zeitperiode oder das Erfassen der Verletzung vorbestimmter Sicherheitsbedingungen aufweist.
16. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 15, bei dem die Einrichtung zum Ändern (70) einen Zufallszahlengenerator umfaßt.
17. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 15, das ferner folgende Merkmale aufweist:
eine Einrichtung zum Empfangen der zweiten Abbildungsvorschrift von einem Terminal.
18. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 17, bei dem die erste und die zweite Abbildungsvorschrift in einem nicht-flüchtigen Speicher des Sicherheitsmoduls gespeichert sind.
19. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 18, bei dem die erste und die zweite Abbildungsvorschrift Übersetzungsnachschlagtabellen mit einer Mehrzahl von Einträgen umfassen, wobei jeder Eintrag eine logische Adresse und eine physikalische Adresse aufweist, auf die die logische Adresse abgebildet ist.
20. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 19,- bei dem die erste und die zweite Abbildungsvorschrift Algorithmen zum Berechnen der physikalischen Adressen aus den logischen Adressen aufweisen.
21. Verfahren gemäß Anspruch 20, bei dem die Algorithmen hardwaremäßig implementiert sind und sich voneinander unterscheiden.
22. Verfahren gemäß Anspruch 20, bei dem die Algorithmen identisch und durch zumindest einen Parameter konfigurierbar sind, wobei die Einrichtung zum Ändern (70) eine Einrichtung zum Laden von unterschiedlichen Parametern auf dem Sicherheitsmodul aufweist.
23. Verfahren gemäß einem der Ansprüche 13 bis 22, bei dem die erste und die zweite Abbildungsvorschrift seitenweise Abbildungsvorschriften (130) sind, die nicht überlappende logische Seiten (120a, 120b, 120c, 120d, 120e, 120f) auf nicht überlappende physikalische Seitenabschnitte (140a, 140b, 140c, 140d, 140e, 140f) abbildet, wobei jede logische Adresse eine Seitenadresse einer logischen Seite und jede physikalische Adresse eine Seitenabschnittsadresse eines physikalischen Seitenabschnitts ist, und wobei die Seitengröße gleich der Seitenabschnittsgröße ist.
24. Sicherheitsmodul gemäß Anspruch 23, bei dem die Seitengröße zwischen 32 und 128 Bytes beträgt.
25. Sicherheitsmodul gemäß einem der Ansprüche 13 bis 24, bei dem das Sicherheitsmodul eine Chipkarte ist, die mehrere Applikationen unterstützt, wobei jeder Applikation unterschiedliche logische Adressen zugeordnet sind.
26. Vorrichtung zum Herstellen von Sicherheitsmodulen mit einer virtuellen Speicheradressierung, bei der logische Adressen mittels einer Abbildungsvorschrift auf eindeutige Weise auf physikalische Adressen abgebildet werden, mit folgendem Merkmal:
einer Einrichtung zum Bereitstellen eines ersten Sicherheitsmoduls mit einer ersten Abbildungsvorschrift und eines zweiten Sicherheitsmoduls mit einer zweiten AbbildungsVorschrift,
wobei sich die erste Abbildungsvorschrift von der zweiten Abbildungsvorschrift unterscheidet .
27. Verfahren zum Konfigurieren eines Sicherheitsmoduls mit einer virtuellen Speicheradressierung, bei der logische Adressen mittels einer ersten Abbildungsvorschrift auf eindeutige Weise auf physikalische Adressen abgebildet werden, mit folgendem Schritt:
Ändern der ersten Abbildungsvorschrift in eine zweite Abbildungsvorschrift ansprechend auf das Eintreten eines vorbestimmten Ereignisses, wobei sich die erste Abbildungsvorschrift von der zweiten Abbildungsvorschrift unterscheidet .
PCT/EP2001/009285 2000-08-28 2001-08-10 Verfahren und vorrichtung zum durchführen einer modularen exponentiation in einem kryptographischen prozessor WO2002019065A2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001287675A AU2001287675A1 (en) 2000-08-28 2001-08-10 Method and device for carrying out a modular exponentiation in a cryptographic processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10042234.9 2000-08-28
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
WO2002019065A2 true WO2002019065A2 (de) 2002-03-07
WO2002019065A8 WO2002019065A8 (de) 2002-09-26

Family

ID=7654065

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/009285 WO2002019065A2 (de) 2000-08-28 2001-08-10 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10304451B3 (de) 2003-02-04 2004-09-02 Infineon Technologies Ag Modulare Exponentiation mit randomisiertem Exponenten
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
FR2869430A1 (fr) 2004-04-27 2005-10-28 St Microelectronics Sa Controle de l'execution d'un algorithme par un circuit integre
KR20110014630A (ko) * 2008-05-07 2011-02-11 이르데토 비.브이. 지수 불명료화
DE102010039273B4 (de) * 2010-08-12 2014-12-04 Infineon Technologies Ag Kryptographie-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation
DE102011115082A1 (de) 2011-09-19 2013-03-21 Giesecke & Devrient Gmbh Gegen Ausspähung schützbarer geheimer RSA Verschlüsselungsexponent

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Keine Recherche *

Also Published As

Publication number Publication date
WO2002019065A8 (de) 2002-09-26
DE10042234C2 (de) 2002-06-20
DE10042234A1 (de) 2002-03-14
AU2001287675A1 (en) 2002-03-13

Similar Documents

Publication Publication Date Title
DE69917592T2 (de) Gegen stromverbrauchsignaturanfall beständige kryptographie
DE69828787T2 (de) Verbessertes verfahren und vorrichtung zum schutz eines verschlüsselungsverfahrens mit öffentlichem schlüssel gegen angriffe mit zeitmessung und fehlereinspeisung
DE112008000668B4 (de) Kryptografisches Verfahren und System
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
EP1262037A1 (de) Tragbarer datenträger mit zugriffsschutz durch schlüsselteilung
EP1290545B1 (de) Kryptographisches verfahren und kryptographische vorrichtung
DE102016120558A1 (de) Datenverarbeitungsvorrichtung und -verfahren für kryptographische verarbeitung von daten
DE602004006628T2 (de) Verfahren zur gesicherten ausführung eines rsa kryptographischen algorithmus, sowie diesbezüglicher baustein.
DE102017002153A1 (de) Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
DE102005041102A1 (de) Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE102008051447B9 (de) Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes
DE112018002723B4 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
WO2004070497A2 (de) Modulare exponentiation mit randomisierten exponenten
WO2002019065A2 (de) Verfahren und vorrichtung zum durchführen einer modularen exponentiation in einem kryptographischen prozessor
DE10151129B4 (de) Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung
WO2003034268A2 (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
DE102020134618A1 (de) Sicherheits-controller und verfahren zur verarbeitung von datenelementen eines datenfeldes
EP1506473B1 (de) Ausspähungsgeschützte modulare inversion
DE60220793T2 (de) Verwürfelung bzw. Verschleierung (Scrambling) einer Berechnung, bei welcher eine modulare Funktion zur Anwendung kommt
DE102020102796A1 (de) Datenverarbeitungsvorrichtung und verfahren zum verarbeiten von geheimen daten
DE102018006313A1 (de) Verfahren mit Safe-Error-Abwehrmaßnahme
EP2128754B1 (de) Sichere sliding window exponentiation
EP1518165B1 (de) Berechnung eines vielfachen eines gruppenelements für kryptographische zwecke

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

D17 Declaration under article 17(2)a
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP