WO2004111833A1 - Procede de contre-mesure dans un composant electronique - Google Patents

Procede de contre-mesure dans un composant electronique Download PDF

Info

Publication number
WO2004111833A1
WO2004111833A1 PCT/EP2004/051142 EP2004051142W WO2004111833A1 WO 2004111833 A1 WO2004111833 A1 WO 2004111833A1 EP 2004051142 W EP2004051142 W EP 2004051142W WO 2004111833 A1 WO2004111833 A1 WO 2004111833A1
Authority
WO
WIPO (PCT)
Prior art keywords
replace
group
exponentiation
integers
randomly
Prior art date
Application number
PCT/EP2004/051142
Other languages
English (en)
Inventor
Marc Joye
Original Assignee
Gemplus
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 Gemplus filed Critical Gemplus
Priority to EP04741817A priority Critical patent/EP1639450A1/fr
Priority to US10/561,276 priority patent/US20070121935A1/en
Publication of WO2004111833A1 publication Critical patent/WO2004111833A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/04Masking or blinding
    • 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/12Details relating to cryptographic hardware or logic circuitry

Definitions

  • the present invention relates to a countermeasure method in an electronic component implementing a public key encryption algorithm.
  • K secret encryption key
  • the encryption function and the decryption function use the same K key.
  • the drawback of the secret key encryption system is that said system requires the prior communication of the K key between the two persons via a secure channel, before any encrypted message is received. be sent through the unsecured channel.
  • secure channel is understood to mean a channel for which it is impossible to know or modify the information which passes through said channel. Such a secure channel can be produced by a cable connecting two terminals, owned by the two said people.
  • the concept of public key cryptography was invented by Whitfield Diffie and Martin Hellman in 1976
  • Public key cryptography solves the problem of distributing keys across an insecure channel.
  • the principle of public key cryptography is to use a key pair, a public encryption key and a private decryption key. It must be computationally infeasible to find the private decryption key from the public encryption key.
  • a person A wishing to communicate information to a person B uses the public encryption key of person B. Only person B has the private key associated with his public key. Only person B is therefore capable of deciphering the message addressed to him.
  • the difficult computational problem considered by Diffie and Hellman is the resolution of the discrete logarithm in the multiplicative group of a finite field. It is recalled that in a finite body, the number of elements of the body is always expressed in the form q A n, where q is a prime number called the characteristic of the body and n is an integer. A finite field having q A n elements is noted GF (q A n). In the case where the integer n is equal to 1, the finite field is said to be prime.
  • a body has two groups: a multiplicative group and an additive group. In the multiplicative group, the neutral element is noted 1 and the group law is noted multiplically by the symbol. and is called multiplication.
  • Lagrange theorem the order of an element always divides the order of its group.
  • Another advantage of public key cryptography over secret key cryptography is that public key cryptography allows authentication by the use of electronic signature.
  • the first public key encryption scheme was developed in 1977 by Ronald Rivest, Adi Shamir and Léonard Adleman (Communications of the ACM, volume 21, number 2, pages 120-126, 1978), who invented the system RSA encryption.
  • the security of RSA is based on the difficulty of factoring a large number which is the product of two prime numbers.
  • the RSA encryption system is constructed in the multiplicative group G of the ring Z / (nZ) obtained by quoting the ring of integers Z by the ring nZ where n is a large integer which is the product of prime numbers p and Q.
  • Merkle-Hellman backpack This encryption system is based on the difficulty of the problem of the sum of subsets. McEliece: This encryption system is based on the theory of algebraic codes. It is based on the problem of decoding linear codes. - El Gamal:
  • This encryption system is based on the difficulty of the discrete logarithm in a finite body.
  • the elliptic curve encryption system constitutes a modification of existing cryptographic systems to apply them to the domain of elliptic curves.
  • Any elliptic curve defined on a body can be expressed in this form .
  • the set of points (x, y) and the point at infinity form an abelian group, in which the point at infinity is the neutral element and in which the group operation is the addition of points, denoted + and given by the well-known rule of the secant and the tangent (see for example “Elliptic Curve Public Key Cryptosystems” by Alfred Menezes, Kluwer, 1993).
  • the exponentiation is also called scalar multiplication.
  • a common point with most cryptographic algorithms built on a group G is that they include as an parameter an element g belonging to this group.
  • the private key is an integer d chosen randomly.
  • an encryption algorithm based on the problem of the discrete logarithm in a group G, noted multiplicatively. This scheme is analogous to the encryption scheme of El Gamal. Let be a group G and an element g in G.
  • a message m is encrypted as follows:
  • the number corresponding to m is the pair (h, c).
  • the simplest and most used algorithm is the left-right binary exponentiation algorithm.
  • the left-right binary exponentiation algorithm takes as input an element g from a group G and an exponent d.
  • the left-right binary exponentiation algorithm has the following 3 steps:
  • each digit d (i) of the representation of d is an integer between 0 and 2 ⁇ kl for an integer k> l, with d (t) the most significant digit and d (0) the least significant digit.
  • the left-right k-ary exponentiation algorithm can be adapted to take as input a signed representation of the exponent d.
  • the exponent d is given by the signed k-ary representation (d (t), d (tl), ..., d (0)) in which each digit d (i) is an integer between - (2 ⁇ kl) and 2 ⁇ kl for an integer k ⁇ l, with d (t) the most significant digit and d (0) the least significant digit.
  • Step 3b of the previous algorithm is then replaced by: 3b ') If d ⁇ ) is strictly positive, replace A with A.gi; and if d (i) is strictly negative, replace A by A. (gi) ⁇ (-l)
  • This adaptation is particularly interesting when the inverse of the elements g if denoted (gi) A (-l), is easy or inexpensive to calculate. This is for example the case in group G of the points of an elliptical curve. In the case where the inverse of the elements gi is not easy or too costly to calculate, their value is precalculated.
  • ⁇ h A e) in group G and includes the following 4 steps:
  • multiplicative notation in other words, the group law of group G is noted. (multiplication).
  • addition the group law of group G is denoted + (addition). This is for example the case of the group of points of an elliptical curve which is most often given in additive form.
  • the DPA type attack therefore makes it possible to obtain additional information on the intermediate data manipulated by the microprocessor of the electronic component when executing a cryptographic algorithm. This additional information can in certain cases make it possible to reveal the private parameters of the cryptographic algorithm, making the cryptographic system vulnerable.
  • a variant of this countermeasure consists in replacing d by d + rq where r is a random integer and q is a multiple of the order of the element g in the group G; by Lagrange's theorem, a current choice for this multiple is the order of the group G.
  • a variant consists in drawing a random integer r and writing d in the form with d 2 equal to the default value of the integer division of d by r and di equal to the rest of said division.
  • An object of the present invention is a countermeasure method, in particular with respect to attacks of the DPA type.
  • Another object of the invention is a countermeasure method which is easy to implement.
  • this method masks the exponent d and only requires at most three multiplications in G per iteration in step 2). This number of multiplications in G is reduced to two in the case where the product of g and h is precomputed.
  • the following countermeasure method is thus obtained:
  • Another interesting application of the invention relates to exponentation in the group G of the points of an elliptic curve defined on a finite field GF (q ⁇ n).
  • this group G denoted additively, the inversion of a point P, denoted -P, is an inexpensive operation so that it is interesting to represent the exponents in a signed manner.
  • a countermeasure method according to the invention applied to the group of points of an elliptical curve on a finite body GF (q A n) can be written as follows:
  • the countermeasure method applies to any double exponentiation algorithm in a group G, noted in a multiplicative or additive manner.
  • Another preferred embodiment for expressing the exponent d randomly in the form d d 2 .s + di where di, d 2 and s are integers in step la in the countermeasuring methods above. above is to choose a random integer di, set s to the value 1 and take d 2 equal to the difference of d and d x .

