EP1639447A1 - Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique - Google Patents

Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique

Info

Publication number
EP1639447A1
EP1639447A1 EP00971508A EP00971508A EP1639447A1 EP 1639447 A1 EP1639447 A1 EP 1639447A1 EP 00971508 A EP00971508 A EP 00971508A EP 00971508 A EP00971508 A EP 00971508A EP 1639447 A1 EP1639447 A1 EP 1639447A1
Authority
EP
European Patent Office
Prior art keywords
values
modular exponentiation
secret
exponent
attacks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP00971508A
Other languages
German (de)
English (en)
Inventor
Louis Goubin
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.)
CP8 Technologies SA
Original Assignee
CP8 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 CP8 Technologies SA filed Critical CP8 Technologies SA
Publication of EP1639447A1 publication Critical patent/EP1639447A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • 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/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7242Exponent masking, i.e. key masking, e.g. A**(e+r) mod n; (k+r).P

Definitions

  • the present invention relates to a method for securing an electronic assembly implementing an algorithm involving modular exponentiation, in which the exhibitor is secret. More specifically, the method aims to achieve a version of such an algorithm that is not vulnerable to a certain type of physical attack - called "differential electrical energy analysis or high level differential electrical energy analysis” ( Differential Power Analysis or High-Order Differential Power Analysis, in English, abbreviated to DPA or HO-DPA) - who seek to obtain information on the secret key from the study of the electrical consumption of the whole electronic during the execution of the calculation.
  • DPA Differential Power Analysis or High-Order Differential Power Analysis
  • the cryptographic algorithms considered here use a secret key to calculate output information as a function of input information; it can be an encryption, decryption or signature or signature verification, authentication or non-repudiation or key exchange operation. They are constructed in such a way that an attacker, knowing the inputs and the outputs, cannot in practice deduce any information on the secret key itself.
  • differential electrical energy is an attack making it possible to obtain information on the secret key contained in the electronic assembly, by carrying out a statistical analysis of the records of electrical consumption carried out on a large number of calculations with this same key.
  • the attacks called by high level electrical energy analysis are a generalization of the DP A attack described above. They can use several different sources of information: in addition to consumption, they can involve measurements of electromagnetic radiation, temperature, etc. and implement more sophisticated statistical processing than the simple notion of average, intermediate variables less elementary than a simple bit or a single byte. However, they are based on exactly the same basic assumption as CCA.
  • the object of the present invention is to eliminate the risk of DPA or HO-DPA attacks on electronic or secret or private key cryptography systems, using modular exponentiation, in which the exhibitor is secret.
  • Another object of the present invention is therefore a modification of the cryptographic calculation process implemented by the protected electronic cryptography systems so that the aforementioned fundamental hypothesis is no longer verified, namely that no intermediate variable depends on the consumption of an easily accessible subset of the secret or private key, attacks of the DPA or HO-DPA type being thus rendered inoperative.
  • RSA is the most famous of the asymmetric cryptographic algorithms. It was developed by Rivest, Shamir and Adleman in 1978. For a more detailed description of this algorithm, one can usefully refer to the document below:
  • PKCS # 1 RSA Encryption Standard, version 2, 1998, available at the following address: ftp: // ftp. rsa. com / pub / pkcs / doc / pkcs- 1 v2. Doc.
  • the RSA algorithm uses an integer n which is the product of two large prime numbers p and q, and an integer e, prime with ppcm (pl, ql), and such that e ⁇ ⁇ 1 mod ppcm (pl, ql ).
  • the integers “and e constitute the public key.
  • a second method; the process of the present invention a method for securing an electronic assembly implementing a cryptographic calculation process involving a modular exponentiation of a quantity (x), said modular exponentiation using a secret exponent (d), is characterized in that that said secret exponent is broken down into a plurality of k unpredictable values (dj, d 2 dk) the sum of which is equal to said secret exponent.
  • said values (di, d 2 , ⁇ &) are obtained in the following manner: a) (k-1) values are obtained by means of a random generator; b) the last value is obtained by difference between the secret exponent and the (k- 1) values.
  • the calculation of the modular exponentiation is carried out as follows: a) for each of said k values, the quantity (x) is raised to an exponent comprising said value to obtain a result, a set of results being thus obtained; b) a product of the results obtained in step a) is calculated.
  • At least one of said (k-1) values obtained by means of a random generator has a length greater than or equal to 64 bits.
  • na has a length of 1024 bits
  • dj 64 bits
  • Rabin's algorithm uses an integer n which is the product of two large prime numbers? and q, further satisfying the following two conditions:
  • the invention can be implemented in any electronic assembly performing a cryptographic calculation involving modular exponentiation, in particular a smart card 8 according to the single figure.
  • the chip includes information processing means 9, connected on one side to a non-volatile memory 10 and to a volatile working memory RAM 11, and connected on the other hand to means 12 for cooperating with a device information processing.
  • the non-volatile memory 10 can comprise a non-modifiable part ROM and a modifiable part EPROM, EEPROM, or made up of RAM memory of the "flash" or FRAM type (the latter being a ferromagnetic RAM memory), that is to say having the characteristics of an EEPROM memory with access times identical to those of a conventional RAM.
  • the microprocessor of the chip is replaced - or at least supplemented - by logic circuits implanted in a semiconductor chip.
  • logic circuits implanted in a semiconductor chip.
  • such circuits are capable of carrying out calculations, in particular of authentication and signature, thanks to wired, and not microprogrammed, electronics. They can in particular be of the ASIC type (from the English “Application Specifies Integrated Circuit”).
  • the chip will be designed in monolithic form.
  • the invention consists of a method of securing an electronic assembly comprising means of information processing and information storage means, the method implementing a cryptographic calculation process involving a modular exponentiation of a quantity (x) stored in the information storage means, said modular exponentiation using a secret exponent (d) stored in the storage means, characterized in that, by means of said information processing means, said secret exponent read in said information storage means into a plurality of k unpredictable values ( d t , d dk) the sum of which is equal to said secret exponent, said k unpredictable values being stored in the information storage means.
  • said values (d t , d 2 dk) are obtained in the following manner: a) (k-1) values are obtained by means of a random generator and stored in the information storage means; b) the last value is obtained by difference between the secret exponent and the (k-1) values, calculated using said information processing means.
  • the calculation of the modular exponentiation is carried out as follows: a) for each of said k values, the quantity (x) is raised to an exponent comprising said value to obtain a result, a set of results being thus obtained; b) a product of the results obtained in step a) is calculated.
  • At least one of said (k-1) values obtained by means of a random generator has a length greater than or equal to 64 bits.

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

