EP1352361A1 - Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique - Google Patents

Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique

Info

Publication number
EP1352361A1
EP1352361A1 EP01995780A EP01995780A EP1352361A1 EP 1352361 A1 EP1352361 A1 EP 1352361A1 EP 01995780 A EP01995780 A EP 01995780A EP 01995780 A EP01995780 A EP 01995780A EP 1352361 A1 EP1352361 A1 EP 1352361A1
Authority
EP
European Patent Office
Prior art keywords
curve
addic
equation
calculate
adjacent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01995780A
Other languages
German (de)
English (en)
Inventor
Christophe Tymen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Publication of EP1352361A1 publication Critical patent/EP1352361A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory

Definitions

  • the invention relates to a method for introducing a hazard into the multiplicand during scalar multiplication on an elliptical Koblitz curve.
  • the invention also relates to a method enabling the Frobenius expansion method to be applied in a non-deterministic manner to an integer operating on an elliptical Koblitz curve.
  • the invention relates to a method of protection against attacks by current measurement or by measurement of electromagnetic radiation against electronic devices using cryptographic algorithms based on elliptical Koblitz curves.
  • Elliptical curves are used today in many cryptographic algorithms, because they require less computation time, and less memory space than algorithms based on computations in the group of modular integers, while offering a level identical security.
  • a particular category of elliptical curves that of the so-called anomalous or Koblitz curves, presents increased advantages in terms of computation time, and of memory required.
  • These curves are defined in a basic body of characteristic 2 to 2 n elements, where n is a positive integer.
  • GF (2 ⁇ n) such a field.
  • the fundamental property of elliptical curves, and in particular of Koblitz curves, is that they can be provided with an additive group structure, that is to say that operations similar to additions can be made between elements of the curve.
  • the most commonly used operation on elliptic curves, and in particular on Koblitz curves in a cryptographic context, is scalar multiplication. This operation is defined as follows: if Q is a point on the curve, and k a positive integer, we define kQ as the point obtained by adding Q k times to itself. Many techniques can be used to speed up this operation.
  • the acceleration comes on the one hand that in a nonadjacent decomposition, two consecutive coefficients are not both non-zero, which decreases on average by 3/2 the number of non-zero coefficients, and therefore the number d additions of points, and on the other hand, that the multiplication by the complex T is very fast, because it corresponds to an application of the frobenius on the curve.
  • the complete algorithm in fact includes an additional step, to reduce the length of the non-ad acente form, which would be 2b bits if one applied directly the algorithm of production of a form not adjacent to the multiplicand.
  • Input an integer k, a point Q on the curve
  • Step 1 calculation of k 'in Z [T] such that k' is the remainder of the division of k by T A nl;
  • Step 2 calculation of k '', the non-adjacent T-addic form corresponding to k ';
  • Step 3 calculation of k''Q.
  • the invention relates to a method for randomly coding a multiplicand during a scalar multiplication of a point belonging to a Koblitz curve.
  • the process is composed of two independent sub-processes, but which can be used jointly to obtain the best results, that is to say a maximum entropy of the exhibitor, at a minimal additional cost of calculation.
  • the first sub-method of the invention consists in generalizing the method for masking the multiplicand described above.
  • E a Koblitz curve on the field GF (2 A n)
  • Q a point generating the subgroup of E of cardinal equal to half the cardinal of the curve.
  • p the order of Q in the multiplicative group of the curve.
  • N (E) contains p, as well as the element (T A n- 1) / (T-1).
  • the encoding algorithm is detailed below: Algorithm 2:
  • Step 1 Draw a random element ri in Z [T] and a second random element r2 in Z [T] and
  • Step 3 calculate k '', the remainder of the Euclidean division of k 'by (T A N-1) / (Tl) in Z [T];
  • Step 4 Calculate the non-adjacent addic form T k '''corresponding to k''in Z [T];
  • Step 5 Return k '''.
  • the advantage of this method is to be able to effectively introduce a random character, such as for example a first random ri and a second r2 as above, in the multiplicand to be used in a scalar multiplication algorithm.
  • This method can be used in any cryptographic algorithm requiring scalar multiplication during its execution, in particular, any signature algorithm, of which the ECDSA scheme is an example, or encryption based on a scheme similar to the ElGamal scheme applied to elliptical curves.
  • the second sub-method makes it possible to introduce a hazard into the encoding of the multiplicand by varying the value of the element of Z [T] used to reduce the length of the non-adjacent addic T form during the encoding of the multiplicand.
  • algorithm 1 we effect a Euclidean division of the multiplicand k by T A nl in Z [T]. This division has the effect of reducing the length of the non-adjacent addic T form to a value equal to the base decomposition length of k.
  • algorithm 3 The process is summarized by algorithm 3:
  • Step 1 Draw a random element x in N (E) as indicated in algorithm 2;
  • Step 2 Calculate k ', the remainder of the Euclidean division of k by x in Z [T]; Step 3: Calculate k '', the non-adjacent addic form T corresponding to k '; Step 4: Return k ''.
  • Step 3 Calculate k ', the remainder of the Euclidean division of k + r2 * (T A nl) / (Tl) by rl * (T A nl);
  • Step 4 Calculate k '', the non-adjacent addic T form of k ';
  • Step 5 Return k ''.
  • This third sub-process can be used in any cryptographic scheme requiring scalar multiplication on an elliptical curve, and in particular on a Koblitz curve, to protect these schemes against attacks by measuring current or radiation.
  • This method can in particular be used to protect digital signature or encryption schemes using elliptical curves against these attacks.
  • the invention also relates to electronic devices implementing the three methods described above.
  • electronic devices are portable objects such as a smart card.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

