FR2824653A1 - Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique - Google Patents

Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique Download PDF

Info

Publication number
FR2824653A1
FR2824653A1 FR0106275A FR0106275A FR2824653A1 FR 2824653 A1 FR2824653 A1 FR 2824653A1 FR 0106275 A FR0106275 A FR 0106275A FR 0106275 A FR0106275 A FR 0106275A FR 2824653 A1 FR2824653 A1 FR 2824653A1
Authority
FR
France
Prior art keywords
point
coordinates
points
curve
permutation
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
FR0106275A
Other languages
English (en)
Other versions
FR2824653B1 (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 FR0106275A priority Critical patent/FR2824653B1/fr
Priority to PCT/FR2002/001582 priority patent/WO2002093411A1/fr
Publication of FR2824653A1 publication Critical patent/FR2824653A1/fr
Application granted granted Critical
Publication of FR2824653B1 publication Critical patent/FR2824653B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

Un dispositif destiné à réaliser des calculs d'exponentiation appliqués à des points d'une courbe elliptique définie sur un corps 1K de caractéristique différente de 3 et comprenant un point d'ordre 3, comprend un dispositif de calcul 1 pour effectuer une opération OP d'addition, de soustraction ou de doublement de points d'une courbe elliptique définie par une paramétrisation de Hesse sur un corps de caractéristique différente de 3, ledit dispositif de calcul comprenant des moyens implicites ou explicites de permutation 10 des coordonnées des points appliquées en entrées dudit dispositif en fonction de l'opération OP à effectuer, et des moyens 11 de calcul de l'addition des deux points R1, R2 représentés par les coordonnées fournies par lesdits moyens de permutation 10.

Description

2s quantité (Q) de fluides au travers des cakes.
DISPOSITIF DESTINE A REALISER DES CALCULS
D' EXPONENTIATION APPLIQUES A DES POINTS D' UNE COURBE
ELLIPTIQUE.
La présente invention concerne un dispositif de destiné à réaliser des calculs d'exponentiation appliqués à des points d'une courbe elliptique. Des tels dispositifs sont notamment utilisés pour mettre en oeuvre des algorithmes cryptographiques du type à clé publique. 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.
Il existe différentes paramétrisations pour déLinir une courbe elliptique applicable en cryptographie. Une paramétrisation couramment utilisse est la
paramétrisation dite de Weierstrass.
Pour mémoire, si IK est un corps, l'ensemble des points (x,y) IKxlK vérifiant l'équation générale de Weierstrass: y2 + alxy + a3y = X3 + a2x2 + a4x + a6, avec ai 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 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. Le point P représenté par la paire (x,y) peut aussi être représenté par des coordonnces projectives de la forme générale (X:Y:Z). Ces cocrdonnces sont notamment intéressantes dans les calauls d'exponentiation appliqués à des points de la courbe elliptique, puisqu'ils ne comportent alors pas
de calculs d' inversion.
Il existe des expressions simplifiées de la paramétrisation de Weierstrass, selon la caractéristique du groupe. On rappelle que dans un corps, le nombre d'éléments du corps s'exprime touj ours sous la forme pn, OU p est un nombre premier. p est la caractéristique du corps. Par exemple, dans le cas o la caractéristique du corps est différente de 2 et 3, l'équation de Weierstrass se simplifie de la façon
suivante: E/K: y2= X3 + ax +b.
Selon les coordonnces avec lesquelles on travaille, et la paramétrisation qui définit la courbe elliptique, différentes formules d' addition, de soustraction et de doublement de points sont applicables. Ces formules de sont données dans de nombreuses références connues de
l'homme de métier.
Dans l'exemple d'une courbe elliptique E donnce par une paramétri sat ion de Weierst ras s sur un corps de caractéristique différente de 2 et 3: E/K: y2= X3 + ax +b, ces formules sont les suivantes: L' inverse d'un point P=(xl,yl) de cette courbe est
le point -P=(xl,-yl).
L'opération d'addition des points P= (x1, yl) et Q=(X2,Y2) de cette courbe, avec Q=-P, donne un point R= (X3, y3) =P+Q tel que: x3=72-x1-x2 et y3=\ (Xl-X3) -Y1 avec \=(y2-y1)/(x2-xl), si P=Q (formule 1)
et \=(3x12+a)/2yl, si P=Q. (formule 2).
La formule 1 est la formule d' addition de deux points distincts: R= P + Q tandis que la formule 2
est la formule de doublement du point: R=2.P.
Les opérations d' addition ou soustraction et de doublement d'un point sont les opérations de base utilisces dans les 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 l'exposant 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è.e.
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.
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 de l'exposant d, celui d'addition-soustraction basé sur la représentation binaire signée de l'exposant d, l'algorithme avec fenêtre... Tous ces algorithmes utilisent les formules d' addition, de soustraction et de doublement définies
sur les courbes elliptiques.
Cependant, ces algorithmes se révèlent 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 basce 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. 1666 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
2824653
courant, le champ électromagnétique... Ces attaques sont basées sur le fait que la maniqulation d'un bit, c'est à dire son traitement par une instruction particulière, a une empreinte particulière sur la grandeur physique considérce selon sa valeur. Dans les systèmes cryptographiques basés sur des courbes elliptiques, ces attaques visent la
multiplication scalaire.
On a donc 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, on a cherché à séauriser
les algorithmes d'exponentiation.
Si on prend l'exemple d'un algorithme d'exponentiation sur courbes elliptiques avec la paramétrisation de Weierstrass, cet algorithme peut être susceptible aux attaques à canaux cachés de type simple, car les opérations de base de doublement et d' addition sont sensiblement différentes comme le montre le calaul du lambda dans les formules 1 et 2
sugra.
Par ailleurs, la paramétrisation de courbes elliptiques comme intersection de deux quadriques, dite paramétrisation de Jacabi et décrite dans l' article de D.V. Chudnovsky et G.V. Chudnovsky (Advances in Applied Mathematics, Vol.7(1986/7), pp.385-434), permet d'utiliser les mêmes formules pour l' addition ou le
doublement de points.
Dans cette paramétrisation de Jacobi, les points sont représentés en coordonnées projectives par 4 cocrdonnces et l'opération de doublement ou d' addition de points sur la courbe elliptique nocessite 17 multiplications (dont une multiplication par une constante) dans le corps sur lequel est défini la courbe. Un objet de l' invention est un dispositif de calaul d'exponentiation intrinsèquement protégé contre des attaques visant à découvrir une donnée en cours de traitement dans un algorithme d'exponentiation, comme
notamment les attaques à canaux cachés simples.
Un autre objet de l' invention est un dispositif de calaul d'exponentiation d'efficacité améliorée, en
termes de temps de calaul.
Dans l' invention, on s'est intéressé à une autre forme de paramétrisation de courbes elliptiques: la paramétrisation de Hesse. Si IK est un corps de caractéristique différente de 3, l'ensemble des points (x,y) IKXIK vérifiant l'équation générale de Hesse: EH/lK: x3+y3+1=3Dxy, avec D IK et D31, et du point à l'infini O forme une courbe elliptique. Cette courbe elliptique a comme particularité de comprendre un point d'ordre 3. On rappelle que le point P est un point
d'ordre 3 si 3.P= 0.
On peut montrer que dans un corps IK de caractéristique différente de 3, on peut définir un isomorphisme de groupe entre une courbe elliptique de Hesse et toute autre courbe elliptique comprenant un
point d'ordre 3.
Si on prend l'exemple d'une courbe elliptique EW répondant à une équation de Weierstrass dans un corps fini de caractéristique différente de 2 et 3, il existe un nombre D IK tel que l'équation de Hesse u3+v3+1=3Duv définit une courbe elliptique isomorphe EH de la courbe elliptique de Weierstrass Er d'équation: y2 = x3 -27D(D3+8)x + 54 (D6-20D3 - 8) avec les transformations suivantes: (u, v) = (p (x + 9D2), -1 + (3D3 - Dx - 12) et (Xy) = (-9D2 +:,U, 3d,(v - 1)) OU 1 = [6 (D3-1) (y+9D3-3Dx-36)] / [x+ 9D2) 3+ (3D3-Dx-12) 3]
et = [12 (D3-1)] / [Du+v+l].
On montre que cette courbe de Weierstrass comprend un
point d'ordre 3.
D' une manière générale, dans un corps fini de caractéristique différente de 3, lorsqu'il existe un point d'ordre 3 sur une courbe elliptique EW de paramétrisation quelconque, on sait définir une courbe
elliptique de Hesse isomorphe.
On rappel le que si deux courbes elliptiques E,; et EH sont isomorphes, alors il existe une fonction bijective telle qu'à un point P d'une courbe EW, elle fait correspondre un point P', image du point P. sur l'autre courbe EH, et telle que la fonction inverse -1 fait correspondre au point image P', le point pré-image P
sur la courbe elliptique Ew.
Un intérêt pratique des isomorphismes de groupe est de permettre de passer sur un groupe dans lequel l'algoritEme d'exponentiation pour calauler Q=dP est plus intéressant, c'est à dire moins coûteux en temps, en ressources mémoire ou autres, pour effectuer ce calcul dans ce groupe, puis d'appliquer l'isomorphisme inverse pour revenir sur la courbe (le groupe d'origine). Or on a vu qu'un problème lié à la mise en oeuvre des algorithmes d'exponentiation sur les courbes elliptiques est leur vuluérabilité aux attaques dites à canaux cachés. Quand ces algorithmes sont séaurisés, un problème lié à leur mise en oeuvre devient leur temps d'exéaution. Dans l' invention, on montre que l'on peut définir un dispositif de calcul pour les opérations de base de ces algorithmes, à savoir, les additions, soustractions ou doublements de points, sur une courbe de Hesse EH, et que ce dispositif est intrinsèquement protégé contre les attaques précitées et efficaces en termes de temps d'exécution. Si on s'intéresse plus particulièrement aux cocrdonnées projectives, dans un tel groupe, les formules d' addition, de soustraction et de doublement sur une courbe elliptique de Hesse EH sont les suivantes: Soit Pl=(Ul:Vl:Wl) et P2= (U2:V2:W3) deux points d'une
courbe de Hesse EH en cocrdonnées projectives.
La formule d' addition entre les deux points Pl et P2 est la suivante, en notant P3=Pl+P2= (U3:V3:W3):
P3= (V12U2W2-V22U1W!: U12V2W2-U22V1W1: W12U2V2-W22U1V1)
La formule de doublement détinissant le point P3=2Pl, est la suivante: P3=(Vl(Ul3-Wl3): Ul(Wl3-Vl3): Wl(Vl3-Ul3)) Par ailleurs, les coordonnces projectives du point -Pl sont les suivantes: -Pl=(Vl:Ul:Wl). Il n'y a donc pas de soustraction à effectuer dans le corps pour calculer l' inverse d'un point sur la courbe de Hesse, contrairement à d'autres paramétrisations. Il y a juste
des permutations de coordonnées à effectuer.
Ainsi, on peut déduire la formule de soustraction de la formule d' addition vue précédemment, ce qui donne: (U1:Vl:Wl)-(U2:V2:W2)= (U1:V::Wl) +(v2:U2:w2) Ainsi, pour effectuer le calaul d'une soustraction entre deux points P1 et P2, il suffit d'appliquer une permutation des coordonnées projectives au point P2, de manière à obtenir le point P'2=(V2:U2:W2), et d'effectuer l' addition du point P1 et du point P'2
ainsi défini selon la formule d' addition.
De même, pour effectuer le calaul du doublement, on montre que si l'on applique une première permutation des coordonnées projectives au point P1, de manière à obtenir le point P'1=(W1:U::Vl), et une deuxième permutation de manière à obtenir le point P''1=(V1:Wl:Ul), on obtient le résultat du doublement du point P1 en utilisant la formule d'addition appliquée
aux points P'1 et P"1.
Ainsi, l'idée à la base de l' invention est d'utiliser dans un dispositif d'exponentiation appliqué à des points d'une courbe elliptique, des moyens de calcul implémentant la formule d' addition de points d'une courbe de Hesse, et des moyens de permutation commandés par le type d'opération à effectuer, addition, soustraction ou doublement, pour appliquer les coordonnées ainsi mises en forme en entrces des
moyens de calcul.
Les calouls effectués sont ainsi touj ours les mêmes, et il n'est pas possible de distinguer dans le déroulement de l'algoritEme quel type d'opération est
réalisé: addition, soustraction ou doublement.
L'empreinte est la même dans tous les cas.
En outre, on améliore considérablement la vitesse
de calcul de l'exponentiation.
L' invention est d' application générale. Soit on garde les paramétrisations habituellement utilisées dans les systèmes cryptographiques, comme la paramétrisation de Weierstrass, et l'on prévoit une première étape de calaul des points images sur la courbe isomorphe de Hesse, pour utiliser le dispositif de caloul selon l' invention, et une seconde étape de caleul du point pré-image dans la courbe de Weierstrass du point obtenu en sortie du dispositif de caloul. On a ainsi une transposition des calculs d' addition, soustraction et doublement sur la courbe de Hesse et ceci à chaque fois que l'algorithme d'exponentiation a à exécuter une telle opération sur des points de la
courbe elliptique de l' application.
On peut aussi prévoir que l'algorithme d'exponentiation s' applique directement à des points
d'une courbe de Hesse.
Telle que caractérisée, l' invention concerne donc un dispositif destiné à réaliser des calculs d'exponentiation appliqués à des points d'une courbe elliptique définie sur un corps IK de caractéristique différente de 3 et comprenant un point d'ordre 3. Selon l' invention, il comprend un dispositif de calcul pour effectuer une opération d'addition, de soustraction ou de doublement de points d'une courbe elliptique définie par une paramétrisation de Hesse sur un corps de caractéristique différente de 3, ledit dispositif de calcul comprenant des moyens implicites ou explicites de permutation des cocrdonnées des points appliquées en entrces dudit dispositif en fonction de l'opération à effectuer, et des moyens de calaul de l' addition des deux points représentés par les coordonnées fournies
par lesdits moyens de permutation.
D'autres caractéristiques et avantages de
l' invention sont présentés dans la description
suivante, faite en rétérence aux dessins annexés, dans lesquels: - la figure 1 est un schéma bloc général des moyens de calaul d' addition, de soustraction et de doublement d'un dispositif de calcul d'exponentiation selon l' invention et - la figure 2 est un tableau représentatif des permotations appliquces dans le dispositif de calaul d'exponentiation en fonction de l'opération à effectuer: addition, soustraction
ou doublement.
Un dispositif de calaul d'exponentiation comprend de manière générale une unité centrale (processeur par exemple) et des moyens mémoire comprenant la mémoire programme, la mémoire de travail et des éléments de mémoire non volatile ré-inscriptibles. La mémoire programme contient les codes instruction et les donnces (adresses, paramètres) selon lequel le programme de calcul est exécuté. La mémoire de travail fournit notamment les registres nécessaires pour effectuer les différents calculs, notamment pour contenir les cocrdonnées des points, et les éléments non volatiles contiennent des donnéss confidentielles, comme notamment le multiplieur d (clé secrète) du calcul
d'exponentiation appliqué au point P: Q=d.P.
Dans l'invention, le dispositif de calaul est tel qu'il permet d'utiliser une unique formule de calcul, correspondant à une addition de points, pour effectuer aussi bien des additions, des soustractions ou des doublements de points. On rappelle que ce sont les opérations de base utilisées dans les divers
algorithmes d'exponentiation de l'état de la technique.
Sur la figure 1, on a représenté sous forme de bloc-diagramme un dispositif 1 de calcul selon l' invention. Ce dispositif comprend une entrée de commande OP, et deux entrées P1 et P2, sur lesquelles il reçoit les coordonnées projectives des points sur lesquels la commande OP doit être appliquée. Cette commande OP et les coordonnées projectives des deux points P1 et P2 appliqués en entrées sont fournis par le dispositif d'exponentiation. Ce dernier reçoit en
retour le point résultant P3=(U3:V3:W3).
Le dispositif 1 comprend des moyens de permutation recevant les coordonnées projectives (U1:V:Wl) et (U2: V2: W2) des deux points P1 et P2 appliqués en entrée et fournissant en sortie pour chaque point, des
coordonnées fonction de la commande OP reque.
Si la commande OP correspond à une commande d' addition des deux points P1 et P2, les moyens de permutation fournissent en sortie les cocrdonnées
reques en entrée.
Si la commande OP correspond à une commande de soustraction du point P2 au point P1, les cocrdonnées correspondant au point P1 sont inchangées, tandis que celles correspondant au point P2 subissent une permutation du type (V2:U2:W2), représentant un point P'2. Si la commande OP correspond à une commande de doublement d'un point P1, le dispositif 1 reçoit en entrce, les cocrdonnéss de ce point. Les cocrdonnées du point P1 subissent une première permutation du type (W1:Ul:Vl), représentant un point P'1, et une deuxième permutation du type (W1:Vl:Ul) représentant un point P"1. En pratique, les moyens de permutation 10 fournissent deux points de sortie R1 et R2. Le tableau représenté sur la figure 2 résume la fonction des moyens 10 de permutation, en donnant les cocrdonnées des points de sortie R1 et R2 en fonction de l'opération OP à appliquer au(x) point(s) appliqués en entrce. Les moyens de permutation peuvent être implémentéss
de façon implicite ou explicite.
Dans le cas d'une implémentation implicite, les permotations sont réalisées directement en initialisant les registres temporaires qui contiennent les coordonnées des points de sortie R1 et R2, en fonction de la commande OP, par exemple au moyen d'une indexation des registres temporaires sur la valeur de
cette commande OP.
Dans le cas d'une implémentation explicite, ces permutations sont très simples à implémenter et peu coûteuses en temps de calcul. On veillera cependant que
cette dernière résiste aux attaques à canaux cachés.
Le dispositif 1 de calcul selon l' invention comprend aussi des moyens 11 de mise en _uvre de l'algorithme d' addition de deux points d'une courbe elliptique selon la paramétrisation de Hesse en coordonnces projectives. Ces moyens 11 appliquent cet algorithme d' addition aux points R1 et R2 fournis par
les moyens 10 de permutation.
Ainsi, les moyens de calcul 11 répètent les mêmes instructions quelle que soit l'opération OP réelle (addition, soustraction ou doublement) appelée par l'algorithme d'exponentiation, cette opération réelle étant fonction du multiplieur d, c' est à dire de la donnce confidentielle que l'on cherche à protéger. En d'autres termes, seules les permutations diffèrent, lO selon le multiplieur d. Ainsi, le dispositif de calcul d'exponentiation selon l' invention est-il intrinsèquement protégé des attaques visant à découvrir
la clé secrète d.
Dans un exemple pratique, ces moyens de mise en _uvre utilisent six registres temporaires T1 à T7 pour effectuer les calauls définis dans l'algorithme. Ces six registres sont typiquement pris en mémoire de
travail (mémoire RAM par exemple).
Si on note R1=(U1:Vl:Wl) et R2=(U2:V2:W2), les entrées de l'algorithme; Si on note P3=(U3:V3:W3), la sortie de l'algorithme d' addition; l'algorithme mis en oeuvre par les moyens 11 peut par exemple effectuer les opérations suivantes: Tl-U1; T2-V1; T3-W1; T4-U2; T5-V2; T6-W2
T7-T1.T6 (=U1W2)
Tl-Tl.T5 (=U1V2)
T5-T3.T5 (=W1V2)
T3:T3.T4 (=W1U2)
T4-T2.T4 (=V1U2)
T2-T2.T6 (=V1W2)
T6-T2.T7 (=UlV1W2)
T2-T2.T4 (=V1 U2W2)
T4-T3.T4 (=V1WlU2)
T3-T3.T5 (=W1 U2V2)
T5-T1.T5 (=UlW1V2) Tl-Tl.T7 (=U1 V2W2)
T1-T1-T4; T2-T2-T5; T3-T3-T6
U3-T2; V3-T1; W3-T3.
Dans cet exemple d'implémentation de l'algorithme d'addition selon une paramétrisation de courbe elliptique de Hesse, seulement 12 multiplications sont
nécessaires et 7 registres temporaires utilisés.
Selon l' invention, cet algorithme d' addition est utilisé pour effectuer aussi bien une addition qu'une soustraction ou un doublement de points, en effectuant de simples permutations sur les coordonnces appliquéss
en entrée.
Avec un dispositif de calcul selon l' invention basé sur une paramétrisation de Hesse, si on considère une implémentation à 7 registres temporaires, seulement 12 multiplications dans le corps de définition sont nécessaires. Ainsi, on améliore de plus de 33%, si on néglige la multiplication par la constante, et de plus de 41%, sinon, les performances par rapport à la paramétrisation dite de Jacobi. De plus, dans la paramétrisation de Hesse, les points en coordonnées projectives sont représentés par des triplets au lieu de quadruplets dans le cas de la paramétrisation de Jacobi. Ceci donne lieu à une optimisation d'un facteur
de plus de 33% des ressources de la mémoire de travail.
Enfin, dans la paramétrisation de Hesse, l' inverse d'un point ne nécessite pas de soustraction dans le corps de
définition de la courbe.
Ainsi, avec un dispositif de calaul selon l' invention, on améliore de plus de 33% l'efficacité de
temps de traitement et de la mémoire de travail.
Dans le cas o le dispositif de calcul selon l' invention est utilisé dans un système cryptographique à clé publique sur courbe elliptique définie par une équation de Weierstrass, ou plus généralement, toute autre paramétrisation différente de celle de Hesse, on prévoit que le dispositif de calcul comprend en outre des moyens de transposition des cocrdonnées du ou des points auxquels est appliquée l'opération d' addition, de doublement ou de soustraction, pour calculer les coordonnées de leurs points images sur la courbe de Hesse isomorphe, et des moyens de transposition
inverse, pour calculer les cocrdonnées du point pré-
image sur la courbe du système cryptographique du point résultat. La seule condition nocessaire pour utiliser un dispositif de calaul selon l' invention dans un tel système cryptographique, est que la courbe elliptique
de ce système comprenne un point d'ordre 3.
Les formules à appliquer pour ces transpositions ont déjà été données précédemment dans un exemple d' application à un système cryptographique basé sur une courbe elliptique de Weierstrass définie sur un corps de caractéristique différente de 2 et 3. L'homme de métier saura transposer cette application pour tout
autre type de courbe elliptique.
Par ailleurs, l' invention ne se limite pas à l'utilisation de coordonnces projectives (:V:W). On pent dans tous les Gas se ramener aux coordonnées
affines (u, v), avec u=U/W et v=V/W.
Une application particulièrement intéressante de l' invention qui vient d'être décrite avec ses temps de traitement plus performants, la simplification du calcul d' addition, soustraction on doublement et son auto-protection contre les attaques de type simples concerne tout naturellement les cartes à puce et autres
supports portables.

