FR2810178A1 - Procede de calcul cryptographique comportant une routine d'exponentiation modulaire - Google Patents

Procede de calcul cryptographique comportant une routine d'exponentiation modulaire Download PDF

Info

Publication number
FR2810178A1
FR2810178A1 FR0007528A FR0007528A FR2810178A1 FR 2810178 A1 FR2810178 A1 FR 2810178A1 FR 0007528 A FR0007528 A FR 0007528A FR 0007528 A FR0007528 A FR 0007528A FR 2810178 A1 FR2810178 A1 FR 2810178A1
Authority
FR
France
Prior art keywords
sep
calculation
exponentiation
multiplications
loop
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
FR0007528A
Other languages
English (en)
Other versions
FR2810178B1 (fr
Inventor
David Naccache
Christophe Tymen
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 FR0007528A priority Critical patent/FR2810178B1/fr
Priority to PCT/FR2001/001622 priority patent/WO2001097009A1/fr
Priority to AU2001264026A priority patent/AU2001264026A1/en
Publication of FR2810178A1 publication Critical patent/FR2810178A1/fr
Application granted granted Critical
Publication of FR2810178B1 publication Critical patent/FR2810178B1/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
    • 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/7238Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)

Landscapes

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

Abstract

La présente invention concerne un procédé de cryptographie pour la génération de signatures numériques probabilistes et/ ou pour un protocole d'échange de clé et/ ou pour un algorithme de chiffrement, ledit procédé comprenant une étape de calcul d'exponentiation (xa ) d'un module publique (x) par un exposant privé (a) basé sur une boucle de calculs sur une variable intermédiaire (y) de carrés (y2 ) et de multiplications (y*x), caractérisé en ce que le procédé consiste à introduire un aléa (r1 ) dans le calcul du carré (y2 ) et/ ou un aléas (r2 ) dans le calcul de la multiplication (y*x), lesdits aléas (r1 , r2 ) étant générés à chaque appel à la routine de calcul d'exponentiation (xa ).

Description

