WO2002093411A1 - 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
WO2002093411A1
WO2002093411A1 PCT/FR2002/001582 FR0201582W WO02093411A1 WO 2002093411 A1 WO2002093411 A1 WO 2002093411A1 FR 0201582 W FR0201582 W FR 0201582W WO 02093411 A1 WO02093411 A1 WO 02093411A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
coordinates
points
curve
permutation
Prior art date
Application number
PCT/FR2002/001582
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
Publication of WO2002093411A1 publication Critical patent/WO2002093411A1/fr

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

Definitions

  • the present invention relates to a device intended for carrying out exponentiation calculations applied to points of an elliptical curve. Such devices are used in particular to implement cryptographic algorithms of the public key type.
  • Public key algorithms on an elliptical curve allow cryptographic applications such as encryption, signature verification, authentication, etc.
  • the set of points (x, y) C IKxlK verifying the general Weierstrass equation: y 2 + alxy + a3y x 3 + a2x 2 + a4x + a.6, with ai £ IK and from point to infinity O forms an elliptical curve. Any elliptical curve on a body can be expressed in this form.
  • the set of points (x, y) and the point at infinity form an abelian group, in which the point at infinity is the neutral element and in which the group operation is the addition of points, noted + and given by the well-known rule of the secant and the tangent.
  • 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 used to encrypt 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. 1666 of Lecture Notes in Computer Science, pp. 388-397. Springer-Verlag f 1999). Among the physical quantities, which can be exploited for these purposes, one can cite the current consumption, the electromagnetic field ...
  • the points are represented in projective coordinates by 4 coordinates and the operation of doubling or adding points on the elliptical curve requires 17 multiplications (including a multiplication by a constant) in the body on which the curve is defined.
  • An object of the invention is an exponentiation calculation device intrinsically protected against attacks aimed at discovering a data item being processed in an exponentiation algorithm, such as in particular simple hidden channel attacks.
  • Another object of the invention is a device for calculating exponentiation of improved efficiency, in terms of calculation time.
  • this Weierstrass curve includes a point of order 3.
  • a finite field of characteristic different from 3 when there exists a point of order 3 on an elliptical curve Eönof arbitrary parametrization , we know how to define an isomorphic Hesse elliptic curve.
  • a calculation device can be defined for the basic operations of these algorithms, namely, the additions, subtractions or doubling of points, on a Hesse E H curve, and that this device is intrinsically protected against the aforementioned attacks and effective in terms of execution time.
  • the basic idea of the invention is to use in an exponentiation device applied to points of an elliptical curve, calculation means implementing the formula for adding points of a Hesse curve , and permutation means controlled by the type of operation to be performed, addition, subtraction -or doubling, to apply the coordinates thus formed into inputs of the calculation means.
  • the invention is of general application. Either we keep the parametrizations usually used in cryptographic systems, such as the Weierstrass parametrization, and 'we provide a first step of calculating the image points on the isomorphic curve of Hesse, to use the calculating device according to the invention, and a second step of calculating the pre-image point in the Weierstrass curve of the point obtained at the output of the calculating device. There is thus a transposition of the calculations of addition, subtraction and doubling on the Hesse curve and this each time that the exponentiation algorithm has to execute such an operation, on points of the elliptical curve of the application.
  • the invention therefore relates to a device intended to perform exponentiation calculations applied to points of an elliptical curve defined on an IK body of characteristic different from 3 and comprising a point of order 3.
  • a calculating device for performing an operation of adding, subtracting or doubling points of an elliptical curve defined by a Hesse parametrization on a body of characteristic different from 3, said calculating device comprising means implicit or explicit permutation of the coordinates of the points applied to the inputs of said device according to the operation at perform, and means for calculating the addition of the two points represented by the coordinates provided by said permutation means.
  • FIG. 1 is a general block diagram of the means for calculating addition, subtraction and doubling of an exponentiation calculation device according to the invention
  • FIG. 2 is a table representing the permutations applied in the exponentiation calculation device as a function of the operation to be carried out: addition, subtraction or doubling.
  • An exponentiation calculation device generally comprises a central unit (processor for example) and memory means comprising the program memory, the working memory and rewritable non-volatile memory elements.
  • Program memory contains instruction codes and data
  • the calculation device is such that it makes it possible to use a single calculation formula, corresponding to an addition of points, to perform additions, subtractions or doubling of points as well. It will be recalled that these are the basic operations used in the various prior art exponentiation algorithms.
  • a calculation device 1 has been represented in the form of a block diagram.
  • This device comprises an OP control input, and two inputs PI and P2, on which it receives the projective coordinates of the points on which the OP command must be applied.
  • the device 1 comprises permutation means 10 receiving the projective coordinates (U ⁇ : V ⁇ : W ⁇ ) and (U 2 : V 2 : W 2 ) of the two points PI and P2 applied at the input and providing at the output for each point, coordinates depending on the OP command received.
  • the permutation means supply at output the coordinates received at input.
  • the device 1. receives as input the coordinates of this point.
  • the coordinates of the point Pi undergo a first permutation of the type (W ⁇ : U ⁇ : V ⁇ ), representing a point P'1, and a second permutation of the type (W ⁇ : V: U ⁇ ) representing a point P "l.
  • the permutation means 10 provide two exit points R1 and R2.
  • the table shown in FIG. 2 summarizes the function of the permutation means 10, giving the coordinates of the exit points Ri and R2 as a function of the operation OP to be applied to the point (s) applied at the input.
  • the permutation means can be implemented implicitly or explicitly.
  • the permutations are carried out directly by initializing the temporary registers which contain the coordinates of the exit points Ri and R2, according to the command OP, for example by means of an indexing of the temporary registers on the value of this OP command.
  • the computing device 1 also comprises means 11 for implementing the algorithm for adding two points of an elliptical curve according to the Hesse parameterization in projective coordinates. These means 11 apply this addition algorithm at points RI and R2 provided by the permutation means 10.
  • the calculation means 11 repeat the same instructions whatever the real OP operation (addition, subtraction or doubling) called by the exponentiation algorithm, this real operation being a function of the multiplier d, ie of the confidential data that we seek to protect. In other words, only the permutations differ, depending on the multiplier d.
  • the exponentiation calculation device according to the invention is intrinsically protected from attacks aimed at discovering the secret key d.
  • these means of implementation use six temporary registers T1 to T7 to perform the calculations defined in the algorithm. These six registers are typically taken into working memory (RAM memory for example).
  • the algorithm implemented by the means 11 can for example carry out the following operations: Tl ⁇ -U ; T2 ⁇ -V ⁇ ; T3 ⁇ S-W ⁇ ; T4 ⁇ -U 2 ; T5 ⁇ -V 2 ; T6 ⁇ -W 2
  • this addition algorithm is used to perform both an addition as a subtraction or a doubling of points, by performing simple permutations on the coordinates applied as input.
  • the efficiency of processing time and of working memory is improved by more than 33%.
  • the calculation device according to the invention is used in a public key cryptographic system on an elliptical curve defined by a Weierstrass equation, or more generally, any other parameterization different from that of Hesse, it is expected that the calculation further comprises means for transposing the coordinates of the point or points to which the addition, doubling or subtraction operation is applied, to calculate the • coordinates of their image points on the isomorphic Hesse curve, and means for reverse transposition, to calculate the coordinates of the preimage point on the curve of the cryptographic system of the result point.
  • the only condition necessary to use a computing device according to the invention in such a cryptographic system is that the elliptical curve of this system includes a point of order 3.

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

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éfinir une courbe elliptique applicable en cryptographie . Une paramétrisation couramment utilisée est la paramétrisation dite de Weierstrass.
Pour mémoire, si IK est un corps, l'ensemble des points (x,y) C IKxlK vérifiant l'équation générale de Weierstrass : y2 + alxy + a3y = x3 + a2x2 + a4x + a.6 , 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 coordonnées projectives de la forme générale (X:Y:Z). Ces coordonnées sont notamment intéressantes dans les calculs 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 toujours ' sous la forme pn, où 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/ικ : y2= x3 + ax +b . Selon les coordonnées 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 1 ' omme de métier . Dans l'exemple d'une courbe elliptique E donnée par une paramétrisation de Weierstrass sur un corps de caractéristique différente de 2 et 3 :
E/ικ : 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=(xι,yι) et Q= (x2,y2) de cette courbe, avec Q≠-P, donne un point R*=(x3,y3)=P+Q tel que : x32-xι-x2 et y3=λ(xι-x3) -ylr avec λ= (y2-yι) / (x2-Xι) , si P≠Q (formule 1) et λ=(3xι2+a) /2yx_ 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 utilisées 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è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.
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 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 . 1666 of Lecture Notes in Computer Science, pp. 388-397. Springer-Verlagf 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.
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écuriser 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 calcul du lambda dans les formules 1 et 2 supra. Par ailleurs, la paramétrisation de courbes elliptiques comme intersection de deux quadriques, dite paramétrisation de Jacobi 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 coordonnées et l'opération de doublement ou d'addition de points sur la courbe elliptique nécessite 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 calcul 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 calcul d'exponentiation d'efficacité améliorée, en termes de temps de calcul.
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) ε IKxlK vérifiant l'équation générale de Hesse : EH/IK: x3+y3+l=3Dxy, avec D £ IK et D3≠l, 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=O.
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+l=3Duv définit une courbe elliptique isomorphe EH de la courbe elliptique de Weierstrass Ew d'équation : y2 = x3 -27D (D3+8 ) x + 54 (D6-20D3 - 8 ) , avec les transformations suivantes :
(u, v) = (η (x + 9D2 ) , -1 + η (3D3 - Dx - 12 ) et
(x, y) = ( -9D2 + ξu, 3ξ (v - 1 ) )
où η = [ 6 (D3-1 ) (y+9D3-3Dx-36) ] / [x+9D2) 3+ ( 3D3-Dx-12 ) 3] et ξ = [12(D3-l)]/[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 E„ de paramétrisation quelconque, on sait définir une courbe elliptique de Hesse isomorphe. On rappelle que si deux courbes elliptiques Ew 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'algorithme d'exponentiation pour calculer 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 1 ' 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 vulnérabilité aux attaques dites à canaux cachés. Quand ces algorithmes sont sécurisés, un problème lié à leur mise en oeuvre devient leur temps d' exécution.
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 coordonné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=(Uχ:Vχ:Wχ) et P2= (U2:V2 :W3) deux points d'une courbe de Hesse EH en coordonnées projectives.
La formule d'addition entre les deux points PI et P2 est la suivante, en notant P3=P1+P2≈ (U3:V3:W3) : P3= (V1 2U2W2-V2 2U1W1 : U1 2V2W2-U2 2V1W1 : W1 2U2V2-W2 2U1V1)
La formule de doublement définissant le point P3=2P1, est la suivante :
Figure imgf000010_0001
Par ailleurs, les coordonnées projectives du point -PI sont les suivantes : -Pl= (Vχ:Uχ.Wχ) . 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 parametrisations. 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 : (Uχ:Vχ_.Wχ) - (U2:V2_W2) = (Ux: v"χ :Wχ) + (V2 :U2: W2)
Ainsi, pour effectuer le calcul d'une soustraction entre deux points Pi 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 PI et du point P'2 ainsi défini selon la formule d'addition. De même, pour effectuer le calcul du doublement, on montre que si l'on applique une première permutation des coordonnées projectives. au point PI, de manière à obtenir le point P' 1= (W :Uχ:Vχ) , et une deuxième permutation de manière à obtenir le point P"l= (Vχ:Wχ:Uχ) , on obtient le résultat du doublement du point PI en utilisant la formule d'addition appliquée aux points P'1 et P"l.
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 entrées des moyens de calcul.
Les calculs effectués sont ainsi toujours les mêmes, et il n'est pas possible de distinguer dans le déroulement de l'algorithme 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 parametrisations habituellement utilisées dans les systèmes cryptographiques, comme la paramétrisation de Weierstrass, et' l'on prévoit une première étape de calcul des points images sur la courbe isomorphe de Hesse, pour utiliser le dispositif de calcul selon l'invention, et une seconde étape de calcul du point pré-image dans la courbe de Weierstrass du point obtenu en sortie du dispositif de calcul. 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 coordonnées des points appliquées en entrées dudit dispositif en fonction de l'opération à effectuer, et des moyens de calcul 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éférence aux dessins annexés, dans lesquels : la figure 1 est un schéma bloc général des moyens de calcul 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 permutations appliquées dans le dispositif de calcul d'exponentiation en fonction de l'opération à effectuer : addition, soustraction ou doublement.
Un dispositif de calcul 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 données
(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 coordonnées des points, et les éléments non volatiles contiennent des données 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 calcul 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 PI 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 PI 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 10 recevant les coordonnées projectives (Uχ:Vχ:Wχ) et (U2:V2:W2) des deux points PI et P2 appliqués en entrée et fournissant en sortie pour chaque point, des coordonnées fonction de la commande OP reçue.
Si la commande OP correspond à une commande d'addition des deux points PI et P2, les moyens de permutation fournissent en sortie les coordonnées reçues en entrée.
Si la commande OP correspond à une commande de soustraction du point P2 au point PI, les coordonnées correspondant au point Pi 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 PI, le dispositif 1. reçoit en entrée, les coordonnées de ce point. Les coordonnées du point Pi subissent une première permutation du type (Wχ:Uχ:Vχ), représentant un point P'1, et une deuxième permutation du type (Wχ:V:Uι) représentant un point P"l.
En pratique, les moyens de permutation 10 fournissent deux points de sortie RI et R2. Le tableau représenté sur la figure 2 résume la fonction des moyens 10 de permutation, en donnant les coordonnées des points de sortie Ri et R2 en fonction de l'opération OP à appliquer au (x) point (s) appliqués en entrée . Les moyens de permutation peuvent être implémentées de façon implicite ou explicite.
Dans le cas d'une implémentation implicite, les permutations sont réalisées directement en initialisant les registres temporaires qui contiennent les coordonnées des points de sortie Ri 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 à implementer 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 coordonnées projectives. Ces moyens 11 appliquent cet algorithme d'addition aux points RI 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 donnée confidentielle que l'on cherche à protéger. En d'autres termes, seules les permutations diffèrent, 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 Tl à T7 pour effectuer les calculs définis dans l'algorithme. Ces six registres sont typiquement pris en mémoire de travail (mémoire RAM par exemple) .
Si on note Rl= (Uχ:Vχ:Wχ) 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<-U ; T2<-Vχ ; T3<S-Wχ ; T4<-U2 ; T5<-V2; T6<-W2
T7<-T1 T 6 (=UχW2 )
TH-T1 T5 (=UχV2 )
T5<-T3 T5 (=WχV2 )
T3<-T3 T4 (= χU2)
T4-<-T2 T4 (=VχU2 )
T2-<-T2 T 6 (=VχW2 )
T 6-<-T2 T7 (=UχVχW2 2 ) T2-S-T2.T4 (=Vχ2U2W2)
T4-S-T3.T4 (=VχWχU2 2)
T3<-T3.T5 (=W2U2V2)
T5<-T1.T5 (=UχWχV2 2) T1-T1.T7 (*=Uχ2V2W2)
T1<-T1-T4 ; T2*<-T2-T5 ; T3-<-T3-T6 ϋ3<-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 coordonnées appliquées 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 calcul 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 coordonné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 coordonnées du point préimage sur la courbe du système cryptographique du point résultat. La seule condition nécessaire pour utiliser un dispositif de calcul 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 coordonnées projectives (U:V:W) . On peut dans tous les cas 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 ou doublement et son auto-protection contre les attaques de type simples concerne tout naturellement les cartes à puce et autres supports portables.

Claims

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 (1) pour effectuer des opérations (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ée dudit dispositif (1) en fonction de l'opération (OP) à effectuer, et des moyens (11) de calcul de l'addition des deux points (RI, R2) représentés par les coordonnées fournies en sortie par lesdits moyens de permutation (10) .
2. Système selon la revendication 1, caractérisé en ce que pour une opération (OP) du type addition de deux points distincts Pi et P2, représentés respectivement par les coordonnées projectives (Uχ:Vχ:Wχ) et (U2:V2:W2), lesdits moyens (10) de permutation sont aptes à fournir en sortie, comme coordonnées des deux points (Ri, R2) , directement lesdites coordonnées (Uχ:Vχ:W) et (U2:V2:W2).
3. Système selon la revendication 1, 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 projectives (U2:V2:W2), à un premier point (Pi) représenté par les coordonnées projectives (Uχ:Vχ:Wχ), lesdits moyens (10) de permutation sont aptes à fournir en sortie comme coordonnées des deux points (RI, R2) , les coordonnées (Uχ:Vχ:Wχ) dudit premier point (PI) et des coordonnées 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 (PI) représenté par des coordonnées (Uχ:V :Wχ), lesdits moyens (10) de permutation sont aptes à fournir en sortie comme coordonnées des deux points (Ri, R2) , des coordonnées obtenues par permutation des coordonnées (Uχ:Vχ:Wχ) dudit point (PI) de la forme (Wχ:Uχ:Vχ) , et des coordonnées obtenues par permutation des coordonnées (U :Vχ:W) dudit point (PI) à doubler de la forme (Vχ:Wχ:Uχ) .
5. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que le calcul 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 à des points (Pi, 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'addition, 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.
PCT/FR2002/001582 2001-05-11 2002-05-10 Dispositif destine a realiser des calculs d"exponentiation appliques a des points d"une courbe elliptique WO2002093411A1 (fr)

Applications Claiming Priority (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
FR01/06275 2001-05-11

Publications (1)

Publication Number Publication Date
WO2002093411A1 true WO2002093411A1 (fr) 2002-11-21

Family

ID=8863193

Family Applications (1)

Application Number Title Priority Date Filing Date
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

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
FR2824653A1 (fr) 2002-11-15

Similar Documents

Publication Publication Date Title
EP1358732B2 (fr) Procede de cryptage securise et composant utilisant un tel procede de cryptage
EP1362451A1 (fr) Procede de securisation d&#39;un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant
US20060093137A1 (en) Elliptic curve cryptosystem apparatus, elliptic curve cryptosystem method, elliptic curve cryptosystem program and computer readable recording medium storing the elliptic curve cryptosystem program
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
WO2000059156A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
JP2009532973A (ja) 安全な復号方法
FR2809893A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique
FR3095709A1 (fr) Procédé et système de masquage pour la cryptographie
EP1166495A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
EP1899803A2 (fr) Dispositif et procede de protection de dispositif de traitement de donnees contre une attaque ou analyse
EP1421473B1 (fr) Procédé de calcul universel appliqué à des points d&#39;une courbe elliptique
EP1994465A1 (fr) Procede de securisation d&#39;un calcul d&#39;une exponentiation ou d&#39;une multiplication par un scalaire dans un dispositif electronique
EP1839125A1 (fr) Procédé d&#39;exponentiation sécurisée et compacte pour la cryptographie
WO2003014916A1 (fr) Procede securise de realisation d&#39;une operation d&#39;exponentiation modulaire
WO2004111831A2 (fr) Procede de contre-mesure par masquage de l&#39;accumulateur
WO2002093411A1 (fr) Dispositif destine a realiser des calculs d&#34;exponentiation appliques a des points d&#34;une courbe elliptique
EP1530753A2 (fr) Procede de calcul universel applique a des points d&#39;une courbe elliptique
FR2856538A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
WO2002099624A1 (fr) Procede de securisation d&#39;un calcul d&#39;exponentiation dans un dispositif 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
WO2002050658A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en ouvre un algorithme de cryptographie a cle publique de type rsa
WO2002082257A1 (fr) Dispositif destine a realiser des calculs d&#39;exponentiation securisee et utilisation d&#39;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
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP