WO2004070497A2 - Modulare exponentiation mit randomisierten exponenten - Google Patents

Modulare exponentiation mit randomisierten exponenten Download PDF

Info

Publication number
WO2004070497A2
WO2004070497A2 PCT/EP2004/000522 EP2004000522W WO2004070497A2 WO 2004070497 A2 WO2004070497 A2 WO 2004070497A2 EP 2004000522 W EP2004000522 W EP 2004000522W WO 2004070497 A2 WO2004070497 A2 WO 2004070497A2
Authority
WO
WIPO (PCT)
Prior art keywords
key
module
randomization
modular exponentiation
result
Prior art date
Application number
PCT/EP2004/000522
Other languages
English (en)
French (fr)
Other versions
WO2004070497A3 (de
Inventor
Wieland Fischer
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 EP04704224A priority Critical patent/EP1590731A2/de
Publication of WO2004070497A2 publication Critical patent/WO2004070497A2/de
Publication of WO2004070497A3 publication Critical patent/WO2004070497A3/de
Priority to US11/195,350 priority patent/US7908641B2/en

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Definitions

  • the present invention relates to cryptographic systems and in particular to devices and methods for determining a result of a modular exponentiation within a cryptosystem.
  • the RSA algorithm is illustrated in FIG. 6, as described in the "Handbook of Applied Cryptography" by Menezes, van Oorschot, Vanstone, CRC Press, 1996, chapter 11.3.
  • An entity A signs one to execute the digital signature 60 Message m. This allows each entity B to verify the signature of entity A and retrieve the message m from the signature.
  • the entity A for the signature calculates the modular exponentiation with the base m, with the secret key d and the module N according to the equation shown in block 60.
  • the secret key d includes a public key e, which is required by an entity B for verification, as shown at 62 in FIG. 6.
  • the entity B takes the public key e belonging to d as an exponent and exposes that of the Entity A generates signature S with the public key. After a final reduction with respect to module N, a verified message is obtained. If entity B was aware of the unsigned message, it can use a comparison of m 'and determine whether the signature S actually came from entity A or not.
  • the entity B can determine whether the private key d used for the signature actually belongs to the public key e. If the entity B knows for other reasons that the entity A is authentic, then the verification, ie the modular exponentiation of the signature with the public key as the exponent, immediately gives the message m, since the second condition at 62 in FIG. 6 then surely is fulfilled.
  • the secret key of the RSA algorithm consists of the pair (d, N).
  • the public key consists of the pair (e, N).
  • the module is typically known, so the only secret information is the exponent d. It is also known that the product of d and e satisfies the following equation:
  • ⁇ (N) is the well-known Carmichael function.
  • the randomized exponent cannot be arbitrary. Therefore, wise a multiple of the Carmichael function ⁇ (N) is required for the randomization of the exponent. As a rule, however, this is not the case.
  • CTR Chinese residual sentence
  • Garner's algorithm a special version of the CRT is used, which is known as Garner's algorithm.
  • the Chinese remainder theorem is used to attribute the entire exponentiation to two exponentiations modulo p and q.
  • the Chinese remainder theorem is particularly interesting because the two exponentiations are performed with exponents that are only half the length of the original exponent (d or e). It is disadvantageous, however, that the Chinese remainder theorem can only be used if additional parameters p, q are present, the product of p and q resulting in the module N.
  • An alternative randomization consists in dividing the exponent to be randomized into two exponents. This has the advantage that you do not need any additional information. On the other hand, there is a disadvantage that the calculation takes twice as much time as the other described alternatives which use the Euler Phi function or the Carmichael ⁇ function.
  • the object of the present invention is a
  • the present invention is based on the knowledge that for the randomization of the exponent the product of the public and private key is less the value "1" than exd-1, is always a multiple of the Carmichael function ⁇ (N) and is therefore used for randomization It should be noted that there is only knowledge that the expression exd - 1 is a multiple of the Carmichael function, but it is not known which The expression exd - 1 is multiple. However, this knowledge is not required to randomize the exponent.
  • An advantage of the randomization auxiliary number according to the invention, as the expression exd-1 is referred to below, is that only known quantities, namely the public and the private key, are required to calculate this expression.
  • Figure 2 shows a sequence of steps in accordance with a preferred embodiment of the present invention for the concept of Figure 1;
  • FIG. 4 shows a more detailed illustration of the device for modular exponentiation with a first and / or second partial key
  • FIG. 5a shows a detailed implementation of the modular exponentiation with the first partial key according to FIG. 3;
  • 5c shows a detailed implementation of the device for combining the results according to the Chinese remainder of FIG. 3;
  • FIG. 6 shows an overview diagram for explaining a known signature algorithm and a known verification algorithm.
  • 1 shows a schematic block diagram of a device for determining a result of a modular exponentiation within a cryptosystem with a first and an associated second key.
  • the device comprises an input device in which cryptographic parameters m, e, d and N are provided.
  • the input stage is designated by 10 in FIG. 1.
  • m represents the message to be signed, for example.
  • E represents the first key, which is also referred to below as the public key
  • d represents the second key of the cryptosystem, which is also referred to below as the secret key.
  • N represents the module with respect to which the modular exponentiation is to be carried out.
  • the module N can be formed from a product of the two numbers p and q, as is known from the RSA algorithm.
  • these two auxiliary numbers p and q are not required for the concept shown in FIG. 1. The entire calculation can only take place using the input parameters m, e, d and N.
  • the input stage 10 shows a device 12 for calculating a randomization auxiliary number based on the product of the first key e and the second key d less the number “1 ⁇ .
  • the device 12 for calculating a randomization auxiliary number based on the product of the first key e and the second key d less the number “1 ⁇ .
  • Randomization auxiliary number exactly the expression exd - 1.
  • a multiple of this expression could also be used, although it must be ensured here that this multiple of the expression exd - 1 can also be used at the same time in order to be able to be used as a randomization auxiliary number is a multiple of the Carmichael ⁇ function.
  • the means 14 for obtaining preferably combines the product of the random number and the randomization auxiliary number with the exponent d in an additive manner.
  • a randomized exponent then exists at the output of the device 14.
  • a device 16 for calculating the modular exponentiation then works in order to obtain the result S of the modular exponentiation, which can typically be a digital signature.
  • an output stage 18 is provided in order to output the signature in any form, for example graphically, binary or in some other way.
  • Fig. 2 The algorithm shown in Fig. 2 is shown below as a sequence of steps, although it can equally well be interpreted as a collection of different devices.
  • the data m, e, d and N are provided.
  • the randomization auxiliary number exd - 1 is first calculated and into that Register X written.
  • a random number with a length which is preferably between 16 and 32 bits, is then selected and written into the register R.
  • the content of register X is then multiplied by the content of register R, the result of this multiplication being written into register X again.
  • the randomization of the exponent is carried out, as is shown at 14 in FIG. 1.
  • a random number with a length of preferably between 16 or 32 bits is again selected and written into the register R.
  • the content of the register R is then multiplied by the module N in a step 26, the message m to be signed being added to the result of this multiplication.
  • Step 26 thus represents the additional randomization of the value to be processed, that is to say the message to be signed, in order to achieve additional security.
  • a random number with the length, for example, between 16 or 32 bits is then again selected and written into the register R.
  • a module randomization is then carried out in that the module N is multiplied by the random number just selected, which is in the register R. The result of this multiplication is written into a register N '.
  • a modular exponentiation is then carried out in a step 29, the content of the register m, which corresponds to the randomized message, being used as the basis, the content of the register D, which contains the randomized exponent, being used as the exponent, and the Contents of register N ', which contains the randomized module, as module of the module laren exponentiation is used in step 29.
  • the result of this modular exponentiation is written into the register S.
  • the content of the register S of a modular reduction is then carried out using the module provided in the input step 20 in order to finally obtain the result sought, which is written into the register S.
  • the content of the register S is then output, which is equal to the modular exponentiation, which would also be obtained on the basis of the non-randomized parameters provided in the input step 20.
  • a total of three randomizations are used, namely the randomization of the module using the randomization auxiliary number exd-1 (step 24), the randomization of the message in step 26 and the randomization of the module in step 28
  • the exponent can also be randomized using the randomization auxiliary number according to the invention alone, combined with the randomization of the message m to be signed and / or combined with the randomization of the module N.
  • the randomized exponent due to the addition of the expression R x (exd-1) in block 14 of FIG. 1 is a larger number than the originally used exponent d (or in principle also e).
  • R x (exd-1) is a larger number than the originally used exponent d (or in principle also e).
  • the keys can already assume considerable sizes anyway, for example 1024 or 2048 binary digits, it is preferred to use a comparatively small number as the randomization number R.
  • a random number that is too small would nullify the effect of randomization. It is therefore preferred to use a random number for the randomization of the exponent that is greater than or equal to 8 bits and less than or equal to 128 bits.
  • a length of the random number between 16 and 32 inclusive is preferably used, as shown in FIG. 2 is.
  • random numbers selected in steps 22, 25 and 27 it should also be pointed out that they do not necessarily have to have the same length in each step.
  • the random numbers selected in steps 25 and 27 can be smaller or larger, with smaller random numbers overall helping to reduce the computational effort, but a minimum size of the random number should be adhered to in order not to limit the concept of randomization as a whole To ask question.
  • the random numbers selected in steps 25 and 27 should therefore also have a length that is greater than or equal to 8 bits.
  • FIG. 3 shows a basic block diagram of the concept according to the invention, but now using the Chinese see residual CRT.
  • An input stage 100 represents cryptographic input parameters which, however, now that the Chinese remainder sentence is to be used, comprise more input parameters than in the exemplary embodiment shown in FIG. 1.
  • the message m to be signed, the public key e, a first private subkey dp, a second private subkey d q , the numbers p, q and the parameter q ⁇ nv are provided.
  • Fig. 3 it is shown how the numbers d p , d q and q ⁇ nv can be calculated from the quantities d, p and q.
  • the input stage 100 feeds a device 102 for performing a first modular exponentiation (102a) using a first partial key d p derived from the first key d in order to obtain a first intermediate result, and for performing a second modular exponentiation (102b) Use of a second partial key d q derived from the first key in order to obtain a second intermediate result.
  • the functionality of the device for performing using the first partial key dp is designated in FIG. 3 with 102a, while the functionality of the device for performing the modular exponentiation with the second partial key d q is labeled 102b.
  • the two devices 102a and 102b together form a device 102 for carrying out the first and the second modular exponentiation using the respective partial keys d p and d q .
  • Block 102a provides a first intermediate result S p as an output signal.
  • the block 102b delivers a second intermediate result S q as a result.
  • the two intermediate results S p and S q are combined in a device 104 according to the Chinese remainder theorem and particularly preferably according to the Garner algorithm, in order to finally output the result of the modular exponentiation, such as a signature, in the form of the parameter S. as illustrated by block 106 in FIG. 3.
  • block 102 comprises means 110 for calculating the randomization auxiliary number on the basis of the expression exd p - 1.
  • block 102b contains the block 102b, a means for calculating the randomization auxiliary number on the basis of the expression exd q - 1.
  • the Downstream of device 110 is a device 112 which receives a random number and then calculates the randomized exponent, either on the basis of the equation d p + R x (exd p - 1) for block 102a or on the basis of equation d q + R x (exd q - 1) for device 102b, where R is the random number obtained by block 112 in FIG. 4.
  • a first step 120 the randomization auxiliary number ex dp - 1 is calculated and stored in the register X.
  • a random number is selected and stored in the register R.
  • the content of register X and the content of register R are multiplied by one another, the result of this multiplication being stored again in register X.
  • the actual randomization of the exponent namely the first partial key d p derived from the private key, is carried out in a step 126, this result being stored in the register D.
  • a random number is selected again and stored in the register R.
  • a step 130 the message is now randomly 2, but now instead of the module N from FIG. 2 with the first auxiliary module p in FIG. 5a.
  • a random number is then selected again in a step 132 and multiplied by the auxiliary module p in a step 134.
  • This now randomized auxiliary module which is stored in the register p ', is used in a step 136 for the modular exponentiation shown in FIG. 5a, step 136.
  • the intermediate result written in the register S p in step 136 is then reduced with respect to the original auxiliary module p in order to obtain the first intermediate result S p .
  • FIG. 5b shows the analog steps of modular exposure with a second partial key according to block 102b of FIG. 3, the steps shown in FIG. 5b in principle proceeding exactly like the corresponding steps of FIG. 5a, but instead of the first partial key d p of FIG. 5 in Fig. 5b of the second partial key is made d q, and wherein instead of the first auxiliary module p in Fig. 5 in Fig. 5b of the second auxiliary module is used q.
  • the random numbers selected in FIGS. 5a and 5b can be independent of one another. Alternatively, however, the same random number could also be read out from a random number register in each corresponding step. In this respect, the same boundary conditions apply to the random numbers as have been explained with reference to FIG. 2.
  • Fig. 5c represents those designated by 104 in Fig. 3
  • Combination device implemented implementation to get the result from the first intermediate result S p and the second intermediate result S q, for example in the form of the signature S.
  • the concept according to the invention is that - if the CRT is not used - a randomization of the expon- In principle - without additional input parameters - the minimum private RSA data record can be created, which consists of the module N, the public key e and the private key d. Randomization can thus always be carried out, regardless of whether a security protocol provides an Euler Phi function, a Carmichael ⁇ function or something similar or not.
  • the functionality required for the calculation of the randomization auxiliary number in the form of a multiplication and an addition is on any conventional crypto chip, such as. B. in the form of a cryptocoproprocessor.
  • the randomization is performance-neutral. In other words, this means that there is no significant increase in the computing effort or the computing time, while at the same time a considerable degree of security is gained, which is scalable with respect to the length of the random number.
  • the method according to the invention for determining a result of a modular exponentiation can be implemented in hardware or in software.
  • the implementation can take place on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which can cooperate with a programmable computer system in such a way that the corresponding method is carried out.
  • the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention when the computer program product runs on a computer.
  • the invention thus also represents a computer program with a program code for carrying out the method when the computer program runs on a computer. LIST OF REFERENCE NUMBERS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Zur Ermittlung eines Ergebnisses einer modularen Exponentiation wird zur Randomisierung des Exponenten eine Randomisierungs-Hilfszahl auf der Basis des Produkts aus dem öffentlichen Schlüssel und dem privaten Schlüssel weniger '1' eingesetzt. Diese Randomisierungs-Hilfszahl kann ohne spezielle Funktionalitäten aus dem privaten RSA-Datensatz abgeleitet werden. Somit kann eine aufwandsarme Exponenten-Randomisierung für jedes Sicherheitsprotokoll universell durchgeführt werden, um eine gegenüber Seitenkanal-Angriffen sichere digitale Signatur durchzuführen.

Description

Beschreibung
Modulare Exponentiation mit randomisiertem Exponenten
Die vorliegende Erfindung bezieht sich auf kryptographische Systeme und insbesondere auf Vorrichtungen und Verfahren zum Ermitteln eines Ergebnisses einer modularen Exponentiation innerhalb eines Kryptosystems.
Insbesondere bei Algorithmen für die digitale Signatur oder auch bei anderen kryptographischen Anwendungen ist es nötig, geheime Daten, wie z. B. einen privaten Schlüssel des RSA- Algorithmus, vor sogenannten Side-Channel-Attacken zu schützen. Solche Attacken basieren auf einer Analyse des Strom-, Leistungs- oder Strahlungsprofiles einer Schaltung, die den Algorithmus abarbeitet. Auf der Basis einer Auswertung eines solchen Leistungsprofils der Schaltung ist es möglich, Aussagen über den geheimen Schlüssel zu treffen.
Das Grundkonzept der digitalen Signatur auf der Basis des
RSA-Algorithmus ist anhand von Fig. 6 dargestellt, wie es im „Handbook of Applied Cryptography" von Menezes, van Oorschot, Vanstone, CRC Press, 1996, Kapitel 11.3, beschrieben ist. Zum Ausführen der digitalen Signatur 60 signiert eine Entität A eine Nachricht m. Dadurch kann jede Entität B die Signatur der Entität A verifizieren und die Nachricht m aus der Signatur wiedergewinnen.
In der Signaturerzeugung, wie sie bei 60 in Fig. 6 darge- stellt ist, berechnet die Entität A zur Signatur die modulare Exponentiation mit der Basis m, mit dem geheimen Schlüssel d und dem Modul N gemäß der in Block 60 dargestellten Gleichung. Wie es bekannt ist, gehört zu dem geheimen Schlüssel d ein öffentlicher Schlüssel e, der von einer Entität B für ei- ne Verifikation benötigt wird, wie sie bei 62 in Fig. 6 dargestellt ist. Die Entität B nimmt den zu d gehörigen öffentlichen Schlüssel e als Exponent und exponenziert die von der Entität A erzeugte Signatur S mit dem öffentlichen Schlüssel. Nach einer abschließenden Reduktion bezüglich des Moduls N ergibt sich eine verifizierten Nachricht ' . Ist der Entität B die nicht-signierte Nachricht bekannt gewesen, so kann sie aufgrund eines Vergleichs von m' und feststellen, ob die Signatur S tatsächlich von der Entität A stammte oder nicht. In anderen Worten bedeutet dies, dass die Entität B feststellen kann, ob der für die Signatur verwendete private Schlüssel d tatsächlich zu dem öffentlichen Schlüssel e gehört. Weiß die Entität B aus anderen Gründen, dass die Entität A authentisch ist, so ergibt die Verifikation, d. h. die modu- lare Exponentiation der Signatur mit dem öffentlichen Schlüssel als Exponenten, unmittelbar die Nachricht m, da die zweite Bedingung bei 62 in Fig. 6 dann sicher erfüllt ist.
Bei einem Angreifer könnte der Wunsch bestehen, den geheimen Schlüssel d der Entität A, der für die Signatur bei 60 in Fig. 6 verwendet wird, zu ermitteln. Hierzu könnte der Angreifer eine Leistungsanalyse oder einen ähnlichen Side- Channel-Angriff durchführen. Zur Abwehr eines solchen Angriffs auf der Basis eines statistischen Seitenkanal-Angriffs (DPA, EMA) wird bei der RSA-Signatur-Erstellung üblicherweise eine Randomisierung z. B. des Exponenten eingesetzt, s = md mod N soll dabei ersetzt werden durch s = md mod N, wobei das Ergebnis das gleiche sein soll, der Exponent d' allerdings bei jeder Berechnung mit dem gleichen Schlüssel d verschieden ist. Allgemein besteht beim RSA-Algorithmus der geheime Schlüssel aus dem Paar (d, N) . Der öffentliche Schlüssel besteht aus dem Paar (e, N) . Der Modul ist typischerweise bekannt, so dass die einzige geheime Information der Exponent d ist. Ferner ist bekannt, dass das Produkt aus d und e folgender Gleichung genügt:
d x e = 1 mod λ(N)
λ(N) ist die bekannte Carmichael-Funktion. So kann der rando- misierte Exponent nicht beliebig sein. Daher wird üblicher- weise für die Rando isierung des Exponenten ein Vielfaches der Carmichael-Funktion λ(N) benötigt. Diese ist im Regelfall aber nicht gegeben.
Ferner ist es bekannt, für die Signaturerstellung den Chinesischen Restsatz (CRT) zu verwenden, der ebenfalls im Handbook of Applied Cryptography in Kapitel 14.5 beschrieben ist. Insbesondere wird eine besondere Ausprägung des CRT verwendet, die unter der Bezeichnung Garners Algorithmus bekannt ist. Der Chinesische Restsatz dient dazu, die gesamte Exponentiation auf zwei Exponentiationen Modulo p und q zurückzuführen. Der Chinesische Restsatz ist insbesondere daher interessant, da die zwei Exponentiationen mit Exponenten durchgeführt werden, die lediglich die halbe Länge haben wie der ur- sprüngliche Exponent (d oder e) . Nachteilig ist jedoch, dass der Chinesische Restsatz nur dann angewendet werden kann, wenn zusätzliche Parameter p, q vorhanden sind, wobei das Produkt aus p und q den Modul N ergibt. Zur Absicherung der Signaturberechnung unter Verwendung des Chinesischen Restsat- zes ist es nötig, beide Exponentiationen abzusichern, d. h. mit einer Randomisierung zu versehen, um Seitenkanal-Attacken zu unterbinden. Die Carmichael-Funktionen lauten dabei λ(p) = p- 1 und λ(q) = q- 1. Diese beiden Carmichael-Funktionen müssen jedoch extra berechnet werden.
Unabhängig davon, ob der RSA-Algorithmus mit dem Chinesischen Restsatz oder ohne den Chinesischen Restsatz eingesetzt wird, ist es wenig wünschenswert, keine Randomisierung des Exponenten einzusetzen, da damit unter Umständen ein Sicherheits- problem entsteht. Aus diesem Grund wurde vorgeschlagen, eine Randomisierung des Exponenten unter Verwendung der Eulerschen Phi-Funktion Phi (N) durchzuführen. Eine Randomisierung unter Verwendung der Eulerschen Phi-Funktion setzt jedoch die Kenntnis von Phi(N) voraus. Normalerweise ist Phi nicht gege- ben und muss daher, wenn dieses Randomisierungsverfahren eingesetzt werden soll, extra berechnet werden. Eine alternative Vorgehensweise besteht darin, statt der Eulerschen Phi-Funktion die bezüglich des Zahlenwerts kleinere Carmichaelsche λ-Funktion λ(N) zu verwenden. Dieses Verfahren hat den Vorteil, dass bei gleicher Sicherheit der randomi- sierte Exponent kürzer wird, so dass Rechenzeitvorteile im Vergleich zur Verwendung der Eulerschen Phi-Funktion entstehen. Nachteilig an diesem Verfahren ist wiederum die Tatsache, dass λ(N) benötigt wird. Die Carmichael-Funktion λ(N) muss daher extra berechnet werden und ist nicht von vornher- ein vorhanden.
Eine alternative Randomisierung besteht darin, dass der zu randomisierende Exponent in zwei Exponenten aufgeteilt wird. Dies hat den Vorteil, dass man keine zusätzlichen Informatio- nen braucht. Andererseits besteht ein Nachteil darin, dass die Berechnung doppelt so viel Zeit in Anspruch nimmt wie die anderen beschriebenen Alternativen, die die Eulersche Phi- Funktion oder die Carmichaelsche λ-Funktion verwenden.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
Konzept zum Ermitteln eines Ergebnisses einer modularen Exponentiation innerhalb eines Kryptosystems zu schaffen, das sicher und effizient ist.
Diese Aufgabe wird durch eine Vorrichtung zur Ermittlung eines Ergebnisses gemäß Anspruch 1 oder 6, ein Verfahren zur Ermittlung eines Ergebnisses gemäß Anspruch 12 oder 13 oder durch ein Computer-Programm gemäß Anspruch 14 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass zur Randomisierung des Exponenten das Produkt aus öffentlichem und privatem Schlüssel weniger dem Wert „1", als e x d - 1, immer ein Vielfaches der Carmichael-Funktion λ(N) ist und somit zur Randomisierung verwendet werden kann. Es sei darauf hingewiesen, dass lediglich eine Kenntnis dahingehend besteht, dass der Ausdruck e x d - 1 ein Vielfaches der Carmichael-Funktion ist. Es ist jedoch nicht bekannt, welches Vielfache der Ausdruck e x d - 1 ist. Diese Kenntnis ist jedoch zur Randomisierung des Exponenten nicht erforderlich. Vorteilhaft an der erfindungsgemäßen Randomisierungs- Hilfszahl, wie der Ausdruck e x d - 1 im nachfolgenden be- zeichnet wird, besteht darin, dass zur Berechnung dieses Ausdrucks lediglich von vorneherein bekannte Größen erforderlich sind, nämlich der öffentliche und der private Schlüssel. Es muss keine Eulersche Phi-Funktion oder keine Carmichaelsche λ-Funktion berechnet werden. Statt dessen muss lediglich eine einfache Multiplikation des öffentlichen Schlüssels und des privaten Schlüssels im Falle einer Anwendung ohne Chinesischen Restsatz oder - mit CRT - eine einfache Multiplikation zwischen dem öffentlichen Schlüssel und dem ersten oder zweiten privaten Hilfsschlüssel dp bzw. dq durchgeführt werden, um dann von diesem Wert noch den Wert „1" zu subtrahieren, um die Randomisierungs-Hilfszahl zu erreichen.
Obgleich es insbesondere bei Allzweck-Rechnern oder bei multifunktionalen Krypto-CPUs prinzipiell möglich wäre, die Eu- lersche Phi-Funktion oder die Carmichaelsche λ-Funktion zu berechnen, ist es bei speziellen beispielsweise Signatur- CPUs, wie sie beispielsweise bei Chipkarten eingesetzt werden, nicht oder nur mit hohem Aufwand möglich, solche speziellen Funktionen zu berechnen. Erfindungsgemäß wird dieser Nachteil dadurch umgangen, dass zur Randomisierung die Randomisierungs-Hilfszahl verwendet wird, die aus dem Produkt aus dem privaten Schlüssel und dem öffentlichen Schlüssel weniger dem Wert „lλ berechnet wird.
Das erfindungsgemäße Konzept zum Ermitteln eines Ergebnisses einer modularen Exponentiation unter Verwendung einer Randomisierung des Exponenten ist somit dahingehend vorteilhaft, dass es eine hohe Sicherheit aufgrund der Randomisierung erreicht, dass es aufwandsarm implementierbar ist und insbeson- dere für Protokolle geeignet ist, bei denen die Eulersche Phi-Funktion oder die Carmichaelsche λ-Funktion nicht zur Verfügung gestellt wird. Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen erläutert.
Fig. 1 zeigt ein Blockschaltbild des erfindungsgemäßen Konzepts mit Randomisierung des Exponenten ohne Verwendung des Chinesischen Restsatzes;
Fig. 2 eine Abfolge von Schritten gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung für das Konzept von Fig. 1;
Fig. 3 eine alternative Implementierung der vorliegenden Erfindung, bei der der Chinesische Restsatz verwendet wird;
Fig. 4 eine detailliertere Darstellung der Einrichtung zur modularen Exponentiation mit einem ersten und/oder zweiten Teilschlüssel;
Fig. 5a eine detaillierte Implementierung der modularen Exponentiation mit dem ersten Teilschlüssel gemäß Fig. 3;
Fig. 5b eine detaillierte Implementierung der modularen Exponentiation mit dem zweiten Teilschlüssel;
Fig. 5c eine detaillierte Implementierung der Einrichtung zum Kombinieren der Ergebnisse gemäß dem Chinesischen Restsatz von Fig. 3; und
Fig. 6 ein Übersichtsdiagramm zur Erläuterung eines bekannten Signaturalgorithmus und eines bekannten Ve- rifikationsalgorithmus. Fig. 1 zeigt ein schematisches Blockdiagramm einer Vorrichtung zum Ermitteln eines Ergebnisses einer modularen Exponentiation innerhalb eines Kryptosystems mit einem ersten und einem zugehörigen zweiten Schlüssel. Die Vorrichtung umfasst eine Eingabeeinrichtung, in der kryptographische Parameter m, e, d und N bereitgestellt werden. Die Eingangsstufe ist in Fig. 1 mit 10 bezeichnet. Hierbei stellt m die zu signierende Nachricht beispielsweise dar. e stellt den ersten Schlüssel dar, der nachfolgend auch als öffentlicher Schlüssel bezeich- net wird, d stellt den zweiten Schlüssel des Kryptosystems dar, der im nachfolgenden auch als geheimer Schlüssel bezeichnet wird. Schließlich stellt N den Modul dar, bezüglich dessen die modulare Exponentiation durchzuführen ist. An dieser Stelle sei bereits angemerkt, dass der Modul N aus einem Produkt der beiden Zahlen p und q gebildet werden kann, wie es aus dem RSA-Algorithmus bekannt ist. Für das in Fig. 1 dargestellte Konzept werden jedoch diese beiden Hilfszahlen p und q nicht benötigt. Die gesamte Berechnung kann ausschließlich unter Verwendung der Eingangsparameter m, e, d und N stattfinden.
Der Eingangsstufe 10 ist eine Einrichtung 12 zum Berechnen einer Randomisierungs-Hilfszahl auf der Basis des Produkts aus dem ersten Schlüssel e und dem zweiten Schlüssel d weni- ger der Zahl „lΛ dargestellt. Vorzugsweise entspricht die
Randomisierungs-Hilfszahl genau dem Ausdruck e x d - 1. Alternativ könnte jedoch auch ein Vielfaches dieses Ausdrucks verwendet werden, wobei hier jedoch sicherzustellen ist, dass dieses Vielfache des Ausdrucks e x d - 1, um als Randomisie- rungs-Hilfszahl verwendbar sein zu können, auch gleichzeitig ein Vielfaches der Carmichaelschen λ-Funktion ist.
Der Einrichtung 12 zum Berechnen ist eine Einrichtung 14 zum Erhalten einer Zufallszahl und zum Berechnen eines randomi- sierten Exponenten nachgeschaltet, die folgende Gleichung ausführt: d ^ = d + R x (e x d - 1 ) .
In anderen Worten ausgedrückt kombiniert die Einrichtung 14 zum Erhalten das Produkt aus der Zufallszahl und der Randomi- sierungs-Hilfszahl mit dem Exponenten d vorzugsweise additiv. Am Ausgang der Einrichtung 14 existiert dann ein randomisier- ter Exponent. Unter Verwendung des randomisierten Exponenten, der von der Einrichtung 14 berechnet wird, arbeitet dann eine Einrichtung 16 zum Berechnen der modularen Exponentiation, um das Ergebnis S der modularen Exponentiation zu erhalten, das typischerweise eine digitale Signatur sein kann. Eine Ausgabestufe 18 schließlich ist vorgesehen, um die Signatur in irgendeiner Form, beispielsweise graphisch, binär oder auf andere Art und Weise auszugeben.
Bei dem in Fig. 1 gezeigten Ausführungsbeispiel wird lediglich der Exponent randomisiert. Wie es jedoch nachfolgend anhand von Fig. 2 erläutert werden wird, kann zusätzlich auch, neben dem Exponenten, die zu signierende bzw. zu verschlüs- selnde Nachricht m randomisiert werden. Bezüglich der Notation in Fig. 2 sei darauf hingewiesen, dass dies bereits eine Register-angepasste Implementierung ist. Zur Durchführung des in Fig. 1 gezeigten Algorithmus samt der zusätzlichen Randomisierung der zu signierenden Nachricht m werden die Register R, X, D, m, N' und S benötigt. In der linken Spalte der
Schrittfolge von Fig. 2 sind diese Register aufgeführt. In der rechten Spalte der Schrittfolge von Fig. 2 steht dagegen die mathematische Operation, die durchzuführen ist, um dann das Ergebnis dieser Operation in das links bezüglich des nach links gerichteten Pfeils dargestellte Register zu schreiben.
Der in Fig. 2 gezeigte Algorithmus wird nachfolgend als Abfolge von Schritten dargestellt, obgleich er genauso gut auch als Sammlung von verschiedenen Einrichtungen interpretiert werden kann. In einem Eingangsschritt 20 werden die Daten m, e, d und N bereitgestellt. In einem Schritt 21 wird zunächst die Randomisierungs-Hilfszahl e x d - 1 berechnet und in das Register X geschrieben. In einem Schritt 22 wird dann eine Zufallszahl mit einer Länge, die vorzugsweise zwischen 16 und 32 Bit liegt, ausgewählt und in das Register R geschrieben. In einem Schritt 23 wird dann der Inhalt des Registers X mit dem Inhalt des Registers R multipliziert, wobei das Ergebnis dieser Multiplikation wiederum in das Register X geschrieben wird. In einem Schritt 24 wird die Randomisierung des Exponenten durchgeführt, wie sie bei 14 in Fig. 1 dargestellt ist. Dies findet insbesondere dadurch statt, dass der Inhalt des Registers X zum zweiten Schlüssel, d. h. zu dem privaten Schlüssel d, hinzuaddiert wird, wobei das Ergebnis dieser Addition wiederum in das Register D geschrieben wird. In einem Schritt 25 wird wieder eine Zufallszahl mit einer Länge vorzugsweise zwischen 16 oder 32 Bits gewählt und in das Regis- ter R geschrieben. In einem Schritt 26 wird dann der Inhalt des Registers R mit dem Modul N multipliziert, wobei zu dem Ergebnis dieser Multiplikation noch die zu signierende Nachricht m hinzuaddiert wird.
Das gesamte Ergebnis dieser Addition wird wiederum in ein Register für die zu signierende Nachricht geschrieben, das mit m bezeichnet ist. Der Schritt 26 stellt somit die zusätzliche Randomisierung des zu verarbeitenden Werts, also der zu signierenden Nachricht, dar, um eine zusätzliche Sicherheit zu erreichen. In einem Schritt 27 wird dann wieder eine Zufallszahl mit der Länge beispielsweise zwischen 16 oder 32 Bit gewählt und in das Register R geschrieben. In einem Schritt 28 wird dann eine Modul-Randomisierung durchgeführt, indem der Modul N mit der gerade gewählten Zufallszahl, die im Register R steht, multipliziert wird. Das Ergebnis dieser Multiplikation wird in ein Register N' geschrieben. In einem Schritt 29 wird dann eine modulare Exponentiation durchgeführt, wobei der Inhalt des Registers m, der der randomisierten Nachricht entspricht, als Basis verwendet wird, wobei der Inhalt des Registers D, das den randomisierten Exponenten enthält, als Exponent verwendet wird, und wobei der Inhalt des Registers N', das den randomisierten Modul enthält, als Modul der modu- laren Exponentiation im Schritt 29 eingesetzt wird. Das Ergebnis dieser modularen Exponentiation wird in das Register S geschrieben. In einem abschließenden Reduktionsschritt 3 wird dann der Inhalt des Registers S einer modularen Reduktion un- ter Verwendung des im Eingangsschritt 20 bereitgestellten Moduls durchgeführt, um schließlich das gesuchte Ergebnis zu erhalten, das in das Register S geschrieben wird. In einem Ausgabeschritt 31 wird dann der Inhalt des Registers S ausgegeben, der gleich der modularen Exponentiation ist, die auf der Basis der im Eingangsschritt 20 bereitgestellten nicht- randomisierten Parameter auch erhalten werden würde.
Bei dem in Fig. 2 gezeigten Ausführungsbeispiel werden insgesamt drei Randomisierungen verwendet, nämlich die Randomisie- rung des Moduls unter Verwendung der Randomisierungs- Hilfszahl e x d - 1 (Schritt 24), die Randomisierung der Nachricht im Schritt 26 und die Randomisierung des Moduls im Schritt 28. Es sei darauf hingewiesen, dass optional auch die Randomisierung des Exponenten mit der erfindungsgemäßen Ran- domisierungs-Hilfszahl allein, kombiniert mit der Randomisierung der zu signierenden Nachricht m und/oder kombiniert mit der Randomisierung des Moduls N durchgeführt werden kann.
Ferner sei darauf hingewiesen, dass der randomisierte Expo- nent aufgrund der Addition des Ausdrucks R x (e x d - 1) im Block 14 von Fig. 1 eine größere Zahl als der ursprünglich verwendete Exponent d (oder prinzipiell auch e) ist. Nachdem die Schlüssel jedoch ohnehin bereits stattliche Größen annehmen können, beispielsweise 1024 oder 2048 binäre Stellen, wird es bevorzugt, als Randomisierungszahl R eine vergleichsweise kleine Zahl zu nehmen. Andererseits würde eine zu kleine Zufallszahl den Effekt der Randomisierung zunichte machen. Es wird daher bevorzugt, für die Randomisierung des Exponenten eine Zufallszahl zu verwenden, die größer oder gleich 8 Bit und kleiner oder gleich 128 Bit ist. Vorzugsweise wird eine Länge der Zufallszahl zwischen einschließlich 16 und einschließlich 32 verwendet, wie es in Fig. 2 dargestellt ist. Es sei ferner darauf hingewiesen, dass für die in den Schritten 22, 25 und 27 von Fig. 2 gewählten Zufallszahlen entweder immer dieselbe Zufallszahl verwendet werden kann, oder dass unterschiedliche Zufallszahlen verwendet werden können. Wird immer dieselbe Zufallszahl verwendet, so muss diese Zufallszahl nur einmal generiert werden und kann dann in einem eigenen Zufallszahlenregister abgespeichert werden. Dieser Ansatz ist dahingehend vorteilhaft, dass nur einmal eine Zufallszahl erzeugt werden muss. Andererseits ist ein eigenes Zufallszahlenregister erforderlich. Wird dagegen in jedem Schritt 22, 25 und 27 eine eigene Zufallszahl erzeugt, die sich mit sehr hoher Wahrscheinlichkeit von den in den jeweils anderen Schritten erzeugen Zufallszahlen unterscheiden wird, so wird kein eigenes Zufallszahlen-Register benötigt, das unter Umständen sogar angegriffen werden könnte. Das letztere Ausführungsbeispiel wird daher bevorzugt, wenn ein ausreichend leistungskräftiger Zufallszahlengenerator zur Verfügung steht.
Im Hinblick auf die einzelnen in den Schritten 22, 25 und 27 ausgewählten Zufallszahlen sei ferner darauf hingewiesen, dass dieselben nicht unbedingt in jedem Schritt die gleiche Länge haben müssen. Im Hinblick auf eine Diskussion der Länge der Zufallszahl, die im Schritt 22 für die Randomisierung des Exponenten ausgewählt wird, wird auf die obige Diskussion verwiesen. Die Zufallszahlen, die in den Schritten 25 und 27 ausgewählt werden, können kleiner oder größer sein, wobei insgesamt kleinere Zufallszahlen dazu beitragen, den Rechenaufwand zu verringern, wobei jedoch eine minimale Größe der Zufallszahl eingehalten werden sollte, um nicht das Konzept der Randomisierung insgesamt in Frage zu stellen. Auch die Zufallszahlen, die in den Schritten 25 und 27 ausgewählt werden, sollten daher eine Länge habe, die größer oder gleich 8 Bits ist.
Fig. 3 zeigt ein prinzipielles Blockschaltbild des erfindungsgemäßen Konzepts, nun jedoch unter Einsatz des Chinesi- sehen Restsatzes CRT. Eine Eingangsstufe 100 stellt kryptographische Eingabeparameter dar, die nun jedoch, da der Chinesische Restsatz angewendet werden soll, mehr Eingabeparameter umfassen als bei dem in Fig. 1 gezeigten Ausführungs- beispiel. Im einzelnen werden die zu signierende Nachricht m, der öffentliche Schlüssel e, ein erster privater Teilschlüssel dp, ein zweiter privater Teilschlüssel dq, die Zahlen p, q und der Parameter qιnv bereitgestellt. In Fig. 3 ist dargestellt, wie die Zahlen dp, dq und qιnv aus den Größen d, p und q berechnet werden können.
Die Eingabestufe 100 speist eine Einrichtung 102 zum Durchführen einer ersten modularen Exponentiation (102a) unter Verwendung eines von dem ersten Schlüssel d abgeleiteten ers- ten Teilschlüssel dp, um ein erstes Zwischenergebnis zu erhalten, und zum Durchführen einer zweiten modularen Exponentiation (102b) unter Verwendung eines von dem ersten Schlüssel abgeleiteten zweiten Teilschlüssel dq, um ein zweites Zwischenergebnis zu erhalten. Die Funktionalität der Ein- richtung zum Durchführen unter Verwendung des ersten Teilschlüssels dp ist in Fig. 3 mit 102a bezeichnet, während die Funktionalität der Einrichtung zum Durchführen der modularen Exponentiation mit dem zweiten Teilschlüssel dq mit 102b bezeichnet ist. Die beiden Einrichtungen 102a und 102b bilden zusammen eine Einrichtung 102 zum Durchführen der ersten und der zweiten modularen Exponentiation unter Verwendung der jeweiligen Teilschlüssel dp und dq. Der Block 102a liefert als Ausgangssignal ein erstes Zwischenergebnis Sp. Der Block 102b liefert als Ergebnis ein zweites Zwischenergebnis Sq. In ei- ner Einrichtung 104 werden die beiden Zwischenergebnisse Sp und Sq gemäß dem Chinesischen Restsatz und insbesondere vorzugsweise gemäß dem Algorithmus von Garner kombiniert, um schließlich das Ergebnis der modularen Exponentiation, wie beispielsweise eine Signatur, in Form des Parameters S aus- zugeben, wie es durch den Block 106 in Fig. 3 veranschaulicht ist. Die Einrichtung zum Durchführen, die bei 102 in Fig. 3 dargestellt ist, gliedert sich in Untereinheiten für jeden Block 102a, 102b auf, wobei diese Untereinheiten in Fig. 4 schematisch dargestellt sind, und zwar sowohl für den Block 102a als auch für den Block 102b. Im einzelnen umfasst der Block 102a eine Einrichtung 110 zum Berechnen der Randomisierungs- Hilfszahl auf der Basis des Ausdruck e x dp - 1. Analog hierzu enthält der Block 102b eine Einrichtung zum Berechnen der Randomisierungs-Hilfszahl auf der Basis des Ausdrucks e x dq - 1. Der Einrichtung 110 nachgeschaltet ist eine Einrichtung 112, die eine Zufallszahl erhält und dann den randomisierten Exponenten berechnet, und zwar entweder auf der Basis der Gleichung dp + R x (e x dp - 1) für den Block 102a oder auf der Basis der Gleichung dq + R x (e x dq - 1) für die Ein- richtung 102b, wobei R die durch den Block 112 in Fig. 4 erhaltene Zufallszahl ist.
Schließlich wird eine modulare Exponentiation in den Blocken 102a und 102b unter Verwendung der randomisierten Exponenten in einem Block 114 durchgeführt, um die Zwischenergebnisse Sp ,bzw. Sq zu erhalten.
Nachfolgend wird die Funktionalität des Blocks 102a der Einrichtung 102 von Fig. 3 anhand von Fig. 5a erläutert. In ei- nem ersten Schritt 120 wird die Randomisierungs-Hilfszahl e x dp - 1 berechnet und in das Register X abgespeichert. In einem Schritt 122 wird eine Zufallszahl gewählt und in dem Register R abgespeichert. In einem Schritt 124 werden der Inhalt des Registers X und der Inhalt des Registers R miteinan- der multipliziert, wobei das Ergebnis dieser Multiplikation wieder im Register X abgespeichert wird. Dann wird in einem Schritt 126 die eigentliche Randomisierung des Exponenten, nämlich des von dem privaten Schlüssel abgeleiteten ersten Teilschlüssels dp durchgeführt, wobei dieses Ergebnis in dem Register D abgespeichert wird. In einem Schritt 128 wird wieder eine Zufallszahl gewählt und in dem Register R abgespeichert. In einem Schritt 130 wird nunmehr die Nachricht rando- misiert, und zwar analog zum Schritt 26 von Fig. 2, nun jedoch anstatt des Moduls N aus Fig. 2 mit dem ersten Hilfsmodul p in Fig. 5a. Dann wird in einem Schritt 132 wieder eine Zufallszahl gewählt, und in einem Schritt 134 mit dem Hilfs- modul p multipliziert. Dieser nunmehr randomisierte Hilfsmodul, der im Register p' gespeichert ist, wird in einem Schritt 136 zu der in Fig. 5a, Schritt 136, dargestellten modularen Exponentiation verwendet. In einem abschließenden Schritt 138 wird dann das im Schritt 136 in das Register Sp geschriebene Zwischenergebnis noch bezüglich des ursprünglichen Hilfsmoduls p reduziert, um das erste Zwischenergebnis Sp zu erhalten.
In Fig. 5b sind die analogen Schritte der modularen Exponen- tiation mit einem zweiten Teilschlüssel gemäß Block 102b von Fig. 3 dargestellt, wobei die in Fig. 5b dargestellten Schritte prinzipiell genauso ablaufen wie die entsprechenden Schritte von Fig. 5a, wobei jedoch anstatt des ersten Teilschlüssels dp von Fig. 5a in Fig. 5b der zweite Teilschlüssel dq genommen wird, und wobei anstatt des ersten Hilfsmoduls p in Fig. 5a in Fig. 5b der zweite Hilfsmodul q verwendet wird. Darüber hinaus wird darauf hingewiesen, dass die in den Fig. 5a und Fig. 5b gewählten Zufallszahlen unabhängig voneinander sein können. Alternativ könnte jedoch auch in jedem entspre- chenden Schritt dieselbe Zufallszahl von einem Zufallszahlregister ausgelesen werden. Insofern gelten für die Zufallszahlen dieselben Randbedingungen, wie sie anhand von Fig. 2 erläutert worden sind.
Fig. 5c stellt die von der in Fig. 3 mit 104 bezeichneten
Kombinationseinrichtung ausgeführte Implementierung dar, um aus dem ersten Zwischenergebnis Sp und dem zweiten Zwischenergebnis Sq das Ergebnis beispielsweise in Form der Signatur S zu erhalten.
Das erfindungsgemäße Konzept besteht darin, dass - wenn der CRT nicht eingesetzt wird - eine Randomisierung des Exponen- ten prinzipiell - ohne weitere Eingangsparameter - aus dem minimalen privaten RSA-Datensatz erstellbar ist, der aus dem Modul N, dem öffentlichen Schlüssel e und dem privaten Schlüssel d besteht. Eine Randomisierung ist somit immer durchführbar, unabhängig davon, ob ein Sicherheitsprotokoll eine Eulersche Phi-Funktion, eine Carmichaelsche λ-Funktion oder etwas ähnliches bereitstellt oder nicht. Die für die Berechnung der Randomisierungs-Hilfszahl erforderliche Funktionalität in Form einer Multiplikation und einer Addition ist auf jedem üblichen Kryptochip, wie z. B. in Form eines Kryp- tocoprozessors vorhanden. Darüber hinaus ist die Randomisierung abgesehen von den Schritten der Erzeugung bzw. Ermittlung der Zufallszahlen und abgesehen von der etwas gewachsenen Länge des Exponenten Performance-neutral. Dies bedeutet in anderen Worten, dass keine wesentliche Erhöhung des Rechenaufwands bzw. der Rechenzeit stattfindet, während gleichzeitig ein erhebliches Maß an Sicherheit gewonnen wird, das bezüglich der Länge der Zufallszahl skalierbar ist.
Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zur Ermittlung eines Ergebnisses einer modularen Exponentiation in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch ausles- baren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Pro- grammcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt stellt die Erfindung somit auch ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens dar, wenn das Computer-Programm auf einem Com- puter abläuft. Bezugszeichenliste
10 Eingangsstufe
12 Berechnen der Randomisierungs-Hilfszahl
14 Erhalten einer Zufallszahl und Berechnen eines randomisierten Exponenten 16 Berechnen der modularen Exponentiation mit dem randomisierten Exponenten 18 Ausgangsstufe
20 Eingabeschritt
21 bis 30 Abiaufschritte des Algorithmus ohne Chinesischen Restsatz
60 Signaturgleichung 62 Verifikationsgleichung 100 Eingangsstufe 102 Einrichtung zum Durchführen 102a modulare Exponentiation mit einem ersten Teilschlüssel 102b modulare Exponentiation mit einem zweiten Teilschlüssel 104 Kombinieren der Ergebnisse gemäß Chinesischem Restsatz 106 Ausgangsstufe
110 Berechnen der Randomisierungs-Hilfszahl 112 Erhalten einer Zufallszahl und Berechnen des randomisierten Exponenten 114 Berechnen der Zwischenergebnisse
120 bis 138 Ablaufschritte des Algorithmus zur Berechnung des ersten Zwischenergebnisses unter Verwendung des Chinesischen Restsatzes 140 bis 158 Ablaufschritte des Algorithmus zur Berechnung des zweiten Zwischenergebnisses gemäß dem Chinesischen Restsatz

Claims

Patentansprüche
1. "Vorrichtung zur Ermittlung eines Ergebnisses einer modularen Exponentiation innerhalb eines Kryptosystems mit einem ersten Schlüssel (e) und einem zweiten Schlüssel (d) , mit folgenden Merkmalen:
einer Einrichtung (12) zum Berechnen einer Randomisierungs- Hilfszahl auf der Basis eines Produkts aus dem ersten Schlüs- sei (e) und dem zweiten Schlüssel (d) weniger 1;
einer Einrichtung (14) zum Erhalten einer Zufallszahl und zum Kombinieren eines Produkts aus der Zufallszahl und der Randomisierungs-Hilfszahl mit dem ersten oder dem zweiten Schlüs- sei, um einen randomisierten Exponenten zu erhalten; und
einer Einrichtung (16) zum Berechnen des Ergebnisses der modularen Exponentiation unter Verwendung des randomisierten Exponenten.
2. Vorrichtung nach Anspruch 1, die ferner eine Einrichtung (25, 26) aufweist, um eine Basis (m) der modularen Exponentiation zu randomisieren, wobei folgende Gleichung einsetzbar ist:
m' = m + N x R,
wobei m' eine randomisierte Basis ist, wobei m eine Basis vor der Randomisierung ist, wobei N der Modul der modularen Expo- nentiation ist, und wobei R die Zufallszahl ist.
3. Vorrichtung nach einem der Ansprüche 1 oder 2, die ferner eine Einrichtung (27, 28) zum Randomisieren des Moduls aufweist, wobei die Einrichtung zum Randomisieren des Moduls wirksam ist, um folgende Gleichung auszuführen:
N' = N x R, wobei N' der randomisierte Modul ist, wobei N der Modul vor der Randomisierung ist, und wobei R die Zufallszahl ist.
4. Vorrichtung nach Anspruch 3, bei der die Einrichtung (16) zum Berechnen der modularen Exponentiation ausgebildet ist, um eine Endreduktion (30) gemäß folgender Gleichung durchzuführen:
S = S' mod N,
wobei S das Ergebnis der modularen Exponentiation nach einer Endreduktion ist, wobei S' das Ergebnis der modularen Exponentiation unter Verwendung des randomisierten Moduls und des randomisierten Exponenten vor der Endreduktion ist, und wobei N der Modul vor der Modulrandomisierung ist.
5. Vorrichtung gemäß einem der vorhergehenden Ansprüche, die ausgebildet ist, um eine digitale Signatur (60) durchzufüh- ren, wobei m eine zu signierende Klartextnachricht ist, wobei d ein geheimer Schlüssel ist, wobei e ein öffentlicher Schlüssel ist, und wobei N der Modul ist.
6. Vorrichtung zur Ermittlung eines Ergebnisses einer modula- ren Exponentiation innerhalb eines Kryptosystems mit einem ersten Schlüssel (e) und einem zugehörigen zweiten Schlüssel (d) unter Verwendung des Chinesischen Restsatzes, mit folgenden Merkmalen:
einer Einrichtung (102) zum Durchführen einer ersten modularen Exponentiation unter Verwendung eines von dem zweiten Schlüssel abgeleiteten ersten Teilschlüssels (dp) , um ein erstes Zwischenergebnis (Sp) zu erhalten, und zum Durchführen einer zweiten modularen Exponentiation unter Verwendung eines von dem zweiten Schlüssel abgeleiteten zweiten Teilschlüssels (dq) , um ein zweites Zwischenergebnis (Sq) zu erhalten; und einer Einrichtung (104) zum Kombinieren des ersten und des zweiten Zwischenergebnisses gemäß dem Chinesischen Restsatz, um das Ergebnis der modularen Exponentiation zu erhalten,
wobei die Einrichtung (102) zum Durchführen folgende Merkmale aufweist:
eine Einrichtung (110) zum Berechnen einer Randomisierungs- Hilfszahl auf der Basis eines Produkts aus einem Teilschlüs- sei (dp; dq) und dem ersten Schlüssel (e) weniger „1";
eine Einrichtung (112) zum Erhalten einer Zufallszahl und zum Kombinieren eines Produkts aus der Zufallszahl und der Randomisierungs-Hilfszahl mit einem Teilschlüssel, um einen rando- misierten Exponenten zu erhalten, und
wobei die Einrichtung (102) zum Durchführen ausgebildet ist, um den randomisierten Exponenten zum Berechnen des ersten o- der des zweiten Zwischenergebnisses zu verwenden.
7. Vorrichtung nach Anspruch 6, die ferner eine Einrichtung (128, 130; 148, 150) zum Randomisieren einer Basis einer modularen Exponentiation unter Verwendung einer Zufallszahl gemäß folgender Gleichung aufweist:
m' = m + p x R oder m' = m + q x R,
wobei m' eine randomisierte Basis ist, wobei m eine Basis vor der Randomisierung ist, wobei p ein erster Hilfsmodul ist, wobei q ein zweiter Hilfsmodul ist, wobei R die Zufallszahl ist, und wobei p und q so gewählt sind, dass ein Produkt aus p und q den Modul (N) der modularen Exponentiation ergibt.
8. Vorrichtung nach Anspruch 6 oder 7, bei der die Einrich- tung zum Durchführen der ersten und der zweiten modularen Exponentiation (102a, 102b) ausgebildet ist, um die modularen Exponentiationen unter Verwendung eines ersten bzw. zweiten Hilfsmoduls (p, q) durchzuführen, wobei die Vorrichtung zur Ermittlung eines Ergebnisses ferner ausgebildet ist, um eine Einrichtung zur Modulrandomisierung zu umfassen, die ausgebildet ist, um folgende Gleichung zu erfüllen:
p' = p x R bzw. q' = q x R,
wobei p' ein randomisierter ersten Untermodul ist, wobei p der erste Untermodul vor der Randomisierung ist, wobei R eine Zufallszahl ist, wobei q' ein randomisierter zweiter Untermodul ist, und wobei q der zweite Untermodul vor der Randomisierung ist.
9. Vorrichtung nach Anspruch 8, die ferner ausgebildet ist, um eine abschließende Endreduktion unter Verwendung des ersten Untermoduls (p) oder unter Verwendung des zweiten Untermoduls (q) durchzuführen, um das erste und das zweite Zwischenergebnis zu erhalten, bevor das erste und das zweite Zwischenergebnis miteinander kombiniert werden.
10. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Einrichtung (14, 112) ausgebildet ist, um eine Zufallszahl zu erhalten, deren Länge zwischen 8 und 128 Bits liegt.
11. Vorrichtung nach einem der Ansprüche 6 bis 10, bei der das Ergebnis der modularen Exponentiation eine Signatur einer Nachricht darstellt, wobei m die Nachricht vor der Signierung ist, d der geheime Schlüssel ist, e der öffentliche Schlüssel ist und N der Modul ist.
12. Verfahren zur Ermittlung eines Ergebnisses einer modularen Exponentiation innerhalb eines Kryptosystems mit einem ersten Schlüssel (e) und einem zweiten Schlüssel (d) , mit folgenden Schritten: Berechnen (12) einer Randomisierungs-Hilfszahl auf der Basis eines Produkts aus dem ersten Schlüssel (e) und dem zweiten Schlüssel (d) weniger 1;
Erhalten (14) einer Zufallszahl und zum Kombinieren eines Produkts aus der Zufallszahl und der Randomisierungs- Hilfszahl mit dem ersten oder dem zweiten Schlüssel, um einen randomisierten Exponenten zu erhalten; und
Berechnen (16) des Ergebnisses der modularen Exponentiation unter Verwendung des randomisierten Exponenten.
13. Verfahren zur Ermittlung eines Ergebnisses einer modularen Exponentiation innerhalb eines Kryptosystems mit einem ersten Schlüssel (e) und einem zugehörigen zweiten Schlüssel (d) unter Verwendung des Chinesischen Restsatzes, mit folgenden Schritten:
Durchführen (102) einer ersten modularen Exponentiation unter Verwendung eines von dem zweiten Schlüssel abgeleiteten ersten Teilschlüssels, um ein erstes Zwischenergebnis Sp zu erhalten, und zum Durchführen einer zweiten modularen Exponentiation unter Verwendung eines von dem zweiten Schlüssel abgeleiteten zweiten Teilschlüssels, um ein zweites Zwischener- gebnis Sq zu erhalten; und
Kombinieren (104) des ersten und des zweiten Zwischenergebnisses gemäß dem Chinesischen Restsatz, um das Ergebnis der modularen Exponentiation zu erhalten,
wobei der Schritt des Durchführens (102) folgende Teilschritte aufweist:
Berechnen (110) einer Randomisierungs-Hilfszahl auf der Basis eines Produkts aus einem Teilschlüssel (dp; dq) und dem ersten Schlüssel (e) weniger „1"; Erhalten (112) einer Zufallszahl und Kombinieren eines Produkts aus der Zufallszahl und der Randomisierungs-Hilfszahl mit einem Teilschlüssel, um einen randomisierten Exponenten zu erhalten, und
wobei der Schritt des Durchführens (102) ferner ausgebildet ist, um den randomisierten Exponenten zum Berechnen des ersten oder des zweiten Zwischenergebnisses zu verwenden.
14. Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens nach Anspruch 12 oder 13, wenn das Programm auf einem Computer abläuft .
PCT/EP2004/000522 2003-02-04 2004-01-22 Modulare exponentiation mit randomisierten exponenten WO2004070497A2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04704224A EP1590731A2 (de) 2003-02-04 2004-01-22 Modulare exponentiation mit randomisierten exponenten
US11/195,350 US7908641B2 (en) 2003-02-04 2005-08-01 Modular exponentiation with randomized exponent

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10304451.5 2003-02-04
DE10304451A DE10304451B3 (de) 2003-02-04 2003-02-04 Modulare Exponentiation mit randomisiertem Exponenten

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/195,350 Continuation US7908641B2 (en) 2003-02-04 2005-08-01 Modular exponentiation with randomized exponent

Publications (2)

Publication Number Publication Date
WO2004070497A2 true WO2004070497A2 (de) 2004-08-19
WO2004070497A3 WO2004070497A3 (de) 2005-01-06

Family

ID=32797314

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/000522 WO2004070497A2 (de) 2003-02-04 2004-01-22 Modulare exponentiation mit randomisierten exponenten

Country Status (5)

Country Link
US (1) US7908641B2 (de)
EP (1) EP1590731A2 (de)
KR (1) KR100731387B1 (de)
DE (1) DE10304451B3 (de)
WO (1) WO2004070497A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1840732A1 (de) * 2006-03-31 2007-10-03 Axalto SA Schutz vor Seitenkanalangriffen

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007046402A1 (ja) * 2005-10-19 2007-04-26 Matsushita Electric Industrial Co., Ltd. 情報セキュリティ装置、情報セキュリティ方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体及び集積回路
US8670557B2 (en) * 2007-09-10 2014-03-11 Spansion Llc Cryptographic system with modular randomization of exponentiation
KR100953716B1 (ko) * 2008-02-28 2010-04-19 고려대학교 산학협력단 Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
KR20110014630A (ko) * 2008-05-07 2011-02-11 이르데토 비.브이. 지수 불명료화
KR101334040B1 (ko) * 2010-01-20 2013-11-28 한국전자통신연구원 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치
DE102010039273B4 (de) * 2010-08-12 2014-12-04 Infineon Technologies Ag Kryptographie-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation
KR101344402B1 (ko) * 2010-08-12 2013-12-26 한국전자통신연구원 Rsa 서명 방법 및 장치
FR3010210B1 (fr) * 2013-08-29 2017-01-13 Stmicroelectronics Rousset Protection d'un calcul contre des attaques par canaux caches
WO2015088525A1 (en) * 2013-12-12 2015-06-18 Empire Technology Development, Llc Randomization of processor subunit timing to enhance security
US9444623B2 (en) * 2013-12-20 2016-09-13 Cryptography Research, Inc. Modular exponentiation optimization for cryptographic systems
KR101604009B1 (ko) 2014-05-12 2016-03-17 주식회사 키페어 공인인증을 위한 보안 토큰 및 그 구동 방법
US10181944B2 (en) 2015-06-16 2019-01-15 The Athena Group, Inc. Minimizing information leakage during modular exponentiation and elliptic curve point multiplication
US10367637B2 (en) * 2016-07-22 2019-07-30 Qualcomm Incorporated Modular exponentiation with transparent side channel attack countermeasures
US11902420B2 (en) * 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE10042234A1 (de) * 2000-08-28 2002-03-14 Infineon Technologies Ag Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
EP1239365A2 (de) * 2001-03-06 2002-09-11 Hitachi, Ltd. Betrugssicheres Verarbeitungsverfahren

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611307A (en) * 1964-06-26 1986-09-09 Hewlett-Packard Company Function analyzing
US4499551A (en) * 1982-09-27 1985-02-12 At&T Bell Laboratories Rapid generation of discrete random variates from general distributions
US5046094A (en) * 1989-02-02 1991-09-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
US5208490A (en) 1991-04-12 1993-05-04 Hewlett-Packard Company Functionally complete family of self-timed dynamic logic circuits
US5369708A (en) * 1992-03-31 1994-11-29 Kabushiki Kaisha Toshiba Fast server-aided computation system and method for modular exponentiation without revealing client's secret to auxiliary device
AU2435297A (en) * 1996-04-02 1997-11-07 Theodore G Handel Data embedding
US6282290B1 (en) * 1997-03-28 2001-08-28 Mykotronx, Inc. High speed modular exponentiator
WO1999035782A1 (en) * 1998-01-02 1999-07-15 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
FR2780177B1 (fr) * 1998-06-17 2001-10-05 Schlumberger Ind Sa Systeme de protection d'un logiciel
US6907407B1 (en) * 1998-07-02 2005-06-14 Sharp Kabushiki Kaisha Copyright management apparatus
RU2153191C2 (ru) * 1998-09-29 2000-07-20 Закрытое акционерное общество "Алкорсофт" Способ изготовления вслепую цифровой rsa-подписи и устройство для его реализации (варианты)
US6298135B1 (en) * 1999-04-29 2001-10-02 Motorola, Inc. Method of preventing power analysis attacks on microelectronic assemblies
US6928163B1 (en) * 1999-07-20 2005-08-09 International Business Machines Corporation Methods, systems and computer program products for generating user-dependent RSA values without storing seeds
US6886098B1 (en) * 1999-08-13 2005-04-26 Microsoft Corporation Systems and methods for compression of key sets having multiple keys
JP2001117823A (ja) * 1999-10-15 2001-04-27 Fuji Xerox Co Ltd アクセス資格認証機能付きデータ記憶装置
FR2800478B1 (fr) * 1999-10-28 2001-11-30 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique
US6914983B2 (en) * 2000-12-19 2005-07-05 International Business Machines Corporation Method for checking modular multiplication
DE10143728B4 (de) * 2001-09-06 2004-09-02 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
JP3896047B2 (ja) * 2002-07-26 2007-03-22 株式会社豊田中央研究所 モータ駆動制御装置
DE60322338D1 (de) * 2003-04-07 2008-09-04 St Microelectronics Srl Verschlüsselungsverfahren unter Verwendung von chaotischen Abbildungen und digitale Unterschriftsverfahren

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE10042234A1 (de) * 2000-08-28 2002-03-14 Infineon Technologies Ag Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
EP1239365A2 (de) * 2001-03-06 2002-09-11 Hitachi, Ltd. Betrugssicheres Verarbeitungsverfahren

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1840732A1 (de) * 2006-03-31 2007-10-03 Axalto SA Schutz vor Seitenkanalangriffen
WO2007116262A1 (en) * 2006-03-31 2007-10-18 Axalto Sa Protection against side channel attacks
US8402287B2 (en) 2006-03-31 2013-03-19 Gemalto Sa Protection against side channel attacks

Also Published As

Publication number Publication date
DE10304451B3 (de) 2004-09-02
US20070064930A1 (en) 2007-03-22
US7908641B2 (en) 2011-03-15
KR20050106416A (ko) 2005-11-09
WO2004070497A3 (de) 2005-01-06
KR100731387B1 (ko) 2007-06-21
EP1590731A2 (de) 2005-11-02

Similar Documents

Publication Publication Date Title
EP2742643B1 (de) Vorrichtung und verfahren zum entschlüsseln von daten
DE10201449C1 (de) Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
DE60223337T3 (de) Verfahren zur gesicherten verschlüsselung und baustein zur ausführung eines solchen verschlüsselungsverfahrens
DE60119620T2 (de) Verfahren zur Skalarmultiplikation auf einer elliptischen Kurve und entsprechende Vorrichtung
EP2901611B1 (de) Seitenkanalgeschützte maskierung
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
DE69611605T2 (de) System zur sicherstellung, dass das "blinding" von geheimschlüsselzertifikaten begrenzt ist, auch wenn das vergabeprotokoll im parallelmodus ausgefürht wird
EP3218894A1 (de) Verfahren zum testen und zum härten von softwareapplikationen
EP2605445A1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE102005028662A1 (de) Verfahren und Vorrichtung zum Berechnen einer Polynom-Multiplikation, insbesondere für die elliptische Kurven-Kryptographie
DE102012202015A1 (de) Vorrichtung und verfahren zum berechnen eines ergebnisses einer skalarmultiplikation
DE102005037598A1 (de) Verfahren und System zur Sicherung von Daten
DE102010001289B4 (de) Vorrichtung zum Berechnen eines Ergebnisses einer Skalarmultiplikation
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE10024325B4 (de) Kryptographisches Verfahren und kryptographische Vorrichtung
DE102015104421A1 (de) Verfahren zum Verwenden eines Tokens in der Kryptographie
EP1987421B1 (de) Verfahren, vorrichtung und system zum verifizieren von auf einer elliptischen kurve ermittelten punkten
EP3387636B1 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)
EP2641241B1 (de) Verfahren zur langzahldivision oder modulare reduktion
WO2003034172A2 (de) Verfahren und vorrichtung zum berechnen eines ergebnisses einer exponentiation
WO2003034649A2 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
EP1454260A2 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
DE102021120010B3 (de) Kryptografische verarbeitungsvorrichtung und verfahren zur durchführung einer gitterbasierten kryptografieoperation
WO2002019065A2 (de) Verfahren und vorrichtung zum durchführen einer modularen exponentiation in einem kryptographischen prozessor
DE10162496B4 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus

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 BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG 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 NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004704224

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11195350

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020057014395

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004704224

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057014395

Country of ref document: KR

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWP Wipo information: published in national office

Ref document number: 11195350

Country of ref document: US