FR2818473A1 - Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa - Google Patents

Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa Download PDF

Info

Publication number
FR2818473A1
FR2818473A1 FR0016577A FR0016577A FR2818473A1 FR 2818473 A1 FR2818473 A1 FR 2818473A1 FR 0016577 A FR0016577 A FR 0016577A FR 0016577 A FR0016577 A FR 0016577A FR 2818473 A1 FR2818473 A1 FR 2818473A1
Authority
FR
France
Prior art keywords
exponent
result
bits
integer
modulo
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
FR0016577A
Other languages
English (en)
Other versions
FR2818473B1 (fr
Inventor
Jean Sebastien Coron
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Priority to FR0016577A priority Critical patent/FR2818473B1/fr
Priority to PCT/FR2001/004081 priority patent/WO2002050658A1/fr
Priority to AU2002225112A priority patent/AU2002225112A1/en
Publication of FR2818473A1 publication Critical patent/FR2818473A1/fr
Application granted granted Critical
Publication of FR2818473B1 publication Critical patent/FR2818473B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • G06K19/07309Means for preventing undesired reading or writing from or onto record carriers
    • G06K19/07363Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
    • 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/7252Randomisation as countermeasure against side channel attacks of operation order, e.g. starting to treat the exponent at a random place, or in a randomly chosen direction
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

L'algorithme de chiffrement RSA est l'algorithme de chiffrement à clef publique le plus utilisé. Il est apparu que son application dans le cadre d'un environnement de type carte à puce était vulnérable à des attaques de type DPA (Differential Power Analysis). La présente invention consiste en la description de différents procédés de contre-mesure permettant de se prémunir contre ce type d'attaque DPA. Ces contre-mesures ne diminuent pas les performances de l'algorithme RSA et sont facilement utilisables dans un composant électronique de type carte à puce.

Description

<Desc/Clms Page number 1>
PROCEDES DE CONTRE-MESURE DANS UN COMPOSANT ELECTRONIQUE METTANT EN UVRE UN ALGORITHME DE CRYPTOGRAPHIE A CLE PUBLIQUE DE TYPE RSA
La présente invention concerne un procédé de contre-mesure dans un composant électronique mettant en oeuvre un algorithme de chiffrement à clé publique de type RSA.
Dans le modèle classique de la cryptographie à clef secrète, deux personnes désirant communiquer par l'intermédiaire d'un canal non sécurisé doivent au préalable se mettre d'accord sur une clé secrète de chiffrement K. La fonction de chiffrement et la fonction de déchiffrement utilisent la même clef K.
L'inconvénient du système de chiffrement à clé secrète est que ledit système requiert la communication préalable de la clé K entre les deux personnes par l'intermédiaire d'un canal sécurisé, avant qu'un quelconque message chiffré ne soit envoyé à travers le canal non sécurisé. Dans la pratique, il est généralement difficile de trouver un canal de communication parfaitement sécurisé, surtout si la distance séparant les deux personnes est importante. On entend par canal sécurisé un canal pour lequel il est impossible de connaître ou de modifier les informations qui transitent par ledit canal. Un tel canal sécurisé peut être réalisé par un câble reliant deux terminaux, possédés par les deux dites personnes.
Le concept de cryptographie à clef publique fut inventé par Whitfield DIFFIE et Martin HELLMAN en 1976. La cryptographie à clef publique permet de résoudre le problème de la distribution des clefs à
<Desc/Clms Page number 2>
Figure img00020001

travers un canal non sécurisé. Le principe de la cryptographie à clef publique consiste à utiliser une paire de clefs, une clef publique de chiffrement et une clef privée de déchiffrement. Il doit être calculatoirement infaisable de trouver la clef privée de déchiffrement à partir de la clef publique de chiffrement. Une personne A désirant communiquer une information à une personne B utilise la clef publique de chiffrement de la personne B. Seule la personne B possède la clef privée associée à sa clef publique. Seule la personne B est donc capable de déchiffrer le message qui lui est adressé.
Un autre avantage de la cryptographie à clé publique sur la cryptographie à clé secrète est que la cryptographie à clef publique permet l'authentification par l'utilisation de signature électronique.
La première réalisation de schéma de chiffrement à clef publique fut mise au point en 1977 par Rivest, Shamir et Adleman, qui ont inventé le système de chiffrement RSA. La sécurité de RSA repose sur la difficulté de factoriser un grand nombre qui est le produit de deux nombres premiers.
Depuis, de nombreux systèmes de chiffrement à clef publique ont été proposés, dont la sécurité repose sur différents problèmes calculatoires : (cette liste n'est pas exhaustive).
-" Sac à dos"de Merckle-Hellman : ce système de chiffrement est basé sur la difficulté du problème de la somme de
<Desc/Clms Page number 3>
Figure img00030001

sous-ensembles ; - McEliece : ce système de chiffrement est basé sur la théorie des codes algébriques. Il est basé sur le problème du décodage de codes linéaires ; - ElGamal : ce système de chiffrement est basé sur la difficulté du logarithme discret dans un corps fini ; - Courbes elliptiques : le système de chiffrement à courbe elliptique constitue une modification de systèmes cryptographiques existant pour les appliquer au domaine des courbes elliptiques. L'avantage des systèmes de chiffrement à courbes elliptiques est qu'ils nécessitent une taille de clef plus petite que pour les autres systèmes de chiffrement.
Le système de chiffrement RSA est le système de chiffrement à clé publique le plus utilisé. Il peut être utilisé comme procédé de chiffrement ou comme procédé de signature. Le système de chiffrement RSA est utilisé dans les cartes à puce, pour certaines applications de celles-ci. Les applications possibles de RSA sur une carte à puce sont l'accès à des banques de données, des applications bancaires, des applications de paiements à distance comme par
<Desc/Clms Page number 4>
exemple la télévision à péage, la distribution d'essence ou le paiement de péages d'autoroute.
Le principe du système de chiffrement RSA est le suivant. Il peut être divisé en trois parties distinctes qui sont :
1) La génération de la paire de clés RSA
2) Le chiffrement d'un message clair en un message chiffré, et
3) Le déchiffrement d'un message chiffré en un message clair.
La première partie est la génération de la clef RSA. Chaque utilisateur crée une clé publique RSA et une clé privée correspondante, suivant le procédé suivant en 5 étapes :
1) Générer deux nombres premiers distincts p et q de même taille
2) Calculer n=pq et = (p-l) (q-l)
3) Sélectionner aléatoirement un entier e, l < e < , tel que pgcd (e, ) =l
4) Calculer l'unique entier d, l < d < tel que e*d=l mod
5) La clé publique est (n, e) ; la clé privée est d ou (d, p, q)
Les entiers e et d sont appelés respectivement exposant de chiffrement et exposant de déchiffrement. L'entier n est appelé le module.
La seconde partie de la génération à clé RSA consiste au chiffrement d'un message clair noté m au
<Desc/Clms Page number 5>
moyen d'un algorithme avec l < m < n en un message chiffré noté c est le suivant :
Calculer c=me mod n.
La troisième partie de la génération de la clé RSA consiste au déchiffrement utilisant l'exposant privé d de déchiffrement au moyen d'un algorithme.
L'algorithme de déchiffrement d'un message chiffré noté c avec l < c < n en un message clair noté m est le suivant :
Calculer m=cd mod n.
L'algorithme de déchiffrement RSA précédemment décrit peut s'effectuer par deux méthodes différentes. Ces deux méthodes sont : déchiffrement avec CRT et déchiffrement sans CRT. CRT est un acronyme pour Chinese Remainder Theorem. L'avantage de l'algorithme de déchiffrement avec CRT est qu'il est théoriquement 4 fois plus rapide que l'algorithme de déchiffrement sans CRT.
L'algorithme de déchiffrement sans CRT consiste à calculer m=cd mod n comme décrit précédemment.
L'algorithme de déchiffrement avec CRT consiste en les 4 étapes suivantes :
1) Calculer cp=c modulo p et cq=c modulo q
2) Calculer dp=d modulo p-1 et dq=d modulo q-
1
3) Calculer mp=cpdp module p et mq=cq'dq modulo q
<Desc/Clms Page number 6>
Figure img00060001