Claims (10)

REVENDICATIONS
1. Système cryptographique comprenant un dispositif destiné à effectuer des calculs d'exponentiation appliqués à des points d'une courbe elliptique définie sur un corps IK de caractéristique différente de 3 et comprenant un point d'ordre 3, caractérisé en ce qu'il comprend un dispositif de calcul (l) pour effectuer des opérations (OP) d' addition, de soustraction ou de doublement de points d'une courbe el liptique dé fini e par une paramét ri sat ion de He s se sur un corps de caractéristique différente de 3, ledit dispositif de calcul comprenant des moyens. implicites ou explicites de permutation (l0) des coordonnées des points appliquées en entrée dudit dispositif (l) en fonction de l'opération (OP) à effectuer, et des moyens (ll) de calcul de l' addition des deux points (Rl, R2) représentés par les coordonnées fournies en sortie par
lesdits moyens de permutation (l0).
2. Système selon la revendication 1, caractérisé en ce que pour une opération (OP) du type addition de deux points distincts Pl et P2, représentés respectivement par les coordonnées projectives (Ul:Vl:Wl) et (U2:V2:W2), lesdits moyens (l0) de permutation sont aptes à fournir en sortie, comme coordonnéesdes deux points (Rl, R2), directement lesdites coordonnées
(Ul:Vl:Wl) et (U2:V2:W2).
3. Système selon la revendication l, caractérisé en ce que pour une opération (OP) du type soustraction d'un deuxième point (P2) représenté par les coordonnées A "
2824653 -
projectives (U2:V2:W2), à un premier point (P1) représenté par les coordonnées projectives (U1:Vl:Wl), lesdits moyens (10) de permutation sont aptes à fournir en sortie comme coordonnces des deux points (R1, R2), les coordonnées (U1:Vl:Wl) dudit premier point (P1) et des coordonnces obtenues par permutation des coordonnées (U2:V2:W2) dudit deuxième point (P2) à soustraire de la forme (V2: U2:W2) À
4. Système selon la revendication 1, caractérisé en ce que pour une opération (OP)du type doublement d'un point (P1) représenté par des coordonnées (U1:Vl:Wl), lesdits moyens (10) de permutation sont aptes à fournir en sortie comme coordonnées des deux points (R1, R2), des coordonnces obtenues par permutation des coordonnées (U1:Vl:Wl) dudit point (P1) de la forme (W1:Ul:Vl), et des coordonnées obtenues par permutation des cocrdonnces (U1:Vl:Wl) dudit point (P1) à doubler de la forme (Vl:Wl:Ul)
5. Système selon l'une queleonque des
revendications précédentes, caractérisé en ce que le
calaul d'exponentiation et les calculs d'addition, soustraction ou doublement sont appliqués à des points de la même courbe elliptique, définie par une
paramétrisation de Hesse.
6. Système selon l'une quelconque des
revendications 1 à 4 précédentes, caractérisé en ce que
le calcul d'exponentiation est appliqué à un point (P) d'une première courbe elliptique (Ew) et les calculs d'addition, soustraction ou doublement sont appliqués à A u des points (P1, P2) d'une courbe elliptique de Hesse isomorphe (EH)
7. Système selon la revendication 6, caractérisé en ce qu'il comprend des moyens de calcul du point image sur ladite courbe elliptique isomorphe du point (P) auquel est appliqué l'exponentiation, et des moyens de calcul du point pré-image sur la première courbe elliptique, du point résultant du calcul d'additi-on, soustraction ou doublement sur ladite.courbe elliptique isomorphe.
8. Système selon la revendication 6 ou 7, caractérisé en ce que ladite première courbe elliptique
est définie par une paramétrisation de Weierstrass.
9. Composant électronique comprenant un dispositif d'exponentiation d'un système cryptographique
selon l'une quelconque des revendications précédentes,
pour mettre en oeuvre un algorithme cryptographique.
10. Carte à puce comprenant un composant
électronique selon la revendication 9.
FR0106275A 2001-05-11 2001-05-11 Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique Expired - Fee Related FR2824653B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0106275A FR2824653B1 (fr) 2001-05-11 2001-05-11 Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique
PCT/FR2002/001582 WO2002093411A1 (fr) 2001-05-11 2002-05-10 Dispositif destine a realiser des calculs d"exponentiation appliques a des points d"une courbe elliptique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0106275A FR2824653B1 (fr) 2001-05-11 2001-05-11 Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique

Publications (2)

Publication Number Publication Date
FR2824653A1 true FR2824653A1 (fr) 2002-11-15
FR2824653B1 FR2824653B1 (fr) 2003-08-08

Family

ID=8863193

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0106275A Expired - Fee Related FR2824653B1 (fr) 2001-05-11 2001-05-11 Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique

Country Status (2)

Country Link
FR (1) FR2824653B1 (fr)
WO (1) WO2002093411A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996004602A1 (fr) * 1994-07-29 1996-02-15 Certicom Corp. Systemes de chiffrement a courbe elliptique
WO1999030458A1 (fr) * 1997-12-05 1999-06-17 Secured Information Technology, Inc. Procedes de transformation pour l'optimisation de calculs de courbes elliptiques

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996004602A1 (fr) * 1994-07-29 1996-02-15 Certicom Corp. Systemes de chiffrement a courbe elliptique
WO1999030458A1 (fr) * 1997-12-05 1999-06-17 Secured Information Technology, Inc. Procedes de transformation pour l'optimisation de calculs de courbes elliptiques

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D.V. CHUDNOVSKY, G.V. CHUDNOVSKY: "SEQUENCES OF NUMBERS GENERATED BY ADDITION IN FORMAL GROUPS AND NEW PRIMALITY AND FACTORIZATION TESTS", ADVANCES IN APPLIED MATHEMATICS, vol. 7, 1986, pages 385 - 434, XP008000716 *
GAO L ET AL: "A compact fast variable key size elliptic curve cryptosystem coprocessor", SEVENTH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (CAT. NO.PR00375), SEVENTH ANNUAL IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, NAPA VALLEY, CA, USA, 21-23 APRIL 1999, 1999, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 304 - 305, XP010359156, ISBN: 0-7695-0375-6 *
KOCHER P ET AL: "Differential power analysis", ADVANCES IN CRYPTOLOGY - CRYPTO'99. 19TH ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE. PROCEEDINGS, ADVANCES IN CRYPTOLOGY - CRYPTO'99. 19TH ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE. PROCEEDINGS, SANTA BARBARA, CA, USA, 15-19 AUG. 1999, 1999, Berlin, Germany, Springer-Verlag, Germany, pages 388 - 397, XP001061337, ISBN: 3-540-66347-9 *

