WO2015132524A2 - Génération de message pour test de génération de clés cryptographiques - Google Patents

Génération de message pour test de génération de clés cryptographiques Download PDF

Info

Publication number
WO2015132524A2
WO2015132524A2 PCT/FR2015/050513 FR2015050513W WO2015132524A2 WO 2015132524 A2 WO2015132524 A2 WO 2015132524A2 FR 2015050513 W FR2015050513 W FR 2015050513W WO 2015132524 A2 WO2015132524 A2 WO 2015132524A2
Authority
WO
WIPO (PCT)
Prior art keywords
test
mod
message
integers
generator
Prior art date
Application number
PCT/FR2015/050513
Other languages
English (en)
Other versions
WO2015132524A3 (fr
Inventor
Alberto Battistello
Christophe Giraud
Guillaume Dabosville
Laurie Genelle
Original Assignee
Oberthur Technologies
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 filed Critical Oberthur Technologies
Priority to US15/122,822 priority Critical patent/US9992016B2/en
Publication of WO2015132524A2 publication Critical patent/WO2015132524A2/fr
Publication of WO2015132524A3 publication Critical patent/WO2015132524A3/fr

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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
    • 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
    • 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/7204Prime number generation or prime number testing
    • 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

Definitions

  • the present invention relates to the field of computer security. It relates more particularly to securing cryptographic processes implementing public and private key pairs.
  • the public key is shared in clear by the cryptographic system with the recipient systems of the message processed while the private key is kept secret.
  • the key pair is obtained in the following manner.
  • a probabilistic primality test which may be Miller-Rabin in accordance with FIPS 140-2
  • the public key is then formed by the numbers n and e, with e, the "public exponent", being an integer such that: - 1 ⁇ e ⁇ (n), and
  • the private key is formed by the numbers n and d, with d, the "private exponent", being an integer such that:
  • the present invention falls within this framework.
  • a first aspect of the invention relates to a method for generating a message m of order ⁇ (n), where ⁇ (n) is the smallest common multiple between p-1 and q-1, p and q being two numbers.
  • the method comprising: a step of generating said public and private cryptographic key pair, said step comprising, for generating the numbers p and q: o a random draw (200, 202) of candidate integers, and o a primality test (201, 203) of said integers candidates a first step (304) of searching for a generator a of the multiplicative group of integers modulo p, zero being excluded,
  • a method according to the first aspect generates messages that make the key pair generation integrity tests robust.
  • a method according to the first aspect makes it possible to generate messages whose order makes it easier to detect the generation anomalies of key pairs.
  • said test comprises the following steps:
  • s is the number of low-order bits (at "0") of w-1.
  • the method may further comprise a testing step to verify if a vec said checking being effected for a
  • said verification is performed for a set of prime divisors q of w - 1.
  • the value a (w-1) / q is calculated by modular exponentiation.
  • the method may further include initializing said modular exponentiation with an initial variable calculated from the prime factorization of the number w-1.
  • said test is performed according to a probabilistic algorithm.
  • a second aspect of the invention relates to a method for testing the security of an electronic device vis-à-vis an attack, said device implementing a generation of a public cryptographic key e and a cryptographic key deprived of an attack.
  • n the multiplicative group of integers modulo n, such as:
  • n p.q, with p and q being prime numbers
  • a method according to the second aspect makes it possible to test electronic devices implementing a key pair generation, in checking their reaction to the disturbance of the calculation of the least common multiple.
  • a method according to the second aspect may be implemented in the industrial process of testing electronic devices implementing a cryptographic key generation, for example in a test laboratory.
  • Said disturbance step may make it possible to update a vulnerability in the resistance to an erroneous calculation of the value ⁇ (n).
  • the value ⁇ '(n) is calculated on a third-party device and supplied to the device under test.
  • the value ⁇ '(n) is calculated on the device tested and obtained by disturbing the calculation of the value ⁇ (n).
  • a third aspect of the invention relates to a computer program as well as a computer program product and a storage medium for such programs and product, allowing the implementation of a method according to the first or second aspect.
  • the program is loaded and executed by a processor of an electronic device, for example a cryptographic device.
  • a fourth aspect relates to an electronic device, for example a cryptographic device, configured to implement a method according to the first or second aspect.
  • a device is a portable electronic entity.
  • the device according to the third aspect may be a smart card.
  • FIG. 1 illustrates a key generation integrity test method
  • FIG. 2 illustrates a message generation method for a key generation integrity test
  • FIG. 3 illustrates a method for determining a generator of a multiplicative group
  • FIG. 4 schematically illustrates a device according to embodiments.
  • a public cryptographic key (e, n) and a private cryptographic key (d, n) are generated such as:
  • n p.q, with p and q being prime numbers
  • Certain unhealthy key pairs may pass the integrity tests as described above or other tests of the prior art.
  • the number of can be generated by error if the calculation of the least common multiple of p-1 and q-1 (which should normally give ⁇ (n)) is tainted by an error.
  • the private exponent is the inverse of the public exponent in the ring Z t (p - i) instead of the ring ⁇ ⁇ (n) .
  • a multiple of the factor p can thus be obtained as (m d ) e - m mod n.
  • An attacker can thus disrupt key generation and request the signing of random messages.
  • the signature s obtained is such that gcd (s e - m, n) gives a factor of n.
  • the inventors have noticed that the integrity tests currently used may not detect certain key pair generation errors, especially during attacks as mentioned above.
  • An attacker can cause errors in the calculation of the private exponent by observation by auxiliary channel of the operation of the device implementing the key generation and then by physical attack of the device to disrupt this operation.
  • the attacker may for example use lasers to disrupt the device or disrupt the power supply thereof.
  • Integrity tests can be implemented during key generation.
  • the detection of an erroneous key is sensitive to the value of the order of the message m used for the test. If the order s of the message m divides k. ⁇ (n) / ⁇ (k is an integer and divides ⁇ (n)) the error is not detected.
  • the messages of order ⁇ ( ⁇ ) are good candidates.
  • the generators a and b additive groups of integers modulo p (0 being excluded) and integers modulo q (0 being excluded).
  • the generator a is computed during the primality test for the integer p, and the generator b is computed for the integer q.
  • a number ⁇ is calculated during step 205, as
  • the number ⁇ thus calculated is then used (step 206) as a message for the integrity test of the cryptographic keys generated from p and q.
  • the Gauss algorithm (referenced 2.121 in the aforementioned document) can be used.
  • the cryptographic keys can be generated in a process (not shown) in which the public key is generated with the calculation of the public exponent e such that:
  • the search for the generators a and b as proposed in the prior art, particularly in the aforementioned document, requires the factorization of the integers p-1 and q-1.
  • the integers p and q are generally strong integers, that is to say that the integers p-1 and q-1 each have a large divisor (for example of the order of 160 bits).
  • FIPS 180-3 and ANSI X9.31 generate p and q such that p-1, p + 1, q-1 and q + 1 are divisible by a large prime number. Thus, it is unrealistic to use the methods of the prior art.
  • the test of primality can for example be a probabilistic test (for example of the Miller-Rabin type).
  • step 301 it is selected an integer c, such that from this integer, a number is calculated during the step
  • this number is chosen as the generator of the multiplicative group of integers modulo w (0 being excluded). It can thus be the number a for the multiplicative group and / or the number b for the multiplicative group
  • An algorithm for generating the generators a and b is given in Appendix A. It is based on the Miller-Rabin algorithm. The algorithm illustrates the search for the generator a, which can be transposed in search of the generator b.
  • a variable y is initialized with the value a r mod w. The value is then iteratively calculated by squaring the variable y at each step j, with
  • the multiplicative group of integers modulo p (0 being excluded) has a
  • the probability that the algorithm returns a generator of (p being prime) is ⁇ ( ⁇ ( ⁇ )) / ⁇ ( ⁇ ), i.e. ⁇ ( ⁇ -1) / ( ⁇ -1).
  • the iterative loop being repeated t times, the probability of finding a generator among the t random executions is t. ⁇ ( ⁇ -1) / (p-1).
  • the generator search algorithm can find "false positives", that is to say elements of the multiplicative group integers modulo w (0 being excluded) which are not actually generators.
  • - g P is a generator of the subgroup G included in the multiplicative group of integers modulo p (0 being excluded) of order , while not being a generator of than
  • - g q is a generator of the subgroup G 'included in the multiplicative group of integers modulo q (0 being excluded) of order
  • - g is the Gaussian recombination of g P and g q , which is an element of of lcm (o (g p ), o (g q )).
  • Appendix B an algorithm, also based on that of Miller-Rabin, using such values of a.
  • the algorithm presented in Appendix B uses the following property (property referenced 4.38 in the document cited above).
  • w is an integer greater than or equal to 3
  • the Miller-Rabin algorithm can be modified so as to calculate and store the intermediate value y 0 to avoid calculating two exponentiations expensive, namely,
  • the primality test used for the generation of cryptographic keys is modified to allow the generation of messages of maximum order in addition to the keys which make it possible to optimize the verification of integrity.
  • the keys are thus correctly generated with a reduced error rate because the integrity tests are reinforced.
  • FIG. 4 schematically illustrates a device according to embodiments.
  • the device 40 of FIG. 4 comprises a memory unit 41
  • This memory unit comprises a random access memory for storing in an unsustainable manner calculation data used during the implementation of a method according to the invention, according to various embodiments.
  • the memory unit furthermore comprises a non-volatile memory (for example of the EEPROM type) for storing, for example, a computer program, according to one embodiment, for its execution by a processor (not shown) of a memory unit. processing 41 (PROC) of the device.
  • PROC processing 41
  • the device further comprises a communication unit 43 (COM), for example for exchanging data with another device according to embodiments.
  • COM communication unit 43
  • Data exchanges between devices can be done according to the APDU protocol, acronym for "Application Protocol Data Unit", as defined in ISO 7816 part 4.
  • the communication unit may thus include an input / output interface capable of exchanging according to this protocol.
  • the data exchanged can be done by APDU commands and responses to this type of commands.
  • a device according to embodiments may be in accordance with ISO7816. It can for example be a smart card or a secure element. A device according to embodiments is for example an integrated circuit.

Landscapes

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

Abstract

Génération d'un message m d'ordre λ(n), pour un test d'intégrité de génération de paire de clés cryptographiques dans le groupe multiplicatif des entiers modulo n = p.q, comportant: - la génération de paire de clés avec, pour générer p et q : o un tirage aléatoire d'entiers candidats, et o un test de primalité, - une première recherche d'un générateur a du groupe multiplicatif des entiers modulo p, - une deuxième recherche d'un générateur b du groupe multiplicatif des entiers modulo q, - une troisième recherche d'un nombre y, en tant que message m, vérifiant : 1 ≤ γ ≤ n − 1 avec γ=a mod p et γ=b mod q, la première ou la deuxième recherche étant réalisée lors dudit test de primalité.

Description

TITRE de L'INVENTION
« Génération de message pour test de génération de clés cryptographiques »
DESCRIPTION
La présente invention concerne le domaine de la sécurité informatique. Elle concerne plus particulièrement la sécurisation des procédés cryptographiques mettant en œuvre des paires de clés publiques et privées.
Certains systèmes cryptographiques mettant en œuvre des procédés comme par exemple la signature numérique d'un message ou son chiffrement, nécessitent la génération de paires de clés cryptographiques. La clé publique est partagée en clair par le système cryptographique avec les systèmes destinataires du message traité alors que la clé privée est gardée secrète.
La génération des paires de clés publiques et privées étant une opération sensible, des mécanismes de test sont usuellement prévus pour vérifier leur intégrité. Par exemple, la norme américaine FIPS 140-2 publiée par le NIST
(sigle de « National Institute of Standards and Technology ») prévoit un tel test (intitulé « pair-wise consistency test »).
Dans le cas de procédés cryptographiques de type RSA (sigle de « Rivest Shamir Adelman »), la paire de clés est obtenue de la manière suivante.
Pour obtenir p et q, deux grands nombres premiers, on répète les deux étapes suivantes :
- obtention de deux nombres p et q candidats à partir de nombres tirés au hasard dans l'ensemble Zn du groupe multiplicatif des entiers modulo n, et - test de la primalité des p et q candidats (par exemple selon un test de primalité probabiliste, qui peut être de type Miller-Rabin, conformément à la norme FIPS 140-2), jusqu'à obtenir un nombre premier.
Le produit des nombres p et q forme ainsi un nombre n (n=p.q). Ensuite, le nombre Φ(n) = (p-1 ).(q-1 ) est calculé (Φ étant la fonction indicatrice d'Euler, ou « totient » en terminologie anglo-saxonne).
La clé publique est ensuite formée par les nombres n et e, avec e, « l'exposant public », étant un entier tel que : - 1 < e < Φ(n), et
- e et Φ (n) sont premiers entre eux (gcd(e, Φ(n))=1 , « gcd » étant le sigle de « greatest common divisor » (c'est-à-dire le plus grand commun diviseur).
La clé privée est quant à elle formée par les nombres n et d, avec d, « l'exposant privé », étant un entier tel que :
- d.e = 1 mod λ(η), avec
- λ(n) étant le plus petit commun multiple entre p-1 et q-1 (λ(n)=lcm(p-1 , q-1 ), « Icm » étant le sigle de « least common multiplier » c'est-à-dire plus petit commun multiple en anglais). Lorsque le procédé cryptographique est un chiffrement d'un message m (m appartenant à Zn), le test d'intégrité prévu par la norme FIPS 140-2 peut se résumer comme suit :
1 ) le message m est chiffré avec la clé publique en sorte à obtenir un message chiffré c = me mod n, 2) le message chiffré c est déchiffré avec la clé privée en sorte à obtenir un message déchiffré m' = cd mod n, et
3) il est vérifié que le message initial m et le message déchiffré sont les mêmes (m' = m).
Lorsque le procédé cryptographique est une signature d'un message m (m appartenant à Zn), le test d'intégrité prévu par la norme FIPS 140-2 peut se résumer comme suit : 1 ) le message m est signé avec la clé privée en sorte à obtenir une signature s = (m)d mod n, (ou éventuellement s = (H(m))d, H étant une fonction de hashage,
2) une valeur h' est calculée comme h' = se mod n, et 3) il est vérifié que la valeur h' ainsi calculée et le message m sont les mêmes (ou éventuellement que le la valeur h' et le condensât du message par la fonction de hashage sont les mêmes (h' = H(m)).
Les inventeurs ont toutefois remarqué que les tests d'intégrité actuellement utilisés pouvaient ne pas détecter certaines erreurs de génération de paires de clés.
Ils ont ainsi mis à jour un besoin pour améliorer la fiabilité des procédés de vérification d'intégrité de génération de paires de clés dans les systèmes cryptographiques. La présente invention s'inscrit dans ce cadre.
Un premier aspect de l'invention concerne un procédé de génération d'un message m d'ordre λ(n), λ(n) étant le plus petit commun multiple entre p-1 et q-1 , p et q étant deux nombres premiers, pour son utilisation dans un test d'intégrité de génération de paire de clés cryptographiques publique et privée dans le groupe multiplicatif des entiers modulo n, avec n étant le produit des deux nombres premiers p et q, le procédé comportant: une étape de génération de ladite paire de clés cryptographiques publique et privée, ladite étape comportant, pour générer les nombres p et q : o un tirage aléatoire (200, 202) d'entiers candidats, et o un test de primalité (201 , 203) desdits entiers candidats, - une première étape (304) de recherche d'un générateur a du groupe multiplicatif des entiers modulo p, zéro étant exclu,
- une deuxième étape (304) de recherche d'un générateur b du groupe multiplicatif des entiers modulo q, zéro étant exclu, - une troisième étape (205) de recherche d'un nombre γ, en tant que message m, vérifiant :
Figure imgf000006_0001
Figure imgf000006_0002
caractérisé en ce qu'au moins une desdites première et deuxième étapes de recherche est réalisée lors dudit test de primalité. Un procédé selon le premier aspect permet de générer des messages rendant les tests d'intégrité de génération de paires de clé pus robuste.
En particulier, un procédé selon le premier aspect permet de générer des messages dont l'ordre permet de détecter plus facilement les anomalies de génération de paires de clés.
Par exemple, ledit test comporte les étapes suivantes:
- de détermination d'un entier candidat w vérifiant w - 1 = 2sr, s étant un entier et r étant un entier impair,
- de sélection d'un générateur candidat c tel que
Figure imgf000006_0004
- de calcul du nombre et
Figure imgf000006_0003
- comparaison dudit nombre y avec le nombre w - 1 , et
- sélection dudit nombre c en tant que générateur du groupe multiplicatif des entiers modulo w, zéro étant exclu, si y≡ w - 1 mod w. Par exemple, s est le nombre de bits de poids faible (à « 0 ») de w-1 .
Par exemple, s est la plus grande puissance de 2 qui divise w-1 . Le procédé peut en outre comporter une étape de test pour vérifier si avec ladite vérification étant opérée pour un
Figure imgf000007_0001
Figure imgf000007_0002
ensemble de diviseurs q de w - 1 .
Par exemple, ladite vérification est opérée pour un ensemble de diviseurs premiers q de w - 1 .
Par exemple, pour lesdits diviseurs q, la valeur a(w-1 )/q est calculée par exponentiation modulaire.
Le procédé peut en outre comporter une initialisation de ladite exponentiation modulaire avec une variable initiale calculée à partir de la factorisation en nombres premiers du nombre w-1 .
Par exemple, ledit test est réalisé selon un algorithme probabiliste.
Un deuxième aspect de l'invention concerne un procédé de test de sécurité d'un dispositif électronique vis-à-vis d'une attaque, le dit dispositif mettant en œuvre une génération d'une clé cryptographique publique e et une clé cryptographique privée d dans le groupe multiplicatif des entiers modulo n, telles que :
- n = p.q, avec p et q étant des nombres premiers,
- 1 < e < Φ(n), avec e et Φ (n) étant premiers entre eux et Φ(n) = (p-
1 ).(q-1 ), et - d.e = 1 mod λ(n), λ(n) étant le plus petit commun multiple entre p-
1 et q-1 ,
Le procédé comporte une étape d'obtention d'une valeur λ'(n) = λ(n)/α, avec a divisant λ(n), en lieu et place de la valeur λ(n), une clé privée d' étant ainsi calculée, en lieu et place de la clé privée d, telle que d'.e = 1 mod λ(n)/α.
Un procédé selon le deuxième aspect permet de tester des dispositifs électroniques mettant en œuvre une génération de paires de clés, en vérifiant leur réaction vis-à-vis de la perturbation du calcul du plus petit commun multiple.
Un procédé selon le deuxième aspect peut être mise en œuvre dans le processus industriel de test des dispositifs électroniques mettant en œuvre une génération de clé cryptographiques, par exemple en laboratoire de test. Ladite étape de perturbation peut permettre de mettre à jour une vulnérabilité dans la résistance à un calcul erroné de la valeur λ(n).
Par exemple, la valeur λ'(n) est calculée sur un dispositif tiers et fournie au dispositif testé. Par exemple encore, la valeur λ'(n) est calculée sur le dispositif testé et obtenue par perturbation du calcul de la valeur λ(n).
Un troisième aspect de l'invention concerne un programme d'ordinateur ainsi qu'un produit programme d'ordinateur et un support de stockage pour de tels programmes et produit, permettant la mise en œuvre d'un procédé selon le premier ou le deuxième aspect lorsque le programme est chargé et exécuté par un processeur d'un dispositif électronique, par exemple un dispositif cryptographique.
Un quatrième aspect concerne un dispositif électronique, par exemple un dispositif cryptographique, configuré pour la mise en œuvre d'un procédé selon le premier ou le deuxième aspect.
Par exemple, un dispositif selon le quatrième aspect est une entité électronique portable.
Le dispositif selon le troisième aspect peut être une carte à puce.
D'autres types de dispositifs peuvent être envisagés, notamment les documents de sécurité (passeport électronique, cartes d'identité électronique ou autre), les clés USB, les téléphones mobiles ou « smartphones ». D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, au regard des dessins annexés dans lesquels:
- la figure 1 illustre un procédé de test d'intégrité de génération de clés ;
- la figure 2 illustre un procédé de génération de message pour un test d'intégrité de génération de clés;
- la figure 3 illustre un procédé de détermination d'un générateur d'un groupe multiplicatif ;
- la figure 4 illustre schématiquement un dispositif selon des modes de réalisation.
Dans la suite, des modes de réalisation sont décrits. Cependant, de manière liminaire, il est décrit un procédé de test d'intégrité de génération de paires de clés cryptographiques. Ce procédé de test peut être utilisé pour des clés cryptographiques utilisées dans des mécanismes de chiffrement et/ou de signature numérique. Ainsi, ce procédé peut être utilisé avant même de connaître l'usage ultérieur de la paire de clés générée.
On suppose qu'une clé cryptographique publique (e, n) et une clé cryptographique privée (d, n) sont générées telles que :
- n=p.q, avec p et q étant des nombres premiers,
- 1 < e < Φ(n) et e et Φ (n) sont premiers entre eux (gcd(e, Φ(n))=1 ), avec Φ(n) = (p-1 ).(q-1 ) (Φ étant la fonction indicatrice d'Euler, ou « totient » en terminologie anglo-saxonne), et
- d.e = 1 mod λ(n), λ(η) étant le plus petit commun multiple entre p- 1 et q-1 (λ(n)=lcm(p-1 , q-1 )).
Ensuite, comme illustré par la figure 1 , lors d'une première étape 100 un message m (m appartenant à Zn, le groupe multiplicatif des entiers modulo n), est chiffré avec l'exposant publique e en sorte à obtenir un premier message chiffré c = me mod n. Ensuite, lors de l'étape 102, le message chiffré c est déchiffré avec la clé privée d en sorte à obtenir un message déchiffré m' = cd mod n. II est ensuite vérifié, lors d'une étape 103, si le message initial m et le message déchiffré sont les mêmes (m' = m). Si ce n'est pas le cas (NOK), il est déterminé lors de l'étape 104 que la paire de clé générée n'est pas intègre. Si par contre le message initial m et le message déchiffré sont les mêmes (OK), le message déchiffré m' est chiffré, lors d'une étape 105, avec l'exposant public e en sorte à obtenir un deuxième message chiffré c' = (m')e mod n.
Il est ensuite vérifié, lors d'une étape 106, si le premier message chiffré c et le deuxième message chiffré c' sont les mêmes (c' = c). Si tel est le cas (OK), il est déterminé lors de l'étape 107 que le test d'intégrité est réussi. Sinon (NOK), il est déterminé, lors de l'étape 108, que la paire de clé générée n'est pas intègre.
Certaines paires de clés non intègres peuvent passer avec succès les tests d'intégrités comme celui décrit ci-dessus ou d'autres tests de l'art antérieur.
Par exemple, si, au lieu de générer l'exposant privé d, il est généré un nombre d' tel que :
- d'.e = 1 mod λ(n)/α,
- 1 < α,
- a divise λ(n), il peut arriver que pour des messages, la paire de clés avec les nombres d' et e passe le test avec succès alors qu'une erreur s'est produite sur l'exposant privé d.
En plus d'être une source d'erreurs pour un système cryptographique utilisant les clés, cela peut être une source d'attaques par des tiers malveillants. Par exemple, le nombre d' peut être généré par erreur si le calcul du plus petit commun multiple de p-1 et q-1 (qui doit normalement donner λ(n)) est entaché d'une erreur. Le nombre d' peut être calculé par mise en œuvre de l'algorithme d'Euclide. Les entiers a et b sont calculés en sorte que e.a + b. λ(n)/α = 1 (relation de Bezout). Le nombre d' est alors obtenu comme d' = a mod λ(n)/α. Dans ces conditions, on a bien d'.e = 1 mod λ(n)/α.
En provoquant la détermination du nombre d' au lieu du nombre d, un attaquant peut ainsi retrouver l'un des facteurs secrets (p et q) du nombre n tel que n = p.q. En effet, supposons que l'entier a divise le nombre sans pour
Figure imgf000011_0002
autant diviser le nombre alors en notant t le nombre tel que
Figure imgf000011_0001
Figure imgf000011_0003
on obtient d = e-1 mod t.(p-1 ).
Ainsi, l'exposant privé est l'inverse de l'exposant public dans l'anneau Zt.(p--i ) au lieu de l'anneau Ζλ(n). Pour un message aléatoire m, on a alors :
(md)e = m mod n, mais on a aussi
(md)e = m mod p.
Un multiple du facteur p peut ainsi être obtenu comme (md)e - m mod n. Un attaquant peut ainsi perturber la génération de clés et demander la signature de messages aléatoires. Pour certains messages m, la signature s obtenu est telle que gcd(se - m,n) donne un facteur de n.
Supposons que le plus petit commun multiple de p-1 et q-1 est calculé comme suit, avec gcd(P-1 , q-1 ) étant le plus grand commun diviseur
Figure imgf000011_0004
de p-1 et q-1 . Si le calcul de ce plus grand commun diviseur donne a. gcd(p-1 , q-1 ) (le produit de a par gcd(p-1 , q-1 )) au lieu de gcd(p-1 , q-1 ), on calcule d' au lieu de calculer d.
Les inventeurs ont remarqué que les tests d'intégrité actuellement utilisés pouvaient ne pas détecter certaines erreurs de génération de paires de clés, notamment lors d'attaques telle qu'évoquées ci-dessus.
Un attaquant peut provoquer des erreurs dans le calcul de l'exposant privé par observation par canal auxiliaire du fonctionnement du dispositif mettant en œuvre la génération de clé puis par attaque physique du dispositif pour perturber ce fonctionnement. L'attaquant peut par exemple utiliser des lasers pour perturber le dispositif ou encore perturber l'alimentation électrique de celui-ci.
A titre d'illustration, si une erreur a (telle qu'évoquée ci-dessus) est introduite de sorte que le nombre a divise la valeur k.λ(n)/α (k étant un entier), et que le nombre d' est déterminé à la place du nombre d tel que d'.e = 1 + k.λ(n)/α alors un test d'intégrité tel que par exemple défini dans la norme FIPS 140-2 exécuté sur un message m d'ordre s ne permet pas de détecter l'erreur si s divise k.λ(n)/α, alors qu'il permet de la détecter si s ne divise pas k.λ(n)/α. On rappelle que l'ordre s du message m dans le groupe multiplicatif est le nombre de fois qu'il faut multiplier le message m pour obtenir 1 . En effet, soient e, p et q des paramètres RSA avec n = p.q. Si d' = e-1 mod λ(n)/α est l'exposant erroné, l'exposant correct étant d = e-1 mod λ(n), si d' est différent de d alors
Figure imgf000012_0002
Par ailleurs, si
La démonstration de ceci est
Figure imgf000012_0001
possible mais n'est pas présentée ici dans un souci de concision. Ci-après, sont décrits des procédés permettant de rendre les tests d'intégrité sensibles à ce type d'erreurs. Les tests d'intégrité peuvent être mis en œuvre lors de la génération des clés.
Comme discuté ci-avant, en référence à la Figure 1 , la détection d'une clé erronée est sensible à la valeur de l'ordre du message m utilisé pour le test. Si l'ordre s du message m divise k.λ(n)/α (k est un entier et a divise λ(n)) l'erreur n'est pas détectée.
Il est alors avantageux de générer des messages dont l'ordre permet la détection de l'erreur, en particulier les messages dont l'ordre ne divise pas k.λ(n)/α.
Par exemple, les messages d'ordre λ(η) sont de bons candidats.
Dans la suite, en référence à la figure 2, il est décrit un procédé de génération de messages d'ordre λ(η) pour leur utilisation dans des procédés de test d'intégrité. Ce procédé est basé sur l'algorithme décrit dans le document Menenzes et al. « Handbook of Applied Cryptography » (procédé référencé 4.83 dans ce document).
Lors d'une étape 200, un nombre p est généré aléatoirement. Il est ensuite vérifié lors de l'étape 201 que le nombre p est premier. Si ce n'est pas le cas (NOK), l'étape 200 est répétée. Si p est bien premier (OK), il est généré aléatoirement lors de l'étape 202 un nombre q. Il est ensuite vérifié lors de l'étape 203 que le nombre q est premier. Si ce n'est pas le cas (NOK), l'étape 202 est répétée. Si q est bien premier (OK), il est calculé lors de l'étape 204 le produit n des nombres p et q (n = p.q).
Lors des tests de primalité, les générateurs a et b des groupes additifs des entiers modulo p (0 étant exclu) et des entiers modulo q (0
Figure imgf000013_0003
étant exclu) sont calculés.
Par exemple, le générateur a est calculé lors du test de primalité pour l'entier p, et le générateur b est calculé pour l'entier q.
Ensuite, un nombre γ est calculé lors de l'étape 205, tel que
Figure imgf000013_0002
Figure imgf000013_0001
Le nombre γ ainsi calculé est ensuite utilisé (étape 206) comme message pour le test d'intégrité des clés cryptographiques générées à partir de p et q. Pour calculer le nombre entier γ, l'algorithme de Gauss (référencé 2.121 dans le document précité) peut être utilisé.
Les clés cryptographiques peuvent être générées dans un processus (non représenté) lors duquel, la clé publique est générée avec le calcul de l'exposant public e tel que :
- 1 < e < Φ(n) et
- e et Φ (n) sont premiers entre eux (gcd(e, Φ(n))=1 ), avec Φ(n) = (p-1 ). (q-1 ) (Φ étant la fonction indicatrice d'Euler, ou « totient » en terminologie anglo-saxonne). Lors de ce processus, la clé privée peut être générée avec le calcul du nombre d tel que d.e = 1 mod λ(n), λ(n) étant le plus petit commun multiple en p-1 et q-1 .
La recherche des générateurs a et b telle que proposée dans l'art antérieur, en particulier dans le document précité, nécessite la factorisation des entiers p-1 et q-1 . Or, dans les applications cryptographiques, les entiers p et q sont généralement des nombres entiers forts, c'est-à-dire que les entiers p-1 et q-1 ont chacun un grand diviseur (par exemple de l'ordre de 160 bits). Par exemple, dans les normes FIPS 180-3 et ANSI X9.31 on génère p et q tels que p-1 , p+1 , q-1 et q+1 soient divisibles par un grand nombre premier. Ainsi, il est peu réaliste d'utiliser les méthodes de l'art antérieur.
Avantageusement, il est proposé ici de trouver ces entiers lors du test de primalité effectué lors de la génération des entiers p et q. Il est ainsi possible de trouver les générateurs a et b sachant que les entiers p et q sont des nombres premiers forts. Comme déjà évoqué ci-avant, le test de primalité peut par exemple être un test probabiliste (par exemple du type Miller-Rabin).
Pour calculer les générateurs a et/ou b, le procédé décrit en référence à la figure 3 peut être utilisé. Dans une première étape 300, un entier candidat w, vérifiant w-1 = 2sr-1 est généré.
Ensuite, il est sélectionné, lors de l'étape 301 , un entier c, tel que
Figure imgf000015_0011
Figure imgf000015_0001
à partir de cet entier, il est calculé un nombre lors de l'étape
Figure imgf000015_0002
302.
Ensuite, si ce nombre y est égal à w-1 modulo w (test de l'étape 303), ce nombre est choisi comme générateur du groupe multiplicatif des
Figure imgf000015_0004
entiers modulo w (0 étant exclu). Il peut ainsi s'agir du nombre a pour le groupe multiplicatif et/ou du nombre b pour le groupe multiplicatif
Figure imgf000015_0005
Figure imgf000015_0003
Un algorithme de génération des générateurs a et b est donné en annexe A. Il est basé sur l'algorithme Miller-Rabin. L'algorithme illustre la recherche du générateur a, celui-ci pouvant être transposé à la recherche du générateur b.
Une variable y est initialisée avec la valeur ar mod w. La valeur
Figure imgf000015_0006
est ensuite itérativement calculée par élévation au carré de la variable y à chaque étape j, avec
Figure imgf000015_0007
Si la boucle itérative se termine avec j = s-1 et y = w-1 , alors la base a est probablement un générateur du groupe multiplicatif des entiers modulo
Figure imgf000015_0008
w (0 étant exclu). L'algorithme donné en annexe A, peut délivrer plusieurs générateurs mais retourne toujours le dernier par construction.
Le groupe multiplicatif des entiers modulo p (0 étant exclu) a un
Figure imgf000015_0010
nombre Φ(Φ(ρ)) de générateurs (Φ étant la fonction indicatrice d'Euler, ou « totient »). La probabilité que l'algorithme retourne un générateur de (p
Figure imgf000015_0009
étant premier) est de Φ(Φ(ρ))/Φ(ρ), c'est-à-dire Φ(ρ-1 )/(ρ-1 ). La boucle itérative étant répétée t fois, la probabilité de trouver un générateur parmi les t exécutions aléatoires est de t. Φ(ρ-1 )/(p-1 ). L'algorithme de cherche de générateur peut retrouver des « faux positifs », c'est-à-dire des éléments du groupe multiplicatif
Figure imgf000016_0001
des entiers modulo w (0 étant exclu) qui ne sont en fait pas des générateurs. Cependant, dès lors que α = 2 (on rappelle que a est un diviseur de λ(n) et que l'on recherche des messages dont l'ordre ne divise pas k.λ(n)/α), ces « faux » générateurs peuvent tout de même être utilisés pour détecter les exposants erronés d'.
En effet, supposons que :
- gP est un générateur du sous-groupe G inclus dans le groupe multiplicatif des entiers modulo p (0 étant exclu) d'ordre
Figure imgf000016_0002
Figure imgf000016_0003
, tout en n'étant pas un générateur de
Figure imgf000016_0004
que
- gq est un générateur du sous-groupe G' inclus dans le groupe multiplicatif des entiers modulo q (0 étant exclu) d'ordre
Figure imgf000016_0005
tout en n'étant
Figure imgf000016_0006
pas un générateur de
Figure imgf000016_0007
et que
- g est la recombinaison gaussienne de gP et gq, qui est un élément de
Figure imgf000016_0008
d'odre lcm(o(gp), o(gq)).
Par définition on a :
Figure imgf000016_0009
avec
Figure imgf000016_0010
On a alors aussi :
Figure imgf000017_0001
avec
Figure imgf000017_0004
inférieur ou égal à m, et inférieur
Figure imgf000017_0005
ou égal à m, et i inférieur ou égal à j3.
Dans la suite, on étudie l'effet du test de primalité sur
Figure imgf000017_0006
un tel élément g.
Par définition de l'exposant erroné d', on a : e.d' = 1 + k.λ(n)/α.
Si d' est différent de d (sinon d' serait un exposant correct), a ne divise pas k, donc a divise λ(n). Si a=2, alors
Figure imgf000017_0007
et donc
Figure imgf000017_0002
car l'ordre o(g) de g ne divise pas λ(n)/α). En effet, on a
Figure imgf000017_0003
ce qui implique finalement que
Figure imgf000017_0008
est différent de g modulo n. Cela signifie que le test de primalité rejette la clé générée qui sera considérée comme erronée.
Dans le cas α=2 on peut donc utiliser les générateurs issus de faux positifs de l'algorithme présenté ci-avant. En fait, cela peut être généralisé pour d'autres valeurs de a, par exemple, dans l'ensemble {2,3,5,7}.
Ainsi, il est présenté en Annexe B un algorithme, aussi basé sur celui de Miller-Rabin, utilisant de telles valeurs de a. L'algorithme présenté en Annexe B utilise la propriété suivante (propriété référencée 4.38 dans le document cité ci-avant).
Si w est un entier supérieur ou égal à 3, alors w est un nombre premier si et seulement si il existe un entier satisfaisant : (i) aw-1 = 1 mod w et
(ii)
Figure imgf000018_0001
mod w pour tout diviseur premier q de w-1 .
L'algorithme de l'annexe B est similaire à celui de l'annexe A et rajoute le test de la condition (ii) ci-dessus.
Dans la suite, on décrit la factorisation implicite opérée à la ligne 19 et dans le test de la ligne 21 .
La factorisation de w-1 sur la base T des petits nombres premiers inférieurs à B est un processus connu et disponible dans l'art antérieur, par exemple dans le document Granville, "Smooth numbers: Computational number theory and beyond, Proc. MSRI Conf. Algorithmic Number Theory: Lattices, Number, Fields, Curves, and Cryptography, Berkeley 2000, Cambridge University Press.
Pour le test de la ligne 21 , au lieu de calculer et de tester si
Figure imgf000018_0004
1 mod w pour chaque diviseur q, de w-1 on teste plutôt si
Figure imgf000018_0002
pour Chaque diviseur premier qi de w-1 . On tient ainsi compte du fait que
Figure imgf000018_0003
n'est pas calculé dans l'algorithme Miller- Rabin.
Pour ce même test, il faut calculer des racines modulaires qrèmes pour chaque entier premier qi. Cette opération est assez coûteuse en ressources.
L'algorithme présenté en annexe C permet de transformer un calcul de racine modulaire en une exponentiation modulaire par qi. La valeur
Figure imgf000018_0005
intermédiaire
Figure imgf000019_0001
est calculée à la ligne 2 ce qui permet de calculer plus aisément les valeurs
Figure imgf000019_0002
comme
Figure imgf000019_0003
ce qui ne comporte que des exponentiations modulaires de y0 par un produit de petits entiers premiers.
Afin d'optimiser les calculs, pour la mise en œuvre de l'algorithme de l'annexe C, l'algorithme de Miller-Rabin peut être modifié en sorte à calculer et à stocker la valeur intermédiaire y0 pour éviter de calculer deux exponentiations coûteuses, à savoir,
Figure imgf000019_0004
Un algorithme modifié est présenté en annexe D. Cet algorithme rend un élément g du groupe
Figure imgf000019_0005
dont la factorisation partielle de l'ordre (de l'élément g) sur la base T est la même que la factorisation d'un générateur de
En résumé, le test de primalité utilisé pour la génération des clés cryptographiques est modifié pour permettre la génération de messages d'ordre maximal en plus des clés qui permettent d'optimiser la vérification d'intégrité. Les clés sont ainsi correctement générées avec un taux d'erreur réduit car les tests d'intégrité s'en trouvent renforcés.
Des programmes d'ordinateur pour la mise en œuvre de procédés selon des modes de réalisation de l'invention peuvent être réalisés par la personne du métier à la lecture des figures 1 à 3, des annexes A à D et de la présente description détaillée.
La figure 4 illustre schématiquement un dispositif selon des modes de réalisation. Le dispositif 40 de la figure 4 comporte une unité de mémoire 41
(MEM). Cette unité de mémoire comporte une mémoire vive pour stocker de manière non durable des données de calcul utilisées lors de la mise en œuvre d'un procédé conforme à l'invention, selon divers modes de réalisation. L'unité de mémoire comporte par ailleurs une mémoire non volatile (par exemple du type EEPROM) pour stocker par exemple un programme d'ordinateur, selon un mode de réalisation, pour son exécution par un processeur (non représenté) d'une unité de traitement 41 (PROC) du dispositif.
Le dispositif comporte par ailleurs une unité de communication 43 (COM), par exemple pour échanger des données avec un autre dispositif conformément à des modes de réalisation. Les échanges de données entre dispositifs peuvent se faire selon le protocole APDU, sigle de « Application Protocol Data Unit », tels que définis dans la norme ISO 7816 partie 4.
L'unité de communication peut ainsi comporter une interface entrée/sortie apte à échanger selon ce protocole. Les données échangées peuvent se faire par des commandes APDU et des réponses à ce type de commandes.
Un dispositif selon des modes de réalisation peut être conforme à la norme ISO7816. Il peut par exemple s'agir d'une carte à puce ou d'un élément sécurisé. Un dispositif selon des modes de réalisation est par exemple un circuit intégré.
La présente invention a été décrite et illustrée dans la présente description détaillée en référence aux figures jointes. Toutefois la présente invention ne se limite pas aux formes de réalisation présentées. D'autres variantes, modes de réalisation et combinaisons de caractéristiques peuvent être déduits et mis en œuvre par la personne du métier à la lecture de la présente description et des figures annexées.
Dans les revendications, le terme "comporter" n'exclut pas d'autres éléments ou d'autres étapes. L'article indéfini « un » n'exclut pas le pluriel. Un seul processeur ou plusieurs autres unités peuvent être utilisées pour mettre en œuvre l'invention. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes, n'exclut pas en effet la possibilité de les combiner. Les signes de référence ne sauraient être compris comme limitant la portée de l'invention.
Figure imgf000022_0001
Figure imgf000023_0001
Figure imgf000024_0001
Figure imgf000025_0001

Claims

REVENDICATIONS
1 . Procédé de génération d'un message m d'ordre λ(n), λ(n) étant le plus petit commun multiple entre p-1 et q-1 , p et q étant deux nombres premiers, pour son utilisation dans un test d'intégrité de génération de paire de clés cryptographiques publique et privée dans le groupe multiplicatif des entiers modulo n, avec n étant le produit des deux nombres premiers p et q, le procédé comportant: une étape de génération de ladite paire de clés cryptographiques publique et privée, ladite étape comportant, pour générer les nombres p et q : o un tirage aléatoire (200, 202) d'entiers candidats, et o un test de primalité (201 , 203) desdits entiers candidats,
- une première étape (304) de recherche d'un générateur a du groupe multiplicatif des entiers modulo p, zéro étant exclu,
- une deuxième étape (304) de recherche d'un générateur b du groupe multiplicatif des entiers modulo q, zéro étant exclu,
- une troisième étape (205) de recherche d'un nombre γ, en tant que message m, vérifiant :
Figure imgf000026_0001
Figure imgf000026_0002
caractérisé en ce qu'au moins une desdites première et deuxième étapes de recherche est réalisée lors dudit test de primalité.
2. Procédé selon la revendication 1 , dans lequel ledit test comporte les étapes suivantes:
- de détermination d'un entier candidat w vérifiant w - 1 = 2sr, s étant un entier et r étant un entier impair, - de sélection d'un générateur candidat c tel que
Figure imgf000027_0002
- de calcul du nombre
Figure imgf000027_0001
et
- comparaison dudit nombre y avec le nombre w - 1 , et
- sélection dudit nombre c en tant que générateur du groupe multiplicatif des entiers modulo w, zéro étant exclu, si y≡ w - 1 mod w.
3. Procédé selon la revendication 2, comportant en outre une étape de test pour vérifier si
Figure imgf000027_0003
avec aw-1 = 1 mod w, ladite vérification étant opérée pour un ensemble de diviseurs q de w - 1 .
4. Procédé selon la revendication 3, dans lequel ladite vérification est opérée pour un ensemble de diviseurs premiers q de w - 1 .
5. Procédé selon la revendication 3 ou 4, dans lequel, pour lesdits diviseurs q, la valeur a(w-1 )/q est calculée par exponentiation modulaire.
6. Procédé selon la revendication 5, comportant une initialisation de ladite exponentiation modulaire avec une variable initiale calculée à partir de la factorisation en nombres premiers du nombre w-1 .
7. Procédé selon l'une des revendications précédentes, dans lequel ledit test est réalisé selon un algorithme probabiliste.
8. Procédé de test de sécurité d'un dispositif électronique vis-à-vis d'une attaque, le dit dispositif mettant en œuvre une génération d'une clé cryptographique publique e et une clé cryptographique privée d dans le groupe multiplicatif des entiers modulo n, telles que :
- n = p.q, avec p et q étant des nombres premiers,
- 1 < e < Φ(n), avec e et Φ (n) étant premiers entre eux et Φ(n) = (p-1 ).(q-1 ), et - d.e = 1 mod λ(n), λ(n) étant le plus petit commun multiple entre p- 1 et q-1 , le procédé comprenant une étape d'obtention d'une valeur λ'(n) = λ(n)/α, en lieu et place de la valeur λ(n), avec a divisant λ(n), une clé privée d' étant ainsi calculée en lieu et place de la clé privée d telle que d'.e = 1 mod λ(n)/α.
9. Procédé selon la revendication 8, dans lequel ladite valeur λ'(n) est obtenue par perturbation du calcul de la valeur λ(n).
10. Programme d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 9 lorsqu'il est chargé et exécuté par un processeur d'un dispositif de cryptographie.
1 1 . Dispositif cryptographique (40) comportant une unité de traitement (42) configurée pour mettre en œuvre un procédé selon l'une des revendications 1 à 9.
12. Entité électronique portable comprenant un dispositif selon la revendication 1 1 .
PCT/FR2015/050513 2014-03-06 2015-03-03 Génération de message pour test de génération de clés cryptographiques WO2015132524A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/122,822 US9992016B2 (en) 2014-03-06 2015-03-03 Message generation for a cryptographic key generation test

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1451813 2014-03-06
FR1451813A FR3018372B1 (fr) 2014-03-06 2014-03-06 Generation de message pour test de generation de cles cryptographiques

Publications (2)

Publication Number Publication Date
WO2015132524A2 true WO2015132524A2 (fr) 2015-09-11
WO2015132524A3 WO2015132524A3 (fr) 2015-12-17

Family

ID=51303062

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2015/050513 WO2015132524A2 (fr) 2014-03-06 2015-03-03 Génération de message pour test de génération de clés cryptographiques

Country Status (3)

Country Link
US (1) US9992016B2 (fr)
FR (1) FR3018372B1 (fr)
WO (1) WO2015132524A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097797A1 (fr) * 2016-11-28 2018-05-31 Huawei International Pte. Ltd. Procédé et système de déduction d'un nombre premier déterministe

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293587A (ja) * 1999-04-09 2000-10-20 Sony Corp 情報処理装置および方法、管理装置および方法、並びに提供媒体
FR2807246B1 (fr) * 2000-03-28 2002-12-27 Gemplus Card Int Procede de generation de cles electroniques a partir de nombres entiers premiers entre eux et dispositif de mise en oeuvre du procede
US7113595B2 (en) * 2002-08-09 2006-09-26 Gemplus Generation of a random number that is non-divisible by a set of prime numbers
ATE320125T1 (de) * 2002-09-11 2006-03-15 Giesecke & Devrient Gmbh Geschützte kryptographische berechnung
KR100720726B1 (ko) * 2003-10-09 2007-05-22 삼성전자주식회사 Rsa 알고리즘을 이용한 보안유지시스템 및 그 방법
US8861718B2 (en) * 2012-02-10 2014-10-14 Electronics And Telecommunications Research Institute Method of preventing fault-injection attacks on Chinese Remainder Theorem-Rivest Shamir Adleman cryptographic operations and recording medium for storing program implementing the same
FR2993080B1 (fr) * 2012-07-04 2014-07-25 Oberthur Technologies Procede de verification de la securite d'un dispositif generateur de cles cryptographiques privees et publiques.
FR3015080B1 (fr) * 2013-12-17 2016-01-22 Oberthur Technologies Verification d'integrite de paire de cles cryptographiques

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GRANVILLE: "Proc. MSRI Conf. Algorithmic Number Theory: Lattices, Number, Fields, Curves, and Cryptography", 2000, CAMBRIDGE UNIVERSITY PRESS, article "Smooth numbers: Computational number theory and beyond"
MENENZES ET AL.: "Handbook of Applied Cryptography"

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097797A1 (fr) * 2016-11-28 2018-05-31 Huawei International Pte. Ltd. Procédé et système de déduction d'un nombre premier déterministe

Also Published As

Publication number Publication date
WO2015132524A3 (fr) 2015-12-17
FR3018372B1 (fr) 2023-09-29
US9992016B2 (en) 2018-06-05
FR3018372A1 (fr) 2015-09-11
US20170078089A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
Nemec et al. The return of coppersmith's attack: Practical factorization of widely used rsa moduli
CN106664205B (zh) 生成数字签名的系统和方法、非瞬时计算机可读存储介质
EP2791783B1 (fr) Procédé de génération de nombres premiers prouvés adapté aux cartes a puce
EP2256987B1 (fr) Protection d&#39;une génération de nombres premiers pour algorithme RSA
FR3015080A1 (fr) Verification d&#39;integrite de paire de cles cryptographiques
EP2296086B1 (fr) Protection d&#39;une génération de nombres premiers contre des attaques par canaux cachés
FR2759226A1 (fr) Protocole de verification d&#39;une signature numerique
EP1904921A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
WO2015132524A2 (fr) Génération de message pour test de génération de clés cryptographiques
FR3015079A1 (fr) Verification d&#39;integrite de paire de cles cryptographiques
FR3015076A1 (fr) Generation de cles cryptographiques
EP1520370B1 (fr) Procédé et dispositifs cryptographiques permettant d&#39;alleger les calculs au cours de transactions
FR2880149A1 (fr) Procede de traitement de donnees et dispositif associe
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d&#39;aleas
EP3100403B1 (fr) Échelle de montgomery déséquilibrée résistante aux attaques par canaux auxiliaires
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
FR3013476A1 (fr) Securisation de procede de cryptographie sur courbes elliptiques
FR2984547A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
Vokorokos et al. Ensuring The Data Integrity And Credibility Based On Encryption And Decryption Algorithms
FR2984548A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
FR2984551A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
FR2984550A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
WO2002050658A1 (fr) Procedes de contre-mesure dans un composant electronique mettant en ouvre un algorithme de cryptographie a cle publique de type rsa
FR3013477A1 (fr) Procede et systeme pour la verification de la validite d&#39;une signature numerique de message
FR3014582A1 (fr) Procede de test de la condition mov et dispositif associe

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15713975

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 15122822

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15713975

Country of ref document: EP

Kind code of ref document: A2