4) Calculer m=mp*q* (q' (-1) mod p) +mq*p* (pA (- 1) mod q)
Pour réaliser les exponentiations modulaires nécessaires dans les procédés de calcul décrits précédemment, plusieurs algorithmes existent : - Algorithme appelé" square and multiply - Algorithme avec chaines d'addition ; - Algorithme avec fenêtre ; - Algorithme avec représentation signée.
Cette liste n'est pas exhaustive. L'algorithme le plus simple et le plus utilisé est l'algorithme "square and multiply". L'algorithme Il square and multiply"prend en entrée un nombre c, un exposant d et un module n. L'exposant d est noté d= (d (t), d (t-1), d (0)), où (d (t), d (t-1),, d (O)) étant la représentation binaire de d, avec d (t) le bit de poids fort et d (0) le bit de poids faible. Par exemple la représentation du nombre cinq en binaire est 101, provenant du fait que 5=1*2^2+0*2^1+1*2^0.
Le premier 1 est le bit de poids fort et le dernier 1 le bit de poids faible. L'algorithme retourne en sortie le nombre m=cd mod n. L'algorithme"square and multiply"comporte les 3 étapes suivantes :
1) Initialiser une variable entière A avec la valeur c ;
2) Pour i allant de t-1 à 0 faire :
2a) Remplacer A par A*A mod n ;
Figure img00060002

