EP1530753A2 - Procede de calcul universel applique a des points d'une courbe elliptique - Google Patents
Procede de calcul universel applique a des points d'une courbe elliptiqueInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
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 (2) associée à une mémoire (4, 6, 8). L'invention concerne également un procédé cryptographique utilisant un tel procédé universel. L'invention concerne encore un composant pour mettre en uvre le procédé de calcul universel et / ou le procédé cryptographique. Exemple d'application: cartes à puce.
Description
PROCEDE DE CALCUL UNIVERSEL APPLIQUE A DES POINTS D'UNE COURBE ELLIPTIQUE DEFINIE PAR UNE QUARTIQUE. PROCEDE CRyPTOSRAPHIQUE ET COMPOSANT ELECTRONIQUE ASSOCIES
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.
Les " algorithmes à clé publique sur courbe elliptique permettent des applications cryptographiques de type chiffrement, signature numérique, authentificatiόn...
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 .
Avant d'aller plus, loin, il convient tout d'abord de faire quelques .rappels sur les courbes elliptiques.
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.
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).
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.
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.
Par exemple, en coordonnées affines et dans le cas où la caractéristique p du corps est différente de 2 et
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 points
(X, Y) χ ?C?C vérifiant l'équation :
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/3C : V2 = U3 + a*UW4 + b*W6 (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.
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.
(U', V, W). = λU, λ2V, λW) (F4)
Les coordonnées d'un l'élément de cette classe sont notées (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 ..
Dans l'exemple, d'une courbe elliptique E donnée par un modèle de Weierstrass en coordonnées affines sur un
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.
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)
Y3 = λx(Xl-X3) - Yl, (F7) avec λ = (Y1-Y2)/(X1~X2) , si PI ≠ P2 (F8) λ = (3xXl2+a) / (2xYl) , si 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) .
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.
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 les
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 E
30 tel que P2 = dxPl = PI + PI + ... + PI, d fois. A noter que si PI est d'ordre n , alors nxPl = O,
(n+l)xPl = P1+ O = PI etc., O étant le point neutre.
Les algorithmes cryptographiques à clé publique sur courbe elliptique sont basés sur la 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 .
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...
Tous ces algorithmes' utilisent les formules d'addition, de - soustraction, de doublement ' et d'addition du neutre 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 d. On peut citer notamment les attaques à canaux cachés, simples ou différentielles.
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.
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.
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.
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.
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.
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 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.
D3 et D4 n'évoquent pas le problème de l'addition du neutre .
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.
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..
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.
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.
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 .
L'invention concerne également l'utilisation d'un
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 .
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 .
Enfin, l'invention concerne également une carte à puce comprenant le composant électronique ci-dessus.
.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 .
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 dans
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 :
- 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.
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.
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, des
• 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.
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.
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 point
' quelconque et du point neutre..
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.
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.
La forme générale d'une quartique, en coordonnées affines,, est donnée par la relation :
Y2 = aO.X4 + al.X3+ a2.X2 + a3.X + a4 (F10)
. ou,' en coordonnées projectives de Jacobi par la 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)
Dans un premier .exemple de mise, 'en œuvre -de
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'équation
Y2 = .X3 + a.X + b (équation de Weierstrass) est birationnellement équivalente à une courbe d'équation
Y2 = b.X4 + a.X3 + 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 :
V2 = b.U4 + a.U3W + UW3 (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 ' • '
+ (aUl.U2 + W1.W2) . (U1.W2+W1.U2) + 2V1.V2 (F15) V3 = (Ul2.V2+u22.Vl) * (4b. (U1.W2+U2.W1) .W1.W2
- 8b2. (U1.U2)2
+ a.[(2Wl.W2)2 - (aUl.U2+Wl.W2)2] +(W12.V2+W22.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)
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) .
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.
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 = 0
On montre alors que toute courbe d'équation
Y2 = X3 + a.X + b (équation de Weierstrass) et ayant un unique point (θ, 0) d'ordre deux est birationnellement équivalente à une courbe d'équation
Y2 = ε.X4 - 2δ.X2 + 1 (F18) avec : ε = - (a+3θ2/4)/4 et δ = 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.
En utilisant les relations d'équivalence F12, on montre que l'équation F18 peut également s'écrire, en coordonnées projectives de Jacobi :
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)
(X, Y) ξ (2(X-Θ) : (2X+Θ) (X-θ)2-γ2 . y)
0 ξ (0 : 1 Al) modèle modèle de quart. Lque Weierstrass
( 0 : 1 D ξ O
( 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.
L'unité centrale 2 calcule ensuite les coordonnées du point P3 selon les relations :
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).
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 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) .
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.
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 :
U3 = U1.W1.V2 + V1.U2.W2 (F27)
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)
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) .
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 .
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'une
•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
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.
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.
Ceci est également vrai dans le cas de la mise en œuvre' des formules F15-F17 ou F21-F23.
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 .
•Comme on l'a -vu dans le deuxième exemple : θ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'équation
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 .
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.
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)
Y3 = { [l+ε(Xl.X2)2] . [Y1.Y2 - 2δ.Xl .X2] +2ε.Xl .X2. (Xl2+X22) }
/ [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.
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) .
Claims
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) .
2. Procédé selon la revendication 1, caractérisé en ce que la courbe elliptique est définie par une équation quartique de 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) .
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 :
(X, Y) = (U/W , V/W2)'.
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
+ (aUl.U2 + W1.W2) . (U1.W2+W1.U2) + 2V1.V2 V3 ≈ (U12.V2+U22.V1) *•
(4b. (U1.W2+U2.W1) .W1.W2 , - 8b2. (U1.U2)2
+ a. [ (2W1.W2)2 - (aUl.U2+Wl.W2)2] + (W12.V2+W22.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) .
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 :
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) .
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 Jacobi
(Ul : VI : Wl) et du 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 : 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
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).
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 + 1
(X, Y) étant des coordonnées affines d'un point P de la courbe elliptique.
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 affines
(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 :
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) . .
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.
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.
11. Utilisation d'un procédé de calcul selon l'une des revendications 1 à 9 dans un procédé cryptographique.
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).
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.
14. Carte à puce comprenant un composant électronique selon la revendication 12 ou 13.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0210193A FR2843506B1 (fr) | 2002-08-09 | 2002-08-09 | Procede de calcul universel applique a des points d'une courbe elliptique definie par une quartique, procede cryptographique et composant electronique associes |
| FR0210193 | 2002-08-09 | ||
| PCT/FR2003/002462 WO2004017193A2 (fr) | 2002-08-09 | 2003-08-05 | Procede de calcul universel applique a des points d'une courbe elliptique |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1530753A2 true EP1530753A2 (fr) | 2005-05-18 |
Family
ID=30471060
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP03753669A Withdrawn EP1530753A2 (fr) | 2002-08-09 | 2003-08-05 | Procede de calcul universel applique a des points d'une courbe elliptique |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20060056619A1 (fr) |
| EP (1) | EP1530753A2 (fr) |
| JP (1) | JP2005535927A (fr) |
| AU (1) | AU2003271831A1 (fr) |
| FR (1) | FR2843506B1 (fr) |
| WO (1) | WO2004017193A2 (fr) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100530372B1 (ko) * | 2003-12-20 | 2005-11-22 | 삼성전자주식회사 | 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법 |
| US7991162B2 (en) * | 2007-09-14 | 2011-08-02 | University Of Ottawa | Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields |
| KR101549291B1 (ko) * | 2012-10-25 | 2015-09-02 | 엘지디스플레이 주식회사 | 표시장치 |
| US11146397B2 (en) * | 2017-10-31 | 2021-10-12 | Micro Focus Llc | Encoding abelian variety-based ciphertext with metadata |
| CN108875416B (zh) * | 2018-06-22 | 2020-05-19 | 北京智芯微电子科技有限公司 | 椭圆曲线多倍点运算方法和装置 |
Family Cites Families (2)
| 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 (fr) * | 2001-08-17 | 2004-01-16 | Gemplus Card Int | Procede de calcul universel applique a des points d'une courbe elliptique |
-
2002
- 2002-08-09 FR FR0210193A patent/FR2843506B1/fr not_active Expired - Fee Related
-
2003
- 2003-08-05 AU AU2003271831A patent/AU2003271831A1/en not_active Abandoned
- 2003-08-05 WO PCT/FR2003/002462 patent/WO2004017193A2/fr not_active Ceased
- 2003-08-05 JP JP2004528585A patent/JP2005535927A/ja not_active Withdrawn
- 2003-08-05 EP EP03753669A patent/EP1530753A2/fr not_active Withdrawn
- 2003-08-05 US US10/523,840 patent/US20060056619A1/en not_active Abandoned
Non-Patent Citations (2)
| Title |
|---|
| None * |
| See also references of WO2004017193A3 * |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2003271831A8 (en) | 2004-03-03 |
| FR2843506A1 (fr) | 2004-02-13 |
| JP2005535927A (ja) | 2005-11-24 |
| WO2004017193A3 (fr) | 2004-05-06 |
| AU2003271831A1 (en) | 2004-03-03 |
| FR2843506B1 (fr) | 2004-10-29 |
| US20060056619A1 (en) | 2006-03-16 |
| WO2004017193A2 (fr) | 2004-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1358732B2 (fr) | Procede de cryptage securise et composant utilisant un tel procede de cryptage | |
| EP2946284B1 (fr) | Procédé de cryptographie comprenant une opération de multiplication par un scalaire ou une exponentiation | |
| WO2009035982A1 (fr) | Exponentiation modulaire sécurisée par randomisation de balayage d'exposant | |
| WO2003024017A2 (fr) | Procede de securisation d'une quantite secrete | |
| EP1166494A1 (fr) | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique | |
| 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 | |
| EP1421473B1 (fr) | Procédé de calcul universel appliqué à des points d'une courbe elliptique | |
| EP1832974A1 (fr) | Protection EMA d'un calcul par un circuit électronique | |
| EP1994465A1 (fr) | Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique | |
| WO2003014916A1 (fr) | Procede securise de realisation d'une operation d'exponentiation modulaire | |
| EP1530753A2 (fr) | Procede de calcul universel applique a des points d'une courbe elliptique | |
| EP1279141A2 (fr) | Procede de contre mesure dans un microcircuit et carte a puce comportant ledit microcircuit | |
| WO2002099624A1 (fr) | Procede de securisation d'un calcul d'exponentiation dans un dispositif electronique | |
| FR2818846A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie | |
| EP1346271A1 (fr) | Procede de securisation d'un operateur logique ou mathematique dans un module electronique a microprocesseur | |
| EP1839125A1 (fr) | Procédé d'exponentiation sécurisée et compacte pour la cryptographie | |
| WO2002093411A1 (fr) | Dispositif destine a realiser des calculs d"exponentiation appliques a des points d"une courbe elliptique | |
| EP4270855A1 (fr) | Protection contre les attaques par canal auxiliaire a l aide d'un masquage carre | |
| WO2002082257A1 (fr) | Dispositif destine a realiser des calculs d'exponentiation securisee et utilisation d'un tel dispositif | |
| FR3145222A1 (fr) | Protection contre les attaques par canal auxiliaire d’un algorithme cryptographique impliquant une table de substitution | |
| EP1949292A1 (fr) | Procede securise de manipulations de donnees lors de l'execution d'algorithmes cryptographiques sur systemes embarques | |
| WO2002050658A1 (fr) | Procedes de contre-mesure dans un composant electronique mettant en ouvre un algorithme de cryptographie a cle publique de type rsa | |
| EP1891769A1 (fr) | Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre | |
| FR2998692A1 (fr) | Procede de traitement cryptographique comprenant des operations booleennes sur des donnees masquees de maniere arithmetique, dispositifs et produit programme d'ordinateur correspondants | |
| FR2986883A1 (fr) | Procede de generation securise d'un nombre premier, produit programme d'ordinateur et composant electronique correspondants |
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 |