PROCEDE DE CALCUL CRYPTOGRAPHIQUE COMPORTANT UNE ROUTINE D'EXPONENTIATION MODULAIRE La présente invention concerne un procédé de calcul cryptographique dans lequel des séquences d'instructions de programmes sont exécutées, et comportant plus spécifiquement une routine de calcul d'exponentiation modulaire.
De nombreux procédés de calcul cryptographique comportent au moins une routine de calcul d'exponentiation modulaire, comme par exemple le RSA (du nom de ses inventeurs Rivest Shamir Adleman) ou des procédés exploitant des calculs sur courbes elliptiques tel que le ECDSA par exemple (de l'anglais Elliptic Curve Digital Standard Algorithm) ou le ECDH (de l'anglais Elliptic Curve Diffie Helmann). De tels procédés sont basés sur l'utilisation d'un algorithme à clé publique, et peuvent s'appliquer à la génération de signatures numériques probabilistes d'un message et/ou à un protocole d'échange de clé et/ou à un algorithme de chiffrement d'un message.
La présente invention s'applique en particulier à des procédés de calcul cryptographique mis en #uvre par des composants électroniques sécurisés tels que des micro-contrôleurs pour carte à puce par exemple.
La figure 1 illustre schématiquement la structure d'un micro-contrôleur pour carte à puce. Un tel micro- contrôleur, intégré sur une puce, comporte un microprocesseur, ou CPU, apte à traiter les données et programmes enregistrés sur la puce. Le microprocesseur est associé à différents types de mémoires au moyen de bus de données. Un organe d'entrée/sortie composé d'un connecteur, pour une carte à puce à contact, assure les dialogues avec le monde extérieur. Les opérations du micro-contrôleur sont séquencées par une horloge (CLK). Le micro-contrôleur a en outre une alimentation Vcc et une terre GND.
L'exécution de programmes par le micro-contrôleur doit être sécurisée car tout ou partie des données manipulées sont secrètes. Cette sécurisation consiste essentiellement à éviter que les données manipulées lors de l'exécution des instructions d'un programme puissent être interprétées à l'extérieur du composant sécurisé. Une telle fuite d'information est possible de par la structure même du micro-contrôleur qui peut subir ce que l'on appelle des attaques en courant, ou DPA pour Differential Power Attack en terminologie anglaise.
La figure 2 illustre le principe d'une attaque en courant par un graphe de la consommation de courant I de la puce en fonction du nombre de coups d'horloge t.
Lorsque le microprocesseur exécute un programme composé d'une séquence d'instructions (Insl, Ins2, Ins3,...), avec un algorithme secret ou non, il va chercher les données nécessaires en mémoire, les traite et écrit les résultats en mémoire.
Classiquement, l'exécution d'une séquence d'instructions se déroule toujours de la même manière, identique et déterminée.
I1 devient alors possible de réaliser une attaque en courant par la simple lecture de la consommation en courant du micro-contrôleur (à partir de son alimentation Vcc) qui peut laisser transparaître des informations sur les données secrètes manipulées. Pour obtenir de telles informations, il est nécessaire de réaliser la même séquence d'instructions plusieurs fois. Il devient alors possible de corréler la consommation de courant avec les données traitées lors de l'exécution de la même instruction. La consommation de courant du micro-contrôleur peut ainsi devenir un véritable témoin des données manipulées.
Par exemple, un attaquant peut procéder de la manière suivante. Si on considère une donnée secrète de huit octets k[i] avec i de 1 à 8. on utilise un accumulateur et on réalise une boucle pour i de 1 à 8 Acc= k [ i ] xor k [ i+1 ] . A la fin de la boucle, on obtient Acc= xor(E(i=1à8)k[i]). Lorsque l'on observe la consommation de courant I en fonction du temps lors de cette séquence (boucle), on obtient une courbe à l'allure cyclique qui est le reflet de ce qui a été exécuté dans le micro-contôleur, c'est à dire que dans l'exemple cité on obtient huit signaux identiques pour les huit opérations de la boucle. Néanmoins, si l'on compare chaque élément des signaux, on parvient à extraire des différences, et ainsi des informations sur les k[i] secrets. L'observation est en outre facilité par la possibilité de faire exécuter la même boucle plusieurs fois. La consommation de courant de la carte étant la même pour une même séquence d'opérations, on parvient à extraire l'information recherchée.
I1 devient par conséquent indispensable d'éliminer cette répétition dans la consommation de courant pour une même séquence d'instructions.
Dans le cas d'un calcul d'exponentiation, qui consiste à calculer x' avec x une donnée publique et a une donnée privée, la méthode la plus usitée consiste à calculer une série de carrés et de multiplications. Si cette routine de calcul est répétée plusieurs fois sans que les données d'entrée x et a soient modifiées, la consommation en courant sera identique et fournira des informations sur l'exposant a, privé et secret, à un attaquant.
La présente invention a pour objet un procédé de calcul cryptographique dans lequel la routine de calcul d'exponentiation ne révèle aucune information sur l'exposant privé.
A cet effet, l'invention propose une exécution aléatoire et non reproductible à chaque séquence de calcul en faisant appel à des aléas dans les calculs de carrés et de multiplications.
L'invention concerne plus particulièrement un procédé de cryptographie pour la génération de signatures numériques probabilistes et/ou pour un protocole d'échange de clé et/ou pour un algorithme de chiffrement, ledit procédé comprenant une étape de calcul d' exponentiation (x") d'un module public (x) par un exposant privé (a) basé sur une boucle de calculs sur une variable intermédiaire (y) de carrés (y2) et de multiplications (y*x), caractérisé en ce que le procédé consiste à introduire un aléa (ri) dans le calcul du carré (y2) et/ou un aléas (r2) dans le calcul de la multiplication (y*x), lesdits aléas (ri, r2) étant générés à chaque appel à la routine de calcul d' exponentiation (x').
Selon une caractéristique, le calcul du carré (y2) consiste à introduire un aléa (ri) par le calcul de l'identité remarquable y2= (y+rl) (y-rl) + dl, avec dl=rl2.
Selon une autre caractéristique, le calcul de la multiplication (y*x) consiste à introduire un aléa (r2) par le calcul de y*x =(y-r2) *x +d2, avec d2=r2*x.
Selon une application, l'algorithme de cryptographie est le RSA (du nom de ses inventeurs Rivest Shamir Adleman). Selon une autre application, l'algorithme de cryptographie est le ECDSA (de l'anglais Elliptic Curve Digital Signature Algorithme).
Selon une autre application, l'algorithme de cryptographie est le ECDH (de l'anglais Elliptic Curve Diffie Helmann).
L'invention concerne également un dispositif sécurisé, de type carte à puce, et/ou un dispositif de calcul, de type ordinateur muni d'un logiciel de chiffrement, comportant un composant électronique apte à mettre en oeuvre le procédé de calcul d' exponentiation selon l'invention. L'invention présente l'avantage de proposer une exécution totalement aléatoire sans vraiment augmenter le temps d'exécution de la routine du calcul d'exponentiation.
Ainsi, pour la même opération (carré et multiplication) répétée plusieurs fois, la génération d'aléas différents entraînent une exécution différente de la routine. La corrélation entre la consommation de courant et les données manipulées devient alors impossible.
D'autre avantages et particularités de l'invention apparaîtront au cours de la description qui suit donnée à titre d'exemple illustratif et non limitatif en référence aux figures dans lesquelles - La figure i, déjà décrite, illustre schématiquement une puce de circuit intégré munie d'un micro-contrôleur, - La figure 2, déjà décrite, est un graphe illustrant le procédé de l'attaque en courant d'un composant électronique sécurisé. Le calcul d'exponentiation modulaire consiste à calculer x" avec x une donnée publique fixée et a un exposant privé secret, x et a étant deux entiers.
Une méthode classique pour effectuer ce calcul d'exponentiation, connue sous l'expression anglo- saxonne de square and multiply , consiste à le décomposer en une série de calculs de carrés et de multiplications. L'entier a est exprimé en base 2 sous la forme a=Ei=oà" 21a;, avec ai=0 ou 1 secrets et n la taille du groupe mathématique sur lequel on travaille, par exemple une courbe elliptique avec n=163.
Le calcul d'exponentiation consiste alors à réaliser la boucle suivante pour i allant de n-1 à 0 Soit une variable intermédiaire initialisée à y=x ; Pour i= n-1 à 0, y=y2 si ai=l, y=y*x En fin de boucle, on a xa=y. on remarque que dans une telle méthode, si la boucle est appelée plusieurs fois, les mêmes calculs seront effectués avec les mêmes données. Le calcul d'exponentiation est donc une cible pour une attaque DPA.
Afin d'éviter une telle attaque en courant, une solution consiste à introduire des aléas dans les données d'entrée de la boucle de la routine du calcul d'exponentiation, évitant ainsi une reproductibilité de la consommation en courant entre deux appels à cette routine.
Selon l'invention, deux aléas sont générés pour protéger respectivement le calcul du carré et de la multiplication.
Le procédé selon l'invention est basé sur les identités mathématiques suivantes x2= (x+r) * (x-r) +r2. y*x=(y-r)*x + v, avec v=r*x.
Soit ri et r2, deux entiers aléatoires générés lors de chaque appel à la routine de calcul d'exponentiation.
Soit dl= r12 et d2= r2*x.
Le calcul d'exponentiation consiste alors à réaliser la boucle suivante pour i allant de n-1 à 0 La variable intermédiaire y est initialisée à y=x.
Figure img00070013
Pour <SEP> i= <SEP> n-1 <SEP> à <SEP> 0,
<tb> z=y, <SEP> avec <SEP> z <SEP> une <SEP> autre <SEP> variable <SEP> intermédiaire
<tb> y= <SEP> (y+rl) <SEP> * <SEP> (y-ri) <SEP> +dl
<tb> rl=z
<tb> dl=y
<tb> si <SEP> ai=l, <SEP> z=y
<tb> y= <SEP> (y- <SEP> r2) <SEP> *x <SEP> +d2
<tb> r2= <SEP> z
<tb> d2=y En fin de boucle, on a xa=y.
On remarque que dans le procédé selon l'invention, les aléas changent à chaque itération de la boucle puisque r1,2=2 et dl,2=y.
Le procédé selon l'invention permet d'éviter les attaques DPA sans augmenter de manière significative le temps de calcul. En effet, les calculs de carrés et de multiplications sont coûteux en temps, mais pas les additions et les égalités. Or, par un premier calcul de dl et d2, les opérations coûteuses en temps sont éliminées de la boucle de calcul.