2b) Si d (i) =l remplacer A par A*c mod n ;
<Desc/Clms Page number 7>
Figure img00070001

3) Retourner à l'étape 1 ci-dessus.
Dans le cas du déchiffrement RSA sans CRT, le déchiffrement s'effectue comme décrit précédemment en utilisant l'algorithme"square and multiply".
Dans ce cas, l'algorithme square and multiply" prend donc en entrée le message chiffré c, le module n et l'exposant de déchiffrement d.
Dans le cas du déchiffrement RSA avec CRT, le déchiffrement s'effectue comme décrit précédemment en utilisant deux fois l'algorithme"square and multiply Il pour l'exécution de l'étape 3) de l'algorithme de déchiffrement avec CRT. La première fois, l'algorithme prend en entrée l'entier cp, le module p et l'exposant dp. La deuxième fois, l'algorithme prend en entrée l'entier cq, le module q et l'exposant dq.
Il est possible d'effectuer ces opérations à l'intérieur d'une carte à puce, lesdites opérations étant effectuées par le microprocesseur de la carte à puce. Il est apparu que l'implémentation sur carte à puce d'un algorithme de chiffrement à clé publique du type RSA était vulnérable à des attaques consistant en une analyse de la consommation de courant permettant de retrouver la clé privée de déchiffrement. Ces attaques sont appelées attaques SPA, acronyme pour Simple Power Analysis. Le principe de ces attaques SPA repose sur le fait que la consommation de courant du microprocesseur exécutant des instructions varie selon la donnée manipulée.
<Desc/Clms Page number 8>
En particulier, lorsqu'une instruction manipule une donnée dont un bit particulier est constant, la valeur des autres bits pouvant varier, l'analyse de la consommation de courant liée à l'instruction montre que la consommation moyenne de l'instruction n'est pas la même suivant que le bit particulier prend la valeur 0 ou 1. L'attaque de type SPA permet donc d'obtenir des informations supplémentaires sur les données intermédiaires manipulées par le microprocesseur de la carte lors de l'exécution d'un algorithme cryptographique. Ces informations supplémentaires peuvent dans certain cas permettre de révéler les paramètres privés de l'algorithme de déchiffrement, rendant le système cryptographique non sûr.
L'inconvénient de la méthode square and multiply décrite précédemment est que les bits de l'exposant privé d sont manipulés un par un, dans un ordre déterminé. Il est ainsi possible dans certains cas d'obtenir la valeur de ces bits en examinant la consommation de courant associée à l'exécution de la méthode square and multiply , car la manipulation d'un bit de l'exposant d valant 1 ne donne pas la même consommation de courant que la manipulation d'un bit de l'exposant d valant 0.
Le procédé de l'invention consiste en l'élaboration d'une contremesure permettant de prévenir une attaque par mesure de courant dans laquelle l'attaquant est en mesure de lire les bits manipulés par le processeur réalisant l'opération
<Desc/Clms Page number 9>
d'exponentiation. Le procédé de l'invention consiste à manipuler les bits de l'exposant d dans un ordre aléatoire, inconnu de l'attaquant, de telle sorte que même si l'attaquant est en mesure retrouver la valeur de ces bits, il ne peut pas déterminer l'exposant d correspondant.
Le procédé de l'invention consiste en une méthode permettant de réaliser l'exponentiation c=mad modulo N, où m est un entier, N le module, d est l'exposant, et c le résultat de l'exponentiation.
Le procédé de l'invention divise l'exposant en blocks de k bits, chacun des blocks étant divisé en sous-blocks de r bits. On note t le nombre de bits de l'exposant. On suppose que t est un multiple de l'entier k. Si ce n'est pas le cas, on augmente en conséquence le nombre de bits de l'exposant d. On suppose de plus que la taille d'un block k est un multiple de la taille d'un sous-block de r bits. On note u l'entier tel que k=u*r.
On divise l'exposant d en L blocks de k bits, et on note : d=bd [L-l]. bd [L-2]... bd [l]. bd [0].
Chacun des blocks bd est divisé en sous blocks de r bits, et on note : bd [i] =sd [i, u-l]... sd [i, 0]
Le procédé de l'invention comporte les étapes suivantes :
<Desc/Clms Page number 10>
1) Calculer et mettre en mémoire dans un tableau d'entiers a [i] la valeur de mA (2A (r*i) ) modulo N pour les entiers i allant de 0 à u-1 ; 2) Initialiser la variable c à 1 3) Pour l'entier i variant entre 0 et L-1, on effectue :
3) 1) Initialiser un ensemble d'entiers
S à l'ensemble vide.
3) 2) Tirer aléatoirement un entier j compris entre 0 et u-1, qui n'appartint pas à l'ensemble S ;
3) 3) Calculer le résultat de l'exponentiation modulo N de a [j] avec l'exposant sd [i, j] ; cette exponentiation peut se réaliser par exemple à l'aide de la méthode square and multiply ; mettre le résultat en mémoire
Figure img00100001