Abstract

La présente invention concerne un procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme de chiffrement à clé publique. Le procédé de la présente invention met en oeuvre un. algorithme cryptographique à clé publique, comprenant un calcul d'exponentiation de type y=g &cir& d où g et y sont des éléments du groupe déterminé G noté de façon multiplicative et d est un nombre prédéterminé.

Description

PROCEDE DE CONTRE-MESURE DANS UN COMPOSANT ELECTRONIQUE
La présente invention concerne un procédé de contre-mesure dans un composant électronique mettant en œuvre un algorithme de chiffrement à clé publique. Dans le modèle classique de la cryptographie à clé secrète, deux personnes désirant communiquer par l'intermédiaire d'un canal non sécurisé doivent au préalable se mettre d' accord sur une clé secrète de chiffrement K. La fonction de chiffrement et la fonction de déchiffrement utilisent la même clé K. L'inconvénient du système de chiffrement à clé secrète est que ledit système requiert la communication préalable de la clé K entre les deux personnes par l'intermédiaire d'un canal sécurisé, avant qu'un quelconque message chiffré ne soit envoyé à travers le canal non sécurisé. Dans la pratique, il est généralement difficile de trouver un canal de communication parfaitement sécurisé, surtout si la distance séparant les deux personnes est importante. On entend par canal sécurisé un canal pour lequel il est impossible de connaître ou de modifier les informations qui transitent par ledit canal. Un tel canal sécurisé peut être réalisé par un câble reliant deux terminaux, possédés par les deux dites personnes. Le concept de cryptographie à clé publique fut inventé par Whitfield Diffie et Martin Hellman en 1976
(IEEE Transactions on Information Theory, volume 22, numéro 6, pages 644-654, 1976) . La cryptographie à clé publique permet de résoudre le problème de la distribution des clés à travers un canal non sécurisé. Le principe de la cryptographie à clé publique consiste à utiliser une paire de clés, une clé publique de chiffrement et une clé privée de déchiffrement. Il doit être calculatoirement infaisable de trouver la clé privée de déchiffrement à partir de la clé publique de chiffrement. Une personne A désirant communiquer une information à une personne B utilise la clé publique de chiffrement de la personne B. Seule la personne B possède la clé privée associée à sa clé publique. Seule la personne B est donc capable de déchiffrer le message qui lui est adressé.
Le problème calculatoire difficile considéré par Diffie et Hellman est la résolution du logarithme discret dans le groupe multiplicatif d'un corps fini. On rappelle que dans un corps fini, le nombre d'éléments du corps s'exprime toujours sous la forme qAn, où q est un nombre premier appelé la caractéristique du corps et n est un nombre entier. Un corps fini possédant qAn éléments est noté GF(qAn). Dans le cas où le nombre entier n est égal à 1, le corps fini est dit premier. Un corps possède deux groupes : un groupe multiplicatif et un groupe additif. Dans le groupe multiplicatif, l'élément neutre est noté 1 et la loi de groupe est notée multiplicativement par le symbole . et est appelée multiplication. Cette loi définit l'opération d'exponentiation dans le groupe multiplicatif G: étant donné un élément g appartenant à G et un entier d, le résultat de l'exponentiation de g par d est l'élément y tel que y=gd=g.g.g g (d fois) dans le groupe G. On rappelle également que l'ordre d'un groupe G est le nombre de ses éléments et que l'ordre d'un élément g dans G est le plus entier positif e tel gΛe=l dans G. Une propriété importante sur l'ordre des éléments d'un groupe est donnée par le l'
théorème de Lagrange : l'ordre d'un élément divise toujours l'ordre de son groupe.
Le problème du logarithme discret dans le groupe multiplicatif G d'un corps fini consiste à trouver, s'il existe, un entier d tel y=gΛd dans G, étant donné deux éléments y et g appartenant à G.
Un autre avantage de la cryptographie à clé publique sur la cryptographie à clé secrète est que la cryptographie à clé publique permet authentification par l'utilisation de signature électronique.
La première réalisation de schéma de chiffrement à clé publique fut mis au point en 1977 par Ronald Rivest, Adi Shamir et Léonard Adleman (Communications of the ACM, volume 21, numéro 2, pages 120-126, 1978), qui ont inventé le système de chiffrement RSA. La sécurité de RSA repose sur la difficulté de factoriser un grand nombre qui est le produit de deux nombres premiers . Le système de chiffrement RSA est construit dans le groupe multiplicatif G de l'anneau Z/ (nZ) obtenu en quotientant l'anneau des entiers Z par l'anneau nZ où n est un grand nombre entier qui est le produit de nombres premiers p et q. Le problème RSA dans ce groupe G consiste à trouver, s'il existe, un élément m de G tel que c=mAe dans G, étant donné un élément c de G et un entier e relativement premier avec l'ordre du groupe G.
Depuis, de nombreux systèmes de chiffrement à clé publique ont été proposés, dont la sécurité repose sur différents problèmes calculatoires : (cette liste n'est pas exhaustive) .
Sac à dos de Merkle-Hellman : Ce système de chiffrement est basé sur la difficulté du problème de la somme de sous- ensembles . McEliece : Ce système de chiffrement est basé sur la théorie des codes algébriques. Il est basé sur le problème du décodage de codes linéaires . - El Gamal :
Ce système de chiffrement est basé sur la difficulté du logarithme discret dans un corps fini .
Courbes elliptiques :
Le système de chiffrement à courbe elliptique constitue une modification de systèmes cryptographiques existant pour les appliquer au domaine des courbes elliptiques .
r.r ' •utilisation de courbes elliptiques dans des systèmes cryptographiques fut proposé indépendamment par Victor Miller (Advances in Cryptology - CRYPTO '85, volume 216 de Lecture Notée? in Computer Science, Springer-Verlag, 1986) et Neal Koblitz {Mathematics of Computation, volume 48, numéro 177, pages 203—209, 1987) en 1985. Les applications réelles des courbes elliptiques ont été envisagées au début des années 1990. L'avantage de systèmes cryptographiques à base de courbes elliptiques est qu'ils fournissent une sécurité équivalente aux autres systèmes cryptographiques mais avec des tailles de clé moindres. Ce gain en taille de clé implique une diminution des besoins en mémoire et une réduction des temps de calcul, ce qui rend l'utilisation des courbes elliptiques particulièrement adaptées pour des applications de type carte à puce. Pour mémoire, une courbe elliptique sur un corps fini GF (qAn) est l'ensemble des points (X/-y) appartenant à GF (qΛn) vérifiant l'équation : yA2 + aixy + a3y = xΛ3 + axA2 + a4x + a5 , avec ai dans GF(qAn) et du point à l'infini 0. Toute courbe elliptique définie sur un corps peut s'exprimer sous cette forme .
L'ensemble des points (x,y) et le point à l'infini forment un groupe abélien, dans lequel le point à l'infini est l'élément neutre et dans lequel l'opération de groupe est l'addition de points, notée + et donnée par la règle bien connue de la sécante et de la tangente (voir par exemple « Elliptic Curve Public Key Cryptosystems » par Alfred Menezes, Kluwer, 1993) . Dans ce groupe, la paire (x,y), où l'abscisse x et l'ordonnée y sont des éléments du corps GF(qΛn), forme les coordonnées affines d'un point P de la courbe elliptique.
L'opération d'addition de points permet de définir une opération d' exponentiation sur courbe elliptique : étant donné un point P appartenant à une courbe elliptique et un entier d, le résultat de l'exponentiation de P par d est le point Q tel que Q=d*P=P+P+...+P (d fois) . Dans le cas des courbes elliptiques, afin d'insister sur la notation additive, l'exponentiation est encore appelée multiplication scalaire.
La sécurité des algorithmes de cryptographie sur courbes elliptiques est basée sur la difficulté du problème du logarithme discret dans le groupe G formé par les points d'une courbe elliptique, ledit problème consistant à partir de deux points Q et P appartenant à G, de trouver, s'il existe, un entier d tel que Q=d*P. l'
II existe de nombreux algorithmes cryptographiques construits sur un groupe G. Ainsi, il est possible de mettre en œuvre des algorithmes assurant authentification, la confidentialité, le contrôle d'intégrité et l'échange de clé.
Un point commun à la plupart des algorithmes cryptographiques construits sur un groupe G est qu'ils comprennent comme paramètre un élément g appartenant à ce groupe. La clé privée est un entier d choisi aléatoirement. La clé publique est un élément y tel que y=gΛd. Ces algorithmes cryptographiques font généralement intervenir une exponentiation dans le calcul d' un élément z=hAd où d est la clé secrète et h est un élément du groupe G. Dans le paragraphe ci-dessous, on décrit un algorithme de chiffrement basé sur le problème du logarithme discret dans un groupe G, noté multiplicativement . Ce schéma est analogue au schéma de chiffrement d' El Gamal . Soient un groupe G et un élément g dans G. La clé publique de chiffrement est γ=gΛd et la clé privée de déchiffrement est d. Un message m est chiffré de la manière suivante :
La personne désirant communiquer une information, appelée chiffreur, choisit un entier k aléatoirement et calcule les éléments h=gAk et z=yΛk dans le groupe G, et c=R(z)θ m où R est une fonction appliquant les éléments de G sur l'ensemble des messages et ® désigne l'opérateur du OU exclusif. Le chiffré correspondant à m est la paire (h, c) .
La personne à laquelle est destiné le chiffré, appelée déchiffreur, qui possède la clé secrète d déchiffre m en calculant : z'=hΛd=gΛ(k.d)=yΛk et m=R(z')Θ c. Pour réaliser les exponentiations nécessaires dans les procédés de calcul décrits précédemment, plusieurs algorithmes existent : - algorithme d'exponentiation binaire gauche-droite; algorithme avec chaînes d' addition ou d' addition- soustraction ; algorithme d'exponentiation k-aire gauche-droite/ algorithme d' exponentiation en représentation signée de l'exposant.
Ces algorithmes sont détaillés dans le chapitre 14 de « Handbook of Applied Cryptography » par A. J. Menezes, P.C. van Oorschot et S.A. Vanstone, CRC Press, 1997. Cette liste n'est pas exhaustive.
L'algorithme le plus simple et le plus utilisé est l'algorithme d'exponentiation binaire gauche-droite.
L'algorithme d'exponentiation binaire gauche-droite prend en entrée un élément g d'un groupe G et un exposant d. L'exposant d est noté d=(d(t),d(t- l),...,d(0)), où (d(t),d(t-l),...,d(0)) est la représentation binaire de d, avec d(t) le bit le plus significatif et d(0) le bit le moins significatif.
L'algorithme retourne en sortie l'élément y=gAd dans le groupe G.
L'algorithme d'exponentiation binaire gauche- droite comporte les 3 étapes suivantes :
1) Initialiser le registre A avec l'élément neutre de
G 2) Pour i allant de t à 0 exécuter : 2a) Remplacer A par AΛ2 2b) Si d(i)=l remplacer A par A. g 3) Retourner A. L'algorithme d'exponentiation k-aire gauche-droite prend en entrée un élément g d'un groupe G et un exposant d noté d=(d(t) ,d(t-l) ,..., d(0)), où (d(t),d(t- 1) ,...,d(0) ) est la représentation k-aire de d, c'est-à- dire chaque chiffre d(i) de la représentation de d est un entier compris entre 0 et 2Λk-l pour un entier k>l, avec d(t) le chiffre le plus significatif et d(0) le chiffre le moins significatif. L'algorithme retourne en sortie l'élément y=gAd dans le groupe G et comporte les 4 étapes suivantes : 1) Précalculs : la) Poser gi=g Ib) Si k>2, pour i allant de 2 à (2Ak-l) : calculer gi=gAi 2) Initialiser le registre A avec l'élément neutre de
G
3) Pour i allant de t à 0 exécuter : 3a) Remplacer A par AΛ (2Λk)
3b) Si d(i) est non-nul, remplacer A par A.gi 4) Retourner A.
Dans le cas où k est égal à 1, on remarque que l'algorithme d'exponentiation k-aire gauche-droite n'est autre que l'algorithme d'exponentiation binaire gauche-droite.
L'algorithme d'exponentiation k-aire gauche-droite peut être adapté pour prendre en entrée une représentation signée de l'exposant d. L'exposant d est donné par la représentation k-aire signée (d(t) ,d(t-l) ,...,d(0) ) dans laquelle chaque chiffre d(i) est un entier compris entre -(2Λk-l) et 2Λk-l pour un entier k≥l, avec d(t) le chiffre le plus significatif et d(0) le chiffre le moins significatif. L'étape 3b de l'algorithme précédent est alors remplacée par : 3b') Si d<±) est strictement positif, remplacer A par A.gi ; et si d(i) est strictement négatif, remplacer A par A. (gi)Λ(-l)
Cette adaptation est particulièrement intéressante quand l'inverse des éléments gif noté (gi)A(-l), est facile ou peu coûteux à calculer. Ceci est par exemple le cas dans le groupe G des points d'une courbe elliptique. Dans le cas où l'inverse des éléments gi n'est pas facile ou trop coûteux à calculer, leur valeur est précalculée.
Dans certaines situations, le produit de deux exponentiations, du type (gAd) . (hAe) dans un groupe G où g et h sont des éléments de G et d et e deux entiers dont les représentations binaires respectives sont
(d(t),d(t-l),...,d(0)) et (e(t),e(t-l),...,e(0)), doit être calculée. Ceci est notamment le cas dans la vérification d'une signature numérique DSA. Plutôt que de calculer chaque exponentiation gΛd et hAe de façon séparée et d'ensuite en évaluer le produit, l'algorithme d'exponentiation binaire gauche-droite peut s'étendre pour calculer la double exponentiation (gAd) . (hΛe) dans G de la façon suivante :
1) Initialiser le registre A avec l'élément neutre de
G
2) Pour i allant de t à 0 exécuter : 2a) Remplacer A par AA2
2b) Si d(i)=l remplacer A par A. g 2c) Si e(i)=l remplacer A par A. h
3) Retourner A. L'avantage de cette méthode est que le nombre de multiplications pour le calcul de (gAd) . (hAe) est réduit par rapport à deux applications successives de l'algorithme d'exponentiation binaire gauche-droite. Une amélioration en vitesse de l'algorithme précédent consiste à précalculer l'élément u=g.h dans G. Ainsi, l'algorithme de double exponentiation binaire pour le calcul de (gAd) . (hΛe) dans G peut s'écrire :
1) Précalcul : la) Calculer u=g.h
2) Initialiser le registre A avec l'élément neutre de
G
3) Pour i allant de t à 0 exécuter : 3a) Remplacer A par AA2 3b) Si d(i)=l et e(i)=0 remplacer A par A. g 3c) Si d(i)=0 et e(i)=l remplacer A par A.h 3c) Si d(i)=l et e(i)=l remplacer A par A.u
4) Retourner A.
L'algorithme de double exponentiation binaire précédent se généralise en prenant en entrée des éléments g et h d'un groupe G et des exposants d et e donnés respectivement par les représentations k-aire d={d(t),d(t-l),...,d(0)) et e=(e{t),e(t-l),...,e(0)), pour un entier k≥l . L'algorithme retourne en sortie l'élément y= (gAd) . <hAe) dans le groupe G et comporte les 4 étapes suivantes :
1) Précalculs : la) Poser
Figure imgf000011_0001
Ib) Si k>2, pour i allant de 2 à (2Ak-l) : calculer gi=gAi et hi=hΛi
2) Initialiser le registre A avec l'élément neutre de G
3) Pour i allant de t à 0 exécuter : 3a) Remplacer A par AΛ (2Λk)
3b) Si d(i) est non-nul, remplacer A par A.gi 3c) Si e(i) est non-nul, remplacer A par A.hi 4) Retourner A.
Si les exposants e et d sont données en représentation k-aire signée par d= (d(t) , d(t-l) ,..., d(0) ) et e= (e (t) ,e (t-1) ,..., e (0) ) , les étapes 3b et 3c de l'algorithme précédent sont alors remplacées par :
3b') Si d{i) est strictement positif, remplacer A par A.gi ; et si d(i) est strictement négatif, remplacer A par A.(gi)Λ(-l)
3c') Si e(i) est strictement positif, remplacer A par A.hi ; et si e(i) est strictement négatif, remplacer A par A. (hi) A (-1)
De façon remarquable, l'algorithme de double exponentiation correspondant au cas k=l dans l'algorithme précédent où les exposants d et e sont donnés en représentation binaire signée est particulièrement intéressant pour les applications de type courbe elliptique dans un environnement de type carte à puce car l'inverse d'un élément est peu coûteux et les besoins en mémoire sont réduits. De nombreuses variantes suivant ce cas particulier de k=l sont présentées dans un rapport technique de Jérôme Solinas
(Rapport technique CORR-2001-41, CACR, Université de
Waterloo, Canada) . Cette liste d'algorithmes de double exponentiation n'est pas exhaustive.
Les algorithmes d'exponentiation et de double exponentiation décrits précédemment sont donnés en l'
notation multiplicative ; en d'autres mots, la loi de groupe du groupe G est notée . (multiplication) . Ces algorithmes peuvent être données en notation additive en remplaçant les multiplications par des additions ; en d'autres mots, la loi de groupe du groupe G est notée + (addition) . Ceci est par exemple le cas du groupe des points d'une courbe elliptique qui est le plus souvent donné sous forme additive.
Il est apparu que implémentation sur carte à puce d'un algorithme cryptographique à clé publique construit sur un groupe G était vulnérable à des attaques consistant en une analyse différentielle d'une grandeur physique permettant de retrouver la clé secrète. Ces attaques sont appelées attaques de type DPA, acronyme pour Differential Power Analysis et ont notamment été dévoilées par Paul Kocher (Advances in Cryptology - CRYPTO '99, volume 1966 de Lecture Notes in Computer Science, pages 388-397, Springer-Verlag, 1999) . Parmi les grandeurs physiques qui peuvent être exploitées à ces fins, on peut citer la consommation en courant, le champ électromagnétique, ... Ces attaques sont basées sur le fait que la manipulation d'un bit, c'est à dire son traitement par une instruction particulière, a une empreinte particulière sur la grandeur physique considérée selon sa valeur.
En particulier, lorsqu'une instruction manipule une donnée dont un bit particulier est constant, la valeur des autres bits pouvant varier, l'analyse de la consommation de courant liée à l'instruction montre que la consommation moyenne de l'instruction n'est pas la même suivant que le bit particulier prend la valeur 0 ou 1. L'attaque de type DPA permet donc d'obtenir des informations supplémentaires sur les données intermédiaires manipulées par le microprocesseur du composant électronique lors de l'exécution d'un algorithme cryptographique. Ces informations supplémentaires peuvent dans certain cas permettre de révéler les paramètres privés de l'algorithme cryptographique, rendant le système cryptographique vulnérable .
Une parade efficace aux attaques de type DPA est de rendre aléatoire les entrées de l'algorithme d'exponentiation utilisé pour calculer y=gAd. En d'autres termes, il s'agit de rendre l'exposant d et/ou l'élément g aléatoire. En notation additive, dans le calcul de Q=d*P, il s'agit de rendre l'exposant d et/ou l'élément P aléatoire.
Des procédés de contre-mesure appliquant ce principe sont connus.
Notamment, un procédé de contre-mesure consiste à masquer l'exposant d dans le calcul de y=gAd dans un groupe G en remplaçant d par d+r.q où r est un entier aléatoire et q est l'ordre de l'élément g dans le groupe G. Une variante de cette contre-mesure consiste à remplacer d par d+r.q où r est un entier aléatoire et q est un multiple de l'ordre de l'élément g dans le groupe G ; par le théorème de Lagrange, un choix courant pour ce multiple est l'ordre du groupe G. La valeur de y=gAd dans G s'obtient alors en calculant y=gAd' avec d'=d+r.q. Cette contre-mesure est notamment décrite dans un article de Jean-Sébastien Coron (Cryptographie Hardware and Embedded Systems, volume 1717 de Lecture Notes in Computer Science, pages 292-302, Springer-Verlag, 1999) dans le cas où G est le groupe des points d'une courbe elliptique définie sur un corps fini. Le désavantage de la contre-mesure précédente est qu'elle nécessite la connaissance de l'ordre de l'élément g dans le groupe G ou un multiple de cet ordre. Dans de nombreuses situations, cette valeur est inconnue et trop coûteuse ou impossible à calculer. Un autre désavantage apparaît lorsque l'exposant d est remplacé par d+r.q où q est un multiple relativement grand de l'ordre de l'élément g dans le groupe G car le surcoût engendré par le masquage devient prohibitif. Un autre procédé de contre-mesure, notamment décrit dans un article de Christophe Clavier et Marc Joye (Cryptographie Hardware and Embedded Systems, volume 2162 de Lecture Notes in Computer Science, pages 300-308, Springer-Verlag, 2001) consiste à écrire l'exposant d sous la forme d=(d-r)+r où r est un entier aléatoire et d'ensuite évaluer y=gAd dans le groupe G comme le produit des deux exponentiations gA (d-r) et gAr dans G. Contrairement à la contre-mesure décrite précédemment, cette contre-mesure ne nécessite pas la valeur de l'ordre de g dans G ou d'un de ses multiples. Une variante consiste à tirer un entier aléatoire r et d'écrire d sous la forme
Figure imgf000015_0001
avec d2 égal à la valeur par défaut de la division entière de d par r et di égal au reste de ladite division. Le calcul de y=gAd dans le groupe G s'évalue alors comme le produit des deux exponentiations gAdi et hAd2 avec h=gAr dans G. Le désavantage de ce type de contre-mesure est que plusieurs exponentiations sont nécessaires pour le calcul de y=gAd dans G.
Un objet de la présente invention est un procédé de contre-mesure, notamment vis à vis des attaques de type DPA.
Un autre objet de l'invention est un procédé de contre-mesure aisé à mettre en oeuvre. L'idée à la base de l'invention est de rendre aléatoire l'exposant d en l'exprimant de façon aléatoire sous la forme
Figure imgf000016_0001
où di, d∑ et s sont des entiers et d'ensuite calculer l'exponentiation y=gAd dans le groupe G par un algorithme de double exponentiation.
L'invention concerne donc un procédé de contre- mesure dans un composant électronique mettant en oeuvre un algorithme cryptographique à clé publique, comprenant un calcul d'exponentiation de type y=gΛd où g et y sont des éléments du groupe déterminé G noté de façon multiplicative et d est un nombre prédéterminé, caractérisé en ce qu'il comprend une première étape de masquage pour exprimer de façon aléatoire l'exposant d sous la forme
Figure imgf000016_0002
où di, d2 et s sont des entiers et une deuxième étape pour calculer la valeur de y=gAd dans G par un quelconque algorithme de double exponentiation de type (gAdi) . (hΛd2) avec h=gΛs dans G. Ce procédé s'applique de la même façon si le groupe G est noté de façon additive.
D'autres caractéristiques et avantages de l'invention sont présentés dans les descriptions suivantes, faites en référence à des modes de réalisation particuliers.
On a vu que l'algorithme d'exponentiation le plus simple dans un groupe G est l'algorithme d' exponentiation binaire gauche-droite . De la même façon, les algorithmes de double exponentiation le plus simples sont donnés par les diverses extensions de l'algorithme d'exponentiation binaire gauche-droite. Soit donc g un élément d/ un groupe G et soit d un exposant. Ainsi, un procédé de contre-mesure selon l'invention peut s'écrire comme suit :
1) Masquage de d : la) Exprimer d de façon aléatoire sous la forme d=d2.s+di où di, d2 et s sont des entiers Ib) Soient
Figure imgf000017_0001
et (d2(t),d2(t- 1) ,..., d2 (0) ) les représentations binaires respectives de di et de d2
2) Double exponentiation :
2a) Définir (calculer) l'élément h=gAs dans G
2b) Initialiser le registre A avec l'élément neutre de G 2c) Pour i allant de t à 0 exécuter : 2cl) Remplacer A par AΛ2 2c2) Si di(i)=l remplacer A par A. g 2c3) Si d2(i)=l remplacer A par A. h 2c4) Retourner A.
De façon remarquable, ce procédé masque l'exposant d et ne demande qu'au plus trois multiplications dans G par itération à l'étape 2). Ce nombre de multiplications dans G est réduit à deux dans le cas où le produit de g et de h est précalculé. On obtient ainsi le procédé de contre-mesure suivant :
1) Masquage de d : la) Exprimer d de façon aléatoire sous la forme d=d2.s+di où di, d2 et s sont des entiers Ib) Soient (di (t) , di (t-1) ,...,dx (0) ) et (d2(t),d2(t- 1) , ..., d2 (0) ) les représentations binaires respectives de di et de d2
2) Double exponentiation :
2a) Définir (calculer) l'élément h=gAs dans G l'
2b) Précalculer u=g.h dans G
2c) Initialiser le registre A avec l'élément neutre de G
2d) Pour i allant de t à 0 exécuter : 2dl) Remplacer A par AA2
2d2) Si di(i)=l et d2(i)=0 remplacer A par A. g 2d3) Si
Figure imgf000018_0001
et d2(i)=l remplacer A par A. h 2d4) Si di{i)=l et d2(i)=l remplacer A par A.u 2d5) Retourner A.
Une autre application intéressante de l'invention concerne exponentation dans le groupe G des points d'une courbe elliptique définie sur un corps fini GF (qΛn) . Dans ce groupe G, noté de façon additive, l'inversion d'un point P, notée -P, est une opération peu coûteuse de * sorte qu'il est intéressant de représenter les exposants de façon signée. Soient donc un point P dans le groupe G des points d'une courbe elliptique définie sur un corps fini GF{qΛn) et un exposant d. Ainsi, un procédé de contre-mesure selon l'invention appliqué au groupe des points d'une courbe elliptique sur un corps fini GF(qAn) peut s'écrire comme suit :
1) Masquage de d : la) Exprimer d de façon aléatoire sous la forme d=d2.s+di où di, d2 et s sont des entiers Ib) Soient (d1(t)rd1(t-l),...,d1(0)) et (d2<t),d2(t- 1) , .,., d2 (0) ) des représentations binaires signées pour di et de d2 3) exponentiation :
2a) Définir (calculer) le point R=s*P dans G
2b) Initialiser un registre A avec l'élément neutre de G 2c) Pour i allant de t à 0 exécuter : 2cl) Remplacer A par 2*A
2c2) Si di(i) est non nul remplacer A par A+
Ci1(I) *P
2c3) Si d2(i) est non nul remplacer A par A+ d2(i)*R
2c4) Retourner A.
De façon générale, le procédé de contre-mesure s'applique à tout algorithme de double exponentiation dans un groupe G, noté de façon multiplicative ou additive .
Un mode de réalisation préféré pour exprimer l'exposant d de façon aléatoire sous la forme .d=d2. s+di où di, d2 et s sont des entiers à l'étape la dans les procédés de contre-mesure ci-dessus consiste à choisir un entier aléatoire s et à prendre d2 égal à la valeur par défaut de la division entière de d par s et di égal au reste de ladite division. Un autre mode de réalisation préféré pour exprimer l'exposant d de façon aléatoire sous la forme d=d2.s+di où di, d2 et s sont des entiers à l'étape la dans les procédés de contre-mesure ci-dessus consiste à choisir un entier aléatoire di, à fixer s à la valeur 1 et à prendre d2 égal à la différence de d et de dx.

