WO2002088933A1 - Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique - Google Patents

Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique Download PDF

Info

Publication number
WO2002088933A1
WO2002088933A1 PCT/FR2002/001434 FR0201434W WO02088933A1 WO 2002088933 A1 WO2002088933 A1 WO 2002088933A1 FR 0201434 W FR0201434 W FR 0201434W WO 02088933 A1 WO02088933 A1 WO 02088933A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
curve
elliptic curve
countermeasure method
isomorphic
Prior art date
Application number
PCT/FR2002/001434
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 EP02727698A priority Critical patent/EP1381936B1/fr
Priority to US10/475,174 priority patent/US20040228478A1/en
Priority to DE60204955T priority patent/DE60204955T2/de
Publication of WO2002088933A1 publication Critical patent/WO2002088933A1/fr

Links

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7228Random curve mapping, e.g. mapping to an isomorphous or projective curve

Definitions

  • the present invention relates to a countermeasure method in an electronic component using a cryptographic algorithm of the public key type on an elliptical curve.
  • Public key algorithms on an elliptical curve allow cryptographic applications such as encryption, signature verification, authentication, etc.
  • 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 of the tangent.
  • the pair (x, y), where the abscissa x and the ordinate y are elements of the body IK forms the affine coordinates of a point P of the elliptic curve.
  • the number of elements of the body is always expressed in the form p n , where p is a prime number, p is the characteristic of the body.
  • Two classes of elliptic curves are more particularly used in cryptographic systems: those defined on a finite field of characteristic p different from 2 and 3 and those defined on a body of characteristic equal to 2.
  • the public key cryptographic algorithms on an elliptical curve are thus based on the scalar multiplication of a point P selected on the curve, by a predetermined number d, the secret key.
  • the result of this scalar multiplication dP is a point Q on the elliptical curve.
  • the point Q obtained is the public key which is used for the encryption of a message.
  • a simple or differential hidden channel attack is understood to mean an attack based on a measurable physical quantity from outside the device, the direct analysis of which (simple attack) or the analysis according to a statistical method (differential attack) allows discover information contained and manipulated in processing in the device. These attacks can thus allow the discovery of confidential information. These attacks were notably exposed by Paul Kocher (Advances in Cryptology - CRYPTO '99, vol. 1966 of Lecture Notes in Computer Science, pp. 388-397. Springer-Verlag, 1999). Among the physical quantities that can be exploited for these purposes, we can cite the consumption in current, the electromagnetic field ... These attacks are based on the fact that the manipulation of a bit, ie its processing by a particular instruction, has a particular imprint on the physical quantity considered according to its value.
  • All these algorithms use formulas of operations of doubling and addition defined on the elliptic curves.
  • the well-known doubling and addition algorithm is particularly sensitive to attacks of simple type hidden channels, since it includes an operation conditional on the value of a bit of the secret key d.
  • Countermeasure methods applying this principle are known. Such countermeasure methods are notably described in an article by Jean-Sébastien Coron (Cryptography Hardware and Embedded Systems, volume 1717 of Lecture Notes in Computer Science, pages 292-302. Springer-Verlag, 1999). In particular, in this article, a countermeasure method consists in masking the point P using projective coordinates of this point, defined randomly.
  • a point on the elliptical curve E (different from the point at infinity) is in fact uniquely defined on this curve by its affine coordinates (x, y). But we can represent this point by projective coordinates (X: Y: Z) and there is an exponential number of representations in projective coordinates. In the described countermeasure method, we thus draw a random number t IK and we represent the point P by projective coordinates as a function of this random number.
  • An object of the present invention is a method of countermeasure, in particular with respect to hidden channel differential attacks.
  • Another object of the invention is a countermeasure method which is easy to implement.
  • the proposed method has the advantage of being faster and being applicable equally in affine and projective coordinates.
  • the idea underlying the invention is to use group isomorphisms, to transpose scalar multiplication calculations on an elliptical curve E_u obtained by applying a group isomorphism ⁇ u , defined with respect to a random number u, non-zero, element of the body IK.
  • the countermeasure method then consists in drawing a non-zero random number u, to define a random isomorphic elliptical curve.
  • the group isomorphism applied to the elliptical curves is applied, to randomly mask the point P to which the exponentiation algorithm is applied.
  • an exponentiation algorithm of type Q dP, where Q and P are points of a defined elliptic curve E.
  • E_u ⁇ u (E)
  • This process can be applied to any exponentiation algorithm of its choice and in the coordinate system, affine or projective, of its choice.
  • P ' (x '1: y' 1: 1).
  • P ' (x '1: y' 1: 1).
  • the coordinate in Z being equal to 1, the number of operations to calculate dP 'is then reduced.
  • a random value u is drawn each time the cryptographic algorithm is requested.
  • a random value u is derived from the personalization of the electronic component. This value is then stored in a rewritable memory portion of the electronic component, like the secret key d.
  • it is possible in particular to pre-calculate the value u -1 which makes it possible to calculate the coordinates of the points P 'and Q' and we will store it in rewritable memory. This is particularly advantageous in applications in which the processing speed is very high, and in which the rewritable memory has sufficient capacity.
  • the calculation of the point Q + dP 'in step d) of this process can be done with the algorithm of its choice, and in the coordinate system of its choice.
  • the use of projective coordinates (homogeneous or Jacobian) for the point P '4 is particularly interesting if one represents P' with its coordinate in Z equal 1 since the number of operations to calculate d P 'is then reduced.
  • P ' (u ⁇ 2 xl: u ⁇ 3 yl: 1)
  • the countermeasure method according to the invention can be generalized.
  • the elliptical curves can be given by parametrizations other than those of Weierstrass.
  • step b). of the method detailed above thus consists in calculating parameters of the isomorphic elliptic equation, starting from the random number u and parameters of the elliptic curve on which the cryptographic system is based. Only the parameters used in the operations on the elliptical curve (addition of two points, doubling) are to be calculated. In the example detailed above, only the parameter a is to be calculated.
  • the countermeasure method can be applied to the various prior art exponentiation algorithms, since it only transposes this algorithm onto another elliptical curve.
  • this countermeasure method can be used in all cryptographic systems on an elliptical curve. It applies in particular to electronic components intended for smart cards.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

Un procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme cryptographique du type à clé publique sur une courbe elliptique déterminée E sur un corps lK, comprenant un calcul d'exponentiation de type à d.P où P et Q sont des points de la courbe elliptique déterminée (E), et d un nombre prédéterminé comprend les étapes suivantes: - tirage d'un nombre u aléatoire non nul, élément du corps fini lK, pour définir aléatoirement une courbe elliptique isomorphe Eu',- calcul des coordonnées d'un point P' sur ladite courbe elliptique isomorphe Eu', image du point P,- application d'un algorithme d'exponentiation au dit point image P' sur ladite courbe elliptique isomorphe Eu', pour obtenir un point résultant Q',- calcul des coordonnées sur la courbe elliptique déterminée E du point Q, pré-image du point résultant Q'.

Description

PROCEDE DE CONTRE-MESURE DANS UN COMPOSANT ELECTRONIQUE METTANT EN OEUVRE UN ALGORITHME CRYPTOGRAPHIQUE DU TYPE A CLE PUBLIQUE SUR UNE COURBE
ELLIPTIQUE
La présente invention concerne un procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme cryptographique du type à clé publique sur courbe elliptique. Les algorithmes à clé publique sur courbe elliptique permettent des applications cryptographiques de type chiffrement, vérification de signature, authentification....
Ils sont notamment très utilisés dans des applications de type carte à puce, parce qu'ils permettent d'utiliser des clés de faible longueur, autorisant des temps de traitement assez courts, et qu'ils peuvent ne pas nécessiter l'utilisation de crypto-processeurs pour leur implémentation, ce qui diminue le prix de revient des composants électroniques dans lesquels ils sont implémentés.
Pour mémoire, si IK est un corps, l'ensemble des points (x,y) C IKxlK vérifiant l'équation générale de
Weirstrass : y2 + alxy + a3y = x3 + a2x2 + a4x + aβ , avec ai 6 IK et du point à l'infini 0 forme une courbe elliptique. Toute courbe elliptique 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. Dans ce groupe, la paire (x,y), où l'abscisse x et l'ordonnée y sont des éléments du corps IK, forme les coordonnées affines d'un point P de la courbe elliptique. On rappelle que dans un corps fini, le nombre d'éléments du corps s'exprime toujours sous la forme pn, où p est un nombre premier, p est la caractéristique du corps .
Deux classes de courbes elliptiques sont plus particulièrement utilisées dans les systèmes cryptographiques : celles définies sur un corps fini de caractéristique p différente de 2 et 3 et celles définies sur un corps de caractéristique égale à 2.
Pour les courbes elliptiques de la première classe, l'équation de Weirtrass se simplifie en : y2=x3+ax+b
Et pour celles de la deuxième classe en se restreignant aux courbes non-supersingulières, cette équation devient : y2+xy=x3+ax2+b.
Pour chacune de ces deux classes de courbes, des opérations d'addition et de doublement de points ont été définies. Des formules pour ces opérations sont données dans de nombreuses références connues de l'homme du métier. Ces formules sont détaillées plus loin dans le texte, dans le cas d'une courbe elliptique définie sur un corps de caractéristique différente de 2 ou 3. Ces opérations sont à la base des algorithmes d'exponentiation sur ces courbes elliptiques : étant donné un point P appartenant à une courbe elliptique et d un nombre prédéterminé (un entier) , le résultat de la multiplication scalaire du point P par le multiplieur d est un point Q de la courbe tel que Q=d. P=P+P+ ... +P d fois . Les algorithmes cryptographiques à clé publique sur courbe elliptique sont ainsi basés sur la multiplication scalaire d'un point P sélectionné sur la courbe, par un nombre prédéterminé d, la clé secrète. Le résultat de cette multiplication scalaire d.P est un point Q de la courbe elliptique. Dans un exemple d'application au chiffrement selon le procédé de El Gamal, le point Q obtenu est la clé publique qui sert au chiffrement d'un message.
Cependant, les algorithmes cryptographiques à clé publique sur courbe elliptique se sont révélés sensibles aux attaques visant à découvrir notamment la valeur de la clé secrète. On peut citer notamment les attaques à canaux cachés, simples ou différentielles.
On entend par attaque à canal caché simple ou différentielle, une attaque basée sur une grandeur physique mesurable de l'extérieur du dispositif, et dont l'analyse directe (attaque simple) ou l'analyse selon une méthode statistique (attaque différentielle) permet de découvrir des informations contenues et manipulées dans des traitements dans le dispositif. Ces attaques peuvent ainsi permettre de découvrir des informations confidentielles. Ces attaques ont notamment été dévoilées par Paul Kocher (Advances in Cryptology - CRYPTO ' 99, vol . 1966 of Lecture Notes in Computer Science, pp. 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.
Dans les systèmes cryptographiques basés sur des courbes elliptiques, ces attaques visent la multiplication scalaire.
Le calcul de la multiplication scalaire Q=d.P peut être réalisé par différents algorithmes d'exponentiation. On peut en citer quelques uns, comme l'algorithme de doublement et d'addition { double and add dans la littérature anglo-saxonne) basé sur la représentation binaire du multiplieur d, celui d'addition-soustraction basé sur la représentation binaire signée du multiplieur d, l'algorithme avec fenêtre... Tous ces algorithmes utilisent des formules d'opérations de doublement et d'addition définies sur les courbes elliptiques. Dans tous ces algorithmes, on a du prévoir des procédés de contre-mesure permettant d'empêcher les différentes attaques de prospérer. En d'autres termes, on a cherché à sécuriser ces algorithmes. Par exemple, l'algorithme dit de doublement et d'addition bien connu est notamment sensible aux attaques à canaux cachés de type simple, car il comporte une opération conditionnelle à la valeur d'un bit de la clé secrète d. Pour sécuriser cet algorithme, on l'a transformé en un l'algorithme dit de doublement avec addition systématique. Dans cet algorithme, quelle que soit la valeur du bit de la clé secrète dans le traitement en cours, on effectue toujours les mêmes opérations, en même nombre. D'une manière générale, on sait sécuriser ces algorithmes vis à vis des attaques simples, en supprimant tous les branchements conditionnels à la valeur de la donnée traitée. Cependant, on a pu montrer que ces parades ne protégeaient pas des attaques différentielles à canaux cachés, par lesquelles il était possible de découvrir la clé secrète d.
Une parade efficace aux attaques différentielles est de rendre aléatoire les entrées et/ou les sorties de l'algorithme d'exponentiation utilisé pour calculer Q=d.P. En d'autres termes, il s'agit de rendre le multiplieur d et/ou le point P aléatoire.
Des procédé de contre-mesure appliquant ce principe sont connus. De tels procédés de contre-mesure sont notamment décrits dans un article de Jean-Sébastien Coron (Cryptographie Hardware and Embedded Systems, volume 1717 of Lecture Notes in Computer Science, pages 292-302. Springer-Verlag, 1999). Notamment, dans cet article, un procédé de contre- mesure consiste à masquer le point P en utilisant des coordonnées projectives de ce point, définies de façon aléatoire.
Un point de la courbe elliptique E (différent du point à l'infini) est en effet défini de façon unique sur cette courbe par ses coordonnées affines (x,y). Mais on peut représenter ce point par des coordonnées projectives (X:Y:Z) et il existe un nombre exponentiel de représentations en coordonnées projectives. Dans le procédé de contre-mesure décrit, on tire ainsi un nombre aléatoire t IK et on représente le point P par des coordonnées projectives fonction de ce nombre aléatoire.
Dans l'article précité, on propose de former de manière avantageuse les coordonnées projectives du point P en fonction du nombre aléatoire t et des coordonnées affines, par exemple sous la forme P=(tx : ty : t) , en coordonnées projectives homogènes, ou P= (t2x: t3y: t) en coordonnées jacobiennes. On applique l'algorithme d'exponentiation à ces coordonnées. On obtient une représentation du point Q en coordonnées projectives, desquelles on déduit (calcule) les coordonnées affines de ce point.
Un objet de la présente invention est un procédé de contre-mesure, notamment vis à vis des attaques différentielles à canaux cachés.
Un autre objet de l'invention est un procédé de contre-mesure aisé à mettre en oeuvre.
Par rapport à l'article précité, le procédé proposé présente l'avantage d'être plus rapide et d'être applicable indifféremment en coordonnées affines et projectives .
L'idée à la base de l'invention est d'utiliser les isomorphismes de groupe, pour transposer les calculs de multiplication scalaire sur une courbe elliptique E_u obtenue par application d'un isomorphisme de groupe φu , défini par rapport à un nombre aléatoire u, non nul, élément du corps IK.
En d'autres termes, le procédé de contre-mesure consiste alors à tirer un nombre aléatoire u non nul, pour définir une courbe elliptique isomorphe aléatoire
E_u=φu(E), à calculer les coordonnées du point image sur cette courbe E_u du point P, à appliquer l'algorithme d'exponentiation à ce point image P' sur la courbe elliptique isomorphe E_u, pour obtenir un point résultant Q' et à calculer les coordonnées du point pré-image Q du point Q' sur la courbe elliptique E sur laquelle est basée le système cryptographique.
Comme la structure algébrique des courbes elliptiques est très riche, il existe de nombreuses possibilités de définitions d' isomorphismes, en sorte que le procédé de contre-mesure selon l'invention est d'application très générale.
L'invention concerne donc un procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme cryptographique du type à clé publique sur une courbe elliptique déterminée E sur un corps IK, comprenant un calcul d'exponentiation de type Q=d.P où P et Q sont des points de la courbe elliptique déterminée (E) , et d un nombre prédéterminé, caractérisé en ce qu'il comprend les étapes suivantes : - tirage d'un nombre u aléatoire non nul, élément du corps IK, pour définir aléatoirement une courbe elliptique isomorphe E_u,
- calcul des coordonnées d'un point P' sur ladite courbe elliptique isomorphe E_u, image du point P, - application d'un algorithme d'exponentiation au dit point .image P' sur ladite courbe elliptique isomorphe E_u, pour obtenir un point résultant Q',
- calcul des coordonnées sur la courbe elliptique déterminée E du point Q, pré-image du point résultant Q' . D'autres caractéristiques et avantages de l'invention sont présentés dans la description suivante, faite en référence à un mode de réalisation particulier, pour des courbes elliptiques sur un corps IK de caractéristique différente de 2 ou 3.
On a vu qu'une courbe elliptique sur un tel corps peut se définir comme suit : E/ικ ." y2= x3 + ax +b .
Soient deux courbes elliptiques El et E2 définies sur un tel corps : El/ικ : y2= x3 + ax +b E2/ικ : y2= x3 + a ' x +b '
On montre que ces deux courbes sont isomorphes sur IK, si et seulement si il existe un nombre u non nul appartenant à IK tel que u4a ' = a et u6b ' = b. Si on note φ 1 ' isomorphisme de groupe tel que
E2=φ(El), on montre qu'à tout point P=(x,y) de la courbe elliptique El correspond un point image φ (P) =P'= (x' , y ' ) sur la courbe elliptique E2 tel que : x ' =u~2x et y'=u"3y. Inversement, par application de 1 ' isomorphisme inverse φ"1 tel que φ~1(E2)=El, à tout point P' = (x',y') de la courbe elliptique E2 correspond un point préimage φ"1 (P' ) =P= (x, y) sur la courbe elliptique El tel que : x=u2x' et y=u3y' .
Dans l'invention, on fait application de 1 ' isomorphisme de groupe appliqué aux courbes elliptiques, pour masquer aléatoirement le point P auquel est appliqué l'algorithme d'exponentiation. Soit donc un algorithme d'exponentiation de type Q=d.P, où Q et P sont des points d'une courbe elliptique définie E. Le procédé de contre-mesure selon l'invention consiste donc à tirer aléatoirement un nombre u dans les éléments non nuls du corps IK, pour définir aléatoirement une courbe elliptique isomorphe E_u =φu(E). On calcule les coordonnées du point image P' du point P sur cette courbe elliptique isomorphe E_u et on applique ce point image P' en entrée de l'algorithme d'exponentiation. On obtient un point Q' résultant sur la courbe elliptique isomorphe E_u. On calcule alors les coordonnées du point pré-image Q du point Q' résultant sur ' la courbe elliptique définie E. En d'autres termes, selon ce procédé, on calcule : Q=φ_1(d(φ(P) )) .
Par ce procédé, le nombre u étant aléatoire, les étapes intermédiaires de calcul de l'algorithme d'exponentiation sont imprévisibles.
Ce procédé peut s'appliquer à tout algorithme d'exponentiation de son choix et dans le système de coordonnées, affines ou projectives, de son choix. En particulier, on peut représenter le point P'=(x'l,y'l) par des coordonnées projectives P' = (X :Y :Z), avec la en coordonnée en Z égale à 1, soit : P' = (x' 1 : y' 1 : 1) . On utilise alors un algorithme d'exponentiation en coordonnées projectives (homogènes ou jacobiennes) de son choix. La coordonnées en Z étant égale à 1, le nombre d'opérations pour calculer d.P' est alors réduit. De préférence, on tire une valeur aléatoire u à chaque fois que l'algorithme cryptographique est sollicité .
Dans une autre variante de réalisation, on tire une valeur aléatoire u à la personnalisation du composant électronique. Cette valeur est alors mémorisée dans une portion de mémoire ré-inscriptible du composant électronique, comme la clé secrète d. Dans ce cas, on peut prévoir de pré-calculer certaines valeurs, pour accélérer le traitement. Dans l'exemple de réalisation plus particulièrement décrit sur des corps finis de caractéristique différente de 2 ou 3, on pourra notamment pré-calculer la valeur u-1, qui permet de calculer les coordonnées des points P' et Q' et on la mémorisera en mémoire re-inscriptible . Ceci est notamment intéressant dans les applications dans lesquelles la vitesse de traitement est très importante, et dans lesquelles la mémoire réinscriptible a une capacité suffisante. On peut détailler le procédé de contre-mesure selon l'invention, appliqué à un système cryptographique basé sur une courbe elliptique E définie sur un corps fini de caractéristique différente de 2 ou 3, pour effectuer une exponentiation du type Q = d. P, où Q et P sont des points de la courbe elliptique E et d un nombre prédéterminé, d et P sont les entrées et Q la sortie de l'algorithme d'exponentiation.
Dans un tel exemple, on a vu que l'équation de
Weirstrass pour la courbe elliptique E sur le corps IK s ' écrit :
E/ικ : y2= x3 + ax +b . Pans cette courbe, l'opération d'addition d'un point P=(xι,yι) et Q=(x2,y2) (avec Q≠-P) donne un point
Figure imgf000013_0001
tel que : x32-xι-x2 et y3=λ (xι-x3) -γλ avec λ= (y2-yχ) / (x2-xι) , si P≠Q (formule 1) et λ=(3xι2+a) /2yι, si P=Q. (formule 2).
La formule 1 est la formule d'addition de deux points distincts : R=Q+P tandis que la formule 2 est la formule de doublement du point : R=2.P.
On remarque qu'aucune de ces formules n'utilise le paramètre b de l'équation de la courbe elliptique E.
Ainsi, un procédé de contre-mesure appliqué à une courbe elliptique définie par l'équation de Weirstrass du type y2= x3 + ax +b , et à un algorithme d'exponentiation appliqué à un point P = (xl,yl) utilisant des opérations de doublement d'un point et d'addition entre deux points de cette courbe E, peut s'écrire comme suit : a) . Tirer aléatoirement un nombre u non nul; b) . Evaluer le paramètre a'=u"4a de l'équation de
Weirstrass du type y2= X" + a'x +b' définissant une courbe elliptique isomorphe E_u de la courbe elliptique E; c) . Former le point P' = (u_2xι, u~3yι) ; d) . Calculer le point Q'=d.P' sur la courbe elliptique isomorphe E_u. e) . Si le point résultant Q' est le point à l'infini, le point Q est le point à l'infini, Sinon poser Q' = (x ' 3, y ' 3) ; f) . retourner Q= (u2x'3, u3y ' 3) comme point pré-image. De façon remarquable, le calcul du point Q+dP' à l'étape d) de ce procédé peut se faire avec l'algorithme de son choix, et dans le système de coordonnées de son choix. En particulier l'utilisation de coordonnées projectives (homogènes ou jacobiennes) pour le point P' 4 est particulièrement intéressante si on représente P' avec sa coordonnée en Z égale 1 puisque le nombre d'opérations pour calculer d P' est alors réduit. On a alors P' = (u~2xl :u~3yl :1) Le procédé de contre-mesure selon l'invention peut être généralisé. Notamment, les courbes elliptiques peuvent être données par des paramétrisations autres que celles de Weierstrass.
De façon générale l'étape b) . du procédé détaillé ci-dessus consiste ainsi à calculer des paramètres de l'équation elliptique isomorphe, à partir du nombre aléatoire u et des paramètres de la courbe elliptique sur laquelle est basée le système cryptographique. Seuls les paramètres utilisés dans les opérations sur la courbe elliptique (addition de deux points, doublement) sont à calculer. Dans l'exemple détaillé ci-dessus, seul le paramètre a est à calculer.
En outre, le procédé de contre-mesure peut s'appliquer aux différents algorithmes d'exponentiation de l'état de la technique, puisqu'il ne fait que transposer cet algorithme sur une autre courbe elliptique. Ainsi, ce procédé de contre-mesure peut être utilisé dans tous les systèmes cryptographiques sur courbe elliptique. Il s'applique notamment aux composants électroniques destinés aux cartes à puces.

