Brevet FR3105490A1 — publié le 20210625

L’invention concerne un procédé de traitement cryptographique de données impliquant au moins un premier point d’une courbe elliptique représenté par au moins trois premiers éléments d’un corps fini, le procédé comprenant des étapes de : - détermination d’une valeur (U1, U2, U3, U4, U5) à partir d’au moins un élément parmi les trois premiers éléments, - mémorisation de la valeur (U1, U2, U3, U4, U5) déterminée dans une mémoire d’une entité électronique, et - mise en œuvre au sein de l’entité électronique d’au moins une opération d’addition sur la courbe elliptique ayant un opérande dépendant du premier point, l’opération d’addition étant effectuée par une première séquence d’opérations successives incluant au moins une multiplication dans le corps fini et une addition dans le corps fini, et utilisant ladite valeur mémorisée, ladite valeur mémorisée étant déterminée par addition ou soustraction de deux éléments parmi les trois premiers éléments du corps fini. L’invention concerne également une entité électronique associée. Figure pour l’abrégé : Fig. 3 Procédé de traitement cryptographique de données et entité électronique associée La présente invention concerne le domaine technique de la cryptographie. Elle concerne plus particulièrement un procédé de traitement cryptographique de données mis en œuvre au sein d’une entité électronique et une entité électronique apte à mettre en œuvre un traitement cryptographique de données. On connaît le traitement cryptographique de données sur courbe elliptique par exemple pour la construction d’un secret partagé ou la signature d’un message. Les propriétés des courbes elliptiques sur les corps finis sont notamment utilisées lors des calculs impliqués dans le traitement des données, par exemple pour la signature d’un message. Certains calculs impliqués dans le traitement de données sur courbe elliptique utilisent une pluralité d’opérations d’addition répétées ayant chacune comme opérandes un point de la courbe elliptique. C’est notamment le cas en particulier de la multiplication d’un point de la courbe elliptique par un scalaire (généralement de valeur secrète). En effet, cette opération repose sur la combinaison de deux opérations : une addition de points de la courbe elliptique et un doublement sur la courbe elliptique. Ces deux opérations sont elles-mêmes réalisées par la mise en œuvre d’opérations (additions, soustractions et multiplications) dans le corps fini sur les coordonnées du ou des points concernés. Afin de se protéger des attaques par canal auxiliaire (ou « Side Channel Attacks » selon l’appellation d’origine anglo-saxonne couramment utilisée) telles que l’observation de la consommation énergétique (de l’entité électronique dans laquelle sont mises en œuvre les opérations) pour tenter de déterminer les opérations qui y sont mises en œuvre, il a été proposé, par exemple dans le document FR3010562, de réaliser les opérations susmentionnées dans le corps fini parmi un ensemble plus large d’opérations, dont certaines sont factices. Cependant, les opérations factices requièrent un temps d’exécution non négligeable qui affecte la performance de traitement des données. En outre, une personne qui réalise une attaque ciblant une opération factice détecterait que cette attaque n’a pas impacté le résultat final. Cette personne pourrait alors en déduire que l’instruction attaquée est factice et par exemple distinguer une séquence d’opérations d’addition de celle d’une opération de doublement. La sécurité du traitement des données serait donc affectée. Afin de remédier à l’inconvénient précité de l’état de la technique, la présente invention propose d’améliorer la mise en œuvre du traitement des données sur courbe elliptique en réduisant le nombre d’opérations nécessaires pour le traitement de données sans remettre en cause une protection efficace contre les attaques par canal auxiliaire. Plus particulièrement, on propose selon l’invention un procédé de traitement cryptographique de données impliquant au moins un premier point d’une courbe elliptique représenté par au moins trois premiers éléments d’un corps fini, le procédé comprenant des étapes de : - détermination d’une valeur à partir d’au moins un élément parmi les trois premiers éléments, - mémorisation de la valeur déterminée dans une mémoire d’une entité électronique, et - mise en œuvre au sein de l’entité électronique d’au moins une opération d’addition sur la courbe elliptique ayant un opérande dépendant du premier point, l’opération d’addition étant effectuée par une première séquence d’opérations successives incluant au moins une multiplication dans le corps fini et une addition dans le corps fini, et utilisant ladite valeur mémorisée, ladite valeur mémorisée étant déterminée par addition ou soustraction de deux éléments parmi les trois premiers éléments du corps fini. Ainsi, selon l’invention, en amont de la mise en œuvre des opérations d’addition, une valeur est déterminée et mémorisée. Cette valeur est ensuite utilisée lors de chaque opération d’addition (en sus des coordonnées du premier point), permettant alors d’éviter certains calculs à chaque nouvelle opération d’addition. Sa mémorisation permet donc de réduire le nombre d’opérations nécessaires pour le traitement de données. En outre, la détermination de la valeur précitée étant effectuée en amont, elle est inutilisable par un attaquant pour tenter de comprendre le fonctionnement de l’entité électronique lors de la répétition des opérations d’addition. Enfin, l’utilisation d’une valeur supplémentaire permet de réduire voire même supprimer les opérations factices dans le traitement des données. Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où : - en considérant au moins un scalaire formé d’une pluralité d’éléments numériques, ladite opération d’addition est effectuée respectivement pour des éléments numériques, parmi la pluralité d’éléments numériques, ayant une valeur prédéfinie, de sorte à réaliser au moins une multiplication d’un quatrième point, noté P dans la description qui suit, par ledit scalaire, ledit premier point étant un multiple du quatrième point ou le quatrième point lui-même ; - il est prévu une étape de mise en œuvre d’au moins une opération de doublement, ladite opération de doublement étant réalisée par l’exécution d’une seconde séquence d’opérations successives incluant au moins une multiplication dans le corps fini et une addition dans le corps fini ; - la première séquence d’opérations utilise une première succession de types d’opérations et la seconde séquence d’opérations utilise une deuxième succession de types d’opérations, la première succession de type d’opérations étant identique à la deuxième succession de type d’opérations ; - ladite opération de doublement est appliquée à un résultat de ladite opération d’addition ; - les trois premiers éléments sont des coordonnées projectives homogènes du premier point ; - il est prévu une étape de lecture de la valeur mémorisée dans la mémoire de l’entité électronique lors de l’opération d’addition ; - le premier point étant représenté par lesdits au moins trois premiers éléments Xq, Yq, Zq, Tq et la valeur mémorisée étant égale à Xq+Yq et notée U1, la première séquence d’opérations successives dans le cas d’une opération d’addition du premier point et d’un deuxième point de la courbe elliptique représenté par des deuxièmes éléments X, Y, Z, T du corps fini est, le résultat de l’opération d’addition du premier point et du deuxième point étant représenté par les éléments X, Y, Z du corps fini à l’issue de la première séquence d’opérations : R1←X.Xq R2←Y.Yq R3←R1+R2 R4←X-Y X←R4.U1 Y←X+R2 R2←Y-R1 X←T.Zq Y←Z.Tq R1←X+Y R4←X-Y X←R1.R2 Y←R3.R4 Z←R2.R3, et la seconde séquence d’opérations successives dans le cas d’une opération de doublement d’un troisième point de la courbe elliptique représenté par des troisièmes éléments X1, Y1, Z1 du corps fini est, le résultat de l’opération de doublement du troisième point étant représenté par les éléments X1, Y1, Z1, T1 du corps fini à l’issue de la seconde séquence d’opérations successives : R1←X1.X1 R2←Y1.Y1 R3←X1+Y1 R4←R1-R2 X1←R3.R3 R3←R1+R2 R1←X1-R3 T1←R4.R1 Y1←Z1.Z1 X1←Y1+Y1 R2←R3-X1 X1←R1.R2 Y1←R3.R4 Z1←R2.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires ; - le premier point étant représenté par lesdits au moins trois premiers éléments Xq, Yq, Zq, Tq et la valeur mémorisée étant égale à Xq-Yq et notée U2, la première séquence d’opérations successives dans le cas d’une opération d’addition du premier point et d’un deuxième point de la courbe elliptique représenté par des deuxièmes éléments X, Y, Z, T du corps fini est, le résultat de l’opération d’addition du premier point et du deuxième point étant représenté par les éléments X, Y, Z du corps fini à l’issue de la première séquence d’opérations : R1←X.Xq R2←Y.Yq R3←R2-R1 R4←X+Y X←Z.Tq Y←T.Zq R1←X+Y R2←R4.U2 R4←R2+R3 R2←X-Y X←R1.R4 Y←R3.R2 Z←R4.R3, et la seconde séquence d’opérations successives dans le cas d’une opération de doublement d’un troisième point de la courbe elliptique représenté par des troisièmes éléments X1, Y1, Z1 du corps fini est, le résultat de l’opération de doublement du troisième point étant représenté par les éléments X1, Y1, Z1, T1 du corps fini à l’issue de la seconde séquence d’opérations successives : R1←X1.X1 R2←Y1.Y1 R3←R2-R1 R4←R1+R2 R1←X1.Y1 X1←Z1.Z1 R2←R1+R1 T1←R4.R2 Y1←X1+X1 R1←Y1-R3 X1←R2.R1 Y1←R3.R4 Z1←R1.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires ; - le premier point étant représenté par lesdits au moins trois premiers éléments Xq, Yq, Zq, Tq et la valeur mémorisée étant égale à Yq-Xq et notée U3, d’autres valeurs Yq+Xq notée U4 et 2Tq notée U5 étant également déterminées et mémorisées dans la mémoire de l’entité électronique, la première séquence d’opérations successives dans le cas d’une opération d’addition du premier point et d’un deuxième point de la courbe elliptique représenté par des deuxièmes éléments X, Y, Z, E, H du corps fini est, le résultat de l’opération d’addition du premier point et du deuxième point étant représenté par les éléments X, Y, Z du corps fini à l’issue de la première séquence d’opérations : R2←E.H R1←X+Y R3←Z.U5 R4←Y-X X←R4.U4 Y←R1.U3 R1←R2+R2 R4←R1+R3 R2←R1-R3 R1←Y+X R3←Y-X X←R4.R3 Y←R1.R2 Z←R3.R1, et la seconde séquence d’opérations successives dans le cas d’une opération de doublement d’un troisième point de la courbe elliptique représenté par des troisièmes éléments X1, Y1, Z1 du corps fini est, le résultat de l’opération de doublement du troisième point étant représenté par les éléments X1, Y1, Z1, E1, H1 du corps fini à l’issue de la seconde séquence d’opérations successives : R1←X1.X1 R2←X1+Y1 X1←Y1.Y1 R3←X1-R1 Y1←R2.R2 R4←Z1.Z1 Z1←R4+R4 H1←R1+X1 R2←Z1-R3 Z1←R1+X1 E1←Y1-Z1 X1←E1.R2 Y1←R3.H1 Z1←R2.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. L’invention concerne également une entité électronique apte à mettre en œuvre un traitement cryptographique de données impliquant un premier point d’une courbe elliptique représenté par au moins trois premiers éléments d’un corps fini, l’entité électronique comprenant un bloc de mise en œuvre d’au moins une opération d’addition sur la courbe elliptique ayant un opérande dépendant du premier point, caractérisée par une mémoire conçue pour mémoriser une valeur déterminée à partir d’au moins un élément parmi les trois premiers éléments, dans laquelle le bloc de mise en œuvre est conçu pour effectuer ladite opération d’addition par une première séquence d’opérations successives incluant au moins une multiplication dans le corps fini et une addition dans le corps fini, et utilisant ladite valeur mémorisée, ladite valeur mémorisée étant déterminée par addition ou soustraction de deux éléments parmi les trois premiers éléments du corps fini représente schématiquement les éléments principaux d’une entité électronique au sein de laquelle est mise en œuvre l’invention ; représente, sous forme de logigramme, un exemple de procédé préliminaire conforme à l’invention, et représente, sous forme de logigramme, un exemple de procédé de traitement cryptographique de données conforme à l’invention. Le procédé de traitement cryptographique de données décrit ci-après est mis en œuvre dans une entité électronique 100. La figure 1 représente schématiquement les éléments principaux de l’entité électronique 100 au sein de laquelle est mise en œuvre l’invention. Cette entité électronique 1 est par exemple une carte à microcircuit, par exemple une carte à circuit intégré universelle (ou UICC pour " Universal Integrated Circuit Card "). En variante, il pourrait s’agir d’un élément sécurisé (ou SE pour " Secure Element ") – par exemple un microcontrôleur sécurisé, d’un dispositif électronique portatif (ou " hand-held electronic device " selon l’appellation anglo-saxonne couramment utilisée) – par exemple un terminal de communication ou un passeport électronique, ou d’un ordinateur. L’entité électronique 100 comprend un processeur 200 (ici un microprocesseur), une mémoire vive 400 et une mémoire non-volatile réinscriptible 600 (par exemple de type EEPROM pour " Electrically Erasable and Programmable Read-Only Memory "). L’entité électronique 100 pourrait éventuellement comprendre en outre une mémoire morte. La mémoire vive 400 et la mémoire non-volatile réinscriptible 600 (ainsi que le cas échéant la mémoire morte) sont chacune liées au processeur 200 de sorte que le processeur 200 peut lire ou écrire des données dans chacune de ces mémoires. Une de ces mémoires, par exemple la mémoire non-volatile réinscriptible 600, mémorise des instructions de programme d’ordinateur qui permettent la mise en œuvre de l’un au moins des procédés décrits ci-dessous lorsque ces instructions sont exécutées par le processeur 200. Les mémoires 400, 600 stockent également des données représentatives de valeurs utilisées lors de la mise en œuvre des procédés décrits ci-dessous. Par exemple, la mémoire non-volatile réinscriptible 600 mémorise au moins une valeur U1 ; U2 ; U3, U4, U5. La mémoire vive 400 mémorise par ailleurs, par exemple au sein de variables, des données traitées au cours des procédés décrits ci-dessous. L’entité électronique 100 peut être par ailleurs décrite de manière fonctionnelle par un ensemble de blocs (non représentés), par exemple un bloc de mise en œuvre d’opérations. Ces blocs peuvent en pratique être réalisés par une combinaison d’éléments matériels et d’éléments logiciels. Chaque bloc possède une fonctionnalité décrite dans les procédés conformes à l’invention et exposés ci-après. Ainsi, pour chaque bloc, l’entité électronique 100 mémorise par exemple des instructions de logiciel exécutables par le processeur 200 de l’entité électronique 100 afin d’utiliser un élément matériel (par exemple une interface de communication ou une mémoire) et de mettre ainsi en œuvre la fonctionnalité offerte par le bloc. L’entité électronique 100 est configurée pour mettre en œuvre des opérations sur une courbe elliptique. Une courbe elliptique peut être définie par une équation de type y²=x 3 +ax+b, avec x, y appartenant à un corps fini. Les courbes d’Edwards tordues (ou « Twisted Edwards curves » selon l’appellation d’origine anglo-saxonne couramment utilisée) sont des modèles plans de courbes elliptiques et sont définies par une équation du type ax²+y²=1+dx²y², avec a et d des éléments distincts non nuls du corps fini. Dans le contexte de cette invention, on se placera dans le cadre des courbes d’Edwards tordues avec l’élément a égal à 1 ou -1 car, pour de nombreuses courbes elliptiques aléatoires, il est possible de se ramener, par l’intermédiaire d’un changement de variable, à une courbe d’Edwards tordue pour laquelle l’élément a est égal à 1 ou -1. L’équation projective associée à une courbe d’Edwards tordue s’écrit sous la forme aX²Z²+Y²Z²=Z 4 +dX²Y². On rappelle qu’un point P de coordonnées affines a pour coordonnées projectives homogènes (X, Y, Z)=(x : y : 1). Dans toute la suite, les coordonnées projectives homogènes seront utilisées. Pour une courbe d’Edwards tordue, la représentation de coordonnées d’un point usuellement utilisée est (X, Y, Z, T) avec X.Y=Z.T. De plus, un point de représentation affine (x, y) pourra être représenté de manière équivalente par (X, Y, Z, T) et (-X, -Y, -Z, -T). Le procédé de traitement cryptographique s’applique de manière avantageuse pour les solutions impliquant l’addition d’un point variable et d’un point fixe d’une courbe elliptique et le doublement d’un point de cette courbe elliptique. Le procédé de traitement cryptographique selon l’invention trouve une application particulière dans le cas de multiplication d’un point P de la courbe elliptique par un scalaire k. Il peut également être utilisé dans le cas d’une opération de double multiplication sur une courbe elliptique, c’est-à-dire dans le cas d’une opération de type k 1 P 1 +k 2 P 2 , avec k 1 et k 2 deux scalaires et P 1 et P 2 deux points de la courbe elliptique. Dans la suite, on s’intéressera plus particulièrement au cas de multiplication d’un point P de la courbe elliptique par un scalaire k. De manière avantageuse, l’ensemble des étapes du procédé est ici mis en œuvre dans l’entité électronique 100. En variante, certaines étapes, par exemple les étapes E2 à E8 présentées dans la suite, pourraient être mises en œuvre dans une autre entité électronique et leur résultat serait transmis ensuite à l’entité électronique 100. L’autre entité électronique est par exemple un dispositif de personnalisation qui mémorise des données dans l’entité électronique avant son utilisation. Préalablement à l’exécution du procédé de traitement cryptographique dans le cas d’une multiplication du point P de la courbe elliptique par un scalaire k, un procédé préliminaire est mis en œuvre. La figure 2 représente un exemple de procédé préliminaire mis en œuvre au sein de l’entité électronique 100. En variante, il pourrait être mis en œuvre dans une autre entité électronique, par exemple le dispositif de personnalisation. Comme le montre cette figure, le procédé débute à l’étape E2. Lors de cette étape, le processeur 200 reçoit le point P, de coordonnées (X, Y, Z, T). Le point P est par exemple mémorisé dans l’une des mémoires comprises dans l’entité électronique 100 pour la mise en œuvre de la suite du procédé. Le procédé préliminaire se poursuit à l’étape E4 lors de laquelle le processeur 200 détermine un ensemble de multiplets u comprenant chacun w éléments numériques avec w un entier compris entre 1 et l (l étant également un entier supérieur à 0 et l étant le nombre d’éléments binaires ou bits du scalaire k mentionnés ci-dessous). Chaque élément numérique est dans un ensemble de N valeurs positives ou négatives, N étant par exemple une valeur égale à 2 ou 3 (si N=2, chaque élément numérique peut être un élément binaire). Ici, chaque élément numérique est un élément numérique à un chiffre. Le processeur 200 détermine donc N w -1 multiplets u. Chaque multiplet u s’écrit sous la forme u=(u ( w-1 ) u ( w-2 ) …u 1 u 0 ) où u ( w-1 ) , u ( w-2 ) , …u 1 et u 0 sont les w éléments numériques du multiplet u concerné. A l’étape E6, pour chacun des multiplets u comprenant w éléments numériques, il est déterminé un point Q u de la courbe elliptique associé au multiplet u concerné. Chaque point Q u est déterminé à partir du point P de la courbe elliptique par la formule suivante : avec u i les éléments numériques du multiplet u concerné et d un entier vérifiant l’égalité suivante d=[l/w] (où la notation [e] correspond à la partie entière du nombre e). A l’issue de cette étape E6, les coordonnées (X u , Y u , Z u , T u ) de chaque point Q u sont déterminées. Le processeur 200 détermine donc N w -1 points Q u (et leurs coordonnées associées). En variante, des coordonnées étendues (X u , Y u , Z u , E u , H u ), avec T u =E u .H u , pour le point Q u peuvent être déterminées lors de cette étape E6. Chaque point Q u et ses coordonnées associées (X u , Y u , Z u , T u ) sont mémorisées dans une des mémoires de l’entité électronique 100, par exemple dans la mémoire non-volatile réinscriptible 600. Comme le montre la figure 2, ce procédé préliminaire se poursuit à l’étape E8. Lors de cette étape, le processeur 200 de l’entité électronique détermine au moins une valeur U1 ; U2 ; U3, U4, U5 à partir d’au moins une coordonnée X u , Y u , Z u , T u de chaque point Q u . En pratique, l’au moins une valeur U1 ; U2 ; U3, U4 est par exemple obtenue par addition ou soustraction de deux coordonnées parmi trois coordonnées X u , Y u , Z u du point Q u . Par exemple, La valeur U1 est égale à U1= X u +Y u . La valeur U2 est égale à U2= X u -Y u . La valeur U3 est égale à U3= Y u -X u . La valeur U4 est égale à U4= X u +Y u . Selon un autre exemple, la valeur U5 est un multiple de l’une des coordonnées du point Q u . Par exemple, la valeur U5 est égale à U5=2T u . En variante, l’au moins une valeur U1 ; U2 ; U3, U4, U5 pourrait être déterminée dans une autre entité électronique et transmise à l’entité électronique 100. Par exemple, l’au moins une valeur U1 ; U2 ; U3, U4, U5 pourrait être déterminée dans le dispositif de personnalisation. A l’étape E8, le dispositif de personnalisation transmettrait alors l’au moins une valeur U1 ; U2 ; U3, U4, U5 au processeur 200 de l’entité électronique 100, ainsi qu’une consigne de mémorisation de cette au moins une valeur U1 ; U2 ; U3, U4, U5 dans l’une des mémoires 400, 600 de l’entité électronique 100. Enfin, à l’étape E10, l’au moins une valeur U1 ; U2 ; U3, U4, U5 est mémorisée dans une mémoire de l’entité électronique 100, par exemple dans la mémoire non-volatile réinscriptible 600 de l’entité électronique 100. Ce procédé préliminaire est mis en œuvre préalablement à l’exécution du procédé de traitement cryptographique des données décrit à présent en référence à la figure 3. La figure 3 représente un exemple de procédé de traitement cryptographique des données selon l’invention. Comme le montre la figure 3, le procédé débute à l’étape E20. Lors de cette étape, le processeur 200 de l’entité électronique 100 reçoit le scalaire k. On rappelle par ailleurs que les multiplets u, les coordonnées des points Q u déterminés pour chaque multiplet u et l’au moins une valeur U1 ; U2 ; U3, U4, U5 sont à ce stade connus, toutes ces grandeurs ayant été déterminées lors de l’exécution du procédé préliminaire précédemment décrit et mémorisées dans l’une des mémoires de l’entité électronique 100. Le scalaire k comporte l éléments binaires : k=(k l-1 k l-2 … k 1 k 0 ) où k l-1 , k l-2 , k 1 et k 0 sont des éléments binaires. Les éléments k l-1 , k l-2 , k 1 et k 0 sont ordonnés du poids le plus fort au poids le plus faible (les poids sont donc croissants avec l’indice i dans les éléments binaires k i ). Ainsi, k l-1 est l’élément binaire de poids le plus fort et k 0 l’élément binaire de poids le plus faible. En pratique, le scalaire k est supérieur à 1. Selon une autre représentation, k comporte l éléments numériques : k=(k’ l-1 k’ l-2 … k’ 1 k’ 0 ) où k’ l-1 k’ l-2 … k’ 1 et k’ 0 sont des éléments numériques dans un ensemble de N valeurs positives ou négatives, par exemple dans un ensemble {-1,0,1} avec N une valeur égale à 3. Les éléments numériques k’ l-1 , k’ l-2 , k’ 1 et k’ 0 sont ordonnés du poids le plus fort au poids le plus faible (les poids sont donc croissants avec l’indice i dans les éléments numériques k’ i ). Ainsi, k’ l-1 est l’élément numérique de poids le plus fort et k’ 0 l’élément numérique de poids le plus faible. En pratique, le scalaire k est supérieur à 1. Le procédé se poursuit à l’étape E22 lors de laquelle le scalaire k est décomposé, colonne par colonne, en d multiplets v n , avec d un entier vérifiant l’égalité suivante d=[l/w] (où la notation [e] correspond à la partie entière du nombre e) et n un indice, un entier, pouvant varier entre 0 et d-1 inclus. Cette décomposition est effectuée colonne par colonne en commençant par la colonne contenant l’élément numérique de poids le plus fort, c’est-à-dire contenant k’ w d-1 . Le scalaire k s’écrit alors sous la forme : k=(k’ wd-1 .2 (w-1 )d …k’ d-1 .2 0 ).2 d-1 +(k’ wd-2 .2 ( w -1 )d …k’ d -2 .2 0 ).2 d -2 +…+(k’ wd—d) .2 ( w -1 )d …k’ 0) .2 0 ).2 0 . Plus explicitement, le multiplet v 0 de rang 0 s’écrit v 0 =(k’ wd-1 …k’ d-1 ) et le multiplet v n de rang n s’écrit v n =(k’ wd-(n+1) …k’ d-(n+1) ). En variante, le scalaire k pourrait être décomposé selon une décomposition classique en puissance de 2. L’étape E24 correspond à une étape d’initialisation. Lors de cette étape, le processeur 200 lit dans la mémoire de l’entité électronique 100 les coordonnées du point Q u correspondant au multiplet v 0 servant pour l’initialisation (c’est-à-dire le point Q u tel que u=v 0 pour cette étape E24). Le processeur 200 initialise alors un point A à partir du point Q v0 . En pratique, ce sont les coordonnées (X1, Y1, Z1, T1) du point A qui sont initialisées à partir des coordonnées (X v0 , Y v0 , Z v0 , T v0 ) du point Q v0 . Le processeur 200 initialise ensuite, à l’étape E26, à la valeur 1 un indice n. Cet indice n désigne le tour courant. Les tours portent sur les valeurs v n successives des multiplets de la décomposition en colonne du scalaire k. Comme le montre la figure 3, le procédé se poursuit à l’étape E28. Lors de cette étape, une opération de doublement de point A initialisé à l’étape E24 est mise en œuvre. Cette opération de doublement est réalisée par l’exécution d’une séquence d’opérations successives incluant au moins une opération de multiplication dans le corps fini et une addition dans le corps fini. Selon un premier exemple de procédé de traitement cryptographique conforme à l’invention, la séquence d’opérations successives est donnée par : R1←X1.X1 R2←Y1.Y1 R3←X1+Y1 R4←R1-R2 X1←R3.R3 R3←R1+R2 R1←X1-R3 T1←R4.R1 Y1←Z1.Z1 X1←Y1+Y1 R2←R3-X1 X1←R1.R2 Y1←R3.R4 Z1←R2.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Ce premier exemple de procédé correspond au cas d’une courbe d’Edwards tordue avec a = 1. De manière avantageuse ici, la quatrième coordonnée T1 n’est pas utilisée dans cette opération de doublement. Les coordonnées (X1, Y1, Z1, T1) du point A sont donc actualisées à l’issue de cette opération de doublement (et donc à l’issue de l’étape E28). Comme le montre la figure 3, le procédé se poursuit à l’étape E30. Lors de cette étape, le processeur 200 lit la valeur du multiplet v n concerné par le tour courant et scanne les éléments numériques k’ wd-(n+1) , …, k’ d-(n+1) de ce multiplet v n afin de déterminer si l’un au moins de ces éléments numériques k’ wd-(n+1) , …, k’ d-(n+1) est non nul. Si tous les éléments numériques k’ wd-(n+1) , …, k’ d-(n+1) du multiplet v n du tour courant sont nuls, le procédé se poursuit à l’étape E40. Le processeur 200 détermine alors, à l’étape E40, si l’indice n a atteint la valeur d-1. Dans la négative, l’indice n est incrémenté à l’étape E42 et le procédé boucle à l’étape E28 pour effectuer le tour suivant de l’algorithme cryptographique. Dans l’affirmative à l’étape E40, le procédé se poursuit à l’étape E50 dans laquelle le processeur 200 donne la valeur du point A. Par construction, la valeur retournée du point A correspond alors au résultat de la multiplication par le scalaire k du point P. En revanche, si l’un des éléments numériques k’ wd-(n+1) , …, k’ d-(n+1) du multiplet v n du tour courant est non nul à l’étape E30, le procédé se poursuit à l’étape E38. Lors de cette étape, une opération d’addition est mise en œuvre. Cette opération d’addition est réalisée par l’exécution d’une autre séquence d’opérations successives incluant au moins une opération de multiplication dans le corps fini et une addition dans le corps fini. Cette opération d’addition comprend comme opérandes le point A de coordonnées (X 1 , Y 1 , Z 1 , T 1 ) et le point Q vn associé au multiplet v n du tour courant. Lors de l’exécution de cette opération d’addition, le processeur 200 lit, dans l’une des mémoires de l’entité électronique 100, le point Q vn , (c’est-à-dire le point Q u tel que u=v n ) et ses coordonnées (X v n , Y v n , Z v n , T v n ), associé au multiplet v n concerné par le tour courant. Le processeur 200 lit également l’au moins une valeur U1 ; U2 ; U3, U4, U5 déterminée lors de l’exécution du procédé préliminaire et également associée au point Q vn pour ce tour courant. Selon le premier exemple de procédé de traitement cryptographique conforme à l’invention, l’autre séquence d’opérations successives est donnée par : R1←X1.X vn R2←Y1.Y vn R3←R1+R2 R4←X1-Y1 X1←R4.U1 Y1←X1+R2 R2←Y1-R1 X1←T1.Z vn Y1←Z1.T vn R1←X1+Y1 R4←X1-Y1 X1←R1.R2 Y1←R3.R4 Z1←R2.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Selon ce premier exemple, cette opération d’addition fait donc intervenir la valeur U1 qui a été déterminée lors de l’exécution du procédé préliminaire et mémorisée dans l’entité électronique 100. Cette valeur U1 concerne uniquement les coordonnées (X vn , Y vn , Z vn , T vn ) du point Q vn . De plus, l’opération d’addition utilise la coordonnée T1 du point A et T vn du point Q vn mais ne fournit pas la coordonnée T1 du point A en résultat. De plus, de manière avantageuse selon l’invention, la succession d’opérations successives de la séquence d’opérations liée à l’opération de doublement (étape E28) est identique à la succession d’opérations successives de l’autre séquence d’opérations liée à l’opération d’addition (étape E38). Cela est particulièrement avantageux car il n’est alors pas possible de distinguer l’opération de doublement de l’opération d’addition. A l’issue de l’opération d’addition (donc de l’étape E38), les coordonnées (X1, Y1, Z1) du point A sont donc actualisées. Le processeur 200 détermine ensuite, à l’étape E40, si l’indice n a atteint la valeur d-1. Dans la négative, l’indice n est incrémenté à l’étape E42 et le procédé boucle à l’étape E28 pour effectuer le tour suivant de l’algorithme cryptographique. Une opération de doublement sera donc appliquée au résultat de l’opération d’addition. Dans l’affirmative à l’étape E40, le procédé se poursuit à l’étape E50 dans laquelle le processeur 200 donne la valeur du point A. Les différentes opérations de doublement et d’addition effectuées correspondent à l’opération de multiplication par le scalaire k. Par construction, la valeur retournée du point A correspond alors au résultat de la multiplication par le scalaire k du point P. Plus de détails à ce sujet sont disponibles dans l’article « Revisiting Atomic Patterns for Scalar Multiplications on Elliptic Curve s » de F. Rondepierre, A. Francillon and P. Rohatgi, editors, Smart Card Research and Advanced Applications, 9th International Conference, CARDIS2013, LNCS. Springer, 2013. En variante, selon un deuxième exemple du procédé de traitement cryptographique de données conforme à l’invention, la séquence d’opérations successives de l’opération de doublement, à l’étape E28, peut être donnée par : R1←X1.X1 R2←Y1.Y1 R3←R2-R1 R4←R1+R2 R1←X1.Y1 X1←Z1.Z1 R2←R1+R1 T1←R4.R2 Y1←X1+X1 R1←Y1-R3 X1←R2.R1 Y1←R3.R4 Z1←R1.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Ce deuxième exemple de procédé correspond au cas d’une courbe d’Edwards tordue avec a = -1. L’autre séquence d’opérations successives de l’opération d’addition (étape E38), associée à ce deuxième exemple de procédé, est, quant à elle, donnée par : R1←X1.X vn R2←Y1.Y vn R3←R2-R1 R4←X1+Y1 X1←Z1.T vn Y1←T1.Z vn R1←X1+Y1 R2←R4.U2 R4←R2+R3 R2←X1-Y1 X1←R1.R4 Y1←R3.R2 Z1←R4.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Dans le cadre de ce deuxième exemple de procédé de traitement cryptographique, l’opération d’addition fait donc intervenir la valeur U2 qui a été déterminée lors de l’exécution préliminaire et mémorisée dans l’entité électronique 100. Cette dernière lit donc la valeur U2 dans la mémoire lors de l’exécution de l’opération d’addition. Cette valeur U2 concerne uniquement les coordonnées (X vn , Y vn , Z vn , T vn ) du point Q vn . Dans ce cas également, la succession d’opérations successives de la séquence d’opérations liée à l’opération de doublement (étape E28) est identique à la succession d’opérations successives de l’autre séquence d’opérations liée à l’opération d’addition (étape E38), présentant alors ici aussi l’avantage de ne pas pouvoir distinguer l’opération de doublement de l’opération d’addition. En variante encore, selon un troisième exemple du procédé de traitement cryptographique de données conforme à l’invention, et en considérant les coordonnées étendues (X1, Y1, Z1, E1, H1), avec T1=E1.H1, pour le point A sont obtenues à l’étape E28, la séquence d’opérations successives de l’opération de doublement (étape E28) peut être donnée par : R1←X1.X1 R2←X1+Y1 X1←Y1.Y1 R3←X1-R1 Y1←R2.R2 R4←Z1.Z1 Z1←R4+R4 H1←R1+X1 R2←Z1-R3 Z1←R1+X1 E1←Y1-Z1 X1←E1.R2 Y1←R3.H1 Z1←R2.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Ce troisième exemple de procédé correspond au cas d’une courbe d’Edwards tordue avec a = -1 et Z vn =1 (Z vn étant l’une des coordonnées du point Q vn telle que décrite ci-avant pour la figure 3). L’utilisation ici des coordonnées étendues E1 et H1 à la place de la coordonnée T1 permet de conférer plus de souplesse pour la réalisation des opérations d’additions dans la séquence d’opérations successives grâce à l’utilisation des deux coordonnées E1 et H1 à la place d’une seule coordonnée T1 et donc d’obtenir plus facilement des séquences d’opérations similaires pour la multiplication et pour l’addition. Pour ce troisième exemple, aucune coordonnée étendue du point Q vn n’est utilisée pour l’opération d’addition (étape E38). Selon ce troisième exemple, l’autre séquence d’opérations successives de l’opération d’addition (étape E38) est, quant à elle, donnée par : R2←E1.H1 R1←X1+Y1 R3←Z1.U5 R4←Y1-X1 X1←R4.U4 Y1←R1.U3 R1←R2+R2 R4←R1+R3 R2←R1-R3 R1←Y1+X1 R3←Y1-X1 X1←R4.R3 Y1←R1.R2 Z1←R3.R1, où R1, R2, R3 et R4 sont des résultats intermédiaires. Dans le cadre de ce troisième exemple de procédé de traitement cryptographique selon l’invention, l’opération d’addition fait donc intervenir les valeurs U3, U4 et U5 qui ont été déterminées lors de l’exécution du procédé préliminaire et mémorisées dans l’entité électronique 100. Cette dernière lit donc les valeurs U3, U4 et U5 dans la mémoire lors de l’exécution de l’opération d’addition. Dans ce cas également, la succession d’opérations successives de la séquence d’opérations liée à l’opération de doublement (étape E28) est identique à la succession d’opérations successives de l’autre séquence d’opérations liée à l’opération d’addition (étape E38), présentant alors ici aussi l’avantage de ne pas pouvoir distinguer l’opération de doublement de l’opération d’addition. Procédé de traitement cryptographique de données impliquant au moins un premier point d’une courbe elliptique représenté par au moins trois premiers éléments d’un corps fini, le procédé comprenant des étapes de : - détermination (E8) d’une valeur (U1, U2, U3, U4, U5) à partir d’au moins un élément parmi les trois premiers éléments, - mémorisation (E10) de la valeur (U1, U2, U3, U4, U5) déterminée dans une mémoire (400, 600) d’une entité électronique (100), et - mise en œuvre au sein de l’entité électronique d’au moins une opération d’addition sur la courbe elliptique ayant un opérande dépendant du premier point, l’opération d’addition étant effectuée par une première séquence d’opérations successives incluant au moins une multiplication dans le corps fini et une addition dans le corps fini, et utilisant ladite valeur (U1, U2, U3, U4, U5) mémorisée, ladite valeur (U1, U2, U3, U4, U5) mémorisée étant déterminée par addition ou soustraction de deux éléments parmi les trois premiers éléments du corps fini. Procédé selon la revendication 1, impliquant en outre au moins un scalaire (k) formé d’une pluralité d’éléments numériques et dans lequel ladite opération d’addition est effectuée respectivement pour des éléments numériques, parmi la pluralité d’éléments numériques, ayant une valeur prédéfinie. Procédé selon la revendication 1 ou 2, comprenant une étape (E28) de mise en œuvre d’au moins une opération de doublement, ladite opération de doublement étant réalisée par l’exécution d’une seconde séquence d’opérations successives incluant au moins une multiplication dans le corps fini et une addition dans le corps fini. Procédé selon la revendication 3, dans lequel la première séquence d’opérations utilise une première succession de types d’opérations et la seconde séquence d’opérations utilise une deuxième succession de types d’opérations, la première succession de type d’opérations étant identique à la deuxième succession de type d’opérations. Procédé selon la revendication 3 ou 4, dans lequel ladite opération de doublement est appliquée à un résultat de ladite opération d’addition. Procédé selon l’une quelconque des revendications 1 à 5, dans lequel les trois premiers éléments sont des coordonnées projectives homogènes du premier point. Procédé selon l’une quelconque des revendications 1 à 6, comprenant une étape (E38) de lecture de la valeur (U1, U2, U3, U4, U5) mémorisée dans la mémoire (400, 600) de l’entité électronique (100) lors de l’opération d’addition. Procédé selon l’une quelconque des revendications 3 à 7 prises dans la dépendance de la revendication 3, dans lequel, le premier point étant représenté par lesdits au moins trois premiers éléments Xq, Yq, Zq, Tq et la valeur mémorisée étant égale à Xq+Yq et notée U1, la première séquence d’opérations successives dans le cas d’une opération d’addition du premier point et d’un deuxième point de la courbe elliptique représenté par des deuxièmes éléments X, Y, Z, T du corps fini est, le résultat de l’opération d’addition du premier point et du deuxième point étant représenté par les éléments X, Y, Z du corps fini à l’issue de la première séquence d’opérations : R1←X.Xq R2←Y.Yq R3←R1+R2 R4←X-Y X←R4.U1 Y←X+R2 R2←Y-R1 X←T.Zq Y←Z.Tq R1←X+Y R4←X-Y X←R1.R2 Y←R3.R4 Z←R2.R3, et la seconde séquence d’opérations successives dans le cas d’une opération de doublement d’un troisième point de la courbe elliptique représenté par des troisièmes éléments X1, Y1, Z1 du corps fini est, le résultat de l’opération de doublement du troisième point étant représenté par les éléments X1, Y1, Z1, T1 du corps fini à l’issue de la seconde séquence d’opérations successives : R1←X1.X1 R2←Y1.Y1 R3←X1+Y1 R4←R1-R2 X1←R3.R3 R3←R1+R2 R1←X1-R3 T1←R4.R1 Y1←Z1.Z1 X1←Y1+Y1 R2←R3-X1 X1←R1.R2 Y1←R3.R4 Z1←R2.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Procédé selon l’une quelconque des revendications 3 à 7 prises dans la dépendance de la revendication 3, dans lequel, le premier point étant représenté par lesdits au moins trois premiers éléments Xq, Yq, Zq, Tq et la valeur mémorisée étant égale à Xq-Yq et notée U2, la première séquence d’opérations successives dans le cas d’une opération d’addition du premier point et d’un deuxième point de la courbe elliptique représenté par des deuxièmes éléments X, Y, Z, T du corps fini est, le résultat de l’opération d’addition du premier point et du deuxième point étant représenté par les éléments X, Y, Z du corps fini à l’issue de la première séquence d’opérations : R1←X.Xq R2←Y.Yq R3←R2-R1 R4←X+Y X←Z.Tq Y←T.Zq R1←X+Y R2←R4.U2 R4←R2+R3 R2←X-Y X←R1.R4 Y←R3.R2 Z←R4.R3, et la seconde séquence d’opérations successives dans le cas d’une opération de doublement d’un troisième point de la courbe elliptique représenté par des troisièmes éléments X1, Y1, Z1 du corps fini est, le résultat de l’opération de doublement du troisième point étant représenté par les éléments X1, Y1, Z1, T1 du corps fini à l’issue de la seconde séquence d’opérations successives : R1←X1.X1 R2←Y1.Y1 R3←R2-R1 R4←R1+R2 R1←X1.Y1 X1←Z1.Z1 R2←R1+R1 T1←R4.R2 Y1←X1+X1 R1←Y1-R3 X1←R2.R1 Y1←R3.R4 Z1←R1.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Procédé selon l’une quelconque des revendications 3 à 7 prises dans la dépendance de la revendication 3, dans lequel, le premier point étant représenté par lesdits au moins trois premiers éléments Xq, Yq, Zq, Tq et la valeur mémorisée étant égale à Yq-Xq et notée U3, d’autres valeurs Yq+Xq notée U4 et 2Tq notée U5 étant également déterminées et mémorisées dans la mémoire de l’entité électronique, la première séquence d’opérations successives dans le cas d’une opération d’addition du premier point et d’un deuxième point de la courbe elliptique représenté par des deuxièmes éléments X, Y, Z, E, H du corps fini est, le résultat de l’opération d’addition du premier point et du deuxième point étant représenté par les éléments X, Y, Z du corps fini à l’issue de la première séquence d’opérations : R2←E.H R1←X+Y R3←Z.U5 R4←Y-X X←R4.U4 Y←R1.U3 R1←R2+R2 R4←R1+R3 R2←R1-R3 R1←Y+X R3←Y-X X←R4.R3 Y←R1.R2 Z←R3.R1, et la seconde séquence d’opérations successives dans le cas d’une opération de doublement d’un troisième point de la courbe elliptique représenté par des troisièmes éléments X1, Y1, Z1 du corps fini est, le résultat de l’opération de doublement du troisième point étant représenté par les éléments X1, Y1, Z1, E1, H1 du corps fini à l’issue de la seconde séquence d’opérations successives : R1←X1.X1 R2←X1+Y1 X1←Y1.Y1 R3←X1-R1 Y1←R2.R2 R4←Z1.Z1 Z1←R4+R4 H1←R1+X1 R2←Z1-R3 Z1←R1+X1 E1←Y1-Z1 X1←E1.R2 Y1←R3.H1 Z1←R2.R3, où R1, R2, R3 et R4 sont des résultats intermédiaires. Entité électronique (100) apte à mettre en œuvre un traitement cryptographique de données impliquant un premier point d’une courbe elliptique représenté par au moins trois premiers éléments d’un corps fini, l’entité électronique (100) comprenant un bloc de mise en œuvre d’au moins une opération d’addition sur la courbe elliptique ayant un opérande dépendant du premier point, caractérisée par une mémoire (400, 600) conçue pour mémoriser une valeur (U1, U2, U3, U4, U5) déterminée à partir d’au moins un élément parmi les trois premiers éléments, dans laquelle le bloc de mise en œuvre est conçu pour effectuer ladite opération d’addition par une première séquence d’opérations successives incluant au moins une multiplication dans le corps fini et une addition dans le corps fini, et utilisant ladite valeur (U1, U2, U3, U4, U5) mémorisée, ladite valeur (U1, U2, U3, U4, U5) mémorisée étant déterminée par addition ou soustraction de deux éléments parmi les trois premiers éléments du corps fini.