Claims (9)

REVENDICATIONS
1. Procédé de cryptographie pour la génération de signatures numériques probabilistes et/ou pour un protocole d'échange de clé et/ou pour un algorithme de chiffrement, ledit procédé comprenant une étape de calcul d' exponentiation (x') d'un module public (x) par un exposant privé (a) basé sur une boucle de calculs sur une variable intermédiaire (y) de carrés (y2) et de multiplications (y*x), caractérisé en ce que le procédé consiste à introduire un aléa (ri) dans le calcul du carré (y2) et/ou un aléas (r2) dans le calcul de la multiplication (y*x), lesdits aléas (ri, r2) étant générés à chaque appel à la routine de calcul d' exponentiation (x').
2. Procédé selon la revendication 1, caractérisé en ce que le calcul du carré (y2) consiste à introduire un aléa (ri) par le calcul de l'identité remarquable y2 (y+rl) (y-ri) + dl, avec dl=rl2 .
3. Procédé selon l'une des revendications 1 à 2, caractérisé en ce que le calcul de la multiplication (y*x) consiste à introduire un aléa (r2) par le calcul de y*x =(y-r2) *x +d2, avec d2=r2*x.
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'algorithme de cryptographie est le RSA.
5. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'algorithme de cryptographie est le ECDSA.
6. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'algorithme de cryptographie est le ECDH.
7. Procédé selon l'une quelconques des revendications précédentes, l'exposant privé (a) pouvant être décomposé en base 2 (a=Ei-oàn 21ai avec ai= 0 ou 1); le procédé étant caractérisé en ce qu'il comporte les étapes suivantes - générer les aléas ri et r2 ; - calculer dl= r12 et d2= r2*x ; - initialiser la variable y=x, - réaliser une boucle pour i allant de n-1 à 0, ladite boucle consistant à
<tb> _ <SEP> Xa=Y.
8. Dispositif sécurisé, de type carte à puce, caractérisé en ce qu'il comporte un composant électronique apte à mettre en oeuvre le procédé de calcul d'exponentiation selon les revendications 1 à 7.
9. Dispositif de calcul, de type ordinateur muni d'un logiciel de chiffrement, caractérisé en ce qu'il comporte un composant électronique apte à mettre en ceuvre le procédé de calcul<B>dl</B> exponentiation selon les revendications 1 à 7.
<tb> - <SEP> d2=Y <SEP> ;
<tb> - <SEP> r2=z <SEP> ;
<tb> - <SEP> y= <SEP> (y-r2) <SEP> *x <SEP> +d2 <SEP> ;
<tb> - <SEP> z=Y
<tb> - <SEP> si <SEP> ai=l,
<tb> _ <SEP> dl=Y <SEP> ;
<tb> _ <SEP> ri=z
<tb> - <SEP> Y= <SEP> (Y+rl) <SEP> * <SEP> (Y-rl) <SEP> + <SEP> dl
- <SEP> z=y, <SEP> avec <SEP> z <SEP> une <SEP> variable <SEP> intermédiare <SEP> ;
FR0007528A 2000-06-13 2000-06-13 Procede de calcul cryptographique comportant une routine d'exponentiation modulaire Expired - Fee Related FR2810178B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0007528A FR2810178B1 (fr) 2000-06-13 2000-06-13 Procede de calcul cryptographique comportant une routine d'exponentiation modulaire
PCT/FR2001/001622 WO2001097009A1 (fr) 2000-06-13 2001-05-25 Procede de calcul cryptographique comportant une routine d'exponentiation modulaire
AU2001264026A AU2001264026A1 (en) 2000-06-13 2001-05-25 Method for cryptographic calculation comprising a modular exponentiation routine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0007528A FR2810178B1 (fr) 2000-06-13 2000-06-13 Procede de calcul cryptographique comportant une routine d'exponentiation modulaire

