FR2979725A1 - Method for performing cryptographic calculations in electronic component i.e. smart card, involves detecting occurrence of error carried out after exponentiation of element, and correcting result of exponentiation based on detection result - Google Patents

Method for performing cryptographic calculations in electronic component i.e. smart card, involves detecting occurrence of error carried out after exponentiation of element, and correcting result of exponentiation based on detection result Download PDF

Info

Publication number
FR2979725A1
FR2979725A1 FR1157891A FR1157891A FR2979725A1 FR 2979725 A1 FR2979725 A1 FR 2979725A1 FR 1157891 A FR1157891 A FR 1157891A FR 1157891 A FR1157891 A FR 1157891A FR 2979725 A1 FR2979725 A1 FR 2979725A1
Authority
FR
France
Prior art keywords
accu
value
exponentiation
exponent
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1157891A
Other languages
French (fr)
Other versions
FR2979725B1 (en
Inventor
Naciri Robert
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.)
Idemia France SAS
Original Assignee
Oberthur Technologies 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 Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1157891A priority Critical patent/FR2979725B1/en
Publication of FR2979725A1 publication Critical patent/FR2979725A1/en
Application granted granted Critical
Publication of FR2979725B1 publication Critical patent/FR2979725B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7271Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred

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)
  • Storage Device Security (AREA)

Abstract

The method involves executing exponentiation of an element (201) pertaining to a group by traversing a set of bits of an exponent. Three registers are utilized to memorize values of the exponentiation. Occurrence of an error carried out after the exponentiation is detected (202). Result of the executed exponentiation is corrected (203) according to the result of detection of occurrence of error. Independent claims are also included for the following: (1) an electronic component (2) a computer program product comprising instructions for performing a method for performing cryptographic calculations in an electronic component (3) a computer readable storage medium comprising instructions for performing a method for performing cryptographic calculations in the electronic component.

Description

Procédé de calculs cryptographique résistant aux défaillances matérielles 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui de la cryptographie. Plus précisément, l'invention concerne une technique permettant de rendre un dispositif cryptographique tolérant aux erreurs de calculs provenant de la défaillance d'un composant matériel (par exemple suite à une injection de faute, ou à un défaut de conception matériel, encore appelé « bug hardware » en anglais, ou encore « bug » matériel). L'invention a de nombreuses applications, telles que par exemple dans le domaine des cartes à puce, et plus généralement à des systèmes informatiques ayant des exigences sécuritaires importantes. Plus généralement, elle peut s'appliquer dans tous les cas où un dysfonctionnement d'un composant matériel cryptographique peut se produire, et dont le remplacement est impossible à effectuer au moins du fait de la difficulté d'accéder à celui-ci, par exemple, à cause du positionnement de celui-ci. Par exemple, lorsqu'un dispositif contrôlé par une partie A, est installé dans le domaine privé d'une partie B. Les parties A et B ne se faisant pas confiance, A aimerait s'assurer que B, n'injecte pas des fautes lors de l'authentification des données échangées. 2. ARRIÈRE-PLAN TECHNOLOGIQUE On s'attache plus particulièrement dans la suite de ce document à décrire la problématique existant dans le domaine de l'informatique, à laquelle ont été confrontés les inventeurs de la présente demande de brevet. L'invention ne se limite bien sûr pas à ce domaine particulier d'application, mais présente un intérêt pour toute technique de calcul cryptographique devant faire face à une problématique proche ou similaire. FIELD OF THE INVENTION The field of the invention is that of cryptography. More specifically, the invention relates to a technique making it possible to make a cryptographic device tolerant to calculation errors resulting from the failure of a hardware component (for example following a fault injection, or a material design defect, also called " hardware bug "in English, or" bug "hardware). The invention has many applications, such as for example in the field of smart cards, and more generally to computer systems with significant security requirements. More generally, it can be applied in all cases where a malfunction of a cryptographic hardware component can occur, and whose replacement is impossible to perform at least because of the difficulty of accessing it, for example , because of the positioning of it. For example, when a device controlled by part A, is installed in the private domain of a part B. The parties A and B do not trust each other, A would like to make sure that B, does not inject faults when authenticating the exchanged data. BACKGROUND OF THE INVENTION In the remainder of this document, reference is made more particularly to the problems that exist in the field of computing, which the inventors of the present patent application have faced. The invention is of course not limited to this particular field of application, but is of interest for any cryptographic calculation technique that has to deal with a close problem or similar.

