DE10042234A1 - Method and apparatus for performing a modular exponentiation in a cryptographic processor - Google Patents

Method and apparatus for performing a modular exponentiation in a cryptographic processor

Info

Publication number
DE10042234A1
DE10042234A1 DE2000142234 DE10042234A DE10042234A1 DE 10042234 A1 DE10042234 A1 DE 10042234A1 DE 2000142234 DE2000142234 DE 2000142234 DE 10042234 A DE10042234 A DE 10042234A DE 10042234 A1 DE10042234 A1 DE 10042234A1
Authority
DE
Grant status
Application
Patent type
Prior art keywords
security
specification
address
mapping
physical
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
Application number
DE2000142234
Other languages
German (de)
Other versions
DE10042234C2 (en )
Inventor
Holger Sedlak
Jean-Pierre Seifert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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; 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; 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 communication
    • 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; 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; 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

Abstract

The invention relates to a method for producing security modules with virtual memory addressing whereby logical addresses are mapped uniquely onto physical addresses using a mapping specification (30). The method comprises the provision of a first security module with a first mapping specification and the provision of a second security module with a second mapping specification which is different from the first mapping specification. The particularity of the virtual memory address, i.e. the invariancy of the programme address space from the actual physical address space or from the mapping specification (30) of the programme address space in the physical address space is used insofar as for security modules that are otherwise identical, the stored information, e.g. an application code or application data, are stored in different physical addresses at two different points in time in a comparison between two different security modules and/or in a comparison of one security module. This increases the security of the security module with respect to attacks.

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. The present invention relates to cryptography and more particularly to modular exponentiation as one of the major arithmetic operations in, for example, public-key cryptography method.

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. For several years, there are so-called Information Leak At tock on cryptographic processors that try to win ge homes data from the calculation of the modular exponentiation, which is one of the central processing operations, for example in public-key cryptography method. Ein dominierendes, derartiges Verfahren ist beispielsweise das RSA-Verfahren zum Erzeugen einer RSA-Signatur einer Nachricht M, dh C : = M d mod N. A dominant, such a method is, for example, the RSA algorithm for generating an RSA signature of a message M, that C: = M d mod N.

Alternativ kann neben der RSA-Signatur die modulare Exponen tiation beispielsweise auch bei der RSA-Entschlüsselung ver wendet werden. Alternatively, the modular Exponen can next to the RSA signature tiation for example, also in the RSA decryption ver turns. In diesem Fall ist M die verschlüsselte Nach richt, während C die entschlüsselte Nachricht ist. In this case, M is directing the encrypted Once, while C is the decrypted message. Daraus wird ersichtlich, daß die modulare Exponentiation sowohl bei einer Verschlüsselung, wie z. From this it is seen that the modular exponentiation both for encryption such. B. der RSA-Signatur, als auch bei einer Entschlüsselung, wie z. As the RSA signature, as well as a decryption such. B. der RSA- Entschlüsselung, eingesetzt werden kann. As the RSA decryption can be used. Die mathematische Operation bleibt die gleiche; The mathematical operation remains the same; die Bedeutungen der Variablen C und M sind jedoch in beiden Fällen genau entgegengesetzt. the meanings of the variables C and M are, however, exactly opposite in both cases.

