EP1530753A2 - Method for universal calculation applied to points of an elliptic curve defined by a quartic, related cryptographic method and electronic component - Google Patents

Method for universal calculation applied to points of an elliptic curve defined by a quartic, related cryptographic method and electronic component

Info

Publication number
EP1530753A2
EP1530753A2 EP03753669A EP03753669A EP1530753A2 EP 1530753 A2 EP1530753 A2 EP 1530753A2 EP 03753669 A EP03753669 A EP 03753669A EP 03753669 A EP03753669 A EP 03753669A EP 1530753 A2 EP1530753 A2 EP 1530753A2
Authority
EP
European Patent Office
Prior art keywords
point
coordinates
curve
points
elliptical curve
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.)
Withdrawn
Application number
EP03753669A
Other languages
German (de)
French (fr)
Inventor
Olivier Billet
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
Publication of EP1530753A2 publication Critical patent/EP1530753A2/en
Withdrawn 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Definitions

  • the present invention relates to a universal calculation method applied to points of an 'elliptical curve, and an electronic component comprising ' means for implementing such a method.
  • the invention is particularly applicable for the implementation of cryptographic algorithms of the public key type, - for example in smart cards.
  • curves have. special properties. For example, an elliptical curve having a point of order 2 has a cardinal divisible by 2. Or, an elliptic curve having a point of order three is a curve such that the cardinal of the group ⁇ (1 is divisible by 3. The curves having the same particular property are grouped in the same family.
  • a point on an elliptical curve can be represented by several types of coordinates, for example by affine coordinates or projective coordinates of Jac ' obi.
  • a commonly used model is the so-called Weierstrass model.
  • the ' Weierstrass ' model is very general since any elliptical curve can be reduced to this model.
  • Each model can be used using different types of coordinates.
  • the Weierstrass model is defined as follows: the neutral point O (the point at infinity in the Weierstrass model) and the set of points
  • Y 2 X 3 + a * X + b (FI) with a, b ⁇ Î such that 4a 3 + 27b 2 ⁇ 0, form the group of rational points of an elliptic curve ⁇ E ().
  • the point P can also be represented by projective Jacobi coordinates of the general form (U, V, W).
  • V 2 U 3 + a * UW 4 + b * W 6 (F3)
  • Projective coordinates are particularly interesting in exponentiation calculations applied to points on an elliptical curve, because they do not include inversion calculations in the body.
  • the result . of this scalar multiplication dxPl is a point P2 of the elliptic curve.
  • the obtained point P2 is the public key. is used to encrypt a message.
  • etching is meant to cover channel • single or differential, an attack based on a physical quantity measurable from outside the device, and whose direct analysis (simple attack) or analysis using a statistical method (differential attack) allows to discover information contained and manipulated in processing in the device. These attacks can thus make it possible to discover confidential information. These attacks were notably revealed in Dl (Paul Kocher, Joshua JAFFE and Benjamin JUN. Differential Power Analysis. Advances in Cryptology - CRYPTO'99, vol. 1666 of Lecture Notes in Computer Science, pp.388-397. Springer-Verlag, 1999).
  • One object of the invention is to propose a solution for protection against attacks with hidden channels, in particular SPA attacks, more effective than the solutions already known.
  • Another object of the invention to provide a solution that can be implemented 'in a circuit having little memory space, for example for a smart card type application.
  • the invention relates to a universal calculation method on points of an elliptical curve.
  • the elliptical curve is defined by a quartic equation and identical programmed calculation means are used to carry out an operation of adding points, an operation of doubling points, and an operation of adding a point neutral, the calculation means comprising in particular a central unit associated with a memory.
  • the use of a model of the elliptic curve in the form of a quartic that is to say of a polynomial of the 4 th degree) - makes it possible to use a formulation unique for performing point addition, point doubling • and neutral point addition operations. the curve.
  • the invention also relates to the use of a
  • the invention also relates to an electronic i5 component comprising programmed calculation means for implementing a universal calculation method as described above or a cryptographic method using the above universal calculation method.
  • the calculation means notably comprise a central unit 20. associated with a memory.
  • the invention also relates to a smart card comprising the above electronic component.
  • the device 1 is a smart card intended to execute a cryptographic program. To this end, the device 1 brings together in
  • a chip of the programmed calculation means composed of a Central unit 2 connected diagram 'ionnellement a memory array including:
  • a memory 4 accessible in read only in the example of the mask ROM type, also known by the English name “mask read-only memory (mask ROM)", a memory 6 that can be re-programmable electrically, in the example of the type EEPROM (from English “electrically erasable programmable ROM”), and - a working memory 8 accessible in read and write, in the example of "type RAM (from English” random access memory ").
  • memory notably includes calculation registers used by device 1.
  • the executable code corresponding to the scalar multiplication algorithm is contained in program memory. This code can in practice be contained in memory 4, accessible in read only, and / or in memory 6, rewritable.
  • the central unit 2 is connected to a communication interface 10 which ensures the exchange of signals vis-à-vis, from the outside and the supply of the chip.
  • This interface can include pads on the card for a so-called “contact” connection with a reader, and / or an antenna in the case of a so-called “contactless” card.
  • One of the functions of the device 1 is to encrypt or decrypt a confidential message m respectively transmitted to, or received from, the outside. This message can concern for example 'personal codes,
  • the central unit 2 executes a cryptographic algorithm on data from programming which are stored in the mask 4 and / or EEPROM 6 ROM parts.
  • the algorithm used here is a key algorithm. public on elliptical curve as part of a model in the form of a quartic. We will focus more precisely here on a part of this algorithm, which makes it possible to carry out basic operations, that is to say operations of addition: addition of two distinct points, of two identical points (it is i.e. an operation of doubling a point) ,, of a point
  • equation ' F13 can also be written, in. Jacobi's projective coordinates:
  • V 2 bU 4 + aU 3 W + UW 3 (F14)
  • V3 (Ul 2 .V2 + u2 2 .Vl) * (4b. (U1.W2 + U2.W1) .W1.W2
  • W3 (aUl.U2-Wl.W2) 2 -4bUl.U2 (U1.W2 + U2.W1) (F17)
  • P2 can be different from PI, equal to PI and / or equal to neutral O of the curve.
  • the addition operation is given in projective coordinates of Jacobi.
  • V 2 ⁇ .X 4 - 2 ⁇ .U 2 X 2 + -W 4 ' (F20)
  • the central unit 2 then calculates the coordinates of the point P3 according to the relationships:
  • the coordinates (U3: V3: W3) of the point P3 are finally stored in registers of the working memory 8, to be used elsewhere, for example for the rest of the encryption algorithm.
  • V3 [(W1.W2) 2 + (U1.U2) 2 ]
  • formulas F27 to F29 can be carried out as follows: rl p ul.u2 r2 p wl .w2 r3 p rl. r2 r4 p vl.v2 r5 p ul. l + vl r6 p u2.w2 + v2 u3 p r5.r6 - r4-r3 w3 p (r2-rl). (r2 + rl) r6 p ⁇ * r3 r4 p r4 - 2. r6 r6 p (r2 + rl) '2 -2r3 r4 p r4.
  • r6 r6 p (ul + wl). (u2 + w2) -rl-r2 r5 p r6 2 - 2r3 r6 p r5. r ' 3 v3 p r4 + 2. r6 where ul, vl, wl, u2, v2, w2, u3, v3, w3 are calculation registers in which the projective coordinates of points PI, P2, P3, and rl to r6 are temporary calculation registers.
  • the coordinates of the point P3 are obtained in a time equal to approximately 13 times the time to complete a
  • the invention is thus much less than the time for calculating the coordinates of P3 using a formulation such as those of the prior art.
  • P2 can be different from PI, equal to PI and / or equal to neutral O of the curve.
  • the addition operation is given in this example in affine coordinates.
  • the unit central 2 When the exponentiation calculation device is requested -to perform an addition operation, the unit central 2 first of all stores in calculation registers the coordinates (XI, Yl) and (X2, Y2) of the points PI, P2 of the elliptical curve, to be added.
  • Y3 ⁇ [l + ⁇ (Xl.X2) 2 ]. [Y1.Y2 - 2 ⁇ .Xl .X2] + 2 ⁇ .Xl .X2. (Xl 2 + X2 2 ) ⁇
  • the coordinates (X3, Y3) of the point P3 are finally stored in registers of the working memory 8, to be used elsewhere, for example for the rest of the encryption algorithm.

Abstract

The invention concerns a method for universal calculation on the points of an elliptic curve. The invention is characterized in that the elliptic curve is defined by a quartic equation and identical programmed calculating means are used for operating an addition of points, a doubling of points and an addition of a neutral point, the calculating means comprising in particular a central unit (2) associated with a memory (4, 6, 8). The invention also concerns a cryptographic method using such a universal method. The invention further concerns a component for implementing the universal calculation method and/or the cryptographic method. For example, the invention is applicable to smart cards.

Description

PROCEDE DE CALCUL UNIVERSEL APPLIQUE A DES POINTS D'UNE COURBE ELLIPTIQUE DEFINIE PAR UNE QUARTIQUE. PROCEDE CRyPTOSRAPHIQUE ET COMPOSANT ELECTRONIQUE ASSOCIESUNIVERSAL CALCULATION PROCESS APPLIED TO POINTS OF AN ELLIPTICAL CURVE DEFINED BY A QUARTICLE. CRyPTOSRAPHIC PROCESS AND RELATED ELECTRONIC COMPONENT
La présente invention concerne un procédé de calcul universel appliqué à des points d'une courbe ' elliptique, et un composant électronique comprenant ' des moyens de mise en œuvre d'un tel procédé. L'invention est notamment applicable pour la mise en œuvre d'algorithmes cryptographiques du type à clé publique,- par exemple dans des.cart.es à puce.The present invention relates to a universal calculation method applied to points of an 'elliptical curve, and an electronic component comprising ' means for implementing such a method. The invention is particularly applicable for the implementation of cryptographic algorithms of the public key type, - for example in smart cards.
Les " algorithmes à clé publique sur courbe elliptique permettent des applications cryptographiques de type chiffrement, signature numérique, authentificatiόn...The " public key algorithms on elliptic curve allow cryptographic applications such as encryption, digital signature, authentication ...
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 cryptoprocesseurs pour leur implementation, ce qui diminue le prix de revient des '• composants électroniques dans lesquels ils sont implémentés .They are particularly widely used in smart card type applications, because they allow the use of short keys, allowing fairly short processing times, and that they may not require the use of cryptoprocessors to their implementation, which reduces the cost of the '• electronic components in which they are implemented.
Avant d'aller plus, loin, il convient tout d'abord de faire quelques .rappels sur les courbes elliptiques.Before going further, it is first necessary to make a few reminders on the elliptical curves.
Les points d'une courbe elliptique sont définis sur un corps ?ζ et forment, un groupe' abélien Ε( ), dans lequel l'opération de groupe est l'addition de points notée +, et où il se distingue un élément neutre noté O.The points of an elliptical curve are defined on a body? Ζ and form, a group ' abélien Ε (), in which the group operation is the addition of points noted +, and where it is distinguished a neutral element noted O.
Pour un corps fini, le cardinal de (E(?ζ)est fini. Il existe donc pour tout point P un entier m tel que : O = m.P= P + ,P + ... + P, m fois. et tel que- pour tout entier k< , on a k.P ≠ O. Un tel entier m est appelé ordre de P. Dans 'ce cas, m divise le cardinal de (EfK).For a finite field, the cardinality of (E (? Ζ) is finite. There exists therefore for any point P an integer m such that: O = mP = P +, P + ... + P, m times . and such that - for any integer k <, we have kP ≠ O. Such an integer m is called order of P. In ' this case, m divides the cardinality of (EfK).
Certaines courbes ont des. propriétés particulières. Par exemple, une courbe elliptique ayant un point d'ordre 2 a un cardinal divisible par 2. Ou bien, une courbe elliptique ayant un point d'ordre trois est une courbe telle que le cardinal du groupe Ε(1 est divisible par 3. Les courbes ayant une. même propriété particulière sont regroupées dans une même famille.Some curves have. special properties. For example, an elliptical curve having a point of order 2 has a cardinal divisible by 2. Or, an elliptic curve having a point of order three is a curve such that the cardinal of the group Ε (1 is divisible by 3. The curves having the same particular property are grouped in the same family.
Un point d'une courbe elliptique peut être représenté par plusieurs types de coordonnées, par exemple par des coordonnées affines ou des coordonnées projectives de Jac'obi . II existe différents modèles pour définir une courbe elliptique applicable eh cryptographie. Un modèle couramment utilisé est le modèle dit de Weierstrass. Le modèle de ' Weierstrass est très général puisque toute courbe elliptique peut se ramener sous ce modèle. Chaque modèle peut être utilisé à l'aide des différents types de coordonnées.A point on an elliptical curve can be represented by several types of coordinates, for example by affine coordinates or projective coordinates of Jac ' obi. There are different models for defining an elliptical curve applicable to cryptography. A commonly used model is the so-called Weierstrass model. The ' Weierstrass ' model is very general since any elliptical curve can be reduced to this model. Each model can be used using different types of coordinates.
Par exemple, en coordonnées affines et dans le cas où la caractéristique p du corps est différente de 2 etFor example, in affine coordinates and in the case where the characteristic p of the body is different from 2 and
3, le modèle de Weierstrass est défini de la manière suivante : le point neutre O (le point à l'infini dans le modèle de Weierstrass) et l'ensemble des points3, the Weierstrass model is defined as follows: the neutral point O (the point at infinity in the Weierstrass model) and the set of points
(X, Y) χ ?C?C vérifiant l'équation :(X, Y) χ? C? C checking the equation:
E/% : Y2 = X3 + a*X + b (FI) avec a, b χ Î tels que 4a3 + 27b2 ≠ 0, forment le groupe des points rationnels d'une courbe elliptique <E( ). Le point P peut aussi être représenté par des coordonnées projectives de Jacobi de la forme générale (U ,V ,W) . (X, Y) et (U ,V ,W) sont liées par les relations suivantes : X = U/W et Y = V/W2 (F2) Avec ces coordonnées projectives de Jacobi, l'équation de Weierstrass d'une courbe elliptique devient :E /%: Y 2 = X 3 + a * X + b (FI) with a, b χ Î such that 4a 3 + 27b 2 ≠ 0, form the group of rational points of an elliptic curve <E (). The point P can also be represented by projective Jacobi coordinates of the general form (U, V, W). (X, Y) and (U, V, W) are linked by the following relationships: X = U / W and Y = V / W 2 (F2) With these projective Jacobi coordinates, the Weierstrass equation of an elliptical curve becomes:
E/3C : V2 = U3 + a*UW4 + b*W6 (F3)E / 3C: V 2 = U 3 + a * UW 4 + b * W 6 (F3)
5 Les coordonnées projectives sont notamment intéressantes dans les calculs d'exponentiation appliqués à des points d'une courbe elliptique, car ils ne comportent pas de calculs d'inversion dans le corps.5 Projective coordinates are particularly interesting in exponentiation calculations applied to points on an elliptical curve, because they do not include inversion calculations in the body.
Comme le montrent la formule F2 , un même point a 10. plusieurs représentations possibles en coordonnées projectives de Jacobi. Aussi, on définit sur ϋ?C3 \ {(0, 0, 0)}, la relation d'équivalence suivante : deux éléments, de coordonnées (U , V , W) et (U',.V, W) sont dits équivalents, et appartiennent à une même classe 15 d'équivalence, si et seulement si il exis.te un élément λ non nul de tel que.As the formula F2 shows, the same point has 10. several possible representations in projective Jacobi coordinates. Also, on ϋ? C 3 \ {(0, 0, 0)}, we define the following equivalence relation: two elements, with coordinates (U, V, W) and (U ',. V, W) are said to be equivalent, and belong to the same equivalence class 15, if and only if there exists a non-zero element λ such that.
(U', V, W). = λU, λ2V, λW) (F4)(U ', V, W) . = λU, λ 2 V, λW) (F4)
Les coordonnées d'un l'élément de cette classe sont notées (U : V : W) . 20The coordinates of an element of this class are noted (U: V: W). 20
Selon le modèle qui définit la courbe- elliptique et selon les coordonnées avec lesquelles on travaille, différentes formules d'addition, de soustraction et- de doublement de points -sont applicables. Dans le cas du 25 modèle de Weierstrass, de telles formules sont connues et données par la règle bien- connue de la sécante et de la tangente .. According to the model which defines the elliptical curve and according to the coordinates with which one works, different formulas of addition, subtraction and - doubling of points - are applicable. In the case of the Weierstrass model, such formulas are known and given by the well-known rule of the secant and the tangent. .
Dans l'exemple, d'une courbe elliptique E donnée par un modèle de Weierstrass en coordonnées affines sur unIn the example, of an elliptical curve E given by a Weierstrass model in affine coordinates on a
30 corps de caractéristique différente 'de 2 et 3, les formules d'addition, de soustraction et de doublement de points les plus simples sont les suivantes.30 bodies of characteristic different from 2 and 3, the simplest formulas for addition, subtraction and doubling of points are as follows.
L'inverse d'un point PI = (XI, Yl) de. la courbe E est le point - PI = (Xl7 Yd avec 35- Ϋl = - Yl (F5) L'opération d'addition des points PI de coordonnées (XI, Yl) et P2 de coordonnées (X2, Y2) de cette courbe, avec PI ≠ - P2, donne le point P3 = PI .+ P2 dont les coordonnées (X3 ,. Y3) sont telles que : 5 X3 = λ2 - XI - X2 (F6)The inverse of a point PI = (XI, Yl) of . the curve E is the point - PI = (X l7 Yd with 35- Ϋl = - Yl (F5) The operation of adding points PI with coordinates (XI, Yl) and P2 with coordinates (X2, Y2) of this curve, with PI ≠ - P2, gives the point P3 = PI. + P2 whose coordinates (X3, . Y3) are such that: 5 X3 = λ 2 - XI - X2 (F6)
Y3 = λx(Xl-X3) - Yl, (F7) avec λ = (Y1-Y2)/(X1~X2) , si PI ≠ P2 (F8) λ = (3xXl2+a) / (2xYl) , si PI = P2 (F9)Y3 = λx (Xl-X3) - Yl, (F7) with λ = (Y1-Y2) / (X1 ~ X2), if PI ≠ P2 (F8) λ = (3xXl 2 + a) / (2xYl), if PI = P2 (F9)
10 La formule F8 est utilisée pour additionner deux points distincts (P3 = PI + P2) tandis que la formule F9 est utilisée pour une opération de doublement de point (P3 = 2xPl) .10 The formula F8 is used to add two separate points (P3 = PI + P2) while the formula F9 is used for a point doubling operation (P3 = 2xPl).
Les formules F6 à F9 ne sont pas valables lorsque 15. PI et / ou P2 est égal au point neutre O. Le plus souvent, en pratique, on ne réalise pas d'opération de . type P3 = PI + O. Plus simplement, avant la réalisation d'une opération d'addition de type P3 = PI + P2, il est testé si l'un au moins des points est égal au neutre O. 20 On réalise alors l'opération P3 = PI si PI = ,Oou P3 = P2 si P2 = O.The formulas F6 to F9 are not valid when 15. PI and / or P2 is equal to the neutral point O. Most often, in practice, no operation of. type P3 = PI + O. More simply, before carrying out an addition operation of type P3 = PI + P2, it is tested if at least one of the points is equal to the neutral O. 20 We then realize l operation P3 = PI if PI =, O or P3 = P2 if P2 = O.
Les opérations d'addition ou soustraction, de doublement d'un point ' et l'opération d'addition du neutre sont les opérations de base utilisées dans lesThe operations of addition or subtraction, doubling of a point ' and the operation of adding the neutral are the basic operations used in the
25 algorithmes de multiplication scalaire sur les courbes elliptiques : étant donné un point PI appartenant à une courbe elliptique E et d un nombre prédéterminé . (un entier) , le résultat de la multiplication scalaire du point PI par le nombre d est un point P2 de la courbe E25 scalar multiplication algorithms on elliptic curves: given a point PI belonging to an elliptic curve E and of a predetermined number. (an integer), the result of the scalar multiplication of the point PI by the number d is a point P2 of the curve E
30 tel que P2 = dxPl = PI + PI + ... + PI, d fois. A noter que si PI est d'ordre n , alors nxPl = O,30 such that P2 = dxPl = PI + PI + ... + PI, d times. Note that if PI is of order n, then nxPl = O,
(n+l)xPl = P1+ O = PI etc., O étant le point neutre.(n + l) xPl = P1 + O = PI etc., O being the neutral point.
Les algorithmes cryptographiques à clé publique sur courbe elliptique sont basés sur la multiplicationPublic key cryptographic algorithms on elliptical curve are based on multiplication
35 scalaire d'un point PI sélectionné sur la courbe, par un nombre prédéterminé d, une clé secrète. Le résultat . de cette multiplication scalaire dxPl est un point P2 de la courbe elliptique. Dans un exemple ' d'application au chiffrement selon le procédé de El Gamal, le point P2 obtenu est la clé publique qui . sert au chiffrement d'un message .35 scalar of a point PI selected on the curve, by a predetermined number of a secret key. The result . of this scalar multiplication dxPl is a point P2 of the elliptic curve. In one example 'application encryption according to the method of El Gamal, the obtained point P2 is the public key. is used to encrypt a message.
Le calcul de la multiplication scalaire P2 = dxPl peut être réalisé par différents algorithmes. On peut en citer quelques-uns, comme l'algorithme de doublement et d'addition ("double and add" dans la littérature anglo- saxonne) basé sur la représentation binaire du multiplieur d, l'algorithme dit "d'addition- soustraction" basé sur la représentation binaire signée . du multiplieur d, l'algorithme avec fenêtre...The scalar multiplication P2 = dxPl can be calculated by different algorithms. We can cite a few, such as the doubling and addition algorithm ("double and add" in Anglo-Saxon literature) based on the binary representation of the multiplier d, the so-called "addition-subtraction algorithm "based on signed binary representation. of the multiplier d, the windowed algorithm ...
Tous ces algorithmes' utilisent les formules d'addition, de - soustraction, de doublement ' et d'addition du neutre définies sur les courbes elliptiques.All these algorithms 'use the formulas of addition, - subtraction, doubling ' and addition of the neutral defined on the elliptic curves.
Cependant, ces algorithmes se révèlent sensibles aux attaques visant à découvrir notamment la valeur de la clé secrète d. On peut citer notamment les attaques à canaux cachés, simples ou différentielles.However, these algorithms prove to be sensitive to attacks aimed in particular at discovering the value of the secret key d. Mention may in particular be made of attacks with hidden channels, simple or differential.
On entend par attaque à canal cache 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 dans Dl (Paul Kocher, Joshua JAFFE et Benjamin JUN. Differential Power Analysis. 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 le temps d'exécution, la consommation en courant, le champ électromagnétique rayonné par la partie du composant utilisée pour exécuter, le calcul, etc. 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 la valeur de ce bit et/ou selon l'instruction.By etching is meant to cover channel single or differential, an attack based on a physical quantity measurable from outside the device, and whose direct analysis (simple attack) or analysis using a statistical method (differential attack) allows to discover information contained and manipulated in processing in the device. These attacks can thus make it possible to discover confidential information. These attacks were notably revealed in Dl (Paul Kocher, Joshua JAFFE and Benjamin JUN. Differential Power Analysis. Advances in Cryptology - CRYPTO'99, vol. 1666 of Lecture Notes in Computer Science, pp.388-397. Springer-Verlag, 1999). Among the physical quantities which can be exploited for these purposes, there may be mentioned the execution time, the current consumption, the electromagnetic field radiated by the part of the component used to execute, calculation, etc. These attacks are based on the fact that the manipulation of a bit, that is to say its processing by a particular instruction, has a particular imprint on the physical quantity considered according to the value of this bit and / or according to the instruction.
Dans les systèmes cryptographiques basés sur des courbes elliptiques, ces attaques visent à identifier une opération (par exemple une addition de points, de type P3 = PI + P2, une addition de type - P3 = PI + O, une multiplication scalaire de type P3 = d*Pl) dans un ensemble d'opérations réalisées successivement.In cryptographic systems based on elliptic curves, these attacks aim to identify an operation (for example an addition of points, of type P3 = PI + P2, an addition of type - P3 = PI + O, a scalar multiplication of type P3 = d * Pl) in a set of operations carried out successively.
Si on prend l'exemple d'un algorithme de •multiplication scalaire' sur courbes elliptiques avec le modèle de Weierstrass, cet algorithme peut être sensible aux attaques à canaux cachés de ' type simple, car les opérations de base de doublement de points, d'addition de points ou d'addition du point neutre sont sensiblement différentes comme le montre le calcul du lambda dans les formules F8 et F9 supra.If we take the example of a scalar multiplication algorithm • 'on elliptic curves with the Weierstrass model, this algorithm can be sensitive to covert channel attacks of' single, because the basic operations of doubling of points, d addition of points or addition of the neutral point are significantly different as shown by the lambda calculation in formulas F8 and F9 above.
Il est donc nécessaire de prévoir des procédés de contre-mesure permettant d'empêcher les différentes attaques de prospérer. En d'autres ' termes, il. est nécessaire de sécuriser les' algorithmes de multiplication scalaire.It is therefore necessary to provide countermeasures to prevent the various attacks from flourishing. In other 'words,. is necessary to secure the algorithms of scalar multiplication.
Pour cela, de D2 (Eric ' Brier et Marc Joye . Weierstrass elliptic curves and side-channel attacks. In D. Naccache, editor, Public Key Cryptography, volume 2274 of Lecture Notes in Computer Science, pages 335-345. Springer-Verlag, 2002) , il est connu une formulation unique pour une opération de doublement de points et une opération' d'addition de points. Ainsi, les deux opérations ne peuvent plus être différenciées par une attaque à cana.l caché. Cette formulation" cependant présente 1 ' inconvénient de ne pas être valable pour réaliser une opération d'addition du point neutre.For this, from D2 (Eric ' Brier and Marc Joye. Weierstrass elliptic curves and side-channel attacks. In D. Naccache, editor, Public Key Cryptography, volume 2274 of Lecture Notes in Computer Science, pages 335-345. Springer-Verlag , 2002), a unique formulation is known for a doubling of points operation and an operation of adding points. Thus, the two operations can no longer be distinguished by a hidden cana.l attack. This formulation " however has the disadvantage of not being valid for carrying out an operation of adding the neutral point.
De D3 (Pierre-Yvan Liardet et Nigel P. Smart. Preventing SPA/DPA in ECC Systems using the Jacobi form. ïn C.K.Koç, D. Naccache, and C. Paar, editors, Cryptographie Hardware and embedded Systems - CHES 2001, volume 2162 of Lecture Notes in Computer Science, pages 391-401. Springer-Verlag, 2001), il est également connu une formulation unique pour une opération d'addition et une opération de doublement de points. Cette formulation cependant n'est applicable que dans le cadre d'une courbe elliptique ayant trois points d'ordre 2. De plus, la formulation proposée dans D3 demande un espace mémoire considérable pour être mise en œuvre car les points sont mémorisés avec quatre coordonnées. Ceci est difficilement compatible avec une application de type carte à puce.De D3 (Pierre-Yvan Liardet and Nigel P. Smart. Preventing SPA / DPA in ECC Systems using the Jacobi form. Ïn CKKoç, D. Naccache, and C. Paar, editors, Cryptographie Hardware and embedded Systems - CHES 2001, volume 2162 of Lecture Notes in Computer Science, pages 391-401. Springer-Verlag, 2001), there is also known a unique formulation for an operation of addition and an operation of doubling of points. This formulation however is only applicable within the framework of an elliptical curve having three points of order 2. In addition, the formulation proposed in D3 requires a considerable memory space to be implemented because the points are memorized with four coordinates . This is hardly compatible with a smart card type application.
De D4 (Marc Joye et Jean-Jacques Quisquat,er. Hess'ian elliptic curves and side-channel attacks.' In C.K.Koç, D. Naccache, and C. Paar, editors, Cryptographie Hardware and embedded Systems - CHES .2001, volume 2162 of Lecture Notes in Computer Science, pages 402-410. Springer-Verlag, 2001) , il est encore connu une formulation unique pour une opération d'addition et une opération de doublement- de points. Cependant, cette formulation est applicable uniquement aux courbes elliptiques ayant un point d'ordre trois.De D4 (Marc Joye and Jean-Jacques Quisquat, er. Hess ' ian elliptic curves and side-channel attacks. ' In CKKoç, D. Naccache, and C. Paar, editors, Cryptographie Hardware and embedded Systems - CHES. 2001, volume 2162 of Lecture Notes in Computer Science, pages 402-410. Springer-Verlag, 2001), there is also known a unique formulation for an operation of addition and an operation of doubling of points. However, this formulation is applicable only to elliptical curves having a point of order three.
D3 et D4 n'évoquent pas le problème de l'addition du neutre .D3 and D4 do not raise the problem of adding neutral.
Un but de 1 ' invention est de proposer une solution de protection contre les attaques à canaux cachés, notamment les attaques SPA, plus efficace que les solutions déjà connues.One object of the invention is to propose a solution for protection against attacks with hidden channels, in particular SPA attacks, more effective than the solutions already known.
Un autre but de l'invention est de proposer une solution qui peut être mise en œuvre ' dans un circuit disposant de peu d'espace mémoire, en vue par exemple d'une application de type carte à puce..Another object of the invention to provide a solution that can be implemented 'in a circuit having little memory space, for example for a smart card type application.
Ces objectifs sont atteints dans l'invention par une formulation unique permettant de réaliser une addition de deux points distincts, un doublement de points, et une opération d'addition' du neutre'. La dite formulation selon 1 ' invention est de plus minimale : on limite ainsi le nombre - d'opérations à effectuer et l'espace mémoire nécessaire pour sa mise en œuvre.These objectives are achieved in the invention by a unique formulation making it possible to carry out an addition of two distinct points, a doubling of points, and an operation of adding ' neutral ' . Said formulation according to the invention is moreover minimal: the number of operations to be carried out and the memory space necessary for its implementation are thus limited.
Ainsi, l'invention concerne un procédé de calcul universel sur des points d'une courbe elliptique. Selon l'invention, la courbe elliptique est définie par une équation quartique et des moyens de calcul programmés identiques sont utilisés pour réaliser une opération d'addition de points, une opération de doublement de points, et une opération d'addition d'un point neutre, les moyens de calcul comprenant notamment une unité centrale associée à une mémoire . En d'autres termes, selon l'invention, l'utilisation d'un modèle de la courbe elliptique sous forme de quartique (c'est-à-dire d'un polynôme du 4eme degré)- permet d'utiliser une formulation unique pour réaliser des opérations d'addition de points, de doublement de point et de d'addition du point neutre de. la courbe.Thus, the invention relates to a universal calculation method on points of an elliptical curve. According to the invention, the elliptical curve is defined by a quartic equation and identical programmed calculation means are used to carry out an operation of adding points, an operation of doubling points, and an operation of adding a point neutral, the calculation means comprising in particular a central unit associated with a memory. In other words, according to the invention, the use of a model of the elliptic curve in the form of a quartic (that is to say of a polynomial of the 4 th degree) - makes it possible to use a formulation unique for performing point addition, point doubling and neutral point addition operations. the curve.
Il devient alors impossible de distinguer l'une de ces opérations des autres par une attaque telle qu'une attaque à canal caché . Par ailleurs, l'utilisation d'un modèle de la courbe sous forme de quartique permet de représenter un point à l'aide de seulement 3 coordonnées projectives, ce qui limite l'espace mémoire nécessaire pour mémoriser les coordonnées d'un point et diminue les temps de calcul lors d'opérations sur des points. Enfin, comme on le verra mieux dans des exemples, la formulation unique obtenue selon 1 ' invention pour réaliser trois types d'addition (addition de deux points distincts, doublement de points et addition du neutre) 5 utilise un nombre limité d'opérations élémentaires de type multiplication, ce qui limite encore les temps de. calcul et 1 ' espace mémoire nécessaire .It then becomes impossible to distinguish one of these operations from the others by an attack such as a hidden channel attack. In addition, the use of a model of the curve in the form of a quartic makes it possible to represent a point using only 3 projective coordinates, which limits the memory space necessary to memorize the coordinates of a point and decreases the calculation times during operations on points. Finally, as will be seen better in the examples, the unique formulation obtained according to 1 the invention for performing three types of addition (addition of two distinct points, double points and addition of the neutral) 5 uses a limited number of transactions multiplication type elementaries, which further limits the times of. calculation and 1 memory space required.
L'invention concerne également l'utilisation d'unThe invention also relates to the use of a
10 procédé de calcul ' universel tel que décrit ci-dessus, dans un procédé de calcul de multiplication scalaire appliqué à des points d'une courbe elliptique, et / ou dans un procédé cryptographique .10 calculation method universal as described above, in a multiplication calculation method scalar applied to points on an elliptic curve, and / or a cryptographic method.
L'invention concerne encore un composant i5 électronique comprenant des moyens de calcul programmés pour mettre en œuvre un procédé de calcul universel tel que décrit ci-dessus ou un procédé cryptographique utilisant le procédé de calcul universel ci-dessus. Les moyens de calcul comprennent notamment une unité centrale 20 . associée à une mémoire .The invention also relates to an electronic i5 component comprising programmed calculation means for implementing a universal calculation method as described above or a cryptographic method using the above universal calculation method. The calculation means notably comprise a central unit 20. associated with a memory.
Enfin, l'invention concerne également une carte à puce comprenant le composant électronique ci-dessus.Finally, the invention also relates to a smart card comprising the above electronic component.
.L'invention et les .avantages qui en découlent 25 apparaîtront plus clairement à la lecture - de la description qui suit d'exemples particuliers de réalisation de l'invention, donnés à titre purement indicatif et en référence à la figure unique en annexe. Celle-ci représente sous forme de schéma bloc un 30 dispositif 1 électronique apte à réaliser des calculs cryptographiques .The invention and the advantages which result therefrom will appear more clearly on reading the following description of specific examples of embodiment of the invention, given for information only and with reference to the single figure in the appendix. This represents in the form of a block diagram an electronic device 1 capable of performing cryptographic calculations.
Dans les exemples suivants, le , dispositif 1 est une carte à puce destinée à exécuter un programme cryptographique. A cette fin, le dispositif 1 réunit dansIn the following examples, the device 1 is a smart card intended to execute a cryptographic program. To this end, the device 1 brings together in
35 une puce des moyens de calcul programmés, composés d'une unité centrale 2 reliée fonct'ionnellement à un ensemble de mémoires dont :35 a chip of the programmed calculation means, composed of a Central unit 2 connected diagram 'ionnellement a memory array including:
- une mémoire 4 accessible en lecture seulement, dans l'exemple du type ROM masque, aussi connue sous l'appellation anglaise "mask read-only memory (mask ROM) " , une mémoire 6 re-programmable électriquement, dans l'exemple du type EEPROM (de l'anglais "electrically erasable programmable ROM"), et - une mémoire de travail 8 accessible en lecture et en écriture, dans l'exemple du" type RAM (de l'anglais "random access memory"). Cette mémoire comprend notamment des registres de calcul utilisés par le dispositif 1.a memory 4 accessible in read only, in the example of the mask ROM type, also known by the English name "mask read-only memory (mask ROM)", a memory 6 that can be re-programmable electrically, in the example of the type EEPROM (from English "electrically erasable programmable ROM"), and - a working memory 8 accessible in read and write, in the example of "type RAM (from English" random access memory "). memory notably includes calculation registers used by device 1.
Le code exécutable correspondant à 1 ' algorithme de multiplication scalaire est contenu en mémoire programme. Ce code peut en pratique être contenu en mémoire 4, accessible en lecture seulement, et/ou en mémoire 6, réinscriptible.The executable code corresponding to the scalar multiplication algorithm is contained in program memory. This code can in practice be contained in memory 4, accessible in read only, and / or in memory 6, rewritable.
L'unité centrale 2 est reliée à 'une interface de communication 10 qui assure l'échange de signaux vis-à- vis, de l'extérieur et l'alimentation de la puce. Cette interface peut comprendre des plots sur la carte pour une connexion dite "à contact" avec un lecteur, et/ou une antenne dans le cas d'une carte dite "sans contact". L'une des fonctions du dispositif 1 est de chiffrer ou déchiffrer un message m confidentiel respectivement transmis vers, ou reçu de, l'extérieur. Ce message peut concerner par exemple 'des codes personnels, desThe central unit 2 is connected to a communication interface 10 which ensures the exchange of signals vis-à-vis, from the outside and the supply of the chip. This interface can include pads on the card for a so-called "contact" connection with a reader, and / or an antenna in the case of a so-called "contactless" card. One of the functions of the device 1 is to encrypt or decrypt a confidential message m respectively transmitted to, or received from, the outside. This message can concern for example 'personal codes,
informations ' médicales, une comptabilité sur des transactions bancaires ou commerciales, des autorisations d'accès à certains services restreints, etc. Une autre fonction est de calculer ou de vérifier une signature numérique. Information 'medical, accounting on bank or business transactions, access permissions to certain restricted services, etc. Another function is to calculate or verify a digital signature.
Pour réaliser ces fonctions, l'unité centrale 2 exécute un algorithme cryptographique sur des données de programmation qui sont stockées dans les parties ROM masque 4 et/ou EEPROM 6.To perform these functions, the central unit 2 executes a cryptographic algorithm on data from programming which are stored in the mask 4 and / or EEPROM 6 ROM parts.
L'algorithme utilisé ici est un algorithme à clé. publique sur courbe elliptique dans le cadre d'un modèle sous forme d'une quartique. On s'intéressera plus précisément ici à une partie de cet algorithme, qui permet de réaliser des opérations de base, c'est-à-dire des opérations d'addition : addition de deux points distincts, de deux points identiques (c'est-à-dire une opération de doublement d'un point),, de un pointThe algorithm used here is a key algorithm. public on elliptical curve as part of a model in the form of a quartic. We will focus more precisely here on a part of this algorithm, which makes it possible to carry out basic operations, that is to say operations of addition: addition of two distinct points, of two identical points (it is i.e. an operation of doubling a point) ,, of a point
' quelconque et du point neutre..'any and neutral point ..
On rappelle que, selon l'invention, ces trois opérations sont réalisées à partir de la même formulation et sont donc non distinguables l'une de l'autre depuis l'extérieur pour une attaque à canal caché simple.It will be recalled that, according to the invention, these three operations are carried out using the same formulation and are therefore indistinguishable from one another from the outside for a simple hidden channel attack.
Dans le cadre de l'invention, on s'intéresse aux modèles de courbes elliptiques définies par une équation quartique au lieu de -l'équation cubique de Weierstrass habituellement utilisée.In the context of the invention, we are interested in the models of elliptic curves defined by a quartic equation instead of the usual Weierstrass cubic equation.
La forme générale d'une quartique, en coordonnées affines,, est donnée par la relation :The general form of a quartic, in affine coordinates, is given by the relation:
Y2 = aO.X4 + al.X3+ a2.X2 + a3.X + a4 (F10)Y 2 = aO.X 4 + al.X 3 + a2.X 2 + a3.X + a4 (F10)
. ou,' en coordonnées projectives de Jacobi par la relation :. or, ' in projective coordinates of Jacobi by the relation:
V2 = aO.U4 + al.U% + a2.U2W2 + a3.UW3 + a4.W4 (Fil) sachant que les coordonnées affines et les coordonnées projective de Jacobi d'un même point sont liées par la relation : (X- , Y) = (U/W , V/W2) (F12)V 2 = aO.U 4 + al.U% + a2.U 2 W 2 + a3.UW 3 + a4.W 4 (Wire) knowing that the affine coordinates and the projective Jacobi coordinates of the same point are linked by the relation: (X-, Y) = (U / W, V / W 2 ) (F12)
Dans un premier .exemple de mise, 'en œuvre -deIn a first example of implementation, ' implementation -of
1 ' invention, on considère une courbe elliptique quelconque, et on réalise une opération de type P3 = P1+P2, avec PI, P2 , deux points quelconques de la courbé elliptique. P2 peut être différent de PI, égal à PI et / ou égal au neutre O de la courbe. L'opération d'addition est réalisée en coordonnées projectives de Jacobi . On montre que toute courbe d'équation1 invention, consider any elliptical curve, and perform an operation of type P3 = P1 + P2, with PI, P2, any two points of the elliptical curve. P2 can be different from PI, equal to PI and / or equal to the neutral O of the curve. The addition operation is performed in projective coordinates of Jacobi. We show that any equation curve
Y2 = .X3 + a.X + b (équation de Weierstrass) est birationnellement équivalente à une courbe d'équationY 2 = .X 3 + aX + b (Weierstrass equation) is birnially equivalent to an equation curve
Y2 = b.X4 + a.X3 + X (F13)Y 2 = bX 4 + aX 3 + X (F13)
L'équation F13 est finalement un cas particulier de l'équation F10, avec a0=b, al=a, a2=0, a3=l, a4=0. En utilisant les relations d'équivalence F12 , on montre que l'équation' F13 peut également s'écrire, en. coordonnées projectives de Jacobi :Equation F13 is finally a special case of equation F10, with a0 = b, al = a, a2 = 0, a3 = l, a4 = 0. Using the equivalence relations F12, we show that the equation ' F13 can also be written, in. Jacobi's projective coordinates:
V2 = b.U4 + a.U3W + UW3 (F14)V 2 = bU 4 + aU 3 W + UW 3 (F14)
Lorsque le dispositif de calcul de multiplication scalaire est sollicité pour réaliser une opération d'addition, l'unité centrale 2 mémorise tout d'abord dans des registres de calcul les coordonnées (Ul : VI : Wl) et' (U2 : V2 : W2) des points PI, P2 de la courbe elliptique, à additionner. L'unité • centrale 2 calcule ensuite les coordonnées du point P3 selon les relations : U3 = 2.b.Ul2.U22 ' • ' When the scalar multiplication calculation device is called upon to perform an addition operation, the central unit 2 first stores in calculation registers the coordinates (Ul: VI: Wl) and ' (U2: V2: W2 ) points PI, P2 of the elliptical curve, to be added. The central unit 2 then calculates the coordinates of the point P3 according to the relationships: U3 = 2.b.Ul 2 .U2 2 '• '
+ (aUl.U2 + W1.W2) . (U1.W2+W1.U2) + 2V1.V2 (F15) V3 = (Ul2.V2+u22.Vl) * (4b. (U1.W2+U2.W1) .W1.W2+ (aUl.U2 + W1.W2). (U1.W2 + W1.U2) + 2V1.V2 (F15) V3 = (Ul 2 .V2 + u2 2 .Vl) * (4b. (U1.W2 + U2.W1) .W1.W2
- 8b2. (U1.U2)2 - 8b 2 . (U1.U2) 2
+ a.[(2Wl.W2)2 - (aUl.U2+Wl.W2)2] +(W12.V2+W22.V1)*+ a. [(2Wl.W2) 2 - (aUl.U2 + Wl.W2) 2 ] + (W1 2 .V2 + W2 2 .V1) *
[(aUl.U2+Wl.W2)2- (2aUl .U2) 2+4bUl .U2. (Wl .U2+U1.W2) ] -4bUl.U2. (U1.W1.V2+U2.W2.V1) (aUl .U2-W1. W2) (F16)[(aUl.U2 + Wl.W2) 2 - (2aUl .U2) 2 + 4bUl .U2. (Wl .U2 + U1.W2)] -4bUl.U2. (U1.W1.V2 + U2.W2.V1) (aUl .U2-W1. W2) (F16)
W3 = (aUl.U2-Wl.W2)2-4bUl.U2 (U1.W2+U2.W1) (F17)W3 = (aUl.U2-Wl.W2) 2 -4bUl.U2 (U1.W2 + U2.W1) (F17)
Les coordonnées (U3 : V3 : W3) du point P3 sont finalement mémorisées dans des registres de la mémoire de travail 8, pour être utilisées par. ailleurs, par exemple pour la suite de l'algorithme de chiffrement. On vérifie que les formules F15 à F17 sont valides, • même dans le cas où PI = P2 (doublement de point) ou dans le cas où P2 = O( 0 : 0 : 1) (addition du neutre) .The coordinates (U3: V3: W3) of point P3 are finally stored in registers of working memory 8, to be used by. elsewhere, for example for the rest of the encryption algorithm. We check that the formulas F15 to F17 are valid, • even in the case where PI = P2 (double point) or in the case where P2 = O (0: 0: 1) (addition of neutral).
Dans un deuxième exemple de mise en œuvre de l'invention, on considère une courbe elliptique ayant un seul point d'ordre deux, de coordonnées affines (θ, 0), et on réalise une opération de type P3 = P1+P2, avec PI, P2, deux points quelconques de la courbe elliptique. P2 peut être différent de PI, égal à PI et / ou égal au neutre O de la courbe. L'opération d'addition est donnée en- coordonnées projectives de Jacobi.In a second example of implementation of the invention, an elliptical curve having a single point of order two, of affine coordinates (θ, 0) is considered, and an operation of type P3 = P1 + P2 is carried out, with PI, P2, any two points on the elliptical curve. P2 can be different from PI, equal to PI and / or equal to neutral O of the curve. The addition operation is given in projective coordinates of Jacobi.
Le point d'ordre deux vérifiant l'équation de Weierstrass définissant la courbe elliptique, θ est défini par la relation : θ3 + a.θ + b = 0The point of order two verifying the Weierstrass equation defining the elliptic curve, θ is defined by the relation: θ 3 + a.θ + b = 0
On montre alors que toute courbe d'équationWe then show that any curve of equation
Y2 = X3 + a.X + b (équation de Weierstrass) et ayant un unique point (θ, 0) d'ordre deux est birationnellement équivalente à une courbe d'équationY 2 = X 3 + aX + b (Weierstrass equation) and having a single point (θ, 0) of order two is birnially equivalent to an equation curve
Y2 = ε.X4 - 2δ.X2 + 1 (F18) avec : ε = - (a+3θ2/4)/4 et δ = 3θ/4 (F19)Y 2 = ε.X 4 - 2δ.X 2 + 1 (F18) with: ε = - (a + 3θ 2/4) / 4 and δ = 3θ / 4 (F19)
L'équation F18 est finalement un cas particulier de l'équation F10, avec a0=ε, al=0, a2= -2δ, a3=0, a4=l.The equation F18 is finally a special case of the equation F10, with a0 = ε, al = 0, a2 = -2δ, a3 = 0, a4 = l.
En utilisant les relations d'équivalence F12, on montre que l'équation F18 peut également s'écrire, en coordonnées projectives de Jacobi :Using the equivalence relations F12, we show that the equation F18 can also be written, in projective Jacobi coordinates:
V2 = ε.X4 - 2δ.U2X2 +-W4 ' (F20) Le passage du modèle cubique Y2 = X3 + aX + b au modèle quartique Y2 = ε.X4 - 2δ.X2 + 1 se fait par- les transformations suivantes .: modèle de modèle - Weierstrass quartique (θ, 0) ξ (0 : -1 : 1)V 2 = ε.X 4 - 2δ.U 2 X 2 + -W 4 ' (F20) The transition from the cubic model Y 2 = X 3 + aX + b to the quartic model Y 2 = ε.X 4 - 2δ.X 2 + 1 is done by the following transformations: model model - Weierstrass quartic (θ, 0) ξ (0: -1: 1)
(X, Y) ξ (2(X-Θ) : (2X+Θ) (X-θ)2-γ2 . y) 0 ξ (0 : 1 Al) modèle modèle de quart. Lque Weierstrass(X, Y) ξ (2 (X-Θ): (2X + Θ) (X-θ) 2 -γ2. Y) 0 ξ (0: 1 Al) model quarter model. Lque Weierstrass
( 0 : 1 D ξ O(0: 1 D ξ O
( 0 : - 1 : Dξ (θ, 0)(0: - 1: Dξ (θ, 0)
(U : V W) ξ (2(V+W2)/U2 - θ/2, W('4V+4W2-3θU2)U3) On définit pour ce modèle quartique le point neutre- O (0 : 1 : 1) et le point inverse du point P ( U : V : W) par le point -P (-U : V : W) . Lorsque le dispositif de calcul d'exponentiation est sollicité pour réaliser une opération d'addition, l'unité centrale 2 mémorise tout d'abord dans des registres de calcul ' les coordonnées (Ul : VI : Wl) et (U2 : V2 : W2) des points PI, P2 de la courbe elliptique, à additionner.(U: VW) ξ (2 (V + W 2 ) / U 2 - θ / 2, W ('4V + 4W 2 -3θU 2 ) U 3 ) For this quartic model we define the neutral point- O (0: 1: 1) and the inverse point of point P (U: V: W) by point -P (-U: V: W). When the exponentiation calculation device is requested to perform an addition operation, the CPU 2 first of all stores in data registers' coordinates (Ul: VI: Wl) and (U2: V2: W2 ) points PI, P2 of the elliptical curve, to be added.
L'unité centrale 2 calcule ensuite les coordonnées du point P3 selon les relations :The central unit 2 then calculates the coordinates of the point P3 according to the relationships:
U3 = U1.W1.V2 + V1.U2.W2 (F21)U3 = U1.W1.V2 + V1.U2.W2 (F21)
V3 = [ (W1.W2)2 + ε(Ul.U2)2] * [Vl.V2-2δUl..U2.Wl.W2]+2ε.Ul.U2.Wl.W2 (U12W2 +W12U22) (F22) W3 = (W1.W2)2 - ε(Ul.U2)2 ' (F23).V3 = [(W1.W2) 2 + ε (Ul.U2) 2 ] * [Vl.V2-2δUl . .U2.Wl.W2] + 2ε.Ul.U2.Wl.W2 (U1 2 W2 + W1 2 U2 2 ) (F22) W3 = (W1.W2) 2 - ε (Ul.U2) 2 ' (F23) .
Les coordonnées (U3 : V3 : W3) du point P3 sont finalement mémorisées dans des registres de la mémoire de travail 8, pour être utilisées par ailleurs, par exemple pour la suite de l'algorithme de chiffrement.The coordinates (U3: V3: W3) of the point P3 are finally stored in registers of the working memory 8, to be used elsewhere, for example for the rest of the encryption algorithm.
On vérifie là encore que les formules F21 à. F23 sont valides, même dans le cas où PI = P2 (doublement de point) ou dans le cas où P2 = O (addition du neutre) .Here again, we verify that the formulas F21 to. F23 are valid, even in the case where PI = P2 (double point) or in the case where P2 = O (addition of neutral).
Dans un troisième exemple de mise en œuvre de l'invention, on considère un cas particulier du deuxième exemple, dans lequel la courbe elliptique a' trois points d'ordre deux et est telle que ε = 1. Egalement, on réalise une opération de type P3 = P1+P2, avec PI, P2 , deu - points quelconques de la courbe elliptique. P2 peut être différent de PI, égal à PI et / ou égal au neutre O de la courbe. L'opération d'addition est donnée en coordonnées projectives de Jacobi- pour le modèle U4 - 2δ.U2.W2 + W4 correspondant au modèle affine Y2 = X4 + 2δ,X2 + 1. L'équation F24 est finalement un cas particulier de l'équation F10 la plus générale, avec aO = 1, al .= 0, a2 = -2δ, a3 = 0, a4 = 1.In a third exemplary implementation of the invention, we consider a special case of the second example, wherein the elliptic curve a 'three points of order two and is such that ε = 1. Also, an operation is carried out of type P3 = P1 + P2, with PI, P2, any two points on the elliptical curve. P2 can be different from PI, equal to PI and / or equal to neutral O of the curve. The addition operation is given in projective coordinates of Jacobi- for the model U 4 - 2δ.U 2 .W 2 + W 4 corresponding to the affine model Y 2 = X 4 + 2δ, X 2 + 1. The equation F24 is finally a special case of the most general equation F10, with aO = 1, al. = 0, a2 = -2δ, a3 = 0, a4 = 1.
Lorsque le dispositif de calcul d'exponentiation est sollicité pour réaliser une opération d'addition, 1.' unité centrale 2 mémorise tout . d'abord dans des registres de calcul les coordonnées (Ul : VI : Wl) et (U2 : V2 : W2) des points PI, P2 de la courbe elliptique, à additionner. L'unité centrale 2 calcule ensuite les coordonnées du point P3 selon les relations :When the exponentiation calculation device is requested to perform an addition operation, 1. ' central unit 2 memorizes everything. first in calculation registers the coordinates (Ul: VI: Wl) and (U2: V2: W2) of the points PI, P2 of the elliptical curve, to be added. The central unit 2 then calculates the coordinates of the point P3 according to the relationships:
U3 = U1.W1.V2 + V1.U2.W2 (F27)U3 = U1.W1.V2 + V1.U2.W2 (F27)
V3 = [(W1.W2)2 + (U1.U2)2]V3 = [(W1.W2) 2 + (U1.U2) 2 ]
* [Vl.V2-2δUl.U2.Wl.W2]+2Ul.U2.Wl.W2 (U12W22+W1U22) (F28) W3 = (W1.W2)2 - (U1.U2)2 (F29)* [Vl.V2-2δUl.U2.Wl.W2] + 2Ul.U2.Wl.W2 (U1 2 W2 2 + W1U2 2 ) (F28) W3 = (W1.W2) 2 - (U1.U2) 2 ( F29)
Les coordonnées (U3 : V3 : W3) du point P3 sont finalement mémorisées dans des registres de la mémoire de travail 8, pour être utilisées par ailleurs, par exemple pour la suite de l'algorithme de chiffrement. On vérifie là encore que -les formules F27 à F29 sont efficaces, même dans le cas où PI = P2 (doublement de point) ou dans le cas où P2 = O (addition du neutre) .The coordinates (U3: V3: W3) of the point P3 are finally stored in registers of the working memory 8, to be used elsewhere, for example for the rest of the encryption algorithm. Here again, it is verified that the formulas F27 to F29 are effective, even in the case where PI = P2 (double point) or in the case where P2 = O (addition of neutral).
D'un point de vue . réalisation pratique, les formules F27 à F29 peuvent être réalisées de la manière suivante : rl p ul.u2 r2 p wl .w2 r3 p rl . r2 r4 p vl.v2 r5 p ul . l + vl r6 p u2.w2 + v2 u3 p r5.r6 - r4-r3 w3 p (r2-rl) . (r2+rl) r6 p δ*r3 r4 p r4 - 2. r6 r6 p (r2+rl)'2-2r3 r4 p r4. r6 r6 p (ul+wl) . (u2+w2) -rl-r2 r5 p r62 - 2r3 r6 p r5. r'3 v3 p r4 + 2. r6 où ul, vl, wl, u2, v2, w2 , u3 , v3 , w3 sont des registres de calcul dans lesquels sont mémorisées les coordonnées projectives des, points PI, P2 , P3, et rl à r6 sont des registres temporaires de calcul .From a point of view. practical implementation, formulas F27 to F29 can be carried out as follows: rl p ul.u2 r2 p wl .w2 r3 p rl. r2 r4 p vl.v2 r5 p ul. l + vl r6 p u2.w2 + v2 u3 p r5.r6 - r4-r3 w3 p (r2-rl). (r2 + rl) r6 p δ * r3 r4 p r4 - 2. r6 r6 p (r2 + rl) '2 -2r3 r4 p r4. r6 r6 p (ul + wl). (u2 + w2) -rl-r2 r5 p r6 2 - 2r3 r6 p r5. r ' 3 v3 p r4 + 2. r6 where ul, vl, wl, u2, v2, w2, u3, v3, w3 are calculation registers in which the projective coordinates of points PI, P2, P3, and rl to r6 are temporary calculation registers.
Ainsi, selon ce mode de réalisation, les coordonnées du point P3 sont obtenues en un temps égal approximativement à 13 fois le temps de réalisation d'uneThus, according to this embodiment, the coordinates of the point P3 are obtained in a time equal to approximately 13 times the time to complete a
•multiplication du contenu de deux registres + une fois . le temps de réalisation d'une multiplication du contenu d'un registre par une constante. Le temps de calcul des coordonnées de P3 à l'aide de la formulation selon• multiplication of the contents of two registers + once. the time taken to multiply the content of a register by a constant. The time for calculating the coordinates of P3 using the formulation according to
1 ' invention est ainsi bien inférieur au temps de calcul des coordonnées de P3 à l'aide d'une formulation telle que celles de l'art antérieur.The invention is thus much less than the time for calculating the coordinates of P3 using a formulation such as those of the prior art.
A noter que cette approximation est tout à fait réaliste car le temps de réalisation d'une multiplication du contenu d'un registre par une constante ou d'une multiplication du contenu de deux . registres est en pratique très supérieur au temps, de réalisation d'une addition du contenu de deux registres.Note that this approximation is quite realistic because the time to achieve a multiplication of the content of a register by a constant or a multiplication of the content of two. registers is in practice much longer than time, by adding the content of two registers.
Ceci est également vrai dans le cas de la mise en œuvre' des formules F15-F17 ou F21-F23.This is also true in the case of the implementation 'of the F15-F17 or F21-F23 formulas.
Dans un quatrième exemple de mise en œuvre de l'invention, on considère une courbe elliptique ayant un seul point d'ordre deux, de coordonnées affines (θ, 0), et on réalise une opération de type P3 = P1+P2, avec PI, P2 , deux points quelconques de la courbe elliptique. P2 peut être différent de PI, égal à PI et / ou égal au neutre O de la courbe .In a fourth example of implementation of the invention, an elliptical curve having a single point of order two, of affine coordinates (θ, 0), and an operation of type P3 = P1 + P2 is carried out, with PI, P2, any two points on the elliptical curve. P2 can be different from PI, equal to PI and / or equal to neutral O of the curve.
Comme on l'a -vu dans le deuxième exemple : θ3 + a.θ + b = 0 As we saw in the second example: θ 3 + a.θ + b = 0
La courbe d'équation de Weierstrass • Y2 = X3 + a.X + b et ayant un unique point (θ, 0) d'ordre deux est birationnellement équivalente à une courbe d'équationThe Weierstrass equation curve • Y 2 = X 3 + aX + b and having a single point (θ, 0) of order two is birnially equivalent to an equation curve
Y2 = ε.X4 - 2δ.X2 + 1 (F18) avec : . ε = - (a+3θ2/4)/4 et δ ≈ 3θ/4 (F19) L'opération d'addition est données dans cet exemple en coordonnées affines .Y 2 = ε.X 4 - 2δ.X 2 + 1 (F18) with:. ε = - (a + 3θ 2/4) / 4 and δ ≈ 3θ / 4 (F19) The addition operation is given in this example in affine coordinates.
Lorsque le dispositif de calcul d'exponentiation est sollicité -pour réaliser une opération d'addition, l'unité ' centrale 2 mémorise tout d'abord dans des registres de calcul les coordonnées (XI, Yl ) et (X2 , Y2) des points PI, P2 de la courbe elliptique, à additionner.When the exponentiation calculation device is requested -to perform an addition operation, the unit central 2 first of all stores in calculation registers the coordinates (XI, Yl) and (X2, Y2) of the points PI, P2 of the elliptical curve, to be added.
L'unité centrale 2 calcule ensuite les coordonnées du point P3 selon les relations : X3 = (XI. Y2 + Y1.X2) / [1 - ε(Xl.X2)2] (F30)The central unit 2 then calculates the coordinates of the point P3 according to the relationships: X3 = (XI. Y2 + Y1.X2) / [1 - ε (Xl.X2) 2 ] (F30)
Y3 = { [l+ε(Xl.X2)2] . [Y1.Y2 - 2δ.Xl .X2] +2ε.Xl .X2. (Xl2+X22) }Y3 = {[l + ε (Xl.X2) 2 ]. [Y1.Y2 - 2δ.Xl .X2] + 2ε.Xl .X2. (Xl 2 + X2 2 )}
/ [1 - ε(Xl.X2)2] (F31)/ [1 - ε (Xl.X2) 2 ] (F31)
Les coordonnées (X3 , Y3) du point P3 sont finalement mémorisées dans des registres de la mémoire de travail 8, pour être utilisées par ailleurs, par exemple pour la suite de l'algorithme de chiffrement.The coordinates (X3, Y3) of the point P3 are finally stored in registers of the working memory 8, to be used elsewhere, for example for the rest of the encryption algorithm.
On vérifie là encore que les formules F30 à F31 sont valides, même dans le cas où PI = P2 (doublement de point) ou dans le cas où P2 = O (addition du neutre) . Here again, we check that the formulas F30 to F31 are valid, even in the case where PI = P2 (double point) or in the case where P2 = O (addition of neutral).

Claims

REVENDICATIONS
1. -Procédé de calcul universel sur des points d'une courbe elliptique, caractérisé en ce que la courbe elliptique est définie par une équation quartique et en ce que des moyens de calcul programmés identiques sont utilisés pour réaliser une opération d'addition de points, une opération de doublement de points, et une opération d'addition d'un point neutre, les moyens de calcul comprenant notamment une unité centrale (2) associée à une mémoire (4, 6, 8) .1. -Universal calculation method on points on an elliptical curve, characterized in that the elliptical curve is defined by a quartic equation and in that identical programmed calculation means are used to carry out an operation of adding points , an operation for doubling points, and an operation for adding a neutral point, the calculation means comprising in particular a central unit (2) associated with a memory (4, 6, 8).
2. Procédé selon la revendication 1, caractérisé en ce que la courbe elliptique est définie par une équation quartique de type :2. Method according to claim 1, characterized in that the elliptical curve is defined by a quartic equation of type:
V2 = b.U4 + a.U3.W + U.W3, (U : V : W) étant des coordonnées projectives de Jacobi d'un point P de la courbe elliptique, et a, b étant des paramètres de la courbe elliptique, un point de coordonnées (0 : 0 : 1) étant .un point neutre O de la courbe elliptique, un point de coordonnées (U : --V : W) étant un point inverse (-P) du point P dé coordonnées (U : V : W) .V 2 = bU 4 + aU 3 .W + UW 3 , (U: V: W) being projective Jacobi coordinates of a point P of the elliptic curve, and a, b being parameters of the elliptic curve, a coordinate point (0: 0: 1) being .a neutral point O of the elliptic curve, a coordinate point (U: --V: W) being an inverse point (-P) of the point P of coordinates (U: V: W).
3. Procédé selon la revendication 2, dans lequel le point P est également défini en' coordonnées affines (X, Y) , les coordonnées affines (X, Y) et les coordonnées projectives de Jacobi (U : V : W) du point P étant liées par les. relations :3. Method according to claim 2, in which the point P is also defined in ' affine coordinates (X, Y), the affine coordinates (X, Y) and the projective Jacobi coordinates (U: V: W) of the point P being bound by them. relationships:
(X, Y) = (U/W , V/W2)'.(X, Y) = (U / W, V / W 2 ) ' .
4. Procédé selon la revendication 2 ou 3 , dans lequel, pour, réaliser l'addition d'un premier point PI défini par des premières coordonnées projectives de Jacobi (Ul : VI : Wl) et d'un deuxième point P2 défini par des deuxièmes coordonnées projectives de Jacobi (U2 : V2 : W2) , les coordonnées du premier point PI et celles du deuxième point P2 étant mémorisées dans des premiers et deuxièmes registres de la mémoire (4, 6, 8) , le premier point et le deuxième point appartenant à la courbe elliptique, les moyens de calcul programmés ' calculent des troisièmes coordonnées. projectives de Jacobi (U3 : V3 : W3) définissant un troisième point P3 , résultat de l'addition, par les relations suivantes : U3 = 2.b.Ul2.U22 4. Method according to claim 2 or 3, in which, to carry out the addition of a first point PI defined by first projective coordinates of Jacobi (Ul: VI: Wl) and a second point P2 defined by second projective coordinates of Jacobi (U2: V2: W2), the coordinates of the first point PI and those of the second point P2 being stored in first and second registers of the memory (4, 6, 8), the first point and the second point belonging to the elliptical curve, the programmed calculation means' calculate third coordinates. Jacobi projectives (U3: V3: W3) defining a third point P3, result of the addition, by the following relationships: U3 = 2.b.Ul 2 .U2 2
+ (aUl.U2 + W1.W2) . (U1.W2+W1.U2) + 2V1.V2 V3 ≈ (U12.V2+U22.V1) *•+ (aUl.U2 + W1.W2). (U1.W2 + W1.U2) + 2V1.V2 V3 ≈ (U1 2 .V2 + U2 2 .V1) * •
(4b. (U1.W2+U2.W1) .W1.W2 , - 8b2. (U1.U2)2 (4b. (U1.W2 + U2.W1) .W1.W2, - 8b 2. (U1.U2) 2
+ a. [ (2W1.W2)2 - (aUl.U2+Wl.W2)2] + (W12.V2+W22.V1) *+ a. [(2W1.W2) 2 - (aUl.U2 + Wl.W2) 2 ] + (W1 2 .V2 + W2 2 .V1) *
[. (aUl.U2+Wl.W2)2- (2aUl .U2) +4bUl .U2-. (Wl .U2+U1.W2) ] -4bUl.U2. (U1.W1.V2+U2.W2.V1) (aUl .U2 -Wl .W2) W3 = (aUl.U2-Wl.W2')2-4bUl.U2 (U1.W2+U2.W1) puis mémorisent les troisièmes coordonnées projectives (U3, V3, W3), dans des troisièmes registres de la mémoire (6, 8) .[. (aUl.U2 + Wl.W2) 2 - (2aUl .U2) + 4bUl .U2-. (Wl .U2 + U1.W2)] -4bUl.U2. (U1.W1.V2 + U2.W2.V1) (aUl .U2 -Wl .W2) W3 = (aUl.U2-Wl.W2 ' ) 2 -4bUl.U2 (U1.W2 + U2.W1) then memorize the third projective coordinates (U3, V3, W3), in third memory registers (6, 8).
5. Procédé selon la revendication 1, dans lequel la courbe elliptique est une courbe comprenant un seul point d'ordre deux et est définie par une équation quartique de type :5. Method according to claim 1, in which the elliptical curve is a curve comprising a single point of order two and is defined by a quartic equation of type:
V2 = ε.U4 -2δ.U2.W2 + W4, (U : V : W) étant des coordonnées projectives de Jacobi d'un point -P de la courbe elliptique, et ε, δ étant des paramètres de la courbe elliptique, le point de coordonnées (0 : 1 : 1) étant le point neutre O de la courbe elliptique, le point de coordonnées (-U : +V : W) étant le point inverse (-P) du point P (U : V : W) . V 2 = ε.U 4 -2δ.U 2 .W 2 + W 4 , (U: V: W) being Jacobi projective coordinates of a point -P of the elliptical curve, and ε, δ being parameters of the elliptical curve, the point of coordinates (0: 1: 1) being the neutral point O of the elliptic curve, the point of coordinates (-U: + V: W) being the inverse point (-P) of point P (U: V: W).
6. Procédé selon la revendication 5, dans lequel, pour réaliser l'addition du premier point PI défini par des premières coordonnées projectives de Jacobi6. Method according to claim 5, in which, for carrying out the addition of the first point PI defined by first projective coordinates of Jacobi
(Ul : VI : Wl) et du deuxième point P2 défini par des deuxièmes coordonnées projectives de Jacobi(Ul: VI: Wl) and of the second point P2 defined by second projective coordinates of Jacobi
(U2 : V2 : W2) , . les coordonnées du premier point PI et celles du deuxième point P2 étant mémorisées dans des premiers et deuxièmes registres de la mémoire (4, 6, 8), le premier point et le deuxième point appartenant à la' courbe elliptique, les moyens de calcul programmés calculent des troisièmes coordonnées , projectives de Jacobi (U3 : N3 : W3) définissant un troisième point P3 , résultat de l'addition, par les relations suivantes : U3 = U1.W1.V2 + V1.U2.W2(U2: V2: W2),. the coordinates of the first point PI and those of the second point P2 being stored in first and second registers of the memory (4, 6, 8), the first point and the second point belonging to the ' elliptical curve, the programmed calculation means calculate third coordinates, Jacobi projectives (U3: N3: W3) defining a third point P3, result of the addition, by the following relations: U3 = U1.W1.V2 + V1.U2.W2
V3 = [(W1.W2)2 + ε(Ul.U2)2]V3 = [(W1.W2) 2 + ε (Ul.U2) 2 ]
* [Vl.V2-2δUl.U2,Wl.W2]+2ε.Ul.U2.Wl.W2 (U12W22+W12U22) W3 = (W1.W2)2 - ε(Ul.U2)2 puis mémorisent les troisièmes coordonnées projectives (U3 , V3 , W3) dans les troisièmes registres de la mémoire (6, 8).* [Vl.V2-2δUl.U2, Wl.W2] + 2ε.Ul.U2.Wl.W2 (U1 2 W2 2 + W1 2 U2 2 ) W3 = (W1.W2) 2 - ε (Ul.U2) 2 then store the third projective coordinates (U3, V3, W3) in the third registers of the memory (6, 8).
7. Procédé selon l'une des revendications 5 à 6, dans lequel -la courbe elliptique est définie- en coordonnées affines par une équation du type : Y2 = ε.X4 -2δ.X2 + 17. Method according to one of claims 5 to 6, in which -the elliptical curve is defined in affine coordinates by an equation of the type: Y 2 = ε.X 4 -2δ.X 2 + 1
(X, Y) étant des coordonnées affines d'un point P de la courbe elliptique.(X, Y) being affine coordinates of a point P of the elliptical curve.
8. Procédé selon . la revendication 7, dans lequel, pour réaliser l'addition du premier point PI défini par des premières coordonnées affines (XI, Yl) et du deuxième. point P2 défini par des deuxièmes coordonnées affines8. Method according to. claim 7, in which, to carry out the addition of the first point PI defined by first affine coordinates (XI, Yl) and of the second . point P2 defined by second affine coordinates
(X2, Y2) , les coordonnées du premier point PI et celles du deuxième point P2 étant mémorisées dans des premiers et deuxièmes registres de la mémoire (4, 6, 8) , le premier point PI et le deuxième point P2 appartenant à la courbe elliptique, les -moyens de calcul programmés calculent des troisièmes coordonnées affines ,(X3, Y3) définissant un troisième point P3 , résultat de l'addition, par les relations suivantes :(X2, Y2), the coordinates of the first point PI and those of the second point P2 being stored in first and second registers of the memory (4, 6, 8), the first point PI and the second point P2 belonging to the elliptical curve, the programmed means of calculation calculate third affine coordinates (X3, Y3) defining a third point P3, result of the addition, by the following relationships:
X3 = (XI.Y2 + Y1.X2) / [1 - ε(Xl.X2)2].X3 = (XI.Y2 + Y1.X2) / [1 - ε (Xl.X2) 2 ].
Y3 = { [l+ε(Xl.X2)2] .-[Y1.Y2 - 2δ .XI .X2] +2ε . XI .X2. (Xl2+X22) } / [1 - ε.(Xl.X2)2] puis mémorisent les troisièmes coordonnées affines (X3, Y3) dans les troisièmes registres de la mémoire- (6, 8) . . Y3 = {[l + ε (Xl.X2) 2 ] .- [Y1.Y2 - 2δ .XI .X2] + 2ε. XI .X2. (Xl 2 + X2 2 )} / [1 - ε. (Xl.X2) 2 ] then store the third affine coordinates (X3, Y3) in the third registers of the memory- (6, 8). .
9. Procédé selon l'une des revendications 5 à 8, dans lequel la courbe elliptique est une courbe comprenant trois points d'ordre deux et a pour paramètre ε ≈ i.9. Method according to one of claims 5 to 8, wherein the elliptical curve is a curve comprising three points of order two and has the parameter ε ≈ i.
10. Utilisation d'un procédé de calcul selon l'une des revendications 1 à 9 dans un procédé de calcul de multiplication scalaire appliqué à des points d'une courbe elliptique.10. Use of a calculation method according to one of claims 1 to 9 in a scalar multiplication calculation method applied to points on an elliptical curve.
11. Utilisation d'un procédé de calcul selon l'une des revendications 1 à 9 dans un procédé cryptographique.11. Use of a calculation method according to one of claims 1 to 9 in a cryptographic process.
12. Composant électronique comprenant des moyens de calcul programmés pour mettre en œuvre un procédé selon l'une des revendications 1 à 9, les moyens de calcul comprenant' notamment une unité centrale (2) associée à une mémoire (4, 6, 8).12. Electronic component comprising calculation means programmed to implement a method according to one of claims 1 to 9, the calculation means comprising 'in particular a central unit (2) associated with a memory (4, 6, 8) .
13. Composant électronique comprenant des moyens de mise en œuvre d'Un algorithme cryptographique utilisant un procédé selon l'une des revendications 1 à 9. 13. Electronic component comprising means for implementing a cryptographic algorithm using a method according to one of claims 1 to 9.
14. Carte à puce comprenant un composant électronique selon la revendication 12 ou 13. 14. Chip card comprising an electronic component according to claim 12 or 13.
EP03753669A 2002-08-09 2003-08-05 Method for universal calculation applied to points of an elliptic curve defined by a quartic, related cryptographic method and electronic component Withdrawn EP1530753A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0210193 2002-08-09
FR0210193A FR2843506B1 (en) 2002-08-09 2002-08-09 UNIVERSAL CALCULATION METHOD APPLIED TO POINTS OF AN ELLIPTICAL CURVE DEFINED BY A QUARTICLE, CRYPTOGRAPHIC METHOD AND ELECTRONIC COMPONENT THEREOF
PCT/FR2003/002462 WO2004017193A2 (en) 2002-08-09 2003-08-05 Method for universal calculation applied to points of an elliptic curve

Publications (1)

Publication Number Publication Date
EP1530753A2 true EP1530753A2 (en) 2005-05-18

Family

ID=30471060

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03753669A Withdrawn EP1530753A2 (en) 2002-08-09 2003-08-05 Method for universal calculation applied to points of an elliptic curve defined by a quartic, related cryptographic method and electronic component

Country Status (6)

Country Link
US (1) US20060056619A1 (en)
EP (1) EP1530753A2 (en)
JP (1) JP2005535927A (en)
AU (1) AU2003271831A1 (en)
FR (1) FR2843506B1 (en)
WO (1) WO2004017193A2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100530372B1 (en) * 2003-12-20 2005-11-22 삼성전자주식회사 Cryptographic method capable of protecting elliptic curve code from side channel attacks
US7991162B2 (en) * 2007-09-14 2011-08-02 University Of Ottawa Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields
KR101549291B1 (en) * 2012-10-25 2015-09-02 엘지디스플레이 주식회사 Display device
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
CN108875416B (en) * 2018-06-22 2020-05-19 北京智芯微电子科技有限公司 Elliptic curve multiple point operation method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778666B1 (en) * 1999-03-15 2004-08-17 Lg Electronics Inc. Cryptographic method using construction of elliptic curve cryptosystem
FR2828779B1 (en) * 2001-08-17 2004-01-16 Gemplus Card Int UNIVERSAL CALCULATION METHOD APPLIED TO POINTS OF AN ELLIPTICAL CURVE

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2004017193A3 *

Also Published As

Publication number Publication date
WO2004017193A3 (en) 2004-05-06
US20060056619A1 (en) 2006-03-16
FR2843506A1 (en) 2004-02-13
AU2003271831A1 (en) 2004-03-03
FR2843506B1 (en) 2004-10-29
WO2004017193A2 (en) 2004-02-26
JP2005535927A (en) 2005-11-24
AU2003271831A8 (en) 2004-03-03

Similar Documents

Publication Publication Date Title
EP1358732B2 (en) Secure encryption method and component using same
WO2009035982A1 (en) Secure modular exponentiation by randomization of exponent scanning
WO2003024017A2 (en) Method for making secure a secret quantity
EP1362451A1 (en) Method for securing a computer installation involving a cryptographic algorithm using boolean operations and arithmetic operations and the corresponding embedded system
EP1421473B1 (en) Universal calculation method applied to points on an elliptic curve
EP1381936A1 (en) Countermeasure method in an electronic component using a public key cryptographic algorithm on an elliptic curve
EP1832974A1 (en) Electromagnetic Analysis Protection of a calculation in an electronic circuit
EP1994465A1 (en) Method of securing a calculation of an exponentiation or a multiplication by a scalar in an electronic device
WO2003014916A1 (en) Secure method for performing a modular exponentiation operation
EP1086547B1 (en) Method for making secure one or several electronic installations using a cryptographic secret key algorithm, and electronic installation
EP1530753A2 (en) Method for universal calculation applied to points of an elliptic curve defined by a quartic, related cryptographic method and electronic component
EP1839125A1 (en) Secure and compact exponentiation method for cryptography
WO2002099624A1 (en) Method for making secure computation of an exponentiation in an electronic device
FR2818846A1 (en) Method for protecting electronic component executing cryptographic algorithm against current measurement attack, comprises factorization of exponential in algorithm and permutation of the factors
WO2002050641A1 (en) Method for making secure a logical or mathematical operator in a microprocessor-based electronic module
WO2002093411A1 (en) Device used to perform exponentiation calculations applied to points on an elliptical curve
EP4270855A1 (en) Protection against side-channel attacks using square masking
WO2002082257A1 (en) Device for performing secure exponentiation calculations and use thereof
WO2006134306A1 (en) Protection of a modular exponentiation computing produced by an integrated circuit
FR2818473A1 (en) COUNTERMEASURE METHODS IN AN ELECTRONIC COMPONENT USING AN RSA-TYPE KEY CRYPTOGRAPHY ALGORITHM
FR2956933A1 (en) Integrated circuit for e.g. smart card, has multiplier executing successive multiplications of binary words by modifying order in which elementary steps of multiplication of components of words are executed, in pseudo-random/random manner
FR2854997A1 (en) Chip card counter measure having two random numbers providing isomorphic elliptical curve/point coordinates and exponential algorithm applied providing second point coordinates
EP1350161A1 (en) Device for producing exponentiation calculations, and method for programming and using same
FR2998692A1 (en) Cryptographic processing method for protecting chip card against side channel attacks, involves determining arithmetic operation between correction data and result of Boolean function application to masked data to deliver second masked data
FR2986883A1 (en) Method for secure generation of prime number by e.g. electronic component, for cryptography, involves incrementing composite number by one, and determining whether incremented number is function of random number

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050309

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20070104

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20070717