FR2854997A1 - 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 - 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 definie sur un corps de caracteristique deux Download PDF

Info

Publication number
FR2854997A1
FR2854997A1 FR0305912A FR0305912A FR2854997A1 FR 2854997 A1 FR2854997 A1 FR 2854997A1 FR 0305912 A FR0305912 A FR 0305912A FR 0305912 A FR0305912 A FR 0305912A FR 2854997 A1 FR2854997 A1 FR 2854997A1
Authority
FR
France
Prior art keywords
point
curve
isomorphic
coordinates
countermeasure method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0305912A
Other languages
English (en)
Other versions
FR2854997B1 (fr
Inventor
Marc Joye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
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 Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Priority to FR0305912A priority Critical patent/FR2854997B1/fr
Publication of FR2854997A1 publication Critical patent/FR2854997A1/fr
Application granted granted Critical
Publication of FR2854997B1 publication Critical patent/FR2854997B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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

Landscapes

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

Abstract

Un procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme un algorithme cryptographique du type à clé publique sur une courbe elliptique déterminée E donnée par une équation simplifiée de Weierstrass y2 + xy = x3 + ax2 + b sur un corps IK de caractéristique 2, 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é d, caractérisé en ce que ledit procédé comprend les étapes suivantes :- tirage de deux nombres ρ et σ aléatoires, éléments du corps IK, pour définir aléatoirement une courbe elliptique isomorphe E' donnée par un modèle cubique ou quartique étendu,- calcul des coordonnées d'un point P' sur ladite courbe elliptique isomorphe E', image du point P,- application d'un algorithme d'exponentiation au dit point image P' sur ladite courbe elliptique isomorphe E', 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 DEFINIE SUR UN CORPS DE CARACTERISTIQUE DEUX
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 définie sur un corps de caractéristique 2.
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 15 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) CIKxIK vérifiant l'équation générale de 20 Weirstrass: y2 + alxy + a3y = X3 + a2x2 + a4x + a6, avec ai C IK et du point à l'infini O 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 25 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 Weiertrass se simplifie en: 2 3 y2=x3+ax+b Et pour celles de la deuxième classe en se restreignant aux courbes non-supersingulières, cette 20 é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 25 é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 non-supersingulière définie sur un corps de 30 caractéristique 2.
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 5 fois. Cette opération est également appelée exponentiation sur courbe elliptique.
Les algorithmes cryptographiques à clé publique sur courbe elliptique sont ainsi basés sur la multiplication scalaire d'un point P sélectionné sur la 10 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 15 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 20 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 25 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 30 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, 5 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 10 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 15 add dans la littérature anglo-saxonne) basé sur la représentation binaire du multiplieur d, celui d'addition-soustraction basée sur la représentation binaire signée du multiplieur d, l'algorithme avec fenêtre... Tous ces algorithmes utilisent des formules 20 d'opérations de doublement et d'addition définies sur les courbes elliptiques.
Dans tous ces algorithmes, on a dû prévoir des procédés de contre-mesure permettant d'empêcher les différentes attaques de prospérer. En d'autres termes, 25 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 30 d. Pour sécuriser cet algorithme, on l'a transformé en 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 5 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 10 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 15 multiplieur d et/ou le point P aléatoire.
Des procédés de contre-mesure appliquant ce principe sont connus. De tels procédés de contre-mesure sont notamment décrits dans un article de JeanSébastien Coron (Cryptographic Hardware and Embedded 20 Systems, volume 1717 of Lecture Notes in Computer Science, pages 292-302, SpringerVerlag, 1999).
Notamment, dans cet article, un procédé de contremesure consiste à masquer le point P en utilisant des coordonnées projectives de ce point, définies de façon 25 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 30 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 non-nul t dans 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.
D'autres procédés de contre-mesure sont décrits dans un article de Marc Joye et Christophe Tymen (Cryptographic Hardware and Embedded Systems, CHES 2001, vol. 2162 of Lecture Notes in Computer Science, pp. 377-390, Springer-Verlag, 2001).
Notamment, dans cet article, un procédé de contremesure consiste à masquer le point P en utilisant des isomorphismes aléatoires d'une courbe elliptique donnée sous la forme d'une équation de Weirstrass simplifiée.
Etant donné une courbe elliptique E définie sur un 25 corps de caractéristique différente de 2 et 3, donnée par son équation de Weirstrass simplifiée, y2=x3+ax+b, on tire un nombre aléatoire u non nul qui défini une courbe E' isomorphe à la courbe E, donnée par sous la forme d'une équation de Weirstrass simplifiée: 30 y2=x3+au4 x+bu6 Si on note pu l'isomorphisme entre E et E', un point P de la courbe elliptique E est transformé en un point P'= pu (P) sur la courbe E' ; on calcule ensuite Q'=d.P' sur la courbe E' ; enfin, on obtient Q=d.P en calculant (Pu- (Q') Cependant, les inconvénients de ce second article 5 tels qu'indiqués section 4-1, sont principalement que cette technique n'est pas applicable aux courbes elliptiques défini sur un corps fini de caractéristique 2 car la coordonnée x du point P est invariante par l'isomorphisme p, 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 au premier 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.
Par rapport au second article, le procédé de 20 l'invention est destiné au corps de caractéristique 2.
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 obtenue par application d'un isomorphisme de groupe.
En d'autres termes, le procédé de contre-mesure consiste alors à tirer deux nombres aléatoires p et 6, pour définir une courbe elliptique isomorphe aléatoire E', à calculer les coordonnées du point image sur cette courbe E' du point P, à appliquer l'algorithme 30 d'exponentiation à ce point image Pl sur la courbe elliptique isomorphe E', 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é le système cryptographique.
Comme la structure algébrique des courbes elliptiques est très riche, il existe de nombreuses 5 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 contremesure dans un composant électronique mettant en oeuvre 10 un algorithme cryptographique du type à clé publique sur une courbe elliptique déterminée E sur un corps IKde caractéristique 2, 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 15 nombre prédéterminé d, caractérisé en ce qu'il comprend les étapes suivantes: - tirage de deux nombres p et a aléatoires, éléments du corps IK, pour définir aléatoirement une courbe elliptique isomorphe E', calcul des coordonnées d'un point P' sur ladite courbe elliptique isomorphe E', image du point P, - application d'un algorithme d'exponentiation au dit point image P' sur ladite courbe elliptique isomorphe E', 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'.
Contrairement au deuxième article précité, la courbe isomorphe n'est pas donnée par une équation 30 de Weierstrass simplifiée mais par des modèles étendus, le premier étant un modèle cubique étendu et le second un modèle quartique étendu.
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 2.
On a vu qu'une courbe elliptique nonsupersingulière sur un tel corps peut se définir comme suit: E: y2 + xy = X3 + ax2 + b.
On montre que la courbe elliptique E' donnée par le modèle cubique étendu: E' : y2 + xy + py = X3 + Ax2 + Bx +C est isomorphe à la courbe elliptique E si et seulement si des nombres p et a appartenant au corps IK tels que 15 A=a+p, B=p2+G et C=b+p2 a+p3+G2. Si on note P l'isomorphisme de groupe tel que E'=q(E), on montre qu'à tout point P=(x, y) de la courbe elliptique E correspond un point image p(P)=P'=(x',y') sur la courbe elliptique E' tel que x'=x+p et y'=y+a. Inversement par 20 application de l'isomorphisme inverse p-1 tel p-z(E')=E, à tout point P'=(x',y') de la courbe elliptique E' correspond un point pré-image 9-'(P')=P=(x,y) sur la courbe elliptique E tel que x=x'+p et y=y'+6.
Par ailleurs, on montre que la courbe elliptique E' 25 donnée par le modèle quartique étendu: E' : y2 + xy + py = x4 + (A+p)X2 + Bx +C est isomorphe à la courbe elliptique donnée par le modèle cubique étendu dans lequel on a remplacé (x,y) par (x,y+x2) . Par voie de conséquence, cette courbe 30 elliptique donnée par le modèle quartique étendu est également isomorphe à la courbe elliptique donnée par l'équation de Weierstrass simplifiée.
Dans l'invention, on fait application de 5 l'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 10 elliptique définie E. Le procédé de contre- mesure selon l'invention consiste donc à tirer aléatoirement deux nombres p et C dans le corps IK, pour définir aléatoirement une courbe elliptique isomorphe donnée par un modèle cubique ou quartique étendu. On calcule 15 les coordonnées du point image P' du point P sur cette courbe elliptique isomorphe E' 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'. On calcule alors les coordonnées du point 20 préimage Q du point Q' résultant sur la courbe elliptique E. En d'autres termes, si on nomme l'isomorphisme entre E et E', selon ce procédé, on calcule: Q=P-l(d(e(P))).
Par ce procédé, les nombres p et c étant aléatoires, 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 30 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'l:y'l:l).
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 deux valeurs aléatoires p et 6 à chaque fois que l'algorithme cryptographique est 10 sollicité.
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 de 15 caractéristique 2, 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 qu'une courbe elliptique non-supersingulière E définie sur corps IK de caractéristique 2, donnée sous la forme d'une équation de Weierstrass simplifiée est isomorphe à la courbe elliptique E' donnée par le modèle cubique étendu: 25 E' : y2 + xy + py = x3 + Ax2 + Bx +C avec A=a+p, B=p2+a et C=b+p2a+p3+G2 pour des nombres p et a appartenant au corps IK.
Dans cette courbe E', l'opération d'addition d'un point P=(x1,yl) et Q=(x2,y2) (avec Q#-P) donne un point 30 R=(x3,y3)=P+Q tel que: x3=^2+X+A+ x1+x2 et y3=X (x1+x3) +x3+Yl+P avec k=(y2+yl)/(x2+xl), si PÉQ (formule 1) et =xl+p+(yl+p2+B) / (Xl+p), si P=Q (formule 2).
La formule 1 est la formule d'addition de deux 5 points distincts: R=P+Q 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 C de l'équation de la courbe elliptique E'.
La formule 2 nécessite le calcul ou le précalcul de 10 p2 On peut s'affranchir de ce (pré-)calcul en remplaçant le modèle cubique étendu par le modèle quartique correspondant. Ceci s'obtient en remplaçant (x,y) par (x,y+x2) dans le modèle cubique pour E' ; ainsi faisant, on obtient une courbe elliptique E(Q) 15 isomorphe à E' et donc à E: E(Q) y2 + xy + py = X4 + (A+p)x2 + Bx +C.
Dans cette courbe E(Q), l'opération d'addition d'un point P=(xl,yl) et Q=(x2,y2) (avec QÉ-P) donne un point R= (x3,y3) =P+Q tel que: x3=A2+k+A+ xl+x2 et y3=k (xl+x3) +x3+yl+p avec A= x2+xl +(y2+yl)/(x2+Xl) , si PÉQ et 1=(yl+B)/(xl+p), si P=Q.
Ainsi, un procédé de contre-mesure appliqué à une 25 courbe elliptique définie par l'équation de Weierstrass simplifiée du type y2+xy = x3 + ax2 +b, définie sur un corps IK de caractéristique 2, 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 deux nombres p et C appartenant au corps IK; De sur les 20 par b). Evaluer les paramètres A=a+ p et B=p2+c de l'équation du modèle cubique étendu y2 + xy + py = x3 + Ax2 + Bx +C définissant une courbe elliptique isomorphe E' à la courbe elliptique E; c). Former le point P'=(x1+p,yl+c) ; d). Calculer le point Q'=d.P' sur la courbe elliptique isomorphe.
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=(x'3+p,y'3+o) ; comme point préimage.
façon préferentielle, les calculs peuvent se faire un modèle étendu de type quartique. Dans ce cas, étapes b), c) et f) sont respectivement remplacées les étapes b'),c') et f') : b'). Evaluer les paramètres A=a+p et B=p2+c de l'équation du modèle quartique étendu y2 + xy + py = x4 + (A+p)x2 + Bx +C définissant une courbe elliptique isomorphe E' à la courbe elliptique E; c'). Former le point P'=(x1+p,yl+C+ x12+p2); f'). retourner Q=(x'3+p,y'3++ (x3' ) 2+p2); comme point pré-image.
De façon remarquable, le calcul du point Q'=dP'à 30 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' est particulièrement intéressante si 5 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.
Le procédé de contre-mesure selon l'invention peut être généralisé. Notamment, les courbes elliptiques de 10 départ peuvent être données par des paramétrisations autres que celles de Weierstrass.
De façon générale l'étape b). (respectivement b')) du procédé détaillé cidessus consiste ainsi à calculer des paramètres de l'équation elliptique isomorphe, à 15 partir des nombres aléatoires p et a 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 20 l'exemple détaillé ci-dessus, seuls les paramètres A et B sont à 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 25 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. 30