Claims

REVENDICATIONS
1. Procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme cryptographique du type à clé publique sur une courbe elliptique déterminée E sur un corps IK, comprenant un calcul d'exponentiation de type Q=d.P où P et Q sont des points de la courbe elliptique déterminée (E) , et d un nombre prédéterminé, caractérisé en ce que ledit procédé comprend les étapes suivantes :
- tirage d'un nombre u aléatoire non nul, élément du corps IK, pour définir aléatoirement une courbe elliptique isomorphe E_u,
- calcul des coordonnées d'un point P' sur ladite courbe elliptique isomorphe E_u, image du point P,
- application d'un algorithme d'exponentiation au dit point image P' sur ladite courbe elliptique isomorphe E_u, pour obtenir un point résultant Q',
- calcul des coordonnées sur la courbe elliptique déterminée E du point Q, pré-image du point résultant
Q'.
2. Procédé de contre-mesure selon la revendication 1, caractérisé en ce que la définition de la courbe elliptique isomorphe E_u comprend le calcul de paramètres (a et/ou b) de ladite courbe en fonction des paramètres de la courbe elliptique définie E et de ladite variable aléatoire, lesdits paramètres étant utilisés dans ledit algorithme d'exponentiation.
3. Procédé de contre-mesure selon la revendication 1 ou 2, caractérisé en ce que ledit algorithme d'exponentiation est appliqué au point image P' en coordonnées affines (P= (x' 1, y' 1) ) .
4. Procédé de contre-mesure selon la revendication 1 ou 2, caractérisé en ce que ledit algorithme d'exponentiation est appliqué au point image P'en coordonnées projectives.
5. Procédé de contre-mesure selon la revendication 4, caractérisé en ce que lesdites coordonnées projectives sont du type à coordonnée en Z égale à 1 (P= (x' 1 : y' 1 : 1) .
6. Procédé de contre-mesure selon la revendication 2, la courbe elliptique définie E ayant pour équation y2= x3 + ax +b, et l'algorithme d'exponentiation appliqué à un point P = (xl,yl) utilisant des opérations de doublement d'un point ou d'addition ou de soustraction entre deux points de cette courbe E, caractérisé en ce qu'il comprend les étapes suivantes : a) . Tirer aléatoirement un nombre u non nul; b) . Evaluer le paramètre a'=u-a dans l'équation y2= x3 + a'x +b' définissant une courbe elliptique isomorphe E_u à la courbe elliptique E; c) . Former le point image P ' = (u_2Xι, u~3yι) du point P sur ladite courbe isomorphe E u; d) . Calculer le point résultant Q'=d.P' par application dudit algorithme d'exponentiation sur ladite courbe elliptique isomorphe E_u. e) . Si le point Q' est égal au point à l'infini, retourner comme point image Q, le point à l'infini,
Sinon poser Q' = (x' 3, y ' 3) ; f) . retourner Q= (u2x ' 3, u3y' 3) .
7. Procédé de contre-mesure selon la revendication précédente, caractérisé en ce que ledit algorithme d'exponentiation est appliqué à l'étape d) à des coordonnées projectives (X:Y:Z) du point P' formées à l'étape c) par P1 = (u"2Xι:u'3yι : 1) .
8. Composant électronique dans lequel un procédé de contre-mesure selon l'une quelconque des revendications précédentes est mis en œuvre.
9. Carte à puce comprenant un composant électronique selon la revendication 8.
PCT/FR2002/001434 2001-04-27 2002-04-25 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique WO2002088933A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP02727698A EP1381936B1 (fr) 2001-04-27 2002-04-25 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
US10/475,174 US20040228478A1 (en) 2001-04-27 2002-04-25 Countermeasure method in an electronic component using a public key cryptographic algorithm on an elliptic curve
DE60204955T DE60204955T2 (de) 2001-04-27 2002-04-25 Gegenmassnahmen in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit auf elliptischen kurven basierendem öffentlichen schlüssel

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0105759A FR2824210B1 (fr) 2001-04-27 2001-04-27 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
FR0105759 2001-04-27

Publications (1)

Publication Number Publication Date
WO2002088933A1 true WO2002088933A1 (fr) 2002-11-07

Family

ID=8862815

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/001434 WO2002088933A1 (fr) 2001-04-27 2002-04-25 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique

Country Status (6)

Country Link
US (1) US20040228478A1 (fr)
EP (1) EP1381936B1 (fr)
DE (1) DE60204955T2 (fr)
ES (1) ES2247326T3 (fr)
FR (1) FR2824210B1 (fr)
WO (1) WO2002088933A1 (fr)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2854997B1 (fr) * 2003-05-16 2005-07-22 Gemplus Card Int 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
US7961873B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum And Minerals Password protocols using XZ-elliptic curve cryptography
US7961874B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum & Minerals XZ-elliptic curve cryptography with secret key embedding
US7379546B2 (en) * 2004-03-03 2008-05-27 King Fahd University Of Petroleum And Minerals Method for XZ-elliptic curve cryptography
FR2880149B1 (fr) 2004-12-23 2007-03-30 Oberthur Card Syst Sa Procede de traitement de donnees et dispositif associe
DE602005020702D1 (de) * 2005-10-18 2010-05-27 Telecom Italia Spa Verfahren zur skalarmultiplikation in gruppen elliptischer kurven über primkörpern für nebenkanal-attacken-beständige kryptosysteme
DE602005020991D1 (de) * 2005-10-28 2010-06-10 Telecom Italia Spa Verfahren zur skalarmultiplikation in gruppen ellir nebenkanalattacken-beständige kryptosysteme
US7885406B2 (en) * 2006-10-10 2011-02-08 Microsoft Corporation Computing endomorphism rings of Abelian surfaces over finite fields
US8559625B2 (en) * 2007-08-07 2013-10-15 Inside Secure Elliptic curve point transformations
US8233615B2 (en) 2008-01-15 2012-07-31 Inside Secure Modular reduction using a special form of the modulus
US8619977B2 (en) * 2008-01-15 2013-12-31 Inside Secure Representation change of a point on an elliptic curve
DE102008018001A1 (de) * 2008-04-09 2009-10-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Übertragung von Nachrichten in Echtzeit
US8699701B2 (en) 2010-12-01 2014-04-15 King Fahd University Method of performing XZ-elliptic curve cryptography for use with network security protocols
US20120140921A1 (en) * 2010-12-01 2012-06-07 King Fahd University Of Petroleum And Minerals Rsa-analogous xz-elliptic curve cryptography system and method
US8509426B1 (en) 2010-12-01 2013-08-13 King Fahd University Of Petroleum And Minerals XZ-elliptic curve cryptography system and method
FR2972064B1 (fr) * 2011-02-25 2013-03-15 Inside Secure Procede de cryptographie comprenant une operation d'exponentiation
EP2916215B1 (fr) * 2014-03-03 2016-12-07 Thomson Licensing Procédé de traitement cryptographique de données sur des courbes elliptiques, dispositif électronique correspondant et produit de programme informatique
CN105959108A (zh) * 2016-06-27 2016-09-21 收付宝科技有限公司 对云支付限制密钥进行加密及解密的方法、装置和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999030458A1 (fr) * 1997-12-05 1999-06-17 Secured Information Technology, Inc. Procedes de transformation pour l'optimisation de calculs de courbes elliptiques
FR2791496A1 (fr) * 1999-03-26 2000-09-29 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212277B1 (en) * 1998-03-05 2001-04-03 Matsushita Electric Industrial Co., Ltd. Elliptic curve transformation device, utilization device and utilization system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999030458A1 (fr) * 1997-12-05 1999-06-17 Secured Information Technology, Inc. Procedes de transformation pour l'optimisation de calculs de courbes elliptiques
FR2791496A1 (fr) * 1999-03-26 2000-09-29 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique

Also Published As

Publication number Publication date
DE60204955T2 (de) 2006-04-27
ES2247326T3 (es) 2006-03-01
FR2824210B1 (fr) 2003-05-30
DE60204955D1 (de) 2005-08-11
EP1381936A1 (fr) 2004-01-21
EP1381936B1 (fr) 2005-07-06
US20040228478A1 (en) 2004-11-18
FR2824210A1 (fr) 2002-10-31

Similar Documents

Publication Publication Date Title
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
EP1166494B1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
EP1358732B2 (fr) Procede de cryptage securise et composant utilisant un tel procede de cryptage
EP1362451A1 (fr) Procede de securisation d'un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant
FR2809893A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique
EP1421473B1 (fr) Procédé de calcul universel appliqué à des points d'une courbe elliptique
EP1166495A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
EP1291763A1 (fr) Procédé de brouillage d'un calcul à quantité secrète
EP1224765B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
EP1994465A1 (fr) Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique
EP1639451A2 (fr) Procédé de contre-mesure par masquage de l'accumulateur
WO2006067057A1 (fr) Procede d'exponentiation securisee et compacte pour la cryptographie
EP1254408B1 (fr) Procede de calcul d'exponentation modulaire dans un composant electronique mettant en oeuvre un algorithme de chiffrement a cle publique
EP1639450A1 (fr) Procede de contre-mesure dans un composant electronique
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
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
WO2004017193A2 (fr) Procede de calcul universel applique a des points d'une courbe elliptique
WO2001097009A1 (fr) Procede de calcul cryptographique comportant une routine d'exponentiation modulaire
WO2002093411A1 (fr) Dispositif destine a realiser des calculs d"exponentiation appliques a des points d"une courbe elliptique
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
WO2002099624A1 (fr) Procede de securisation d'un calcul d'exponentiation dans un dispositif electronique
FR2818473A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
FR2797126A1 (fr) Procede d'amelioration de performance de l'operation de multiplication sur corps fini de caracteristique 2
FR3013476A1 (fr) Securisation de procede de cryptographie sur courbes elliptiques
WO2002082257A1 (fr) Dispositif destine a realiser des calculs d'exponentiation securisee et utilisation d'un tel dispositif

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 BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE 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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002727698

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002727698

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10475174

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 2002727698

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP