FR3004043A1 - Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt - Google Patents

Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt Download PDF

Info

Publication number
FR3004043A1
FR3004043A1 FR1352948A FR1352948A FR3004043A1 FR 3004043 A1 FR3004043 A1 FR 3004043A1 FR 1352948 A FR1352948 A FR 1352948A FR 1352948 A FR1352948 A FR 1352948A FR 3004043 A1 FR3004043 A1 FR 3004043A1
Authority
FR
France
Prior art keywords
private key
component
mod
rsa
instantiating
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
FR1352948A
Other languages
English (en)
Other versions
FR3004043B1 (fr
Inventor
Christophe Giraud
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 FR1352948A priority Critical patent/FR3004043B1/fr
Priority to FR1362483A priority patent/FR3004042A1/fr
Publication of FR3004043A1 publication Critical patent/FR3004043A1/fr
Application granted granted Critical
Publication of FR3004043B1 publication Critical patent/FR3004043B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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

Landscapes

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

Abstract

Il est proposé un procédé de génération, mis en œuvre par un dispositif électronique, d'une clé privée destinée à être utilisée dans un procédé cryptographique du type RSA-CRT, à partir d'un exposant public e correspondant à un nombre entier strictement positif, ladite clé privée comprenant une pluralité de composantes stockées dans une mémoire dudit dispositif électronique. Un tel procédé de génération est remarquable en ce qu'il comprend une étape d'instanciation d'une première composante de ladite clé privée audit exposant public e, et en ce que chaque représentation binaire des autres composantes de ladite pluralité de composantes est sans bloc de données prédéterminées de t-bits successifs, avec t>2 bits.

Description

Procédés de génération et d'utilisation de clés cryptographiques privées pour le RSA-CRT ou les variantes du RSA-CRT 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui de la cryptographie.
Plus précisément, l'invention concerne une technique applicable à des protocoles cryptographiques utilisant le procédé cryptographique RSA (pour « Rivest Shamir Adleman »), ou toute généralisation de celui-ci, et qui est basé sur le théorème des restes chinois (communément appelé RSA-CRT, pour « RSA Chinese Remainder Theorem » en anglais).
L'invention a de nombreuses applications, telles que par exemple dans des dispositifs électroniques, où les contraintes en termes de taille mémoire utilisée et temps d'exécution de procédés cryptographiques sont particulièrement importantes, qui mettent en oeuvre un tel procédé cryptographique pour sécuriser des communication et/ou des échanges de données (signature, etc.). 2. ARRIÈRE-PLAN TECHNOLOGIQUE On s'attache plus particulièrement dans la suite de ce document à décrire la problématique existant vis-à-vis de l'utilisation du procédé cryptographique RSA-CRT, à laquelle a été confronté l'inventeur de la présente demande de brevet. L'invention ne se limite bien sûr pas à ce domaine particulier d'application, mais présente un intérêt pour toute variante du procédé cryptographique RSA-CRT (comme présenté par exemple dans le document « Fast Variants of RSA » de D. Boneh et al.). Le procédé cryptographique RSA est un procédé cryptographique asymétrique bien connu de l'Homme du métier, qui peut être utilisé dans de multiples applications (signature de données numériques, chiffrement de données numériques, dans le cadre d'une authentification, etc.). Par exemple, le document "Handbook of Applied Cryptography" de A. Menezes et al., publié par l'éditeur CRC Press, divulgue, au chapitre 8 (intitulé « Public-Key Encryption ») et au chapitre 11 (intitulé « Digital Signatures ») de telles applications du procédé cryptographique RSA. Afin d'accélérer le temps d'exécution du procédé cryptographique RSA, il est bien connu d'utiliser le théorème des restes chinois (ou « Chinese Remainder Theorem») pour parvenir à cette fin (on utilise alors la terminologie de procédé cryptographique RSA-CRT). Ainsi, le temps d'exécution du procédé cryptographique RSA-CRT est quatre fois plus rapide que le procédé cryptographique RSA. Plus précisément, au chapitre 14 (intitulé « Efficient Implementation ») du document cité précédemment, il est présenté l'algorithme de Garner qui est détaille une manière de réaliser une étape de recombinaison applicable au RSA-CRT. L'Homme du métier peut aussi, au lieu d'utiliser l'algorithme de Garner, utiliser l'algorithme de Gauss, présenté par exemple au chapitre 2 (intitulé « Mathematical Background», cf. l'algorithme référencé 2.121) du document mentionné précédemment. Des implémentations matérielles du procédé cryptographique RSA-CRT, telle que proposée dans le document : « The Chinese Remainder Theorem and its Application in a High-Speed RSA Crypto Chip » de Johann GroRschâdl, permettent d'accroître la vitesse d'exécution d'un tel procédé. Il convient de noter que, afin d'utiliser le procédé cryptographique RSA-CRT (via une implémentation matérielle ou via l'exécution sur un matériel d'un produit programme d'ordinateur), un dispositif électronique doit obtenir les éléments confidentiels (i.e. non publics) suivants : - un nombre premier p; - un nombre premier q; - un nombre dg = d mod p-1 où d correpond à un exposant privé (i.e. secret) dans le procédé cryptographique RSA (avec d = e--1 mod (p-1)(q-1)) où e est exposant public); - un nombre dq = d mod q-1; et - un nombre i q = q-/ mod p. Ainsi, dans l'état de la technique, une clé cryptographique privée (i.e. secrète) pour un procédé cryptographique RSA-CRT correspond aux 5 éléments suivants : (p,q, dg, dg ig). On retrouve ce formalisme dans plusieurs normes dont la norme Javacard 2.2.2 (cf. la définition de l'interface « RSAPrivateCrtKey »). A contrario, une clé cryptographique privée pour un procédé cryptographique RSA classique est définie par les 2 éléments suivants : (N, d) avec le nombre N qui correspond aux produits des nombres premiers p et q. La clé cryptographique publique (que cela soit pour le procédé cryptographique RSA classique ou pour le procédé cryptographique RSA-CRT) est définie par les 2 éléments suivants : (N, e). Ainsi, un dispositif électronique qui comprend des moyens permettant de générer des clés cryptographiques en vu d'une utilisation d'un procédé cryptographique RSA-CRT, doivent permettre d'obtenir le quintet suivant (p,q, dp,clq ig). L'étape de recherche de nombres premiers (i.e. les nombres p et q) correspond à l'étape nécessitant le plus d'opérations couteuses (d'un point de vue du temps d'exécution) dans une étape de génération d'une clé cryptographique privée en vu d'une utilisation d'un procédé cryptographique RSA-CRT. Cependant, les étapes de détermination des nombres dp, dq, et i q constituent elles aussi des étapes qui nécessitent de nombreuses ressources (en mémoire et en temps de calcul), de par la réalisation d'une opération d'inversion modulaire. Un inconvénient lié à la définition d'une telle clé cryptographique privée en vu d'une utilisation d'un procédé cryptographique RSA-CRT réside dans le fait que la taille (en nombre de bits) de ce quintet est relativement grand, et donc, le dispositif doit comprendre une mémoire relativement grande (dans le cas de figure où une grande quantité de clés cryptographiques privées en vu d'une utilisation d'un procédé cryptographique RSA-CRT sont stockées), ce qui n'est envisageable lorsqu'on utilise des dispositifs électroniques possédant peu de ressources mémoires.
Un autre inconvénient réside dans le fait que la génération d'une telle clé cryptographique privée en vu d'une utilisation d'un procédé cryptographique RSA-CRT est relativement long. En outre, dans le cas de figure où, via un canal sécurisé (ou lors d'une étape de personnalisation), une clé cryptographique privée en vu d'une utilisation d'un procédé cryptographique RSA-CRT est transmise à un dispositif électronique, de par la taille en nombre de bits d'une telle clé, une telle étape de réception d'une clé peut être relativement long. De plus, il convient de noter que, lorsqu'un dispositif électronique exécute un procédé cryptographique RSA-CRT, des attaques par injection de fautes peuvent être réalisée par un attaquant sur un tel dispositif. Par conséquent, puisque l'exposant public e n'est pas toujours connu par le dispositif (notamment dans le cadre des applications JavaCard), il est nécessaire d'incorporer à l'implémentation d'un procédé cryptographique RSA-CRT de nombreuses contremesures qui ralentissent de facto l'exécution du procédé cryptographique RSA-CRT. Plusieurs contremesures existent dans l'état de la technique comme celle consistant par exemple à recalculer à partir des éléments d'une clé cryptographique privée en vu d'une utilisation d'un procédé cryptographique RSA-CRT, l'exposant public e correspondant (cf. le document « Fouit Resistant RSA Signatures: Chinese Remaindering in Both Directions» de A. Boscher et al., publié sur le site de l'IACR, et plus précisément l'algorithme 2 intitulé « Compute the RSA public exponent from a CRT RSA private key »).
La présente technique correspond à une technique de génération de clés cryptographiques privées en vu d'une utilisation d'un procédé cryptographique RSACRT, qui soit plus rapide que les techniques de l'art antérieur, et qui ne nécessite que peu de modifications pour être utilisé dans un dispositif électronique. En outre la présente technique permet de sécuriser un procédé cryptographique RSA-CRT contre des attaques par injection de fautes de manière efficace, et moins coûteuse que les techniques de l'art antérieur connues. 3. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de génération, mis en oeuvre par un dispositif électronique, d'une clé privée destinée à être utilisée dans un procédé cryptographique du type RSA-CRT, à partir d'un exposant public e correspondant à un nombre entier strictement positif, ladite clé privée comprenant une pluralité de composantes stockées dans une mémoire dudit dispositif électronique. Un tel procédé de génération est remarquable en ce qu'il comprend une étape d'instanciation d'une première composante de ladite clé privée audit exposant public e. Selon une caractéristique particulière, chaque représentation binaire des autres composantes de ladite pluralité de composantes est sans bloc de données prédéterminées de t-bits successifs, avec t>2 bits. Il convient de noter que cette approche, consistant à introduire l'exposant public dans une clé privée est tout à fait inventive, car cela à l'encontre des préjugés de l'Homme du métier, puisque comme sa terminologie l'explicite, l'exposant est public, et que l'Homme du métier n'est pas incité à l'introduire ainsi dans une clé privée. Ainsi, de cette manière, l'exposant public e étant toujours présent / référencé dans une telle clé privée générée, il n'est pas nécessaire de réaliser des opérations complexes à mettre en oeuvre pour l'utiliser dans un procédé de traitement cryptographique.
En outre, une telle technique de génération d'une clé privée ne diminue pas la sécurité de la clé obtenue, car chaque représentation binaire des autres composantes de la pluralité de composantes de la clé privée est sans bloc de données prédéterminées de t-bits successifs, avec t>2 bits (contrairement aux techniques de génération de clés comprenant des portions ou blocs de données prédéterminées comme cela est décrit par exemple dans le document US 6,496,929). Selon une première variante, un tel procédé de génération est remarquable en ce qu'il comprend en outre : - une étape d'instanciation d'une deuxième composante de ladite clé privée à un premier nombre premier p; - une étape d'instanciation d'une troisième composante de ladite clé privée à un deuxième nombre premier q; - une étape d'instanciation d'une quatrième composante de ladite clé privée à un premier exposant privé dp = d mod p-1 = e--1 mod p-1 où d correspond à un exposant privé dans un procédé cryptographique RSA vérifiant une équation d = e--1 mod (p-1)(q- /), où e est ledit exposant public ; et - une étape d'instanciation d'une cinquième composante de ladite clé privée à un deuxième exposant privé dg = d mod q-1 = e--1 mod q-1. Ainsi, selon un tel mode de réalisation, une telle clé privée comprend le quintuplet suivant : (e, p, q, dg, dg).
Selon une deuxième variante, un tel procédé de génération comprend en outre: - une étape d'instanciation d'une deuxième composante de ladite clé privée à un premier nombre premier p; - une étape d'instanciation d'une troisième composante de ladite clé privée à un deuxième nombre premier q; - une étape d'instanciation d'une quatrième composante de ladite clé privée à un exposant privé d vérifiant une équation d = e--1 mod (p-1)(q-1), où e est ledit exposant public. Ainsi, selon un tel mode de réalisation, une telle clé privée comprend le triplet suivant : (e, p, q, d). Ainsi, pour retrouver les éléments dp et dp, il sera nécessaire de réaliser des opérations de réduction modulaire. Selon une troisième variante, un tel procédé de génération comprend en outre : - une étape d'instanciation d'une deuxième composante de ladite clé privée à un premier nombre premier p; - une étape d'instanciation d'une troisième composante de ladite clé privée à un modulus étant un produit dudit premier nombre premier p avec un autre nombre premier q; - une étape d'instanciation d'une quatrième composante de ladite clé privée à un exposant privé d vérifiant une équation d = e--1 mod (p-1)(q-1), où e est ledit exposant public. Ainsi, une telle clé privée comprend le triplet suivant : (e, p, N, d). Il est alors possible d'obtenir l'autre nombre premier q en réalisant une division du modulus public N par le nombre premier p. Une fois un tel nombre premier q déterminé, il est possible de retrouver les éléments dp et dp, en réalisant des opérations de réduction modulaire via chacun des nombres premiers p et q. Selon une caractéristique particulière, le procédé de génération est remarquable en ce que ladite clé privée comprend uniquement les composantes mentionnées.
Ainsi, lorsque la clé privée correspond exactement au quintuplet suivant : (e, p, q, dp, dp), /a présente technique consiste donc à remplacer le nombre i q = q--1 mod p (ou le nombre ip = p--1 mod q selon les standards) dans une clé privée « standard » par l'exposant public e correspondant, en vu d'une utilisation d'un procédé cryptographique RSA-CRT. Ainsi, l'absence du nombre i q = q--1 mod p ne constitue pas un frein à une implémentation du procédé cryptographique RSA-CRT. Comme décrit ultérieurement il n'est pas nécessaire de déterminer explicitement un tel nombre lors de l'exécution du procédé cryptographique RSA-CRT, contrairement au techniques de l'art antérieur (voir par exemple le document US 6,959,091, le document EP 2466783, le document US 2012/0263296 et le document US 7,340,606 dans lesquels, il est toujours nécessaire de déterminer explicitement le nombre i q = q-1 mod p (ou le nombre ip = p-/ mod q). En outre dans les techniques de l'art antérieur identifiées, l'exposant public e n'est pas considéré comme faisant partie intégrante de la clé privée. Ainsi, il se peut qu'un tel exposant ne soit pas toujours au sein d'un dispositif électronique. Ainsi, les clés privées générées selon la présente technique en vu d'une utilisation d'un procédé cryptographique RSA-CRT ont un format permettant de conserver le nombre de paramètres dans les interfaces d'appel (dans des produits programme d'ordinateurs) d'une fonction correspondant au procédé cryptographique RSA-CRT, conformément aux différentes normes existantes (comme la norme JavaCard 2.2.2 par exemple). Cependant, du fait que l'exposant public e, qui se substitue au 15nombre -/ i q = q mod p a une taille (en nombre de bits) généralement très inférieure à celle du nombre i q, le dispositif électronique a besoin de moins de ressources mémoire pour stocker une telle clé. En outre, la transmission et/ou la réception par un dispositif électronique de telles clés privées se fait de manière plus rapide, car il y a moins de bits à transmettre ou émettre. 20 Selon une caractéristique particulière, un tel procédé de génération est remarquable en ce qu'il comprend en outre une étape de détermination d'au moins un desdits nombres premiers. Dans un autre mode de réalisation de l'invention, il est proposé un procédé de traitement cryptographique du type RSA-CRT, mis en oeuvre par un dispositif 25 électronique, et appliqué à un message m. Un tel procédé est remarquable en ce qu'il comprend : - une étape d'obtention d'une clé privée comprenant une composante correspondant à un exposant public e; - une étape de détermination d'au moins deux nombres y1 et 1/2 qui sont définis par les 30 équations suivantes : y1= (q(.m)^(dp-1).m.e2 mod p et 1/2 = (pe.m)^(dp-/). m.pe-2 mod q, où les nombres q et p sont des nombres premiers obtenus à partir d'au moins une composante de ladite clé privée, et - une étape de combinaison desdites au moins deux nombres v1 et v2 délivrant un résultat conforme à un traitement cryptographique du type RSA-CRT.
Ainsi, la présente technique permet de s'affranchir de la détermination explicite d'au moins un nombre i q = Cil mod p (ou d'au moins un nombre ip= 13-1 mod q) lors de la réalisation d'un procédé de traitement cryptographique du type RSA-CRT, ou d'une variante du RSA-CRT. En effet, en remarquant que les relations suivantes sont vérifiées: v1= (qe.m)^(dp-1).m.qe-2 mod p = mA(dp).q-1 mod p et v2 = (pe.m)^(dp-1).m. pe-2 mod q = mA(dp).131 mod p, il est possible, en partant de la recombinaison de Gauss par exemple d'obtenir le résultat escompté, et ce, sans avoir eu à déterminer explicitement d'au moins un nombre i q = Cil mod p (ou d'au moins un nombre ip = 13-1 mod q). Seuls les paramètres (e, p, q, dp, dp) sont nécessaires pour y parvenir. Ainsi, toute clé privée permettant d'aboutir à la détermination de ces paramètres peut être utilisée lors de l'exécution d'un procédé de traitement cryptographique du type RSA-CRT, ou une variante du RSA-CRT. Selon une caractéristique particulière, un tel procédé de traitement cryptographique est remarquable en ce que ladite étape de combinaison desdites au moins deux nombres v1 et v2 comprend une étape de détermination d'un nombre r = pvl + qv2 mod N, où N correspond au produit desdits deux nombres premiers p et q. Selon une caractéristique particulière, un tel procédé de traitement cryptographique est remarquable en ce qu'il comprend une étape de détection d'une attaque par injection de fautes en fonction d'une combinaison dudit résultat, dudit exposant public e et dudit message m.
Selon une caractéristique particulière, un tel procédé de traitement cryptographique est remarquable en ce que ladite étape de détection comprend : - une étape de détermination d'une exponentiation modulaire dudit résultat à une puissance égale audit exposant public, ladite étape de détermination délivrant un nombre m' ; - une étape de comparaison dudit nombre m' et dudit message m, ladite étape de comparaison délivrant une information significative de la détection d'une attaque par injection de fautes en cas de différence entre ledit nombre m' et ledit message m. Selon une caractéristique particulière, un tel procédé de traitement cryptographique est remarquable en ce que ladite clé privée comprenant une composante correspondant à un exposant public e est générée selon le procédé de génération précédemment mentionné. Dans un autre mode de réalisation de l'invention, il est proposé un produit programme d'ordinateur qui comprend des instructions de code de programme pour la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation), lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation de l'invention, il est proposé un produit programme d'ordinateur qui comprend des instructions de code de programme pour la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation), lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation de l'invention, il est proposé un composant électronique comportant des moyens adaptés à la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation). Plus précisément, selon une implémentation préférée, les différentes étapes du procédé selon l'invention sont mises en oeuvre par un logiciel ou programme d'ordinateur, ce logiciel comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'un module relais selon l'invention et étant conçu pour commander l'exécution des différentes étapes de ce procédé. En conséquence, l'invention vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des instructions pour commander l'exécution des étapes d'un procédé tel que mentionné ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Selon un mode de réalisation, l'invention est mise en oeuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels. Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, etc) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc). De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), un élément de sécurité (ou « secure element » en anglais) utilisé dans le contexte de communication en champ proche (pour « Near Field Communication » en anglais), etc. Dans un autre mode de réalisation de l'invention, il est proposé un médium de stockage lisible par ordinateur et non transitoire, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé précité (dans l'un quelconque de ses différents modes de réalisation). Dans une variante de l'invention, il est proposé un dispositif électronique permettant de générer une clé privée destinée à être utilisée dans un procédé cryptographique du type RSA-CRT, à partir d'un exposant public e correspondant à un nombre entier strictement positif, ladite clé privée comprenant une pluralité de composantes stockées dans une mémoire dudit dispositif électronique. Un tel dispositif étant remarquable en ce qu'il comprend des moyens d'instanciation d'une première composante de ladite clé privée audit exposant public e.
Selon une caractéristique particulière, un tel dispositif permet de générer une clé privée pour laquelle chaque représentation binaire des autres composantes de ladite pluralité de composantes est sans bloc de données prédéterminées de t-bits successifs, avec t>2 bits. Dans une autre variante de l'invention, il est proposé un dispositif électronique apte à réaliser un traitement cryptographique du type RSA-CRT, appliqué à un message m. Un tel dispositif électronique est remarquable en ce qu'il comprend : - des moyens d'obtention d'une clé privée comprenant une composante correspondant à un exposant public e; - des moyens de détermination d'au moins deux nombres 1/1 et 1/2 qui sont définis par les équations suivantes : 1/1 = (qe.m)^(dp-1).m.c2 mod p et v2 = (pe.m)^(dq-1).m.pe-2 mod q, où les nombres q et p sont des nombres premiers obtenus à partir d'au moins une composante de ladite clé privée, et - des moyens de combinaison desdites au moins deux nombres 1/1 et 1/2 délivrant un résultat conforme à un traitement cryptographique du type RSA-CRT. 4. LISTE DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : - la figure 1 présente un organigramme d'un mode de réalisation particulier d'un procédé de génération selon l'invention, mis en oeuvre par un dispositif électronique; - la figure 2 présente un organigramme d'un mode de réalisation particulier d'un procédé de signature via un traitement cryptographique du type RSA-CRT selon l'invention, mis en oeuvre par un dispositif électronique ; - la figure 3(a) représente, schématiquement, un dispositif électronique permettant de réaliser un traitement de données dans lequel la présente invention est mise en oeuvre ; - la figure 3(b) représente une carte à microcircuit qui constitue un exemple de dispositif électronique permettant de réaliser un traitement de données conforme à l'invention tel que représenté à la figure 3(a). 5. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique. La figure 1 présente un organigramme d'un mode de réalisation particulier d'un procédé de génération selon l'invention, mis en oeuvre par un dispositif électronique. Plus précisément, un tel procédé de génération d'une clé privée selon l'invention permet à dispositif électronique, suite à l'obtention d'un exposant public e (paramètre qui est soit lui-même généré, soit imposé comme c'est le cas dans de nombreuses normes (comme par exemple la norme EMV (acronyme de « Europay, MasterCard and Visa ») qui stipule que l'exposant public e doit être égal à l'une des valeurs suivantes : 3, 17 ou 216+1)), au cours d'une étape d'obtention référencée 101, de générer les autres composantes de la clé privée selon l'invention. Il convient de noter que, selon la présente invention, l'exposant public e fait partie intégrante de la clé privée générée (i.e. l'exposant public e est une composante de la clé privée générée). Comme mentionné précédemment, cette approche est en soit nouvelle et inventive. En outre, l'étape d'obtention 101 comprend une étape d'instanciation d'une première composante d'une clé privée audit exposant public e. Une telle étape d'instanciation consiste à écrire, dans une zone mémoire du dispositif électronique, la valeur de l'exposant public e. Ainsi, cette zone mémoire stocke une première composante de la clé privée en cours de génération. Par la suite, et de manière générique, une étape d'instanciation consiste à écrire, dans une zone mémoire du dispositif électronique, une valeur d'intérêt à stocker. Ainsi, suite à l'exécution de l'étape d'obtention 101, le dispositif électronique obtient un premier nombre premier p (soit via une étape de génération réalisée par le dispositif lui-même, soit via une lecture d'un tel paramètre dans une zone mémoire particulière déjà référencée) au cours d'une étape référencée 102. La taille d'un tel nombre premier p est déterminée en fonction de la valeur d'un paramètre de configuration stocké sur le dispositif électronique. En outre, l'étape d'obtention 102 comprend une étape d'instanciation d'une deuxième composante de la clé privée à la valeur du nombre premier p.
De même, le dispositif électronique obtient un deuxième nombre premier q (soit via une étape de génération réalisée par le dispositif lui-même, soit via une lecture d'un tel paramètre dans une zone mémoire particulière déjà référencée) au cours d'une étape référencée 103. En outre, l'étape d'obtention 103 comprend une étape d'instanciation d'une troisième composante de la clé privée à la valeur du nombre premier q. Puis, le dispositif électronique, au cours d'une étape référencée 104, obtient un premier exposant privé dp : - soit en déterminant la valeur suivante : d mod p-1 où d correspond à un exposant privé dans un procédé cryptographique RSA déterminé via la détermination de 6,-1 mod (p-1)(q-1), où e est ledit exposant public (ou via la lecture du paramètre d dans une zone mémoire particulière déjà référencée); - soit en déterminant la valeur de 6,-1 mod p-1 (ou via la lecture du paramètre dp dans une zone mémoire particulière déjà référencée). En outre, l'étape 104 comprend une étape d'instanciation d'une quatrième composante de la clé privée à la valeur du premier exposant privé dp .
Puis, le dispositif électronique, au cours d'une étape référencée 105, obtient un deuxième exposant privé dg : - soit en déterminant la valeur suivante : d mod q-1 où d correspond à un exposant privé dans un procédé cryptographique RSA déterminé via la détermination de 6,-1 mod (p-1)(q-1), où e est ledit exposant public (ou via la lecture du paramètre d dans une zone mémoire particulière déjà référencée); - soit en déterminant la valeur de 6,-1 mod q-1 (ou via la lecture du paramètre dg dans une zone mémoire particulière déjà référencée). En outre, l'étape 105 comprend une étape d'instanciation d'une cinquième composante de la clé privée à la valeur du deuxième exposant privé dg . Ainsi, après l'exécution des étapes 101 à 105, le dispositif électronique, selon un mode de réalisation de l'invention stocke la clé privée générée qui comprend les 5 éléments suivants : (e, p, q, dg, dg). Ainsi, la clé privée générée a été instanciée et est prête à être utilisée lors de la réalisation d'un traitement cryptographique, ou pour une manipulation d'une telle clé (transfert, etc.) au sein du dispositif électronique. Ainsi, selon un mode de réalisation de l'invention, le procédé de génération selon la présente invention peut consister à convertir une clé privée comprenant les composantes suivantes (p,q, dg, dg ig) ou (p,q, dg, dg ig) en la clé privée suivante : (e, p, q, dg, dg) qui possède une taille (en nombre de bits) plus petite que celle des clés privées non-converties. Le procédé de génération permet donc de faciliter la gestion de la mémoire du dispositif électronique (les clés privées étant plus petites). La figure 2 présente un organigramme d'un mode de réalisation particulier d'un procédé de signature via un traitement cryptographique du type RSA-CRT selon l'invention, mis en oeuvre par un dispositif électronique.
Dans une étape référencée 201, le dispositif électronique réalise une étape d'obtention d'un message m à signer et d'une clé cryptographique privée pour le RSACRT ou les variantes du RSA-CRT ayant été générée par exemple, via le procédé de génération décrit en lien avec la figure 1. Ainsi, dans un mode de réalisation de l'invention, le dispositif électronique lit dans une zone mémoire les composantes d'une clé cryptographique privée comprenant les 5 éléments suivants : (e, p, q, dp, dp). Selon une variante, les composantes d'une clé cryptographique privée correspondent aux 4 éléments suivants : (e, p, q, d). Selon une autre variante, les composantes d'une clé cryptographique privée correspondent aux 4 éléments suivants : (e, N, q, d) ou (e, N, p, d) avec N qui correspond au nombre p.q. La structure des clés cryptographiques privées selon les variantes évoquées, permet cependant de déterminer les autres composantes manquantes par rapport à la structure d'une clé cryptographique privée comprenant les 5 éléments suivants : (e, p, q, dp, dp). Puis afin d'obtenir une signature du message m via un traitement cryptographique du type RSA-CRT selon l'invention, le dispositif électronique exécute une première étape d'exponentiation référencée 202 et une deuxième étape d'exponentiation référencée 203. Plus précisément, la première étape d'exponentiation 202 comprend : - une première étape de détermination d'un nombre q1= m. Cle-2 mod p ; - une deuxième étape de détermination d'un nombre q2 = ch. q2 mod p ; - une étape d'exponentiation via l'utilisation du premier exposant privé consistant à déterminer le nombre suivant v1 = q21' (d-1).q1 mod p. Il convient de noter que la relation suivante est alors vérifiée v1= (qe.m)^(dp-1).m.qe-2 mod p = (m)^(dp).cfl mod p, et ce, sans avoir eu à déterminer explicitement la valeur de q-1 mod p. De manière générale, la première étape d'exponentiation 202 vise à déterminer la valeur de v1 = (qe.m)^(dp-1).m.qe-2 mod p. Ainsi, il est possible d'envisager un mode de réalisation dans lequel on détermine un nombre cl = (qe.m)^(dp-1), puis on détermine ensuite le nombre cl .m.qe-2 mod p, qui est égal au nombre y1.
De manière analogue, la deuxième étape d'exponentiation 203 comprend : - une première étape de détermination d'un nombre pl = m. pe-2 mod q; - une deuxième étape de détermination d'un nombre 132 = pi. p2 mod q; - une étape d'exponentiation via l'utilisation du premier exposant privé consistant à déterminer le nombre suivant v2 = (p2)^(dp-1).pl mod q. Il convient de noter que la relation suivante est alors vérifiée v2 = (pe.m)1'(dp-1). m.pe-2 mod q = (m)^(dq).13-1 mod q, et ce, sans avoir eu à déterminer explicitement la valeur de p--1 mod q. De manière générale, la deuxième étape d'exponentiation 203 vise à déterminer la valeur de v2= (pe.m)^(dq-1).m.pe-2 mod q, et ce quelque soit l'ordonnancement des opérations modulaires que l'on choisit pour atteindre un tel objectif. Ainsi, suite à l'exécution des étapes 202 et 203, le dispositif électronique dispose, dans une zone mémoire, des deux nombres v1 et v2. Afin d'obtenir la signature du message, il convient de réaliser alors une étape de recombinaison référencée 204.
Plus précisément, l'étape de recombinaison 204 comprend une étape de détermination du nombre r = p.v1 + q.v2 mod N, où N correspond au produit desdits deux nombres premiers p et q. Le nombre r ainsi obtenu est identique (si aucune attaque par injection de fautes n'a été réalisée) au résultant provenant d'un traitement cryptographique du type RSA-CRT « classique ».
Ainsi, le nombre r correspond à la signature du message m. Du fait que l'exposant public e est une composante de la clé cryptographique privée obtenue lors de l'étape 201, il est alors possible de vérifier si une attaque par injection de fautes n'a pas été réalisée lors des étapes 202 à 204. Pour ce faire, le dispositif électronique met en oeuvre, au cours d'une étape de détection d'une attaque par injection de fautes référencée 205, qui comprend : - une étape d'exponentiation comprenant la détermination du nombre m' suivant : m' = re mod N; et une étape de comparaison du nombre m' avec le message m, qui délivre une information significative de la détection d'une attaque par injection de fautes en cas de différence entre ledit nombre m'et ledit message m. L'exécution de l'étape 205 peut être facultative si d'autres contremesures contre les attaques par injection de fautes sont déjà mises en oeuvre par le dispositif électronique. La figure 3(a) représente, schématiquement, un dispositif électronique permettant de réaliser un traitement de données dans lequel la présente invention est mise en oeuvre. Ce dispositif 340 comprend un microprocesseur 310, auquel est associée d'une part une mémoire vive 360, par exemple au moyen d'un bus 370, et d'autre part une mémoire non volatile 320 (par exemple du type EEPROM), par exemple à travers un bus 350.
Le dispositif de traitement de données 340, et précisément le microprocesseur 310 qu'il incorpore, peuvent échanger des données avec des dispositifs extérieurs au moyen d'une interface de communication 330. On a schématiquement représenté sur la figure 3(a) la transmission d'une donnée d'entrée X reçue d'un dispositif extérieur (non représenté) et transmise de l'interface de communication 330 au microprocesseur 310. De manière similaire, on a représenté la transmission d'une donnée de sortie Y du microprocesseur 310 vers l'interface de communication 330 à destination d'un dispositif extérieur. Cette donnée de sortie Y est issue d'un traitement de données par le microprocesseur 310, généralement sur la donnée ou une partie de la donnée d'entrée X à l'aide d'une donnée secrète 380 interne au système. Le traitement de données ainsi réalisé peut comprendre une exécution du procédé de comparaison selon la présente invention. Les données d'entrée X sont par exemple des commandes APDU, et les données de sortie Y peuvent être des réponses APDU, pouvant comprendre une donnée chiffrée, une signature, un nombre aléatoire, etc issue du traitement de données susmentionné. Bien que, pour l'illustration, les données d'entrée et les données de sortie figurent sur deux flèches différentes, les moyens physiques qui permettent la communication entre le microprocesseur 310 et l'interface 330 pourront être réalisés par des moyens uniques, par exemple un port de communication série ou un bus.
Le microprocesseur 310 est apte à exécuter un logiciel (ou programme d'ordinateur) qui permet au dispositif électronique d'exécuter un procédé conforme à l'invention au regard des figures 1 et 2. Ce procédé est par exemple exécuté par le dispositif électronique sur réception des données d'entrée X. Les données du procédé selon l'invention peuvent être obtenus à partir des données d'entrée. Les données de sorties sont par exemple obtenues à partir du résultat du procédé selon l'invention (par exemple transmission de la validation du domaine de paramètres reçu (compris dans les données d'entrée X). Le logiciel est composé d'une série d'instructions de commande du microprocesseur 310 qui sont par exemple stockées dans la mémoire 320. Dans une variante, l'ensemble microprocesseur 310 - mémoire non-volatile 320 - mémoire vive 360 peut être remplacé par un circuit à application spécifique qui comprend alors des moyens de mise en oeuvre des différentes étapes du procédé de traitement de données. Plus généralement, le dispositif de traitement est un circuit intégré. La figure 3(b) représente une carte à microcircuit qui constitue un exemple de dispositif de traitement de données conforme à l'invention tel que représenté à la figure 3(a). L'interface de communication 330 est dans ce cas réalisée au moyen des contacts de la carte à microcircuit ou bien d'une antenne logée dans le corps de carte. La carte à microcircuit incorpore un microprocesseur 310, une mémoire vive 360 et une mémoire non volatile 320 comme cela est représenté sur la figure 3(a).
Cette carte à microcircuit est par exemple conforme à la norme ISO 7816 et munie d'un microcontrôleur sécurisé qui regroupe le microprocesseur (ou CPU) 320 et la mémoire vive 360. Les données d'entrée X sont par exemple des commandes APDU, et les données de sortie Y des réponses APDU.
Dans une variante, le dispositif de traitement de données peut être une clé USB, un document ou un support d'informations papier comportant dans l'une de ses feuilles un microcircuit associé à des moyens de communication sans contact. Il s'agit de manière préférée d'une entité électronique portable ou de poche. Le dispositif est par exemple sécurisé. Par exemple, le dispositif comporte des moyens aptes à le protéger contre des attaques visant à obtenir frauduleusement les données secrètes qu'il mémorise (par exemple, une clé cryptographique) telle que les attaques par fautes et/ou par analyse de canaux cachés (en anglais , « side channel attacks »). En particulier, le dispositif est conforme à la norme FIPS ou aux critères communs.30

Claims (15)

  1. REVENDICATIONS1. Procédé de génération, mis en oeuvre par un dispositif électronique, d'une clé privée destinée à être utilisée dans un procédé cryptographique du type RSA-CRT, à partir d'un exposant public e correspondant à un nombre entier strictement positif, ladite clé privée comprenant une pluralité de composantes stockées dans une mémoire dudit dispositif électronique, ledit procédé de génération étant caractérisé en ce qu'il comprend une étape d'instanciation d'une première composante de ladite clé privée audit exposant public e, et en ce que chaque représentation binaire des autres composantes de ladite pluralité de composantes est sans bloc de données prédéterminées de t-bits successifs, avec t>2 bits.
  2. 2. Procédé de génération selon la revendication 1, caractérisé en ce que le procédé de génération comprend en outre : - une étape d'instanciation d'une deuxième composante de ladite clé privée à un premier nombre premier p; - une étape d'instanciation d'une troisième composante de ladite clé privée à un deuxième nombre premier q; - une étape d'instanciation d'une quatrième composante de ladite clé privée à un premier exposant privé dp = d mod p-1 = e--1 mod p-1 où d correspond à un exposant privé dans un procédé cryptographique RSA vérifiant une équation d = e--1 mod (p-1)(q- /), où e est ledit exposant public ; et - une étape d'instanciation d'une cinquième composante de ladite clé privée à un deuxième exposant privé dg = d mod q-1 = e-/ mod q-1.
  3. 3. Procédé de génération selon la revendication 1, caractérisé en ce que le procédé de génération comprend en outre : - une étape d'instanciation d'une deuxième composante de ladite clé privée à un premier nombre premier p; - une étape d'instanciation d'une troisième composante de ladite clé privée à un deuxième nombre premier q; - une étape d'instanciation d'une quatrième composante de ladite clé privée à un exposant privé d vérifiant une équation d = e--1 mod (p-1)(q-1), où e est ledit exposant public.
  4. 4. Procédé de génération selon la revendication 1, caractérisé en ce que le procédé de génération comprend en outre : - une étape d'instanciation d'une deuxième composante de ladite clé privée à un premier nombre premier p; - une étape d'instanciation d'une troisième composante de ladite clé privée à un modulus étant un produit dudit premier nombre premier p avec un autre nombre premier q; - une étape d'instanciation d'une quatrième composante de ladite clé privée à un exposant privé d vérifiant une équation d = e-1 mod (p-1)(q-1), où e est ledit exposant public.
  5. 5. Procédé de génération selon l'une quelconque des revendications 2 à 4, caractérisé en ce que ladite clé privée comprend uniquement les composantes mentionnées.
  6. 6. Procédé de génération selon l'une quelconque des revendications 2 à 5, caractérisé en ce qu'il comprend en outre une étape de détermination d'au moins un desdits nombres premiers.
  7. 7. Procédé de traitement cryptographique du type RSA-CRT, mis en oeuvre par un dispositif électronique, et appliqué à un message m, ledit procédé étant caractérisé en ce qu'il comprend : - une étape d'obtention d'une clé privée comprenant une composante correspondant à un exposant public e; - une étape de détermination d'au moins deux nombres v1 et v2 qui sont définis par les équations suivantes : v1= (qe.m)^(dp-1).m.e2 mod p et v2 = (pe.m)^(dq-1).m.pe-2 mod q, où les nombres q et p sont des nombres premiers obtenus à partir d'au moins une composante de ladite clé privée, et - une étape de combinaison desdites au moins deux nombres v1 et v2 délivrant un résultat conforme à un traitement cryptographique du type RSA-CRT.
  8. 8. Procédé de traitement cryptographique selon la revendication 7, caractérisé en ce que, ladite étape de combinaison desdites au moins deux nombres v1 et v2 comprend une étape de détermination d'un nombre r = pvl + qv2 mod N, où N correspond au produit desdits deux nombres premiers p et q.
  9. 9. Procédé de traitement cryptographique selon l'une quelconque des revendications 7 et 8, caractérisé en ce qu'il comprend une étape de détection d'une attaque par injection de fautes en fonction d'une combinaison dudit résultat, dudit exposant public e et dudit message m.
  10. 10. Procédé de traitement cryptographique selon la revendication 9, caractérisé en ce que ladite étape de détection comprend : - une étape de détermination d'une exponentiation modulaire dudit résultat à une puissance égale audit exposant public, ladite étape de détermination délivrant un nombre m' ; - une étape de comparaison dudit nombre m' et dudit message m, ladite étape de comparaison délivrant une information significative de la détection d'une attaque par injection de fautes en cas de différence entre ledit nombre m' et ledit message m.
  11. 11. Procédé de traitement cryptographique selon l'une quelconque des revendications 7 à 10, caractérisé en ce que ladite clé privée comprenant une composante correspondant à un exposant public e est générée selon un procédé de génération selon l'une quelconque des revendications 1 à 6.
  12. 12. Produit programme d'ordinateur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 6 et/ou le procédé selon au moins une des revendications 7 à 11, lorsque ledit programme est exécuté sur un ordinateur.
  13. 13. Médium de stockage lisible par ordinateur et non transitoire, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur ou un processeur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 6 et/ou le procédé selon au moins une des revendications 7 à 11.
  14. 14. Dispositif électronique permettant de générer une clé privée destinée à être utilisée dans un procédé cryptographique du type RSA-CRT, à partir d'un exposant public e correspondant à un nombre entier strictement positif, ladite clé privée comprenant une pluralité de composantes stockées dans une mémoire dudit dispositif électronique, ledit dispositif étant caractérisé en ce qu'il comprend des moyens d'instanciation d'une première composante de ladite clé privée audit exposant public e, et en ce que chaque représentation binaire des autres composantes de ladite pluralitéde composantes est sans bloc de données prédéterminées de t-bits successifs, avec t>2 bits.
  15. 15. Dispositif électronique apte à réaliser un traitement cryptographique du type RSA-CRT, appliqué à un message m, ledit dispositif électronique étant caractérisé en ce qu'il comprend : - des moyens d'obtention d'une clé privée comprenant une composante correspondant à un exposant public e; - des moyens de détermination d'au moins deux nombres 1/1 et 1/2 qui sont définis par les équations suivantes :1/1 = (qe.m)^(dp-1).m.e2 mod p et 1/2 = (pe.m)^(dq-1).m.pe-2 mod q, où les nombres q et p sont des nombres premiers obtenus à partir d'au moins une composante de ladite clé privée, et - des moyens de combinaison desdites au moins deux nombres 1/1 et 1/2 délivrant un résultat conforme à un traitement cryptographique du type RSA-CRT.15
FR1352948A 2013-03-29 2013-03-29 Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt Active FR3004043B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1352948A FR3004043B1 (fr) 2013-03-29 2013-03-29 Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt
FR1362483A FR3004042A1 (fr) 2013-03-29 2013-12-12 Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1352948 2013-03-29
FR1352948A FR3004043B1 (fr) 2013-03-29 2013-03-29 Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt

Publications (2)

Publication Number Publication Date
FR3004043A1 true FR3004043A1 (fr) 2014-10-03
FR3004043B1 FR3004043B1 (fr) 2018-06-01

Family

ID=49111313

Family Applications (2)

Application Number Title Priority Date Filing Date
FR1352948A Active FR3004043B1 (fr) 2013-03-29 2013-03-29 Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt
FR1362483A Pending FR3004042A1 (fr) 2013-03-29 2013-12-12 Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt

Family Applications After (1)

Application Number Title Priority Date Filing Date
FR1362483A Pending FR3004042A1 (fr) 2013-03-29 2013-12-12 Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt

Country Status (1)

Country Link
FR (2) FR3004043B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3929726A1 (fr) * 2020-06-26 2021-12-29 IDEMIA France Procede de traitement cryptographique,dispositif electronique et programme d'ordinateur associes

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055128B (zh) * 2017-12-18 2021-11-19 数安时代科技股份有限公司 Rsa密钥的生成方法、装置、存储介质及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARC JOYE: "Protecting RSA against Fault Attacks: The Embedding Method", FAULT DIAGNOSIS AND TOLERANCE IN CRYPTOGRAPHY (FDTC), 2009 WORKSHOP ON, IEEE, PISCATAWAY, NJ, USA, 6 September 2009 (2009-09-06), pages 41 - 45, XP031627635, ISBN: 978-1-4244-4972-9 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3929726A1 (fr) * 2020-06-26 2021-12-29 IDEMIA France Procede de traitement cryptographique,dispositif electronique et programme d'ordinateur associes
FR3112003A1 (fr) * 2020-06-26 2021-12-31 Idemia France Procede de traitement cryptographique, dispositif electronique et programme d'ordinateur associes
US11973866B2 (en) 2020-06-26 2024-04-30 Idemia France Cryptographic processing method, related electronic device and computer program

Also Published As

Publication number Publication date
FR3004042A1 (fr) 2014-10-03
FR3004043B1 (fr) 2018-06-01

Similar Documents

Publication Publication Date Title
EP2256987B1 (fr) Protection d'une génération de nombres premiers pour algorithme RSA
EP2296086B1 (fr) Protection d'une génération de nombres premiers contre des attaques par canaux cachés
EP2706455B1 (fr) Procédé de test de la sécurité d'un dispositif électronique vis-à-vis d'une attaque, et diispositif électronique mettant en oeuvre des contre-mesures
EP1151576A1 (fr) Procede cryptographique a cles publique et privee
FR3015080A1 (fr) Verification d'integrite de paire de cles cryptographiques
WO2005022820A1 (fr) Procede pour la mise en oeuvre securisee d'un algorithme de cryptographie de type rsa et composant correspondant
WO2007006810A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe
EP2572470A1 (fr) Procédé d'obtention de clés de chiffrement, terminal, serveur, et produits programmes d'ordinateurs corresupondants.
EP2284690A2 (fr) Brouillage d'un calcul effectué selon un algorithme RSA-CRT
EP2800299A1 (fr) Procédé de validation d'un paramètre cryptographique et dispositif correspondant
FR3004043A1 (fr) Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt
EP3136283B1 (fr) Dispositif et procédé sécurisation de commandes échangées entre un terminal et circuit intégré
FR2834153A1 (fr) Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
EP3482524B1 (fr) Procédé de génération des paramètres caractérisant un protocole cryptographique
EP1520370A1 (fr) Procede et dispositifs cryptographiques permettant d alleger les calculs au cours de transactions
FR3015076A1 (fr) Generation de cles cryptographiques
FR3088452A1 (fr) Procede de verification d'integrite d'une paire de cles cryptographiques et dispositif cryptographique
FR2994608A1 (fr) Procede de traitement cryptographique comprenant un acces securise a une pluralite de tables de substitution, dispositifs et produit programme d'ordinateur correspondants.
EP3729720A1 (fr) Procédé cryptographique de signature de groupe
FR2986883A1 (fr) Procede de generation securise d'un nombre premier, produit programme d'ordinateur et composant electronique correspondants
WO2015132524A2 (fr) Génération de message pour test de génération de clés cryptographiques
EP2544398B1 (fr) Procédé de calcul de fonctions d'encodage dans une coubre elliptique et coprocesseur cryptographique correspondant
FR2985128A1 (fr) Procede de determination de la valeur de u = 2^r mod n, avec 2^r > r ou r est une constante de montgomery.
FR2997772A1 (fr) Procede de comparaison de donnees, produit programme d'ordinateur et dispositif correspondants
FR3013476A1 (fr) Securisation de procede de cryptographie sur courbes elliptiques

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20181009

PLFP Fee payment

Year of fee payment: 8

CA Change of address

Effective date: 20200826

CJ Change in legal form

Effective date: 20200826

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12