Publications (2)

Publication Number Publication Date
FR2810178A1 true FR2810178A1 (fr) 2001-12-14
FR2810178B1 FR2810178B1 (fr) 2004-10-29

Family

ID=8851219

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0007528A Expired - Fee Related FR2810178B1 (fr) 2000-06-13 2000-06-13 Procede de calcul cryptographique comportant une routine d'exponentiation modulaire

Country Status (3)

Country Link
AU (1) AU2001264026A1 (fr)
FR (1) FR2810178B1 (fr)
WO (1) WO2001097009A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2867335A1 (fr) * 2004-03-02 2005-09-09 France Telecom Procede cryptographique notamment a cle publique
WO2006067057A1 (fr) * 2004-12-23 2006-06-29 Gemplus Procede d'exponentiation securisee et compacte pour la cryptographie
WO2007006649A1 (fr) * 2005-07-13 2007-01-18 Siemens Aktiengesellschaft Procede pour la multiplication resistante aux attaques par canaux caches
WO2007000702A3 (fr) * 2005-06-29 2007-03-29 Koninkl Philips Electronics Nv Dispositif et procede de protection de dispositif de traitement de donnees contre une attaque ou analyse
WO2014149251A1 (fr) 2013-03-15 2014-09-25 Cryptography Research, Inc. Multiplication masquée de manière asymétrique

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998052319A1 (fr) * 1997-05-12 1998-11-19 Yeda Research And Development Co. Ltd. Procede et dispositif ameliores permettant de proteger les logiques de cles publiques contre les attaques basees sur la sequence des operations et les fautes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998052319A1 (fr) * 1997-05-12 1998-11-19 Yeda Research And Development Co. Ltd. Procede et dispositif ameliores permettant de proteger les logiques de cles publiques contre les attaques basees sur la sequence des operations et les fautes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CORON J -S: "Resistance against differential power analysis for elliptic curve cryptosystems", PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOLUME 1717), CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. FIRST INTERNATIONAL WORKSHOP, CHES'99, WORCESTER, MA, USA, 12-13 AUG. 1999, 1999, Berlin, Germany, Springer-Verlag, pages 292 - 302, XP000952243, ISBN: 3-540-66646-X *
GOUBIN L ET AL: "DES and differential power analysis. The "Duplication" method", PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOLUME 1717), CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. FIRST INTERNATIONAL WORKSHOP, CHES'99, WORCESTER, MA, USA, 12-13 AUG. 1999, 1999, Berlin, Germany, Springer-Verlag, pages 158 - 172, XP000952192, ISBN: 3-540-66646-X *
KOCHER P C: "TIMING ATTACKS ON IMPLEMENTATIONS OF DIFFIE-HELLMAN, RSA, DSS, AND OTHER SYSTEMS", 16TH. ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE. SANTA BARBARA, AUG. 18 - 22, 1996. PROCEEDINGS,BERLIN, SPRINGER,DE, 1996, pages 104 - 113, XP000626590, ISBN: 3-540-61512-1 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2867335A1 (fr) * 2004-03-02 2005-09-09 France Telecom Procede cryptographique notamment a cle publique
WO2005088438A1 (fr) * 2004-03-02 2005-09-22 France Telecom Procede cryptographique notamment a cle publique
WO2006067057A1 (fr) * 2004-12-23 2006-06-29 Gemplus Procede d'exponentiation securisee et compacte pour la cryptographie
FR2880148A1 (fr) * 2004-12-23 2006-06-30 Gemplus Sa Procede d'exponentiation securisee et compacte pour la cryptographie
CN101213513B (zh) * 2005-06-29 2013-06-12 爱迪德艾恩德霍芬公司 保护数据处理装置免受密码攻击或分析的设备和方法
WO2007000702A3 (fr) * 2005-06-29 2007-03-29 Koninkl Philips Electronics Nv Dispositif et procede de protection de dispositif de traitement de donnees contre une attaque ou analyse
US8738927B2 (en) 2005-06-29 2014-05-27 Irdeto B.V. Arrangement for and method of protecting a data processing device against an attack or analysis
WO2007006649A1 (fr) * 2005-07-13 2007-01-18 Siemens Aktiengesellschaft Procede pour la multiplication resistante aux attaques par canaux caches
WO2014149251A1 (fr) 2013-03-15 2014-09-25 Cryptography Research, Inc. Multiplication masquée de manière asymétrique
JP2016510914A (ja) * 2013-03-15 2016-04-11 クリプトグラフィ リサーチ, インコーポレイテッド 非対称マスク済み乗算
EP2974094A4 (fr) * 2013-03-15 2016-11-16 Cryptography Res Inc Multiplication masquée de manière asymétrique
US9959429B2 (en) 2013-03-15 2018-05-01 Cryptography Research, Inc. Asymmetrically masked multiplication
US10423807B2 (en) * 2013-03-15 2019-09-24 Cryptography Research, Inc. Asymmetrically masked multiplication
US10902156B2 (en) 2013-03-15 2021-01-26 Rambus Inc. Asymmetrically masked multiplication