Bei einer RSA-Signatur ist der Modul N üblicherweise be kannt, während der Exponent d geheim ist. In an RSA signature of module N normally be disallowed, while the exponent d is secret.

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. So-called information leakage attacks try to win from the loading calculation of the modular exponentiation secret data in play, via the secret key or exponent d. 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). For this is merely an example pointed to the following publications: P. Kocher "Timing Attacks on Implementations of DH, RSA, DSS and other system" (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. June" differential Power Analysis "(Proc. of CRYPTO '99) and J. Quisquater, D . Samyde "Electro Magnetic Analysis Attacks" (Rumpsession of EUROCRYPT '00).

Im nachfolgenden wird auf Fig. 3 eingegangen, welche ein Flußdiagramm einer üblichen modularen Exponentiation zeigt. In the following will be made to FIG. 3, which shows a flowchart of a conventional modular exponentiation. 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 . The algorithm begins at block 100 and initializes the necessary variables, namely the modulus N, the exponent d and the message to be signed M or alter natively, the message to be decrypted (in the case of an RSA decryption) in one block 102nd 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. From these variables the encrypted symbol C is calculated in the case of an RSA signature or the decrypted symbol C in the case of RSA decryption using the given standard formula in block 104 the modular exponentiation. Das Ergebnis wird dann in einem Block 106 ausgegeben, wonach der Algorithmus in einem Block 108 beendet ist. The result is then outputted in block 106, after which the algorithm is terminated in a block 108th

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. This general scheme for calculating the ge passed in block 104 includes modular exponentiation no countermeasures be taken against any form of attacks such. B. eine Timing-Attacke, eine Leistungs-Attacke oder eine Strahlungs- Attacke. As a timing attack, an attack power or a radiation attack.

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. The DE 198 28 936 A1, a method and a Vorrich processing for processing data, a modular eXponentia tion better be able to secure to external attacks. 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 r 1 sowie eine Randomisierung der Basis unter Verwendung einer Zufallszahl r 2 vorgeschlagen. The method disclosed in DE 198 28 936 A1 method provides approximately as in Fig. 4 is recorded. In contrast to the example shown in Fig. 3 known embodiment, in the example shown in Fig. 4 known method, a randomization of the exponent d using random number r 1 and a randomization of the base using a random number r 2 proposed. Im einzelnen werden in einem Block 110 die Variablen M, d, N und ϕ(N) initialisiert. In detail, the variable M, i.e., N and φ (N) are initialized in a block 110th ϕ(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. φ (N) in this case represents the so-called Euler's φ function represented by (p - 1) × (q - 1) is defined as shown Equation 4 is shown in the in FIGS.. Daraufhin wird eine Zufallszahl r 1 in einem Schritt 112 zum Randomisieren des Exponenten ausgewählt. Then, a random number r 1 in step 112, is selected for randomizing the exponent. Anschließend wird eine Zufallszahl r 2 in einem Schritt 114 zum Randomisieren der Basis M ausge wählt. Subsequently, a random number r 2 in a step 114 for randomizing the basis of M is selected. 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. Then is performed the position shown in block 116, modular exponentiation in the known method to obtain the processed symbol C in the block 106, after which the algorithm is terminated.

Ein ähnliches Verfahren wird auch in dem US-Patent Nr. 5,991,415 von Adi Shamir beschrieben. A similar process is also described in US Pat. No. 5,991,415 of Adi Shamir. Auch hier wird die Eu lersche ϕ-Funktion zur Randomisierung des Exponenten einge setzt. Again, the Eu sets lersche φ function for randomization of the exponent is.

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. Another method for calculating the modular Exponen tiation is the modular exponentiation, using the Chinese Remainder Theorem (CRT CRT = Chinese Residue or Reminder Theorem) be carried out. 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. The modular exponentiation using the Chinese remainder theorem is known in the art, for example, in "Handbook of Applied Cryptography" by Menezes, of Oorschort and Sto ne, pages 610-613, published by Springer-Verlag, be described. Zunächst werden in einem Block 118 die nötigen Variablen M, d p , d q , p und q initialisiert. In a block 118 first the necessary variables M, d p, d q, p and q are initialized. Wie es unten in Fig. 5 dargestellt ist, sind p und q die geheimen RSA- Primzahlen, deren Produkt den Modul N ergibt. As shown below in Fig. 5, p and q are the secret RSA primes, the product of which results in the module N. Die Variable d ist wieder der geheime RSA-Exponent. The variable d is again the secret RSA exponent. Die Hilfsgrößen d p und d q werden berechnet, wie es ebenfalls in Fig. 5 dargestellt ist. The auxiliary variables d p and d q are calculated, as is also shown in Fig. 5. ϕ(p) bedeutet hier wieder die Eulersche ϕ-Funktion. φ (p) is again the Euler φ function.

Entsprechend dem chinesischen Restsatz werden dann die Grö ßen C p und C q berechnet, wie es in den Blöcken 120 bzw. 122 dargestellt ist. According to the Chinese remainder theorem is then the large SEN C p and C q calculated as shown in blocks 120 and 122nd Die Größe x p ergibt sich aus C p und C q , wie es in einem Block 124 veranschaulicht ist. The size of x p resulting from C p and q C, as is illustrated in a block 124th Das verarbeitete Symbol C ergibt sich dann aus der Bestimmungsgleichung für C, die in einem Block 126 in Fig. 5 dargestellt ist. The processed symbol C is then given by the equation for C that is shown in a block 126 in Fig. 5. Es sei darauf hingewiesen, daß Fig. 5 die modulare Exponentiation mittels des chinesischen Restsatzes nach dem Algorithmus von HL Garner darstellt. It should be noted that FIG. 5 shows the modular exponentiation by means of the Chinese remainder theorem by the algorithm of HL Garner.

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. The previous defense measures At the outset listed tacken can be divided according to the calculation of the exponentiation into two groups: non-use or Be use the Chinese remainder theorem to calculate the modu stellar 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. Defensive measures for both cases are described in U.S. Pat. No. 5,991,415 and are based substantially on a randomized calculation of the 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. The use of the Chinese remainder theorem to the modular Ex ponentiation, as shown in Fig. 5, but each provides no countermeasures against so-called differential Fault Attacks by Boneh, DeMillo and 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. So-called fault attacks are based on introducing errors into the kryptographi specific calculation, and grace to identifi the key by the mathematical and statistical intrinsic properties of the faulty calculated results are analyzed. 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. Among the many techniques proposed to add such an error are the use of io-organizing radiation, unusual operating temperatures, Lei stungs- and timing changes and a laser-based chip microsurgery. Bestimmte Attacken sind differentiell, dh 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. Certain attacks are differential, that is, both a correct and an erroneous computation using the same input leads Runaway, whereupon the differences of the results are analyzed. Bezüglich näherer Details und weiterer solcher At tacken wird auf das US-Patent Nr. 5,991,415 verwiesen. For a more detailed and further such tacken At referenced US Pat. No. 5,991,415.

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. One way to avoid these attacks, there is in substantially the calculation shown in Figure 5. Run two times, where it is preferred to use different algorithms. 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. If any discrepancy between the two results should be found, the cryptographic processor, which is accommodated, for example in a cash card or smart card should not Ausga ben supply. 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. This creates a strong protection against zufälli gen errors which affect only a very low probability True two calculations identically and Wei se. 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. However, this measure leads to a reduction in processing speed by a factor of 2. However, such a reduction is particularly in smart card in plementationen which bring a limited computing power with them often intolerable. 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. In particular, when thinking about the wide use of cash cards or passports with Si gnaturchips, it is einsich tig readily apparent that the cryptographic algorithm must be very sure indeed, must be limited in the required processing power, otherwise the cost of readers that such a system will only reach a very poor market acceptance are so immense.

Daraus folgt jedoch, daß bei kryptographischen Systemen na türlich die Sicherheit ein wesentlicher Faktor ist, daß je doch auf die Effizienz der Berechnung, dh 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. However, it follows that in cryptographic systems na Türlich security is a key factor that ever but on the efficiency of calculation, that is a sensible and economical use of computing resources, also is a ge important factor is which decide often ultimately about whether a system is accepted by the market or not.

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. The object of the present invention is to provide a method and an apparatus for performing modula ren exponentiation, which provide a high safety-standard, but at the same time do not require all hen to ho computational effort.

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. This object is achieved by a method for performing a modular exponentiation according to claim 1 or by an apparatus for performing a modular eXponentia tion solved according to claim. 13

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. The present invention is based on the discovery that although the use of Euler's φ function for Randomisie tion of the exponent d provides effective protection against external attacks, since this randomization leads to a strong homogenization of the current and time profile for the calculation of modular exponentiation that, however, the computational cost can be considerable. Erfindungsgemäß wird daher von einer Randomisierung des Exponenten d unter Verwendung der Eulerschen ϕ-Funktion weggegangen. According to the invention, therefore, left by a randomization of the exponent d using the Euler's φ function. 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. Instead of the sen randomization using the Carmicha is used Elschen λ function, which cherheitsstandard with similarly large Si results in a significant reduction of the erfor sary processing power. Der randomisierte Exponent d' ergibt sich aus folgendem Zusammenhang: The randomized exponent d 'is derived from the following context:

d' : = d + r 1 .λ(N). d ': d = r + 1 .λ (N).

Diese Randomisierung ist durch die folgende Identität ge stützt: This randomization is supported by the following identity ge:

M (λ(N)) = 1 mod N. M (λ (N)) = 1 mod N.

Damit gilt: Thus applies:

M (d+r 1 .λ(N)) = M d mod N. M (d + r 1 .λ (N)) = M d mod N.

Üblicherweise handelt es sich bei dem Modul N der modularen Exponentiation um ein sogenanntes RSA-Modul der Form N = pq, wobei p und q zwei gleich lange Primzahlen sind. Usually it is in the module N of the modular exponentiation to a so-called RSA modulus of the form N = pq, where p and q are primes of equal length. Damit gilt folgender Zusammenhang zwischen der Eulerschen ϕ-Funk tion und der Carmichaelschen λ-Funktion: Thus, the following relationship between the Euler φ radio station and the Carmichaelschen λ-function is:

λ(N) = ϕ(N)/ggT(p - 1, q - 1). λ (N) = φ (N) / gcd (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. It can be seen that the λ Carmichael function to the greatest common divisor (GCD) of (p - 1) and (q - 1) is smaller than the Euler's φ function. 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. The exponent is thus a few bits shorter than the exponent, which has been randomized using the Euler's function, so that the modified modular exponentiation is faster predictable, than can be achieved with the system which is shown in Fig. 4.

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. It should be noted that the λ Carmichael function can not be formed with only two prime numbers, but as long as the product of the number of prime numbers using any number of prime numbers equal to the modulus N. 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. expressed in words, is λ by the quotient of the product of at least two numbers and the largest ge common divider of the at least two numbers defined, wherein each of the numbers is equal to the difference between ei ner prime and one, and wherein the product of the is least two prime numbers that are the at least two numbers to basically equal to the modulus (N).

Für zwei Primzahlen p, q berechnet sich die Funktion λ dem nach folgendermaßen: For two prime numbers p, q, the function calculated by the λ as follows:

λ = (p - 1)(q - 1)/ggT(p - 1, q - 1). λ = (p - 1) (q - 1) / gcd (p - 1, q - 1).

Für drei Primzahlen p, q, r berechnet sich die Funktion λ demnach folgendermaßen: For three prime numbers p, q, r, the function calculates λ accordingly as follows:

λ = (p - 1)(q - 1)(r - 1)/ggT(p - 1, q - 1, r - 1). λ = (p - 1) (q - 1) (r - 1) / gcd (p - 1, q - 1, r - 1).

Analog kann die Funktion λ für beliebige Anzahlen von Prim zahlen gebildet werden. Analog can be made to pay for any numbers of primary function λ.

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. According to preferred embodiments of the present invention the randomization of the exponent is under the dung USAGE Carmichaelschen λ function for calculating the modular exponentiation used either with or without the Chinese remainder theorem.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Figuren näher erläutert. Preferred embodiments of the present invention are explained in detail below with reference to the accompanying figures. Es zeigen: Show it:

Fig. 1 ein Flußdiagramm des Verfahrens gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung ohne Verwendung des chinesischen Restsatzes; Figure 1 is a flowchart of the method according to a first embodiment of the present invention without using the Chinese remainder theorem.

Fig. 2A und 2B ein Flußdiagramm des Verfahrens gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfin dung unter Verwendung des chinesischen Restsatzes; . 2A and 2B are a flow chart of the method according to a second embodiment of the present OF INVENTION dung using the Chinese remainder theorem;

Fig. 3 ein bekanntes Verfahren zur Berechnung der modularen Exponentiation; Figure 3 shows a known method for calculating the modular exponentiation.

Fig. 4 ein bekanntes Verfahren mit randomisiertem Exponen ten zur Berechnung der modularen Exponentiation ohne Verwendung des chinesischen Restsatzes, und Fig. 4 a known method with randomized Exponen th for calculating the modular exponentiation without using the Chinese remainder theorem, and

Fig. 5 ein bekanntes Verfahren zum Berechnen der modularen Exponentiation unter Verwendung des chinesischen Restsatzes. Fig. 5, a known method for calculating the modular exponentiation using the Chinese remainder theorem.

Fig. 1 zeigt ein Flußdiagramm eines Verfahrens gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung. Fig. 1 shows a flowchart of a method according to a first embodiment of the present invention. Das Verfahren wird durch einen Block 10 begonnen. The process is started by a block 10th Hierauf werden die notwendigen Variablen M, d, N und λ in einem Block 12 initialisiert. Thereafter, the necessary variables M, d, N and λ initialized in a block 12 are. λ 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. λ represents the Carmichael function λ-represents and is, as shown in Fig. 1, lower left, from the prime numbers p and q is calculated, the product of the prime numbers p and q the modulus N is obtained. 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. may be it was reported executed that the Carmichael function not only applies ver when the two prime numbers p and q are the same length, but that this function always genome men can be, if the product of p and q module N results.

In einem Schritt 14 wird eine Zufallszahl beispielsweise zwischen 0 und 2 32 gewählt, welche zur Randomisierung des Exponenten verwendet wird. In a step 14 a random number is chosen, for example between 0 and 2 32, which is used for randomization of the exponent. Optional kann in einem Schritt 16 eine Zufallszahl r 2 gewählt werden, mit der die Basis, dh 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. Optionally, in a step 16 a random number r 2 can be chosen, with which the base, that the symbol M may be randomized to Instruments of upstream and performance profiles of a crypto processor still ho distribute mogener so that it makes attackers harder ge is to find out secret information.

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. It should be noted, however, that even the randomi a significant increase in security against in formations leaks brings capitalization of the exponent using the Carmichaelschen λ function with it, and that the randomization of the base can be used only optionally still for another Securing ,

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. With the given in a block 18 defining equation is then the processed symbol, which is the encrypted symbol in the case of RSA signature, or that is the decoded symbol in the case of an RSA decryption, be calculated. Der Wert für C wird schließlich in einem Block 20 gespeichert, wonach der Algorithmus in einem Block 22 endet. The value for C is finally stored in a block 20, after which the algorithm terminates in block 22nd Bezüglich der Randomisierung der Basis sei folgendes ange merkt. With respect to the randomization of the base should be noted the following. Wenn die Basis M durch die Basis M + r 2 .M ersetzt wird, wobei r 0 eine zufällige n-Bit-Zahl ist, findet keine Ände rung der Endergebnisse statt, da folgender Zusammenhang gilt: When the base M is replaced by the base M + .M r 2, where r 0 is a random n-bit number does not Ände tion instead of the final results, as the following relationship applies:

(M + r 0 .N) = N mod N. (M + r 0 .N) = N mod N.

Bezüglich der Zufallszahlen r 1 und r 2 sei folgendes ange merkt. With regard to the random numbers r 1 and r 2 is the following noted. Es wird bevorzugt, für dieselben 32-Bit-Zahlen zu nehmen, wenn der Modul N ein 1024-Bit-Modul ist. It is preferred to take for the same 32-bit numbers if the modulus N is a 1024-bit module. Falls der Modul N ein 2048-Bit-Modul ist, so wird es bevorzugt, für r 1 und r 2 64-Bit-Zahlen zu nehmen. If the modulus N is a 2048 bit modulus, it is preferred to take r 1 and r 2 64-bit numbers. Es sei insbesondere darauf hingewiesen, daß durch die Länge der Zufallszahlen zwei Din ge erreicht werden. It should be noted in particular that are ge achieved by the length of the random numbers two Din. Zunächst wird durch die höhere Rando misierung die Sicherheit erhöht. First, the security is increased by the higher Rando misierung. 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 r 1 und r 2 abhängt. On the other hand, the processing speed is increased, the λ- function in each case, however, by the inventive use of Carmichaelschen better than when using the Eu lerschen φ function, since the relationship between λ and not φ of the length of the numbers r 1 and r 2 depends. Die Aus wahl der Zufallszahlen r 1 und r 2 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. The off selection of the random numbers r 1 and r 2 thus supplies like a serious flexibility are created in such a way that with one and the same Al rithm or with one and the same chip for a variety of different requirements an optimal balance between security and computational effort walls hand, can. Werden die Zufallszahlen sehr kurz gewählt, so ist die Verarbeitung schnell, während die Sicherheit jedoch Einbußen erleiden könnte. If the random numbers selected to be very short, so the processing is fast, but while security could suffer losses. 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. Be dage gen for high security applications where the process ing speed is not an essential criterion, the random numbers used very long, so a maximum safety standard can be readily achieved.

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. In Fig. 2A, a second embodiment is shown according to the present invention, in which both the exponent and the base as well as with the example shown in Fig. 1 first embodiment randomized. 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. Un terschied to that shown in Fig. 1 embodiment is that shown in Fig. 2A and Fig. 2B execution example instead of calculating the modular exponentiation using the Chinese remainder theorem. 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. For this purpose, in the block 12 M, d, p and q are initialized, 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 modulus M. 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. A parameter in a step 14 t be selected, where the parameter t is a random prime number having a length of between preferably 16 and 32nd Die Länge in Bits des Parameters t ist jedoch prinzipiell beliebig einstellbar. However, the length in bits of the parameter t is in principle arbitrary adjustable. Darüber hinaus werden in den Schritten 14 und 16 die Zufallszahlen r 1 und r 2 ausgewählt, wobei in einem Schritt 24 die randomisierte Basis M t unter Verwendung der Zufallszahl r 2 berechnet wird, während in einem Block 26 der randomisierte Exponent d t unter Verwendung der Zufallszahl r 1 berechnet wird. In steps Furthermore, 14 and 16, the random numbers r 1 and r 2 is selected, wherein in a step 24, the randomized base M t using the random number r 2 is calculated, while in a block 26 of the randomized exponent d t using the random number r 1 is calculated. Es sei darauf hingewiesen, daß in dem Block 26 bereits die in Fig. 1 links unten gegebene Gleichung für die λ-Funktion ausgeschrieben ist. It should be noted that in the block 26 already given in Fig. 1, lower left equation is written out for the λ function. In den Blöcken 28 bis 34 werden dann gemäß den in Fig. 2A gegebenen Gleichungen die einzelnen Parameter C pt , C qt , x pt und C t 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. The individual parameters are in the blocks 28 to 34 then in accordance with the given in Fig. 2A equations pt C, C qt, x pt and C t be calculated with that in play, in the block 28 the Carmichael is emphasized, λ- function of p and t is calculated as in block 30, the car michaelsche λ function of q and t is calculated.

Es sei darauf hingewiesen, daß sich die Gleichungen in Fig. 2A entsprechend ändern, wenn eine Carmichaelsche Funktion mit mehr als zwei Primzahlen verwendet wird. It should be noted that the equations in Fig. 2A change accordingly when a Carmichael function with more than two prime numbers is used. Hierzu wird auf das "Handbook of Applied Cryptography" verwiesen. Reference is made to the "Handbook of Applied Cryptography".

In einem Block 36 wird dann festgestellt, ob der Ausdruck C t - C qt ) mod t = 0 erfüllt ist. In a block 36 is then determined whether the expression C t - C qt) mod t is satisfied = 0th 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. This check cher si that no error occurred during the execution of the Berechnun gene in the blocks were made 24 to 34. 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. A failure caused by a deliberate attack in terms of a differential fault attack, for example by applying physical stress to the crypto processor would be recognized here. Wird die in dem Block 36 gezeigte Bedingung nicht erfüllt, so wird die Berechnung der modularen Exponentiation abgebro chen (Block 38 ). If the condition shown in the block 36 is not fulfilled, the calculation of modular 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. At the same time any output will he testifies so that an attacker does not receive any data with which he could possibly determine the secret exponent. 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. Is the given in the block 36 condition is satisfied, it is spread to ei NEN block 40 in which the processed symbol in accordance with the net calculation given in Fig. 2b in block 40 equation. Das verarbeitete Symbol wird schließlich in einem Block 20 gespeichert, woraufhin der Algorithmus in einem Block 22 beendet wird. The processed symbol is then saved in a block 20, and then the algorithm is terminated in a block 22nd

Es sei besonders auf die Fehlerüberprüfung im Block 36 hin gewiesen. It should be particularly pointed to the error checking in block 36.. 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. It takes place in contrast to the prior art, in which the flow chart shown in Figure 5. Is processed twice, much less computing time instead, as no duplicate processing is required. Block 36 liefert so mit gewissermaßen eine Selbsttestfunktion durch Überprüfung der Beziehung zwischen den Parametern C t , C qt und t. Block 36 provides as with a sense a self-test function by checking the relationship between the parameters C t, C t and qt.

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. Compared to the double execution of the Darge presented in Fig. 5 the concept for error checking a Fak is thus tor 2 of computing time savings at nearly the same safety-standard in addition to the computation time savings by dung OF INVENTION proper randomization of the exponent created.

Es sei darauf hingewiesen, daß das erfindungsgemäße Verfah ren bzw. die erfindungsgemäße Vorrichtung auf verschiedene Arten und Weisen implementiert werden können. It should be noted that the inventive procedural reindeer or the device according to the invention can be implemented in various ways. 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. So a purely software-based implementation on ei nem general purpose computer is even conceivable course to perform, for example, an RSA Si gnatur or RSA decryption. 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. but still be vorzugter the applications of the inventive concept in cryptoprocessors on debit cards, smart cards, identity cards or the like since these elements are to be used to pay in large and therefore readers with be ited budget is essential. Bei solchen Anwen dungen kann das erfindungsgemäße Konzept teilweise oder so gar vollständig in Hardware realisiert sein. In such appli cations, the inventive concept can be partially or fully implemented in hardware so did his.

Claims (13)

  1. 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: 1. A method for performing modular Exponentiati on in a cryptographic processor under USAGE extension of a symbol (M), an exponent (d) and a modulus (N), comprising the steps of:
    Erhalten ( 14 ) einer Zufallszahl (r 1 ); Obtaining (14) a random number (r 1);
    Kombinieren des Exponenten (d) mit dem Produkt aus der Zufallszahl (r 1 ) und einer Randomisierungszahl (λ), um einen randomisierten Exponenten zu erhalten, Combining the exponents (d) with the product of the random number (r 1) and a Randomisierungszahl (λ), to obtain a randomized exponent
    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; wherein (λ) by the quotient of the product of at least two numbers, and the greatest common divisor of the at least two numbers defined, wherein each of the numbers is equal to the difference between a prime number and one, and wherein the product of the at least two prime numbers that lie the at least two numbers based gene equal to the modulus (N); und and
    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. Performing (18; 28-40) of a modular exponentiation using the symbol (M), the modulus (N) and the exponent randomized order as a result of a revised ver symbol (C) to be obtained.
  2. 2. Verfahren nach Anspruch 1, bei dem im Schritt des Durchführens folgende Gleichung verwendet wird: 2. The method of claim 1, the following equation is used wherein in the step of performing:
    C = M (d+r 1 .λ) mod N, C = M (r + d 1 .λ) mod N,
    wobei r 1 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. wherein r 1 is the random number, where N is the modulus, where λ is the Carmichael function, where d is the exponent, where M is the symbol, and where C is the processed symbol.
  3. 3. Verfahren nach Anspruch 1, das ferner folgende Schritte aufweist: 3. The method of claim 1, further comprising the steps of:
    Auswählen ( 16 ) einer weiteren Zufallszahl (r 2 ); Selecting (16) a further random number (r 2);
    Kombinieren ( 24 ) des Symbols mit dem Produkt aus der weiteren Zufallszahl (r 2 ) und dem Modul (N), um ein ran domisiertes Symbol zu erhalten; Combining (24) the symbol with the product of the further random number (r 2) and the modulus (N), to obtain a ran domisiertes symbol; und and
    bei dem im Schritt des Durchführens folgende Gleichung verwendet wird: is used in the following in the step of performing equation:
    C = (M + r 2 .N) (d+r 1 .λ) mod N, C = (M + r 2 * N) (d + r 1 .λ) mod N,
    wobei r 1 die Zufallszahl ist, wobei r 2 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. wherein 1 r is the random number, where r is the other is to case number 2, where N is the modulus, wherein λ, the car is michaelsche function, where d is the exponent, which is the symbol at M, and wherein C, the processed Sym bol is.
  4. 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. 4. The method according to any one of the preceding claims, wherein the step of performing the modular Exponen tiation is performed using the Chinese remainder theorem.
  5. 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: 5. The method of claim 4, wherein the randomization is calculated number (λ) using two prime numbers, and wherein the step of performing the exponentiation mo dularen comprising the steps of using the rule chinesi remainder theorem:
    Auswählen ( 13 ) einer dritten Zufallszahl (t): Selecting (13) a third random number (t):
    Berechnen ( 28 ) von C pt unter Verwendung der folgenden Gleichung: Calculating (28) from pt C by using the following equation:
    C pt = (M t mod pt)^[d t mod[(p - 1)(q - 1)/ggT(p - 1, q - 1)]]mod pt, Pt = C (M t mod pt) ^ [d t mod [(p - 1) (q - 1) / gcd (p - 1, q - 1)]] mod pt,
    wobei M t ein randomisiertes Symbol darstellt und fol gendermaßen gegeben ist: where M t represents a randomized symbol and is fol given gender extent:
    M t = M + r 2 N M t = M + N r 2
    und wobei dt der randomisierte Exponent ist und folgen dermaßen gegeben ist: and where dt is the exponent and randomized so follow is given:
    d t = d + r 1 .[(p - 1)(q - 1)/ggT(p - 1, q - 1)], d t = d + r 1 [(p - 1) (q - 1) / gcd (p - 1, q - 1)].,
    wobei r 1 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; wherein r 1 is the random number, wherein r2 is further to case number, where N is the module, where d is the Expo nent, where M is the symbol, and wherein C worked the ver is the symbol;
    Berechnen ( 30 ) von C qt unter Verwendung folgender Glei chung: Calculating (30) from C qt using the following slip chung:
    C qt = (M t mod qt)^[d t mod[(q - 1)(t - 1)/ggT(q - 1, t - 1)]] mod pt; C qt = (M t mod qt) ^ [d t mod [(q - 1) (t - 1) / gcd (q - 1, t - 1)]] mod pt;
    Berechnen ( 32 ) von x pt unter Verwendung folgender Glei chung: Calculating (32) by using the following x pt sliding chung:
    x pt = (C pt - C qt )(q -1 mod p) mod pt; x pt = (C pt - C qt) (q -1 mod p) mod pt;
    Berechnen ( 34 ) von C t unter Verwendung der folgenden Gleichung: Calculating (34) by C t using the following equation:
    C t = C qt + x pt q; C t = C x pt qt + q;
    Berechnen ( 40 ) des verarbeiteten Symbols unter Verwen dung der folgenden Gleichung: Calculating (40) said processed symbol under USAGE dung to the following equation:
    C = C t mod N. C = C t mod N.
  6. 6. Verfahren nach Anspruch 5, das vor dem Schritt des Berechnens ( 40 ) des verarbeite ten Symbols folgende Schritte aufweist: 6. The method of claim 5, further comprising, before the step of calculating (40) the processed th symbol the steps of:
    Überprüfen ( 36 ), ob ein Fehler aufgetreten ist; Checking (36) whether an error has occurred;
    falls ein Fehler aufgetreten ist, Abbrechen ( 38 ) ohne Ausgabe eines Ergebnisses, und if an error has occurred, Cancel (38) without outputting a result, and
    falls kein Fehler aufgetreten ist, Fortsetzen ( 40 ) der modularen Exponentiation. if no error has occurred, resuming (40) of the modular exponentiation.
  7. 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. 7. The method of claim 1, wherein in the step of choosing from (14) a random number a 16-32-bit random number is selected if the module (M) is 1024 bits long, and wherein a 32-64- bit random number is selected if the module (M) is 2048 bits long.
  8. 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. 8. The method of claim 3, wherein in the step of selecting (16) a further random number, a 16-32-bit random number is selected if the module (M) is 1024 bits long, and in which a 32-64-bit -Zufallszahl is selected if the module (M) is 2048 bits long.
  9. 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. 9. The method of claim 5, wherein in the step of selecting (13) a third random number selected is a prime number with a length between 16 and 32 bits.
  10. 10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Exponent (d) geheim ist, während der Modul (N) bekannt ist. 10. The method according to any one of the preceding claims, in which the exponent (d) is secret, while the modulus (N) is known.
  11. 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. 11. The method according to any one of the preceding claims, wherein the cryptographic processor using the modular exponentiation a signature (C) of the symbol (M), wherein the symbol report to be signed After represents, while the processed symbol represents the signed message.
  12. 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. 12. The method according to any one of claims 1 to 10, wherein the cryptographic processor dularen using the mo exponentiation performs decryption, so that the icon (M) representing an encrypted message and the processed symbol (C) is an ent-encrypted message.
  13. 13. Vorrichtung zum Durchführen einer modularen Exponentia tion, mit folgenden Merkmalen: tion 13. An apparatus for performing a modular eXponentia, having the following features:
    einer Einrichtung zum Erhalten ( 14 ) einer Zufallszahl (r 1 ); means for obtaining (14) a random number (r 1);
    einer Einrichtung zum Kombinieren des Exponenten (d) mit dem Produkt aus der Zufallszahl (r 1 ) 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; a means for combining the exponents (d) with the product of the random number (r 1) and a Ran domisierungszahl (λ), to obtain a randomized exponent, where (λ) by the quotient of the pro duct of at least two numbers, and is defined the greatest common seed divider comprising at least two numbers, each of the numbers of the difference rule of a prime and one is Zvi the same, and wherein the pro duct of the at least two prime numbers that the at least two numbers based, are equal to the module (N); und and
    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. ten to a preserver mo dularen exponentiation using the symbol (M), the modulus (N) and the exponent randomized order as a result of a processed symbol (C), means for performing (28-40 18).
DE2000142234 2000-08-28 2000-08-28 Method and apparatus for performing a modular exponentiation in a cryptographic processor Expired - Fee Related DE10042234C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000142234 DE10042234C2 (en) 2000-08-28 2000-08-28 Method and apparatus for performing a modular exponentiation in a cryptographic processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2000142234 DE10042234C2 (en) 2000-08-28 2000-08-28 Method and apparatus for performing a modular exponentiation in a cryptographic processor
PCT/EP2001/009285 WO2002019065A8 (en) 2000-08-28 2001-08-10 Method and device for carrying out a modular exponentiation in a cryptographic processor

Publications (2)

Publication Number Publication Date
DE10042234A1 true true DE10042234A1 (en) 2002-03-14
DE10042234C2 DE10042234C2 (en) 2002-06-20

Family

ID=7654065

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000142234 Expired - Fee Related DE10042234C2 (en) 2000-08-28 2000-08-28 Method and apparatus for performing a modular exponentiation in a cryptographic processor

Country Status (2)

Country Link
DE (1) DE10042234C2 (en)
WO (1) WO2002019065A8 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004070497A2 (en) * 2003-02-04 2004-08-19 Infineon Technologies Ag Modular exponentiation with randomized exponents
FR2869430A1 (en) * 2004-04-27 2005-10-28 St Microelectronics Sa Control the execution of an algorithm by a circuit integrated
WO2009136361A1 (en) * 2008-05-07 2009-11-12 Koninklijke Philips Electronics N.V. Exponent obfuscation
DE102010039273A1 (en) * 2010-08-12 2012-02-16 Infineon Technologies Ag Cryptography processor for use with smart card for encrypting e.g. personal data, has processor unit arranged to compute result of exponentiation based on random base value, and random number generator arranged to produce random number
WO2013041200A1 (en) * 2011-09-19 2013-03-28 Giesecke & Devrient Gmbh Secret rsa encryption exponent that can be protected against access violation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10326057B4 (en) * 2003-06-11 2010-06-10 Cv Cryptovision Gmbh Protected against side channel attacks method of testing a natural number for primality

Citations (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 (en) * 1998-05-29 1999-12-02 Siemens Ag Method and apparatus for processing data

Patent Citations (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 (en) * 1998-05-29 1999-12-02 Siemens Ag Method and apparatus for processing data

Non-Patent Citations (1)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004070497A2 (en) * 2003-02-04 2004-08-19 Infineon Technologies Ag Modular exponentiation with randomized exponents
WO2004070497A3 (en) * 2003-02-04 2005-01-06 Infineon Technologies Ag Modular exponentiation with randomized exponents
US7908641B2 (en) 2003-02-04 2011-03-15 Infineon Technologies Ag Modular exponentiation with randomized exponent
FR2869430A1 (en) * 2004-04-27 2005-10-28 St Microelectronics Sa Control the execution of an algorithm by a circuit integrated
EP1591866A1 (en) * 2004-04-27 2005-11-02 St Microelectronics S.A. Control of execution of an algorithm by an integrated circuit
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 (en) * 2008-05-07 2014-06-25 Irdeto Corporate B.V. Exponent obfuscation
DE102010039273A1 (en) * 2010-08-12 2012-02-16 Infineon Technologies Ag Cryptography processor for use with smart card for encrypting e.g. personal data, has processor unit arranged to compute result of exponentiation based on random base value, and random number generator arranged to produce random number
DE102010039273B4 (en) * 2010-08-12 2014-12-04 Infineon Technologies Ag Cryptography processor, smart card and method for calculating a result of an exponentiation
WO2013041200A1 (en) * 2011-09-19 2013-03-28 Giesecke & Devrient Gmbh Secret rsa encryption exponent that can be protected against access violation

Also Published As

Publication number Publication date Type
WO2002019065A2 (en) 2002-03-07 application
WO2002019065A8 (en) 2002-09-26 application
DE10042234C2 (en) 2002-06-20 grant

Similar Documents

Publication Publication Date Title
Damgård et al. A statistically-hiding integer commitment scheme based on groups with hidden order
Giraud An RSA implementation resistant to fault attacks and to simple power analysis
Ciet et al. Parallel FPGA implementation of RSA with residue number systems-can side-channel threats be avoided?
US5999626A (en) Digital signatures on a smartcard
Giorgi et al. On the complexity of polynomial matrix computations
US7483533B2 (en) Elliptic polynomial cryptography with multi x-coordinates embedding
Lenstra Memo on RSA signature generation in the presence of faults
US7110538B2 (en) Method for accelerating cryptographic operations on elliptic curves
US6658569B1 (en) Secret key cryptographic process for protecting a computer system against attacks by physical analysis
US20080260143A1 (en) Xz-elliptic curve cryptography with secret key embedding
JP2002366029A (en) Encipherment safe against dpa(differential power analysis)
US6405923B1 (en) Method for secure distribution of data
WO1998052319A1 (en) Improved method and apparatus for protecting public key schemes from timing and fault attacks
US20080025500A1 (en) Cryptographic device having tamper resistance to power analysis attack
Prouff et al. A generic method for secure sbox implementation
US7046801B2 (en) Method of calculating multiplication by scalars on an elliptic curve and apparatus using same and recording medium
Vigilant RSA with CRT: A new cost-effective solution to thwart fault attacks
US20080226064A1 (en) Chinese remainder theorem - based computation method for cryptosystems
Fan et al. An updated survey on secure ECC implementations: Attacks, countermeasures and cost
Walter Precise bounds for Montgomery modular multiplication and some potentially insecure RSA moduli
WO2001031436A1 (en) Security method for a cryptographic electronic assembly based on modular exponentiation against analytical attacks
US20020124179A1 (en) Fault detection method
US20090245507A1 (en) Data processing system and data processing method
DE19828936A1 (en) Method and apparatus for processing data
Hamburg Fast and compact elliptic-curve cryptography.

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