Les défaillances matérielles lors de la réalisation d'un calcul cryptographique peuvent avoir des incidences sécuritaires importantes, car l'exploitation des calculs erronés peut entraîner l'obtention d'éléments sensés être secrets. Une première classe d'attaque, appelée les attaques par injection de fautes (ou « Fault attacks » en anglais) consiste à perturber volontairement l'exécution d'un calcul cryptographique (voir par exemple le document Dl correspondant à l'article : « On the importance of checking cryptographic protocols for faults » de Boneh et al., publié dans les actes de la conférence Eurocrypt 97). Notamment, un attaquant peut introduire de telles erreurs soit par l'utilisation d'un laser, soit en utilisant des techniques non invasives et abrasives via des techniques dites de « glitch » qui consistent à faire varier l'alimentation électrique ou l'horloge du dispositif attaqué. Par conséquent, du fait de l'existence de telles attaques, les calculs cryptographiques réalisés sur des cartes à puces, ou tout autre système embarqué, doivent utiliser des contre-mesures permettant de résister à ce type d'attaques. Notamment, les calculs cryptographiques du type « exponentiation », qui sont utilisés dans de nombreux cryptosystèmes asymétriques, doivent utiliser des mécanismes de protection. Un exemple d'attaque et de contre- mesures concernant la technique d'exponentiation R2L (« Right-to-Left », consistant à parcourir les bits de l'exposant de droite à gauche) est détaillé dans le document D2 correspondant à l'article : « Attacking right-to-left modular exponentiation with timely random faults », de M.Boreale présenté à la conférence FDTC 2006. Il convient de remarquer que les attaques par injection de fautes, pour les techniques de cryptographie asymétrique, sont bien modélisées. En effet, les auteurs du document D3 correspondant à l'article : « Fault Injection Resilience », de S. Guilley et al. publié dans les actes de la conférence FDTC 2010, citent (cf. p. 54, 1.27 à 31) deux documents qui présentent une telle modélisation pour le cryptosystème RSA. Ces deux documents correspondent respectivement au document D4, correspondant à l'article : « Blinded Fault Resistant Exponentiation » de A. Boscher et al. publié dans les actes de la conférence FDTC 2009, et au document D5, correspondant à l'article : « CRT RSA Algorithm Protected Against Fault Attacks » de A. Boscher et al., publié dans les actes de la conférence WISTP 2007. Une deuxième classe d'attaque qui regroupe les attaques par exploitation d'erreurs produites par un défaut de conception d'un matériel (appelée « Bug Attacks » en anglais, et détaillée dans le document D6 correspondant à l'article : « Bug Attacks », de E. Biham et al., publié dans les actes de conférences de Crypto 2008), comme par exemple le défaut de conception de l'opération de division du processeur Intel 80286, constitue elle aussi une classe d'attaque induisant des failles de sécurité importantes. En effet, l'exploitation des erreurs engendrées par un matériel peut entraîner la divulgation d'une clé secrète utilisée dans des cryptosystèmes mettant en oeuvre une opération d'exponentiation (modulo un nombre, ou une exponentiation scalaire sur une courbe elliptique, etc...). Les « Bug Attacks » sont assez proches des attaques par injection d'erreurs, au sens où ces attaquent exploitent des erreurs se produisant lors de calculs. Cependant, contrairement aux « Bugs Attacks», les attaques par injection de fautes nécessitent que l'attaquant soit en possession du dispositif à perturber (et en utilisant des méthodes pouvant être invasives pour ce dispositif), les « Bug Attacks » ne requièrent pas cette condition. En effet, un attaquant mettant en oeuvre des « Bug Attacks » n'a pas à manipuler physiquement le dispositif attaqué, mais il doit seulement pouvoir communiquer avec celui-ci (car les « Bug Attacks » constitue un type d'attaque à texte clair choisi). Enfin, une autre différence remarquable réside dans le fait que les « Bug Attacks » sont des attaques déterministes (au sens où les erreurs se produisent de manière non-aléatoire). Dans le document D6, une attention particulière est portée sur les erreurs matérielles se produisant au cours d'une opération de multiplication (cf. §2 du document D6), utilisée par exemple au cours de l'exécution d'une exponentiation ou d'une multiplication scalaire (comme c'est le cas par exemple le RSA, l'ECDSA, etc....) comprenant des opérations pouvant être formalisées comme étant des lois de composition interne d'un groupe algébrique de structure appropriée. Ainsi, de cette manière, nous ne ferons pas de différence conceptuelle entre les opérations: - D'exponentiation modulaire nécessaire aux algorithmes de type RSA ou DH, - Ni à celle de multiplication scalaire dans le groupe additif induit par les courbes elliptiques ou celle du jacobien d'une courbe hyperelliptique, - Ni à celles intervenant dans le calcul des couplages sur courbes algébriques, basé en particulier sur la fonction fr,p présenté dans le document D7 correspondant à l'article fondateur : « Short programs for functions on curves » de V.S. MILLER, en 1986, ou aussi dans le document D8 correspondant à l'article « The Weil Pairing, and its Efficient Calculation » publié dans la revue « Journal of Cryptology (2004)17 :235 -261 ». Hardware failures when performing a cryptographic calculation can have significant security implications, because the exploitation of erroneous calculations can lead to obtaining elements that are supposed to be secret. A first class of attack, called Fault attacks (or "Fault attacks" in English) is to deliberately disrupt the execution of a cryptographic calculation (see for example the document Dl corresponding to the article: "On the importance of checking cryptographic protocols for faults "by Boneh et al., published in the proceedings of the Eurocrypt 97 conference). In particular, an attacker can introduce such errors either by the use of a laser, or by using non-invasive and abrasive techniques via techniques known as "glitch" which consist in varying the power supply or the clock of the attacked device. Therefore, because of the existence of such attacks, cryptographic calculations performed on smart cards, or any other embedded system, must use countermeasures to resist such attacks. In particular, cryptographic calculations of the "exponentiation" type, which are used in many asymmetric cryptosystems, must use protection mechanisms. An example of attack and countermeasures concerning the R2L exponentiation technique ("Right-to-Left", which consists in traversing the bits of the exponent from right to left) is detailed in the document D2 corresponding to the article: "Attacking right-to-left modular exponentiation with timely random faults" by M.Boreale presented at the 2006 FDTC conference. It should be noted that fault injection attacks, for asymmetric cryptography techniques, are well modeled . Indeed, the authors of document D3 corresponding to the article: "Fault Injection Resilience", S. Guilley et al. published in the proceedings of the FDTC 2010 conference, citing (see page 54, 1.27 to 31) two documents that present such a model for the RSA cryptosystem. These two documents correspond respectively to document D4, corresponding to the article: "Blinded Fault Resistant Exponentiation" by A. Boscher et al. published in the Proceedings of the FDTC 2009 Conference, and in Document D5, corresponding to the article: "RSA Alter Protected Against Fault Attacks CRT" by A. Boscher et al., published in the proceedings of the 2007 WISTP conference. an attack class which groups exploits of errors produced by a defect in the design of a hardware (called "Bug Attacks" in English, and detailed in the document D6 corresponding to the article: "Bug Attacks", of E. Biham et al., Published in the conference proceedings of Crypto 2008), such as the design defect of the Intel 80286 processor division, is also an attack class leading to significant security vulnerabilities. . Indeed, the exploitation of the errors generated by a material can involve the disclosure of a secret key used in cryptosystems implementing an operation of exponentiation (modulo a number, or a scalar exponentiation on an elliptic curve, etc .. .). Bug Attacks are quite close to error injection attacks, in the sense that these attackers exploit errors that occur during calculations. However, unlike "Bugs Attacks", fault injection attacks require the attacker to be in possession of the device to be disturbed (and using methods that can be invasive for this device), "Bug Attacks" do not require this condition. Indeed, an attacker implementing "Bug Attacks" does not have to physically handle the attacked device, but he only needs to be able to communicate with it (because the "Bug Attacks" is a type of attack with clear text selected). Finally, another remarkable difference is that "Bug Attacks" are deterministic attacks (in the sense that errors occur non-randomly). In the document D6, particular attention is paid to the material errors occurring during a multiplication operation (cf §2 of the D6 document), used for example during the execution of an exponentiation or a scalar multiplication (as is the case, for example, RSA, ECDSA, etc.) comprising operations that can be formalized as laws of internal composition of an algebraic group of appropriate structure. Thus, in this way, we will not make any conceptual difference between the operations: - Modular exponentiation necessary for the RSA or DH type algorithms, - Ni scalar multiplication in the additive group induced by the elliptic curves or that of the Jacobian of a hyperelliptic curve, - Neither to those intervening in the calculation of the couplings on algebraic curves, based in particular on the function fr, p presented in the document D7 corresponding to the founding article: "Short programs for functions on curves" from VS MILLER, in 1986, or also in the document D8 corresponding to the article "The Weil Pairing, and its Efficient Calculation" published in the journal "Journal of Cryptology (2004) 17: 235-261".

Plus généralement, les « Bug Attacks » peuvent être mise en oeuvre car les concepteurs des processeurs n'ont pas procédé à des tests fonctionnels exhaustifs pour valider l'ensemble des fonctionnalités proposées. Cependant, et comme mentionné dans le document D9 correspondant à l'article « Les attaques de circuits intégrés » de J. More generally, "Bug Attacks" can be implemented because the designers of the processors did not perform exhaustive functional tests to validate all the proposed features. However, and as mentioned in the document D9 corresponding to the article "The attacks of integrated circuits" of J.

Villasenor publié dans la revue scientifique « Pour la Science », en Mars 2011, il se pourrait que ces dysfonctionnements puissent être ajoutés de manière volontaire (avant la sortie d'usine du dispositif concerné) à des fins malveillantes. Ces « chevaux de Troie » matériels permettraient de réaliser une fuite d'information sans que l'utilisateur ne s'en aperçoive, lors d'un calcul cryptographique du type exponentiation ou multiplication scalaire. On connaît, dans l'état de la technique, différents types de solution aux problèmes mentionnés précédemment, à savoir comment concevoir un système effectuant des calculs cryptographiques (et plus précisément une exponentiation) qui est tolérant aux erreurs (au sens où le résultat du calcul cryptographique n'est pas impacté par l'occurrence d'erreurs intentionnelles ou non). Une première technique de réalisation d'une exponentiation qui est tolérante aux erreurs consiste à dupliquer les composants matériels impliqués, et en diversifiant les fabricants de ces composants. Dans un premier temps, on exécute la totalité des calculs cryptographiques avec un premier composant et, ensuite on exécute encore la totalité des calculs mais avec des composants dupliqués puis on compare les résultats finaux obtenus, et on choisit le résultat apparaissant avec la plus grande occurrence. Ensuite, on effectue le calcul inverse (si le protocole le permet comme par exemple dans le RSA,...) à partir du résultat sélectionné pour vérifier si on obtient les données initiales. Par contre dans d'autres types d'opération telles que la multiplication scalaire sur courbe elliptique ou de calcul de couplage, la fonction réciproque n'existe pas toujours, et c'est ainsi que notre procédé prend tout son sens car il permet non seulement de détecter les erreurs mais de corriger également. Une deuxième technique de réalisation d'une exponentiation qui est tolérante aux erreurs consiste à dupliquer les composants matériels et à effectuer des comparaisons sur tous les résultats intermédiaires en effectuant la totalité des calculs en parallèle sur les différents composants. Villasenor published in the scientific journal "For Science", in March 2011, it is possible that these malfunctions could be added voluntarily (before leaving the factory of the device concerned) for malicious purposes. These hardware "Trojan horses" would make it possible to leak information without the user noticing it, during a cryptographic calculation of the exponentiation or scalar multiplication type. Various types of solution to the aforementioned problems are known in the state of the art, namely how to design a system performing cryptographic computations (and more specifically an exponentiation) which is error tolerant (in the sense that the result of the calculation cryptographic is not affected by the occurrence of intentional or non-intentional errors). A first technique for performing an exponentiation that is error-tolerant consists in duplicating the hardware components involved, and diversifying the manufacturers of these components. First, all the cryptographic computations are executed with a first component and then all the computations are executed, but with duplicated components and then the final results obtained are compared, and the result appearing with the greatest occurrence is chosen. . Then, we perform the inverse calculation (if the protocol allows it as for example in the RSA, ...) from the selected result to check if we obtain the initial data. On the other hand, in other types of operation such as elliptic curve scalar multiplication or coupling calculation, the reciprocal function does not always exist, and this is how our process makes perfect sense because it not only allows to detect errors but also to correct. A second technique for performing an exponentiation that is error tolerant consists in duplicating the hardware components and making comparisons on all the intermediate results by performing all the calculations in parallel on the different components.

Un inconvénient des première et deuxième techniques connues est que celles-ci ne sont pas fiables si un attaquant peut reproduire la même erreur lors de l'exécution des calculs de redondance, ou si le même bug matériel est présent dans les composants dupliqués. A disadvantage of the first and second known techniques is that they are not reliable if an attacker can reproduce the same error when performing redundancy calculations, or if the same hardware bug is present in the duplicated components.

Un inconvénient des première et deuxième techniques connues est que celles-ci nécessitent de doubler (voire plus suivant le nombre de fois que les composants initiaux ont été dupliqués) le nombre de composants ce qui peut-être coûteux. Enfin, un autre inconvénient des première et deuxième techniques connues réside dans le fait que celles-ci sont coûteuse d'un point de vue algorithmique car elles nécessitent de réaliser toutes les opérations d'une exponentiation plusieurs fois. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est de fournir une technique d'exponentiation qui soit tolérante aux fautes. Dans au moins un mode de réalisation, un objectif est de réduire le nombre de calculs effectué pour déterminer le résultat non-altéré d'une exponentiation. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de calculs cryptographiques mis en oeuvre dans un composant électronique, ledit procédé comprenant une étape comprenant une exponentiation dans un groupe, d'un élément g appartenant audit groupe, en parcourant les bits d'un exposant d, utilisant au moins trois registres A, B et Accu pour mémoriser des valeurs de ladite exponentiation, et comprenant une étape de détection de l'occurrence d'une erreur exécutée après ladite exponentiation. Un tel procédé est remarquable en ce qu'il comprend en outre une étape de correction du résultat de l'étape d'exponentiation exécutée en fonction du résultat de l'étape de détection de l'occurrence d'une erreur. Le principe général de l'invention consiste donc à corriger un calcul cryptographique sans effectuer le même calcul plusieurs fois. A disadvantage of the first and second known techniques is that they require doubling (or more depending on the number of times that the initial components have been duplicated) the number of components which can be expensive. Finally, another disadvantage of the first and second known techniques lies in the fact that they are expensive from an algorithmic point of view because they require performing all the operations of an exponentiation several times. OBJECTIVES OF THE INVENTION The invention, in at least one embodiment, has the particular objective of overcoming these various disadvantages of the state of the art. More specifically, in at least one embodiment of the invention, one objective is to provide an exponentiation technique that is fault-tolerant. In at least one embodiment, an objective is to reduce the number of computations performed to determine the unaltered result of an exponentiation. 4. DISCLOSURE OF THE INVENTION In a particular embodiment of the invention, there is provided a method of cryptographic calculations implemented in an electronic component, said method comprising a step comprising an exponentiation in a group of an element. g belonging to said group, by traversing the bits of an exponent d, using at least three registers A, B and Accu to store values of said exponentiation, and comprising a step of detecting the occurrence of an error executed after said exponentiation. Such a method is remarkable in that it further comprises a step of correcting the result of the exponentiation step performed as a function of the result of the step of detecting the occurrence of an error. The general principle of the invention therefore consists in correcting a cryptographic calculation without performing the same calculation several times.

Ainsi, cette technique constitue une protection efficace vis-à-vis des attaques par fautes (englobant les « Bug Attacks », et les attaques de circuits intégrés mentionnés précédemment). L'étape de correction du résultat de l'étape d'exponentiation est exécutée en fonction du résultat de l'étape de détection. Par exemple, en cas de non-détection de l'occurrence d'une erreur, le résultat de l'étape d'exponentiation peut être utilisé tel quel dans la suite des calculs. En revanche, en cas de détection de l'occurrence d'une erreur, le résultat de l'étape d'exponentiation est modifié (et plus précisément corrigé) de sorte que l'erreur introduite et détectée n'altère plus ledit résultat. Un autre exemple consisterait à ne procéder à l'exécution de l'étape de correction du résultat que lorsque deux occurrences d'erreur ont été détectées après deux exponentiations successives. Il convient de remarquer que l'exposant mentionné dans l'exponentiation peut être soit privé (notamment dans les cryptosystèmes comme le RSA ou 1'ECDSA), soit public (notamment dans l'évaluation d'un couplage). Thus, this technique provides effective protection against fault attacks (encompassing "Bug Attacks" and previously mentioned integrated circuit attacks). The step of correcting the result of the exponentiation step is performed according to the result of the detection step. For example, in case of non-detection of the occurrence of an error, the result of the exponentiation step can be used as it is in the following calculations. On the other hand, in case of detection of the occurrence of an error, the result of the exponentiation step is modified (and more precisely corrected) so that the error introduced and detected does not alter said result. Another example would be to execute the result correction step only when two error occurrences have been detected after two successive exponentiations. It should be noted that the exponent mentioned in the exponentiation can be either private (in particular in cryptosystems such as RSA or ECDSA), or public (especially in the evaluation of a coupling).

Ainsi, ledit procédé permet de corriger l'introduction d'une erreur qui viserait à récupérer l'exposant secret, dans le cas de l'utilisation du RSA ou de 1'ECDSA, ou à récupérer un point P secret dans le cas de l'évaluation de la fonction de Miller, ledit point P faisant partie de la clé de signature d'un utilisateur (ceci est notamment décrit dans le document D10, correspondant à l'article « Fault and Side Channel Attacks on Pairing based Cryptography » de D. Page et F. Vercauteren, publié dans la revue « IEEE Transactions on Computers, vol. 55, no. 9, pp. 1075-1080, Sept., 2006 ». Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce que l'étape de correction dudit résultat comprend au moins l'application d'une loi de composition dudit groupe G sur ledit résultat. Selon une caractéristique particulière, un tel procédé de calculs cryptographiques est remarquable en ce qu'il comprend une étape d'initialisation desdits au moins trois registres affectant audit registre A l'élément neutre dudit groupe, affectant auxdits registres B et Accu ledit élément g, et en ce qu'une itération de traitement d'un bit dudit exposant d au cours de l'étape d'exponentiation consiste à effectuer les calculs suivants : A := A * Accu si la valeur du bit de l'exposant à l'itération considérée est égal à 1, ou B := B * Accu si la valeur du bit de l'exposant à l'itération considérée est égal à 0, puis à effectuer le calcul suivant Accu := Accu * Accu, avec « * » étant ladite loi de composition dudit groupe, et en ce que l'étape de détection de l'occurrence d'une erreur comprend une étape de comparaison de la valeur de A * B avec une valeur contenue dans le registre Accu. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce que dans l'étape de comparaison, lorsque la valeur de A * B est différente d'une valeur contenue dans le registre Accu, l'étape de correction du résultat comprend : - une étape d'obtention d'une valeur finale de Accu, non altérée ; - une étape d'obtention d'un élément inverse e de l'exposant d ; - une étape de détermination d'un élément g' := A' ; - en cas d'égalité des éléments g' et g, une étape de validation de l'élément A ; - en cas de non égalité des éléments g' et g, une étape de détermination d'un élément A' := Accu * /3-', une étape de détermination de l'élément g" := A' e, et, en cas d'égalité des éléments g" et g, une étape de remplacement de la valeur du registre A par la valeur du registre A'. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce que l'étape d'obtention de la valeur finale de Accu, non altérée, comprend une étape de calcul en parallèle des valeurs intermédiaires permettant d'obtenir ladite valeur finale de Accu. Ainsi, on ne duplique et on ne parallélise qu'une partie des calculs qui sont exécutés au cours d'une exponentiation, contrairement aux techniques de l'art antérieur qui consistent à dupliquer et à exécuter l'ensemble des calculs réalisés au cours d'une exponentiation. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce lorsque la valeur d'un des registres A ou B est nulle, ledit procédé comprend une étape forçant les deux registres A et B à une valeur nulle et forçant le registre Accu à une valeur aléatoire. Thus, said method makes it possible to correct the introduction of an error that would seek to recover the secret exponent, in the case of the use of RSA or ECDSA, or to recover a secret point P in the case of the evaluation of Miller's function, said point P being part of a user's signature key (this is notably described in document D10, corresponding to the article "Fault and Side Channel Attacks on Pairing based Cryptography" of D Page and F. Vercauteren, published in the journal "IEEE Transactions on Computers, Volume 55, No. 9, pp. 1075-1080, Sept., 2006." According to a particular aspect of the invention, such a method of cryptographic calculations is remarkable in that the step of correcting said result comprises at least the application of a composition law of said group G on said result, according to one particular characteristic, such a cryptographic calculation method is remarkable in that it includes an initialization step ation of said at least three registers assigning said register to the neutral element of said group, assigning to said registers B and Accu said element g, and in that iteration of processing a bit of said exponent d during step d exponentiation consists of the following calculations: A: = A * Accum if the value of the exponent bit in the iteration considered is equal to 1, or B: = B * Accum if the value of the exponent bit at the iteration considered is equal to 0, then to perform the following calculation Accu: = Accu * Accu, with "*" being said composition law of said group, and in that the step of detecting the occurrence of an error comprises a step of comparing the value of A * B with a value contained in the Accu register. According to a particular aspect of the invention, such a cryptographic calculation method is remarkable in that in the comparison step, when the value of A * B is different from a value contained in the Accu register, the step of correction of the result comprises: a step of obtaining a final value of Accu, unaltered; a step of obtaining an inverse element e of the exponent d; a step of determining an element g ': = A'; in case of equality of the elements g 'and g, a validation step of the element A; in the case of non-equality of the elements g 'and g, a step of determining an element A': = Accu * / 3 ', a step of determining the element g ": = A' e, and, in case of equality of the elements g "and g, a step of replacing the value of the register A by the value of the register A '. According to a particular aspect of the invention, such a method of cryptographic computations is remarkable in that the step of obtaining the final value of Accu, which has not been altered, comprises a step of calculating in parallel the intermediate values making it possible to obtain said final value of Accu. Thus, only part of the calculations that are executed during an exponentiation are duplicated and parallelized, unlike the techniques of the prior art which consist in duplicating and executing all the calculations made during an exponentiation. According to a particular aspect of the invention, such a cryptographic calculation method is remarkable in that when the value of one of the registers A or B is zero, said method comprises a step forcing the two registers A and B to a zero value and forcing the Accu register to a random value.

Ainsi, en réalisant cette étape consistant à forcer la valeur des registres suite à une étape de détection d'une valeur nulle pour l'un des deux registres A et/ou B, il est possible d'éviter une attaque combinant une attaque par faute et une attaque du type SPA (acronyme anglais de « Simple Power Analysis »). Selon un aspect particulier de l'invention, un tel procédé est remarquable en ce que l'élément g est public et en ce que la valeur finale de Accu est fournie audit composant électronique par un autre composant électronique dans lequel aucune erreur n'a été réalisée lors de la détermination de ladite valeur finale de Accu. Ainsi, le calcul de la valeur finale contenue dans le registre Accu ne nécessitant que des données publiques comprenant l'élément g (pouvant être par exemple un message à signer), et la taille de l'exposant à traiter, ce calcul peut être effectué dans un autre composant pour lequel des tests poussés auront été réalisés afin de garantir que ce composant ne possède pas de défaut de conception, et cet autre composant sera placé dans un environnement réputé sûr (i.e une attaque de type par injection de faute ne pourra pas être réalisée sur celui-ci). Une fois le calcul final de Accu réalisé, celui-ci peut-être transmis au composant afin de procéder à la réalisation de l'étape de correction. En effet, l'élément Accu ainsi obtenu est non-altérée, et permet donc de restaurer le résultat de l'exponentiation. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce que le groupe correspond au groupe cyclique engendré par un point générateur G appartenant à une courbe elliptique, en ce que l'exposant d est un exposant secret, et en ce que le procédé de calculs cryptographiques correspond au procédé de calculs d'une signature numérique mettant en oeuvre le procédé ECDS A. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce que le groupe correspond au groupe quotient ZInZ, avec n un entier strictement supérieur à zéro, en ce que l'exposant d est un exposant secret, et en ce que le procédé de calculs cryptographiques correspond au procédé de calculs d'une signature numérique mettant en oeuvre le procédé RSA. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce ladite étape d'exponentiation permet d'obtenir une évaluation de la fonction de Miller en un point Q qui est un élément du corps fini Fq k avec k un entier supérieur ou égal à 1, et q une puissance d'un nombre premier. Thus, by performing this step of forcing the value of the registers following a step of detecting a zero value for one of the two registers A and / or B, it is possible to avoid an attack combining a fault attack. and an attack of the SPA type (acronym for "Simple Power Analysis"). According to a particular aspect of the invention, such a method is remarkable in that element g is public and in that the final value of Accu is supplied to said electronic component by another electronic component in which no error has been made. performed during the determination of said final value of Accu. Thus, since the calculation of the final value contained in the Accu register only requires public data including the element g (which may be for example a message to be signed), and the size of the exponent to be processed, this calculation may be performed in another component for which extensive testing has been done to ensure that this component has no design defect, and that other component will be placed in a deemed safe environment (ie a fault injection type attack will not be able to to be realized on this one). Once the final calculation of Accu realized, it can be transmitted to the component in order to proceed to the completion of the correction step. Indeed, the Accu element thus obtained is unaltered, and thus allows to restore the result of the exponentiation. According to a particular aspect of the invention, such a cryptographic calculation method is remarkable in that the group corresponds to the cyclic group generated by a generator point G belonging to an elliptic curve, in that the exponent d is a secret exponent, and in that the cryptographic calculation method corresponds to the method of calculating a digital signature implementing the ECDS method A. According to a particular aspect of the invention, such a cryptographic calculation method is remarkable in that the group corresponds to the quotient group ZInZ, with n an integer strictly greater than zero, in that the exponent d is a secret exponent, and in that the cryptographic calculation method corresponds to the method of calculating a digital signature implementing the method RSA. According to a particular aspect of the invention, such a cryptographic computation method is remarkable in that said exponentiation step makes it possible to obtain an evaluation of the Miller function at a point Q which is a finite element of the finite field Fq k with k an integer greater than or equal to 1, and q a power of a prime number.

Ainsi, l'invention prend tout son sens lors du calcul du couplage de Tate modifié ou la fonction de Miller qui comprend, entre autres, des opérations de doublement et d'addition de points, suivie d'une opération finale d'élévation à une puissance. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce qu'il comprend en outre une étape de vérification de l'obtention d'un point à l'infini. Selon un aspect particulier de l'invention, un tel procédé de calculs cryptographiques est remarquable en ce ladite exponentiation met en oeuvre la technique R2L permettant de traiter les bits dudit exposant d de droite à gauche. Thus, the invention makes perfect sense when calculating the modified Tate coupling or the Miller function which includes, among other things, doubling and dot addition operations, followed by a final one-step elevation operation. power. According to a particular aspect of the invention, such a cryptographic calculation method is remarkable in that it further comprises a step of verifying the obtaining of a point at infinity. According to a particular aspect of the invention, such a cryptographic calculation method is remarkable in that said exponentiation uses the R2L technique for processing the bits of said exponent d from right to left.

Il convient de remarquer que rien n'incitait l'Homme du Métier à procéder de la sorte car il n'était pas évident de constater que l'algorithme R2L possède des propriétés intrinsèques permettant de restaurer le calcul défectueux, contrairement aux autres techniques d' exponentiation, telle que la technique dite de « Montgomery Ladder » qui ne possède pas de telles propriétés intrinsèques, mais que l'on peut adapter. It should be noted that there was nothing to encourage the skilled person to do so because it was not obvious that the R2L algorithm has intrinsic properties to restore faulty computing, unlike other techniques of exponentiation, such as the so-called "Montgomery Ladder" technique which does not have such intrinsic properties, but which can be adapted.

Dans un autre mode de réalisation de l'invention, il est proposé un produit programme d'ordinateur qui comprend des instructions de code de programme pour la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation), lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation de l'invention, il est proposé un médium de stockage lisible par ordinateur et non transitoire, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé précité (dans l'un quelconque de ses différents modes de réalisation). Dans un autre mode de réalisation de l'invention, il est proposé un composant électronique permettant de réaliser des calculs cryptographiques, comprenant des moyens permettant de réaliser une exponentiation dans un groupe, d'un élément g appartenant audit groupe, en parcourant les bits d'un exposant d, et comprenant au moins trois registres A, B et Accu pour mémoriser des valeurs de ladite exponentiation, et comprenant des moyens de détection de l'occurrence d'une erreur utilisés après ladite exponentiation. Un tel composant électronique est remarquable ce qu'il comprend en outre des moyens de correction du résultat en sortie des moyens permettant de réaliser une exponentiation, lesdits moyens de correction étant activés en fonction du résultat en sortie des moyens de détection de l'occurrence d'une erreur. Dans un autre mode de réalisation de l'invention, un tel composant électronique est remarquable en ce que les moyens de correction permettent de réaliser une loi de composition dudit groupe G. Dans un autre mode de réalisation de l'invention, un tel composant électronique comprend des moyens d'initialisation desdits au moins trois registres permettant d'affecter audit registre A l'élément neutre dudit groupe, d'affecter auxdits registres B et Accu ledit élément g, et en ce les moyens permettant d'effectuer une exponentiation comprennent, pour un bit de l'exposant donné, l'activation des moyens permettant d'effectuer les calculs suivants : A := A * Accu si la valeur du bit de l'exposant donné est égal à 1, ou des moyens permettant d'effectuer les calculs suivants B := B * Accu si la valeur du bit de l'exposant donné est égal à 0, puis à activer les moyens permettant de réaliser le calcul suivant Accu := Accu * Accu, où « * » est la loi de composition dudit groupe, et en ce que les moyens de détection de l'occurrence d'une erreur comprennent des moyens pour réaliser une comparaison de la valeur de A * B avec une valeur contenue dans le registre Accu. Dans un autre mode de réalisation de l'invention, il est proposé un composant électronique qui est remarquable en ce que lorsque les moyens pour réaliser une comparaison détecte que la valeur de A * B est différente d'une valeur contenue dans le registre Accu, les moyens de correction du résultat activent : - des moyens d'obtention d'une valeur finale de Accu, non altérée ; - des moyens d'obtention d'un élément inverse e de l'exposant d ; - des moyens de détermination d'un élément g' := A' ; - en cas d'égalité des éléments g' et g, des moyens de validation de l'élément A sont activés; - en cas de non égalité des éléments g' et g, des moyens de détermination d'un élément A' := Accu * B-', des moyens de détermination de l'élément g" := A' e, sont activés et, en cas d'égalité des éléments g" et g, des moyens de remplacement de la valeur du registre A par la valeur du registre A' sont activés. In another embodiment of the invention there is provided a computer program product which comprises program code instructions for implementing the aforesaid method (in any one of its various embodiments), when said program is run on a computer. In another embodiment of the invention, there is provided a computer-readable and non-transitory storage medium, storing a computer program comprising a set of instructions executable by a computer for implementing the aforementioned method (in any of its different embodiments). In another embodiment of the invention, there is provided an electronic component for performing cryptographic calculations, comprising means for performing an exponentiation in a group, of an element g belonging to said group, by traversing the bits of an exponent d, and comprising at least three registers A, B and Accu for storing values of said exponentiation, and comprising means for detecting the occurrence of an error used after said exponentiation. Such an electronic component is remarkable which furthermore comprises means for correcting the output of the means making it possible to carry out an exponentiation, said correction means being activated as a function of the result at the output of the detection means of the occurrence of 'a mistake. In another embodiment of the invention, such an electronic component is remarkable in that the correction means make it possible to produce a composition law of said group G. In another embodiment of the invention, such an electronic component comprises means for initializing said at least three registers for assigning said register A to the neutral element of said group, assigning said registers B and Accu said element g, and in that the means for performing an exponentiation comprise, for a bit of the given exponent, the activation of the means making it possible to carry out the following calculations: A: = A * Accum if the value of the bit of the given exponent is equal to 1, or means making it possible to perform the following calculations B: = B * Accum if the value of the bit of the given exponent is equal to 0, then to activate the means allowing to realize the computation following Accu: = Accu * Accu, where "*" is the law of composition of said group, e in that the means for detecting the occurrence of an error comprise means for making a comparison of the value of A * B with a value contained in the Accu register. In another embodiment of the invention, there is provided an electronic component which is remarkable in that when the means for making a comparison detects that the value of A * B is different from a value contained in the Accu register, the means of correcting the result activate: means for obtaining a final value of Accu, unaltered; means for obtaining an inverse element e of the exponent d; means for determining an element g ': = A'; in case of equality of the elements g 'and g, means for validating the element A are activated; in case of non-equality of the elements g 'and g, means for determining an element A': = Accu * B- ', means for determining the element g ": = A' e, are activated and , in case of equality of the elements g "and g, means for replacing the value of the register A by the value of the register A 'are activated.

Dans un autre mode de réalisation de l'invention, un tel composant électronique est remarquable en ce que les moyens permettant de réaliser une exponentiation mettent en oeuvre la technique R2L permettant de traiter les bits de l'exposant d de droite à gauche. 5. LISTE DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : - la figure 1 présente l'architecture simplifiée d'un microcontrôleur selon l'état de la technique tel qu'utilisé dans une carte à puce possédant une interface de communication duale (ou « dual interface » en anglais) ; - la figure 2 présente un organigramme d'un mode de réalisation particulier du procédé selon l'invention ; - la figure 3 présente l'architecture simplifiée d'un processeur tri-coeur pour réaliser une itération de la technique d'exponentiation R2L selon l'état de la technique; - la figure 4 présente l'architecture simplifiée d'un processeur quadri-coeur pour réaliser une itération de la technique d'exponentiation R2L selon un mode de réalisation de l'invention; - la figure 5 présente l'architecture simplifiée d'un processeur à cinq coeurs pour réaliser une itération de la technique d'exponentiation R2L selon un mode de réalisation de l'invention; - la figure 6 présente l'architecture simplifiée d'un processeur quadri-coeur pour réaliser une itération de la technique d'exponentiation R2L selon un mode de réalisation de l'invention où apparaît le découplage optimal des organes de traitement. 6. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique. In another embodiment of the invention, such an electronic component is remarkable in that the means for performing an exponentiation implement the R2L technique for processing the bits of the exponent d from right to left. 5. LIST OF FIGURES Other features and advantages of the invention will appear on reading the following description, given by way of indicative and nonlimiting example, and the appended drawings, in which: FIG. simplified architecture of a microcontroller according to the state of the art as used in a smart card having a dual communication interface (or "dual interface" in English); FIG. 2 presents a flowchart of a particular embodiment of the method according to the invention; FIG. 3 presents the simplified architecture of a tri-core processor for performing an iteration of the R2L exponentiation technique according to the state of the art; FIG. 4 presents the simplified architecture of a quad-core processor for performing an iteration of the R2L exponentiation technique according to one embodiment of the invention; FIG. 5 presents the simplified architecture of a five-core processor for performing an iteration of the R2L exponentiation technique according to one embodiment of the invention; FIG. 6 shows the simplified architecture of a quad-core processor for performing an iteration of the R2L exponentiation technique according to an embodiment of the invention in which the optimal decoupling of the processing elements appears. 6. DETAILED DESCRIPTION In all the figures of this document, the elements and identical steps are designated by the same numerical reference.

La figure 1 présente l'architecture simplifiée d'un microcontrôleur selon l'état de la technique tel qu'utilisé dans une carte à puce possédant une interface de communication duale (ou « dual interface » en anglais). Le microcontrôleur 100 comprend : - une unité de calcul 101 (ou CPU, pour « Central Processing Unit » en anglais) dans laquelle se trouve une unité arithmétique et logique 102 (ou ALU, pour « Arithmetic Logic Unit » en anglais) abrégée par l'acronyme UAL, ainsi qu'un ou plusieurs registres de travail 103; - une mémoire vive 104 (ou RAM, pour « Random Access Memory » en anglais), dans laquelle des résultats intermédiaires peuvent être stockés temporairement lors de l'exécution des instructions d'un programme d'ordinateur ; - une mémoire morte 105 (ou ROM, pour « Read Only Memory » en anglais) dans laquelle, entre autres, des programmes d'ordinateur sont stockés. Ces programmes sont exécutés par l'unité de calcul 101; - une mémoire particulière 106 qui correspond soit à une mémoire morte effaçable électriquement et programmable (appelée une mémoire EEPROM, pour « Electrically-Erasable Programmable Read-Only Memory ») ou soit à une mémoire flash ; - des bus de transfert 107 de données utilisés pour permettre le transfert de données entre les différents éléments matériels compris dans le microcontrôleur ; - une unité de contrôle sécuritaire 108 qui effectue des contrôles sur les données transférées ; - des coprocesseurs cryptographiques 109 (par exemple un coprocesseur DES, AES , et un coprocesseur cryptographique dédié à la réalisation d'opérations arithmétiques modulaire) ; - une unité 110 de génération de nombres aléatoires ; - une unité 111 d'alimentation, de réinitialisation, et de contrôle de l'horloge ; - une unité 112 constituant une interface d'entrées-sorties pour permettre au microcontrôleur de communiquer avec d'autre dispositifs. Notamment, cette unité est mise en relation avec une antenne 113 (afin de réaliser des communications en mode sans-contacts, selon la norme ISO/IEC 14443 type A ou B) et un port série 114 (afin de réaliser des communications en mode « contact » selon la norme ISO 7816). Ainsi, un attaquant peut perturber la réalisation d'un calcul cryptographique en perturbant par exemple un des coprocesseurs cryptographiques 109. Figure 1 shows the simplified architecture of a microcontroller according to the state of the art as used in a smart card having a dual communication interface (or "dual interface" in English). The microcontroller 100 comprises: - a computing unit 101 (or CPU, for "Central Processing Unit" in English) in which there is an arithmetic and logic unit 102 (or ALU, for "Arithmetic Logic Unit" in English) abbreviated by the UAL acronym, as well as one or more work registers 103; a random access memory (Random Access Memory), in which intermediate results can be temporarily stored during the execution of the instructions of a computer program; a read-only memory 105 (or ROM, for "Read Only Memory" in English) in which, inter alia, computer programs are stored. These programs are executed by the calculation unit 101; a particular memory 106 which corresponds either to an electrically erasable and programmable read only memory (called an EEPROM memory, for "Electrically-Erasable Programmable Read-Only Memory") or to a flash memory; data transfer buses 107 used to enable the transfer of data between the various hardware elements included in the microcontroller; a security control unit 108 which carries out checks on the transferred data; cryptographic coprocessors 109 (for example a coprocessor DES, AES, and a cryptographic coprocessor dedicated to the realization of modular arithmetic operations); a unit 110 for generating random numbers; a unit 111 for powering, resetting, and controlling the clock; a unit 112 constituting an input-output interface to enable the microcontroller to communicate with other devices. In particular, this unit is connected to an antenna 113 (in order to perform communications in contactless mode, in accordance with ISO / IEC 14443 type A or B) and a serial port 114 (in order to carry out communications in " contact "according to ISO 7816). Thus, an attacker can disrupt the realization of a cryptographic calculation by disturbing for example one of the cryptographic coprocessors 109.

Comme une bonne partie des systèmes asymétriques est basée sur la théorie des nombres, les deux familles principales rencontrées en cryptographie asymétrique, ont pour cadre une structure de groupe algébrique, et les morphismes qui s'y rattachent. En choisissant un groupe G muni d'une loi de composition interne « * », on peut représenter la composition de deux éléments a et b de la manière suivante : G x G--> G (a,b)-^ a * b Ainsi, pour tout entier relatif r, et pour tout élément m de G, on peut composer r1 fois cet élément avec avec lui-même, ce qui permet d'obtenir l'élément m *m * *m, que l'on peut noter r.m ou mr, selon le que le groupe est additif (par exemple le groupe de points d'une courbe elliptique) ou multiplicatif (par exemple, lorsqu'on travaille sur le groupe Z/nZ, dans le cryptosystème RSA). Lorsque le groupe G correspond au groupe thêta de Mumford (i.e G = Kx x END, avec : - K un corps fini algébriquement clos, réduit dans la pratique à Fqk , ou k désigne le degré d'extention relativement au corps de base. - Kx le corps des fractions rationnelles sur E, et à valeur dans K, - E[K] le groupe de n-torsion d'une courbe elliptique, - la loi de composition de ce groupe est définie de la manière suivante : LD , D (app) * (a2,p2)= '2 14 , p1 p2 1 (42 u v Pi P2 avec al et a2 des élément du corps Kx et ; les points P1 et P2 appartenant au groupe de n- torsion E[K]. Ainsi, il est possible pour un élément r donné de définir l'équivalent d'une exponentiation pour un élément du groupe G. Par exemple, à partir d'un élément m = (1, P) du groupe G correspond au groupe thêta de Mumford, il est possible d'obtenir : LP,[1? fo,p= fv=1VPEE [ril [ +IP V[r+HP = L[r+HP,Jr+HP où Lpy, est l'équation de la droite passant par les points P et T. C'est une fonction rationnelle des coordonnées, et dont sa valeur en un point Q, est un élément du corps fini 10 K (i.e Lp,T(Q) est un élément du corps fini K). Remarquons que Vp qui est l'équation de la verticale issue du point P. Ainsi, le rapport L sur V évalué en un point Q, est donc un élément du corps fini K. Cette « exponentiation » dans le groupe Thêta de Mumford, pour un élément particulier m = (1, P), est particulièrement intéressante car permet de mettre en exergue 15 le lien existant avec la fonction de Miller fr,p. Ainsi, une telle exponentiation permet de réaliser le calcul d'un couplage tel qu'utilisé, par exemple, dans les cryptosystèmes de type IBE. En effet, toutes les méthodes de couplage (Weil, Tate, Tate-Lichtenbaum, Ate etc...) sont construites sur la fonction de Miller. Par conséquent on pourra appliquer au calcul de couplage toute méthode 20 d'évaluation rapide ainsi que les méthodes de sécurisation connues. Sous ces conditions, on ne distinguera plus conceptuellement l'opération d'exponentiation modulaire au coeur des systèmes comme le DH, le RSA, ou bien l'opération de multiplication scalaire rencontrée dans la pratique des courbes elliptiques, ni même la fonction d'évaluation de Miller au coeur du couplage entre points d'une 25 courbe elliptique. Afin de faciliter l'exposé, nous nous restreindrons au cas de l'exponentielle, mise en oeuvre au sein du cryptosystème RSA. La mise en oeuvre de la technique d'exponentiation, dans le cryptosystème RSA, permet de calculer nid mod n (où le nombre d est un exposant dont la représentation 30 binaire correspond à la suite de bits suivante : dN,....,d2,d, avec le nombre N supérieur ou égale à 1, le nombre n correspond au modulus, et le nombre m correspond au message) Avec fr+1,P:5 en utilisant le parcours des bits de l'exposant de droite à gauche (cette technique est aussi appelée « R2L », notée Expo R2L), et qui peut comprendre une mesure anti-DFA, pouvant être décrite via le pseudo-code suivant, où seulement 3 registres notés Accu, A et B sont utilisés : /1 description de la technique Expo_R2L permettant de calculer nid mod n, et comprenant une mesure de détection d'erreur Expo R2L(m, d, n) Début Entrées : un message m, un exposant privé d et un modulus n /1 initialisations des registres Accu, A et B Accu:= m; A:= 1 ; B:=m; il traitement des bits de l'exposant d for i from 1 to N do if (di= 1) then A:= (A x Accu) mod n; else B:=(B x Accu) mod n; fi,. Accu:=Accu2 mod n; End For il fin du traitement et instanciation des données comprenant les résultats attendus et détection d'une attaque du type DFA. s := A ; c := B ; Test-antiDFA(s,c,Accu); II où la fonction Test-antiDFA, vérifie si l'égalité suivante est vérifié : sxc mod n = A xB mod n = Accu, et dans le cas où cette égalité ne serait pas vérifiée, cela signifierait qu'une erreur de calcul n'est produite, et donc qu'une attaque du type DFA s'est potentiellement produite. Sortie : retourner l'élément s si aucune erreur de calcul n'a été détectée lors du test précédent, sinon, retourner une information signifiant qu'une erreur s'est produite. Fin. Since a good part of asymmetric systems is based on number theory, the two main families encountered in asymmetric cryptography are framed by an algebraic group structure and the associated morphisms. By choosing a group G with a law of internal composition "*", we can represent the composition of two elements a and b in the following way: G x G -> G (a, b) - ^ a * b Thus, for every relative integer r, and for every element m of G, we can compose r1 times this element with with itself, which makes it possible to obtain the element m * m * * m, which we can note rm or mr, depending on whether the group is additive (for example the group of points of an elliptic curve) or multiplicative (for example, when working on the Z / nZ group, in the RSA cryptosystem). When the group G corresponds to the theta group of Mumford (ie G = Kx x END, with: - K an algebraically closed finite field, reduced in practice to Fqk, where k denotes the degree of extension relative to the basic body. Kx the field of rational fractions on E, and with value in K, - E [K] the n-torsion group of an elliptic curve, - the law of composition of this group is defined as follows: LD, D (app) * (a2, p2) = '14, p1 p2 1 (42 uv Pi P2 with al and a2 of the elements of the body Kx and the points P1 and P2 belonging to the n-torsion group E [K]. Thus, it is possible for a given element r to define the equivalent of an exponentiation for an element of group G. For example, from an element m = (1, P) of group G corresponds to the theta group of Mumford, it is possible to obtain: LP, [1? Fo, p = fv = 1VPEE [ril [+ IP V [r + HP = L [r + HP, Jr + HP where Lpy, is the equation of the right passing through the points P and T. This is a rational function of its coordinates, and whose value in a point Q, is an element of the finite field 10 K (i.e Lp, T (Q) is an element of the finite field K). Note that Vp, which is the equation of the vertical from the point P. Thus, the ratio L on V evaluated at a point Q, is thus an element of the finite field K. This "exponentiation" in the group Theta of Mumford, for a particular element m = (1, P) is particularly interesting since it makes it possible to highlight the existing link with the Miller function en, p. Thus, such an exponentiation makes it possible to calculate a coupling as used, for example, in type IBE cryptosystems. Indeed, all the coupling methods (Weil, Tate, Tate-Lichtenbaum, Ate etc ...) are built on Miller's function. Consequently, any quick evaluation method and known security methods can be applied to the coupling calculation. Under these conditions, the modular exponentiation operation at the heart of the systems such as the DH, the RSA, or the scalar multiplication operation encountered in the practice of elliptic curves, or even the evaluation function, will no longer be conceptually distinguished. of Miller at the heart of the coupling between points of an elliptic curve. In order to facilitate the presentation, we will restrict ourselves to the case of the exponential, implemented within the RSA cryptosystem. The implementation of the exponentiation technique, in the RSA cryptosystem, makes it possible to calculate nid mod n (where the number d is an exponent whose binary representation corresponds to the following sequence of bits: dN, ...., d2, d, with the number N greater than or equal to 1, the number n corresponds to the modulus, and the number m corresponds to the message) With fr + 1, P: 5 using the path of the bits of the exponent from right to left (this technique is also called "R2L", denoted Expo R2L), and which may include an anti-DFA measurement, which can be described via the following pseudo-code, where only 3 registers denoted Accu, A and B are used: / 1 description of the Expo_R2L technique for calculating nest mod n, including an error detection measure Expo R2L (m, d, n) Start Inputs: a message m, a private exponent d and a modulus n / 1 initialization of registers Accu, A and B Accu: = m; A: = 1; B: = m; it processes the bits of the exponent d for i from 1 to N do if (di = 1) then A: = (A x Accu) mod n; else B: = (B x Accu) mod n; fi ,. Accu: = Accu2 mod n; End For the end of the processing and instantiation of the data including the expected results and detection of a DFA type attack. s: = A; c: = B; Test-antiDFA (s, c, Accu); II where the function Test-antiDFA, checks if the following equality is checked: sxc mod n = A xB mod n = Accu, and in the case where this equality would not be verified, it would mean that a calculation error does not is produced, and therefore a DFA-type attack has potentially occurred. Output: return the element s if no calculation error was detected during the previous test, otherwise return information indicating that an error has occurred. End.

Remarquons que, afin de faciliter la compréhension de la présente technique, nous n'avons pas détaillé les mesures de protection réalisées lors de la conduite des calculs, en particulier l'exposant de l'exponentiation devra être validé, et le message initial devra être ré-injecté lors du contrôle. Pour de plus de plus amples informations, l'Homme du métier pourra se référer au document D5. Cette exponentiation utilise notamment un coprocesseur cryptographique dédié à la réalisation d'opérations arithmétiques modulaire (permettant d'effectuer les opérations de multiplication et d'élévation au carré suivi d'une réduction modulaire). Il convient de remarquer que la valeur du registre Accu contient, après la dernière itération (i.e le traitement du bit de poids faible de d) une puissance binaire de ) N (2 , m correspondant à m à la puissance 2N , modulo n (i.e Accu = mpowmod n où Pow(2,N) = 2N). Remarquons aussi que lorsqu'un des registres A ou B est modifié à cause d'une perturbation (externe ou interne), ce registre contenant une valeur erronée ne vient pas perturber l'autre registre (A ou B), ni le registre noté Accu. Ces deux remarques sont à l'origine de la proposition d'une nouvelle technique de correction d'erreurs. Note that, in order to facilitate the understanding of the present technique, we have not detailed the protection measures made during the conduct of the calculations, in particular the exponent of the exponentiation must be validated, and the initial message must be re-injected during the check. For more information, the skilled person can refer to document D5. This exponentiation notably uses a cryptographic coprocessor dedicated to the realization of modular arithmetic operations (making it possible to carry out multiplication and squaring operations followed by a modular reduction). It should be noted that the value of the Accu register contains, after the last iteration (ie the processing of the low order bit of d) a binary power of) N (2, m corresponding to m to the power 2N, modulo n (ie Accu = mpowmod n where Pow (2, N) = 2N) Note also that when one of the registers A or B is modified because of a perturbation (external or internal), this register containing a wrong value does not come to disturb the other register (A or B), nor the register noted Accu.These two remarks are at the origin of the proposal of a new technique of correction of errors.

La figure 2 présente un organigramme d'un mode de réalisation particulier du procédé selon l'invention. Lorsqu'un dispositif doit réaliser la signature d'un message m en utilisant le cryptosystème RSA, avec une clé privée d et un modulus n, il peut mettre en oeuvre la technique Expo R2L mentionnée précédemment correspondant aux étapes 201 et 202 de la figure 2. Plus précisément, l'étape 202 consiste à mettre en oeuvre la fonction Test- antiDFA mentionnée précédemment (i.e l'étape 202 permet de determiner un élément , Dcod = sxc - mPow (2 N) mod n, et si cet élément Dcod est different de zero, cela signifie qu'une erreur a été réalisée lors de l'exécution de l'exponentiation). En présence d'un incident unique, l'analyse de l'échec de la signature signifie que l'élément Dcod est non nul, et donc trois cas peuvent se produire : a) le calcul de la quantité de référence QR .., nyow(2,N) mod n » a été altéré, et cela a par conséquent perturbé les deux registres A et B; b) le calcul de la signature s a été altéré : on pourra la rétablir si on dispose de la clé publique (si le protocole le permet ex RSA), et de la quantité de référence QR non-altérée; Dans le cas de certains systèmes cryptographiques, un générateur public fixé à l'avance, peut au moment de la personnalisation du domaine de sécurité, incorporer la quantité de référence QR dans ces paramètres. Dans ce cas le procédé de correction s'en trouve allégé de manière élégante. c) le calcul de c le miroir de signature, a été altéré : on pourra rétablir si on dispose de la clé publique, et de la quantité de référence QR non-altérée. FIG. 2 presents a flowchart of a particular embodiment of the method according to the invention. When a device must realize the signature of a message m by using the RSA cryptosystem, with a private key d and a modulus n, it can implement the aforementioned Expo R2L technique corresponding to the steps 201 and 202 of FIG. More precisely, step 202 consists in implementing the aforementioned Test-antiDFA function (ie step 202 makes it possible to determine an element, Dcod = sxc-mPow (2N) mod n, and if this element Dcod is different from zero, this means that an error was made while performing the exponentiation). In the presence of a single incident, the analysis of the failure of the signature means that the element Dcod is non-zero, and therefore three cases can occur: a) the calculation of the reference quantity QR .., nyow (2, N) mod n "has been altered, and this has therefore disturbed the two registers A and B; b) the calculation of the signature has been altered: it can be restored if the public key is available (if the protocol allows ex RSA), and the quantity of reference QR unaltered; In the case of some cryptographic systems, a public generator set in advance, can at the time of customization of the security domain, incorporate the QR reference quantity into these parameters. In this case the correction method is lightened in an elegant manner. c) the calculation of c the signature mirror has been altered: it will be possible to restore if we have the public key, and the QR reference quantity unaltered.

Il convient de remarquer que la quantité de référence, notée QR : ,mP01 2, N) mod n , dans ce mode de réalisation, est publique puisque c'est une puissance fixée du message à signer dans le cadre du RSA, et donc, celle-ci peut être : - Soit fournie par le vérificateur après le retour d'une information lui offrant cette option, Soit recalculée et revérifiée par le dispositif réalisant le calcul de la signature, ou calculée en parallèle par un processeur décrit en relation avec la figure 4. On suppose que, dans l'étape 203, le dispositif mettant en oeuvre un mode de réalisation de la présente invention, comprend une zone mémoire dans laquelle est stockée l'exposant publique e (et vérifiant donc l'équation suivante ex d = 1 mod phi(n), où phi est la fonction d'Euler), et que ce dispositif comprend en outre une valeur de quantité de référence, QR, associée au message m qui est correcte. - Et dans le cadre des systèmes utilisant un générateur, QR peut tout simplement être incorporée aux paramètres du domaine de sécurité. L'étape 203 comprend la succession d'étapes suivantes : a) calculer l'élément m' := se mod n, (dans le cadre du RSA et si l'exposant e est disponible, sinon en toute généralité, se référer au traitement 3.1 présenté dans le document D5, puis le cas échéant, comparer les messages m et m'. Si ces messages sont identiques, cela signifie que l'erreur détectée n'a pas altéré l'élément s et que celui-ci n'a pas à être restauré, puisqu'il est correct. b) Si les messages m et m' sont différents, il faut alors calculer l'élément Sr = QRI c mod n, puis calculer l'élément m" = Sre mod n. Si les messages m" et m sont identiques, alors il faut remplacer la valeur de s par la signature restaurée Sr. It should be noted that the reference quantity, denoted QR:, mP01 2, N) mod n, in this embodiment, is public since it is a fixed power of the message to be signed in the frame of the RSA, and therefore, this can be: - Either provided by the verifier after the return of information offering this option, either recalculated and rechecked by the device performing the calculation of the signature, or calculated in parallel by a processor described in connection with the FIG. 4. It is assumed that, in step 203, the device embodying an embodiment of the present invention comprises a memory zone in which the public exponent e is stored (and thus verifying the following equation ex d = 1 mod phi (n), where phi is the Euler function), and that this device further comprises a reference quantity value, QR, associated with the message m which is correct. - And in systems using a generator, QR can simply be incorporated into the security domain settings. Step 203 comprises the following succession of steps: a) calculate the element m ': = mod n, (in the context of the RSA and if the exponent e is available, otherwise in general, refer to the treatment 3.1 presented in the document D5, then if necessary, compare the messages m and m 'If these messages are identical, it means that the detected error did not alter the element s and that this element has not not to be restored, since it is correct b) If the messages m and m 'are different, then we must calculate the element Sr = QRI c mod n, then calculate the element m "= Sre mod n. the messages m "and m are identical, then it is necessary to replace the value of s by the restored signature Sr.

La figure 3 présente l'architecture simplifiée d'un processeur tri-coeur pour réaliser une itération de la technique d'exponentiation R2L selon l'état de la technique. FIG. 3 presents the simplified architecture of a tri-core processor for iteration of the R2L exponentiation technique according to the state of the art.

En effet, une itération de la technique d'exponentiation R2L (aussi appelée Expo R2L précédemment), c'est à dire le traitement d'un bit di de l'exposant secret d , avec un processeur tri-coeur, consiste à effectuer les trois opérations suivantes ( sous forme de pseudo-code) en parallèle : A+ :=A x Accu[n]; B+ :=B x Accu[n]; Accu[n+1]=Accu2 [n]; II où A, B, A+ et B+ sont des registres du processeur tri- coeur, et Accu[i] représente le registre Accu à utiliser au temps i If {dt=1} A :=A+ else B := B+ La figure 4 présente l'architecture simplifiée d'un processeur quadri-coeur pour réaliser une itération de la technique d'exponentiation R2L selon un mode de réalisation de l'invention. Dans ce mode de réalisation, un registre noté QR est initialisé avec la même valeur que celle du registre Accu donc avec un message m. Puis à chaque itération d'un bit di de l'exposant d, on élève au carré le contenu du registre QR. Le résultat de cette opération est ensuite stocké dans un registre QR+. Le contenu du registre QR+ est ensuite affecté au contenu du registre QR. Ainsi, le contenu des registres QR et Accu, doit être identique, s'il n'y a pas eu d'erreurs impactant ces registres. Indeed, an iteration of the exponentiation technique R2L (also called Expo R2L previously), that is to say the processing of a bit di of the secret exponent d, with a tri-core processor, consists in carrying out the three following operations (in pseudo-code form) in parallel: A +: = A x Accu [n]; B +: = B x Accu [n]; Accu [n + 1] = Accu2 [n]; II where A, B, A + and B + are registers of the tri-core processor, and Accu [i] represents the Accu register to use at time i If {dt = 1} A: = A + else B: = B + Figure 4 presents the simplified architecture of a quad-core processor to perform an iteration of the R2L exponentiation technique according to one embodiment of the invention. In this embodiment, a register denoted QR is initialized with the same value as the register Accu therefore with a message m. Then, at each iteration of a bit di of the exponent d, the contents of the QR register are squared. The result of this operation is then stored in a QR + register. The content of the QR + register is then assigned to the contents of the QR register. Thus, the contents of the QR and Accu registers must be identical, if there have been no errors impacting these registers.

La figure 5 présente l'architecture simplifiée d'un processeur comprenant cinq coeurs pour réaliser une itération de la technique d'exponentiation R2L selon un mode de réalisation de l'invention. Ce mode de réalisation reprend les caractéristiques techniques divulguées dans la figure 4, en ajoutant en sus, une étape de comparaison entre les données contenues dans les registres QR+ et Accu afin de vérifier si une erreur ne s'est pas produite lors de l'itération concernée. Dès qu'une erreur est détectée, une exception est levée afin d'être traitée par un autre processeur (non représenté) pour prendre une mesure adéquate (par exemple, effectuer une nouvelle exponentiation). La figure 6 présente l'architecture simplifiée d'un processeur quadri-coeur pour réaliser une itération de la technique d'exponentiation R2L selon un mode de réalisation de l'invention. FIG. 5 presents the simplified architecture of a processor comprising five cores for performing an iteration of the R2L exponentiation technique according to one embodiment of the invention. This embodiment incorporates the technical characteristics disclosed in FIG. 4, adding in addition a step of comparing the data contained in the QR + and Accu registers in order to verify whether an error has not occurred during the iteration. concerned. As soon as an error is detected, an exception is raised for processing by another processor (not shown) to take an appropriate measure (for example, perform a new exponentiation). FIG. 6 presents the simplified architecture of a quad-core processor for performing an iteration of the R2L exponentiation technique according to one embodiment of the invention.

Dans ce mode de réalisation, un inverseur modulaire est inséré dans le bloc de traitement du registre B afin d'alterner les calculs de carré modulaire. Si une erreur est insérée lors de la mise au carré dans un bloc, l'autre bloc effectuera le calcul sur la valeur modulaire opposée, et produira un résultat correct, à moins que les échantillons à ce problème se retrouvent sur une valeur et son opposé modulaire, ce qui serait inexploitable au niveau de l'attaquant qui ignorera la valeur du module (ou de son blindage) utilisé au cours du calcul. Nous pouvons alors regrouper les résultats déjà établis et proposer un taux de correction de 100%. L'algorithme complet du calcul de l'exponentiation selon ce mode de réalisation est le suivant : ExpoParallel4 R2L(m,d,n) Début Il Entrées : un message m, un exposant privé d et un modulus n initialisations des registres Accu A, Accu B, A et B Accu A:=m; A:=1 ; B:=m; Accu B:=m; Il traitement des bits de l'exposant d for i from 1 to N do if (d, = 1) then A: =A x (Accu A:=m) mod n; else B: =B x (Accu B:=m) mod n; fi; Accu A:= Accu A 2 mod n; Accu B:= [-Accu B] 2 mod n; End For Test := [Accu A = Accu B] AND [A x B mod n = Accu A] AND [A x B mod n Accu B] [s=A,c=B, Test] ; end: Cette technique est particulièrement adaptée aux processeurs quadri-coeur, elle pourra même être mise en oeuvre avec un processeur double-coeur, moyennant les fonctionnalités présentes dans la programmation parallèle et dans les standard émergentes comme Open MP. Il convient d'insister également sur le fait que la mise en application la présente technique dans les serveurs de sécurité distants est toute indiquée, puisque ces serveurs disposent déjà de ressources importantes comme des processeurs multi-coeurs. Ainsi, elle constitue une manière très économique de se prémunir contre les attaques du type « BUG attacks ». Enfin, dans un mode de réalisation particulier de l'invention, lorsque la loi de composition correspond à celle définie dans un groupe de Mumford, il est possible, en outre, d'utiliser une étape de comparaison de l'élément r.P obtenu suite à l'exponentiation décrite précédemment : (1,P)r = (1,13)* ....* (i,) = (f. p , r 13) avec le point à l'infini. Cette étape permet de renforcer la sécurité du traitement cryptographique effectué en détectant la réalisation d'une attaque par faute. In this embodiment, a modular inverter is inserted into the register B processing block to alternate modular square calculations. If an error is inserted when squaring in one block, the other block will perform the computation on the opposite modular value, and will produce a correct result, unless the samples to this problem are found on a value and its opposite modular, which would be unusable at the level of the attacker who will ignore the value of the module (or its shielding) used during the calculation. We can then consolidate the results already established and propose a correction rate of 100%. The complete algorithm for calculating the exponentiation according to this embodiment is the following: ExpoParallel4 R2L (m, d, n) Start Il Inputs: a message m, a private exponent d and a modulus n initializations of the registers Accu A, Accu B, A and B Accu A: = m; A: = 1; B: = m; Accu B: = m; It processes the bits of the exponent d for i from 1 to N do if (d, = 1) then A: = A x (Accu A: = m) mod n; else B: = B x (Accum B: = m) mod n; fi; Battery A: = Battery A 2 mod n; Accu B: = [-Accu B] 2 mod n; End For Test: = [Accum A = Accum B] AND [A x B mod n = Accum A] AND [A x B mod Accu B] [s = A, c = B, Test]; end: This technique is particularly suited to quad-core processors, it can even be implemented with a dual-core processor, with the features found in parallel programming and in emerging standards such as Open MP. It should also be emphasized that the implementation of this technique in remote security servers is appropriate, since these servers already have important resources such as multi-core processors. Thus, it is a very economical way to guard against attacks like "BUG attacks". Finally, in a particular embodiment of the invention, when the composition law corresponds to that defined in a Mumford group, it is possible, in addition, to use a comparison step of the element rP obtained following the exponentiation described above: (1, P) r = (1,13) * .... * (i,) = (f, p, r 13) with the point at infinity. This step makes it possible to reinforce the security of the cryptographic processing performed by detecting the execution of a fault attack.

Claims (4)

REVENDICATIONS1. Procédé de calculs cryptographiques mis en oeuvre dans un composant électronique, ledit procédé comprenant une étape comprenant une exponentiation dans un groupe, d'un élément g appartenant audit groupe, en parcourant les bits d'un exposant d, utilisant au moins trois registres A, B et Accu pour mémoriser des valeurs de ladite exponentiation, et comprenant une étape de détection de l'occurrence d'une erreur exécutée après ladite exponentiation, caractérisé en ce qu'il comprend en outre une étape de correction du résultat de l'étape d'exponentiation exécutée en fonction du résultat de l'étape de détection de l'occurrence d'une erreur. REVENDICATIONS1. A method of cryptographic calculations implemented in an electronic component, said method comprising a step comprising an exponentiation in a group, of an element g belonging to said group, by traversing the bits of an exponent d, using at least three registers A, B and Accu for storing values of said exponentiation, and comprising a step of detecting the occurrence of an error executed after said exponentiation, characterized in that it further comprises a step of correcting the result of step d exponentiation executed according to the result of the step of detecting the occurrence of an error. 2. Procédé de calculs cryptographiques selon la revendication 1, caractérisé en ce que l'étape de correction dudit résultat comprend au moins l'application d'une loi de composition dudit groupe G sur ledit résultat. 2. Cryptographic calculation method according to claim 1, characterized in that the step of correcting said result comprises at least the application of a composition law of said group G on said result. 3. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend une étape d'initialisation desdits au moins trois registres affectant audit registre A l'élément neutre dudit groupe, affectant auxdits registres B et Accu ledit élément g, et en ce qu'une itération de traitement d'un bit dudit exposant d au cours de l'étape d'exponentiation consiste à effectuer les calculs suivants : A := A * Accu si la valeur du bit de l'exposant à l'itération considérée est égal à 1, ou B := B * Accu si la valeur du bit de l'exposant à l'itération considérée est égal à 0, puis à effectuer le calcul suivant Accu := Accu * Accu, avec « * » étant ladite loi de composition dudit groupe, et en ce que l'étape de détection de l'occurrence d'une erreur comprend une étape de comparaison de la valeur de A * B avec une valeur contenue dans le registre Accu. 3. Cryptographic calculation method according to any one of claims 1 and 2, characterized in that it comprises a step of initialization of said at least three registers affecting said register A the neutral element of said group, affecting said registers B and Loading said element g, and in that iteration processing a bit of said exponent d during the exponentiation step consists of performing the following calculations: A: = A * Accum if the bit value of the 'exponent at the considered iteration is equal to 1, or B: = B * Accum if the value of the exponent bit at the iteration considered is equal to 0, then perform the following calculation Accu: = Accu * Accu , with "*" being said composition law of said group, and in that the step of detecting the occurrence of an error comprises a step of comparing the value of A * B with a value contained in the Accu register . 4. Procédé de calculs cryptographiques selon la revendication 3, caractérisé en ce que dans l'étape de comparaison, lorsque la valeur de A * B est différente d'une valeur contenue dans le registre Accu, l'étape de correction du résultat comprend : - une étape d'obtention d'une valeur finale de Accu, non altérée ; - une étape d'obtention d'un élément inverse e de l'exposant d ; - une étape de détermination d'un élément g' := Ae ; - en cas d'égalité des éléments g' et g, une étape de validation de l'élément A ; - en cas de non égalité des éléments g' et g, une étape de détermination d'un élément A' := Accu * une étape de détermination de l'élément g" := A' e, et, en cas d'égalité des éléments g" et g, une étape de remplacement de la valeur du registre A par la valeur du registre A'. . Procédé de calculs cryptographiques selon la revendication 4, caractérisé en ce que l'étape d'obtention de la valeur finale de Accu, non altérée, comprend une étape de calcul en parallèle des valeurs intermédiaires permettant d'obtenir ladite valeur finale de Accu. 6. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 5, caractérisé en ce lorsque la valeur d'un des registres A ou B est nulle, ledit procédé comprend une étape forçant les deux registres A et B à une valeur nulle et forçant le registre Accu à une valeur aléatoire. 7. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'élément g est public et en ce que la valeur finale de Accu est fournie audit composant électronique par un autre composant électronique dans lequel aucune erreur n'a été réalisée lors de la détermination de ladite valeur finale de Accu. 8. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le groupe correspond au groupe cyclique engendré par un point générateur G appartenant à une courbe elliptique, en ce que l'exposant d est un exposant secret, et en ce que le procédé de calculs cryptographiques correspond au procédé de calculs d'une signature numérique mettant en oeuvre le procédé ECDSA. 9. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le groupe correspond au groupe quotient Z/nZ, avec n un entier strictement supérieur à zéro, en ce que l'exposant d est un exposant secret, et en ce que le procédé de calculs cryptographiques correspond au procédé de calculs d'une signature numérique mettant en oeuvre le procédé RSA. 10. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 6, caractérisé en ce ladite étape d'exponentiation permet d'obtenir une évaluation de la fonction de Miller en un point Q qui est un élément du corps fini Fqk avec k un entier supérieur ou égal à 1, et q une puissance d'un nombre premier. 11. Procédé de calculs cryptographiques selon la revendication 10, caractérisé en ce qu'il comprend en outre une étape de vérification de l'obtention d'un point à l'infini. 12. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 11 caractérisé en ce ladite exponentiation met en oeuvre la technique R2L permettant de traiter les bits dudit exposant d de droite à gauche.13. Produit programme d'ordinateur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 12, lorsque ledit programme est exécuté sur un ordinateur. 14. Médium de stockage lisible par ordinateur et non transitoire, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur ou un processeur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 12. 15. Composant électronique permettant de réaliser des calculs cryptographiques, comprenant des moyens permettant de réaliser une exponentiation dans un groupe, d'un élément g appartenant audit groupe, en parcourant les bits d'un exposant d, et comprenant au moins trois registres A, B et Accu pour mémoriser des valeurs de ladite exponentiation, et comprenant des moyens de détection de l'occurrence d'une erreur utilisés après ladite exponentiation, caractérisé en ce qu'il comprend en outre des moyens de correction du résultat en sortie des moyens permettant de réaliser une exponentiation, lesdits moyens de correction étant activés en fonction du résultat en sortie des moyens de détection de l'occurrence d'une erreur. 16. Composant électronique selon la revendication 15 caractérisé en ce que les moyens de correction permettent de réaliser une loi de composition dudit groupe G. 17. Composant électronique selon l'une quelconque des revendications 15 et 16 caractérisé en ce qu'il comprend des moyens d'initialisation desdits au moins trois registres permettant d'affecter audit registre A l'élément neutre dudit groupe, d'affecter auxdits registres B et Accu ledit élément g, et en ce les moyens permettant d'effectuer une exponentiation comprennent, pour un bit de l'exposant donné, l'activation des moyens permettant d'effectuer les calculs suivants : A := A * Accu si la valeur du bit de l'exposant donné est égal à 1, ou des moyens permettant d'effectuer les calculs suivants B := B * Accu si la valeur du bit de l'exposant donné est égal à 0, puis à activer les moyens permettant de réaliser le calcul suivant Accu := Accu * Accu, où « * » est la loi de composition dudit groupe, et en ce que les moyens de détection de l'occurrence d'une erreur comprennent des moyens pour réaliser une comparaison de la valeur de A * B avec une valeur contenue dans le registre Accu. 18. Composant électronique selon la revendication 17 caractérisé en ce que lorsque les moyens pour réaliser une comparaison détecte que la valeur de A * B est différente d'une valeur contenue dans le registre Accu, les moyens de correction du résultat activent :- des moyens d'obtention d'une valeur finale de Accu, non altérée ; - des moyens d'obtention d'un élément inverse e de l'exposant d; - des moyens de détermination d'un élément g' := Ae ; - en cas d'égalité des éléments g' et g, des moyens de validation de l'élément A sont activés; - en cas de non égalité des éléments g' et g, des moyens de détermination d'un élément A' := Accu * /3-', des moyens de détermination de l'élément g" := A' e, sont activés et, en cas d'égalité des éléments g" et g, des moyens de remplacement de la valeur du registre A par la valeur du registre A' sont activés.REVENDICATIONS 1. Procédé de calculs cryptographiques mis en oeuvre dans un composant électronique, ledit procédé comprenant une étape comprenant une exponentiation dans un groupe, d'un élément g appartenant audit groupe, en parcourant les bits d'un exposant d, utilisant au moins trois registres A, B et Accu pour mémoriser des valeurs de ladite exponentiation, et comprenant une étape de détection de l'occurrence d'une erreur exécutée après ladite exponentiation, caractérisé en ce qu'il comprend en outre une étape de correction du résultat de l'étape d'exponentiation exécutée en fonction du résultat de l'étape de détection de l'occurrence d'une erreur. 2. Procédé de calculs cryptographiques selon la revendication 1, caractérisé en ce que l'étape de correction dudit résultat comprend au moins l'application d'une loi de composition dudit groupe G sur ledit résultat. 3. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend une étape d'initialisation desdits au moins trois registres affectant audit registre A l'élément neutre dudit groupe, affectant auxdits registres B et Accu ledit élément g, et en ce qu'une itération de traitement d'un bit dudit exposant d au cours de l'étape d'exponentiation consiste à effectuer les calculs suivants : A := A * Accu si la valeur du bit de l'exposant à l'itération considérée est égal à 1, ou B := B * Accu si la valeur du bit de l'exposant à l'itération considérée est égal à 0, puis à effectuer le calcul suivant Accu := Accu * Accu, avec « * » étant ladite loi de composition dudit groupe, et en ce que l'étape de détection de l'occurrence d'une erreur comprend une étape de comparaison de la valeur de A * B avec une valeur contenue dans le registre Accu. 4. Procédé de calculs cryptographiques selon la revendication 3, caractérisé en ce que dans l'étape de comparaison, lorsque la valeur de A * B est différente d'une valeur contenue dans le registre Accu, l'étape de correction du résultat comprend : - une étape d'obtention d'une valeur finale de Accu, non altérée ; - une étape d'obtention d'un élément inverse e de l'exposant d ; - une étape de détermination d'un élément g' := Ae ; - en cas d'égalité des éléments g' et g, une étape de validation de l'élément A ; - en cas de non égalité des éléments g' et g, une étape de détermination d'un élément A' := Accu * une étape de détermination de l'élément g" := A' e, et, en cas d'égalité des éléments g" et g, une étape de remplacement de la valeur du registre A par la valeur du registre A'. . Procédé de calculs cryptographiques selon la revendication 4, caractérisé en ce que l'étape d'obtention de la valeur finale de Accu, non altérée, comprend une étape de calcul en parallèle des valeurs intermédiaires permettant d'obtenir ladite valeur finale de Accu. 6. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 5, caractérisé en ce lorsque la valeur d'un des registres A ou B est nulle, ledit procédé comprend une étape forçant les deux registres A et B à une valeur nulle et forçant le registre Accu à une valeur aléatoire. 7. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'élément g est public et en ce que la valeur finale de Accu est fournie audit composant électronique par un autre composant électronique dans lequel aucune erreur n'a été réalisée lors de la détermination de ladite valeur finale de Accu. 8. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le groupe correspond au groupe cyclique engendré par un point générateur G appartenant à une courbe elliptique, en ce que l'exposant d est un exposant secret, et en ce que le procédé de calculs cryptographiques correspond au procédé de calculs d'une signature numérique mettant en oeuvre le procédé ECDSA. 9. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le groupe correspond au groupe quotient Z/nZ, avec n un entier strictement supérieur à zéro, en ce que l'exposant d est un exposant secret, et en ce que le procédé de calculs cryptographiques correspond au procédé de calculs d'une signature numérique mettant en oeuvre le procédé RSA. 10. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 6, caractérisé en ce ladite étape d'exponentiation permet d'obtenir une évaluation de la fonction de Miller en un point Q qui est un élément du corps fini Fqk avec k un entier supérieur ou égal à 1, et q une puissance d'un nombre premier. 11. Procédé de calculs cryptographiques selon la revendication 10, caractérisé en ce qu'il comprend en outre une étape de vérification de l'obtention d'un point à l'infini. 12. Procédé de calculs cryptographiques selon l'une quelconque des revendications 1 à 11 caractérisé en ce ladite exponentiation met en oeuvre la technique R2L permettant de traiter les bits dudit exposant d de droite à gauche.13. Produit programme d'ordinateur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 12, lorsque ledit programme est exécuté sur un ordinateur. 14. Médium de stockage lisible par ordinateur et non transitoire, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur ou un processeur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 12. 15. Composant électronique permettant de réaliser des calculs cryptographiques, comprenant des moyens permettant de réaliser une exponentiation dans un groupe, d'un élément g appartenant audit groupe, en parcourant les bits d'un exposant d, et comprenant au moins trois registres A, B et Accu pour mémoriser des valeurs de ladite exponentiation, et comprenant des moyens de détection de l'occurrence d'une erreur utilisés après ladite exponentiation, caractérisé en ce qu'il comprend en outre des moyens de correction du résultat en sortie des moyens permettant de réaliser une exponentiation, lesdits moyens de correction étant activés en fonction du résultat en sortie des moyens de détection de l'occurrence d'une erreur. 16. Composant électronique selon la revendication 15 caractérisé en ce que les moyens de correction permettent de réaliser une loi de composition dudit groupe G. 17. Composant électronique selon l'une quelconque des revendications 15 et 16 caractérisé en ce qu'il comprend des moyens d'initialisation desdits au moins trois registres permettant d'affecter audit registre A l'élément neutre dudit groupe, d'affecter auxdits registres B et Accu ledit élément g, et en ce les moyens permettant d'effectuer une exponentiation comprennent, pour un bit de l'exposant donné, l'activation des moyens permettant d'effectuer les calculs suivants : A := A * Accu si la valeur du bit de l'exposant donné est égal à 1, ou des moyens permettant d'effectuer les calculs suivants B := B * Accu si la valeur du bit de l'exposant donné est égal à 0, puis à activer les moyens permettant de réaliser le calcul suivant Accu := Accu * Accu, où « * » est la loi de composition dudit groupe, et en ce que les moyens de détection de l'occurrence d'une erreur comprennent des moyens pour réaliser une comparaison de la valeur de A * B avec une valeur contenue dans le registre Accu. 18. Composant électronique selon la revendication 17 caractérisé en ce que lorsque les moyens pour réaliser une comparaison détecte que la valeur de A * B est différente d'une valeur contenue dans le registre Accu, les moyens de correction du résultat activent :- des moyens d'obtention d'une valeur finale de Accu, non altérée ; - des moyens d'obtention d'un élément inverse e de l'exposant d; - des moyens de détermination d'un élément g' := Ae ; - en cas d'égalité des éléments g' et g, des moyens de validation de l'élément A sont activés; - en cas de non égalité des éléments g' et g, des moyens de détermination d'un élément A' := Accu * /3-', des moyens de détermination de l'élément g" := A' e, sont activés et, en cas d'égalité des éléments g" et g, des moyens de remplacement de la valeur du registre A par la valeur du registre A' sont activés. 4. Cryptographic calculation method according to claim 3, characterized in that in the comparison step, when the value of A * B is different from a value contained in the Accu register, the result correction step comprises: a step of obtaining a final value of Accu, unaltered; a step of obtaining an inverse element e of the exponent d; a step of determining an element g '= Ae; in case of equality of the elements g 'and g, a validation step of the element A; in the case of non-equality of the elements g 'and g, a step of determining an element A': = Accu * a step of determining the element g ": = A 'e, and, in case of equality elements g "and g, a step of replacing the value of the register A by the value of the register A '. . Cryptographic calculation method according to claim 4, characterized in that the step of obtaining the final value of Accu, unaltered, comprises a step of computing in parallel the intermediate values for obtaining said final value of Accu. 6. Cryptographic calculation method according to any one of claims 1 to 5, characterized in that when the value of one of the registers A or B is zero, said method comprises a step forcing the two registers A and B to a zero value. and forcing the Accu register to a random value. 7. Cryptographic calculation method according to any one of claims 1 to 4, characterized in that the element g is public and in that the final value of Accu is supplied to said electronic component by another electronic component in which no error was performed when determining said final value of Accu. 8. Cryptographic calculation method according to any one of claims 1 to 7, characterized in that the group corresponds to the cyclic group generated by a generator point G belonging to an elliptic curve, in that the exponent d is a secret exponent , and in that the cryptographic calculation method corresponds to the method of calculating a digital signature implementing the ECDSA method. 9. Cryptographic calculation method according to any one of claims 1 to 7, characterized in that the group corresponds to the quotient group Z / nZ, with n an integer strictly greater than zero, in that the exponent d is an exponent secret, and in that the cryptographic calculation method corresponds to the method of calculating a digital signature implementing the RSA method. 10. Cryptographic calculation method according to any one of claims 1 to 6, characterized in that said exponentiation step provides an evaluation of Miller's function at a point Q which is a finite element of the body Fqk with k an integer greater than or equal to 1, and q a power of a prime number. 11. Cryptographic calculation method according to claim 10, characterized in that it further comprises a step of verifying the obtaining of a point to infinity. 12. Cryptographic calculation method according to any one of claims 1 to 11 characterized in that said exponentiation uses the R2L technique for processing the bits of said exponent d from right to left.13. A computer program product, comprising program code instructions for implementing the method according to at least one of claims 1 to 12, when said program is run on a computer. A computer-readable and non-transitory storage medium storing a computer program comprising a set of instructions executable by a computer or a processor for carrying out the method according to at least one of claims 1 to 12. 15. Component electronic device for performing cryptographic calculations, comprising means for performing an exponentiation in a group, of an element g belonging to said group, by traversing the bits of an exponent d, and comprising at least three registers A, B and Accu for storing values of said exponentiation, and comprising means for detecting the occurrence of an error used after said exponentiation, characterized in that it further comprises means for correcting the result at the output of the means making it possible to perform a exponentiation, said correction means being activated according to the result at the output of the means for detecting the occurrence of an e rreur. 16. Electronic component according to claim 15, characterized in that the correction means make it possible to produce a composition law of said group G. An electronic component according to any one of claims 15 and 16, characterized in that it comprises means initializing said at least three registers for assigning to said register A the neutral element of said group, assigning said registers B and Accu said element g, and in that the means for performing an exponentiation comprise, for a bit of the given exponent, the activation of the means making it possible to carry out the following calculations: A: = A * Accum if the value of the bit of the given exponent is equal to 1, or means making it possible to carry out the following calculations B: = B * Accum if the value of the bit of the given exponent is equal to 0, then to activate the means allowing to realize the computation following Accu: = Accu * Accu, where "*" is the law of composition of this group , and in this the means for detecting the occurrence of an error comprise means for making a comparison of the value of A * B with a value contained in the Accu register. 18. Electronic component according to claim 17 characterized in that when the means for making a comparison detects that the value of A * B is different from a value contained in the Accu register, the result correction means activate: - means obtaining a final value of Accu, unaltered; means for obtaining an inverse element e of the exponent d; means for determining an element g '= Ae; in case of equality of the elements g 'and g, means for validating the element A are activated; in case of non-equality of the elements g 'and g, means for determining an element A': = Accu * / 3 ', means for determining the element g ": = A' e, are activated and, in case of equality of the elements g "and g, means for replacing the value of the register A by the value of the register A 'are activated.REVENDS 1. Cryptographic calculation method implemented in an electronic component, said method comprising a step comprising an exponentiation in a group, of an element g belonging to said group, by traversing the bits of an exponent d, using at least three registers A, B and Accu to store values of said exponentiation, and comprising a step of detecting the occurrence of an error executed after said exponentiation, characterized in that it further comprises a step of correcting the result of the exponentiation step performed as a function of the result of the detection step of the occurrence of u do not error. 2. Cryptographic calculation method according to claim 1, characterized in that the step of correcting said result comprises at least the application of a composition law of said group G on said result. 3. Cryptographic calculation method according to any one of claims 1 and 2, characterized in that it comprises a step of initialization of said at least three registers affecting said register A the neutral element of said group, affecting said registers B and Loading said element g, and in that iteration processing a bit of said exponent d during the exponentiation step consists of performing the following calculations: A: = A * Accum if the bit value of the 'exponent at the considered iteration is equal to 1, or B: = B * Accum if the value of the exponent bit at the iteration considered is equal to 0, then perform the following calculation Accu: = Accu * Accu , with "*" being said composition law of said group, and in that the step of detecting the occurrence of an error comprises a step of comparing the value of A * B with a value contained in the Accu register . 4. Cryptographic calculation method according to claim 3, characterized in that in the comparison step, when the value of A * B is different from a value contained in the Accu register, the result correction step comprises: a step of obtaining a final value of Accu, unaltered; a step of obtaining an inverse element e of the exponent d; a step of determining an element g '= Ae; in case of equality of the elements g 'and g, a validation step of the element A; in the case of non-equality of the elements g 'and g, a step of determining an element A': = Accu * a step of determining the element g ": = A 'e, and, in case of equality elements g "and g, a step of replacing the value of the register A by the value of the register A '. . Cryptographic calculation method according to claim 4, characterized in that the step of obtaining the final value of Accu, unaltered, comprises a step of computing in parallel the intermediate values for obtaining said final value of Accu. 6. Cryptographic calculation method according to any one of claims 1 to 5, characterized in that when the value of one of the registers A or B is zero, said method comprises a step forcing the two registers A and B to a zero value. and forcing the Accu register to a random value. 7. Cryptographic calculation method according to any one of claims 1 to 4, characterized in that the element g is public and in that the final value of Accu is supplied to said electronic component by another electronic component in which no error was performed when determining said final value of Accu. 8. Cryptographic calculation method according to any one of claims 1 to 7, characterized in that the group corresponds to the cyclic group generated by a generator point G belonging to an elliptic curve, in that the exponent d is a secret exponent , and in that the cryptographic calculation method corresponds to the method of calculating a digital signature implementing the ECDSA method. 9. Cryptographic calculation method according to any one of claims 1 to 7, characterized in that the group corresponds to the quotient group Z / nZ, with n an integer strictly greater than zero, in that the exponent d is an exponent secret, and in that the cryptographic calculation method corresponds to the method of calculating a digital signature implementing the RSA method. 10. Cryptographic calculation method according to any one of claims 1 to 6, characterized in that said exponentiation step provides an evaluation of Miller's function at a point Q which is a finite element of the body Fqk with k an integer greater than or equal to 1, and q a power of a prime number. 11. Cryptographic calculation method according to claim 10, characterized in that it further comprises a step of verifying the obtaining of a point to infinity. 12. Cryptographic calculation method according to any one of claims 1 to 11 characterized in that said exponentiation uses the R2L technique for processing the bits of said exponent d from right to left.13. A computer program product, comprising program code instructions for implementing the method according to at least one of claims 1 to 12, when said program is run on a computer. A computer-readable and non-transitory storage medium storing a computer program comprising a set of instructions executable by a computer or a processor for carrying out the method according to at least one of claims 1 to 12. 15. Component electronic device for performing cryptographic calculations, comprising means for performing an exponentiation in a group, of an element g belonging to said group, by traversing the bits of an exponent d, and comprising at least three registers A, B and Accu for storing values of said exponentiation, and comprising means for detecting the occurrence of an error used after said exponentiation, characterized in that it further comprises means for correcting the result at the output of the means making it possible to perform a exponentiation, said correction means being activated according to the result at the output of the means for detecting the occurrence of an e rreur. 16. Electronic component according to claim 15, characterized in that the correction means make it possible to produce a composition law of said group G. An electronic component according to any one of claims 15 and 16, characterized in that it comprises means initializing said at least three registers for assigning to said register A the neutral element of said group, assigning said registers B and Accu said element g, and in that the means for performing an exponentiation comprise, for a bit of the given exponent, the activation of the means making it possible to carry out the following calculations: A: = A * Accum if the value of the bit of the given exponent is equal to 1, or means making it possible to carry out the following calculations B: = B * Accum if the value of the bit of the given exponent is equal to 0, then to activate the means allowing to realize the computation following Accu: = Accu * Accu, where "*" is the law of composition of this group , and in this the means for detecting the occurrence of an error comprise means for making a comparison of the value of A * B with a value contained in the Accu register. 18. Electronic component according to claim 17 characterized in that when the means for making a comparison detects that the value of A * B is different from a value contained in the Accu register, the result correction means activate: - means obtaining a final value of Accu, unaltered; means for obtaining an inverse element e of the exponent d; means for determining an element g '= Ae; in case of equality of the elements g 'and g, means for validating the element A are activated; in case of non-equality of the elements g 'and g, means for determining an element A': = Accu * / 3 ', means for determining the element g ": = A' e, are activated and, in case of equality of the elements g "and g, means for replacing the value of the register A by the value of the register A 'are activated.
FR1157891A 2011-09-06 2011-09-06 CRYPTOGRAPHIC CALCULATION METHOD RESISTANT TO MATERIAL FAILURES Expired - Fee Related FR2979725B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1157891A FR2979725B1 (en) 2011-09-06 2011-09-06 CRYPTOGRAPHIC CALCULATION METHOD RESISTANT TO MATERIAL FAILURES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1157891A FR2979725B1 (en) 2011-09-06 2011-09-06 CRYPTOGRAPHIC CALCULATION METHOD RESISTANT TO MATERIAL FAILURES

Publications (2)

Publication Number Publication Date
FR2979725A1 true FR2979725A1 (en) 2013-03-08
FR2979725B1 FR2979725B1 (en) 2016-05-27

Family

ID=45350912

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1157891A Expired - Fee Related FR2979725B1 (en) 2011-09-06 2011-09-06 CRYPTOGRAPHIC CALCULATION METHOD RESISTANT TO MATERIAL FAILURES

Country Status (1)

Country Link
FR (1) FR2979725B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3579492A1 (en) 2018-06-08 2019-12-11 STMicroelectronics (Rousset) SAS Protection of an iterative calculation
EP3579493A1 (en) 2018-06-08 2019-12-11 STMicroelectronics (Rousset) SAS Protection of an iterative calculation
US10977365B2 (en) 2017-07-25 2021-04-13 Stmicroelectronics (Rousset) Sas Protection of an iterative calculation against horizontal attacks
US11456853B2 (en) 2019-03-29 2022-09-27 Stmicroelectronics (Rousset) Sas Protection of an iterative calculation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090180610A1 (en) * 2006-04-06 2009-07-16 Nxp B.V. Decryption method
US20090240756A1 (en) * 2005-03-30 2009-09-24 Oberthur Card Systems Sa Method for Processing Data Involving Modular Exponentiation and Related Device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090240756A1 (en) * 2005-03-30 2009-09-24 Oberthur Card Systems Sa Method for Processing Data Involving Modular Exponentiation and Related Device
US20090180610A1 (en) * 2006-04-06 2009-07-16 Nxp B.V. Decryption method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARNAUD BOSCHER ET AL: "CRT RSA Algorithm Protected Against Fault Attacks", 9 May 2007, INFORMATION SECURITY THEORY AND PRACTICES. SMART CARDS, MOBILE AND UBIQUITOUS COMPUTING SYSTEMS; [LECTURE NOTES IN COMPUTER SCIENCE;;LNCS], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 229 - 243, ISBN: 978-3-540-72353-0, XP019079368 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977365B2 (en) 2017-07-25 2021-04-13 Stmicroelectronics (Rousset) Sas Protection of an iterative calculation against horizontal attacks
EP3579492A1 (en) 2018-06-08 2019-12-11 STMicroelectronics (Rousset) SAS Protection of an iterative calculation
EP3579493A1 (en) 2018-06-08 2019-12-11 STMicroelectronics (Rousset) SAS Protection of an iterative calculation
US11265142B2 (en) 2018-06-08 2022-03-01 Stmicroelectronics (Rousset) Sas Protection of an iterative calculation
US11329796B2 (en) 2018-06-08 2022-05-10 Stmicroelectronics (Rousset) Sas Protection of an iterative calculation
US11456853B2 (en) 2019-03-29 2022-09-27 Stmicroelectronics (Rousset) Sas Protection of an iterative calculation

Also Published As

Publication number Publication date
FR2979725B1 (en) 2016-05-27

Similar Documents

Publication Publication Date Title
US8402287B2 (en) Protection against side channel attacks
US8290150B2 (en) Method and system for electronically securing an electronic device using physically unclonable functions
US8639944B2 (en) Zero divisors protecting exponentiation
EP1864211A1 (en) Method for processing data involving modular exponentiation and related device
EP2791783A1 (en) Method for generating prime numbers proven suitable for chip cards
CA2712178A1 (en) Countermeasure method and devices for asymmetric cryptography
EP2005291A2 (en) Decryption method
FR2995429A1 (en) METHOD FOR TESTING THE SAFETY OF AN ELECTRONIC DEVICE AGAINST AN ATTACK, AND AN ELECTRONIC DEVICE USING COUNTER-MEASUREMENTS
FR3015080A1 (en) INTEGRITY VERIFICATION OF PAIR OF CRYPTOGRAPHIC KEYS
FR2979725A1 (en) Method for performing cryptographic calculations in electronic component i.e. smart card, involves detecting occurrence of error carried out after exponentiation of element, and correcting result of exponentiation based on detection result
TWI512610B (en) Modular reduction using a special form of the modulus
WO2005022820A1 (en) Method for the secure application of a cryptographic algorithm of the rsa type and corresponding component
EP1804161B1 (en) Detection of a disturbance in a cryptographic calculation
FR2888690A1 (en) CRYPTOGRAPHIC PROCESS FOR THE SECURE IMPLEMENTATION OF AN EXPONENTIATION AND ASSOCIATED COMPONENT
Campos et al. Patient Zero & Patient Six: Zero-Value and Correlation Attacks on CSIDH and SIKE
EP2983083A1 (en) Elliptic curve encryption method comprising an error detection
EP2336931B1 (en) Method for signature verification
EP1904928A2 (en) Permanent data hardware integrity
FR3087022A1 (en) CRYPTOGRAPHIC SYSTEMS AND METHODS RESISTANT TO DEFAULT ATTACKS
Ghos et al. Side-channel attacks against a Bitcoin wallet
WO2007099164A1 (en) Method for making secure execution of a series of logically concatenated steps
WO2003069841A1 (en) Method for detection of attacks on cryptographic algorithms by trial and error
FR2986883A1 (en) Method for secure generation of prime number by e.g. electronic component, for cryptography, involves incrementing composite number by one, and determining whether incremented number is function of random number
FR2984547A1 (en) Cryptographic key generating method for e.g. integrated circuit of chip card, involves keeping generated candidate prime number as candidate prime number only if quotient calculated from integer division of integer by prime number is odd
FR3038473A1 (en) METHOD FOR CRYPTOGRAPHIC DATA PROCESSING AND ASSOCIATED COMPUTER PROGRAM

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

CA Change of address

Effective date: 20200826

CJ Change in legal form

Effective date: 20200826

ST Notification of lapse

Effective date: 20210505