dans le tableau d'entiers b [j] ; 3) 4) Ajouter l'élément j à l'ensemble S ; 3) 5) Retourner à l'étape 3) 2) tant que l'ensemble S ne comprend pas tous les entiers entre 0 et u-1 ;
3) 6) Effectuer le produit modulo N de tous les éléments b [j] pour j variant de 0 à u-1 ; mettre le résultat dans la variable entière a ;
3) 7) Effectuer le calcul a*cA (2^k) et mettre le résultat dans c
4) Renvoyer le résultat c.
Le procédé de la contre-mesure peut s'appliquer
<Desc/Clms Page number 11>
à tout procédé utilisant une exponentiation modulaire, que ce soit pour réaliser un procédé de chiffrement, un procédé de signature, un procédé d'authentification, un procédé d'échange de clef. Le procédé de la contre-mesure peut aussi s'appliquer dans le cadre de l'utilisation de méthode à base de courbe elliptique.
L'application du procédé de contre-mesure précédent permet de protéger l'algorithme d'exponentiation contre les attaques par mesure de courant. Le principe du procédé consiste à rendre aléatoire la lecture de l'exposant utilisé dans l'exponentiation. L'invention est particulièrement destinée à être utilisée dans un objet portable électronique de type carte à puce.

Claims (8)

