FR3045253A1 - Procede et dispositif de traitement cryptographique - Google Patents

Procede et dispositif de traitement cryptographique Download PDF

Info

Publication number
FR3045253A1
FR3045253A1 FR1562373A FR1562373A FR3045253A1 FR 3045253 A1 FR3045253 A1 FR 3045253A1 FR 1562373 A FR1562373 A FR 1562373A FR 1562373 A FR1562373 A FR 1562373A FR 3045253 A1 FR3045253 A1 FR 3045253A1
Authority
FR
France
Prior art keywords
value
law
random number
cryptographic processing
combination
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.)
Pending
Application number
FR1562373A
Other languages
English (en)
Inventor
Franck Rondepierre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1562373A priority Critical patent/FR3045253A1/fr
Publication of FR3045253A1 publication Critical patent/FR3045253A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé de traitement cryptographique produisant, à partir d'une clé secrète (d), une paire d'éléments (r, s) comprenant un premier élément (r) d'un corps fini et un second élément (s) du corps fini, comprenant les étapes suivantes : - obtention (E12) d'un nombre aléatoire (k) ; - détermination d'une première valeur (1+d) en combinant, au moyen de la première loi de composition (+) du corps fini, la clé secrète (d) et une valeur prédéterminée ; - inversion de la première valeur (1 +d) dans le corps fini ; - détermination d'une seconde valeur au moyen de l'application de la première loi de composition (+) au nombre aléatoire (k) ; - combinaison de la première valeur inversée ((1+d)-1) et de la seconde valeur (k+r) au moyen de la seconde loi de composition (*) du corps fini. La seconde valeur (k+r) est déterminée en combinant le nombre aléatoire (k) et le premier élément (r) au moyen de la première loi de combinaison (+) ; le second élément (s) est déterminé en combinant le résultat de ladite combinaison ((1+d)-1*(k+r)) et le premier élément (r) par une opération (-) utilisant la première loi de combinaison (+). Un dispositif de traitement cryptographique est également proposé.

Description