Claims

REVENDICATIONS
1. Procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme cryptographique à clé publique, comprenant un calcul d'exponentiation de type y=gΛd où g et y sont des éléments du groupe déterminé G noté de façon multiplicative et d est un nombre prédéterminé, caractérisé en ce qu'il comprend une première étape de masquage pour exprimer de façon aléatoire l'exposant d sous la forme d=d2. s+di où di, d2 et s sont des entiers et une deuxième étape pour calculer la valeur de y=gAd dans G par un quelconque algorithme de double exponentiation de type (gΛdi) . (hAd2) avec h=gAs dans G .
2. Procédé de contre-mesure selon la revendication 1, caractérisé en ce que le groupe G est noté de façon additive.
3. Procédé de contre-mesure selon la revendication 1, caractérisé en ce que le procédé comprend les étapes suivantes : 1) Masquage de d : la) Exprimer d de façon aléatoire sous la forme d=d2.s+di où di, d2 et s sont des entiers
Ib) Soient (dx (t) ,di (t-1) , ...,di (0) ) et (d2 (t) ,d2 (t-1) ,...,d2(0) ) les représentations binaires respectives de di et de d2 2) Double exponentiation :
2a) Définir (calculer) l'élément h=gΛs dans
G 2b) Initialiser le registre A avec l'élément neutre de G
2c) Pour i allant de t à 0 exécuter :
2cl) Remplacer A par AA2 2c2) Si di(i)=l remplacer A par A. g
2c3) Si d2(i)=l remplacer A par A.h
2c4) Retourner A.
4. Procédé de contre-mesure selon la revendication 1, caractérisé en ce que le procédé comprend les étapes suivantes : 1) Masquage de d : la) Exprimer d de façon aléatoire sous la forme d=d2.s+dχ où di, d2 et s sont des entiers Ib) Soient (dx (t) ,di (t-1 ),..., di (0) ) et
(d2 (t) , d2 (t-1) ,..., d2 (0) ) les représentations binaires respectives de di et de d2 2 ) Double exponentiation :
2a) Définir (calculer) l'élément h=gΛs dans G
2b) Précalculer u=g.h dans G 2c) Initialiser le registre A avec l'élément neutre de G
2d) Pour i allant de t à 0 exécuter : 2dl) Remplacer A par AA2
2d2) Si di(i)=l et d2(i)=0 remplacer A par A. g
2d3) Si di(i)=0 et d2(i)=l remplacer A par A.h 2d4) Si di(i)=l et d2(i)=l remplacer
A par A.u
2d5) Retourner A.
5. Procédé de contre-mesure selon la revendication 2, caractérisé en ce que le procédé comprend les étapes suivantes :
1) Masquage de d : la) Exprimer d de façon aléatoire sous la forme
Figure imgf000022_0001
où di, d2 et s sont des entiers Ib) Soient (dα (t) , di (t-1 ),..., di (0) ) et (d2 (t) , d2 (t-1) ,..., d2 (0) ) des représentations binaires signées pour di et de d2 2) exponentiation :
2a) Définir (calculer) le point R=s*P dans G
2b) Initialiser un registre A avec l'élément neutre de G 2c) Pour i allant de t à 0 exécuter :
2cl) Remplacer A par 2*A 2c2) Si di(i) est non nul remplacer A par A+ d5 (i) *P
2c3) Si d2(i) est non nul remplacer A par A+ d2 (i) *R
2c4) Retourner A.
6. Procédé de contre-mesure selon l'une quelconque des revendications précédentes , caractérisé en ce que, à la première étape de masquage, l'expression de l'exposant d de façon aléatoire sous la forme d=d2.s+di où di, d2 et s sont des entiers, consiste à choisir un entier aléatoire s et à prendre d2 égal à la valeur par défaut de la division entière de d par s et di égal au reste de ladite division.
7. Procédé de contre-mesure selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'expression de l'exposant d de façon aléatoire sous la forme
Figure imgf000023_0001
où di, d2 et s sont des entiersr consiste à choisir un entier aléatoire di, à fixer s à la valeur 1 et à prendre d2 égal à la différence de d et de di.
Composant électronique mettant en œuvre le procédé selon l'une quelconque des revendications précédentes.
PCT/EP2004/051142 2003-06-18 2004-06-17 Procede de contre-mesure dans un composant electronique WO2004111833A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04741817A EP1639450A1 (fr) 2003-06-18 2004-06-17 Procede de contre-mesure dans un composant electronique
US10/561,276 US20070121935A1 (en) 2003-06-18 2004-06-17 Method for countermeasuring in an electronic component

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0307380 2003-06-18
FR0307380A FR2856538B1 (fr) 2003-06-18 2003-06-18 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique

Publications (1)

Publication Number Publication Date
WO2004111833A1 true WO2004111833A1 (fr) 2004-12-23

Family

ID=33484552

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2004/051142 WO2004111833A1 (fr) 2003-06-18 2004-06-17 Procede de contre-mesure dans un composant electronique

Country Status (4)

Country Link
US (1) US20070121935A1 (fr)
EP (1) EP1639450A1 (fr)
FR (1) FR2856538B1 (fr)
WO (1) WO2004111833A1 (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1842128B1 (fr) * 2005-01-18 2011-11-09 Certicom Corp. Verification acceleree de signatures numeriques et de cles publiques
US7912886B2 (en) * 2006-12-14 2011-03-22 Intel Corporation Configurable exponent FIFO
EP2264939B1 (fr) * 2008-03-31 2015-03-04 Fujitsu Limited Procédé de cryptage à fonction de contre-mesure contre les attaques par analyse de puissance
EP2169535A1 (fr) * 2008-09-22 2010-03-31 Thomson Licensing Procédé, appareil et support de programme informatique pour le recodage régulier d'un entier positif
US9454494B2 (en) * 2014-08-01 2016-09-27 Honeywell International Inc. Encrypting a communication from a device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061498A1 (en) * 1999-12-28 2003-03-27 Hermann Drexler Portable data carrier provided with access protection by dividing up codes

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2784831B1 (fr) * 1998-10-16 2000-12-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
US7599491B2 (en) * 1999-01-11 2009-10-06 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
FR2810138B1 (fr) * 2000-06-08 2005-02-11 Bull Cp8 Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
CA2369540C (fr) * 2001-12-31 2013-10-01 Certicom Corp. Methode et appareil pour calculer une cle secrete partagee
US7551737B2 (en) * 2003-03-31 2009-06-23 International Business Machines Corporation Cryptographic keys using random numbers instead of random primes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061498A1 (en) * 1999-12-28 2003-03-27 Hermann Drexler Portable data carrier provided with access protection by dividing up codes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HASAN M A: "POWER ANALYSIS ATTACKS AND ALGORITHMIC APPROACHES TO THEIR COUNTERMEASURES FOR KOBLITZ CURVE CRYPTOSYSTEMS", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS - CHES 2000. SECOND INTERNATIONAL WORKSHOP. PROCEEDINGS, WORCESTER, MA, USA, 17-18 AUG. 2000. LNCS VOL. 1965, August 2000 (2000-08-01), pages 93 - 108, XP001027949 *
J. SOLINAS: "Low-Weight Binary Representations for Pairs of Integers", 2001, CENTRE FOR APPLIED CRYPTOGRAPHIC RESEARCH, UNIVERSITY OF WATERLOO, WATERLOO, ONTARIO, CA, XP002280821 *
J-F DHEM: "Design of an efficient public-key cryptographic library for RISC-based smart cards", May 1998, THÈSE SOUTENUE EN VUE DE L'OBTENTION DU GRADE DE DOCTEUR EN SCIENCES APPLIQUÉES, UCL, FACULTÉ DES SCIENCES APPLIQUÉES , LOUVAIN-LA-NEUVE, BE, XP002280822 *

Also Published As

Publication number Publication date
FR2856538B1 (fr) 2005-08-12
FR2856538A1 (fr) 2004-12-24
EP1639450A1 (fr) 2006-03-29
US20070121935A1 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
EP1166494B1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
EP2946284B1 (fr) Procédé de cryptographie comprenant une opération de multiplication par un scalaire ou une exponentiation
EP1381936B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
EP1969459A1 (fr) Procédé cryptographique comprenant une exponentiation modulaire sécurisée contre les attaques à canaux cachés, cryptoprocesseur pour la mise en oeuvre du procédé et carte à puce associée
EP2162820A1 (fr) Mise a la puissance modulaire selon montgomery securisee contre les attaques a canaux caches
FR2809893A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique
WO2000059157A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
FR2941798A1 (fr) Appareil pour calculer un resultat d&#39;une multiplication scalaire
WO2001080481A1 (fr) Procede de cryptographie sur courbes elliptiques
EP1804161B1 (fr) Détection de perturbation dans un calcul cryptographique
EP1804160B1 (fr) Protection d&#39;un calcul cryptographique effectué par un circuit intégré
EP1639451A2 (fr) Procédé de contre-mesure par masquage de l&#39;accumulateur
CA2257907A1 (fr) Procede de cryptographie a cle publique
WO2004111833A1 (fr) Procede de contre-mesure dans un composant electronique
WO2002028010A1 (fr) Procede d&#39;encodage de messages longs pour schemas de signature electronique a base de rsa
WO2002001343A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique de koblitz
EP1222528B1 (fr) Procede d&#39;amelioration de performance de l&#39;operation de multiplication sur un corps fini de caracteristique 2
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
FR2843507A1 (fr) Procede securise de realisation parallele d&#39;une exponentiation modulaire, procede cryptographique et circuit de calcul associes
WO2002050658A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en ouvre un algorithme de cryptographie a cle publique de type rsa
FR2854997A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique definie sur un corps de caracteristique deux
WO2002093411A1 (fr) Dispositif destine a realiser des calculs d&#34;exponentiation appliques a des points d&#34;une courbe elliptique

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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: A1

Designated state(s): BW GH GM KE LS MW MZ NA 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 PL 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: 2004741817

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004741817

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007121935

Country of ref document: US

Ref document number: 10561276

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10561276

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: 2004741817

Country of ref document: EP