FR2843506A1 - Procede de calcul universel applique a des points d'une courbe elliptique definie par une quartique, procede cryptographique et composant electronique associes - Google Patents

Procede de calcul universel applique a des points d'une courbe elliptique definie par une quartique, procede cryptographique et composant electronique associes Download PDF

Info

Publication number
FR2843506A1
FR2843506A1 FR0210193A FR0210193A FR2843506A1 FR 2843506 A1 FR2843506 A1 FR 2843506A1 FR 0210193 A FR0210193 A FR 0210193A FR 0210193 A FR0210193 A FR 0210193A FR 2843506 A1 FR2843506 A1 FR 2843506A1
Authority
FR
France
Prior art keywords
point
coordinates
elliptic curve
points
jacobi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0210193A
Other languages
English (en)
Other versions
FR2843506B1 (fr
Inventor
Marc Joye
Olivier Billet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Priority to FR0210193A priority Critical patent/FR2843506B1/fr
Priority to AU2003271831A priority patent/AU2003271831A1/en
Priority to US10/523,840 priority patent/US20060056619A1/en
Priority to JP2004528585A priority patent/JP2005535927A/ja
Priority to EP03753669A priority patent/EP1530753A2/fr
Priority to PCT/FR2003/002462 priority patent/WO2004017193A2/fr
Publication of FR2843506A1 publication Critical patent/FR2843506A1/fr
Application granted granted Critical
Publication of FR2843506B1 publication Critical patent/FR2843506B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (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 oeuvre le procédé de calcul universel et / ou le procédé cryptographique.Exemple d'application : cartes à puce.

Description

<Desc/Clms Page number 1>
PROCEDE DE CALCUL UNIVERSEL APPLIQUE A DES POINTS D'UNE
COURBE ELLIPTIQUE DEFINIE PAR UNE QUARTIQUE, PROCEDE
CRYPTOGRAPHIQUE 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 cartes à puce.
Les algorithmes à clé publique sur courbe elliptique permettent des applications cryptographiques de type chiffrement, signature numérique, authentification...
Ils sont notamment très utilisés dans des applications de type carte à puce, parce qu'ils permettent d'utiliser des clés de faible longueur, autorisant des temps de traitement assez courts, et qu'ils peuvent ne pas nécessiter l'utilisation de cryptoprocesseurs pour leur implémentation, 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
Figure img00010001

un corps x et forment un groupe abélien '(1<)" 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.
Figure img00010002

Pour un corps fini, le cardinal de '(1<), est fini. Il existe donc pour tout point P un entier m tel que :
O = m.P= P + P + ... + P, m fois
<Desc/Clms Page number 2>
et tel que pour tout entier k< m, on a k.P (9. Un tel entier m est appelé ordre de P. Dans ce cas, m divise le cardinal de E(K).
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 E(K) 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 Jacobi.
Il existe différents modèles pour définir une courbe elliptique applicable en 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 K est différente de 2 et 3, le modèle de Weierstrass est défini de la manière suivante : le point neutre 0 (le point à l'infini dans le modèle de Weierstrass) et l'ensemble des points (X, Y) e K#K vérifiant l'équation :
Figure img00020001

E/9(: y2 = X3 + a*X + b (Fl) avec a, b E X tels que 4a3 + 27b2 * 0, forment le groupe des points rationnels d'une courbe elliptique E(K). 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)
<Desc/Clms Page number 3>
Avec ces coordonnées projectives de Jacobi, l'équation de Weierstrass d'une courbe elliptique devient :
Figure img00030001

E/9( : V2 = U3 + a*UW4 + b*W6 (F3)
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 plusieurs représentations possibles en coordonnées projectives de Jacobi. Aussi, on définit sur \ {(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 d'équivalence si et seulement si il existe un élément non nul de K tel que
Figure img00030002

(U', V, W, %1,U, %12V, W) (F4)
Les coordonnées d'un l'élément de cette classe sont notées (U : V : W).
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 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 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 P1 = (X1, Yl) de la courbe E est le point - P1 = (Xi, Y1) avec
Yl = - Yl (F5)
<Desc/Clms Page number 4>
L'opération d'addition des points P1 de coordonnées (X1, Yl) et P2 de coordonnées (X2, Y2) de cette courbe, avec P1 # - P2, donne le point P3 = P1 + P2 dont les coordonnées (X3, Y3) sont telles que : X3 = X 2 - XI - X2 (F6)
Figure img00040001

Y3 = ')."X(X1-X3) - Yl, (F7) avec # = (Y1-Y2)/(X1-X2), si P1 # P2 (F8) # = (3xX12+a) / (2XY1), si P1 = P2 (F9)
La formule F8 est utilisée pour additionner deux points distincts (P3 = P1 + P2) tandis que la formule F9 est utilisée pour une opération de doublement de point (P3 = 2XP1) .
Les formules F6 à F9 ne sont pas valables lorsque P1 et ou P2 est égal au point neutre 0. Le plus souvent, en pratique, on ne réalise pas d'opération de type P3 = P1 + 0. Plus simplement, avant la réalisation d'une opération d'addition de type P3 = P1 + P2, il est testé si l'un au moins des points est égal au neutre 0.
On réalise alors l'opération P3 = P1 si P1 = 0 ou 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 algorithmes de multiplication scalaire sur les courbes elliptiques : étant donné un point P1 appartenant à une courbe elliptique E et d un nombre prédéterminé (un entier), le résultat de la multiplication scalaire du point P1 par le nombre d est un point P2 de la courbe E
Figure img00040002

tel que P2 = dXP1 = Pi + Pi +... + Pl, d fois. A noter que si P1 est d'ordre n , alors nxP1 = O, (n+l)xPl = P1+ O = P1 etc., O étant le point neutre.
Les algorithmes cryptographiques à clé publique sur courbe elliptique sont basés sur la multiplication scalaire d'un point P1 sélectionné sur la courbe, par un nombre prédéterminé d, une clé secrète. Le résultat de
<Desc/Clms Page number 5>
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 anglosaxonne) basé sur la représentation binaire du multiplieur d, l'algorithme dit "d'additionsoustraction" 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 caché simple ou différentielle, une attaque basée sur une grandeur physique mesurable de l'extérieur du dispositif, et dont l'analyse directe (attaque simple) ou l'analyse selon une méthode statistique (attaque différentielle) permet de découvrir des informations contenues et manipulées dans des traitements dans le dispositif. Ces attaques peuvent ainsi permettre de découvrir des informations confidentielles. Ces attaques ont notamment été dévoilées 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
<Desc/Clms Page number 6>
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 = P1 + P2, une addition de type P3 = P1 + 0, 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 à canal caché. Cette formulation cependant
<Desc/Clms Page number 7>
présente l'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.
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 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 Quisquater.
Hessian elliptic curves and side-channel attacks. In C. K.Koç, D. Naccache, and C. Paar, editors, Cryptographic 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 l'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
<Desc/Clms Page number 8>
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 l'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 4ème 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.
<Desc/Clms Page number 9>
Enfin, comme on le verra mieux dans des exemples, la formulation unique obtenue selon l'invention pour réaliser trois types d'addition (addition de deux points distincts, doublement de points et addition du neutre) utilise un nombre limité d'opérations élémentaires de type multiplication, ce qui limite encore les temps de calcul et l'espace mémoire nécessaire.
L'invention concerne également l'utilisation d'un 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 é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 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 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 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 une puce des moyens de calcul programmés, composés d'une
<Desc/Clms Page number 10>
unité centrale 2 reliée fonctionnellement à 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 à l'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
<Desc/Clms Page number 11>
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.U3W + a2.U2W2 + a3.UW3 + a4.W4 (F11) 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 l'invention, on considère une courbe elliptique quelconque, et on réalise une opération de type P3 = P1+P2, avec P1, P2, deux points quelconques de la courbe elliptique. P2 peut être différent de P1, égal à P1 et/
<Desc/Clms Page number 12>
ou égal au neutre 0 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
Y1 = 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 aO=b, al=a, a2=0, a3=1, 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 : V1 : Wl) et (U2 : V2 : W2) des points P1, P2 de la courbe elliptique, à additionner.
L'unité centrale 2 calcule ensuite les coordonnées du point P3 selon les relations : U3 = 2.b.U12.U22 + (aUl. U2 + W1.W2).(U1.W2+W1.U2) + 2V1.V2 (F15) V3 = (U12.V2+U22.V1)* (4b.(U1.W2+U2.W1).W1.W2
Figure img00120001

- 8b2.(U1.U2)2 + a.[(2W1.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) -4bU1.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.
<Desc/Clms Page number 13>
On vérifie que les formules F15 à F17 sont valides, même dans le cas où P1 = P2 (doublement de point) ou dans le cas où P2 = 0(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 P1, P2, deux points quelconques de la courbe elliptique. P2 peut être différent de P1, égal à P1 et / ou égal au neutre 0 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 :
Figure img00130001

63 + a.6 + 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
Figure img00130002

Y2 = E.X4 - 28.X2 + 1 (F18) avec : e = - (a+302/4) /4 et 8 = 30/4 (F19) L'équation F18 est finalement un cas particulier de
Figure img00130003

l'équation F10, avec aO=e, a1=0, a2= -25, a3=0, a4=1.
En utilisant les relations d'équivalence F12, on montre que l'équation F18 peut également s'écrire, en coordonnées projectives de Jacobi :
Figure img00130004

V2 = e.x4 - 23.U2X2 + W4 (F20)
Le passage du modèle cubique Y2 = X3 + aX + b au modèle quartique Y2 = #.X4 - 28. X 2 + 1 se fait par les transformations suivantes : modèle de modèle
Weierstrass quartique (#, 0) # (0 : -1 : 1)
Figure img00130005

(X, Y) (2 (X-8) . (2X+A) (X-6) 2-Y2 . Y)
<Desc/Clms Page number 14>
O # (0 : 1 : 1) modèle modèle de quartique Weierstrass (0 : 1 : 1) # O (0 : -1 : 1) # (#, 0)
Figure img00140001

(U : V : W) (2 (V+W2) /U2 - 6/2, W(4V+4W2-36U2)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 : Vl : Wl) et (U2 : V2 : W2) des points P1, 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 + #(U1.U2)2]
Figure img00140002

*[Vl.V2-25Ul.U2.Wl.W2]+2z.Ul.U2.Wl.W2(Ul2W22+Wl2U22) (F22) W3 = (W1.W2)2 - #(U1.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ù P1 = P2 (doublement de point) ou dans le cas où P2 = 0 (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 e = 1. Egalement, on réalise une opération de type P3 = P1+P2, avec P1, P2, deux points quelconques de la courbe elliptique. P2 peut être différent de P1, égal à P1 et/ ou égal au neutre 0 de la
<Desc/Clms Page number 15>
courbe. L'opération d'addition est donnée en coordonnées projectives de Jacobi pour le modèle U4 - 28.U2.W2 + W4 correspondant au modèle affine y2 = X4 + 28.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, l'unité centrale 2 mémorise tout d'abord dans des registres de calcul les coordonnées (Ul : V1 : Wl) et (U2 : V2 : W2) des points P1, 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 + Vl.U2.W2 (F27) V3 = [(W1.W2)2 + (U1.U2)2]
Figure img00150001

*[V1.V2-28U1.U2.W1.W2]+2U1.U2.W1.W2(U12W22+W12U22) (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ù Pl = P2 (doublement de point) ou dans le cas où P2 = 0 (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 : r1 # ul.u2 r2 # wl.w2 r3 # rl.r2 r4 # vl.v2 r5 <- ul.wl + vl
<Desc/Clms Page number 16>
r6 # u2.w2 + v2 u3 <# r5.r6 - r4-r3 w3 # (r2-rl) . (r2+rl) r6 # #*r3 r4 <- r4 - 2 . r6 r6 <- (r2+r1) 2-2r3 r4 # r4.r6 r6 # (ul+wl).(u2+w2)-rl-r2 r5 # r62 - 2r3 r6 # r5 . r3 v3 <- 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 P1, P2, P3, et r1 à 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 l'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
<Desc/Clms Page number 17>
seul point d'ordre deux, de coordonnées affines (0, 0), et on réalise une opération de type P3 = P1+P2, avec P1, P2, deux points quelconques de la courbe elliptique. P2 peut être différent de P1, égal à P1 et/ ou égal au neutre 0 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, 0) d'ordre deux est birationnellement équivalente à une courbe d'équation
Figure img00170001

Y2 = E.X4 - 28.X2 + 1 (F18) avec : # = - (a+302/4) /4 et 8 = 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 (Xl, Y1) et (X2, Y2) des points P1, P2 de la courbe elliptique, à additionner.
L'unité centrale 2 calcule ensuite les coordonnées du point P3 selon les relations :
Figure img00170002

X3 = (X1.Y2 + Y1.X2) / [1 - s(X1.X2)2] (F30) Y3 = {[1+s(X1.X2)2].[Y1.Y2 - 25.X1 .X2 ] +28.X1 .X2 . (X12+X22) / [1 - E(X1.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ù Pl = P2 (doublement de point) ou dans le cas où P2 = 0 (addition du neutre) .

Claims (14)

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).
2. Procédé selon la revendication 1, caractérisé en ce que la courbe elliptique est définie par une équation quartique de type :
Figure img00180001
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 de 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 P1 défini par des premières coordonnées projectives de Jacobi (Ul : Vl : Wl) et d'un deuxième point P2 défini
<Desc/Clms Page number 19>
(4b.(U1.W2+U2.W1).W1.W2 - 8b2.(U1.U2)2 + a.[(2W1.W2)2 - (aUl.U2+W1.W2)2] +(W12.V2+W22.V1)* [ (aUl.U2+Wl.W2)2- (2aUl.U2)2+4bUl.U2. (Wl .U2+U1 .W2) -4bU1.U2.(U1.W1.V2+U2.W2.V1)(aUl.U2-W1.W2) W3 = (aUl.U2-W1.W2)2-4bU1.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).
Figure img00190001
par des deuxièmes coordonnées projectives de Jacobi (U2 : V2 : W2), les coordonnées du premier point P1 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.U12.U22 + (aUl.U2 + W1.W2).(U1.W2+W1.U2) + 2V1.V2 V3 = (U12.V2+U22.V1)*
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 :
Figure img00190002
V2 = E . U4 -2 cS . U2 . W2 + W4, (U : V : W) étant des coordonnées projectives de Jacobi d'un point P de la courbe elliptique, et #, 8 é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).
<Desc/Clms Page number 20>
6. Procédé selon la revendication 5, dans lequel, pour réaliser l'addition du premier point P1 défini par des premières coordonnées projectives de Jacobi (Ul : V1 : 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 P1 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 = U1.W1.V2 + Vl.U2.W2
Figure img00200001
V3 = [(wl.W2)2 + e(Ul.U2)2] *(vl.v2-28U1.U2.w1.w2]+2s.U1.U2.w1.w2(U12W22+W12U22) W3 = (W1.W2)2 - e(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 -2b.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 P1 défini par des premières coordonnées affines (X1, Yl) et du deuxième point P2 défini par des deuxièmes coordonnées affines (X2, Y2), les coordonnées du premier point P1 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
<Desc/Clms Page number 21>
Y3 = {[1+(X1.X2)2].[Y1.Y2 - 2Ô.X1 .X2] +2e.Xl .X2 . (X12+X22) / [1 - #(X1.X2)2] puis mémorisent les troisièmes coordonnées affines (X3, Y3) dans les troisièmes registres de la mémoire (6, 8) .
Figure img00210001
premier point P1 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 = (X1.Y2 + Y1.X2) / [1 - e(Xl.X2)2]
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 # = 1.
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.
<Desc/Clms Page number 22>
14. Carte à puce comprenant un composant électronique selon la revendication 12 ou 13.
FR0210193A 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 Expired - Fee Related FR2843506B1 (fr)

Priority Applications (6)

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
AU2003271831A AU2003271831A1 (en) 2002-08-09 2003-08-05 Method for universal calculation applied to points of an elliptic curve
US10/523,840 US20060056619A1 (en) 2002-08-09 2003-08-05 Method for universal calculation applied to points of an elliptic curve
JP2004528585A JP2005535927A (ja) 2002-08-09 2003-08-05 四次方程式により定義される楕円曲線上の点に適用される汎用計算方法、および関連暗号化方法および電子構成要素
EP03753669A EP1530753A2 (fr) 2002-08-09 2003-08-05 Procede de calcul universel applique a des points d'une courbe elliptique
PCT/FR2003/002462 WO2004017193A2 (fr) 2002-08-09 2003-08-05 Procede de calcul universel applique a des points d'une courbe elliptique

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
FR2843506A1 true FR2843506A1 (fr) 2004-02-13
FR2843506B1 FR2843506B1 (fr) 2004-10-29

Family

ID=30471060

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0210193A Expired - Fee Related 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

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)

* Cited by examiner, † Cited by third party
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)

* 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 (fr) * 2001-08-17 2004-01-16 Gemplus Card Int Procede de calcul universel applique a des points d'une courbe elliptique

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BRIER E ET AL: "WEIERSTRASS ELLIPTIC CURVES AND SIDE-CHANNEL ATTACKS", 5TH INTERNATIONAL WORKSHOP ON PRACTICE AND THEORY IN PUBLIC KEY CRYPTOSYSTEMS, PKC 2002, PARIS, FRANCE. LNCS 2274, February 2002 (2002-02-01), Springer-Verlag, Berlin (DE), pages 335 - 345, XP001068195, Retrieved from the Internet <URL:http://link.springer.de/link/service/series/0558/tocs/t2274.htm> [retrieved on 20020205] *
CHUDNOVSKY D V ET AL: "SEQUENCES OF NUMBERS GENERATED BY ADDITION IN FORMAL GROUPS AND NEWPRIMALITY AND FACTORIZATION TESTS", ADVANCES IN APPLIED MATHEMATICS, ACADEMIC PRESS, SAN DIEGO, CA, US, vol. 7, 1986, pages 385 - 434, XP008000716, ISSN: 0196-8858 *
JOYE M ET AL: "HESSIAN ELLIPTIC CURVES AND SIDE-CHANNEL ATTACKS", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS CHES 2001. THIRD INTERNATIONAL WORKSHOP, PARIS, FRANCE, MAY 14-16, 2001, PROCEEDINGS. LNCS 2162, vol. 2162, 14 May 2001 (2001-05-14), pages 402 - 410, XP008002643, ISBN: 3-540-42521-7 *
KHELDOUNI A ET AL: "Elliptic cohomology operation defined by Hecke operator T2", COMPTES RENDUS DES SEANCES DE L'ACADEMIE DES SCIENCES. SERIE I: MATHEMATIQUES, EDITIONS SCIENTIFIQUES & MEDICALES ELSEVIER, FR, vol. 324, no. 2, January 1997 (1997-01-01), pages 215 - 220, XP004269356, ISSN: 0764-4442 *
P. BARRETO ET AL.: "Constructing Elliptic Curves with Prescribed Embedding Degrees", SECURITY IN COMMUNICATION NETWORKS. THIRD INTERNATIONAL CONFERENCE, SCN 2002, AMALFI, ITALY, SEPTEMBER 11-13, 2002. REVISED PAPERS. LNCS 2576, 2003, Springer Verlag, Berlin (DE), pages 257 - 267, XP002241906, Retrieved from the Internet <URL:http://link.springer.de/link/service/series/0558/papers/2576/25760257.pdf> [retrieved on 20030314] *

Also Published As

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

Similar Documents

Publication Publication Date Title
EP1358732B1 (fr) Procede de cryptage securise et composant utilisant un tel procede de cryptage
EP1421473B1 (fr) Procédé de calcul universel appliqué à des points d&#39;une courbe elliptique
EP2302552B1 (fr) Procédé d&#39;éxecution d&#39;un algorithme de protection d&#39;un dispositif électronique par masquage affiné et dispositif associé
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
EP1994465A1 (fr) Procede de securisation d&#39;un calcul d&#39;une exponentiation ou d&#39;une multiplication par un scalaire dans un dispositif electronique
WO2006030107A1 (fr) Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee
FR2843506A1 (fr) Procede de calcul universel applique a des points d&#39;une courbe elliptique definie par une quartique, procede cryptographique et composant electronique associes
WO2003014916A1 (fr) Procede securise de realisation d&#39;une operation d&#39;exponentiation modulaire
EP1839125A1 (fr) Procédé d&#39;exponentiation sécurisée et compacte pour la cryptographie
EP3502899A1 (fr) Procédé de détermination d&#39;une somme d&#39;intégrité, programme d&#39;ordinateur et entité électronique associés
EP2323067A1 (fr) Procédé sécurisé de traitement d&#39;un contenu mémorisé au sein d&#39;un composant, et composant correspondant
EP1346271A1 (fr) Procede de securisation d&#39;un operateur logique ou mathematique dans un module electronique a microprocesseur
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
WO2002099624A1 (fr) Procede de securisation d&#39;un calcul d&#39;exponentiation dans un dispositif electronique
WO2004111833A1 (fr) Procede de contre-mesure dans un composant electronique
EP4270855A1 (fr) Protection contre les attaques par canal auxiliaire a l aide d&#39;un masquage carre
WO2007051770A1 (fr) Procede securise de manipulations de donnees lors de l&#39;execution d&#39;algorithmes cryptographiques sur systemes embarques
WO2002082257A1 (fr) Dispositif destine a realiser des calculs d&#39;exponentiation securisee et utilisation d&#39;un tel dispositif
WO2002093411A1 (fr) Dispositif destine a realiser des calculs d&#34;exponentiation appliques a des points d&#34;une courbe elliptique
FR2818473A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
FR2995110A1 (fr) Optimisation memoire cryptographique
FR2949887A1 (fr) Procede de traitement cryptographique de donnees
Fhloinn et al. Applications of partial hiding in RSA
FR2998692A1 (fr) Procede de traitement cryptographique comprenant des operations booleennes sur des donnees masquees de maniere arithmetique, dispositifs et produit programme d&#39;ordinateur correspondants
FR2854997A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique definie sur un corps de caracteristique deux

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20090430