L'invention concerne enfin un procédé de protection contre les attaques par mesure de courant ou par mesure de rayonnement électromagnétique pour des dispositifs électroniques utilisant des algorithmes cryptographiques basés sur les courbes elliptiques de Koblitz.

Description

PROCEDE DE PROTECTION CONTRE LES ATTAQUES PAR MESURE DE COURANT OU PAR MESURE DE RAYONNEMENT ELECTROMAGNETIQUE
L' invention concerne un procédé permettant d'introduire un aléa dans le multiplicande lors d'une multiplication scalaire sur une courbe elliptique de Koblitz. L'invention concerne également un procédé permettant d' appliquer de manière non déterministe la méthode d'expansion selon le Frobenius à un entier opérant sur une courbe elliptique de Koblitz. L' invention concerne enfin un procédé de protection contre les attaques par mesure de courant ou par mesure de rayonnement électromagnétique contre des dispositifs électroniques utilisant des algorithmes cryptographiques basés sur les courbes elliptiques de Koblitz.
Les courbes elliptiques interviennent aujourd'hui dans de nombreux algorithmes cryptographiques, du fait qu'elles requièrent moins de temps de calcul, et un espace mémoire moins important que les algorithmes basés sur des calculs dans le groupe des entiers modulaires, tout en offrant un niveau de sécurité identique.
Une catégorie particulière de courbes elliptiques, celle des courbes dites anomales ou de Koblitz, présente des avantages accrus en terme de temps de calcul, et de mémoire requise. Ces courbes sont définies dans un corps de base de caractéristique 2 à 2 n éléments, où n est un entier positif. On note GF(2Λn) un tel corps. Une courbe de Koblitz est définie par l'ensemble des points (x,y) solutions dans GF(2Λn) de l'équation x 2+xy=xΛ3+axA2+l, où a est un paramètre valant soit 0 soit 1. Pour chaque valeur de n, c'est-à- dire pour chaque corps GF(2An), il existe donc exactement deux courbes de Koblitz, l'une correspondant au paramètre a=l, l'autre à a=0. Dans GF(2 n), le frobenius est l'application qui à x fait correspondre x 2. Cette application peut être étendue à une courbe de Koblitz , par l'application notée f, qui à un point
(x,y) d'une courbe de Koblitz fait correspondre le point f (x,y) = (x 2,y 2) . Si Q=(x,y) est un point de la courbe, le calcul de f(Q) est très rapide, du fait que l'opération x->xA2, c'est-à-dire x associe xA2 est elle-même très rapide dans GF(2 n). L'action du frobenius sur une courbe de Koblitz peut également être vue comme une multiplication par un nombre complexe qui est la solution de l'équation x 2+2= (-1) A (1-a) x. On note par la suite T ce nombre complexe. On note maintenant Z[T] l'anneau des nombres complexes pouvant s'écrire u+vT, u et v étant de nombres entiers.
Une des propriétés de l'anneau Z[T] est qu'il peut être muni d'une division euclidienne, comme les entiers naturels. Par conséquent, et en particulier, tout élément x de Z[T] peut s'écrire sous une forme T- addique non adjacente (non-adjacent form ou NAF, en anglais), c'est-à-dire qu'on peut toujours écrire x sous la forme x=a_l TA1+ a_{l-l} TA {1-1 }+...+a_l T+a_0, 1 étant la longueur de la forme T-addique avec la propriété que les a i valent -1,0 ou 1, et que deux nombres a_i consécutifs ne sont jamais tous les deux non-nuls. On appelle également cette forme une expansion selon le Frobenius (frobenius expansion, en anglais) . De plus, 1 dépend de x de sorte que si x est un entier naturel, 1 est égal à deux fois la partie entière du logarithme en base 2 de |x|. Ceci signifie que si x est un entier de b bits, sa décomposition T- addique non adjacente admet 2b termes.
La propriété fondamentale des courbes elliptiques, et en particulier des courbes de Koblitz, est qu'on peut les munir d'une structure de groupe additif, c'est-à-dire qu'on peut faire des opérations semblables à des additions entre des éléments de la courbe. L'opération la plus couramment utilisée sur les courbes elliptiques, et en particulier sur les courbes de Koblitz dans un contexte cryptographique, est la multiplication scalaire. Cette opération est définie comme suit : si Q est un point de la courbe, et k un entier positif, on définit kQ comme le point obtenu en additionnant Q k fois à lui-même. De nombreuses techniques peuvent être utilisées pour accélérer cette opération.
En particulier, sur une courbe de Koblitz, on peut tirer partie des propriétés énoncées précédemment concernant le Frobenius de la courbe, et la multiplication complexe par T. L'algorithme de multiplication scalaire le plus efficace connu à ce jour consiste à décomposer le multiplicande k selon une forme T addique non-adjacente dans l'anneau Z[T], puis à effectuer la multiplication scalaire en utilisant comme multiplicande cette décomposition T addique. L'accélération provient d'une part que dans une décomposition non adjacente, deux coefficients consécutifs ne sont pas tous les deux non-nuls, ce qui diminue en moyenne de 3/2 le nombre de coefficients non-nuls, et donc le nombre d'additions de points, et d'autre part, que la multiplication par le complexe T est très rapide, du fait qu'elle correspond à une application du frobenius sur la courbe. L'algorithme complet inclut en fait une étape supplémentaire, pour réduire la longueur de la forme non-ad acente, qui serait de 2b bits si on appliquait directement l'algorithme de production d'une forme non adjacente au multiplicande. On réduit la taille de cette forme non adjacente en calculant préalablement le reste de la division de k par T n-l dans Z[T], et en appliquant au résultat l'algorithme produisant une forme non- adjacente. On obtient ainsi une forme non-adjacente de même longueur que la décomposition binaire de k. L'algorithme exact est détaillé comme suit, une entrée et une sortie étant définie :
Entrée : un entier k, un point Q de la courbe ;
Sortie : le point kQ ;
Algorithme 1 :
Etape 1 : calcul de k' dans Z[T] tel que k' soit le reste de la division de k par TAn-l ;
Etape 2 : calcul de k' ' , la forme T-addique non adjacente correspondant à k' ;
Etape 3 : calcul de k''Q.
Cet algorithme est décrit dans les actes de la conférence intitulée « Advances in Cryptology CRYPTO' 97 », tenue en août 1997, Santa Barbara, Californie, Etats-Unis d'Amérique.
Lors d'une multiplication scalaire de k par Q au cours d'un algorithme cryptographique, on cherche souvent à faire en sorte que la multiplication scalaire soit un algorithme non déterministe, c'est-à-dire que son exécution soit différente à chaque fois qu' il est appelé. Ceci est en particulier utile pour se protéger contre les attaques par mesure de courant (differential po er analysis, DPA en anglais, et SPA, signal power analysis, en anglais) , lorsque cet algorithme est programmé dans un dispositif électronique comme une carte à puce. L'une des techniques qui peuvent être utilisées consiste à masquer le multiplicande par un entier aléatoire. Le point Q étant un élément du groupe de la courbe, il existe un entier p tel que pQ=0 (p est appelé l'ordre du point Q) . Par conséquent, on peut modifier l'algorithme de multiplication scalaire de k par Q, en effectuant à la place de kQ, (k+rp)Q, où r est un aléa choisi arbitrairement à chaque exécution de l'algorithme de multiplication scalaire. L'inconvénient de cette méthode est que pour être efficace, ce brouillage doit faire intervenir un grand nombre de choix possibles de r, et donc des grandes valeurs de r, ce qui impose un ralentissement d'autant de l'algorithme de multiplication scalaire. De plus, le nombre de valeurs prises par rp modulo TAn-l est en général très petit, de l'ordre d'une dizaine de valeurs. Cette différence sera l'objet d'une publication lors de la conférence « CHES' 2001 », qui se tiendra à Paris en mai 2001. Par conséquent, on ne peut utiliser ce procédé pour rendre non déterministe de façon fiable la multiplication scalaire si on utilise l'algorithme 1 : le nombre d'exécutions différentes de l'algorithme de multiplication scalaire pour un même exposant k serait beaucoup trop faible, et ne fournirait pas une protection suffisante. Par conséquent, on ne connaît pas à ce jour de moyen efficace pour coder de manière aléatoire le multiplicande d'une multiplication scalaire sur une courbe de Koblitz.
L'invention concerne un procédé permettant de coder de manière aléatoire un multiplicande lors d'une multiplication scalaire d'un point appartenant à une courbe de Koblitz. Le procédé est composé de deux sous-procédés indépendants, mais qui peuvent être utilisés conjointement pour obtenir les meilleurs résultats, c'est-à-dire une entropie maximale de l'exposant, à un surcoût de calcul minimal.
Le premier sous-procédé de l'invention consiste à généraliser la méthode de masquage du multiplicande exposée plus haut. On note E une courbe de Koblitz sur le corps GF(2An), et Q un point engendrant le sous- groupe de E de cardinal égal à la moitié du cardinal de la courbe. On note p l'ordre de Q dans le groupe multiplicatif de la courbe. On note également N(E) l'ensemble des éléments x de Z[T] tels que xQ=0. En particulier, N(E) contient p, ainsi que l'élément (TAn- 1)/(T-1). Si l'algorithme doit multiplier Q par un scalaire k, selon l'invention, l'algorithme procède comme exposé précédemment, mais donne comme entrée à l'algorithme 1 Q et k'=k+r, où r est un aléa tiré dans N(E), au lieu de Q et k. Ainsi, après encodage (division par TAn-l, détermination de la forme T addique non-adjacente associée), le multiplicande sera déterminé de manière aléatoire, en fonction de l'aléa r, mais le résultat ne sera pas affecté, du fait que kQ=k'Q, par définition de l'ensemble N(E). L'algorithme d'encodage est détaillé ci-dessous : Algorithme 2 :
Entrée : un entier k, 0<=k<p ;
Sortie : une forme T addique non-adjacente 1 telle que lQ≈kQ ;
Etape 1 : Tirer un élément aléatoire ri dans Z[T] et un second élément aléatoire r2 dans Z[T] et
Calculer dans Z[T] r=rl*p+r2* (TAn-l) / (T-l) ; Etape 2 : calculer k'≈k+r ;
Etape 3 : calculer k' ' , le reste de la division euclidienne de k' par (TAN-1) / (T-l) dans Z[T] ; Etape 4 : Calculer la forme T addique non adjacente k' ' ' correspondant à k' ' dans Z[T] ; Etape 5 : Retourner k' ' ' .
L'avantage de ce procédé est de pouvoir effectivement introduire un caractère aléatoire, tel que par exemple un premier aléa ri et un second r2 comme ci-dessus, dans le multiplicande devant être utilisé dans un algorithme de multiplication scalaire. Cette méthode peut être utilisée dans tout algorithme cryptographique requerrant une multiplication scalaire au cours de son exécution, en particulier, tout algorithme de signature, dont le schéma ECDSA est un exemple, ou de chiffrement basé sur un schéma semblable au schéma ElGamal appliqué aux courbes elliptiques.
Le deuxième sous-procédé (procédé 2) permet d'introduire un aléa dans l'encodage du multiplicande en faisant varier la valeur de l'élément de Z[T] utilisé pour réduire la longueur de la forme T addique non adjacente lors de l'encodage du multiplicande. Au cours de l'algorithme 1, on effectue en effet une division euclidienne du multiplicande k par TAn-l dans Z[T]. Cette division a pour effet de ramener la longueur de la forme T addique non adjacente à une valeur égale à la longueur de décomposition en base 2 de k. D'autre part, cette opération ne change pas la valeur du résultat de la multiplication scalaire, du fait que (TAN-1)Q=0. On peut généraliser le procédé, en ne faisant plus seulement une division par TAN-1, mais par tout élément x de N(E) . Le procédé est résumé par l'algorithme 3 :
Algorithme 3 :
Entrée : un entier k, 0<=k<p ;
Sortie : une forme T addique non-adjacente 1 telle que lQ=kQ ;
Etape 1 : Tirer un élément aléatoire x dans N(E) comme indiqué dans l'algorithme 2 ;
Etape 2 : Calculer k' , le reste de la division euclidienne de k par x dans Z[T] ; Etape 3 : Calculer k' ' , la forme T addique non adjacente correspondant à k' ; Etape 4 : Retourner k' ' .
Les deux premiers sous-procédés peuvent être utilisés conjointement pour former un troisième sous- procédé (procédé 3), résumé par l'algorithme 4. Nous introduisons quelques notations. Si x=u+vT est un élément de Z[T], on note nu(x) la norme de x dans Z[T], définie par nu (x) =uA2+ (-1) A { 1-a} uv+2vA2. Cette norme vérifie la propriété que la longueur de la décomposition T addique non adjacente de x est égale à log_2 (nu (x) ) . Avec cette notation, l'algorithme 4 s'écrit comme suit :
Algorithme 4 Paramètre a : un entier a tel que n<=a<=2n ;
Entrée : un entier k, 0<=k<p ;
Sortie : une forme T addique non-adjacente 1 telle que lQ=kQ et telle que 1 soit de longueur égale à a ; Etape 1 : Choisir au hasard un élément ri de Z [T] tel que log_2 (nu (ri) ) =a-n ;
Etape 2 : Choisir au hasard un élément r2 de Z[T] tel que log_2 (nu (r2) ) =a ;
Etape 3 : Calculer k' , le reste de la division euclidienne de k+r2* (TAn-l) / (T-l) par rl*(TAn-l) ;
Etape 4 : Calculer k' ' , la forme T addique non adjacente de k' ;
Etape 5 : Retourner k' ' . Ce troisième sous-procédé peut être utilisé dans tout schéma cryptographique requerrant une multiplication scalaire sur courbe elliptique, et en particulier sur courbe de Koblitz, pour protéger ces schémas contre des attaques par mesure de courant ou de rayonnement. Ce procédé peut en particulier être utilisé pour protéger des schémas de signature numérique ou de chiffrement utilisant des courbes elliptiques contre ces attaques. Par ailleurs, l'invention concerne également des dispositifs électroniques mettant en œuvre les trois procédés décrits ci-dessus.
Plus précisément, les dispositifs électroniques sont des objets portables comme une carte à puce.