L'invention concerne un procédé de sécurisation d'un ensemble él ectronique mettant en oeuvre un processus de calcul cryptographique faisant intervenir une exponentiation modulaire d'une grandeur (x), ladite exponentiation modulaire utilisant un exposant secret (d), caractérisé en ce que l'on décompose ledit exposant secret en une pluralité de k valeurs imprévisibles (d1, d2, ..., dk) dont la somme est égale audit exposant secret.

Description

PROCEDE DE SECURISATION D'UN ENSEMBLE ELECTRONIQUE DE CRYPTOGRAPHIE A BASE D'EXPONENTIATION MODULAIRE CONTRE LES ATTAQUES PAR ANALYSE PHYSIQUE
La présente invention concerne un procédé de sécurisation d'un ensemble électronique mettant en œuvre un algorithme faisant intervenir une exponentiation modulaire, dans laquelle l'exposant est secret. Plus précisément, le procédé vise à réaliser une version d'un tel algorithme qui ne soit pas vulnérable face à un certain type d'attaques physiques - dites « analyse d'énergie électrique différentielle ou analyse d'énergie électrique différentielle de haut niveau » (Differential Power Analysis ou High-Order Differential Power Analysis, en langage anglo-saxon, en abrégé DPA ou HO-DPA) - qui cherchent à obtenir des informations sur la clé secrète à partir de l'étude de la consommation électrique de l'ensemble électronique au cours de l'exécution du calcul.
Les algorithmes cryptographiques considérés ici utilisent une clé secrète pour calculer une information de sortie en fonction d'une information d'entrée ; il peut s'agir d'une opération de chiffrement, de déchiffrement ou de signature ou de vérification de signature, ou d'authentification ou de non-répudiation ou d'échange de clé. Ils sont construits de manière à ce qu'un attaquant, connaissant les entrées et les sorties, ne puisse en pratique déduira aucune information sur la clé secrète elle-même.
On s'intéresse donc à une classe plus large que celle traditionnellement désignée par l'expression algorithmes à clé secrète ou algorithmes symétriques. En particulier, tout ce qui est décrit dans la présente demande de brevet s'applique également aux algorithmes dits à clé publique ou algorithmes asymétriques, qui comportent en fait deux clés : l'une publique, et l'autre, privée, non divulguée, cette dernière étant celle visée par les attaques décrites ci-dessous.
Les attaques de type Analyse de Puissance Electrique, développées par Paul Kocher et Cryptographie Research (Confer document Introduction to Differential Power Analysis and related Attacks by Paul Kocher, Joshua Jaffe, and Benjamin Jun, Cryptography Research, 870 Mar et St., Suite 1008, San Francisco, CA 94102, édition du document HTML à l'adresse URL : http://www.cryptography.com/dpa/technical/index.html) partent de la constatation qu'en réalité l'attaquant peut acquérir des informations, autres que la simple donnée des entrées et des sorties, lors de l'exécution du calcul, comme par exemple la consommation électrique du microcontrôleur ou le rayonnement électromagnétique émis par le circuit.
L'analyse d'énergie électrique différentielle est une attaque permettant d'obtenir des informations sur la clé secrète contenue dans l'ensemble électronique, en effectuant une analyse statistique des enregistrements de consommation électrique effectués sur un grand nombre de calculs avec cette même clé.
Cette attaque ne nécessite aucune connaissance sur la consommation électrique individuelle de chaque instruction, ni sur la position dans le temps de chacune de ces instructions. Elle s'applique de la même manière si on suppose que l'attaquant connaît des sorties de l'algorithme et les courbes de consommation correspondantes. Elle repose uniquement sur l'hypothèse fondamentale selon laquelle :
Hypothèse fondamentale : Il existe une variable intermédiaire, apparaissant dans le cours du calcul de l 'algorithme, telle que la connaissance de quelques bits de clé, en pratique moins de 32 bits, permet de décider si deux entrées, respectivement deux sorties, donnent ou non la même valeur pour cette variable.
Les attaques dites par analyse d'énergie électrique de haut niveau sont une généralisation de l'attaque DP A décrite précédemment. Elles peuvent utiliser plusieurs sources d'information différentes : outre la consommation, elles peuvent mettre en jeu les mesures de rayonnement électromagnétique, de température, etc. et mettre en œuvre des traitements statistiques plus sophistiqués que la simple notion de moyenne, des variables intermédiaires moins élémentaires qu'un simple bit ou un simple octet. Néanmoins, elles reposent exactement sur la même hypothèse fondamentale que la DPA.
Le procédé, objet de la présente invention, a pour objet la suppression des risques d'attaques DPA ou HO-DPA d'ensembles ou systèmes électroniques de cryptographie à clé secrète ou privée, faisant intervenir une exponentiation modulaire, dans laquelle l'exposant est secret.
Un autre objet de la présente invention est en conséquence une modification du processus de calcul cryptographique mis en œuvre par les systèmes électroniques de cryptographie protégés de manière que l'hypothèse fondamentale précitée ne soit plus vérifiée, à savoir qu'aucune variable intermédiaire ne dépend de la consommation d'un sous-ensemble aisément accessible de la clé secrète ou privée, les attaques de type DPA ou HO-DPA étant ainsi rendues inopérantes.
Premier exemple : l'ateorithme RSA
Le RSA est le plus célèbre des algorithmes cryptographiques asymétriques. Il a été développé par Rivest, Shamir et Adleman en 1978. Pour une description plus détaillée de cet algorithme, on pourra utilement se reporter au document ci-après :
• R.L. Rivest, A. Shamir, L.M. Adleman, A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, Communications of the ACM, 21, n°2, 1978, pp. 120-126, ou aux documents suivants : • ISO/TEC 9594-8/ITU-T X.509, Information Technology - Open Systems Interconnection - The Directory: Authentication Framework;
• ANSI X9.31-1, American National Standard, Public-Key Cryptography Using Réversible Algorithms for the Financial Services Industry, 1993;
• PKCS #1, RSA Encryption Standard, version 2, 1998, disponible à l'adresse suivante : ftp : //ftp . rsa. com/pub/pkcs/doc/pkcs- 1 v2. doc. L'algorithme RSA utilise un nombre entier n qui est le produit de deux grands nombres premiers p et q, et un nombre entier e, premier avec ppcm(p-l,q-l), et tel que e ≠ ± 1 mod ppcm(p-l,q-l). Les entiers « et e constituent la clé publique. Le calcul en clé publique fait appel à la fonction g de Z/nZ dans Z/nZ définie par g(x)=xe mod n. Le calcul en clé secrète fait appel à la fonction g~l(y)=yd mod n, où d est l'exposant secret (appelé aussi clé secrète, ou privée) défini par ed ≡ 1 mod ppcmfp- l,q-l).
Les attaques de type DPA ou HO-DPA font peser une menace sur les mises en œuvre classiques de l'algorithme RSA. En effet , celles-ci utilisent très souvent le principe dit de square and multiply en langage anglo-saxon pour effectuer le calcul de xd mod n.
Ce principe consiste à écrire la décomposition
de l'exposant secret d en base 2, puis d'effectuer le calcul de la manière suivante : 1. z <- l ; pour /' allant de m-1 jusqu'à 0 faire :
2. z <—ï2 mod n ;
3. si b, = 1 alors z <—z xx mod w.
Dans ce calcul, on constate que parmi les valeurs successives prises par la variable z, les premières ne dépendent que de quelques bits de la clé secrète d. L'hypothèse fondamentale permettant l'attaque DPA est donc réalisée. On peut ainsi deviner par exemple les 10 bits de poids fort de d en s'intéressant aux mesures de consommation sur la partie de l'algorith.ne correspondant à ; allant de m-1 à m-10. On peut ensuite continuer l'attaque n utilisant les mesures de consommation sur la partie de l'algorithme correspondant à / allant de m-11 à m-20, ce qui permet de trouver les 10 bits suivants de d, et ainsi de suite. On trouve finalement tous les bits de l'exposant secret d.
Une première méthode de sécurisation, et ses inconvénients
Une méthode classique (proposée par Ronald Rivest en 1995) pour protéger l'algorithme RSA contre les attaques de type DPA consiste à utiliser un principe de " blinding " (camouflage). On utilise le fait que :
x modn = (x xre) xr~ modn
Ainsi le calcul de>> = x ..d m. od se décompose en quatre étapes :
• On utilise un générateur aléatoire pour obtenir une valeur r ;
• On calcule : u = χ χre mod n ; • On calcule : v = udmod ;
• On calcule : y = v xr'1 mod .
L'inconvénient de cette méthode est qu'elle oblige, pour chaque calcul, à calculer l'inverse modulaire r ' de la valeur aléatoire r, cette opération étant en général coûteuse en temps (la durée d'un tel calcul est du même ordre que celle d'une exponentiation modulaire telle que ud mod ). Par conséquent, cette nouvelle implémentation (protégée contre les attaques DPA) du calcul de xd mod n est environ deux fois plus lente que l' implémentation initiale (non protégée contre les attaques DPA). En d'autres termes, cette protection du RSA contre les attaques DPA accroît le temps de calcul de 100% environ (en supposant que l'exposant public e est très petit, par exemple e=3 ; si l'exposant e est plus grand, ce temps de calcul est encore plus grand).
Une deuxième méthode ; le procédé de la présente invention Selon l'invention, un procédé de sécurisation d'un ensemble électronique mettant en œuvre un processus de calcul cryptographique faisant intervenir une exponentiation modulaire d'une grandeur (x), ladite exponentiation modulaire utilisant un exposant secret (d), est caractérisé en ce que l'on décompose ledit exposant secret en une pluralité de k valeurs imprévisibles (dj ,d2 dk) dont la somme est égale audit exposant secret.
Avantageusement, lesdites valeurs (di ,d2 ,<& ) sont obtenues de la manière suivante : a) (k-1) valeurs sont obtenues au moyen d'un générateur aléatoire ; b) la dernière valeur est obtenue par différence entre l'exposant secret et les (k- 1) valeurs.
Avantageusement, le calcul de l'exponentiation modulaire est effectué de la manière suivante : a) pour chacune desdites k valeurs, on élève la grandeur (x) à un exposant comprenant ladite valeur pour obtenir un résultat, un ensemble de résultats étant ainsi obtenus ; b) on calcule un produit des résultats obtenus à l'étape a).
Avantageusement, au moins l'une desdites (k-1) valeurs obtenues au moyen d'un générateur aléatoire a une longueur supérieure ou égale à 64 bits.
Des détails et avantages de la présente invention apparaîtront au cours de la description suivante de quelques modes d'exécution préférés mais non limitatifs, en regard de la figure unique annexée, représentant une carte à puce.
Selon l'invention, on utilise le fait que :
si d = d + d2, alors xd mod = x ' x x 2 mod n Ainsi le calcul de > = xdmod se décompose en cinq étapes :
• On utilise un générateur aléatoire pour obtenir une valeur d] ;
• On calcule : d2= d- dj ;
• On calcule : u = x ' modn ; • On calcule : v = x 2 modn ;
• On calcule : y = u x v mod n.
L'avantage est que, de cette manière, il n'y a pas d'inverse modulaire à calculer. En général, le temps de calcul d'une exponentiation modulaire est proportionnel à la taille de l'exposant. Ainsi si on note a le rapport entre la taille de d) et la taille de d , on se rend compte que le temps total du calcul dans cette nouvelle implémentation (protégée contre les attaques DPA) est environ (1+a) fois le temps de calcul dans l' implémentation initiale (non protégée contre les attaques DPA).
Notons que, pour obtenir une valeur d/ non prédictible, il est nécessaire que sa taille soit au moins de 64 bits.
Le procédé ainsi décrit rend inopérantes les attaques de type DPA ou HO-DPA décrites précédemment. En effet, pour décider si deux entrées (respectivement deux sorties) de l'algorithme donnent ou non la même valeur pour une variable intermédiaire apparaissant au cours du calcul, il ne suffit plus de connaître les bits de clé mis en jeu. Il faut également connaître la décomposition de la clé secrète d en k valeurs d d2, .... dk telles que d=dι+d2+ ... +dk. Si on suppose que cette décomposition est secrète, et qu'au moins une des k valeurs a une taille d'au moins 64 bits, l'attaquant ne peut pas prévoir les valeurs de dt, ..., dk, et donc l'hypothèse fondamentale, qui permettait de mettre en œuvre une attaque de type DPA ou HO- DPA, n'est plus vérifiée.
Exemples : 1. Si n a une longueur de 512 bits, en choisissant de prendre une valeur aléatoire di de 64 bits, on obtient a=l/8, ce qui fait que cette protection du RSA contre les attaques DPA accroît le temps de calcul de 12.5 % environ.
2. Si n a une longueur de 1024 bits, en choisissant de prendre une valeur aléatoire dj de 64 bits, on obtient a=l/16, ce qui fait que cette protection du RSA contre les attaques DPA accroît le temps de calcul de 6.25% environ.
Deuxième exemple : l'algorithme de Rabin Nous considérons ici l'algorithme cryptographique asymétrique développé par Rabin en 1979. Pour une description plus détaillée de cet algorithme, on pourra utilement se reporter au document su-vant :
• M O. Rabin, Digitized Signatures and Public-Key Functions as Intractable as Factorization, Technical Report LCS/TR-212, M.I.T. Laboratory for Computer Science, 1979.
L'algorithme de Rabin utilise un nombre entier n qui est le produit de deux grands nombres premiers ? et q, vérifiant en outre les deux conditions suivantes :
• p est congru à 3 modulo 8 ; • q est congru à 7 modulo 8.
Le calcul en clé publique fait appel à la fonction g de Z/nZ dans Z/nZ définie par g(x)=x2 mod M. Le calcul en clé secrète fait appel à la fonction g~'(y)=yd mod n, où d est l'exposant secret (appelé aussi clé secrète, ou privée) défini par d=((p-l)(q- l)/4+l)/2.
La fonction mise en jeu par le calcul en clé secrète étant exactement la même que celle utilisée par l'algorithme RSA, les mêmes attaques DPA ou HO-DPA sont applicables et font peser les mêmes menaces sur l'algorithme de Rabin.
Sécurisation de l'algorithme Comme la fonction est exactement la même que celle du RSA, le procédé de sécurisation décrit dans le cadre du RSA s'applique de la même manière au cas de l'algorithme de Rabin. L'accroissement du temps de calcul provoqué par l'application de ce procédé est également le même que dans le cas de l'algorithme RSA.
L'invention peut être mise en oeuvre dans tout ensemble électronique effectuant un calcul cryptographique faisant intervenir une exponentiation modulaire, notamment une carte à puce 8 selon la figure unique. La puce inclut des moyens de traitement de l'information 9, reliés d'un côté à une mémoire non volatile 10 et à une mémoire volatile de travail RAM 11, et reliés d'un autre côté à des moyens 12 pour coopérer avec un dispositif de traitement de l'information. La mémoire non volatile 10 peut comprendre une partie non modifiable ROM et une partie modifiable EPROM, EEPROM, ou constituée de mémoire RAM du type "flash" ou FRAM (cette dernière étant une mémoire RAM ferromagnétique), c'est-à-dire présentant les caractéristiques d'une mémoire EEPROM avec en outre des temps d'accès identiques à ceux d'une RAM classique.
En tant que puce, on pourra notamment utiliser un microprocesseur autoprogrammable à mémoire non volatile, tel que décrit dans le brevet américain n° 4.382.279 au nom de la Demanderesse. Dans une variante, le microprocesseur de la puce est remplacé - ou tout du moins complété - par des circuits logiques implantés dans une puce à semi-conducteurs. En effet, de tels circuits sont aptes à effectuer des calculs, notamment d'authentification et de signature, grâce à de l'électronique câblée, et non microprogrammée. Ils peuvent notamment être de type ASIC (de l'anglais « Application Spécifie Integrated Circuit »). Avantageusement, la puce sera conçue sous forme monolithique.
Dans le cas de l'utilisation d'un tel ensemble électronique, l'invention consiste en un procédé de sécurisation d'un ensemble électronique comprenant des moyens de traitement d'information et des moyens de mémorisation d'information, le procédé mettant en œuvre un processus de calcul cryptographique faisant intervenir une exponentiation modulaire d'une grandeur (x) stockée dans les moyens de mémorisation d'information, ladite exponentiation modulaire utilisant un exposant secret (d) stocké dans les moyens de mémorisation, caractérisé en ce que l'on décompose, grâce auxdits moyens de traitement d'information, ledit exposant secret lu dans lesdits moyens de mémorisation d'information en une pluralité de k valeurs imprévisibles (dt ,d dk) dont la somme est égale audit exposant secret, lesdites k valeurs imprévisibles étant stockées dans les moyens de mémorisation d'information.
Avantageusement, lesdites valeurs (dt ,d2 dk ) sont obtenues de la manière suivante : a) (k-1) valeurs sont obtenues au moyen d'un générateur aléatoire et stockées dans les moyens de mémorisation d'information ; b) la dernière valeur est obtenue par différence entre l'exposant secret et les (k- 1) valeurs, calculée grâce auxdits moyens de traitement d'information.
Avantageusement, le calcul de l'exponentiation modulaire est effectué de la manière suivante : a) pour chacune desdites k valeurs, on élève la grandeur (x) à un exposant comprenant ladite valeur pour obtenir un résultat, un ensemble de résultats étant ainsi obtenus ; b) on calcule un produit des résultats obtenus à l'étape a).
Avantageusement, au moins l'une desdites (k-1) valeurs obtenues au moyen d'un générateur aléatoire a une longueur supérieure ou égale à 64 bits.

Claims

REVENDICATIONS
1. Procédé de sécurisation d'un ensemble électronique mettant en œuvre un processus de calcul cryptographique faisant intervenir une exponentiation modulaire d'une grandeur (x), ladite exponentiation modulaire utilisant un exposant secret (d), caractérisé en ce que l'on décompose ledit exposant secret en une pluralité de k valeurs imprévisibles (dι ,d2 ,dk) dont la somme est égale audit exposant secret.
2. Procédé selon la revendication 1, caractérisé en ce que lesdites valeurs (dt ,d2 dk) sont obtenues de la manière suivante : a) (k-1) valeurs sont obtenues au moyen d'un générateur aléatoire ; b) la dernière valeur est obtenue par différence entre l'exposant secret et les (k- 1) valeurs.
3. Procédé selon la revendication 1, caractérisé en ce que le calcul de l'exponentiation modulaire est effectué de la manière suivante : a) pour chacune desdites k valeurs, on élève la grandeur (x) à un exposant comprenant ladite valeur pour obtenir un résultat, un ensemble de résultats étant ainsi obtenus ; b) on calcule un produit des résultats obtenus à l'étape a).
4. Procédé selon la revendication 1, caractérisé en ce qu'au moins l'une desdites (k- 1) valeurs obtenues au moyen d'un générateur aléatoire a une longueur supérieure ou égale à 64 bits.
5. Utilisation du procédé selon la revendication 1 dans une carte à puce comportant des moyens de traitement de l'information.
6. Utilisation du procédé selon la revendication 1 pour la sécurisation d'un processus de calcul cryptographique utilisant l'algorithme RSA.
7. Utilisation du procédé selon la revendication 1 pour la sécurisation d'un processus de calcul cryptographique utilisant l'algorithme de Rabin.
EP00971508A 1999-10-28 2000-10-26 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique Withdrawn EP1639447A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9913507A FR2800478B1 (fr) 1999-10-28 1999-10-28 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique
PCT/FR2000/002978 WO2001031436A1 (fr) 1999-10-28 2000-10-26 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique

Publications (1)

Publication Number Publication Date
EP1639447A1 true EP1639447A1 (fr) 2006-03-29

Family

ID=9551481

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00971508A Withdrawn EP1639447A1 (fr) 1999-10-28 2000-10-26 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique

Country Status (5)

Country Link
US (1) US6973190B1 (fr)
EP (1) EP1639447A1 (fr)
JP (1) JP2003513491A (fr)
FR (1) FR2800478B1 (fr)
WO (1) WO2001031436A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521544A (zh) * 2011-12-26 2012-06-27 飞天诚信科技股份有限公司 一种在cpu中抗能量攻击的模幂运算的实现方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3926532B2 (ja) * 2000-03-16 2007-06-06 株式会社日立製作所 情報処理装置、情報処理方法、及びカード部材
FR2810139B1 (fr) * 2000-06-08 2002-08-23 Bull Cp8 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
FR2818772A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede de securisation d'un operateur logique ou mathematique implante dans un module electronique a microprocesseur, ainsi que le module electronique et le systeme embarque associes
FR2820576B1 (fr) * 2001-02-08 2003-06-20 St Microelectronics Sa Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
FR2823327B1 (fr) * 2001-04-09 2003-08-08 Gemplus Card Int Dispositif destine a realiser des calculs d'exponentiation securisee et utilisation d'un tel dispositif
GB0126317D0 (en) * 2001-11-02 2002-01-02 Comodo Res Lab Ltd Improvements in and relating to cryptographic methods and apparatus in which an exponentiation is used
DE10222212A1 (de) 2002-05-16 2003-12-04 Giesecke & Devrient Gmbh Ausspähungsgeschützte modulare Inversion
EP1398690A1 (fr) * 2002-09-13 2004-03-17 Schlumberger Systemes SA Procédé et système de génération de signature
DE10304451B3 (de) * 2003-02-04 2004-09-02 Infineon Technologies Ag Modulare Exponentiation mit randomisiertem Exponenten
FR2864390B1 (fr) * 2003-12-19 2006-03-31 Gemplus Card Int Procede cryptographique d'exponentiation modulaire protege contre les attaques de type dpa.
FR2887351A1 (fr) * 2005-06-16 2006-12-22 St Microelectronics Sa Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre
CN101213513B (zh) 2005-06-29 2013-06-12 爱迪德艾恩德霍芬公司 保护数据处理装置免受密码攻击或分析的设备和方法
WO2007052491A1 (fr) * 2005-10-31 2007-05-10 Matsushita Electric Industrial Co., Ltd. Dispositif de traitement sécurisé, méthode de traitement sécurisé, méthode d’intégration d’informations confidentielles codées, programme, support de stockage et circuit intégré
WO2007051770A1 (fr) * 2005-11-04 2007-05-10 Gemplus Procede securise de manipulations de donnees lors de l'execution d'algorithmes cryptographiques sur systemes embarques
WO2009136361A1 (fr) * 2008-05-07 2009-11-12 Koninklijke Philips Electronics N.V. Dissimulation d'exposant.
JP5407352B2 (ja) * 2009-01-19 2014-02-05 富士通株式会社 復号処理装置、復号処理プログラム、復号処理方法
US8334705B1 (en) 2011-10-27 2012-12-18 Certicom Corp. Analog circuitry to conceal activity of logic circuitry
US8635467B2 (en) 2011-10-27 2014-01-21 Certicom Corp. Integrated circuit with logic circuitry and multiple concealing circuits
US10181944B2 (en) 2015-06-16 2019-01-15 The Athena Group, Inc. Minimizing information leakage during modular exponentiation and elliptic curve point multiplication
FR3094522B1 (fr) * 2019-03-29 2021-11-19 St Microelectronics Rousset Protection d’un calcul itératif
US11249726B2 (en) 2019-09-10 2022-02-15 Intel Corporation Integrated circuits with modular multiplication circuitry

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978482A (en) * 1995-08-21 1999-11-02 International Business Machines Corporation Method and system for protection of digital information
US6748410B1 (en) * 1997-05-04 2004-06-08 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6108425A (en) * 1997-06-30 2000-08-22 International Business Machines Corporation Method and apparatus for controlling the configuration of a cryptographic processor
US6304658B1 (en) * 1998-01-02 2001-10-16 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6285761B1 (en) * 1998-03-04 2001-09-04 Lucent Technologies, Inc. Method for generating pseudo-random numbers
US6307938B1 (en) * 1998-07-10 2001-10-23 International Business Machines Corporation Method, system and apparatus for generating self-validating prime numbers
US6490357B1 (en) * 1998-08-28 2002-12-03 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TSUTOMU ET AL: "Speeding Up Secret Computations with Insecure Auxiliary Devices", ADVANCES IN CRYPTOLOGY, PROCEEDINGS OF THE CONFERENCE ON THE THEORY AND APPLICATION OF CRYPTOGRAPHY, 21 August 1998 (1998-08-21) - 25 August 1988 (1988-08-25), Berlin, pages 497 - 506, XP000345652 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521544A (zh) * 2011-12-26 2012-06-27 飞天诚信科技股份有限公司 一种在cpu中抗能量攻击的模幂运算的实现方法
CN102521544B (zh) * 2011-12-26 2014-09-10 飞天诚信科技股份有限公司 一种在cpu中抗能量攻击的模幂运算的实现方法