Claims (11)

REVENDICATIONS
1. Procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme cryptographique du type à clé publique sur une courbe 5 elliptique déterminée E donnée par une équation simplifiée de Weierstrass y2 + Xy = X3 + ax2 + b sur un corps IK de caractéristique 2, 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 10 nombre prédéterminé, caractérisé en ce que ledit procédé comprend les étapes suivantes: - tirage de deux nombres p et c aléatoires, éléments du corps IK, pour définir aléatoirement une courbe elliptique isomorphe E' donnée par un modèle étendu, 15 soit cubique, soit quartique, - calcul des coordonnées d'un point P' sur ladite courbe elliptique isomorphe E', image du point P, - application d'un algorithme d'exponentiation au dit point image P' sur ladite courbe elliptique 20 isomorphe E', 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 le modèle étendu pour la courbe E' est donné par le modèle cubique suivant l'équation: E' : y2 + xy + py = x3 + Ax2 + Bx + C avec: A = a +p; B = p + ; C = b + p2a 3+ 2p3 + (2 et l'image P' du point P de coordonnées (x,y) est donnée par: P'=(x + p, y + v)
3. Procédé de contre-mesure selon la revendication 5 1, caractérisé en ce que le modèle étendu pour la courbe E' est donné par le modèle quartique suivant l'équation: E' : y2 + xy + py = X4 + (A+ p)x2 + Bx + C avec: A = a +p; B = p2 + ; C= b + p2a +p3 + G2 et l'image P' du point P de coordonnées (x,y) est donnée par: P'=(x + p., y + a + x2 + p2).
4. Procédé de contre-mesure selon la revendication 15 1 caractérisé en ce que ledit algorithme d'exponentiation est appliqué au point image P' en coordonnées affines.
5. Procédé de contre-mesure selon la revendication 20 1, caractérisé en ce que ledit algorithme d'exponentiation est appliqué au point image P' en coordonnées projectives.
6. Procédé de contre-mesure selon la revendication 25 5, caractérisé en ce que lesdites coordonnées projectives sont du type à coordonnée en Z égale à 1.
7. Procédé de contre-mesure selon la revendication 1 ou 2, la courbe elliptique définie E ayant pour 30 équation y2 + xy= x3 + ax2 +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 deux nombres p et C appartenant au corps IK; b). Evaluer les paramètres A=a+p et B=p2+c de l'équation du modèle cubique étendu y2 + xy + py = x3 + Ax2 + Bx +C définissant une courbe elliptique 10 isomorphe E' à la courbe elliptique E; c) . Former le point P'=(x1+p,yj+y); d). Calculer le point Q'=d.P' sur la courbe elliptique isomorphe E' e). Si le point résultant Q' est le point à 15 l'infini, le point Q est le point à l'infini, Sinon poser Q'=(x'3,y'3); f) . retourner Q=(x'3+p,y'3+G); comme point préimage.
8. Procédé de contre-mesure selon la revendication 1 ou 3, la courbe elliptique définie E ayant pour équation y2 + xy= X3 + ax2 +b, et l'algorithme d'exponentiation appliqué à un point P = (xl,yl) utilisant des opérations de doublement d'un point ou 25 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 deux nombres p et C appartenant au corps IK; b). Evaluer les paramètres A=a+p et B=p2+ de l'équation du modèle quartique étendu y2 + xy + py = X4 + (A+p)x2 + Bx +C définissant une courbe elliptique isomorphe E' à la courbe elliptique E; c). Former le point P'=(Xl+pyz+C+ x12+p2); d). Calculer le point Q'=d.P' sur la courbe elliptique isomorphe.
e). Si le point résultant Q' est le point à l'infini, le point Q est le point à l'infini, Sinon poser Q'=(x 13,y 13); f). retourner Q=(x'3+p,y' 3+ + (x3')2+p2); comme point 10 pré-image.
9. Procédé de contre-mesure selon l'une quelconque des revendications 7 ou 8, caractérisé en ce que ledit algorithme d'exponentiation est appliqué à l'étape d) à 15 des coordonnées projectives (X:Y:Z) du point P' formées à l'étape c).
10. Composant électronique dans lequel un procédé de contre-mesure selon l'une quelconque des revendications 20 précédentes est mis en oeuvre.
11. Carte à puce comprenant un composant électronique selon la revendication 10.
FR0305912A 2003-05-16 2003-05-16 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 Expired - Fee Related FR2854997B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0305912A FR2854997B1 (fr) 2003-05-16 2003-05-16 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0305912A FR2854997B1 (fr) 2003-05-16 2003-05-16 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

Publications (2)

Publication Number Publication Date
FR2854997A1 true FR2854997A1 (fr) 2004-11-19
FR2854997B1 FR2854997B1 (fr) 2005-07-22

Family

ID=33306418

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0305912A Expired - Fee Related FR2854997B1 (fr) 2003-05-16 2003-05-16 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

Country Status (1)

Country Link
FR (1) FR2854997B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940944A2 (fr) * 1998-03-05 1999-09-08 Matsushita Electric Industrial Co., Ltd. Dispositif de transformation d'une courbe elliptique et dispositif d'application de cette transformation
FR2821945A1 (fr) * 2001-03-12 2002-09-13 Gemplus Card Int Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique
FR2824210A1 (fr) * 2001-04-27 2002-10-31 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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940944A2 (fr) * 1998-03-05 1999-09-08 Matsushita Electric Industrial Co., Ltd. Dispositif de transformation d'une courbe elliptique et dispositif d'application de cette transformation
FR2821945A1 (fr) * 2001-03-12 2002-09-13 Gemplus Card Int Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique
FR2824210A1 (fr) * 2001-04-27 2002-10-31 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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CORON J -S: "Resistance against differential power analysis for elliptic curve cryptosystems", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. FIRST INTERNATIONAL WORKSHOP, CHES'99. PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOLUME 1717), CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. FIRST INTERNATIONAL WORKSHOP, CHES'99, WORCESTER, MA, USA, 1, 1999, Berlin, Germany, Springer-Verlag, Germany, pages 292 - 302, XP000952243, ISBN: 3-540-66646-X *
JOYE M ET AL: "PROTECTIONS AGAINST DIFFERENTIAL ANALYSIS FOR ELLIPTIC CURVE CRYPTOGRAPHY - AN ALGEBRAIC APPROACH -", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. 3RD INTERNATIONAL WORKSHOP, CHES 2001, PARIS, FRANCE, MAY 14 - 16, 2001 PROCEEDINGS, LECTURE NOTES IN COMPUTER SCIENCE, BERLIN: SPRINGER, DE, vol. 2162, 14 May 2001 (2001-05-14), pages 377 - 390, XP008002642, ISBN: 3-540-42521-7 *

Also Published As

Publication number Publication date
FR2854997B1 (fr) 2005-07-22

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
WO2001093014A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un alrogithme 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
FR3095709A1 (fr) Procédé et système de masquage pour la cryptographie
FR2926652A1 (fr) Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature
EP1421473B1 (fr) Procédé de calcul universel appliqué à des points d'une courbe elliptique
EP1224765B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
WO2006067057A1 (fr) Procede d'exponentiation securisee et compacte pour la cryptographie
EP1639451A2 (fr) Procédé de contre-mesure par masquage de l'accumulateur
EP1254408B1 (fr) Procede de calcul d'exponentation modulaire dans un composant electronique mettant en oeuvre un algorithme de chiffrement a cle publique
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
EP1639450A1 (fr) Procede de contre-mesure dans un composant electronique
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
EP1530753A2 (fr) Procede de calcul universel applique a des points d'une courbe elliptique
FR2824653A1 (fr) Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique
FR2810821A1 (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
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
FR2797126A1 (fr) Procede d'amelioration de performance de l'operation de multiplication sur corps fini de caracteristique 2
FR2818473A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
FR2821944A1 (fr) Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100129