EP1456998A1 - Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede - Google Patents

Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede

Info

Publication number
EP1456998A1
EP1456998A1 EP02799095A EP02799095A EP1456998A1 EP 1456998 A1 EP1456998 A1 EP 1456998A1 EP 02799095 A EP02799095 A EP 02799095A EP 02799095 A EP02799095 A EP 02799095A EP 1456998 A1 EP1456998 A1 EP 1456998A1
Authority
EP
European Patent Office
Prior art keywords
entity
evidence
piece
integer
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02799095A
Other languages
German (de)
English (en)
Inventor
Marc Girault
Jean-Jacques Quisquater
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MATH RISZK
Orange SA
Original Assignee
MATH RISZK
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MATH RISZK, France Telecom SA filed Critical MATH RISZK
Publication of EP1456998A1 publication Critical patent/EP1456998A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Definitions

  • the invention relates to the technical field of cryptography, and more precisely to so-called public key cryptography.
  • a user holds a pair of keys for a given use.
  • Said key pair consists of a private key which this user keeps secret and an associated public key which this user can communicate to other users. For example, if it is a pair of keys dedicated to confidentiality, then the public key is used to encrypt the data, while the secret key is used to decrypt it, that is to say for restore this data in clear.
  • Public key cryptography is very useful insofar as, unlike secret key cryptography, it does not require that the interlocutors share the same secret in order to establish a secure communication.
  • this advantage in terms of security is accompanied by a disadvantage in terms of performance, because the public key cryptography methods, also called “public key schemes”, are often a hundred or a thousand times slower than the security methods.
  • secret key cryptography also called “secret key schemes”. It is therefore a very important challenge to find rapid execution public key cryptography methods, so as to be able to implement them in environments with little resources, such as standard microprocessor cards, with or without contact.
  • the present invention relates more particularly to the technical field of entity authentication, also called identification, as well as that of message authentication and digital message signature, using public key cryptographic techniques.
  • entity authentication also called identification
  • the authenticated entity called a prover has a secret key or private key and an associated public key.
  • the prover uses the secret key to generate an authentication value.
  • the authenticating entity called a verifier, only needs the prover's public key to verify the authentication value.
  • the invention relates more particularly still to the so-called authentication methods with zero knowledge disclosure or without zero knowledge.
  • authentication takes place according to a protocol which, in a proven way, does not reveal anything about the secret key of the authenticated entity, and this regardless of the number of uses. It is known, using standard techniques, to deduce from this type of diagrams diagrams of message authentication and digital message signature.
  • the invention relates more particularly still to methods the security of which rests both on the difficulty of the problem of factorization of whole numbers and of the problem known as of the discrete logarithm.
  • the invention finds an application in all systems using public key cryptography to secure their elements and or their transactions, and more particularly in systems where the number of calculations performed by the different parties constitutes for at least one of them a critical parameter, either because it does not have a coprocessor specialized in cryptographic calculations, often called cryptoprocessor, in order to accelerate them, or because it is capable of performing a large number of calculations simultaneously for example in the case of a central server, or for any other reason.
  • a typical application is electronic payment, by bank card or by electronic wallet.
  • the payment terminal is in a public place, which encourages the use of public key cryptography methods, so that it does not store any master key.
  • the card is a standard microprocessor card, that is to say that the card is not equipped with a cryptoprocessor, or that the microprocessor secure content in the terminal either standard or both.
  • the state of the art currently known makes it possible to achieve: one or other of these objectives, but makes it difficult to achieve both simultaneously, while respecting the constraints of the system.
  • An example of such a constraint is that payment is made in less than a second, or even in less than 150 milliseconds in the case of a contactless transaction, or even in a few milliseconds in the case of a motorway toll. .
  • a limitation of all the cryptographic methods known to date is that the number of calculations that each of the parts must perform is fixed by the method itself and cannot be modified. In particular, it is not possible to modulate the distribution of calculations between the prover and a third party party not necessarily trusted, in order to adapt to this or that environment. This prevents the same process from being used in a variety of environments, where the constraints are different.
  • the object of the present invention is to specify public key cryptographic methods in which it is possible to distribute a large quantity of calculations between at least two of several entities involved without this distribution modifying the level of security offered by said methods. In the case of an authentication or digital signature process using a public key, the invention is particularly useful for lightening the task of the prover by reducing the number of calculations it performs.
  • the invention makes it possible to delegate part of the calculations to another entity, without any trust being necessarily associated with this other entity. More generally, the invention makes it possible to distribute in any way all or part of the calculations between several entities concerned so that the constraints linked to a given application are satisfied.
  • the method according to the invention is remarkable in that it comprises a step in which at least one piece of evidence is generated at least in part by open digital processing of a data which does not make it possible to find said private key.
  • Open digital processing is understood to mean digital processing which does not benefit from any particular protection against possible intrusions. This open digital processing can be executed by any entity.
  • the data previously mentioned is for example an image of said private key.
  • This possibility of distribution allows the same cryptographic process to be used in many applications and environments with very varied constraints. In particular, it can allow perform transactions in a reduced time with chips with limited computing capacities.
  • Cryptographic methods which use a property of finite groups, for example comprising n integers and provided with an internal composition law such as multiplication. It is practically impossible to find an exponent at the origin of an exponentiation, in particular when n is a number made up of at least two very large prime numbers.
  • the method according to the invention comprises: a first step in which the first entity generates a first piece of evidence by means of a first random number kept secret by the first entity,
  • a fourth step in which a second element of proof is generated by applying to the image of said private key, an open digital processing executable by any entity, so as to allow the second entity to verify a concordance of the first element of proof with the second piece of evidence by applying a first part of said public key to the second piece of evidence and at least a second part of said public key to at least one of said common numbers.
  • generation of a common number in association with the first piece of evidence means a generation of common number for which the first piece of evidence must be known beforehand. This generation may be purely random and independent of the first piece of evidence or a function of the first piece of evidence. According to this association, it is impossible to revert to the first piece of evidence when the common number is generated. More specifically:
  • the first entity in the first step, the first entity generates the first random number r much greater than any first whole number s included in a private key kept secret by the first entity and the first entity generates the first piece of evidence obtained following an elevation to a power modulo n of a first integer G included or not in said public key and whose exponent is the first random number r,
  • the first entity in the third step, the first entity generates the image y of said private key by linear combination of the first random number r and of at least one first integer s of private key, a linear combination of which at least one multiplicative coefficient is the or one of the so-called common numbers,
  • the second element of proof Y generated is equal to a power modulo n of a second whole number g included or not in said public key and whose exponent is the image y of private key, the second integer g being such that the first integer G of public key is a modulo n power of the second integer g with for exposing a third integer e included in said public key. It will be noted on the one hand that knowledge of the image of the private key generated in the third step does not provide any information on the private key because it is masked by the linear combination with the first random number including the first element of evidence reveals nothing.
  • the first entity may have reduced computational resources to execute the fifth step because relatively low values of the third integer and the common number are sufficient for a reliable verification of concordance with the first piece of evidence.
  • the fourth step can be performed by the first entity.
  • the cost of calculating the power in the fourth step is considerable because the exhibitor is of great value.
  • the fourth step is executed by any entity which receives the private key image y from the first entity.
  • knowledge of the private key image by any entity does not harm the security of the process.
  • Any entity is possibly the second entity or an intermediate entity.
  • the fourth step also includes:
  • a first sub-step in which the first entity decomposes the image y into a first partial image y 'represented by the u least significant bits of a computer word which represents the image y and into a second partial image y " represented by the most significant bits remaining of said computer word, in which the first entity generates a first component Y 1 and a second component g 1 of second piece of evidence such as
  • the value of y 1 then less than the value of y requires only reduced computing resources in the second entity to generate the first component Y 'and the second component g 1 .
  • the second partial image and the two components Y ′ and g ′ being sufficient for any entity to generate the second piece of evidence without complete knowledge of the private key image, the security of the process is reinforced.
  • the second step is performed by the second entity which, for the first piece of evidence received from the second entity, chooses at least one common number in a security interval and sends said common number to the first entity.
  • the concordance is checked when the first element of proof x is equal to the product modulo n of the power of the second element of proof Y whose exponent is the third whole number e and the power of the fourth number integer v included in said public key whose exponent is said common number c.
  • the concordance is checked in the fifth step when the first element of proof is equal to a function of the digital message M to which the first element of proof is attached. and of the product modulo n of the power of the second piece of evidence Y whose exponent is the third integer e and the power of the fourth integer v included in said public key whose exponent is said common number c.
  • the second step is executed by the first entity which generates at least one common number as a function of the first piece of evidence and of the digital message M to which said number is attached. common.
  • the concordance is checked when the common number is equal to a function of the digital message M and of the product modulo n of the power of the second element of proof Y whose exponent is the third whole number e and of the power of the fourth integer v included in said public key whose exponent is said common number c.
  • the subject of the invention is also a proving device, a verifying device and an intermediate device, suitable for implementing the cryptographic method.
  • a proving device provided with a private key kept secret and protected against any intrusion, to generate proof, a verification of which using a public key associated with said private key makes it possible to guarantee that the proving device is at origin of said proof
  • the proving device is remarkable in that it comprises: - calculation means arranged to generate a first piece of evidence from a first random number kept secret in the proving device, and to generate an image of said private key by combining at least a first integer number of private key with the first random number and at least one of several so-called common numbers associated with the first item of evidence, so that it is possible to generate a second item of proof by applying to said private key image, an open digital processing making it possible to verify a concordance of the first piece of evidence with the second piece of evidence by applying a first part of said public key to the second piece of evidence and at least a second part of said public key to at least one
  • the calculation means are on the one hand arranged to generate the first random number r much greater than any first integer s included in the private key kept secret, and to generate the first piece of evidence by raising to a power modulo n a first integer G included or not included in said public key with for exposing the first random number r, - the calculation means are on the other hand arranged to generate the image y of said private key by linear combination of the first random number r and of at least a first integer s of private key, a linear combination of which at least one multiplicative coefficient is the or one of said common numbers.
  • Different adaptations of the proving device are preferred depending on the version of the process to be implemented
  • the means of communication are also arranged to receive the said common number (s) after having issued the first piece of evidence.
  • the communication means are arranged to transmit the private key image.
  • the calculation means are arranged to generate the second piece of evidence.
  • the calculation means are arranged to generate at least one common number as a function of the first piece of evidence and of a digital message M to which said common number is attached.
  • the calculation means are arranged to generate the first element of proof by raising to a power modulo n a first integer G included or not in said public key and whose exponent is the first random number r.
  • the first integer G of public key and a fourth integer v of public key are respectively given by the formulas:
  • the first integer G of public key and a fourth integer v of public key are respectively given by the formulas:
  • the first integer G of public key and a fourth integer v of public key are respectively given by the formulas:
  • the private key comprising several secret numbers si, s2, ...:
  • the calculation means are arranged to generate as many common numbers d, c2, ... associated with the first element of proof x,
  • the public key specifically comprising the module n whose factors first are kept secret in the proving device, the calculation means (37) are arranged to calculate the power increases using a technique called Chinese remains.
  • the proving device is improved when, the public key comprising a quantity k of pre-calculated values of first proof element x, the calculation means are arranged to iterate k times each execution with for each iteration a different value of first proof element .
  • the first element of proof is equal to a function f of the power modulo n of the first integer G included or not in said public key and whose exponent is the first random number r.
  • the verifier device Considering a verifier device to verify that a proof comes from a proving device provided with a private key kept secret by the proving device, using a public key associated with said private key, the verifier device is remarkable in that it includes:
  • the calculation means are arranged to verify that the first piece of evidence matches a product modulo n with a power of the second piece of evidence Y whose exponent is a third integer e and of a power of a fourth integer v whose exponent is said common number c, the third integer and the fourth integer being included in said public key.
  • the calculation means are arranged to choose at least one common number in a security interval after receipt of the first piece of evidence and in that the communication means are arranged to transmit said common number.
  • the means of calculation are arranged to declare the agreement verified when the first element of proof x is equal to the product modulo n of the power of the second element of proof Y whose exponent is the third whole number e and of the power of fourth integer v included in said public key whose exponent is said common number c.
  • the means of calculation are arranged to declare the match verified when the first element of proof is equal to a function of a digital message M to which the first element of proof is attached and of the product modulo n of the power of the second element of proof Y whose exponent is the third integer e and of the power of the fourth integer v included in said public key whose exponent is said common number c.
  • the means of calculation are arranged to declare the match verified when the common number is equal to a function of a digital message M and of the product modulo n of the power of the second evidence Y whose exponent is the third integer e and the power of the fourth integer v included in said public key whose exponent is said common number c.
  • the means of calculation (38) are arranged to choose as many common numbers d, c2, ... for the first element of proof x, the means of calculation (38) are arranged to check the concordance by as many fourth integers of public key v1, v2, ... by means of equality:
  • the calculation means include in memory at least one pre-calculated value of first proof element x considered as part of the public key.
  • the means of calculation include in memory a quantity k of pre-calculated values of first element of proof x, the means of communications are arranged to receive k second elements of evidence and the means of calculation are arranged to check a concordance of each second piece of evidence received with a value different from first piece of evidence.
  • the means are calculated to perform verification on the result of this function.
  • the intermediate device is remarkable in that it comprises calculation means for generating at least one piece of evidence by open digital processing of an image of said private key, said private key image not making it possible to find said private key .
  • the device comprises communication means arranged to receive said image y of private key.
  • the calculation means are arranged to generate the second element of proof Y by raising to a power modulo n a second integer g included in said public key and whose exponent is the image y of private key.
  • the intermediate device comprises communication means arranged to receive a first partial image y 'of private key, a first component Y' and a second component g 'of second piece of evidence and the calculation means are arranged to generate the second element of proof Y by multiplying the first component Y 'by a power of the second component g' with the second partial image y "for exponent.
  • the means of communication of the intermediate device are arranged to transmit the second piece of evidence Y to a verifier device.
  • FIG. 1 shows steps of the authentication method of a second entity by a first entity according to the invention
  • FIG. 2 shows a first variant of the authentication method involving an intermediate entity
  • FIG. 3 shows a second variant of the authentication method involving an intermediate entity
  • FIG. 4 shows steps of the message authentication method according to the invention
  • FIG. 5 shows steps of the method used for a message signature according to the invention.
  • the embodiment described below is a method of entity authentication or identification. It allows a prover A to convince a verifier B of its authenticity. This process can be transformed into a message authentication process or digital message signature. Its security is based on the joint difficulty of factoring large integers.
  • the public key of the prover then consists of all or part of the quintuplet (n, e, g, G, v), depending on the option chosen, while the private key consists of at least the whole number s, kept secret by the prover.
  • the public key can itself be broken down into a generic part in the sense that it is common to several provers and into a specific part in the sense that it is different for each prover.
  • the verifier B already knows all the public parameters necessary to verify that a proof is given by a second entity, the prover A, namely its identity, its public key, its public key certificate, etc.
  • the public key is the triplet (n, e, v) and the authentication of the entity A by the entity B takes place by iterating k times the protocol now described with reference to FIG. 1.
  • the entities A and B are computer or smart card type.
  • the expression (mod n) means modulo n, that is to say that in a known manner, the result of the calculation is equal to the remainder of the integer division of the result of the operation considered, by the integer n, generally called module .
  • the whole number x constitutes a first element of proof because only the entity which generates the random number r, is capable of generating the number x. The random number r is not communicated by the entity that generates it.
  • the number r is chosen large enough so that a knowledge of the first integer G and of the module n, does not allow the number r to be found from the number x.
  • This first element of proof is not sufficient because such an element can be generated from any random number, by any entity if the first integer G is included in the public key. Note that in the method described with reference to Figure 1, the integer G is not necessarily included in the public key.
  • Receipt by entity B of the first piece of evidence x validates a transition 10 which then activates a second step 11.
  • step 11 entity B randomly chooses an integer c in a security interval [0, t - 1] and sends the number c to entity A.
  • the number c generated in association with the first piece of evidence by entity B, is common to entities A and B and also to any other entity that infiltrates the dialogue between entities A and B.
  • entity A generates an image y of the private key in the form of a linear combination of the number r and the number s whose multiplicative coefficient is the common number c.
  • the random number r being very large and not communicated, a knowledge of the image y does not allow to find the product se and therefore, does not allow to find the number s of private key which therefore remains kept secret by the entity A. Only entity A having knowledge of the number s, only entity A can generate an image which integrates the common number c.
  • a fourth step 15 is here directly activated following the step
  • the entity A generates here a second element of proof Y. It will be noted that the second whole number g is not necessarily included in the public key here.
  • Reception by entity B of the second piece of evidence Y validates a transition 16 which then activates a fifth step 17.
  • the second piece of evidence Y is such that:
  • the probability of not detecting this imposter is equal to 1 / kt.
  • the product kt can be chosen relatively small, for example of the order of 2 16 .
  • n is included in the specific part of the public key, and if the prime factors of n are known to A, then the first step can be accelerated using the technique known as Chinese remains.
  • the first step can be done in advance.
  • the k values of x can be part of the public key of A, in which case the protocol begins directly at the second step.
  • the number x can be replaced by a value f (x) where f is a function, for example equal to (or including) a hash function cryptographic, in which case the verification equation becomes: f (Y e v c (mod n)) ⁇ x. You can combine all or part of the previous modifications.
  • the calculation of Y can also be performed by any entity other than A, without loss of security.
  • A only calculates y and supplies y to this entity.
  • the knowledge of y provides no information on s, since the product is "masked" by the random number r.
  • the public key is the quadruplet (n, e, g, v) and the authentication of entity A by entity B takes place by iterating k times the following protocol .
  • C denotes any entity other than A.
  • step 13 is modified in that the entity A sends the private key image y to an intermediate entity C. As seen above, the image y gives no information on the private key. A reception by the entity C of the image y, validates a transition 14 which then activates the fourth step 15.
  • the intermediate entity C is for example implemented in a chip, not necessarily secure, contained in the security device of the prover such as a smart card, in the security device of the verifier such as a terminal of payment, or in another device such as a computer.
  • Security resides in the fact that entity C cannot find by itself a suitable value Y, that is to say such that the verification equation is satisfied.
  • the calculation of Y is shared between entities A and C.
  • the process takes place in an identical manner to that described with reference to FIG. 1 up to step 13.
  • the image y is broken down according to the formula: y ⁇ y '+ 2 u y ".
  • u is a positive integer
  • y ' is an integer less than 2 U.
  • Decomposition is easy to perform.
  • the first partial image y' is represented by the u least significant bits of this word.
  • the second partial image is represented by the remaining most significant bits of this computer word.
  • the fourth step to calculate the second piece of evidence is here broken down into two substeps 18 and 25.
  • the first substep 18 is executed by the entity A directly after step 13.
  • the entity A calculates a first component Y 'of second piece of evidence according to the formula: Y' ⁇ g y ' (mod n)
  • entity A also calculates a second component g 'of second piece of evidence according to the formula:
  • Step 19 can also be introduced before transition 16 in the examples of Figures 1, 2 and 4.
  • the previously described protocols can be transformed into message authentication protocols or digital signature schemes.
  • FIG. 4 shows process steps which make it possible to authenticate that a message M received by the first entity B, has been sent by the second entity A.
  • x 'by applying to the message M together with the number x a function h, for example equal to a cryptographic hash function or including a cryptographic hash function such as: x' h (x, M).
  • Entity A then sends the message M and the first piece of evidence x 'to Entity B.
  • Reception by entity B of the first piece of evidence x validates a transition 21 which then activates a second step 11.
  • the method then continues in an identical manner to that described with reference to one of FIGS. 1 to 3.
  • step 11 entity B randomly chooses an integer c in a security interval [0, t - 1] and sends the number c to entity A.
  • the number c generated in association with the first piece of evidence by entity B, is common to entities A and B and also to any other entity that infiltrates the dialogue between entities A and B.
  • entity A generates an image y of the private key in the form of a linear combination of the number r and the number s whose multiplicative coefficient is the common number c.
  • the random number r being very large and not communicated, a knowledge of the image y does not allow to find the product se and therefore, does not allow to find the number s of private key which therefore remains kept secret by the entity A. Only entity A having knowledge of the number s, only entity A can generate an image which integrates the common number c.
  • the entity A sends the private key image y to an intermediate entity C. As seen above, the image y gives no information on the private key.
  • step 15 it is here the intermediate entity C which calculates the second Receipt by entity B of the second piece of evidence Y, validates a transition 16 which then activates a fifth step 22.
  • the message signature is independent of the sender.
  • the signature of a message M by the entity A remains valid if the entity B receives the message M from any other entity.
  • the first element of proof x thus generated does not need to be sent to entity B since it is not necessary to authenticate a dialogue between units A and B to verify a signature.
  • a third step 24 directly following step 23 the entity
  • entity A generates an image y of the private key in the form of a linear combination of the number r and the number s whose multiplicative coefficient is the common number c.
  • the random number r being very large and not communicated, a knowledge of the image y does not allow to find the product se and therefore, does not allow to find the number s of private key which therefore remains kept secret by the entity A.
  • Only entity A having knowledge of the number s only the entity A can generate an image which integrates the common number c '. As seen previously, the image there gives no information on the private key.
  • the pair (c ', y) constitutes a signature of the message M because this pair integrates both the message M and an element of private key which guarantees that the entity A is at the origin of this signature.
  • Entity A then sends the message M and the signature (c ', y) to entity B or to any other entity.
  • Receipt by entity B of the second piece of evidence Y validates a transition 7 which then activates a fifth step 8.
  • step 8 entity B calculates, as in step 17, a verification value V using the formula:
  • V Y e v c ' (mod n) then check the agreement of the second piece of evidence with the first piece of evidence using the verification equation: h (V, M) ⁇ c'.
  • the agreement with the first piece of evidence is checked by this equality since the common number c 'generated in step 23, itself matches the first piece of evidence.
  • the reception by the entity C of the image y which validates the transition 4 can result from a reception of the message M with its signature (c'.y) coming from the entity A or from any other entity.
  • the reception by the entity C of the image y results from a step 3 activated by the transition 2.
  • entity B extracts image y from the signature to send it to entity C.
  • step 6 executed before validation of the transition 7, the entity B extracts the common number c 'from the signature to obtain a number z equal to v c' which facilitates the calculation of V in step 8.
  • the entities A, B and C described above are materialized respectively in a proving device 30, a verifying device 31 and an intermediate device 32.
  • the proving device 30 is for example a microprocessor card such as a credit card, a mobile phone subscriber identification card.
  • the checking device 31 is for example a banking terminal or an electronic commerce server, a mobile telecommunication operator equipment.
  • the intermediate device 32 is for example an extension of a microprocessor card, a terminal for reading a credit card or an electronic card for a mobile telephone.
  • the proving device 30 comprises communication means 34 and calculation means 37.
  • the proving device 30 is protected against intrusion.
  • the communication means 34 are arranged to emit the first piece of evidence x in accordance with step 9 described with reference to Figures 1 to 3, the private key image y in accordance with step 13 described with reference to Figures 2 and 4, the second piece of evidence Y in accordance with step 15 described with reference to FIG. 1, the first partial image Y 'with the two private key image components g' and y "in accordance with step 18 described with reference to FIG. 3, the message M according to steps 20 or 24 described with reference to FIGS. 4 and 5 or the common number c according to step 24 described with reference to FIG.
  • the communication means 34 are also arranged to receive the common number c in accordance with the transition 12 described with reference to FIGS. 1 to 4 when versions of the method to be implemented correspond to the authe For a version of the process to be implemented corresponding to a signature, the communication means 34 need not be arranged to receive the common number c.
  • the calculation means 37 are arranged to execute steps 9, 13 and 15 described with reference to Figure 1, steps 9 and 13 described with reference to Figure 2, steps 9, 13 and 18 described with reference to Figure 3, steps 20 and 13 described with reference to Figure 4 or steps 1, 23 and 24 described with reference to Figure 5 depending on the version of the process to be implemented.
  • the calculation means 37 comprise a microprocessor and microprograms or combinational circuits dedicated to the calculations described above.
  • the checking device 31 comprises communication means 35 and calculation means 38.
  • the communication means 35 are arranged to transmit one or more common numbers c in accordance with step 11 described with reference to FIGS. 1 to 4 when versions of the process to be implemented correspond to authentication. For a version of the method to be implemented corresponding to a signature, the communication means 35 do not need to be arranged to transmit a common number c.
  • the communication means 35 are also arranged to receive the two pieces of evidence x and Y in accordance with the transitions 10 and 16 described with reference to FIGS.
  • the communication means 35 are arranged to retransmit the image y of private key in accordance with step 3 described with reference to FIG. 5.
  • the calculation means 38 are arranged to execute steps 11, 17 and 19 described with reference to FIGS. 1 to 3, steps 11 and 22 described in depending on the process version to be implemented.
  • the calculation means 38 comprise a microprocessor and microprograms or combinational circuits dedicated to the calculations described above.
  • the intermediate device 32 comprises communication means 36 and calculation means 39.
  • the communication means 36 are arranged to emit the second piece of evidence Y in accordance with step 15 described with reference to FIGS. 2 and 4, in step 25 described with reference to Figure 3 or step 5 described with reference to Figure 5.
  • the communication means 36 are also arranged to receive the private key image y in accordance with the transition 14 described with reference to the figures 2 and 4, the private key image y in accordance with transition 4 described with reference to FIG. 5 or the partial image y "of private key and the two components g 'and Y' of second piece of evidence in accordance with transition 14 described with reference to FIG. 3.
  • the calculation means 39 are arranged to execute step 15 described with reference to FIGS. 2 or 4, step 25 described with reference to FIG. 3 or step 5 d written with reference to FIG. 5. depending on the version of the process to be implemented.
  • the calculation means 39 comprise a microprocessor and programs or combinational circuits dedicated to the calculations described above.
  • the previously described calculation and communication means are arranged to repeat k times the execution of the previously described steps, each time for a first piece of evidence and a second piece of separate evidence.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Une deuxiíme entité B vérifie au moyen d'une clé publique, une preuve donnée par une premiíre entité A, grâce au procédé cryptographique selon lequel la premiíre entité A géníre un premier nombre aléatoire r trís supérieur à tout premier nombre entier s compris dans une clé privée gardée secríte par la premiíre entité A. La premiíre entité A géníre un premier élément de preuve obtenu à la suite d'une élévation à une puissance modulo n d'un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r. En association avec le premier élément de preuve, un nombre dit commun, est généré de façon à ce que la deuxiíme entité B et la premiíre entité A aient connaissance du dit nombre commun. La premiíre entité A, géníre une image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée. Au moins un coefficient multiplicatif de la combinaison linéaire est le dit nombre commun. Une entité quelconque géníre un deuxiíme élément de preuve Y égal à une puissance modulo n d'un deuxiíme nombre entier G compris ou non dans ladite clé publique et dont l'exposant est l'image y du dit nombre commun, et envoie le deuxiíme élément de preuve Y à la premiíre entité B. La deuxiíme entité B vérifie que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxiíme élément de preuve Y dont l'exposant est un troisiíme nombre entier e et d'une puissance d'un quatriíme nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.

Description

PROCÉDÉ CRYPTOGRAPHIQUE PERMETTANT DE REPARTIR LA CHARGE ENTRE PLUSIEURS ENTITÉS ET DISPOSITIFS POUR METTRE
EN ŒUVRE CE PROCÉDÉ
L'invention relève du domaine technique de la cryptographie, et plus précisément de la cryptographie dite à clé publique. Dans ce type de cryptographie, un utilisateur détient une paire de clés pour un usage donné. Ladite paire de clés est constituée d'une clé privée que cet utilisateur maintient secrète et d'une clé publique associée que cet utilisateur peut communiquer à d'autres utilisateurs. Par exemple, s'il s'agit d'une paire de clés dédiée à la confidentialité, alors la clé publique est utilisée pour chiffrer les données, tandis que la clé secrète est utilisée pour les déchiffrer, c'est-à-dire pour rétablir ces données en clair.
La cryptographie à clé publique est d'une très grande utilité dans la mesure où, contrairement à la cryptographie à clé secrète, elle n'exige pas que les interlocuteurs partagent un même secret afin d'établir une communication sécurisée. Cependant, cet avantage en termes de sécurité s'accompagne d'un désavantage en termes de performance, car les procédés de cryptographie à clé publique, appelés encore « schémas à clé publique », sont souvent cent ou mille fois plus lents que les procédés de cryptographie à clé secrète appelés encore « schémas à clé secrète ». C'est donc un défi très important que de trouver des procédés de cryptographie à clé publique d'exécution rapide, de façon à pouvoir les mettre en œuvre dans des environnements peu dotés en ressources, tels que les cartes à microprocesseur standards, avec ou sans contacts.
La plupart des schémas à clé publique actuellement existants reposent sur la difficulté de problèmes mathématiques issus du domaine de l'arithmétique (ou « théorie des nombres »). C'est ainsi que la sécurité du schéma de chiffrement et de signature numérique RSA (Rivest, Shamir, Adieman) repose sur la difficulté du problème de la factorisation des nombres entiers : étant donné un très grand nombre entier (plus de 500 bits) obtenu de façon privée en multipliant deux ou plusieurs facteurs premiers de tailles comparables, il n'existe pas aujourd'hui de méthode efficace pour retrouver ces facteurs premiers.
D'autres schémas à clé publique, tels que le schéma de chiffrement ou de signature numérique de EIGamal, font reposer leur sécurité sur la difficulté du problème dit du logarithme discret. Ce problème peut être énoncé dans sa plus grande généralité de la façon suivante : soit E un ensemble muni d'une opération (c'est-à-dire d'une fonction qui, à deux éléments a et b, associe un élément noté « a.b » ou « ab », et appelé produit de a et b), g un élément de E, r un grand nombre entier et y le nombre entier défini par : y = gr (c'est-à-dire le produit g.g....g avec r occurrences de g) ; alors il est infaisable de retrouver r à partir de g et y.
La présente invention concerne plus particulièrement le domaine technique de l'authentification d'entité, encore appelée identification, ainsi que celui de l'authentification de message et de la signature numérique de message, au moyen de techniques cryptographiques à clé publique. Dans de tels procédés, l'entité authentifiée appelée prouveur, possède une clé secrète ou clé privée et une clé publique associée. Le prouveur utilise la clé secrète pour produire une valeur d'authentification. L'entité qui authentifie, appelée vérificateur, a uniquement besoin de la clé publique du prouveur pour vérifier la valeur d'authentification.
L'invention concerne plus particulièrement encore les procédés d'authentification dits à divulgation de connaissance nulle ou sans apport de connaissance (« zero-knowledge »). Cela signifie que l'authentification se déroule suivant un protocole qui, de façon prouvée, ne révèle rien sur la clé secrète de l'entité authentifiée, et ce quel que soit le nombre d'utilisations. On sait, à l'aide de techniques standards, déduire de ce type de schémas des schémas d'authentification de message et de signature numérique de message. L'invention concerne plus particulièrement encore des procédés dont la sécurité repose à la fois sur la difficulté du problème de la factorisation des nombres entiers et du problème dit du logarithme discret.
L'invention trouve une application dans tous les systèmes ayant recours à la cryptographie à clé publique pour sécuriser leurs éléments et ou leurs transactions, et plus particulièrement dans les systèmes où le nombre de calculs effectués par les différentes parties constitue pour au moins l'une d'entre elles un paramètre critique, soit parce qu'elle ne dispose pas d'un coprocesseur spécialisé dans les calculs cryptographiques, appelé souvent cryptoprocesseur, afin de les accélérer, soit parce qu'elle est susceptible d'effectuer un grand nombre de calculs simultanément par exemple dans le cas d'un serveur central, soit pour toute autre raison.
Une application typique est le paiement électronique, par carte bancaire ou par porte-monnaie électronique. Dans le cas du paiement de proximité, le terminal de paiement se trouve dans un lieu public, ce qui incite à utiliser des procédés de cryptographie à clé publique, afin qu'il ne stocke aucune clé- maître. Afin de réduire les coûts globaux d'un tel système, on peut souhaiter, soit que la carte soit une carte à microprocesseur standard c'est-à-dire que la carte n'est pas dotée d'un cryptoprocesseur, soit que le microprocesseur sécurisé contenu dans le terminal soit lui-même de type standard, soit les deux. Selon les cas, et selon le procédé cryptographique retenu, l'état de la technique actuellement connue permet d'atteindre: l'un ou l'autre de ces objectifs, mais permet difficilement d'atteindre les deux simultanément, en respectant les contraintes du système. Un exemple de telle contrainte est que le paiement s'effectue en moins d'une seconde, voire en moins de 150 millisecondes dans le cas d'une transaction sans contact, voire encore en quelques millisecondes dans le cas d'un péage d'autoroute.
Une limitation de tous les procédés cryptographiques connus à ce jour est que le nombre de calculs que doit effectuer chacune des parties est fixé par le procédé lui-même et ne peut pas être modifié. En particulier, il n'est pas possible de moduler la répartition des calculs entre le prouveur et une tierce partie non nécessairement de confiance, afin de s'adapter à tel ou tel environnement. Cela empêche qu'un même procédé puisse être utilisé dans une variété d'environnements, dans lesquels les contraintes sont différentes. La présente invention a pour objet de spécifier des procédés cryptographiques à clé publique dans lesquels il soit possible de répartir une quantité importante de calculs entre au moins deux de plusieurs entités impliquées sans que cette répartition ne modifie le niveau de sécurité offert par lesdits procédés. Dans le cas d'un procédé d'authentification ou de signature numérique à clé publique, l'invention est particulièrement utile pour alléger la tâche du prouveur en réduisant le nombre de calculs qu'il effectue. L'invention permet de déléguer une partie des calculs à une autre entité, sans qu'aucune confiance ne soit nécessairement associée à cette autre entité. Plus généralement, l'invention permet de répartir de manière quelconque tout ou partie des calculs entre plusieurs entités concernées de telle sorte que les contraintes liées à une application donnée soient satisfaites.
Considérant un procédé cryptographique dans lequel une première entité génère au moyen d'une clé privée gardée secrète par la première entité, une preuve vérifiable par une deuxième entité au moyen d'une clé publique associée à ladite clé privée, le procédé selon l'invention est remarquable en ce qu'il comprend une étape dans laquelle au moins un élément de preuve est généré au moins en partie par traitement numérique ouvert d'une donnée qui ne permet pas de retrouver ladite clé privée.
On entend par traitement numérique ouvert, un traitement numérique qui ne bénéficie pas de protection particulière contre d'éventuelles intrusions. Ce traitement numérique ouvert est exécutable par une entité quelconque. La donnée précédemment mentionnée est par exemple une image de ladite clé privée.
Cette possibilité de répartition permet à un même procédé cryptographique d'être utilisé dans de nombreuses applications et environnements aux contraintes très variées. En particulier, elle peut permettre d'effectuer des transactions en un temps réduit avec des puces aux capacités de calcul limitées.
On connaît des procédés cryptographiques qui utilisent une propriété des groupes finis par exemple comprenant n nombres entiers et munis d'une loi de composition interne telle que la multiplication. Il est pratiquement impossible de retrouver un exposant à l'origine d'une exponentiation, en particulier lorsque n est un nombre composé d'au moins deux nombres premiers très grands.
Particulièrement, le procédé selon l'invention comprend: - une première étape dans laquelle la première entité génère un premier élément de preuve au moyen d'un premier nombre aléatoire gardé secret par la première entité,
- une deuxième étape dans laquelle un ou plusieurs nombres dits communs sont générés en association avec le premier élément de preuve, dé façon à ce que la première entité et la deuxième entité puissent avoir connaissance du ou des dits nombres communs,
- une troisième étape dans laquelle la première entité, génère une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un des dits nombres communs,
- une quatrième étape dans laquelle est généré un deuxième élément de preuve en appliquant à l'image de ladite clé privée, un traitement numérique ouvert exécutable par une entité quelconque, de façon à permettre à la deuxième entité de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un des dits nombres communs.
On entend par génération d'un nombre commun en association avec le premier élément de preuve, une génération de nombre commun pour laquelle le premier élément de preuve doit être préalablement connu. Cette génération peut être purement aléatoire et indépendante du premier élément de preuve ou fonction du premier élément de preuve. Selon cette association, il est impossible de revenir sur le premier élément de preuve lorsque le nombre commun est généré. Plus particulièrement:
- dans la première étape, la première entité génère le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans une clé privée gardée secrète par la première entité et la première entité génère le premier élément de preuve obtenu à la suite d'une élévation à une puissance modulo n d'un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r,
- dans la troisième étape, la première entité génère l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs,
- - dans la quatrième étape, le deuxième élément de preuve Y généré est égal à une puissance modulo n d'un deuxième nombre entier g compris ou non dans ladite clé publique et dont l'exposant est l'image y de clé privée, le deuxième nombre entier g étant tel que le premier nombre entier G de clé publique est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris dans ladite clé publique. On notera d'une part qu'une connaissance de l'image de la clé privée générée dans la troisième étape ne fournit aucune information sur la clé privée car celle-ci est masquée par la combinaison linéaire avec le premier nombre aléatoire dont le premier élément de preuve ne révèle rien. D'autre part, une connaissance du premier élément de preuve et de la clé publique ne permet pas de générer le deuxième élément de preuve sans connaissance de l'image de clé privée dont la génération en deuxième étape ne peut être réalisée que par la deuxième entité qui seule, a connaissance de la clé privée et du nombre aléatoire. La première entité peut disposer de ressources de calcul réduites pour exécuter la cinquième étape car de relativement faibles valeurs du troisième nombre entier et du nombre commun suffisent à une vérification fiable de concordance avec le premier élément de preuve.
La quatrième étape peut être exécutée par la première entité. Cependant, le coût de calcul de la puissance dans la quatrième étape est considérable car l'exposant est de grande valeur.
Avantageusement, la quatrième étape est exécutée par une entité quelconque qui reçoit de la première entité, l'image y de clé privée. Comme expliqué précédemment, une connaissance de l'image de clé privée par l'entité quelconque ne nuit pas à la sécurité du procédé. L'exécution de la quatrième étape par l'entité quelconque, distincte de la première entité, soulage la première entité. L'entité quelconque est éventuellement la deuxième entité ou une entité intermédiaire.
Avantageusement encore la quatrième étape comprend:
- une première sous-étape dans laquelle la première entité décompose l'image y en une première image partielle y' représentée par les u bits de poids faible d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, dans laquelle la première entité génère une première composante Y1 et une deuxième composante g1 de deuxième élément de preuve telles que
Y' = gy' modulo n g' = g2 modulo n et dans laquelle la première entité envoie à une entité quelconque, la première composante Y', la deuxième composante g' et la deuxième image partielle y",
- une deuxième sous étape dans laquelle l'entité quelconque génère le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g1 avec la deuxième image partielle y" pour exposant et dans laquelle l'entité quelconque envoie le deuxième élément de preuve Y à la deuxième entité.
La valeur de y1 alors inférieure à la valeur de y ne requiert que des ressources de calcul réduites dans la deuxième entité pour générer la première composante Y' et la deuxième composante g1. La deuxième image partielle et les deux composantes Y' et g' étant suffisantes à l'entité quelconque pour générer le deuxième élément de preuve sans connaissance complète de l'image de clé privée, la sécurité du procédé est renforcée. Particulièrement lorsque le procédé cryptographique est utilisé pour authentifier un dialogue de la première entité avec la deuxième entité, la deuxième étape est exécutée par la deuxième entité qui, pour le premier élément de preuve reçu de la deuxième entité, choisit au moins un nombre commun dans un intervalle de sécurité et envoie ledit nombre commun à la première entité.
Ceci permet d'assurer à la deuxième entité que la première entité a reçu le nombre commun pour générer le deuxième élément de preuve en concordance avec le premier élément de preuve au sein du dialogue.
Plus particulièrement dans la cinquième étape, la concordance est vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
Plus particulièrement encore et différemment lorsque le dialogue comprend une émission de message M par la première entité, la concordance est vérifiée dans la cinquième étape lorsque le premier élément de preuve est égal à une fonction du message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c. Particulièrement encore et différemment lorsque le procédé cryptographique est utilisé pour une signature de message M, la deuxième étape est exécutée par la première entité qui génère au moins un nombre commun en fonction du premier élément de preuve et du message numérique M auquel est attaché ledit nombre commun.
Plus particulièrement dans la cinquième étape, la concordance est vérifiée lorsque le nombre commun est égal à une fonction du message numérique M et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
L'invention a aussi pour objet un dispositif prouveur, un dispositif vérificateur et un dispositif intermédiaire, adaptés pour mettre en œuvre le procédé cryptographique. Considérant un dispositif prouveur muni d'une clé privée gardée secrète et protégé contre toute intrusion, pour générer une preuve dont une vérification à l'aide d'une clé publique associée à ladite clé privée permet de garantir que le dispositif prouveur est à l'origine de ladite preuve, le dispositif prouveur est remarquable en ce qu'il comprend: - des moyens de calcul agencés pour générer un premier élément de preuve à partir d'un premier nombre aléatoire gardé secret dans le dispositif prouveur, et pour générer une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un de plusieurs nombres dits communs associés au premier élément de preuve, de sorte qu'il est possible de générer un deuxième élément de preuve en appliquant à ladite image de clé privée, un traitement numérique ouvert permettant de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un des dits nombres communs, - des moyens de communication agencés pour émettre au moins ledit premier élément de preuve.
Avantageusement dans le dispositif prouveur:
- les moyens de calcul sont d'une part agencés pour générer le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans la clé privée gardée secrète, et pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique avec pour exposant le premier nombre aléatoire r, - les moyens de calcul sont d'autre part agencés pour générer l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs. Différentes adaptations du dispositif prouveur sont préférées selon la version de procédé à mettre en oeuvre
Par exemple, les moyens de communication sont aussi agencés pour recevoir le ou les dits nombres communs après avoir émis le premier élément de preuve. De préférence, les moyens de communication sont agencés pour émettre l'image de clé privée.
Optionnellement, les moyens de calcul sont agencés pour générer le deuxième élément de preuve.
Avantageusement, les moyens de calcul sont agencés pour décomposer l'image y en une première image partielle y' représentée par les u bits de poids faible d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, et pour générer une première composante Y' et une deuxième composante g' de deuxième élément de preuve telles que Y' = gy' modulo n g' = g2 modulo n où g est un deuxième nombre entier tel que le premier nombre entier G de clé publique est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris dans ladite clé publique, les moyens de communication sont agencés pour émettre la première composante Y', la deuxième composante g' et la deuxième image partielle y".
Dans le cas particulier de signature de message, les moyens de calcul sont agencés pour générer au moins un nombre commun en fonction du premier élément de preuve et d'un message numérique M auquel est attaché ledit nombre commun.
Selon différentes variantes, les moyens de calcul sont agencés pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r. Selon une première variante, le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = ge modulo n v = G"s modulo n. Selon une deuxième variante, le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = gθ modulo n v = Gs modulo n. Selon une troisième variante, le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = g"e modulo n v = G"s modulo n. Selon une quatrième variante, les moyens de calcul sont agencés pour générer l'image y de clé privée par combinaison linéaire de deux nombres communs a et b selon la formule: y = a r + bs. Selon une cinquième variante, la clé privée comprenant plusieurs nombres secrets si, s2, ...:
- les moyens de calcul sont agencés pour générer autant de nombres communs d, c2, ... associés au premier élément de preuve x,
- les moyens de calcul sont agencés pour générer l'image de clé privée par combinaison linéaire selon la formule: y = r + d s1 + c2s2 + ... Selon une sixième variante, la clé publique comprenant spécifiquement le module n dont les facteurs premiers sont gardé secrets dans le dispositif prouveur, les moyens de calcul (37) sont agencés pour calculer les élévations de puissance en utilisant une technique dite des restes chinois.
Le dispositif prouveur est amélioré lorsque, la clé publique comprenant une quantité k de valeurs pré-calculées de premier élément de preuve x , les moyens de calcul sont agencés pour itérer k fois chaque exécution avec pour chaque itération une valeur différente de premier élément de preuve. De façon optionnelle, le premier élément de preuve est égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
Considérant un dispositif vérificateur pour vérifier qu'une preuve est issue d'un dispositif prouveur muni d'une clé privée gardée secrète par le dispositif prouveur, à l'aide d'une clé publique associée à ladite clé privée, le dispositif vérificateur est remarquable en ce qu'il comprend:
- des moyens de communication agencés pour recevoir un premier élément de preuve et un deuxième élément de preuve, - des moyens de calcul agencés pour vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un de plusieurs nombres dits communs générés en association avec le premier élément de preuve. Avantageusement dans le dispositif Vérificateur, les moyens de calcul sont agencés pour vérifier que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxième élément de preuve Y dont l'exposant est un troisième nombre entier e et d'une puissance d'un quatrième nombre entier v dont l'exposant est ledit nombre commun c, le troisième nombre entier et le quatrième nombre entier étant compris dans ladite clé publique.
Avantageusement encore, les moyens de calculs sont agencés pour choisir au moins un nombre commun dans un intervalle de sécurité après réception du premier élément de preuve et en ce que les moyens de communication sont agencés pour émettre ledit nombre commun.
Particulièrement, les moyens de calcul sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
Plus particulièrement, les moyens de calcul sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve est égal à une fonction d'un message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
Différemment, les moyens de calcul sont agencés pour déclarer la concordance vérifiée lorsque le nombre commun est égal à une fonction d'un message numérique M et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
L'égalité est vérifiée dans le dispositif vérificateur par la formule: x = Yevc modulo n. ou par la formule: γe = vc x modulo n. ou par la formule:
Yex = vc modulo n. ou encore la concordance est vérifiée par l'égalité: γ e v b = χa modulo n.
Lorsque que la clé privée comprend plusieurs nombres secrets si, s2,
..., les moyens de calcul (38) sont agencés pour choisir autant de nombres communs d, c2, ... pour le premier élément de preuve x, les moyens de calcul (38) sont agencés pour vérifier la concordance par autant de quatrièmes nombres entiers de clé publique v1 , v2, ... au moyen de l'égalité:
Ye v1c1 v2c2 ...= x modulo n. Dans une variante du dispositif vérificateur, les moyens de calcul comprennent en mémoire au moins une valeur pré-calculée de premier élément de preuve x considéré comme partie de la clé publique.
Particulièrement, les moyens de calcul comprennent en mémoire une quantité k de valeurs pré-calculées de premier élément de preuve x, les moyens de communications sont agencés pour recevoir k deuxième éléments de preuve et les moyens de calcul sont agencés pour vérifier une concordance de chaque deuxième élément de preuve reçu avec une valeur différente de premier élément de preuve.
Dans une autre variante du dispositif vérificateur, le premier élément de preuve étant égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, les moyens de calcul sont agencés pour exécuter la vérification sur le résultat de cette fonction. Considérant un dispositif intermédiaire pour être introduit en aval d'un dispositif prouveur en vue de générer une preuve basée sur une clé privée gardée secrète par le dispositif prouveur, ladite preuve étant vérifiable à l'aide d'une clé publique associée à ladite clé privée, le dispositif intermédiaire est remarquable en ce qu'il comprend des moyens de calcul pour générer au moins un élément de preuve par traitement numérique ouvert d'une image de ladite clé privée, ladite image de clé privée ne permettant pas de retrouver ladite clé privée.
Particulièrement, le dispositif comprend des moyens de communication agencés pour recevoir ladite image y de clé privée.
Selon une variante possible, les moyens de calcul sont agencés pour générer le deuxième élément de preuve Y en élevant à une puissance modulo n un deuxième nombre entier g compris dans ladite clé publique et dont l'exposant est l'image y de clé privée. Selon une autre variante possible, le dispositif intermédiaire comprend des moyens de communication agencés pour recevoir une première image partielle y' de clé privée, une première composante Y' et une deuxième composante g' de deuxième élément de preuve et les moyens de calcul sont agencés pour générer le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g' avec la deuxième image partielle y" pour exposant.
Préférentiellement, les moyens de communication du dispositif intermédiaire sont agencés pour émettre le deuxième élément de preuve Y à destination d'un dispositif vérificateur. L'invention sera mieux comprise dans les exemples de mise en œuvre dont la description suit en référence aux dessins annexés dans lesquels:
- la figure 1 montre des étapes de procédé d'authentification d'une deuxième entité par une première entité selon l'invention,
- la figure 2 montre une première variante du procédé d'authentification faisant intervenir une entité intermédiaire, - la figure 3 montre une deuxième variante du procédé d'authentification faisant intervenir une entité intermédiaire,
- la figure 4 montre des étapes de procédé d'authentification de message selon l'invention, - la figure 5 montre des étapes de procédé utilisé pour une signature de message selon l'invention.
Le mode de réalisation décrit ci-dessous est un procédé d'authentification d'entité ou d'identification. Il permet à un prouveur A de convaincre un vérificateur B de son authenticité. Ce procédé peut être transformé en procédé d'authentification de message ou signature numérique de message. Sa sécurité repose sur la difficulté conjointe de factoriser de grands nombres entiers.
Conformément à l'objectif et aux résultats explicités ci-dessus, ce procédé comporte deux options selon la façon dont on répartit les calculs entre plusieurs entités. Soient n un grand nombre entier composé et cinq nombres entiers positifs e, g, G, s, v, positifs inférieurs à n tels que : G=ge(mod n) et v=G's( mod n)
La clé publique du prouveur est alors constituée de tout ou partie du quintuplet (n, e, g, G, v), selon l'option choisie, tandis que la clé privée est constituée d'au moins le nombre entier s, gardé secret par le prouveur. La clé publique peut elle-même être décomposée en une partie générique au sens où elle est commune à plusieurs prouveurs et en une partie spécifique au sens où elle est différente pour chaque prouveur.
On définit également deux nombres entiers positifs k et t, appelés paramètres de sécurité.
Dans toutes les options, on suppose qu'une première entité, le vérificateur B connaît déjà tous les paramètres publics nécessaires à vérifier qu'une preuve est donnée par une deuxième entité, le prouveur A, à savoir son identité, sa clé publique, son certificat de clé publique, etc. Selon une première option, la clé publique est le triplet (n, e, v) et l'authentification de l'entité A par l'entité B se déroule en itérant k fois le protocole à présent décrit en référence à la figure 1.
Dans une première étape 9, l'entité A génère un premier nombre entier aléatoire r très supérieur à s, calcule x = Gr(mod n) et envoie x à l'entité B. De façon connue, les entités A et B sont de type ordinateur ou carte à puce. L'expression (mod n) signifie modulo n, c'est à dire que de façon connue, le résultat du calcul est égal au reste de la division entière du résultat de l'opération considérée, par le nombre entier n, généralement appelé module. Ici, le nombre entier x constitue un premier élément de preuve car seule l'entité qui génère le nombre aléatoire r, est capable de générer le nombre x. Le nombre aléatoire r n'est pas communiqué par l'entité qui le génère. Selon la théorie connue des nombres, le nombre r est choisi suffisamment grand pour qu'une connaissance du premier nombre entier G et du module n, ne permette pas de retrouver le nombre r à partir du nombre x. Ce premier élément de preuve n'est pas suffisant car un tel élément peut être généré à partir d'un nombre aléatoire quelconque, par toute entité si le premier nombre entier G est compris dans la clé publique. On notera que- dans le procédé décrit en référence à la figure 1 , le nombre entier G n'est pas nécessairement compris dans la clé publique.
Une réception par l'entité B du premier élément de preuve x, valide une transition 10 qui active alors une deuxième étape 11.
Dans l'étape 11 , l'entité B choisit au hasard un nombre entier c dans un intervalle [0,t - 1] dit de sécurité et envoie le nombre c à l'entité A. Ainsi, le nombre c, généré en association avec le premier élément de preuve par l'entité B, est commun aux entités A et B et aussi à toute autre entité s'infiltrant dans le dialogue entre les entités A et B.
Une réception par l'entité A du nombre commun c, valide une transition 12 qui active alors une troisième étape 13. Dans l'étape 13, l'entité A calcule y = r + se. Ainsi, l'entité A génère une image y de la clé privée sous forme de combinaison linéaire du nombre r et du nombre s dont le coefficient multiplicatif est le nombre commun c. Le nombre aléatoire r étant très grand et non communiqué, une connaissance de l'image y ne permet pas de retrouver le produit se et par conséquent, ne permet pas de retrouver le nombre s de clé privée qui reste donc gardé secret par l'entité A. Seule l'entité A ayant connaissance du nombre s, seule l'entité A peut générer une image qui intègre le nombre commun c.
Une quatrième étape 15 est ici directement activée à la suite de l'étape
13. Dans l'étape 15, l'entité A calcule Y =gy (mod n) et envoie Y à B. Ainsi, l'entité A génère ici un deuxième élément de preuve Y. On notera que le deuxième nombre entier g n'est pas nécessairement ici compris dans la clé publique.
Une réception par l'entité B du deuxième élément de preuve Y, valide une transition 16 qui active alors une cinquième étape 17.
Dans l'étape 17, l'entité B vérifie que : Yevc = x(mod n). Bien que, comme vu précédemment, le deuxième élément de preuve ne communique aucune information sur la clé privée, le deuxième élément de preuve Y est tel que:
Y = gr+sc(mod n) Donc en élevant le deuxième élément de preuve Y à une puissance dont l'exposant est le troisième nombre entier e de clé publique: γe = g(r+sc)e = Gr+sc (mod n)
D'autre part, bien que conformément à la théorie des nombres, le quatrième nombre entier v ne communique aucune information sur la clé privée, celui-ci est en fait tel que: v° = G-sc(modn).
Ainsi, sans que r ne soit communiqué a aucun moment, l'égalité:
Ye Vc = Gr= X (lTlθd n) certifie que l'entité A qui seule connaît s, a connaissance de c.
Considérant un imposteur comme étant une entité qui tente de se faire passer pour A sans connaître le secret s, la probabilité de ne pas détecter cet imposteur est égale à 1/kt. Dans beaucoup d'applications, le produit kt peut être choisi relativement petit, par exemple de l'ordre de 216.
Préférentiellement k=1 ett=e, auquel cas la probabilité définie ci-dessus est égale à 1/e et il n'y a qu'une équation de vérification à appliquer. Si e est égal par exemple à 216, alors la vérification sera relativement rapide car les exposants e et c sont relativement petits. Cette vérification peut même être accélérée en calculant à l'avance, à la fin de l'étape 11 ou même avant : z ≈ vc (mod n). Ainsi dans la quatrième étape, B n'a plus qu'à vérifier : Yez = x(mod n). D'autres valeurs de k et t sont possibles.
De nombreuses optimisations de ce protocole de base sont possibles. Par exemple, on peut remplacer v=G"s ( mod n) par v=Gs ( mod n), auquel cas l'équation de vérification devient Ye = xvc (mod n) ;
Par exemple encore, on peut remplacer G≈ge (mod n) par G=g"e (mod n), auquel cas l'équation de vérification devient xYe ≈ vc (mod n) ; Par exemple encore, on peut remplacer c par un couple d'entiers positifs ou négatifs (a,b) et y = r + se par y - ar + bs, auquel cas l'équation de vérification devient Yevb = xa (mod n).
Par exemple encore, on peut choisir plusieurs nombres secrets si, s , ... plusieurs clés publiques v1( v2, ..., plusieurs entiers ci, c2, ... et remplacer y = r + se par y = r + S1C1+S2C2 + ..., auquel cas l'équation de vérification devient ... = x(mod n) ;
Si n est compris dans la partie spécifique de la clé publique, et si les facteurs premiers de n sont connus de A, alors la première étape peut être accélérée en utilisant la technique dite des restes chinois.
La première étape peut être effectuée à l'avance. De plus les k valeurs de x peuvent faire partie de la clé publique de A, auquel cas le protocole commence directement à la deuxième étape.
Le nombre x peut être remplacé par une valeur f(x) où f est une fonction, par exemple égale à (ou incluant) une fonction de hachage cryptographique, auquel cas l'équation de vérification devient : f (Yevc(mod n)) ≈ x. On peut combiner tout ou partie des modifications précédentes.
De façon remarquable, le calcul de Y peut également être effectué par tout autre entité que A, et ce sans perte de sécurité. Dans ce cas A ne calcule que y et fournit y à cette entité. D'une part, la connaissance de y ne fournit aucune information sur s, puisque le produit se est « masqué » par le nombre aléatoire r. D'autre part, il est pratiquement impossible pour un fraudeur de fabriquer Y de toutes pièces puisque, étant donné n,e, v, x et c, il est infaisable de trouver une valeur de Y qui satisfasse l'équation de vérification de la quatrième étape, si la factorisation est un problème difficile.
Selon une deuxième option expliquée en référence à la figure 2, la clé publique est le quadruplet (n, e, g, v) et l'authentification de l'entité A par l'entité B se déroule en itérant k fois le protocole suivant. C désigne une entité quelconque autre que A. Le procédé se déroule de façon identique à celle décrite en référence à la figure 1 jusqu'à l'étape 13. En référence à la figure 2, l'étape 13 est modifiée en ce que l'entité A envoie l'image y de clé privée à une entité intermédiaire C. Comme vu précédemment, l'image y ne donne aucune information sur la clé privée. Une réception par l'entité C de l'image y, valide une transition 14 qui active alors la quatrième étape 15.
Dans l'étape 15, c'est ici l'entité intermédiaire C qui calcule le deuxième élément de preuve Y = gy (mod n) et envoie Y à B.
Le procédé se poursuit alors de façon identique à celle décrite en référence à la figure 1 par la transition 16 et l'étape 17.
Physiquement, l'entité intermédiaire C est par exemple mise en œuvre dans une puce, non nécessairement sécurisée, contenue dans le dispositif de sécurité du prouveur tel qu'une carte à puce, dans le dispositif de sécurité du vérificateur tel qu'un terminal de paiement, ou encore dans un autre dispositif tel qu'un ordinateur. La sécurité réside dans le fait que l'entité C ne peut trouver par elle-même une valeur Y qui convienne, c'est-à-dire telle que l'équation de vérification soit satisfaite.
Selon une troisième option, décrite en référence à la figure 3, le calcul de Y est partagé entre les entités A et C. Il y a une grande variété de façons de partager ce calcul. Ici encore, le procédé se déroule de façon identique à celle décrite en référence à la figure 1 jusqu'à l'étape 13. De façon avantageuse en étape 13, l'image y est décomposée selon la formule : y ≈ y'+2u y" . Dans cette formule, u est un nombre entier positif et y' est un nombre entier inférieur à 2U. La décomposition est facile à réaliser. Dans un mot informatique qui représente l'image y, la première image partielle y' est représentée par les u bits de poids faible de ce mot. La deuxième image partielle est représentée par les bits de poids fort restants de ce mot informatique. La quatrième étape pour calculer le deuxième élément de preuve, est ici décomposée en deux sous étapes 18 et 25.
La première sous étape 18 est exécutée par l'entité A directement à la suite de l'étape 13. Dans la sous étape 18, l'entité A calcule une première composante Y' de deuxième élément de preuve selon la formule: Y' ≈ gy' (mod n)
Le calcul de la première composante Y' nécessite nettement moins de ressources que le calcul complet du deuxième élément de preuve car la première image partielle y' est de valeur nettement inférieure à l'image y en choisissant une valeur de u relativement faible, par. exemple de l'ordre de huit ou seize.
Dans la sous étape 18, l'entité A calcule aussi une deuxième composante g' de deuxième élément de preuve selon la formule:
g' ≈ g2u(mo n) Le calcul de la première composante g' nécessite peu de ressources de se faisant sur le deuxième nombre entier g puis chaque élévation au carré suivante se faisant sur le résultat de l'élévation au carré précédente modulo n. En fin de sous étape 18, l'entité A envoie à l'entité intermédiaire C les deux composantes g', Y' et la deuxième image partielle y". La sécurité est renforcée par le fait que l'image de clé privée n'est pas communiquée en totalité. La charge de calcul de l'entité A est réduite par le fait que le deuxième élément de preuve n'est pas calculé en totalité par l'entité A.
Une réception par l'entité C des deux composantes g', Y' et de la deuxième image partielle y", valide alors la transition 14 pour activer la deuxième sous étape 25 dans l'entité intermédiaire C.
Dans la sous étape 25, l'entité C calcule Y = Y'g'γ" (mod n) et envoie le deuxième élément de preuve ainsi généré Y à l'entité B.
Le procédé se poursuit alors de façon identique à celle décrite en référence à la figure 1 par la transition 16 et l'étape 17. Avantageusement, avant validation de la transition 16, l'entité B exécute une étape 19 dans laquelle est calculé un nombre z pour faciliter le calcul de V en étape 17: z ≈ vc (mod n) L'étape 19 peut aussi être introduite avant la transition 16 dans les exemples des figures 1 , 2 et 4.
On remarque là encore qu'il est aussi possible de partager le calcul de Y entre l'entité C et le vérificateur B.
Les protocoles précédemment décrits peuvent être transformés en protocoles d'authentification de messages ou en schémas de signature numérique.
La figure 4 montre des étapes de procédé qui permettent d'authentifier qu'un message M reçu par la première entité B, a été émis par le deuxième entité A.
Dans une première étape 20, l'entité A génère un premier nombre entier aléatoire r très supérieur à s et calcule x = Gr (mod n) comme dans l'étape 9. x' en appliquant au message M conjointement avec le nombre x une fonction h, par exemple égale à une fonction de hachage cryptographique ou incluant une fonction de hachage cryptographique tel que: x' = h(x, M). L'entité A envoie ensuite le message M et le premier élément de preuve x' à l'entité B.
Une réception par l'entité B du premier élément de preuve x, valide une transition 21 qui active alors une deuxième étape 11. Le procédé se poursuit ensuite de façon identique à celle décrite en référence à l'une des figures 1 à 3.
Dans l'étape 11 , l'entité B choisit au hasard un nombre entier c dans un intervalle [0,t - 1] dit de sécurité et envoie le nombre c à l'entité A. Ainsi, le nombre c, généré en association avec le premier élément de preuve par l'entité B, est commun aux entités A et B et aussi à toute autre entité s'infiltrant dans le dialogue entre les entités A et B.
Une réception par l'entité A du nombre commun c, valide une transition 12 qui active alors une troisième étape 13.
Dans l'étape 13, l'entité A calcule y = r + se. Ainsi, l'entité A génère une image y de la clé privée sous forme de combinaison linéaire du nombre r et du nombre s dont le coefficient multiplicatif est le nombre commun c. Le nombre aléatoire r étant très grand et non communiqué, une connaissance de l'image y ne permet pas de retrouver le produit se et par conséquent, ne permet pas de retrouver le nombre s de clé privée qui reste donc gardé secret par l'entité A. Seule l'entité A ayant connaissance du nombre s, seule l'entité A peut générer une image qui intègre le nombre commun c. Sur l'exemple de la figure 4, l'entité A envoie l'image y de clé privée à une entité intermédiaire C. Comme vu précédemment, l'image y ne donne aucune information sur la clé privée.
Une réception par l'entité C de l'image y, valide une transition 14 qui active alors la quatrième étape 15. Dans l'étape 15, c'est ici l'entité intermédiaire C qui calcule le deuxième Une réception par l'entité B du deuxième élément de preuve Y, valide une transition 16 qui active alors une cinquième étape 22.
Dans l'étape 22, l'entité B calcule comme dans l'étape 17 une valeur de vérification V au moyen de la formule: V = Yevc(mod n) puis vérifie la concordance du deuxième élément de preuve avec le premier élément de preuve au moyen de l'équation de vérification: h(V,M) = x'. Dans la variante utilisant une fonction f, l'équation de vérification devient h(f(Yevc(mod n)), M) = x'.
A la différence de l'authentification de message, la signature de message est indépendante de l'émetteur. La signature d'un message M par l'entité A reste valable si l'entité B reçoit le message M de toute autre entité. En référence à la figure 5, dans une première étape 1 , l'entité A génère un premier nombre entier aléatoire r très supérieur à s et calcule x = Gr (mod n) comme dans l'étape 9. Le premier élément de preuve x ainsi généré n'a pas besoin d'être envoyé à l'entité B car il n'est pas nécessaire d'authentifier un dialogue entre les unités A et B pour vérifier une signature.
Dans une deuxième étape 23 directement à la suite de l'étape 1 , l'entité A génère un nombre commun c', en appliquant au message M conjointement avec le nombre x une fonction h, par exemple égale à une fonction de hachage cryptographique ou incluant une fonction de hachage cryptographique tel que: c' = h(x, M). Dans une troisième étape 24 directement à la suite de l'étape 23, l'entité
A calcule y = r + se. Ainsi, l'entité A génère une image y de la clé privée sous forme de combinaison linéaire du nombre r et du nombre s dont le coefficient multiplicatif est le nombre commun c. Le nombre aléatoire r étant très grand et non communiqué, une connaissance de l'image y ne permet pas de retrouver le produit se et par conséquent, ne permet pas de retrouver le nombre s de clé privée qui reste donc gardé secret par l'entité A. Seule l'entité A ayant connaissance du nombre s, seule l'entité A peut générer une image qui intègre le nombre commun c'. Comme vu précédemment, l'image y ne donne aucune information sur la clé privée. Le couple (c',y) constitue une signature du message M car ce couple intègre à la fois le message M et un élément de clé privée qui garantit que l'entité A est à l'origine de cette signature.
L'entité A envoie ensuite le message M et la signature (c',y) à l'entité B ou à toute autre entité.
Une réception par l'entité B du message M avec sa signature (c',y), en provenance de l'entité A ou de toute autre entité valide une transition 2. Une réception par l'entité C de l'image y, valide une transition 4 qui active alors une quatrième étape 5.
Dans l'étape 5, c'est ici l'entité intermédiaire C qui calcule le deuxième élément de preuve Y = gy (mod n) et envoie Y à B.
Une réception par l'entité B du deuxième élément de preuve Y, valide une transition 7 qui active alors une cinquième étape 8.
Dans l'étape 8, l'entité B calcule comme dans l'étape 17 une valeur de vérification V au moyen de la formule:
V = Yevc'(mod n) puis vérifie la concordance du deuxième élément de preuve avec le premier élément de preuve au moyen de l'équation de vérification: h(V,M) ≈ c'. Ici, la concordance avec le premier élément de preuve, est vérifiée par cette égalité du fait que le nombre commun c' généré en étape 23, concorde lui même avec le premier élément de preuve. Dans la variante utilisant une fonction f, l'équation de vérification devient h(f(YV(mod n)), M) = x*.
La réception par l'entité C de l'image y qui valide la transition 4 peut résulter d'une réception du message M avec sa signature (c'.y) en provenance de l'entité A ou de toute autre entité. En référence à la figure 5, la réception par l'entité C de l'image y résulte d'une étape 3 activée par la transition 2. Dans l'étape 3, l'entité B extrait l'image y de la signature pour l'envoyer à l'entité C.
Dans une étape 6 exécutée avant validation de la transition 7, l'entité B extrait le nombre commun c' de la signature pour obtenir un nombre z égal à vc' qui facilite le calcul de V en étape 8.
En référence à la figure 6, les entités A, B et C décrites précédemment sont matérialisées respectivement dans un dispositif prouveur 30, un dispositif vérificateur 31 et un dispositif intermédiaire 32. Le dispositif prouveur 30 est par exemple une carte à microprocesseur telle qu'une carte de crédit, une carte d'identification d'abonné d'un téléphone mobile. Le dispositif vérificateur 31 est par exemple un terminal bancaire ou un serveur de commerce électronique, un équipement d'opérateur de télécommunication mobile. Le dispositif intermédiaire 32 est par exemple une extension de carte à microprocesseur, un terminal de lecture de carte de crédit ou une carte électronique de téléphone mobile.
Le dispositif prouveur 30 comprend des moyens de communication 34 et des moyens de calcul 37. Le dispositif prouveur 30 est protégé contre les intrusions. Les moyens de communication 34 sont agencés pour émettre le premier élément de preuve x conformément à l'étape 9 décrite en référence aux figures 1 à 3, l'image y de clé privée conformément à l'étape 13 décrite en référence aux figures 2 et 4, le deuxième élément de preuve Y conformément à l'étape 15 décrite en référence à la figure 1 , la première image partielle Y' avec les deux composantes d'image de clé privée g' et y" conformément à l'étape 18 décrite en référence à la figure 3, le message M conformément aux étapes 20 ou 24 décrites en référence aux figures 4 et 5 ou le nombre commun c conformément à l'étape 24 décrite en référence à la figure 5 selon la version du procédé à mettre en oeuvre. Les moyens de communication 34 sont aussi agencés pour recevoir le nombre commun c conformément à la transition 12 décrite en référence aux figures 1 à 4 lorsque des versions du procédé à mettre en œuvre correspondent à l'authentification. Pour une version de procédé à mettre en œuvre correspondant à une signature, les moyens de communication 34 n'ont pas besoin d'être agencés pour recevoir le nombre commun c.
Les moyens de calcul 37 sont agencés pour exécuter les étapes 9, 13 et 15 décrites en référence à la figure 1, les étapes 9 et 13 décrites en référence à la figure 2, les étapes 9, 13 et 18 décrites en référence à la figure 3, les étapes 20 et 13 décrites en référence à la figure 4 ou les étapes 1, 23 et 24 décrites en référence à la figure 5 selon la version de procédé à mettre en œuvre. De façon connue, les moyens de calcul 37 comprennent un microprocesseur et des microprogrammes ou des circuits combinatoires dédiés aux calculs précédemment décrits.
Le dispositif vérificateur 31 comprend des moyens de communication 35 et des moyens de calcul 38. Les moyens de communication 35 sont agencés pour émettre un ou plusieurs nombres communs c conformément à l'étape 11 décrite en référence aux figures 1 à 4 lorsque des versions du procédé à mettre en œuvre correspondent à l'authentification. Pour une version de procédé à mettre en œuvre correspondant à une signature, les moyens de communication 35 n'ont pas besoin d'être agencés pour émettre de nombre commun c. Les moyens de communication 35 sont aussi agencés pour recevoir les deux éléments de preuve x et Y conformément aux transitions 10 et 16 décrites en référence aux figures 1 à 3, un message M avec le premier élément de preuve x' et le deuxième élément de preuve Y conformément aux transitions 21 et 16 décrites en référence à la figure 4 ou le deuxième élément de preuve et le message M avec un ou plusieurs nombre communs c' et l'image y de clé privée conformément aux transitions 2 et 8 décrites en référence à la figure 5. Eventuellement pour version de procédé à mettre en œuvre correspondant à une signature, les moyens de communication 35 sont agencés pour retransmettre l'image y de clé privée conformément à l'étape 3 décrite en référence à la figure 5.
Les moyens de calcul 38 sont agencés pour exécuter les étapes 11, 17 et 19 décrites en référence aux figures 1 à 3, les étapes 11 et 22 décrites en selon la version de procédé à mettre en œuvre. De façon connue, les moyens de calcul 38 comprennent un microprocesseur et des microprogrammes ou des circuits combinatoires dédiés aux calculs précédemment décrits.
Le dispositif intermédiaire 32 comprend des moyens de communication 36 et des moyens de calcul 39. Les moyens de communication 36 sont agencés pour émettre le deuxième élément de preuve Y conformément à l'étape 15 décrite en référence aux figures 2 et 4, à l'étape 25 décrite en référence à la figure 3 ou à l'étape 5 décrite en référence à la figure 5. Les moyens de communication 36 sont aussi agencés pour recevoir l'image y de clé privée conformément à la transition 14 décrite en référence aux figures 2 et 4, l'image y de clé privée conformément à la transition 4 décrite en référence à la figure 5 ou l'image partielle y" de clé privée et les deux composantes g' et Y' de deuxième élément de preuve conformément à la transition 14 décrite en référence à la figure 3. Les moyens de calcul 39 sont agencés pour exécuter l'étape 15 décrite en référence aux figures 2 ou 4, l'étape 25 décrite en référence à la figure 3 ou l'étape 5 décrite en référence à la figure 5. selon la version de procédé à mettre en œuvre. De façon connue, les moyens de calcul 39 comprennent un microprocesseur et des programmes ou des circuits combinatoires dédiés aux calculs précédemment décrits.
De façon améliorée, les moyens de calcul et de communication précédemment décrits sont agencés pour répéter k fois l'exécution des étapes précédemment décrites, chaque fois pour un premier élément de preuve et un deuxième élément de preuve distincts.

Claims

REVENDICATIONS
1. Procédé cryptographique dans lequel une première entité (A) génère au moyen d'une clé privée gardée secrète par la première entité (A), une preuve vérifiable par une deuxième entité (B) au moyen d'une clé publique associée à ladite clé privée, caractérisé en ce qu'il comprend une étape (5, 15) dans laquelle au moins un élément de preuve est généré au moins en partie par traitement numérique ouvert d'une donnée qui ne permet pas de retrouver ladite clé privée.
2. Procédé cryptographique selon la revendication 1, caractérisé en ce qu'il comprend".
- une première étape (1, 9, 20) dans laquelle la première entité (A) génère un premier élément de preuve au moyen d'un premier nombre aléatoire gardé secret par la première entité (A),
- une deuxième étape (11, 23) dans laquelle un ou plusieurs nombres dits communs sont générés en association avec le premier élément de preuve, de façon à ce que la première entité (A) et la deuxième entité (B) puissent avoir connaissance du ou des dits nombres communs, - une troisième étape (13, 24) dans laquelle la première entité (A), génère une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un des dits nombres communs,
- une quatrième étape (5, 15) dans laquelle est généré un deuxième élément de preuve en appliquant à l'image de ladite clé privée, un traitement numérique ouvert exécutable par une entité quelconque (C), de façon à permettre à la deuxième entité (B) de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au
3. Procédé cryptographique selon la revendication 2, caractérisé en ce que:
- dans la première étape (1, 9, 20) la première entité (A) génère le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans une clé privée gardée secrète par la première entité (A) et la première entité (A) génère le premier élément de preuve obtenu à la suite d'une élévation à une puissance modulo n d'un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, - dans la troisième étape (13, 24), la première entité (A) génère l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs, - dans la quatrième étape (5, 15) le deuxième élément de preuve Y généré est égal à une puissance modulo n d'un deuxième nombre entier g compris ou non dans ladite clé publique et dont l'exposant est l'image y de clé privée, le deuxième nombre entier g étant tel que le premier nombre entier G est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris ou non dans ladite clé publique.
4. Procédé cryptographique selon la revendication 3, caractérisé en ce que dans la quatrième étape, le deuxième élément de preuve Y est envoyé à la deuxième entité (B) et en ce qu'il comprend une cinquième étape (8, 17, 22) dans laquelle la deuxième entité (B) vérifie que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et d'une puissance d'un quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
5. Procédé cryptographique selon l'une des revendications 2 à 4, caractérisé en ce que la quatrième étape (5, 15) est exécutée par une entité quelconque (C) distincte de la première entité (A) et qui reçoit de la première entité (A), l'image y de clé privée.
6. Procédé cryptographique selon l'une des revendications 2 à 4, caractérisé en ce que la quatrième étape (15) est exécutée par la première entité (A).
7. Procédé cryptographique selon l'une des revendications 2 à 4, caractérisé en ce que la quatrième étape comprend:
- une première sous-étape (18) dans laquelle la première entité (A) décompose l'image y en une première image partielle y' représentée par les u bits de poids faible d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, dans laquelle la première entité (A) génère une première composante Y" et une deuxième composante g' de deuxième élément de preuve telles que
Y' = gy' modulo n g- = g modulo n et dans laquelle la première entité (A) envoie à une entité intermédiaire (C), la première composante Y', la deuxième composante g' et la deuxième image partielle y",
- une deuxième sous étape (25) dans laquelle l'entité intermédiaire (C) génère le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g' avec la deuxième image partielle y" pour exposant et dans laquelle l'entité intermédiaire (C) envoie le deuxième élément de preuve Y à la première entité (B).
8. Procédé cryptographique selon l'une des revendications 2 à 7, caractérisé en ce que la deuxième étape (11 ) est exécutée par la deuxième entité (B) qui, pour le premier élément de preuve reçu de la première entité (A), choisit au moins un nombre commun dans un intervalle de sécurité et envoie ledit nombre commun à la première entité (A).
9. Procédé cryptographique selon l'une des revendications 2 à 7, caractérisé en ce que la deuxième étape (23) est exécutée par la première entité (A) qui génère au moins un nombre commun en fonction du premier élément de preuve et d'un message numérique M auquel est attaché ledit nombre commun.
10. Procédé cryptographique selon la revendication 4, caractérisé en ce que dans la cinquième étape (17), la concordance est vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
11. Procédé cryptographique selon la revendication 4, caractérisé en ce que dans la cinquième étape (22), la concordance est vérifiée lorsque le premier élément de preuve est égal à une fonction d'un message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
12. Procédé cryptographique selon la revendication 4, caractérisé en ce que dans la cinquième étape (8), la concordance est vérifiée lorsque le nombre commun est égal à une fonction du message numérique M et du l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
13. Procédé cryptographique selon la revendication 3, caractérisé en ce que le premier élément de preuve est égal à la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
14. Procédé cryptographique selon la revendication 13, caractérisé en ce que le premier nombre entier G et le quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = ge modulo n v = G"s modulo n et en ce que l'égalité est vérifiée par la formule: x = Yevc modulo n.
15. Procédé cryptographique selon la revendication 13, caractérisé en ce que le quatrième nombre entier v de clé publique est donné par la formule: G = ge modulo n v = Gs modulo n et en ce que l'égalité est vérifiée par la formule:
Ye = vc x modulo n.
16. Procédé cryptographique selon la revendication 13, caractérisé en ce que le premier nombre entier G de clé publique et le quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = g"e modulo n v ≈ G"s modulo n et en ce que l'égalité est vérifiée par la formule:
17. Procédé cryptographique selon la revendication 13, caractérisé en ce que:
- dans la deuxième étape, deux nombres communs a et b sont générés pour le premier élément de preuve x,
- dans la troisième étape, la combinaison linéaire est donnée par la formule: y = a r + bs
- dans la cinquième étape, la concordance est vérifiée par l'égalité: Ye vb = xa modulo n.
18. Procédé cryptographique selon la revendication 13, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets si, s2, ...:
- dans la deuxième étape, autant de nombres communs d, c2, ... sont générés pour le premier élément de preuve x,
- dans la troisième étape, la combinaison linéaire est donnée par la formule: y ≈ r + d s1 + c2s2 + ...
- dans la cinquième étape, la concordance est vérifiée par autant de quatrièmes nombres entiers de clé publique v1, v2, ... au moyen de l'égalité: γe v1 d 2 c2 .. ≈ x modulo n.
19. Procédé cryptographique selon la revendication 3, caractérisé en ce que la clé publique comprenant spécifiquement le module n dont les facteurs premiers sont connus de la première entité (A), la première étape est accélérée en utilisant une technique dite des restes chinois.
20. Procédé cryptographique selon la revendication 2, caractérisé en ce que la clé publique comprend au moins une valeur pré-calculée de premier
21. Procédé cryptographique selon la revendication 20, caractérisé en ce que la clé publique comprend une quantité k de valeurs pré-calculées de premier élément de preuve x et en ce qu'une exécution de la deuxième à la cinquième étape est itérée k fois, avec pour chaque itération une valeur différente de premier élément de preuve.
22. Procédé cryptographique selon la revendication 2, caractérisé en ce que le premier élément de preuve est égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, et en ce que la vérification de la cinquième étape est faite sur le résultat de cette fonction.
23. Dispositif prouveur (30) muni d'une clé privée gardée secrète et protégé contre toute intrusion, pour générer une preuve dont une vérification à l'aide d'une clé publique associée à ladite clé privée permet de garantir que le dispositif (30) est à l'origine de ladite preuve, caractérisé en ce qu'il comprend: - des moyens de calcul (37) agencés pour générer un premier élément de preuve à partir d'un premier nombre aléatoire gardé secret dans le dispositif (30), et pour générer une image de ladite clé privée en combinant au moins un premier nombre entier de clé privée avec le premier nombre aléatoire et au moins l'un de plusieurs nombres dits communs associés au premier élément de preuve, de sorte qu'il est possible de générer un deuxième élément de preuve en appliquant à ladite image de clé privée, un traitement numérique ouvert permettant de vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un des dits nombres communs, - des moyens de communication (34) agencés pour émettre au moins ledit
24. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que:
- les moyens de calcul (37) sont d'une part agencés pour générer le premier nombre aléatoire r très supérieur à tout premier nombre entier s compris dans la clé privée gardée secrète, et pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique avec pour exposant le premier nombre aléatoire r, - les moyens de calcul (37) sont d'autre part agencés pour générer l'image y de ladite clé privée par combinaison linéaire du premier nombre aléatoire r et d'au moins un premier nombre entier s de clé privée, combinaison linéaire dont au moins un coefficient multiplicatif est le ou l'un des dits nombres communs.
25. Dispositif prouveur (30) selon la revendication 23 ou 24, caractérisé en ce que les moyens de communication (34) sont agencés pour recevoir le ou les dits nombres communs après avoir émis le premier élément de preuve.
26. Dispositif prouveur (30) selon l'une des revendications 23 à 25, caractérisé en ce que les moyens de communication (34) sont agencés pour émettre l'image de clé privée.
27. Dispositif prouveur (30) selon l'une des revendications 23 à 25, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer le deuxième élément de preuve.
28. Dispositif prouveur (30) selon l'une des revendications 24 à 25, caractérisé en ce que: - les moyens de calcul (37) sont agencés pour décomposer l'image y en d'un mot informatique qui représente l'image y et en une deuxième image partielle y" représentée par les bits de poids fort restants du dit mot informatique, et pour générer une première composante Y' et une deuxième composante g' de deuxième élément de preuve telles que Y' = gy' modulo n
g' = g2 modulo n où g est un deuxième nombre entier tel que le premier nombre entier G de clé publique est une puissance modulo n du deuxième nombre entier g avec pour exposant un troisième nombre entier e compris dans ladite clé publique,
- les moyens de communication (34) sont agencés pour émettre la première composante Y', la deuxième composante g' et la deuxième image partielle y".
29. Dispositif prouveur (30) selon l'une des revendications 23 ou 24, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer au moins un nombre commun en fonction du premier élément de preuve et d'un message numérique M auquel est attaché ledit nombre commun.
30. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer le premier élément de preuve en élevant à une puissance modulo n un premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
31. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G ≈ ge modulo n
32. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules: G = ge modulo n v = Gs modulo n.
33. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que le premier nombre entier G de clé publique et un quatrième nombre entier v de clé publique sont respectivement donnés par les formules:
G = g"e modulo n v = G"s modulo n.
34. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que les moyens de calcul (37) sont agencés pour générer l'image y de clé privée par combinaison linéaire de deux nombres communs a et b selon la formule: y = a r + b's.
35. Dispositif prouveur (30) selon la revendication 30, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets si , s2, ...:
- les moyens de calcul (37) sont agencés pour générer autant de nombres communs d , c2, ... associés au premier élément de preuve x,
- les moyens de calcul (37) sont agencés pour générer l'image de clé privée par combinaison linéaire selon la formule: y = r + d s1 + c2s2 + ...
36. Dispositif prouveur (30) selon la revendication 24, caractérisé en ce que la clé publique comprenant spécifiquement le module n dont les facteurs premiers sont gardé secrets dans le dispositif prouveur, les moyens de calcul 37) sont agencés pour calculer les élévations de puissance en utilisant une
37. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que la clé publique comprenant une quantité k de valeurs pré-calculées de premier élément de preuve x , les moyens de calcul (37) sont agencés pour itérer k fois chaque exécution avec pour chaque itération une valeur différente de premier élément de preuve.
38. Dispositif prouveur (30) selon la revendication 23, caractérisé en ce que le premier élément de preuve est égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r.
39. Dispositif vérificateur (31), pour vérifier qu'une preuve est issue d'un dispositif prouveur muni d'une clé privée gardée secrète par le dispositif prouveur, à l'aide d'une clé publique associée à ladite clé privée caractérisé en ce qu'il comprend:
- des moyens de communication (35) agencés pour recevoir un premier élément de preuve et un deuxième élément de preuve, des moyens de calcul (38) agencés pour vérifier une concordance du premier élément de preuve avec le deuxième élément de preuve en appliquant une première partie de ladite clé publique au deuxième élément de preuve et au moins une deuxième partie de ladite clé publique à au moins l'un de plusieurs nombres dits communs générés en association avec le premier élément de preuve.
40. Dispositif vérificateur (31) selon la revendication 39, caractérisé en ce que les moyens de calcul (38) sont agencés pour vérifier que le premier élément de preuve concorde avec un produit modulo n d'une puissance du deuxième élément de preuve Y dont l'exposant est un troisième nombre entier e et d'une puissance d'un quatrième nombre entier v dont l'exposant est ledit nombre commun c, le troisième nombre entier et le quatrième nombre entier étant compris dans ladite clé publique.
41. Dispositif vérificateur (31) selon la revendication 39 ou 40, caractérisé en ce que les moyens de calculs (38) sont agencés pour choisir au moins un nombre commun dans un intervalle de sécurité après réception du premier élément de preuve et en ce que les moyens de communication (35) sont agencés pour émettre ledit nombre commun.
42. Dispositif vérificateur (31) selon la revendication 40, caractérisé en ce que les moyens de calcul (38) sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve x est égal au produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
43. Dispositif vérificateur (31) selon la revendication 40, caractérisé en ce que les moyens de calcul (38) sont agencés pour déclarer la concordance vérifiée lorsque le premier élément de preuve est égal à une fonction d'un message numérique M auquel est attaché le premier élément de preuve et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
44. Dispositif vérificateur (31) selon la revendication 40, caractérisé en ce que les moyens de calcul (38) sont agencés pour déclarer la concordance vérifiée lorsque le nombre commun est égal à une fonction d'un message numérique M et du produit modulo n de la puissance du deuxième élément de preuve Y dont l'exposant est le troisième nombre entier e et de la puissance du quatrième nombre entier v compris dans ladite clé publique dont l'exposant est ledit nombre commun c.
45. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule: x = Yevc modulo n.
46. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule: Ye = vc x modulo n.
47. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que l'égalité est vérifiée par la formule:
Yex = vc modulo n.
48. Dispositif vérificateur (31) selon la revendication 42, caractérisé en ce que la concordance est vérifiée par l'égalité:
Ye vb = xa modulo n.
49. Dispositif vérificateur (31) selon la revendication 41, caractérisé en ce que la clé privée comprenant plusieurs nombres secrets si, s2, ...:
- les moyens de calcul (38) sont agencés pour choisir autant de nombres communs d, c2, ... pour le premier élément de preuve x,
- les moyens de calcul (38) sont agencés pour vérifier la concordance par autant de quatrièmes nombres entiers de clé publique v1, v2, ... au moyen de l'égalité:
Ye v1c1 v2c2 ...= x modulo n.
50. Dispositif vérificateur (31) selon la revendication 39, caractérisé en ce que les moyens de calcul (38) comprennent en mémoire au moins une valeur pré-calculée de premier élément de preuve x considéré comme partie de la clé publique.
51. Dispositif vérificateur (31) selon la revendication 50, caractérisé en ce que les moyens de calcul (38) comprennent en mémoire une quantité k de valeurs pré-calculées de premier élément de preuve x, en ce que les moyens de communications sont agencés pour recevoir k deuxièmes éléments de preuve et en ce que les moyens de calcul (38) sont agencés pour vérifier une concordance de chaque deuxième élément de preuve reçu avec une valeur différente de premier élément de preuve.
52. Dispositif vérificateur (31 ) selon la revendication 40, caractérisé en ce que le premier élément de preuve étant égal à une fonction f de la puissance modulo n du premier nombre entier G compris ou non dans ladite clé publique et dont l'exposant est le premier nombre aléatoire r, les moyens de calcul (38) sont agencés pour exécuter la vérification sur le résultat de cette fonction.
53. Dispositif intermédiaire (32) pour être introduit en aval d'un dispositif prouveur en vue de générer une preuve basée sur une clé privée gardée secrète par le dispositif prouveur, ladite preuve étant vérifiable à l'aide d'une clé publique associée à ladite clé privée, caractérisé en ce qu'il comprend des moyens de calcul (39) pour générer au moins un élément de preuve par traitement numérique ouvert d'une image de ladite clé privée, ladite image de clé privée ne permettant pas de retrouver ladite clé privée.
54. Dispositif intermédiaire (32) selon la revendication 53, caractérisé en ce qu'il comprend des moyens de communication (36) agencés pour recevoir ladite image y de clé privée.
55. Dispositif intermédiaire (32) selon la revendication 54, caractérisé en ce élément de preuve Y en élevant à une puissance modulo n un deuxième nombre entier g compris dans ladite clé publique et dont l'exposant est l'image y de clé privée.
56. Dispositif intermédiaire (32) selon la revendications 53, caractérisé en ce qu'il comprend des moyens de communication (36) agencés pour recevoir une première image partielle y' de clé privée, une première composante Y' et une deuxième composante g' de deuxième élément de preuve et en ce que les moyens de calcul (39) sont agencés pour générer le deuxième élément de preuve Y en multipliant la première composante Y' par une puissance de la deuxième composante g' avec la deuxième image partielle y" pour exposant.
57. Dispositif intermédiaire (32) selon la revendication 55 ou 56, caractérisé en ce que les moyens de communication (36) sont agencés pour émettre le deuxième élément de preuve Y à destination d'un dispositif vérificateur.
EP02799095A 2001-12-21 2002-12-16 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede Withdrawn EP1456998A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0116789 2001-12-21
FR0116789A FR2834153B1 (fr) 2001-12-21 2001-12-21 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
PCT/FR2002/004366 WO2003055134A1 (fr) 2001-12-21 2002-12-16 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede

Publications (1)

Publication Number Publication Date
EP1456998A1 true EP1456998A1 (fr) 2004-09-15

Family

ID=8870936

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02799095A Withdrawn EP1456998A1 (fr) 2001-12-21 2002-12-16 Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede

Country Status (8)

Country Link
US (1) US7382875B2 (fr)
EP (1) EP1456998A1 (fr)
JP (1) JP2005513564A (fr)
KR (1) KR100971038B1 (fr)
CN (1) CN1618200B (fr)
AU (1) AU2002364321A1 (fr)
FR (1) FR2834153B1 (fr)
WO (1) WO2003055134A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363492B2 (en) * 2005-02-25 2008-04-22 Motorola, Inc. Method for zero-knowledge authentication of a prover by a verifier providing a user-selectable confidence level and associated application devices
JP4988448B2 (ja) * 2007-06-25 2012-08-01 株式会社日立製作所 一括検証装置、プログラム及び一括検証方法
FR2923305B1 (fr) * 2007-11-02 2011-04-29 Inside Contactless Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete
FR2925245B1 (fr) * 2007-12-12 2010-06-11 Sagem Securite Controle d'une entite a controler par une entite de controle
FR2981531A1 (fr) * 2011-10-14 2013-04-19 France Telecom Procede de transfert du controle d'un module de securite d'une premiere entite a une deuxieme entite
FR2992509B1 (fr) * 2012-06-21 2017-05-26 Commissariat Energie Atomique Dispositif et procede pour generer une cle de session
EP3697019A1 (fr) * 2019-02-12 2020-08-19 Siemens Aktiengesellschaft Procédé de fourniture d'un élément de preuve du lieu d'origine pour un couple de clé numérique
CN110517147B (zh) * 2019-08-30 2023-04-14 深圳市迅雷网络技术有限公司 交易数据处理方法、装置、系统及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6092202A (en) * 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
US6779111B1 (en) * 1999-05-10 2004-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Indirect public-key encryption
JP2001209308A (ja) * 2000-01-24 2001-08-03 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 一括署名方法
AU6816101A (en) * 2000-06-05 2001-12-17 Phoenix Tech Ltd Systems, methods and software for remote password authentication using multiple servers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO03055134A1 *

Also Published As

Publication number Publication date
FR2834153A1 (fr) 2003-06-27
KR20040096509A (ko) 2004-11-16
WO2003055134A9 (fr) 2004-07-15
JP2005513564A (ja) 2005-05-12
CN1618200A (zh) 2005-05-18
CN1618200B (zh) 2010-05-12
AU2002364321A1 (en) 2003-07-09
US20050220298A1 (en) 2005-10-06
FR2834153B1 (fr) 2004-04-23
US7382875B2 (en) 2008-06-03
WO2003055134A1 (fr) 2003-07-03
KR100971038B1 (ko) 2010-07-20

Similar Documents

Publication Publication Date Title
EP2345202B1 (fr) Procédé de signature numérique en deux étapes
FR2759226A1 (fr) Protocole de verification d'une signature numerique
EP1459479A2 (fr) Systeme cryptographique de signature de groupe
FR2760583A1 (fr) Systeme de verification de cartes de donnees
EP1807967B1 (fr) Procede de delegation securisee de calcul d'une application bilineaire
EP0878934B1 (fr) Procédé d'identification à clé publique utilisant deux fonctions de hachage
EP1277307A1 (fr) Procede de cryptographie sur courbes elliptiques
EP1166496A1 (fr) Procede d'authentification et de signature de message utilisant des engagements de taille reduite et systemes correspondants
EP2572470B1 (fr) Procédé d'obtention de clés de chiffrement, terminal, serveur, et produits programmes d'ordinateurs corresupondants.
WO2006070092A1 (fr) Procede de traitement de donnees et dispositif associe
WO2003055134A1 (fr) Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
WO1997047110A1 (fr) Procede de cryptographie a cle publique
EP1520370B1 (fr) Procédé et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
EP1407575B1 (fr) Procede pour effectuer une tache cryptographique au moyen d'une cle publique
EP1325584A1 (fr) Procede d'encodage de messages longs pour schemas de signature electronique a base de rsa
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas
WO2003021864A2 (fr) Procede de reduction de la taille d'une signature rsa ou rabin
WO2000064097A1 (fr) Procede de verification de signature ou d'authentification
FR3070517A1 (fr) Systeme et procede d'authentification et de signature numerique
WO2003013053A1 (fr) Procede de determination de la taille d'un alea pour un schema de signature electronique
WO2005088438A1 (fr) Procede cryptographique notamment a cle publique
FR2903258A1 (fr) Systeme et procede cryptographique a cle publique pour l'authentification d'une premiere entite par une seconde entite

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040615

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO

17Q First examination report despatched

Effective date: 20090727

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

Owner name: MATH, RISZK

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20170701