Also Published As

Publication number Publication date
AU2001264026A1 (en) 2001-12-24
WO2001097009A1 (fr) 2001-12-20
FR2810178B1 (fr) 2004-10-29

Similar Documents

Publication Publication Date Title
US10361854B2 (en) Modular multiplication device and method
EP1808762B1 (fr) Appareil et procédé de traitement du cryptage et programme informatique
CA2614120A1 (fr) Multiplication de points d&#39;une courbe elliptique
EP1306750A2 (fr) Calcul de multiplication multi-scalaire pour la vérification de signature à courbe elliptique
US20140098951A1 (en) Method for elliptic curve cryptography with countermeasures against simple power analysis and fault injection analysis and system thereof
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
EP1277307A1 (fr) Procede de cryptographie sur courbes elliptiques
US20200344056A1 (en) Device and method for protecting execution of a cryptographic operation
EP2248009A2 (fr) Procede et dispositifs de contre-mesure pour cryptographie asymetrique
FR2800478A1 (fr) Procede de securisation d&#39;un ensemble electronique de cryptographie a base d&#39;exponentiation modulaire contre les attaques par analyse physique
FR2926652A1 (fr) Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature
EP1291763A1 (fr) Procédé de brouillage d&#39;un calcul à quantité secrète
EP1421473B1 (fr) Procédé de calcul universel appliqué à des points d&#39;une courbe elliptique
Roelofs et al. Online template attack on ECDSA: Extracting keys via the other side
WO2006070092A1 (fr) Procede de traitement de donnees et dispositif associe
EP3136226B1 (fr) Protection d&#39;un calcul d&#39;exponentiation modulaire
Malina et al. Accelerated modular arithmetic for low-performance devices
FR2810178A1 (fr) Procede de calcul cryptographique comportant une routine d&#39;exponentiation modulaire
EP1269290A1 (fr) Procede de contre-mesure pour un micro-controleur base sur une architecture avec &#34;pipeline&#34;
Kim et al. Practical second‐order correlation power analysis on the message blinding method and its novel countermeasure for RSA
EP3136227B1 (fr) Verification de la sensibilite d&#39;un circuit electronique executant un calcul d&#39;exponentiation modulaire
EP3435585B1 (fr) Protection d&#39;un calcul itératif contre des attaques horizontales
WO2006067057A1 (fr) Procede d&#39;exponentiation securisee et compacte pour la cryptographie
EP1520370B1 (fr) Procédé et dispositifs cryptographiques permettant d&#39;alleger les calculs au cours de transactions
FR3145995A1 (fr) Procédé de séléction d’une valeur parmi deux valeurs enregistrées dans deux registres différents

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100226