Also Published As

Publication number Publication date
FR2824653B1 (fr) 2003-08-08
WO2002093411A1 (fr) 2002-11-21

Similar Documents

Publication Publication Date Title
EP1358732B2 (fr) Procede de cryptage securise et composant utilisant un tel procede de cryptage
WO2000059156A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
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
FR2824210A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
JP2009532973A (ja) 安全な復号方法
FR3095709A1 (fr) Procédé et système de masquage pour la cryptographie
WO2001093014A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un alrogithme de cryptographie a cle publique sur 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
EP2000904A1 (fr) Procédé de multiplication modulaire de Montgomery masquée et dispositif associé
EP1421473B1 (fr) Procédé de calcul universel appliqué à des points d'une courbe elliptique
EP1832974A1 (fr) Protection EMA d'un calcul par un circuit électronique
WO2007104706A1 (fr) Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique
FR2966953A1 (fr) Procede de contremesure cryptographique par derivation d'une donnee secrete
WO2006067057A1 (fr) Procede d'exponentiation securisee et compacte pour la cryptographie
FR2799851A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
EP1419434A1 (fr) Procede securise de realisation d'une operation d'exponentiation modulaire
EP1254408B1 (fr) Procede de calcul d'exponentation modulaire dans un composant electronique mettant en oeuvre un algorithme de chiffrement a cle publique
FR2848753A1 (fr) Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches
EP1639451A2 (fr) Procédé de contre-mesure par masquage de l'accumulateur
EP3435585A1 (fr) Protection d'un calcul itératif contre des attaques horizontales
FR2824653A1 (fr) Dispositif destine a realiser des calculs d'exponentiation appliques a des points d'une courbe elliptique
EP1530753A2 (fr) Procede de calcul universel applique a des points d'une courbe elliptique
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
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

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100129