REVENDICATIONS
1. Procédé de contre-mesure consistant à prévenir une attaque par mesure de courant en réalisant le calcul d'exponentiation de formulation c=mAd modulo N, m étant un entier, N étant le module, d étant l'exposant, c étant le résultat de ladite exponentiation, ledit procédé divisant l'exposant en blocks de k bits, chacun des blocks étant divisé en sous-blocks de r bits, le nombre de bits de l'exposant étant un multiple de k, la taille d'un block k étant telle que k=u*r pour un entier u donné, l'exposant d étant divisé en L blocks de k bits, d étant représenté par d=bd [L-l]. bd [L- 2]... bd [l]. bd [0], chacun des blocks bd étant divisé en sous-blocks de r bits, un block bd étant noté bd [i] =sd [i, u-l]... sd [i, 0], ledit procédé étant caractérisé en ce qu'il comprend les étapes suivantes :
1) Calculer et mettre en mémoire dans un tableau d'entiers a [i] la valeur de mA (2A (r*i) ) modulo N pour les entiers i allant de 0 à u-1 ;
2) Initialiser la variable cal ;
3) Pour l'entier i variant entre 0 et L-1, on effectue :
3) 1) Initialiser un ensemble d'entiers
S à l'ensemble vide ;
3) 2) Tirer aléatoirement un entier j compris entre 0 et u-1, qui n'appartient pas à l'ensemble S ;
3) 3) Calculer le résultat de l'exponentiation modulo N de a [j] avec l'exposant sd [i, j] et mettre le résultat
<Desc/Clms Page number 13>
3) Renvoyer le résultat at.
2b) Si sd[i, it]=l remplacer at par at*a [j] module N ;
2a) Remplacer at par at*at modulo N
2) Pour it allant de r-1 à 0 faire :
1) Initialiser une variable entière at avec la valeur a [j] ;
entière a ; 3) 7) Effectuer le calcul a*c (2^k) et mettre le résultat dans c 4) Renvoyer le résultat c. 2. Procédé de contre-mesure consistant à prévenir une attaque par mesure de courant selon la revendication 1, caractérisé en ce que l'exponentiation réalisée à l'étape 3) 3) comporte les 3 étapes suivantes :
Figure img00130002
3) 6) Effectuer le produit modulo N de tous les éléments b [j] pour j variant de 0 à u-1 ; mettre le résultat dans la variable
en mémoire dans le tableau d'entiers b [j] ; 3) 4) Ajouter l'élément j à l'ensemble S ; 3) 5) Retourner à l'étape 3) 2) tant que l'ensemble S ne comprend pas tous les entiers entre 0 et u-1 ;
Figure img00130001
3. Procédé de contre-mesure selon la revendication 1 ou 2, caractérisé en ce qu'il s'applique à une méthode de chiffrement.
4. Procédé de contre-mesure selon la revendication 1
<Desc/Clms Page number 14>
ou 2, caractérisé en ce qu'il s'applique à une méthode de signature électronique.
5. Procédé de contre-mesure selon la revendication 1 ou 2, caractérisé en ce qu'il s'applique à une méthode d'échange de clefs.
6. Procédé de contre-mesure selon la revendication 1 ou 2, caractérisé en ce qu'il s'applique à une méthode d'authentification.
7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le procédé utilise la méthode des courbes elliptiques.
8. Composant électronique utilisant le procédé selon l'une quelconque des revendications précédentes caractérisé en ce qu'il peut être une carte à puce.
FR0016577A 2000-12-19 2000-12-19 Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa Expired - Fee Related FR2818473B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0016577A FR2818473B1 (fr) 2000-12-19 2000-12-19 Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
PCT/FR2001/004081 WO2002050658A1 (fr) 2000-12-19 2001-12-19 Procedes de contre-mesure dans un composant electronique mettant en ouvre un algorithme de cryptographie a cle publique de type rsa
AU2002225112A AU2002225112A1 (en) 2000-12-19 2001-12-19 Countermeasure methods in an electronic component using an rsa-type public key encryption algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0016577A FR2818473B1 (fr) 2000-12-19 2000-12-19 Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa

Publications (2)

Publication Number Publication Date
FR2818473A1 true FR2818473A1 (fr) 2002-06-21
FR2818473B1 FR2818473B1 (fr) 2003-04-18

Family

ID=8857861

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0016577A Expired - Fee Related FR2818473B1 (fr) 2000-12-19 2000-12-19 Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa

Country Status (3)

Country Link
AU (1) AU2002225112A1 (fr)
FR (1) FR2818473B1 (fr)
WO (1) WO2002050658A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101213513B (zh) 2005-06-29 2013-06-12 爱迪德艾恩德霍芬公司 保护数据处理装置免受密码攻击或分析的设备和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999627A (en) * 1995-01-07 1999-12-07 Samsung Electronics Co., Ltd. Method for exponentiation in a public-key cryptosystem
WO2000067410A1 (fr) * 1999-04-29 2000-11-09 Motorola Inc. Procede pour prevenir les attaques par analyse de puissance sur des ensembles microelectroniques

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999627A (en) * 1995-01-07 1999-12-07 Samsung Electronics Co., Ltd. Method for exponentiation in a public-key cryptosystem
WO2000067410A1 (fr) * 1999-04-29 2000-11-09 Motorola Inc. Procede pour prevenir les attaques par analyse de puissance sur des ensembles microelectroniques

Also Published As

Publication number Publication date
AU2002225112A1 (en) 2002-07-01
WO2002050658A1 (fr) 2002-06-27
FR2818473B1 (fr) 2003-04-18

Similar Documents

Publication Publication Date Title
EP2946284B1 (fr) Procédé de cryptographie comprenant une opération de multiplication par un scalaire ou une exponentiation
EP1166494B1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
FR2760583A1 (fr) Systeme de verification de cartes de donnees
FR2809893A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique
EP2302552A1 (fr) Procédé d&#39;éxecution d&#39;un algorithme de protection d&#39;un dispositif électronique par masquage affiné et dispositif associé
EP1381936B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
EP1166495A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique
EP1224765B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
EP1350357B1 (fr) Procede d&#39;amelioration de la securite de schemas de chiffrement a clef publique
FR2888690A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
CA2257907A1 (fr) Procede de cryptographie a cle publique
EP1994465A1 (fr) Procede de securisation d&#39;un calcul d&#39;une exponentiation ou d&#39;une multiplication par un scalaire dans un dispositif electronique
EP2983083A1 (fr) Procede de cryptographie sur courbe elliptique comprenant une detection d&#39;erreur
FR2814619A1 (fr) Procede d&#39;encodage de messages longs schemas de signature electronique a base de rsa
EP1325585A1 (fr) Procede de transmission accelere de signature electronique
FR2818473A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
WO1998051038A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
FR2810821A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique de koblitz
FR2829333A1 (fr) Procede de reduction de la taille d&#39;une signature rsa ou rabin
EP1639450A1 (fr) Procede de contre-mesure dans un composant electronique
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
EP3716044A1 (fr) Protection d&#39;un calcul itératif
FR2797126A1 (fr) Procede d&#39;amelioration de performance de l&#39;operation de multiplication sur corps fini de caracteristique 2
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
ST Notification of lapse

Effective date: 20090831