FR2821945A1 - Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique - Google Patents
Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique Download PDFInfo
- Publication number
- FR2821945A1 FR2821945A1 FR0103329A FR0103329A FR2821945A1 FR 2821945 A1 FR2821945 A1 FR 2821945A1 FR 0103329 A FR0103329 A FR 0103329A FR 0103329 A FR0103329 A FR 0103329A FR 2821945 A1 FR2821945 A1 FR 2821945A1
- Authority
- FR
- France
- Prior art keywords
- polynomial
- point
- degree
- isomorphism
- calculation
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7228—Random curve mapping, e.g. mapping to an isomorphous or projective curve
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
L'invention concerne un procédé de protection contre les attaques par mesure de courant ou de rayonnement électromagnétique contre des dispositifs électroniques utilisant des procédés cryptographiques basés sur les courbes elliptiques. Ce procédé est caractérisé par un choix aléatoire d'un corps K' isomorphe à un corps K sur lequel est définie une courbe elliptique E (K) et par un isomorphisme aléatoire de K dans K'.
Description
<Desc/Clms Page number 1>
PROCÉDÉ DE PROTECTION CONTRE LES ATTAQUES PAR MESURE DE COURANT OU DE
RAYONNEMENT ÉLECTROMAGNÉTIQUE
L'invention concerne un procédé algorithmique de protection contre les attaques par mesure de courant ou par mesure de rayonnement électromagnétique contre des dispositifs électroniques
utilisant des procédés cryptographiques basés sur des courbes elliptiques.
RAYONNEMENT ÉLECTROMAGNÉTIQUE
L'invention concerne un procédé algorithmique de protection contre les attaques par mesure de courant ou par mesure de rayonnement électromagnétique contre des dispositifs électroniques
utilisant des procédés cryptographiques basés sur des courbes elliptiques.
Par la suite, on notera K un corps fini. Une courbe elliptique définie sur K est l'ensemble des points A = (x, y) E K2 (x et y sont par définition les coordonnées du point A) solutions de l'équation l'équation 2 3 2 où al, a2, a3, a4, ab sont des éléments de K. On note E (K) l'ensemble des points qui sont solutions de cette équation. E (K) forme ce qu'on appelle une courbe elliptique.
Une propriété fondamentale d'une courbe elliptique est qu'on peut additionnner des points de la courbe entre eux, comme on pourrait le faire avec des nombres. On dit qu'une courbe elliptique forme un groupe abélien. En cryptographie, l'opération de base qui est effectuée sur une courbe elliptique est d'additionner un point A à lui-même un certain nombre de fois. Si k est un entier, on note kA le résultat de l'addition de A k fois à lui-même. On appelle cette opération une multiplication scalaire. Un exemple d'utilisation de cette opération est fourni par le procédé de chiffrement dit de ElGamal, ou par le procédé de signature numérique dit ECDSA. Dans chacun de ces exemples, k est une donnée secrète du procédé, qui ne doit pas être dévoilée afin d'en garantir la sécurité.
Les procédés cryptographiques cités précédemment, lorsqu'ils sont utilisés dans des dispositifs électroniques, peuvent être soumis à des attaques par mesure de courant, ou par mesure de rayonnement électromagnétique. Le principe de ces attaques est de mesurer la puissance électrique consommée par le dispositif (ou la puissance du champ magnétique rayonné), au cours de l'exécution d'un algorithme cryptographique. Un traitement statistique des données obtenues permet ensuite de déterminer la clé secrète utilisée au cours du déroulement de cet algorithme. Pour
<Desc/Clms Page number 2>
déjouer ces attaques, un moyen est de rendre l'exécution de l'algorithme cryptographique probabiliste, de manière que l'exécution de l'algorithme change à chaque fois qu'il est utilisé, même si l'entrée fournie à l'algorithme reste identique. Ainsi, il devient impossible de procéder utilement à un traitement statistique des mesures observées. L'invention est donc un procédé permettant de rendre probabiliste l'opération de calcul de kA, lorsque k est une valeur secrète du procédé cryprographique utilisé.
L'invention est expliquée en détail dans la section 4.2 de la publication intitulée Protection against Differential Analysis for Elliptic Curve Cryptography , à paraître dans les actes de la conférence Ches'2001 (Cryptographic Hardware and Embedded Systems), qui se tiendra à Paris au
mois de mai 2001. Afin d'en expliquer le fonctionnement, nous commençons par rappeler quelques notions concernant les corps finis. Si p est un nombre premier, on note Fp le corps formé des entiers considérés modulo le nombre p. Si K est un corps, on note K [X] l'anneau des polynômes à coefficients dans K. Si P, Q sont deux éléments de K [X], on note R = P o Q l'élément de K [X] défini par R (X) = P (Q (X)). On dit qu'un polynôme dans K est unitaire si le coefficient de son terme de plus haut degré est égal à un. On dit qu'un polynôme dans K [X] est irréductible si les seuls polynômes qui le divisent sont lui-même et les polynômes de degré nul. Si I est un idéal de K [X], on note ' [A'j/7 l'anneau défini par le quotient de K par l'idéal I. Si P est un élément de-K-Y], on note (P) l'idéal de K [X] engendré par P. Un résultat fondamental est que tout corps fini K peut s'écrire de manière unique comme =] FpM/ (P), (1) où p est un nombre premier, et où P est un polynôme unitaire irréductible de Fp [X]. p est appelé la caractéristique du corps K. Le degré de K est défini par le degré du polynôme P.
mois de mai 2001. Afin d'en expliquer le fonctionnement, nous commençons par rappeler quelques notions concernant les corps finis. Si p est un nombre premier, on note Fp le corps formé des entiers considérés modulo le nombre p. Si K est un corps, on note K [X] l'anneau des polynômes à coefficients dans K. Si P, Q sont deux éléments de K [X], on note R = P o Q l'élément de K [X] défini par R (X) = P (Q (X)). On dit qu'un polynôme dans K est unitaire si le coefficient de son terme de plus haut degré est égal à un. On dit qu'un polynôme dans K [X] est irréductible si les seuls polynômes qui le divisent sont lui-même et les polynômes de degré nul. Si I est un idéal de K [X], on note ' [A'j/7 l'anneau défini par le quotient de K par l'idéal I. Si P est un élément de-K-Y], on note (P) l'idéal de K [X] engendré par P. Un résultat fondamental est que tout corps fini K peut s'écrire de manière unique comme =] FpM/ (P), (1) où p est un nombre premier, et où P est un polynôme unitaire irréductible de Fp [X]. p est appelé la caractéristique du corps K. Le degré de K est défini par le degré du polynôme P.
Un deuxième résultat fondamental est que si deux corps finis ont même degré et même caractéristique, alors ils sont isomorphes. Ceci signifie que si P et Q sont deux polynômes unitaires
irréductibles et de même degré, alors Ep [X]/ (P) et IFp [X]/ (Q) sont isomorphes. On note ceci Fp [X]/ (P) Fp [X]/ (Q).
irréductibles et de même degré, alors Ep [X]/ (P) et IFp [X]/ (Q) sont isomorphes. On note ceci Fp [X]/ (P) Fp [X]/ (Q).
<Desc/Clms Page number 3>
En particulier, il y a autant de corps isomorphes que de polynômes irréductibles de même degré.
Si K et K'sont deux corps isomorphes, on note ib un isomorphisme de K dans K', ce qu'on représente symboliquement par l'expression
(D : K-+ K'.
On définit alors l'application $ de K2 dans K, 2 par ( (x, y) = ( < (x), < (y)). Ainsi, ( transforme
E (K) en E' (K'), où E' (K) est la courbe formée des points de K 2 solution de l'équation
y2 + (D (al) xy + (a3) Y = + $ (a2) + (a4) X + $ (a5).
(D : K-+ K'.
On définit alors l'application $ de K2 dans K, 2 par ( (x, y) = ( < (x), < (y)). Ainsi, ( transforme
E (K) en E' (K'), où E' (K) est la courbe formée des points de K 2 solution de l'équation
y2 + (D (al) xy + (a3) Y = + $ (a2) + (a4) X + $ (a5).
Supposons maintenant que l'algorithme cryptographique consiste à calculer kA, où A = (x, y) est un point d'une courbe elliptique E (K). L'invention consiste à choisir au hasard un corps K' isomorphe à K au début de l'algorithme cryptographique, puis à calculer le point A'= O (A) de la courbe E' (K). Ensuite, on effectue le calcul de B : = kA'dans la courbe E' (K'). Pour obtenir le résultat final, qui est kA, on calcule finalement le point $' ((B) pour obtenir le point kA de E (K).
L'invention est donc caractérisée en ce que l'algorithme produisant kA à partir de k et de A est rendu aléatoire par un choix aléatoire de corps isomorphe au corps de base à chaque exécution de l'algorithme. Avec les notations définies précédemment, le procédé de l'invention est résumé par l'identité
kA = ( (A)).
Formulé différemment, le procédé de l'invention consiste à transformer aléatoirement une courbe E (K) en une courbe El (KI), où Kr erst un corps isomorphe à K choisi aléatoirement, et différemment à chaque exécution de l'algorithme effectuant le calcul de kA.
kA = ( (A)).
Formulé différemment, le procédé de l'invention consiste à transformer aléatoirement une courbe E (K) en une courbe El (KI), où Kr erst un corps isomorphe à K choisi aléatoirement, et différemment à chaque exécution de l'algorithme effectuant le calcul de kA.
Dans les dispositifs électroniques qui disposent d'une faible capacité de calcul, ou d'un volume restreint de mémoire, la mise en oeuvre du procédé exposé ci-dessus est difficile, du fait du nombre d'opérations qu'il requiert. Par conséquent, l'invention concerne également un procédé permettant de calculer des isomorphismes de corps aléatoire d'une manière qui requiert peu de calculs et peu de mémoire. Ce procédé convient particulièrement bien au cas des dispositifs électroniques à
<Desc/Clms Page number 4>
faible capacité de calcul, comme expliqué plus tôt. Afin d'expliquer ce deuxième procédé, nous rappelons quelques notions concernant les isomorphismes de corps. Supposons que P et Q soient deux polynômes irréductibles, unitaires et de même degré n de Fp [X], p étant un nombre premier.
Comme on l'a rappelé précédemment, P et Q définissent alors deux corps isomorphes, qu'on note respectivement K et K'. Notons par a une racine du polyôme P dans K'. Soit u un élément de K.
Comme on l'a vu à l'équation (1), u peut être représenté par un polynôme de Fp [X] de degré plus petit que n, qu'on note U (X). Alors l'application
K- K' u U (a)
est un isomorphisme de K dans K'. De plus, comme l'on utilise également l'inverse de cet isomorphisme, il faut aussi déterminer une racine de Q dans K. Par conséquent, pour déterminer un isomorphisme de corps partant de K, et pour pouvoir l'utiliser de manière efficace, il faut : 1. Déterminer un polynôme irréductible Q de degré n de Tp [X].
K- K' u U (a)
est un isomorphisme de K dans K'. De plus, comme l'on utilise également l'inverse de cet isomorphisme, il faut aussi déterminer une racine de Q dans K. Par conséquent, pour déterminer un isomorphisme de corps partant de K, et pour pouvoir l'utiliser de manière efficace, il faut : 1. Déterminer un polynôme irréductible Q de degré n de Tp [X].
2. Déterminer une racine de Q dans K.
3. Déterminer une racine de P dans Fp [X]/ (Q).
L'invention concerne donc aussi un procédé permettant de réaliser les trois points précédants d'une manière plus efficace que les méthodes employées aujourd'hui pour faire ce type d'opérations.
L'état de l'art en la matière est décrit dans le livre intitulé A course in computational number theory, d'Henri Cohen, publié par Springer-Verlag. Le procédé de l'invention exploite le fait que si l'on connaît déjà un polynôme Q unitaire irréductible et de degré n, on peut construire facilement un autre polynôme R possédant les mêmes propriétés. Les raisons de ceci proviennent d'un théorème que nous expliquons brièvement. On dit qu'un élément de T E Afp [X] est une permutation polynômiale si l'application
K---+K !-- T (x)
est une bijection. On peut prouver que si Q IFp [X] est un polynôme irréductible de degré n, et si T E JFp [X] est une permutation polynômiale, alors le polynôme Q o T a au moins un diviseur
K---+K !-- T (x)
est une bijection. On peut prouver que si Q IFp [X] est un polynôme irréductible de degré n, et si T E JFp [X] est une permutation polynômiale, alors le polynôme Q o T a au moins un diviseur
<Desc/Clms Page number 5>
irréductible de degré n dans Ep [X]. Ceci permet de déduire facilement d'un polynôme irréductible de degré n un autre polynôme irréductiblde de même degré, à condition d'employer pour T une permutation polynômiale de petit degré, par exemple deux ou trois. Ainsi, il est très rapide de factoriser Q o T, et donc d'en déterminer un diviseur irréductible de degré n.
On détaille maintenant une réalisation possible de l'invention qui utilise les deux procédés exposés précédemment. Nous nous plaçons dans le cas où un dispositif électronique, par exemple une carte à puce, cet exemple n'étant pas limitatif, doit exécuter un algorithme cryptographique qui implique un étape de multiplication scalaire sur une courbe elliptique définie sur un corps fini K de caractéristique p. Dans ce contexte, K est un corps défini par un polynôme irréductible P Fp [X] de degré n et unitaire, et qui est utilisé à la fois par le dispositif électronique, et par les dispositifs qui doivent communiquer avec lui. Ainsi, K est une donnée publique convenue par avance. L'algorithme est exécuté plusieurs fois de suite, et on note par j le nombre de fois que l'algorithme a été exécuté jusqu'à maintenant. Le dispositif électronique a stocké dans sa mémoire certaines informations. La mémoire utilisée est supposée réinscriptible plusieurs fois, et telle que même si le dispositif est réinitialisé, ou privé d'alimentation électrique, les données contenues dans cette mémoire sont conservées inchangées. Un exemple de réalisation d'un tel type de mémoire est la mémoire dite EEPROM. À l'étape j, le dispositif est supposé avoir stocké :
1. un polynôme P Fp [X] irréductible, unitaire et de degré n. Ce polynôme définit un corps isomorphe à K, et on le note K (j).
1. un polynôme P Fp [X] irréductible, unitaire et de degré n. Ce polynôme définit un corps isomorphe à K, et on le note K (j).
2. un élément cm K tel que
P (j) )- dans K. (2)
3. un élément e tel que
P (ss =0dans. (3) D'autre part, on suppose également que pendant la fabrication du dispositif, on a stocké dans une mémoire permanente un certain nombre d'informations. Un exemple non restrictif de réalisation d'une telle mémoire est une mémoire ROM. Ces informations consistent en un ensemble 6 de
P (j) )- dans K. (2)
3. un élément e tel que
P (ss =0dans. (3) D'autre part, on suppose également que pendant la fabrication du dispositif, on a stocké dans une mémoire permanente un certain nombre d'informations. Un exemple non restrictif de réalisation d'une telle mémoire est une mémoire ROM. Ces informations consistent en un ensemble 6 de
<Desc/Clms Page number 6>
plusieurs permutation polynômiales Tal,..., Tt. Les données de o : \/3 et P (j) déterminent un isomorphisme (D (j) de K dans K (j), ainsi que son inverse b (j) 1 de K (j) dans K. Lors de l'appel de l'algorithme, on applique cet isomorphisme < comme expliqué précédemment au point A avant d'effectuer la multiplication scalaire de k par < (A), puis on applique l'inverse de cet isomorphisme au résulat, pour produire le résultat final, c'est-à-dire le point kA. Après avoir produit ce résultat,
on calcule de nouvelles valeurs pour a,/3\ P, et donc pour K (j) et $(j). Dans tout ce qui suit, pour des raisons de simplicité, nous utilisons un abus de notation qui consiste à confondre un élément d'un corps fini avec sa représentation polynômiale. Nous choisissons un élément T de 6 aléatoirement, et nous déterminons un facteur irréductible de degré n dans Fp [X] de P o T, que nous notons P (j+'). Pour déterminer ce polynôme, on peut utiliser un algorithme classique de factorisation, exposé par exemple dans le livre précité d'Henri Cohen. Nous définissons ensuite
ssU+1) = ss (j) 0 T mod pU+I), ainsi que Ainsi que #035(j+1)=T-1(#035(j) mod P.
On peut vérifier que a (j+') et e (j+') vérifient toujours respectivement les équations (2) et (3), ce qui prépare le dispositif électronique à une nouvelle exécution de l'algorithme.
Afin de préciser davantage la réalisation du procédé que l'on vient d'exposer, l'invention consiste en un troisième procédé qui permet de choisir de manière efficace les permutations polynômiales Ti de l'ensemble 6. Comme expliqué précédemment, le procédé général de l'invention est particulièrement efficace lorsque les permutations considérées sont des polynômes de petit degré. Selon l'invention, on peut choisir ces permutations en utilisant un théorème que nous exposons maintenant. Ce théorème est restreint au cas particulier où p = 2, c'est-à-dire pour des courbes elliptiques
définies sur un corps de caractéristique deux. Le théorème en question stipule que si 2n - 1 et 3 sont premiers entre eux, alors les polynômes de F2 [X] X, 1 + J, X + X + J, 1 + X + X + X sont des permutation polynômiales de 24. Ainsi, on peut choisir pour les Ti ces polynômes.
définies sur un corps de caractéristique deux. Le théorème en question stipule que si 2n - 1 et 3 sont premiers entre eux, alors les polynômes de F2 [X] X, 1 + J, X + X + J, 1 + X + X + X sont des permutation polynômiales de 24. Ainsi, on peut choisir pour les Ti ces polynômes.
<Desc/Clms Page number 7>
Un quatrième procédé de l'invention consiste à spécialiser l'algorithme de factorisation de polynôme lorsque les permutations utilisées sont celles exposées précédemment. Selon l'invention, si Q est un polynôme irréductible, si T est une permutation polynômiale de degré trois, et si R = Q oT, alors, on peut calculer un facteur irréductible de degré n de R en deux étapes :
1. On calcule Z (X) = X2n - X mod R (X).
1. On calcule Z (X) = X2n - X mod R (X).
2. On calcule le polynôme M défini comme le plus grand commun diviseur de R et de Z.
Le polynôme M est alors irréductible de degré n. L'avantage de cette méthode est qu'elle requiert moins de calcul que l'art antérieur exposé dans le livre d'Henri Cohen.
On expose maintenant une réalisation non limitative de l'invention utilisant les quatre procédés exposés précédemments. Cette réalisation concerne les courbes définies sur un corps de caractéristique deux, ce qui constitue une limitation aux deux premiers procédés, qui concernent tous les types de courbes elliptiques. Cette réalisation est présentée sous la forme d'un algorithme qui prend en entrée un point A d'une courbe E (einz un entier k, et qui calcule kA, c'est-à-dire le résultat de la multiplication scalaire de A par k. Dans cet algorithme, on note
PGCD (U, V) le plus grand commun diviseur des polynômes U et V dans JF2n [X]. On note également R[O], R[l], R[2], R[3], R[4], R[5] des variables utilisées par l'algorithme. De plus, si L est une variable de l'algorithme, la notation L ± signifie qu'on affecte la valeur l à la variable L. Enfin, iz la notation L f : - L signifie qu'on affecte à la variable L une valeur aléatoire choisie uniformément dans l'ensemble L.
PGCD (U, V) le plus grand commun diviseur des polynômes U et V dans JF2n [X]. On note également R[O], R[l], R[2], R[3], R[4], R[5] des variables utilisées par l'algorithme. De plus, si L est une variable de l'algorithme, la notation L ± signifie qu'on affecte la valeur l à la variable L. Enfin, iz la notation L f : - L signifie qu'on affecte à la variable L une valeur aléatoire choisie uniformément dans l'ensemble L.
Enfin, dans la réalisation exposée, la courbe elliptique est définie par l'équation + = + (M + & .
Ce cas particulier n'est qu'illustratif, et n'implique pas de limitation au cas de la caractéristique deux. o ( (, ' (j), P (j) comme définis précédemment sont stockés dans une mémoire de type EEPROM.
<Desc/Clms Page number 8>
2) Un entier k.
Sortie : Le point kA.
1. 3 R [4] R [0] o [3] dans Fz].
1. 4 R [5] < (-J-X mod [4].
1. 5 R PGCD (R[4], R[5]).
1. 6 R[l] R[l] 0 R[3] mod R [O].
1. 7 R [2] R [3]-' (R [2]) mod P.
1. 8 pU+l) R[a], ssU+l) R[l], aU+l) R[2].
2. [Calcul du point isomorphe] a' # ao R[1] mod R[0] b' # boR [l] modR [O] x' # x o R[1] mod R [O] y' # y o R[1] mod R[0].
4. [Calcul du point isomorphe] u (- x"o R [2] mod P v - < /"o R [2] mod P.
5. Renvoyer (u, v).
Claims (5)
- REVENDICATIONS 1. Procédé de protection contre les attaques par mesure de courant d'un algorithme cryptogra- phique basé sur les courbes elliptiques destiné à calculer le point kA, A étant un point d'une courbe elliptique E (K) définie sur un corps fini K de degré n et de caractéristique p, p étant un nombre premier, et k étant un entier, caractérisé en ce qu'il comprend les étapes suivantes : (a) Choix aléatoire d'un corps K'isomorphe au corps K.(b) Détermination d'un isomorphisme aléatoire q : de K dans K'.(c) Calcul du point A'= (A), élément de la courbe elliptique E' (K') déduite de la courbe elliptique E (K) par application de l'isomorphisme $.(d) Calcul du point B égal par définition à kA', ce calcul ayant lieu dans la courbe E' ().E (K).(e) Calcul du point C égal par définition au point $' (B), qui est un point de la courbe
- 2. Procédé de protection selon la revendication 1 comprenant un procédé de calcul pour déter- miner de manière aléatoire un corps K'isomorphe au corps de base K, et pour construire l'isomorphisme associé, caractérisé en ce qu'il construit un nouveau polynôme irréductibleR de degré n à partir d'un polynôme irréductible Q de degré n connu, et d'un polynôme de permutation T, et qu'il construit un nouvel isomorphisme à partir d'un isomorphisme connu.
- 3. Procédé de protection selon la revendication 2 caractérisé en ce que le nouveau polynôme irréductible R est déduit de l'ancien Q par le fait qu'il est un diviseur du polynôme Q o T, égal à la composée de l'ancien polynôme irréductible Q avec un polynôme de permutation T choisi aléatoirement.
- 5. Procédé de protection contre les attaques par mesure de courant d'un algorithme cryptographique destiné à calculer le point kA, A étant un point d'une courbe elliptique E (K) définie sur un corps fini K de degré n et de caractéristique deux, caractérisé en ce qu'il permet de factoriser un polynôme de la forme QoT, où Q est un polynôme à coefficents binaires, et où T est une permutation polynômiale de degre trois de K, et qu'il comprend les étapes suivantes : (a) Calcul de Z (X) = X-X mod R (X).(b) Calcul du polynôme qui est égal au plus grand commun diviseur de R et de Z dans l'anneau des polynômes à coefficients binaires.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0103329A FR2821945B1 (fr) | 2001-03-12 | 2001-03-12 | Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0103329A FR2821945B1 (fr) | 2001-03-12 | 2001-03-12 | Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2821945A1 true FR2821945A1 (fr) | 2002-09-13 |
FR2821945B1 FR2821945B1 (fr) | 2003-05-30 |
Family
ID=8861002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0103329A Expired - Fee Related FR2821945B1 (fr) | 2001-03-12 | 2001-03-12 | Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2821945B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2854997A1 (fr) * | 2003-05-16 | 2004-11-19 | Gemplus Card Int | 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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999030458A1 (fr) * | 1997-12-05 | 1999-06-17 | Secured Information Technology, Inc. | Procedes de transformation pour l'optimisation de calculs de courbes elliptiques |
FR2791496A1 (fr) * | 1999-03-26 | 2000-09-29 | Gemplus Card Int | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique |
-
2001
- 2001-03-12 FR FR0103329A patent/FR2821945B1/fr not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999030458A1 (fr) * | 1997-12-05 | 1999-06-17 | Secured Information Technology, Inc. | Procedes de transformation pour l'optimisation de calculs de courbes elliptiques |
FR2791496A1 (fr) * | 1999-03-26 | 2000-09-29 | Gemplus Card Int | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2854997A1 (fr) * | 2003-05-16 | 2004-11-19 | Gemplus Card Int | 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 |
Also Published As
Publication number | Publication date |
---|---|
FR2821945B1 (fr) | 2003-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2946284B1 (fr) | Procédé de cryptographie comprenant une opération de multiplication par un scalaire ou une exponentiation | |
EP1414182B1 (fr) | Masquage de données décomposées dans un système de résidus | |
FR2885711A1 (fr) | Procede et materiel modulaire et aleatoire pour la reduction polynomiale | |
FR2791497A1 (fr) | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique | |
WO2007074149A1 (fr) | Procédé cryptographique comprenant une exponentiation modulaire sécurisée contre les attaques à canaux cachés, cryptoprocesseur pour la mise en oeuvre du procédé et carte à puce associée | |
FR2923305A1 (fr) | Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete | |
CA2712180A1 (fr) | Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature | |
FR2809893A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur 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 | |
EP1291763A1 (fr) | Procédé de brouillage d'un calcul à quantité secrète | |
WO2006070092A1 (fr) | Procede de traitement de donnees et dispositif associe | |
FR2828779A1 (fr) | Procede de calcul universel applique a des points d'une courbe elliptique | |
FR2821945A1 (fr) | Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique | |
FR2818765A1 (fr) | Multiplicateur modulaire et processeur de cryptage/decryptage utilisant le multiplicateur modulaire | |
FR2821944A1 (fr) | Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique | |
FR2773231A1 (fr) | Procede de production ameliore d'un parametre jo associe a la mise en oeuvre d'operations modulaires selon la methode de montgomery | |
EP1352360B1 (fr) | Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique | |
EP4270855A1 (fr) | Protection contre les attaques par canal auxiliaire a l aide d'un masquage carre | |
FR3010562A1 (fr) | Procede de traitement de donnees et dispositif associe | |
WO2005069122A2 (fr) | Procede cryptographique d'exponentiation modulaire protege contre les attaques de type dpa | |
EP2275925B1 (fr) | Procédé de traitement cryptographique de données et dispositif associé | |
EP1660989A2 (fr) | Reduction modulaire pour un procede cryptographique, et coprocesseur pour la realisation d'une telle reduction modulaire | |
EP1891769A1 (fr) | Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre | |
FR2819078A1 (fr) | Procede de protection contre les attaques par mesure de courant ou par mesure de rayonnement electromagnetique | |
WO2001006351A1 (fr) | Procede d'amelioration de performance de l'operation de multiplication sur un corps fini de caracteristique 2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20091130 |