Also Published As

Publication number Publication date
JP2003513491A (ja) 2003-04-08
FR2800478B1 (fr) 2001-11-30
FR2800478A1 (fr) 2001-05-04
WO2001031436A1 (fr) 2001-05-03
US6973190B1 (en) 2005-12-06

Similar Documents

Publication Publication Date Title
WO2001031436A1 (fr) Procede de securisation d&#39;un ensemble electronique de cryptographie a base d&#39;exponentiation modulaire contre les attaques par analyse physique
EP1441313B1 (fr) Procédé cryptographique à clé publique pour la protection d&#39; une puce électronique contre la fraude
FR2789535A1 (fr) Procede de securisation d&#39;un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique
EP1745366A1 (fr) Procede de protection d&#34;un ensemble cryptographique par masquage homographique
EP1807967B1 (fr) Procede de delegation securisee de calcul d&#39;une application bilineaire
FR3015080A1 (fr) Verification d&#39;integrite de paire de cles cryptographiques
EP0795241B1 (fr) Procede de cryptographie a cle publique base sur le logarithme discret
EP1224765B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
EP1904921A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
EP0909495B1 (fr) Procede de cryptographie a cle publique
EP1086547B1 (fr) Procede de securisation d&#39;un ou plusieurs ensembles electroniques mettant en oeuvre un algorithme crytographique avec cle secrete, et l&#39;ensemble electronique
EP3328026B1 (fr) Procédés de caviardage d&#39;un document original ou de vérification de l&#39;authenticité d&#39;un document final
KR20030075146A (ko) 암호 체계의 비밀 키 저장 및 복원 방법과 장치
EP1419434A1 (fr) Procede securise de realisation d&#39;une operation d&#39;exponentiation modulaire
EP1520370B1 (fr) Procédé et dispositifs cryptographiques permettant d&#39;alleger les calculs au cours de transactions
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
FR2792789A1 (fr) Procede de verification de signature ou d&#39;authentification
FR3076013A1 (fr) Procede de traitement cryptographique, programme d’ordinateur et dispositif associes
FR2818473A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
WO2003013053A1 (fr) Procede de determination de la taille d&#39;un alea pour un schema de signature electronique
FR2834155A1 (fr) Procede de generation de cles electroniques cryptographiques et composant correspondant
FR2952774A1 (fr) Procede et dispositif permettant d&#39;optimiser le dechiffrement et la signature rsa pour mieux securiser les cartes bancaires et les telephones portables

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20011105

AK Designated contracting states

Kind code of ref document: A1

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

RIN1 Information on inventor provided before grant (corrected)

Inventor name: GOUBIN, LOUIS

R17C First examination report despatched (corrected)

Effective date: 20061002

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RTI1 Title (correction)

Free format text: SECURITY METHOD FOR A CRYPTOGRAPHIC ELECTRONIC ASSEMBLY BASED ON MODULAR EXPONENTIATION AGAINST POWER ATTACKS

GRAJ Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted

Free format text: ORIGINAL CODE: EPIDOSDIGR1

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20080916