WO2007116262A1 - Protection against side channel attacks - Google Patents
Protection against side channel attacks Download PDFInfo
- Publication number
- WO2007116262A1 WO2007116262A1 PCT/IB2007/000728 IB2007000728W WO2007116262A1 WO 2007116262 A1 WO2007116262 A1 WO 2007116262A1 IB 2007000728 W IB2007000728 W IB 2007000728W WO 2007116262 A1 WO2007116262 A1 WO 2007116262A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- masked
- cryptographic
- output
- msk
- var
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7238—Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
Definitions
- the invention relates to methods for protecting cryptographic devices against side channel attacks, and to cryptographic devices embedding such methods.
- cryptographic devices are devices implementing cryptographic mechanisms.
- Examples of cryptographic devices include smart cards, USB keys, dongles, Personal Digital Assistants (a.k.a PDAs), mobile phones, personal computers (a.k.a PCs), etc.
- Such cryptographic devices are used in particular for securing a user's electronic transactions.
- the expression "electronic transaction" is to be taken in its broadest meaning. I.E. it is not limited to financial transaction but also contain any Internet transaction, any transaction occurring through a telecommunication network etc.
- Securing electronic transactions may comprise the cryptographic mechanisms of digitally signing electronic documents, decrypting electronic documents, negotiating session keys with a third party and/or authenticating a user.
- the above four cryptographic mechanisms are well known in the art. They are not limitative (other cryptographic mechanisms exist), and not mandatory (for example a cryptographic device does not necessarily embed a digital signature mechanism).
- Cryptographic mechanisms have an input and an output.
- an encryption mechanism may have an input consisting of a plaintext and an output consisting of a ciphertext.
- an input consisting of a plaintext
- an output consisting of a ciphertext.
- side channel attacks rely on the fact that a cryptographic device has input and output means other than the legitimate input and output means.
- use of illegitimate input means may comprise altering cryptographic operations by heating the cryptographic device, by modifying its clock (e.g.
- illegitimate output means may comprise analyzing the power consumption of the cryptographic device (e.g. an electronic component requires more electric power to perform a complex operation such as "square and multiply” than it does for a simple operation such as "square only"), analyzing the electromagnetic field created by the cryptographic device, analyzing the sounds emitted by the cryptographic device, etc.
- Well-known side channel attacks include Simple Power Analysis (SPA), Differential Power Analysis (DPA) or Differential Fault Analysis (DFA).
- Cryptographic mechanisms consist of mechanisms involving at least a secret D which is supposed to be stored securely in a cryptographic device. D should not be leaked outside the cryptographic device through any attack.
- D can be represented in the form of an n-bit number (do, d-i, ... d n -i)2, where dj is a bit (for each integer i between 0 and n-1).
- the exponent D will be denoted ⁇ d 0 , d-i, ... d n- i ⁇ 2 instead of (do, d-i, ...
- a monoid (M, 1) is defined as an algebraic set, the set being closed under an associative binary operation 1, the set having an identity element. Contrary to a group, in a monoid every element does not necessarily have an inverse.
- the operation 1 can also be represented with other symbols. For example, the operation 1 can be represented as an additive operation (symbol +), as a multiplicative operation (symbol *), etc. This representation is purely formal and does not affect the properties of the monoid.
- monoids will be represented with the multiplicative operation *, and will be denoted ⁇ M, * ⁇ instead of (M, *) in order not to introduce any ambiguity with the reference signs placed in the claims between parentheses as per the European Patent Convention.
- Monoids are widespread in cryptography. The most widespread monoids in the field of cryptography are large monoids having many invertible elements, e.g. 2 80 invertible elements. For example, with the RSA algorithm, almost all elements are invertible (the exceptions being in particular the multiples of p and q).
- M * denotes the set containing all invertible elements of the set M of the monoid ⁇ M, * ⁇ .
- X 2 is called a squaring operation and stands for X*X.
- X n stands for X*X*... * X where X appears n times.
- Y*Z is called a multiplication operation.
- the invention improves the resistance of above-mentioned particularly sensitive cryptographic mechanisms to side channel attacks. Examples of such mechanisms include elliptic curve point multiplications, and modular exponentiations used when performing an RSA operation or a Diffie Hellman key establishment.
- the invention also limits the amount of processing required for securing the cryptographic mechanisms. It does so by introducing a particular type of masking mechanism (also known as blinding mechanism).
- Figure 2 represents a cryptographic mechanism with a first level of protection against side channel attacks, known in the art as the "balanced modular exponentiation algorithm”.
- Figure 3 represents a cryptographic mechanism with a second level of protection against side channel attacks, known in the art as "Joye & Al. modular exponentiation algorithm”.
- Figure 4 represents a possible masking mechanism for modular exponentiation.
- Figure 5 represents a preferred cryptographic mechanism according to the invention, offering a higher level of protection against side channel attacks.
- Figure 6 and Figure 7 represent variants of the mechanism of Figure 5.
- Figure 1 describes an example of cryptographic mechanism consisting of a modular exponentiation. This sort of modular exponentiations is implemented in particular with RSA and Diffie Hellman algorithms.
- step 2 for each bit dj of the exponent D, a modular squaring is performed (sub-step 2.i). When dj is equal to 1 , a modular multiplication is performed (sub-step 2. N). D is usually derived from a random number. In general, the hamming weight of D is approximately n/2. Therefore, in general the method of Figure 1 involves n modular squaring operations and around n/2 modular multiplications.
- this type of cryptographic mechanisms is extremely sensitive even to the simplest side channel attacks such as SPA. Indeed, the power consumption is not the same during the execution of the multiplication operation and of the squaring operation. Therefore, one can put a probe on the cryptographic device implementing the cryptographic mechanism, measure the power consumption, and distinguish the multiplication and the squaring in the power trace, thereby identifying the value of all bits dj. The exponent D is then recovered by the attacker.
- Figure 2 describes an example of cryptographic mechanism comprising a first level of protection against side channel attacks, known in the art as the "balanced modular exponentiation algorithm"
- This method is similar to the one of Figure 1 , except that when dj is equal to 0, a third step iii is added, in which a dummy multiplication is executed. Thanks to this third step, the power consumption is very close whether the bit is equal to 0 or to 1.
- this method remains very sensitive to another side channel attack known as the SE attack (safe error attack). Indeed, if the cryptographic mechanism is disrupted during a dummy multiplication, the multiplication fails, but the final result remains unaffected since the dummy multiplication is not used for the final result. Therefore an attacker can find out the dummy bits, which are bits equal to 0 in this example, and infer that all other bits are equal to 1 , which results in the secret value of D being recovered.
- SE attack safety error attack
- Figure 3 describes an example of known cryptographic mechanism comprising a second level of protection against side channel attacks, known in the art as "Joye & Al. modular exponentiation algorithm", and disclosed at CHES 2002 by Joye and Yen. It is based on the Montgomery Ladder algorithm.
- the cryptographic mechanism of Figure 3 aims at overcoming the limitation of the cryptographic mechanism of Figure 2. To this end, there is no more dummy operation. Instead, The result of all multiplications is used in the final result (except in the last round). Therefore disturbing the mechanism always leads to an erroneous output.
- the masking may consist in multiplying the input element with a random number, thereby rendering the prediction step of the DPA attacks impossible.
- the technique shown on Figure 4 requires approximately 4*n operations, which makes it twice slower than previous techniques.
- the technique shown on Figure 4 also performs the modular exponentiation twice. A first time for the masked input, and another time for the mask used for the masking. Due to this double modular exponentiation, the secret exponent D is used twice, which potentially weakens the mechanism.
- a cryptographic mechanism involves a secret D which can be represented as an n-bit number ⁇ d 0 , di, ... d n- i ⁇ 2-
- the cryptographic mechanism is arranged to calculate an output element OUT equal to X D , X being an element of a monoid ⁇ M, * ⁇ .
- the mechanism comprises a first variable VAR 0 and a second variable VARi.
- the cryptographic mechanism comprises n steps
- Each step SQi is executed after the step MULj for any i between 0 and n-1
- each step MULM is executed after step MULj for any i between 1 and n-1.
- the mechanism is characterized in that it comprises the steps of: a. generating a random element MSKJNPUT, b.
- step d occurs at any time between step a and step e, and wherein the steps a, b, c, e are consecutive.
- the computation of the output mask can take place together with the computation of the masked output element.
- this computation can also take place serially (either after, as shown on step 4 of the figure, or before). It is also possible to perform this computation in parallel, for example inside two different threads, as depicted on Figure 7 (CF. steps 3a and 3b).
- the DPA attack is no longer applicable, as the attacker does not know the mask and does not have the possibility to make assumptions regarding the intermediate results.
- the element X can be an input element supplied to the cryptographic mechanism by another mechanism, or can be generated inside the cryptographic mechanism.
- the current time may be determined securely inside the mechanism and then digitally signed inside the mechanism.
- the output element OUT can be communicated by the cryptographic mechanism to another mechanism, can be kept internally in the cryptographic mechanism, or can be post-processed in the cryptographic mechanism and sent to another mechanism in the post-processed form.
- the cryptographic mechanism according to the invention is such that the random element MSKJNPUT belongs to M * (the set of invertible elements of M, as seen above).
- MSKJNPUT is equal to a value R, we denote by R "1 the inverse of R for the operation * of the monoid ⁇ M, * ⁇ .
- R the inverse of R for the operation * of the monoid ⁇ M, * ⁇ .
- This is advantageous in particular for mechanisms associated with a function g such that the computation of the function g may be executed by involving the steps R_SQj. More specifically, in a preferred mechanism according to the invention,
- the masked element MASKED_X is equal to X*R and the output element OUT is equal to MASKED_OUT*MSK 0 , MSK n being equal to R "1 , the initial value of the first variable VAR 0 being set to the value R of the random element, the initial value of the second variable VARi being set to the value of the masked element MASKED_X, each step MULj consisting in calculating VAR 1 -(ZVARdI and storing the result in VAR-i-di, each step SQi consisting in calculating VARd * VARdi and storing the result in VAR d ⁇ .
- Figure 5 describes an example of such preferred embodiment of the invention comprising:
- a first step in which a random number is generated This can be done for example by a hardware random number generator embedded in a cryptographic device implementing the cryptographic mechanism. Indeed, the random number is preferably as unpredictable as possible, which is best achieved with hardware means as known in the art;
- the cryptographic mechanism uses the element X and the secret D as inputs.
- the secret D is stored securely and therefore does not need to be passed to the cryptographic mechanism each time the cryptographic mechanism is invoked.
- the element X is generally passed to the cryptographic mechanism as an input parameter, but may also be determined by the cryptographic mechanism itself (e.g. as seen above with time stamps based on a clock available in the cryptographic mechanism, etc.).
- the invention also concerns a cryptographic device storing a secret D and implementing a cryptographic mechanism as described above.
- the invention concerns more particularly cryptographic devices of the smart card type.
- the invention is particularly advantageous for embedded systems such as smart cards as it has very few additional requirements compared to state of the art cryptographic mechanisms. It is well suited to the RSA algorithm. Indeed, it does not require any additional information on the key material compared to traditional cryptographic mechanisms. In particular, it does not require the public exponent of the RSA key pair to be available to the cryptographic mechanism.
- the complexity of the preferred embodiment of Figure 5 involves approximately 2*n square operations and n multiplications, i.e. around 3*n CPU intensive operations, which is only 50% more than the closest method (Montgomery ladder of Figure 3), and does not require much more RAM (50% at most).
- This situation corresponds to a weak output mask, since it is equivalent to not having an output mask (the masked output and the output are equal).
- This weakness is hard to exploit, and is very unlikely to happen.
- the probability of a random element leading to a weak mask is very low. For example, it is estimated that for RSA 2048, the probability of picking a weak random element is at most equal to 1.9*10 '7 .
- the probability depends on the value of the RSA key, and in practice it is often much lower than the above value.
- the probability can be made arbitrarily small by picking several invertible random elements and multiplying them together (only if all elements are weak will the product of the elements be weak).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
The invention relates to a cryptographic mechanism and to a cryptographic device incorporating such cryptographic mechanism. The cryptographic mechanism offers a better resistance to side channel attacks than that of known cryptographic mechanisms by incorporating a new type of masking mechanism.
Description
Protection against side channel attacks
The invention relates to methods for protecting cryptographic devices against side channel attacks, and to cryptographic devices embedding such methods.
As known in the art, cryptographic devices are devices implementing cryptographic mechanisms.' Examples of cryptographic devices include smart cards, USB keys, dongles, Personal Digital Assistants (a.k.a PDAs), mobile phones, personal computers (a.k.a PCs), etc. Such cryptographic devices are used in particular for securing a user's electronic transactions. The expression "electronic transaction" is to be taken in its broadest meaning. I.E. it is not limited to financial transaction but also contain any Internet transaction, any transaction occurring through a telecommunication network etc. Securing electronic transactions may comprise the cryptographic mechanisms of digitally signing electronic documents, decrypting electronic documents, negotiating session keys with a third party and/or authenticating a user. The above four cryptographic mechanisms are well known in the art. They are not limitative (other cryptographic mechanisms exist), and not mandatory (for example a cryptographic device does not necessarily embed a digital signature mechanism).
Cryptographic mechanisms have an input and an output. For example, an encryption mechanism may have an input consisting of a plaintext and an output consisting of a ciphertext. When first cryptographic devices were designed, people had the feeling that the only attacks possible on their cryptographic mechanisms consisted in attacking the input and output. However, it turned out that cryptographic devices are also susceptible to so-called "side channel attacks". Side channel attacks rely on the fact that a cryptographic device has input and output means other than the legitimate input and output means. For example use of illegitimate input means may comprise altering cryptographic
operations by heating the cryptographic device, by modifying its clock (e.g. speeding up above the recommended limit), by putting it under UV light, X-Ray, or ultrasonic waves, by shaking it or otherwise mechanically acting on it, etc. Such alteration can be carefully designed (for example a glitch can be introduced at the exact moment that a counter is about to be decremented) or can be random (for example the aim might simply be to induce a random fault and analyze the consequence of the fault, which may leak sensitive information). Use of illegitimate output means may comprise analyzing the power consumption of the cryptographic device (e.g. an electronic component requires more electric power to perform a complex operation such as "square and multiply" than it does for a simple operation such as "square only"), analyzing the electromagnetic field created by the cryptographic device, analyzing the sounds emitted by the cryptographic device, etc. Well-known side channel attacks include Simple Power Analysis (SPA), Differential Power Analysis (DPA) or Differential Fault Analysis (DFA).
Cryptographic mechanisms consist of mechanisms involving at least a secret D which is supposed to be stored securely in a cryptographic device. D should not be leaked outside the cryptographic device through any attack. In a manner known in the art, D can be represented in the form of an n-bit number (do, d-i, ... dn-i)2, where dj is a bit (for each integer i between 0 and n-1). In the rest of the document, the exponent D will be denoted {d0, d-i, ... dn-i}2 instead of (do, d-i, ... dn-i)2 as is usually the case in mathematics in order not to introduce any ambiguity with the reference signs placed in the claims between parentheses as per the European Patent Convention. In abstract algebra, which is a branch of mathematics, a monoid (M, 1) is defined as an algebraic set, the set being closed under an associative binary operation 1, the set having an identity element. Contrary to a group, in a monoid every element does not necessarily have an inverse. The operation 1 can also be represented with other symbols. For example, the operation 1 can be represented as an additive operation (symbol +), as a multiplicative operation (symbol *), etc. This representation is purely formal and does not affect the
properties of the monoid. In the rest of the application, monoids will be represented with the multiplicative operation *, and will be denoted {M, *} instead of (M, *) in order not to introduce any ambiguity with the reference signs placed in the claims between parentheses as per the European Patent Convention. Monoids are widespread in cryptography. The most widespread monoids in the field of cryptography are large monoids having many invertible elements, e.g. 280 invertible elements. For example, with the RSA algorithm, almost all elements are invertible (the exceptions being in particular the multiples of p and q). M* denotes the set containing all invertible elements of the set M of the monoid {M, *}.
In the rest of the application, all monoids are abelian monoids, that is monoids in which all elements commute.
Cryptographic mechanisms particularly sensitive to side channel attacks comprise mechanisms in which for each dj equal to a certain value v (i.e. v=0 or v=1), the mechanism calculates X2 and Y*Z (where X, Y and Z are three elements of a monoid {M, *}), and for each dj equal to the other value (dj = 1-v), the mechanism calculates T2 (where T is an element of the monoid {M, *}). Examples of such mechanisms include RSA modular exponentiation. X2 is called a squaring operation and stands for X*X. Xn stands for X*X*...*X where X appears n times.
Note: in a monoid with an additive notation, X2 would be written 2X and would stand for X+X. Similarly, Xn would be written nX and would stand for X+X+...+X where X appears n times.
Y*Z is called a multiplication operation. The invention improves the resistance of above-mentioned particularly sensitive cryptographic mechanisms to side channel attacks. Examples of such mechanisms include elliptic curve point multiplications, and modular exponentiations used when performing an RSA operation or a Diffie Hellman key establishment. The invention also limits the amount of processing required for securing the cryptographic mechanisms. It does so by introducing a particular type of masking mechanism (also known as blinding mechanism).
The invention and its advantages will be explained more in details in the following specification referring to the appended drawings, in which: Figure 1 represents a typical cryptographic mechanism without any protections against side channel attacks.
Figure 2 represents a cryptographic mechanism with a first level of protection against side channel attacks, known in the art as the "balanced modular exponentiation algorithm". Figure 3 represents a cryptographic mechanism with a second level of protection against side channel attacks, known in the art as "Joye & Al. modular exponentiation algorithm".
Figure 4 represents a possible masking mechanism for modular exponentiation. Figure 5 represents a preferred cryptographic mechanism according to the invention, offering a higher level of protection against side channel attacks.
Figure 6 and Figure 7 represent variants of the mechanism of Figure 5.
Figure 1 describes an example of cryptographic mechanism consisting of a modular exponentiation. This sort of modular exponentiations is implemented in particular with RSA and Diffie Hellman algorithms.
As can be seen on step 2, for each bit dj of the exponent D, a modular squaring is performed (sub-step 2.i). When dj is equal to 1 , a modular multiplication is performed (sub-step 2. N). D is usually derived from a random number. In general, the hamming weight of D is approximately n/2. Therefore, in general the method of Figure 1 involves n modular squaring operations and around n/2 modular multiplications.
As known in the art, this type of cryptographic mechanisms is extremely sensitive even to the simplest side channel attacks such as SPA. Indeed, the power consumption is not the same during the execution of the multiplication operation and of the squaring operation. Therefore, one can put a probe on the
cryptographic device implementing the cryptographic mechanism, measure the power consumption, and distinguish the multiplication and the squaring in the power trace, thereby identifying the value of all bits dj. The exponent D is then recovered by the attacker.
Figure 2 describes an example of cryptographic mechanism comprising a first level of protection against side channel attacks, known in the art as the "balanced modular exponentiation algorithm"
This method is similar to the one of Figure 1 , except that when dj is equal to 0, a third step iii is added, in which a dummy multiplication is executed. Thanks to this third step, the power consumption is very close whether the bit is equal to 0 or to 1.
The complexity of this method is increased since there are n multiplications and n square operations. However its resistance to basic side channel attacks is improved as well, as indicated above.
Unfortunately, this method remains very sensitive to another side channel attack known as the SE attack (safe error attack). Indeed, if the cryptographic mechanism is disrupted during a dummy multiplication, the multiplication fails, but the final result remains unaffected since the dummy multiplication is not used for the final result. Therefore an attacker can find out the dummy bits, which are bits equal to 0 in this example, and infer that all other bits are equal to 1 , which results in the secret value of D being recovered.
Figure 3 describes an example of known cryptographic mechanism comprising a second level of protection against side channel attacks, known in the art as "Joye & Al. modular exponentiation algorithm", and disclosed at CHES 2002 by Joye and Yen. It is based on the Montgomery Ladder algorithm.
The cryptographic mechanism of Figure 3 aims at overcoming the limitation of the cryptographic mechanism of Figure 2.
To this end, there is no more dummy operation. Instead, The result of all multiplications is used in the final result (except in the last round). Therefore disturbing the mechanism always leads to an erroneous output.
The complexity of this cryptographic mechanism is the same as the one of Figure 2 (n multiplications, n square operations).
However, this cryptographic mechanism is still sensitive to DPA attacks.
As known in the art, in a DPA attack, if the attacker is able to set the value of the input X, he can predict the value of the next intermediate value of steps i and ii by making assumptions on the values of dj and verifying them by studying correlations in the power consumption over a number of selected samples.
It is an object of the invention to improve known techniques such as the cryptographic mechanism of Figure 3.
It would be possible to combine the teaching of Figure 3 with a masking mechanism, as shown on Figure 4. The masking may consist in multiplying the input element with a random number, thereby rendering the prediction step of the DPA attacks impossible. Unfortunately, the technique shown on Figure 4 requires approximately 4*n operations, which makes it twice slower than previous techniques. The technique shown on Figure 4 also performs the modular exponentiation twice. A first time for the masked input, and another time for the mask used for the masking. Due to this double modular exponentiation, the secret exponent D is used twice, which potentially weakens the mechanism.
A cryptographic mechanism according to the invention involves a secret D which can be represented as an n-bit number {d0, di, ... dn-i}2- The cryptographic mechanism is arranged to calculate an output element OUT equal to XD, X being an element of a monoid {M, *}. The mechanism comprises a first variable VAR0 and a second variable VARi. The cryptographic mechanism comprises n steps
{MULj}j=n-i..o such that during each step MUU, the cryptographic device calculates VAR-iVVARdi, and n other steps {SQi}i=n-i..o such that during each step SQi, the cryptographic device calculates VARd*VARdj. Each step SQi is executed after the
step MULj for any i between 0 and n-1 , and each step MULM is executed after step MULj for any i between 1 and n-1. The mechanism is characterized in that it comprises the steps of: a. generating a random element MSKJNPUT, b. creating a masked element MASKED_X by using the element X and the random element MSKJNPUT, c. calculating a masked output element MASKED_OUT using the masked element MASKED_X, the calculation of the masked output element MASKED_OUT involving the abovementioned steps {MULi}i=n-i..o and {SQi}i=n-i..o, d. calculating an output mask MSK_OUTPUT from the random element MSKJNPUT without involving the secret D, e. calculating the output element OUT using the masked output element MASKED_OUT and the output mask MSKJ3UTPUT, wherein the step d occurs at any time between step a and step e, and wherein the steps a, b, c, e are consecutive.
As seen on Figure 5, the computation of the output mask can take place together with the computation of the masked output element. As seen on Figure 6, this computation can also take place serially (either after, as shown on step 4 of the figure, or before). It is also possible to perform this computation in parallel, for example inside two different threads, as depicted on Figure 7 (CF. steps 3a and 3b).
Thanks to the masking operation, the DPA attack is no longer applicable, as the attacker does not know the mask and does not have the possibility to make assumptions regarding the intermediate results.
The element X can be an input element supplied to the cryptographic mechanism by another mechanism, or can be generated inside the cryptographic mechanism. For example, in a cryptographic mechanism consisting of a timestamp mechanism, the current time may be determined securely inside the mechanism and then digitally signed inside the mechanism.
Similarly, the output element OUT can be communicated by the cryptographic mechanism to another mechanism, can be kept internally in the cryptographic mechanism, or can be post-processed in the cryptographic mechanism and sent to another mechanism in the post-processed form. In preferred embodiments, the cryptographic mechanism according to the invention is such that the random element MSKJNPUT belongs to M* (the set of invertible elements of M, as seen above). If MSKJNPUT is equal to a value R, we denote by R"1 the inverse of R for the operation * of the monoid {M, *}. With cryptographic mechanisms where the function f: MASKED_X → MASKED-OUT is such that there exists a function g such that f(R*X) = g(R)*f(X), one can apply a mask MSKJNPUT on the element X by multiplying X and R, and compute the output mask (g(R))"1 to apply on the masked output in order to obtain the output element. In certain instances (g(R))'1 may be equal to g(R'1). In such embodiments, the inverse element R"1 may therefore be used to compute the output mask MSK_OUTPUT.
Preferred cryptographic mechanisms according to the invention may be such that the calculation of the output mask MSK_OUTPUT comprises n steps {R_SQj}i=n-i..o, such that during each step R_SQι, the cryptographic device calculates MSK*MSKj, MSKj being an element of the monoid {M, *}, the initial value MSKn being obtained from the inverse of the random number R, the last value MSKo being the output mask MSK_OUTPUT used to unmask the value of the masked output MASKED_OUT. This is advantageous in particular for mechanisms associated with a function g such that the computation of the function g may be executed by involving the steps R_SQj. More specifically, in a preferred mechanism according to the invention,
MSKj may be equal to MSKi+i*MSKi+i for i equal to n-1 down to 0. This is particularly advantageous for mechanisms associated with a function g: MSKn → MSK0 where MSKi = MSKi+1*MSKi+i for i equal to n-1 down to 0.
In a preferred cryptographic mechanism, the masked element MASKED_X is equal to X*R and the output element OUT is equal to MASKED_OUT*MSK0, MSKn being equal to R"1, the initial value of the first variable VAR0 being set to
the value R of the random element, the initial value of the second variable VARi being set to the value of the masked element MASKED_X, each step MULj consisting in calculating VAR1-(ZVARdI and storing the result in VAR-i-di, each step SQi consisting in calculating VARd*VARdi and storing the result in VARdι. Figure 5 describes an example of such preferred embodiment of the invention comprising:
1. a first step in which a random number is generated. This can be done for example by a hardware random number generator embedded in a cryptographic device implementing the cryptographic mechanism. Indeed, the random number is preferably as unpredictable as possible, which is best achieved with hardware means as known in the art;
2. a second step in which variables VAR0, VARi and MSKn are initialized;
3. a third step in which a masked output (value of VAR0 after the last round of the loop) is calculated from the masked element, and an output mask MSK0 is calculated;
4. a fourth step in which the masked output is unmasked with the output mask MSK0 and is returned to the entity which invoked the cryptographic mechanism.
The cryptographic mechanism uses the element X and the secret D as inputs. In preferred embodiments, the secret D is stored securely and therefore does not need to be passed to the cryptographic mechanism each time the cryptographic mechanism is invoked. The element X is generally passed to the cryptographic mechanism as an input parameter, but may also be determined by the cryptographic mechanism itself (e.g. as seen above with time stamps based on a clock available in the cryptographic mechanism, etc.).
The invention also concerns a cryptographic device storing a secret D and implementing a cryptographic mechanism as described above. The invention concerns more particularly cryptographic devices of the smart card type.
The invention is particularly advantageous for embedded systems such as smart cards as it has very few additional requirements compared to state of the art cryptographic mechanisms. It is well suited to the RSA algorithm. Indeed, it does not require any additional information on the key material compared to traditional cryptographic mechanisms. In particular, it does not require the public exponent of the RSA key pair to be available to the cryptographic mechanism.
It is similarly advantageous for the Diffie Hellman algorithm, as it does not require any extra parameter, and is therefore very convenient in particular for establishing session keys in static mode. It is also advantageous for both above algorithms in that it does not require an additive mask on the exponent, nor on the element X, which would require a more powerful processor (or crypto processor in case the cryptographic algorithms are implemented partially or fully in hardware).
The complexity of the preferred embodiment of Figure 5 involves approximately 2*n square operations and n multiplications, i.e. around 3*n CPU intensive operations, which is only 50% more than the closest method (Montgomery ladder of Figure 3), and does not require much more RAM (50% at most).
It should be noted that for some random elements used as input masks, the steps SQ_RDj may lead (for a certain value i_weak of the index i) to MSKi weak = 1 , in which case all subsequent values (MSKj_weak-i , MSKj_weak-2, etc.) are equal to 1 as well. This situation corresponds to a weak output mask, since it is equivalent to not having an output mask (the masked output and the output are equal). However, this weakness is hard to exploit, and is very unlikely to happen. The probability of a random element leading to a weak mask is very low. For example, it is estimated that for RSA 2048, the probability of picking a weak random element is at most equal to 1.9*10'7. The probability depends on the value of the RSA key, and in practice it is often much lower than the above value. The probability can be made arbitrarily small by picking several invertible random elements and multiplying them together (only if all elements are weak will the product of the elements be weak).
Claims
1. Cryptographic mechanism involving a secret D which can be represented as an n-bit number {d0, d-i, ... dn-i}2, the cryptographic mechanism being arranged to calculate an output element OUT equal to XD, X being an element of a monoid {M, *}, the mechanism comprising a first variable VARo and a second variable VARi, the cryptographic mechanism comprising n steps {MULj}j=n-i..o such that during each step MUL,, the cryptographic device calculates VARi-cii*VARdi, the cryptographic mechanism comprising n other steps {SQj}j=n-i..o such that during each step SQj, the cryptographic device calculates VARd*VARdi, each step SQj being executed after the step MULj for any i between 0 and n-1 , each step MULj-1 being executed after step MUU for any i between 1 and n-1 , the mechanism being characterized in that it comprises the steps of: a. generating a random element MSKJNPUT (R), b. creating a masked element MASKED_X (VAR1) by using the element X and the random element MSKJNPUT, c. calculating a masked output element MASKED_OUT (VARo) using the masked element MASKED_X, the calculation of the masked output element MASKED_OUT involving the abovementioned steps {MULi}i=n-i..o and {SQι}|sn-i..o, d. calculating an output mask MSK_OUTPUT (MSK0) from the random element MSKJNPUT without involving the secret D, e. calculating the output element OUT using the masked output element MASKED_OUT and the output mask MSK_OUTPUT, wherein the step d occurs at any time between step a and step e, and wherein the steps a, b, c, e are consecutive.
2. Cryptographic mechanism according to claim 1 , wherein the random element MSKJNPUT (R) has an inverse element (R"1) for the operation * of the monoid {M, *}, the inverse element being usable to compute the output mask MSK_OUTPUT.
3. Cryptographic mechanism according to claim a, wherein the calculation of the output mask MSK_OUTPUT comprises n steps {FLSQj}i=n-i..o, such that during each step R_SQj, the cryptographic device calculates MSK*MSKj, MSKi being an element of the monoid {M, *}, the initial value MSKn being obtained from the inverse element (R"1) of the random element MSKJNPUT, the last value MSK0 being the output mask MSKJDUTP UT used to unmask the value of the masked output MASKEDJDUT.
4. Cryptographic mechanism according to claim 3, wherein MSKj is equal to MSKi+i*MSKj+i for i equal to n-1 down to 0.
5. Cryptographic mechanism according to claim 4, wherein the masked element MASKED_X is equal to X*R and wherein the output element OUT is equal to MASKED_OUT*MSK0, MSKn being equal to the inverse of R, the initial value of the first variable VAR0 being set to the value (R) of the random element, the initial value of the second variable VARi being set to the value of the masked element MASKED_X, each step MULi consisting in calculating VAR1.cji*VARdi and storing the result in VAR-i-di, each step SQi consisting in calculating VARd*VARdi and storing the result in VARdi.
6. Cryptographic device storing a secret D, characterized in that it implements a cryptographic mechanism according to any previous claim.
7. Smart card storing a secret D, characterized in that it implements a cryptographic mechanism according to any claim from claim 1 to claim 5.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP07734060A EP2002331A1 (en) | 2006-03-31 | 2007-03-23 | Protection against side channel attacks |
| US12/282,210 US8402287B2 (en) | 2006-03-31 | 2007-03-23 | Protection against side channel attacks |
| JP2009502237A JP5412274B2 (en) | 2006-03-31 | 2007-03-23 | Protection from side channel attacks |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP06300320.6 | 2006-03-31 | ||
| EP06300320A EP1840732A1 (en) | 2006-03-31 | 2006-03-31 | Protection against side channel attacks |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2007116262A1 true WO2007116262A1 (en) | 2007-10-18 |
Family
ID=36688104
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2007/000728 Ceased WO2007116262A1 (en) | 2006-03-31 | 2007-03-23 | Protection against side channel attacks |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8402287B2 (en) |
| EP (2) | EP1840732A1 (en) |
| JP (1) | JP5412274B2 (en) |
| WO (1) | WO2007116262A1 (en) |
Families Citing this family (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2895609A1 (en) * | 2005-12-26 | 2007-06-29 | Gemplus Sa | Cryptographic method for forming modular exponentiation, involves masking operand with random number, and forming modular exponentiation of operand masked by exponent using Montgomery multiplier |
| US8091139B2 (en) * | 2007-11-01 | 2012-01-03 | Discretix Technologies Ltd. | System and method for masking arbitrary Boolean functions |
| FR2926652B1 (en) * | 2008-01-23 | 2010-06-18 | Inside Contactless | COUNTER-MEASUREMENT METHOD AND DEVICES FOR ASYMMETRIC CRYPTOGRAPHY WITH SIGNATURE SCHEMA |
| FR2972064B1 (en) * | 2011-02-25 | 2013-03-15 | Inside Secure | CRYPTOGRAPHY METHOD COMPRISING AN EXPONENTIATION OPERATION |
| EP2523096A1 (en) * | 2011-05-11 | 2012-11-14 | Thomson Licensing | Modular exponentiation and device resistant against side-channel attacks |
| FR2977952A1 (en) * | 2011-07-13 | 2013-01-18 | St Microelectronics Rousset | PROTECTION OF A MODULAR EXPONENTIATION CALCULATION BY MULTIPLICATION BY A RANDOM QUANTITY |
| FR2977953A1 (en) * | 2011-07-13 | 2013-01-18 | St Microelectronics Rousset | PROTECTION OF A MODULAR EXPONENTIATION CALCULATION BY ADDING A RANDOM QUANTITY |
| US8799343B2 (en) * | 2011-09-22 | 2014-08-05 | Intel Corporation | Modular exponentiation with partitioned and scattered storage of Montgomery Multiplication results |
| WO2013172913A2 (en) | 2012-03-07 | 2013-11-21 | The Trustees Of Columbia University In The City Of New York | Systems and methods to counter side channels attacks |
| US8459545B1 (en) * | 2012-03-29 | 2013-06-11 | Cisco Technology, Inc. | Image-based point-of-sale mobile settlement system |
| US8972715B2 (en) * | 2012-07-13 | 2015-03-03 | Securerf Corporation | Cryptographic hash function |
| US10148285B1 (en) | 2012-07-25 | 2018-12-04 | Erich Schmitt | Abstraction and de-abstraction of a digital data stream |
| CN103138917B (en) * | 2013-01-25 | 2016-03-09 | 国家密码管理局商用密码检测中心 | The Hamming distance model being input as basis with S box carries out SM4 cryptographic algorithm side channel energy analytical method |
| CN103166752B (en) * | 2013-01-25 | 2016-04-27 | 国家密码管理局商用密码检测中心 | Round function is selected to be the application that object of attack carries out the channel energy analysis of SM4 cryptographic algorithm side |
| US9959429B2 (en) * | 2013-03-15 | 2018-05-01 | Cryptography Research, Inc. | Asymmetrically masked multiplication |
| FR3010210B1 (en) * | 2013-08-29 | 2017-01-13 | Stmicroelectronics Rousset | PROTECTION OF CALCULATION AGAINST HIDDEN CHANNEL ATTACKS |
| CN103546277B (en) * | 2013-09-25 | 2016-08-31 | 北京握奇数据系统有限公司 | The DPA of a kind of smart card SM4 algorithm attacks and key recovery method and system |
| EP2884387B1 (en) * | 2013-12-13 | 2016-09-14 | Thomson Licensing | Efficient modular addition resistant to side-channel attacks |
| US10795858B1 (en) | 2014-02-18 | 2020-10-06 | Erich Schmitt | Universal abstraction and de-abstraction of a digital data stream |
| US9871651B2 (en) * | 2014-06-16 | 2018-01-16 | Cisco Technology, Inc. | Differential power analysis countermeasures |
| US9590805B1 (en) * | 2014-12-23 | 2017-03-07 | EMC IP Holding Company LLC | Ladder-based cryptographic techniques using pre-computed points |
| CN104753665B (en) * | 2015-03-19 | 2018-04-06 | 成都信息工程学院 | A kind of side channel energy attack method for the output of SM4 passwords round function |
| CN104753668B (en) * | 2015-03-19 | 2018-04-13 | 成都信息工程学院 | A kind of side channel energy attack method for SM4 passwords linear transformation output |
| US10063569B2 (en) | 2015-03-24 | 2018-08-28 | Intel Corporation | Custom protection against side channel attacks |
| EP3208789B1 (en) * | 2016-02-22 | 2020-08-05 | Eshard | Method of protecting a circuit against a side-channel analysis |
| FR3055437A1 (en) | 2016-08-23 | 2018-03-02 | Stmicroelectronics (Rousset) Sas | PROTECTION OF A MODULAR EXPONENTIATION CALCULATION |
| FR3055436A1 (en) | 2016-08-23 | 2018-03-02 | Stmicroelectronics (Rousset) Sas | PROTECTION OF A MODULAR CALCULATION |
| US10153035B2 (en) * | 2016-10-07 | 2018-12-11 | Taiwan Semiconductor Manufacturing Co., Ltd. | SRAM-based authentication circuit |
| DE102017002153A1 (en) * | 2017-03-06 | 2018-09-06 | Giesecke+Devrient Mobile Security Gmbh | Transition from Boolean masking to arithmetic masking |
| FR3069671A1 (en) * | 2017-07-25 | 2019-02-01 | Stmicroelectronics (Rousset) Sas | PROTECTION OF AN ITERATIVE CALCULATION AGAINST HORIZONTAL ATTACKS |
| US11418334B2 (en) | 2017-10-18 | 2022-08-16 | Cryptography Research, Inc. | Protecting modular inversion operation from external monitoring attacks |
| EP3579492A1 (en) | 2018-06-08 | 2019-12-11 | STMicroelectronics (Rousset) SAS | Protection of an iterative calculation |
| EP3579493A1 (en) * | 2018-06-08 | 2019-12-11 | STMicroelectronics (Rousset) SAS | Protection of an iterative calculation |
| KR102653018B1 (en) | 2019-01-16 | 2024-03-29 | 삼성전자주식회사 | Security processor performing remainder calculation using random number and operating method using the same |
| FR3094522B1 (en) | 2019-03-29 | 2021-11-19 | St Microelectronics Rousset | Protection of an iterative calculation |
| CN111062064B (en) * | 2019-12-24 | 2021-11-02 | 飞天诚信科技股份有限公司 | A kind of realization method and system of encrypted U disk system |
| US12483429B2 (en) * | 2021-06-01 | 2025-11-25 | Attopsemi Technology Co., Ltd | Physically unclonable function produced using OTP memory |
| FR3134909B1 (en) * | 2022-04-25 | 2024-06-21 | Commissariat Energie Atomique | PROTECTING AGAINST SIDE-CHANNEL ATTACKS USING SQUARE MASKING |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004070497A2 (en) * | 2003-02-04 | 2004-08-19 | Infineon Technologies Ag | Modular exponentiation with randomized exponents |
| US20040267859A1 (en) * | 2001-10-17 | 2004-12-30 | Infineon Technologies Ag | Method and device for calculating a result of an exponentiation |
| US20050084098A1 (en) * | 2003-09-18 | 2005-04-21 | Brickell Ernie F. | Method of obscuring cryptographic computations |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2252078C (en) * | 1998-10-28 | 2009-02-17 | Certicom Corp. | Power signature attack resistant cryptographic system |
| JP4317607B2 (en) * | 1998-12-14 | 2009-08-19 | 株式会社日立製作所 | Information processing equipment, tamper resistant processing equipment |
| JP2000305453A (en) * | 1999-04-21 | 2000-11-02 | Nec Corp | Ciphering device, deciphering device, and ciphering and deciphering device |
| JP2002247025A (en) * | 2001-02-22 | 2002-08-30 | Hitachi Ltd | Information processing device |
| JP4596686B2 (en) * | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Secure encryption against DPA |
| JP2003216026A (en) * | 2002-01-18 | 2003-07-30 | Sony Corp | Elliptic curve cryptographic processing method, elliptic curve cryptographic processing device, and computer program |
| JP2003241659A (en) * | 2002-02-22 | 2003-08-29 | Hitachi Ltd | Information processing method |
| JP2004163687A (en) * | 2002-11-13 | 2004-06-10 | Fujitsu Ltd | Elliptic curve encryption device, elliptic curve encryption program |
| JP4789468B2 (en) * | 2002-12-18 | 2011-10-12 | 富士通株式会社 | Tamper resistant elliptic curve cryptography using secret key |
| EP1648111B1 (en) | 2003-07-22 | 2014-01-15 | Fujitsu Limited | Tamper-resistant encryption using a private key |
| WO2005015526A1 (en) * | 2003-08-06 | 2005-02-17 | Fujitsu Limited | Elliptic curve encrypting device, elliptic curve encryp-ting method, elliptic curve encrypting program andcomputer-readable recording medium recording that program |
| JP4271077B2 (en) * | 2004-04-30 | 2009-06-03 | 株式会社東芝 | Mask logic circuit and encryption device |
| US20070150530A1 (en) * | 2005-12-13 | 2007-06-28 | Intel Corporation | Resisting cache timing based attacks |
| KR100874909B1 (en) * | 2006-01-14 | 2008-12-19 | 삼성전자주식회사 | Encryption Method Using Montgomery Power Ladder Algorithm Against DFA |
-
2006
- 2006-03-31 EP EP06300320A patent/EP1840732A1/en not_active Withdrawn
-
2007
- 2007-03-23 WO PCT/IB2007/000728 patent/WO2007116262A1/en not_active Ceased
- 2007-03-23 JP JP2009502237A patent/JP5412274B2/en not_active Expired - Fee Related
- 2007-03-23 EP EP07734060A patent/EP2002331A1/en not_active Withdrawn
- 2007-03-23 US US12/282,210 patent/US8402287B2/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040267859A1 (en) * | 2001-10-17 | 2004-12-30 | Infineon Technologies Ag | Method and device for calculating a result of an exponentiation |
| WO2004070497A2 (en) * | 2003-02-04 | 2004-08-19 | Infineon Technologies Ag | Modular exponentiation with randomized exponents |
| US20050084098A1 (en) * | 2003-09-18 | 2005-04-21 | Brickell Ernie F. | Method of obscuring cryptographic computations |
Non-Patent Citations (3)
| Title |
|---|
| JOYE M ET AL: "THE MONTGOMERY POWERING LADDER", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. INTERNATIONAL WORKSHOP, 13 August 2002 (2002-08-13), pages 291 - 302, XP001160513 * |
| SUNG-MING YEN ET AL: "Improvement on Ha-Moon Randomized Exponentiation Algorithm", SPRINGER VERLAG BERLIN HEIDELBERG 2005, 2005, pages 154 - 167, XP019010693 * |
| TRICHINA E ET AL: "IMPLEMENTATION OF ELLIPTIC CURVE CRYPTOGRAPHY WITH BUILT-IN COUNTER MEASURES AGAINST SIDE CHANNEL ATTACKS", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. INTERNATIONAL WORKSHOP, 13 August 2002 (2002-08-13), pages 98 - 113, XP001160524 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5412274B2 (en) | 2014-02-12 |
| US8402287B2 (en) | 2013-03-19 |
| US20090092245A1 (en) | 2009-04-09 |
| EP1840732A1 (en) | 2007-10-03 |
| JP2009537025A (en) | 2009-10-22 |
| EP2002331A1 (en) | 2008-12-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8402287B2 (en) | Protection against side channel attacks | |
| Yen et al. | Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption | |
| CN107040362B (en) | Modular multiplication apparatus and method | |
| Amiel et al. | Power analysis for secret recovering and reverse engineering of public key algorithms | |
| EP2332040B1 (en) | Countermeasure securing exponentiation based cryptography | |
| EP2005291A2 (en) | Decryption method | |
| JP4668931B2 (en) | Encryption processor with tamper resistance against power analysis attacks | |
| KR20100113130A (en) | Countermeasure method and devices for asymmetric cryptography | |
| WO2017191288A1 (en) | Countermeasure to safe-error fault injection attacks on cryptographic exponentiation algorithms | |
| JP2010164904A (en) | Elliptic curve arithmetic processing unit and elliptic curve arithmetic processing program and method | |
| JP2004304800A (en) | Prevention of side channel attacks in data processing equipment | |
| EP3503459B1 (en) | Device and method for protecting execution of a cryptographic operation | |
| CN110048840B (en) | Information processing method, system and related components based on RSA algorithm | |
| US7123717B1 (en) | Countermeasure method in an electronic component which uses an RSA-type public key cryptographic algorithm | |
| Kim et al. | Message blinding method requiring no multiplicative inversion for RSA | |
| Ha et al. | Power Analysis Attacks on the Right-to-Left Square-Always Exponentiation Algorithm. | |
| Herbst et al. | Using templates to attack masked montgomery ladder implementations of modular exponentiation | |
| Park et al. | An improved side channel attack using event information of subtraction | |
| KR100772550B1 (en) | Secure Message Blinding Method for Power Analysis Attacks | |
| He | Highly secure cryptographic computations against side-channel attacks | |
| Monfared et al. | Secure and efficient exponentiation architectures using Gaussian normal basis | |
| Okeya et al. | SCA-resistant and fast elliptic scalar multiplication based on wNAF | |
| Fournaris et al. | Efficient crt rsa with sca countermeasures | |
| Kim et al. | A New Exponentiation Algorithm Resistant to Combined Side Channel Attack. | |
| Devi et al. | A Review on Different Types of Attacks on RSA and ECC |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07734060 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2007734060 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 12282210 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2009502237 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |