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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7204—Prime number generation or prime number testing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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 :
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,
- 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
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
autant diviser le nombre alors en notant t le nombre tel que
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
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
Par ailleurs, si
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
é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.
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
à partir de cet entier, il est calculé un nombre lors de l'étape
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
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
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
est ensuite itérativement calculée par élévation au carré de la variable y à chaque étape j, avec
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
w (0 étant exclu). L'algorithme donné en annexe A, peut délivrer plusieurs générateurs mais retourne toujours le dernier par construction.
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
é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
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
, tout en n'étant pas un générateur de
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
Par définition on a :
ou égal à m, et i inférieur ou égal à j3.
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
et donc
car l'ordre o(g) de g ne divise pas λ(n)/α). En effet, on a
ce qui implique finalement que
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
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.
1 mod w pour chaque diviseur q, de w-1 on teste plutôt si
pour Chaque diviseur premier qi de w-1 . On tient ainsi compte du fait que
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
est calculée à la ligne 2 ce qui permet de calculer plus aisément les valeurs
comme
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,
Un algorithme modifié est présenté en annexe D. Cet algorithme rend un élément g du groupe
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.
Claims
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 :
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
- 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.
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 .
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)
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)
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 |
-
2014
- 2014-03-06 FR FR1451813A patent/FR3018372B1/fr active Active
-
2015
- 2015-03-03 WO PCT/FR2015/050513 patent/WO2015132524A2/fr active Application Filing
- 2015-03-03 US US15/122,822 patent/US9992016B2/en active Active
Non-Patent Citations (2)
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)
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'une génération de nombres premiers pour algorithme RSA | |
FR3015080A1 (fr) | Verification d'integrite de paire de cles cryptographiques | |
EP2296086B1 (fr) | Protection d'une génération de nombres premiers contre des attaques par canaux cachés | |
FR2759226A1 (fr) | Protocole de verification d'une signature numerique | |
EP1904921A1 (fr) | Procede cryptographique pour la mise en oeuvre securisee d'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'integrite de paire de cles cryptographiques | |
FR3015076A1 (fr) | Generation de cles cryptographiques | |
EP1520370B1 (fr) | Procédé et dispositifs cryptographiques permettant d'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'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'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 |