Claims

REVENDICATIONS
1. Procédé de protection contre les attaques par mesure de courant ou par mesure de rayonnement électromagnétique dans un dispositif électronique mettant en oeuvre un algorithme cryptographique basé sur les courbes elliptiques de Koblitz E définies, par l'ensemble des points (x,y), solutions de l'équation xA2+xy=xA3+axA2+l dans le corps de base de caractéristique 2 à 2An noté GF(2 n), n étant un entier positif, a un paramètre valant 1 ou 0, Q étant un point engendrant le sous-groupe de E de cardinal égal à la moitié du cardinal de la courbe E, p étant l'ordre de Q dans le groupe additif de la courbe, N(E) étant l'ensemble des éléments x de Z[T], solutions de- l'équation xQ=0, T étant un nombre complexe solution de l'équation x 2+2= (-1) A (1-a) x, Z [T] étant l'anneau des complexes pouvant s'écrire u+vT, u et v étant des nombres entiers, ledit algorithme permettant de coder de manière aléatoire un multiplicande lors d'une multiplication scalaire d'un point appartenant à une courbe de Koblitz caractérisé en ce que ledit procédé pose comme conditions l'entrée et la sortie suivantes : Entrée : choisir un entier k, 0<=k<p ;
Sortie : choisir une forme T addique non-adjacente 1 telle que lQ=kQ ; et en ce qu'il comprend les étapes de fonctionnement suivantes : Etape 1 : Tirer un élément aléatoire ri dans Z[T] et un second élément aléatoire r2 dans Z[T] et Calculer dans Z[T] r=rl*p+r2* (TAn-l) / (T-l) ; Etape 2 : calculer k'=k+r ;
Etape 3 : calculer k' ' , le reste de la division euclidienne de k' par (TAN-1) / (T-l) dans Z[T] ; Etape 4 : Calculer la forme T addique non adjacente k' ' ' correspondant à k' ' dans Z[T] ; Etape 5 : Retourner k' ' ' .
2. Procédé de protection contre les attaques par mesure de courant ou par mesure de rayonnement électromagnétique utilisant un algorithme cryptographique basé sur les courbes elliptiques de Koblitz E définies par l'ensemble des points (x,y), solutions de l'équation xA2+xy=xA3+axA2+l dans le corps de base de caractéristique 2 à 2An noté GF(2An), n étant un entier positif, a un paramètre valant 1 ou 0, Q étant un point engendrant le sous-groupe de E de cardinal égal à la moitié du cardinal de la courbe E, p étant l'ordre de Q dans le groupe additif de la courbe, N(E) étant l'ensemble des éléments x de Z[T], solutions de l'équation xQ=0, T étant un nombre complexes solution de l'équation xA2+2= (-1) A (1-a) x, Z [T] étant l'anneau des complexes pouvant s'écrire u+vT, u et v étant des nombres entiers, ledit algorithme permettant de coder de manière aléatoire un multiplicande lors d'une multiplication scalaire d'un point appartenant à une courbe de Koblitz caractérisé en ce que ledit procédé pose comme conditions l'entrée et la sortie suivantes : Entrée : choisir un entier k tel que 0<=k<p ; Sortie : choisir une forme T addique non-adjacente
1 telle que lQ=kQ ; et en ce qu' il comprend les étapes de fonctionnement suivantes : Etape 1 : Tirer un élément aléatoire x dans N(E) comme indiqué dans l'algorithme 2 ;
Etape 2 : Calculer k' , le reste de la division euclidienne de k par x dans Z[T] ;
Etape 3 : Calculer k' ' , la forme T addique non adjacente correspondant à k' ;
Etape 4 : Retourner k' ' .
3. Procédé de protection contre les attaques par mesure de courant ou par mesure de rayonnement électromagnétique utilisant un algorithme cryptographique basé sur les courbes elliptiques de Koblitz E définies par l'ensemble des points (x,y) solutions de l'équation x 2+xy=xA3+axA2+l dans le corps de base de caractéristique 2 à 2An noté GF(2Λn), a un paramètre valant 1 ou 0, n étant un entier positif, Q étant un point engendrant le sous-groupe de E de cardinal égal à la moitié du cardinal de la courbe E, p étant l'ordre de Q dans le groupe multiplicatif de la courbe, N(E) étant l'ensemble des éléments x de Z[T], solutions de l'équation xQ=0, T étant un nombre complexe solution de l'équation xA2+2= (-1) A (1-a) x, Z[T] étant l'anneau des complexes pouvant s'écrire u+vT, u et v étant des nombres entiers, ledit algorithme permettant de coder de manière aléatoire un multiplicande lors d'une multiplication scalaire d'un point appartenant à une courbe de Koblitz caractérisé en ce que ledit procédé pose comme conditions l'entrée, la sortie, les notations et le paramètre a suivants :
Notations : Si x=u+vT est un élément de Z[T], on note nu(x) la norme de x dans Z[T], définie par nu(x)=uA2+ (-1) {l-a} uv+2vA2, norme vérifiant la propriété que la longueur de la décomposition T addique non adjacente de x est égale à log_2 (nu (x) ) ;
Paramètre a : un entier a tel que n<=a<=2n ; Entrée : un entier k, 0<=k<p ;
Sortie : une forme T addique non-adjacente 1 telle que lQ=kQ et telle que 1 soit de longueur égale à a ; et en ce qu'il comprend les étapes de fonctionnement suivantes :
Etape 1 : Choisir au hasard un élément ri de Z[T] tel que log_2 (nu (ri) ) =a-n ;
Etape 2 : Choisir au hasard un élément r2 de Z[T] tel que log_2 (nu (r2) ) =a ; Etape 3 : Calculer k' , le reste de la division euclidienne de k+r2* (TAn-l) / (T-l) par rl*(TAn-l) ;
Etape 4 : Calculer k' ' , la forme T addique non adjacente de k' ;
Etape 5 : Retourner k' ' .
4. Dispositif électronique mettant en œuvre les procédés de protection contre les attaques par mesure de courant ou par mesure de rayonnement selon l'une quelconque des revendications 1 à 3.
5. Dispositif électronique selon la revendication 4 caractérisé en ce qu'il s'agit d'un objet portable électronique.
6. Dispositif électronique selon la revendication 5 caractérisé en ce qu'il s'agit d'une carte à puce.
EP01995780A 2000-12-29 2001-12-21 Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique Withdrawn EP1352361A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0017268A FR2819078B1 (fr) 2000-12-29 2000-12-29 Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique
FR0017268 2000-12-29
PCT/FR2001/004180 WO2002054343A1 (fr) 2000-12-29 2001-12-21 Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique

Publications (1)

Publication Number Publication Date
EP1352361A1 true EP1352361A1 (fr) 2003-10-15

Family

ID=8858383

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01995780A Withdrawn EP1352361A1 (fr) 2000-12-29 2001-12-21 Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique

Country Status (3)

Country Link
EP (1) EP1352361A1 (fr)
FR (1) FR2819078B1 (fr)
WO (1) WO2002054343A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE20217616U1 (de) 2002-11-13 2003-02-20 Technische Universität Darmstadt, 64285 Darmstadt Kryptographievorrichtung mit einer gegen Seitenkanal-Angriffe resistenten Implementierung der Punktmultiplikation auf elliptischen Kurven
US7555122B2 (en) 2002-12-04 2009-06-30 Wired Communications LLC Method for elliptic curve point multiplication

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2782431B1 (fr) * 1998-08-17 2000-09-29 Gemplus Sca Procede et dispositif d'authentification a algorithme symetrique

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO02054343A1 *

Also Published As

Publication number Publication date
WO2002054343A1 (fr) 2002-07-11
FR2819078B1 (fr) 2003-02-14
FR2819078A1 (fr) 2002-07-05

Similar Documents

Publication Publication Date Title
Cantat et al. Symétries birationnelles des surfaces feuilletées
EP2002546B1 (fr) Codage/decodage perfectionnes de signaux numeriques, en particulier en quantification vectorielle avec codes a permutation
WO2014111647A1 (fr) Procede de cryptographie comprenant une operation de multiplication par un scalaire ou une exponentiation
EP0692762B1 (fr) Circuit logique de multiplication parallèle
EP1358732A1 (fr) Procede de cryptage securise et composant utilisant un tel procede de cryptage
FR2809893A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique
EP1190344B1 (fr) Multiplieur de nombres complexes
FR2853424A1 (fr) Architecture de multiplicateurs polynomial et naturel combines
EP1166495A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
WO2004046017A2 (fr) Procede de division entiere securise contre les attaques a canaux caches
CA2257907A1 (fr) Procede de cryptographie a cle publique
EP1352361A1 (fr) Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique
FR2648585A1 (fr) Procede et dispositif pour la multiplication rapide de codes a complement a 2 dans un systeme de traitement de signal numerique
WO2004105304A1 (fr) Transmission securisee de donnees entre deux modules
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
EP0237382A1 (fr) Dispositif de transformée en cosinus d&#39;un signal numérique échantilloné
FR2754616A1 (fr) Procede et circuit de division d&#39;elements d&#39;un corps de galois
EP1254408B1 (fr) Procede de calcul d&#39;exponentation modulaire dans un composant electronique mettant en oeuvre un algorithme de chiffrement a cle publique
EP1639451A2 (fr) Procédé de contre-mesure par masquage de l&#39;accumulateur
EP1071008A1 (fr) Procédé pour effectuer une multiplication avec accumulation dans un corps de Galois.
WO2007006810A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
FR2814619A1 (fr) Procede d&#39;encodage de messages longs schemas de signature electronique a base de rsa
WO2007122319A1 (fr) Additionneur n bits et procédé d&#39;addition correspondant
FR2741973A1 (fr) Procede de production d&#39;un parametre jo associe a la mise en oeuvre d&#39;operation modulaire selon la methode de montgomery
FR2856538A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique

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: 20030703

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

17Q First examination report despatched

Effective date: 20081218

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: 20090429