Domaine technique auquel se rapporte l'invention
La présente invention concerne le domaine de la cryptographique.
Elle concerne plus particulièrement un procédé et un dispositif de traitement cryptographique. L’invention s’applique particulièrement avantageusement dans le cas où l’on souhaite mettre en œuvre un algorithme de signature numérique sur courbe elliptique.
Arriere-plan technologique
On utilise, par exemple dans le cadre d’un algorithme de signature numérique sur courbe elliptique de type SM2, un procédé de traitement cryptographique produisant, à partir d’une clé secrète d (clé privée dans l’algorithme SM2), une paire d’éléments comprenant un premier élément r d’un corps fini (Fq, +, *) et un second élément s du corps fini, comprenant les étapes suivantes : - obtention d’un nombre aléatoire k ; - détermination d’une première valeur en combinant, au moyen de la première loi de composition du corps fini (également dénommée addition dans la suite), la clé secrète et une valeur prédéterminée ; - inversion de la première valeur dans le corps fini ; - détermination d’une seconde valeur au moyen de l’application de la première loi de composition (addition) au nombre aléatoire k ; - combinaison de la première valeur inversée et de la seconde valeur au moyen de la seconde loi de composition du corps fini (également dénommée multiplication dans la suite).
En effet, selon la spécification de l’algorithme de signature numérique SM2, le second élément s de la signature vaut s = (1+d)'1*(k-r*d) et on utilise donc alors un procédé tel défini ci-dessus dans lequel la première valeur vaut 1+d et la seconde valeur vaut k-r*d.
Il est toutefois nécessaire dans ce cas de protéger la détermination du produit r*d contre d’éventuelles attaques par canal auxiliaire, comme expliqué par exemple dans l’introduction du document EP 2 378 707. En effet, la multiplication concernée implique la clé secrète d et le premier élément r de la signature, communiqué à l’extérieur, de sorte qu’une observation de la mise en oeuvre de cette multiplication lors d’exécutions successives de l’algorithme pourrait permettre à un attaquant d’avoir accès à la clé secrète d, en l’absence de contremesures spécifiques.
Objet de l’invention
Dans ce contexte, la présente invention propose un procédé de traitement cryptographique du type décrit ci-dessus, caractérisé en ce que la seconde valeur est déterminée en combinant le nombre aléatoire k et le premier élément r au moyen de la première loi de combinaison, et en ce que le second élément s est déterminé en combinant le résultat de la combinaison susmentionnée (multiplication) et le premier élément par une opération utilisant la première loi de combinaison.
On profite ici du fait que la clé secrète apparaisse dans l’expression de la première valeur (à inverser et à multiplier par la seconde valeur) pour faire disparaître (en utilisant les règles de calcul dans le corps fini) le produit r*d dans le calcul de la seconde valeur.
Grâce aux règles de calcul précitées, le terme correspondant au produit r*d est remplacé : - par l’ajout du seul premier élément r au nombre aléatoire k pour le calcul de la seconde valeur (qui vaut donc k+r) ; par une opération supplémentaire utilisant la première loi de combinaison, dans laquelle le résultat de ladite combinaison (ou multiplication) est combiné au premier élément r.
Dans l’exemple décrit plus loin, cette opération supplémentaire est la soustraction du premier élément au résultat de la combinaison.
Selon d’autres caractéristiques envisageables de manière optionnelle : - la paire d’éléments est une signature numérique (par exemple de type SM2) ; - le procédé comprend une étape d’émission de la paire d’éléments (par exemple à destination d’un dispositif électronique extérieur) ; - la clé secrète est une clé privée (correspondant à une clé publique dans une infrastructure à clé publique) ; - le procédé comprend une étape de détermination du premier élément qui inclut la détermination d’un point d’une courbe elliptique (sur le corps fini) égal au produit d’un point prédéterminé de la courbe elliptique par un scalaire égal au nombre aléatoire ; - le procédé comprend une étape de réception d’un message ; - le premier élément est déterminé en fonction du message ; - l’étape de détermination du premier élément comprend une addition (dans le corps fini) de l’abscisse du point déterminé et d’un nombre obtenu à partir du message (par exemple par application d’une fonction de hachage) ; - le nombre aléatoire est obtenu par tirage aléatoire ; - la valeur prédéterminée est l’élément neutre pour la seconde loi de composition (multiplication dans le corps fini) ; - la première valeur vaut d+1 et la seconde valeur vaut k+r, où comme déjà indiqué d est la clé secrète, k le nombre aléatoire, r le premier élément et + représente la première loi de combinaison. L’invention propose également un dispositif de traitement cryptographique conçu pour produire, à partir d’une clé secrète, une paire d’éléments comprenant un premier élément d’un corps fini et un second élément du corps fini, et comprenant : - un module d’obtention d’un nombre aléatoire ; - un module de détermination d’une première valeur en combinant, au moyen de la première loi de composition du corps fini, la clé secrète et une valeur prédéterminée ; - un module d’inversion de la première valeur dans le corps fini ; - un module de détermination d’une seconde valeur au moyen de l’application de la première loi de composition au nombre aléatoire ; - un module de combinaison de la première valeur inversée et de la seconde valeur au moyen de la seconde loi de composition du corps fini ; caractérisé en ce que le module de détermination de la seconde valeur est conçu pour déterminer la seconde valeur en combinant le nombre aléatoire et le premier élément au moyen de la première loi de combinaison, et en ce qu’un module de détermination du second élément est conçu pour déterminer le second élément en combinant le résultat généré par le module de combinaison et le premier élément par une opération utilisant la première loi de combinaison.
Un tel dispositif de traitement cryptographique est par exemple un dispositif électronique comprenant un processeur (par exemple de microprocesseur) et au moins une mémoire.
Dans ce cas, chacun des modules mentionnés ci-dessus est par exemple mis en œuvre par des instructions de programme d’ordinateur mémorisées dans cette mémoire et conçues pour réaliser la fonction du module concerné lorsque ces instructions sont exécutées par le processeur.
Description detaillee d’un exemple de réalisation
La description qui va suivre en regard des dessins annexés, donnés à titre d’exemples non limitatifs, fera bien comprendre en quoi consiste l’invention et comment elle peut être réalisée.
Sur les dessins annexés : - la figure 1 représente schématiquement les éléments principaux d’une entité électronique 1 au sein de laquelle est mise en œuvre l’invention ; et - la figure 2 représente sous forme de logigramme, un exemple de procédé conforme aux enseignements de l’invention.
La figure 1 représente schématiquement les éléments principaux d’une entité électronique 1 au sein de laquelle est mise en œuvre l’invention. Cette entité électronique est par exemple une carte à microcircuit. En variante, il pourrait s’agir d’un élément sécurisé (ou SE pour "Secure Elément') - par exemple un microcontrôleur sécurisé, d’un dispositif électronique portatif (ou "hand-held electronic device" selon l’appellation anglo-saxonne) - par exemple un terminal de communication ou un passeport électronique, ou d’un ordinateur. L’entité électronique 1 comprend un microprocesseur 2, une mémoire vive 4 et une mémoire non-volatile réinscriptible 6 (par exemple de type EEPROM pour "Electrically Erasable and Programmable Read-Only Memory"). L’entité électronique 1 pourrait éventuellement comprendre en outre une mémoire morte. La mémoire vive 4 et la mémoire non-volatile réinscriptible 6 (ainsi que le cas échéant la mémoire morte) sont chacune liées au microprocesseur 2 de sorte que le microprocesseur 2 peut lire ou écrire des données dans chacune de ces mémoires.
Une de ces mémoires, par exemple la mémoire non-volatile réinscriptible 6, mémorise des instructions de programme d’ordinateur qui permettent la mise en œuvre du procédé décrit ci-dessous en référence à la figure 2 lorsque ces instructions sont exécutées par le microprocesseur 2.
Les mémoires 4, 6 stockent également des données représentatives de valeurs utilisées lors de la mise en œuvre du procédé décrit ci-dessous. Par exemple, la mémoire non-volatile réinscriptible 6 mémorise une clé secrète (ici une clé privée) d et des données représentatives de paramètres d’une courbe elliptique, notamment un générateur G d’ordre q ; la mémoire vive 4 mémorise, par exemple au sein de variables, des données traitées au cours des procédés décrits ci-dessous, notamment, comme expliqué plus bas, un message M et une variable k mémorisant un nombre aléatoire. L’entité électronique 1 comprend en outre une interface de communication 8 avec des dispositifs électroniques externes. Dans le cas décrit ici où l’entité électronique 1 est une carte à microcircuit, l’interface de communication 8 comprend par exemple des contacts affleurant sur une face de la carte à microcircuit. En variante, l’interface de communication 8 pourrait être réalisée par un module de communication sans contact. De manière générale, l’interface de communication 8 peut être un module de communication (filaire ou sans fil) avec une autre entité électronique.
Le microprocesseur 2 peut ainsi recevoir des données (par exemple un message M) de l’autre entité électronique via l’interface de communication 8 et émettre des données, par exemple une signature (r,s), à l’autre entité électronique via l’interface de communication 8.
La figure 2 représente, sous forme de logigramme, un exemple de procédé conforme aux enseignements de l’invention, dans lequel l’entité électronique 1 génère une signature électronique (r,s) d’un message reçu M selon un algorithme de signature, par exemple un algorithme de signature basé sur le problème du logarithme discret, ici un algorithme de signature numérique sur courbe elliptique de type SM2.
On utilise pour ce faire un groupe (E,+) formé de points d’une courbe elliptique sur un corps fini Fp à p éléments et ayant un générateur G d’ordre q (avec p différent de q), c’est-à-dire tel que [q].G=0E (le symbole désignant le produit par un scalaire et 0E étant l’élément neutre du groupe E). L’ordre q s’écrit sur n bits, c’est-à-dire que les valeurs q et n vérifient : 2n'1 < q < 2n. On utilise par exemple ici des mots de 160 bits, soit n = 160. On pourrait toutefois utiliser un nombre de bits différent, par exemple supérieur à 160, tel que n compris dans la liste : 192, 224, 256, 384, 512, 521.
On rappelle que la sécurité de ce type d’algorithme est basée sur le fait qu’en choisissant correctement le groupe (E,+) et le générateur G d’ordre q, il est impossible en pratique de retrouver une clé privée d en connaissant la clé publique correspondante [d].G.
Le procédé débute à l’étape E10 par la réception, par le microprocesseur 2 et via l’interface de communication 8, du message M à signer. Le message M est alors par exemple mémorisé en mémoire vive 4.
Le microprocesseur 2 procède alors au tirage d’un nombre aléatoire k de longueur n bits à l’étape E12. On utilise pour ce faire un algorithme de génération de nombres aléatoires ou pseudo-aléatoires. Le nombre aléatoire k est mémorisé, par exemple en mémoire vive 4.
Le microprocesseur 2 vérifie alors à l’étape E14 si ce nombre aléatoire k convient en tant que scalaire à appliquer au générateur G (voir ci-dessous étape E16), c’est-à-dire si ce nombre k est bien inférieure à l’ordre q : en pratique, on détermine si 0 < k < q.
En cas de réponse négative (N), le procédé boucle à l’étape E12 afin de tenter d’obtenir, par un nouveau tirage aléatoire, une valeur aléatoire adaptée.
En cas de réponse positive (P), le microprocesseur 2 procède à l’étape E16 au calcul du premier élément r de la signature (r, s), en utilisant notamment la variable k mémorisée en tant que nombre aléatoire, conformément à une formule qui peut être généralisée comme suit : r = H( [k].G, m) mod q.
On utilise ici, dans le cadre de l’algorithme SM2, la formule suivante : r = x([k].G) + m mod q, où "mod q" désigne la réduction modulo q et où x(P) est l’abscisse d’un point P de la courbe elliptique E. (Cette abscisse est donc un élément du corps fini Fp)
La valeur m utilisée ci-dessus est par exemple obtenue à partir du message M reçu par application d’une fonction de hachage. On peut prévoir en outre que la valeur m soit obtenue non seulement en fonction du message M reçu, mais également en fonction de la clé publique susmentionnée (égale à [d].G).
Grâce à la réduction modulo q, r peut être considéré dans la suite comme un élément du corps fini Fqà q éléments.
Le microprocesseur 2 détermine alors à l’étape E18 si le premier élément r est l’élément nul de Fq (auquel cas le nombre aléatoire k ne convient pas).
En cas de réponse positive (P), le procédé boucle à l’étape E12 afin de tenter d’obtenir, par un nouveau tirage aléatoire, une valeur aléatoire adaptée.
En cas de réponse négative (N), le microprocesseur 2 détermine alors à l’étape E20 si la valeur k+r (utilisée dans la suite) est l’élément nul de Fq (auquel cas, ici encore, le nombre aléatoire k ne convient pas).
En cas de réponse positive (P), le procédé boucle à l’étape E12 afin de tenter d’obtenir, par un nouveau tirage aléatoire, une valeur aléatoire adaptée.
En cas de réponse négative (N), le microprocesseur 2 peut alors déterminer à l’étape E22 le second élément s de la signature (r, s), en fonction de la variable k (valeur aléatoire), du premier élément r et de la clé privée d (mémorisée comme déjà indiqué en mémoire non-volatile 6), en effectuant le calcul suivant :
où le symbole représente la seconde loi de composition, ou multiplication, dans le corps fini Fq et a'1 est l’inverse de l’élément a dans le corps fini Fq.
Comme indiqué pour le premier élément r, les opérations mentionnées ci-dessus pour le calcul du second élément s s’entendent d’ailleurs dans le corps fini Fq.
Autrement dit, la détermination du second élément s de la signature (r, s) comprend les étapes suivantes : - détermination d’une première valeur égale à 1+d (i.e. égale à la somme de la clé privée et d’une valeur prédéterminée, ici l’élément neutre pour la multiplication dans le corps fini Fq) ; - inversion de la première valeur ; - détermination d’une seconde valeur égale à k+r {i.e. égale à la somme du nombre aléatoire et du premier élément) ; - multiplication de la première valeur inversée par la seconde valeur ; - soustraction, au résultat de la multiplication, du premier élément r {i.e. addition du résultat de la multiplication et de l’opposé du premier élément), ce qui correspond à une combinaison du résultat de la multiplication et du premier élément par une opération (ici la soustraction) utilisant la première loi de combinaison.
On remarque que, dans la spécification de l’algorithme SM2 (voir par exemple "Public Key Cryptographie Algorithm SM2 based on Elliptic Curves"), le second élément s est exprimé comme suit :
Toutefois, en utilisant la distributivité de la multiplication (seconde loi de combinaison) par rapport à l’addition (première loi de combinaison) dans le corps fini Fq, on peut écrire :
Autrement dit, on a pu utiliser la présence de la clé privée d dans l’expression (1+d) à inverser pour faire disparaître la clé privée d dans l’expression r*d.
On arrive ainsi à une expression du second élément s dans laquelle on procède à la multiplication d’un opérande (1+d)'1 dépendant de la clé privée par un opérande (k+r) qui n’est pas directement lié au premier élément r (puisque le nombre k est une valeur aléatoire inaccessible de l’extérieur). Il ne sera donc pas possible pour un attaquant de déduire la clé privée d de l’examen successif des mises en œuvres de cette multiplication, comme expliqué dans l’introduction du document EP 2 378 707.
Le microprocesseur 2 détermine alors à l’étape E24 si le second élément s est l’élément nul de Fq (auquel cas le nombre aléatoire k ne convient pas).
En cas de réponse positive (P), le procédé boucle à l’étape E12 afin de tenter d’obtenir, par un nouveau tirage aléatoire, une valeur aléatoire adaptée.
En cas de réponse négative (N), le microprocesseur 2 peut transmettre à l’étape E26, via l’interface de communication 8, la signature (r, s) obtenue aux étapes E16 et E22.
On remarque que l’invention ne s’applique pas seulement à la formule susmentionnée utilisée dans le cadre de l’algorithme SM2, mais pourrait s’appliquer au contraire à d’autres formules dans lesquelles une première valeur déterminée à partir de la clé privée d est inversée.
Ainsi, par exemple, quel que soit l’élément v (de préférence non-nul) de Fq, on peut déterminer (v+d)"1*(k - r*d) par le calcul de (v+d)'1*(k+v*r) - r.
De même, quel que soit l’élément v (de préférence non-nul) de Fq, on peut déterminer (v+d)'1*(k + r*d) par le calcul de (v+d)'1*(k-v*r) + r.

Claims (11)

  1. REVENDICATIONS
    1. Procédé de traitement cryptographique produisant, à partir d’une clé secrète (d), une paire d’éléments (r, s) comprenant un premier élément (r) d’un corps fini et un second élément (s) du corps fini, comprenant les étapes suivantes : - obtention (E12) d’un nombre aléatoire (k) ; - détermination d’une première valeur (1+d) en combinant, au moyen de la première loi de composition (+) du corps fini, la clé secrète (d) et une valeur prédéterminée ; - inversion de la première valeur (1 +d) dans le corps fini ; - détermination d’une seconde valeur au moyen de l’application de la première loi de composition (+) au nombre aléatoire (k) ; - combinaison de la première valeur inversée ((1+d)'1) et de la seconde valeur (k+r) au moyen de la seconde loi de composition (*) du corps fini ; caractérisé en ce que la seconde valeur (k+r) est déterminée en combinant le nombre aléatoire (k) et le premier élément (r) au moyen de la première loi de combinaison (+), et en ce que le second élément (s) est déterminé en combinant le résultat de ladite combinaison ((1+d)'1*(k+r)) et le premier élément (r) par une opération (-) utilisant la première loi de combinaison (+).
  2. 2. Procédé de traitement cryptographique selon la revendication 1, dans lequel la paire d’éléments (r, s) est une signature numérique.
  3. 3. Procédé de traitement cryptographique selon la revendication 1 ou 2, comprenant une étape d’émission (E26) de la paire d’éléments (r, s).
  4. 4. Procédé de traitement cryptographique selon l’une des revendications 1 à 3, dans lequel la clé secrète (d) est une clé privée.
  5. 5. Procédé de traitement cryptographique selon l’une des revendications 1 à 4, comprenant une étape de détermination du premier élément (r) qui inclut la détermination d’un point ([k].G) d’une courbe elliptique égal au produit d’un point prédéterminé (G) de la courbe elliptique par un scalaire égal au nombre aléatoire (k).
  6. 6. Procédé de traitement cryptographique selon l’une des revendications 1 à 5, comprenant une étape de réception (E10) d’un message (M), dans lequel le premier élément (r) est déterminé en fonction du message (M).
  7. 7. Procédé de traitement cryptographique selon la revendication 6 prise dans la dépendance de la revendication 5, dans lequel l’étape de détermination du premier élément comprend une addition (+) de l’abscisse (x([k].G)) du point ([k].G) déterminé et d’un nombre obtenu en fonction du message (m).
  8. 8. Procédé de traitement cryptographique selon l’une des revendications 1 à 7, dans lequel le nombre aléatoire (k) est obtenu par tirage aléatoire.
  9. 9. Procédé de traitement cryptographique selon l’une des revendications 1 à 8, dans lequel la valeur prédéterminée est l’élément neutre pour la seconde loi de composition (*).
  10. 10. Procédé de traitement cryptographique selon l’une des revendications 1 à 9, dans lequel la première valeur vaut d+1 et la seconde valeur vaut k+r, où d est la clé secrète, k le nombre aléatoire, r le premier élément et + représente la première loi de combinaison.
  11. 11. Dispositif de traitement cryptographique (1) conçu pour produire, à partir d’une clé secrète (d), une paire d’éléments (r, s) comprenant un premier élément (r) d’un corps fini et un second élément (s) du corps fini, et comprenant : - un module d’obtention d’un nombre aléatoire (k) ; - un module de détermination d’une première valeur (1+d) en combinant, au moyen de la première loi de composition (+) du corps fini, la clé secrète (d) et une valeur prédéterminée ; - un module d’inversion de la première valeur (1+d) dans le corps fini ; - un module de détermination d’une seconde valeur (k+r) au moyen de l’application de la première loi de composition (+) au nombre aléatoire (k) ; - un module de combinaison de la première valeur inversée ((1+d)"1) et de la seconde valeur (k+r) au moyen de la seconde loi de composition (*) du corps fini ; caractérisé en ce que le module de détermination de la seconde valeur (k+r) est conçu pour déterminer la seconde valeur (k+r) en combinant le nombre aléatoire (k) et le premier élément (r) au moyen de la première loi de combinaison (+), et en ce qu’un module de détermination du second élément (s) est conçu pour déterminer la second élément (s) en combinant le résultat ((1+d)"1*(k+r)) généré par le module de combinaison et le premier élément (r) par une opération (-) utilisant la première loi de combinaison (+).
FR1562373A 2015-12-15 2015-12-15 Procede et dispositif de traitement cryptographique Pending FR3045253A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1562373A FR3045253A1 (fr) 2015-12-15 2015-12-15 Procede et dispositif de traitement cryptographique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1562373A FR3045253A1 (fr) 2015-12-15 2015-12-15 Procede et dispositif de traitement cryptographique

Publications (1)

Publication Number Publication Date
FR3045253A1 true FR3045253A1 (fr) 2017-06-16

Family

ID=56068968

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1562373A Pending FR3045253A1 (fr) 2015-12-15 2015-12-15 Procede et dispositif de traitement cryptographique

Country Status (1)

Country Link
FR (1) FR3045253A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427997A (zh) * 2013-08-16 2013-12-04 西安西电捷通无线网络通信股份有限公司 一种生成数字签名的方法及装置
US20140211938A1 (en) * 2013-01-29 2014-07-31 Certicom Corp. Modified elliptic curve signature algorithm for message recovery

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140211938A1 (en) * 2013-01-29 2014-07-31 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN103427997A (zh) * 2013-08-16 2013-12-04 西安西电捷通无线网络通信股份有限公司 一种生成数字签名的方法及装置
EP3035590A1 (fr) * 2013-08-16 2016-06-22 China Iwncomm Co., Ltd Procédé et dispositif de génération de signature numérique

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAN XIAOWEI ET AL: "Algorithm-Based Countermeasures against Power Analysis Attacks for Public-Key Cryptography SM2", 2014 TENTH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY, IEEE, 15 November 2014 (2014-11-15), pages 435 - 439, XP032726557, DOI: 10.1109/CIS.2014.116 *

Similar Documents

Publication Publication Date Title
EP2296086B1 (fr) Protection d&#39;une génération de nombres premiers contre des attaques par canaux cachés
EP2707989B1 (fr) Dispositif et procede de generation de cles a securite renforcee pour algorithme de chiffrement pleinement homomorphique
EP2415199B1 (fr) Procede pour effectuer une tache cryptographique dans un composant electronique
EP1804161B1 (fr) Détection de perturbation dans un calcul cryptographique
WO2006070092A1 (fr) Procede de traitement de donnees et dispositif associe
FR2966953A1 (fr) Procede de contremesure cryptographique par derivation d&#39;une donnee secrete
FR2888690A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
EP3300292A1 (fr) Procédé de chiffrement ou de déchiffrement protégé contre des attaques par canaux cachés
EP2983083A1 (fr) Procede de cryptographie sur courbe elliptique comprenant une detection d&#39;erreur
EP1804160B1 (fr) Protection d&#39;un calcul cryptographique effectué par un circuit intégré
FR3045253A1 (fr) Procede et dispositif de traitement cryptographique
EP3809627B1 (fr) Procédé de génération d&#39;une clé publique et entité électronique associée
EP3100403B1 (fr) Échelle de montgomery déséquilibrée résistante aux attaques par canaux auxiliaires
FR3047327A1 (fr) Procede d&#39;execution de calcul cryptographique et application a la classification par machines a vecteurs de support
EP3482524B1 (fr) Procédé de génération des paramètres caractérisant un protocole cryptographique
FR3004042A1 (fr) Procedes de generation et d&#39;utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt
EP3579491A1 (fr) Procédé de détermination d&#39;inverse modulaire et dispositif de traitement cryptographique associé
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
EP2527970B1 (fr) Procédé d&#39;encodage cryptographique sur une courbe elliptique
EP3929726A1 (fr) Procede de traitement cryptographique,dispositif electronique et programme d&#39;ordinateur associes
FR3045883A1 (fr) Procede de traitement cryptographique de donnees, programme d&#39;ordinateur et entite electronique associes
EP4270855A1 (fr) Protection contre les attaques par canal auxiliaire a l aide d&#39;un masquage carre
FR3018372A1 (fr) Generation de message pour test de generation de cles cryptographiques
FR2994608A1 (fr) Procede de traitement cryptographique comprenant un acces securise a une pluralite de tables de substitution, dispositifs et produit programme d&#39;ordinateur correspondants.
FR3038473A1 (fr) Procede de traitement cryptographique de donnees et programme d&#39;ordinateur associe

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170616