EP1145472A2 - Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message - Google Patents

Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message

Info

Publication number
EP1145472A2
EP1145472A2 EP00901656A EP00901656A EP1145472A2 EP 1145472 A2 EP1145472 A2 EP 1145472A2 EP 00901656 A EP00901656 A EP 00901656A EP 00901656 A EP00901656 A EP 00901656A EP 1145472 A2 EP1145472 A2 EP 1145472A2
Authority
EP
European Patent Office
Prior art keywords
controller
demonstrator
challenges
mod
witness
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
EP00901656A
Other languages
German (de)
French (fr)
Other versions
EP1145472A3 (en
Inventor
Louis Guillou
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 RiZK
Telediffusion de France ets Public de Diffusion
Orange SA
Original Assignee
Math RiZK
Telediffusion de France ets Public de Diffusion
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
Priority claimed from FR9901065A external-priority patent/FR2788910A1/en
Priority claimed from FR9903770A external-priority patent/FR2788911A1/en
Application filed by Math RiZK, Telediffusion de France ets Public de Diffusion, France Telecom SA filed Critical Math RiZK
Publication of EP1145472A2 publication Critical patent/EP1145472A2/en
Publication of EP1145472A3 publication Critical patent/EP1145472A3/en
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/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

Definitions

  • Method, system, device intended to prove the authenticity of an entity and / or the integrity and / or the authenticity of a message.
  • the present invention relates to methods, systems and devices for proving the authenticity of an entity and / or the integrity and / or authenticity of a message.
  • Patent EP 0 31 1 470 B 1 the inventors of which are Louis Guillou and Jean-Jacques Quisquater, describes such a process. We will refer to it below by designating it by the terms: "GQ patent” or "GQ process”. In the following, the present invention will sometimes be referred to as "GQ2", “GQ2 invention” or "GQ2 technology”.
  • an entity called "trusted authority” assigns an identity to each entity called “witness” and calculates the RSA signature; during a personalization process, the trusted authority gives identity and signature to the witness. Subsequently, the witness proclaimed: "Here is my identity; I know the RSA signature.” The witness proves without revealing that he knows the RSA signature of his identity. Thanks to the public RSA verification key distributed by the trusted authority, an entity called “controller” verifies without knowing that the RSA signature corresponds to the proclaimed identity. The mechanisms using the GQ process take place "without knowledge transfer". According to the GQ process, the witness does not know the RSA private key with which the trusted authority signs a large number of identities.
  • the GQ method implements modulo calculations of numbers of 512 bits or more. These calculations relate to numbers having substantially the same size raised to powers of the order of 2 16 + 1.
  • the existing microelectronic infrastructures in particular in the field of bank cards, make use of monolithic self-programmable microprocessors devoid of arithmetic coprocessors .
  • the workload related to the multiple arithmetic operations involved by processes such as the GQ process lead to calculation times which in some cases prove to be penalizing for consumers using bank cards to pay for their purchases. It is recalled here that, in seeking to increase the security of payment cards, the banking authorities pose a particularly delicate problem to solve.
  • the GQ technology previously described uses RSA technology. But if the RSA technology does depend on the factorization of the module n, this dependence is not an equivalence, far from it, as demonstrated by the so-called "multiplicative" attacks against the various digital signature standards implementing RSA technology.
  • the objective of GQ2 technology is twofold: on the one hand, to improve performance compared to RSA technology; on the other hand, avoid the problems inherent in RSA technology.
  • Knowledge of the private key GQ2 is equivalent to knowledge of the factorization of module n.
  • the invention relates to a method intended to prove to a controller entity
  • n consisting of the product of f prime factors p 1? p 2 , ... p f (f being greater than or equal to 2), - a public exponent v.
  • Said method implements, according to the steps defined below, an entity called a witness having the f prime factors p; and / or parameters of the Chinese remains of the prime factors and / or of the public module n and / or of the m private values Qi and / or of the fm components Q ii (Qj ⁇ Q j inod P j ) of the private values Qj ⁇ t of the public exhibitor c.
  • the witness calculates commitments R in the ring of integers modulo n.
  • Each commitment is calculated by performing operations of the type where r 5 is a hazard associated with the prime number p ; such that 0 ⁇ r_ ⁇ p j , each r_ belonging to a collection of hazards ⁇ r t , r 2 , ... r f ⁇ , then applying the Chinese remainder method,
  • the number of arithmetic operations modulo Pj to be performed to calculate each of the commitments Rj for each of the Pi is reduced compared to what it would be if the operations were carried out modulo n.
  • the witness receives one or more challenges d.
  • Each challenge d comprising m integers dj hereinafter called elementary challenges.
  • the witness calculates from each challenge with a response D, by performing operations of the type: D i ⁇ r i . Q M dl . Q i> 2 d2 . ... Q i ⁇ n ⁇ dm mod p i then by applying the Chinese remains method.
  • the process is such that there are as many responses D as there are challenges d as there are commitments R, each group of numbers R, d, D constituting a triplet noted ⁇ R, d, D ⁇ . Proof of the authenticity of an entity
  • the method according to the invention is intended to prove the authenticity of an entity called a demonstrator to an entity called a controller.
  • Said demonstrator entity comprises the witness.
  • step 1 act of engagement
  • the witness calculates each engagement R by applying the process specified above.
  • the demonstrator transmits to the controller all or part of each engagement R.
  • step 2 challenge act d
  • the controller after having received all or part of each R engagement, produces challenges d in a number equal to the number of R engagements and transmits the challenges d to the demonstrator.
  • the witness calculates D responses from challenges d by applying the process specified above.
  • step 4 act of control
  • the demonstrator transmits each response D to the controller.
  • G m calculates from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type: R > ⁇ G_ dl . G 2 à2. ... G m dm . D v mod n or to a type relation,
  • the controller verifies that each reconstructed engagement R 'reproduces all or part of each engagement R which has been transmitted to it. Second case: the demonstrator transmitted all of the R commitments
  • the controller having the m public values G l 5 G 2 , ...
  • G m verify that each engagement R satisfies a relation of the type: R ⁇ G 1 dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
  • the method according to the invention is intended to prove to an entity called controller the integrity of a message M associated with an entity called demonstrator.
  • Said demonstrator entity comprises the witness.
  • Said demonstrator and controller entities execute the following steps:
  • step 1 act of engagement R At each call, the witness calculates each engagement R by applying the process specified above.
  • step 2 act of challenge d
  • the demonstrator applies a hash function h having as arguments the message M and all or part of each engagement R for calculate at least one token T.
  • the demonstrator transmits the token T to the controller.
  • the controller after receiving a token T, produces challenges d in a number equal to the number of engagements R and transmits the challenges to the demonstrator.
  • step 3 response act D
  • the witness calculates D responses from challenges d by applying the process specified above.
  • step 4 act of control
  • the demonstrator transmits each response D to the controller
  • the controller having the m public values G_, G 2 , ... G m , calculates from each challenge d and each response D a reconstructed engagement R 'satisfying a relationship of the type :
  • the controller applies the hash function h having as arguments the message M and all or part of each reconstructed engagement R 'to reconstruct the token T'. Then, the controller verifies that the token T 'is identical to the token T transmitted. Digital signature of a message and proof of its authenticity
  • the method according to the invention is intended to produce the digital signature of a message M by an entity called the signatory entity.
  • Said signatory entity includes the witness.
  • Said signatory entity executes a signature operation with a view to obtaining a signed message comprising: the message M, - challenges d and / or commitments R,
  • Said signatory entity executes the signature operation by implementing the following steps: • step 1: act of engagement R
  • the witness calculates each engagement R by applying the process specified above.
  • step 2 act of challenge d
  • the signatory applies a hash function h having as arguments the message M and each commitment R to obtain a binary train.
  • the signatory extracts from this binary train challenges d in a number equal to the number of commitments R.
  • the witness calculates D responses from challenges d by applying the process specified above.
  • an entity checks the signed message.
  • Said controller entity having the signed message performs a control operation by proceeding as described below. • case where the controller has commitments R, challenges d, responses D,
  • the controller checks that the commitments R, challenges d and responses D satisfy relations of the type R ⁇ G 1 dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
  • the controller verifies that the message M, the challenges d and the commitments
  • the controller reconstructs, from each challenge d and each response D, commitments R 'satisfying relationships of the type:
  • the controller verifies that the commitments R, the challenges of and the responses D, satisfy relations of the type:
  • the private value Q is chosen first and the public value G is deduced from the private value Q.
  • the method according to the invention is such that the components Q i; t , Q ij 2? ••• Qi , f of private values Q; , are numbers drawn at random on the basis of a component Q, j (Q j, j ⁇ Qi inod P j ) for each of said prime factors P j .
  • Said private values Q j can be calculated from said components Q i (1 , Q i) 2 ... Q i, f by the Chinese remainder method.
  • Said public values G j are calculated by performing operations of the type then by applying the Chinese remains method to establish G_ such that
  • the method according to the invention is such that the public verification exponent v is a prime number.
  • security is equivalent to knowing the private value Qi.
  • the public value G is chosen first and where the private value Q is deduced from the public value G.
  • Said public value Gi is the square j of a base number gj less than the f prime factors pi, p 2 , ... p f .
  • the basic number i is such that the two equations: x 2 ⁇ gj mod n and x 2 ⁇ - gj mod n have no solution in x in the ring of integers modulo n and such that the equation: has solutions in x in the ring of integers modulo n.
  • the present invention also relates to a system intended to prove to a controller server
  • n consisting of the product of f prime factors Pu p 2 , ... p f (f being greater than or equal to 2),
  • Said system comprises a witness device, in particular contained in a nomadic object appearing for example in the form of a microprocessor bank card.
  • the witness device includes a memory area containing the f prime factors p ; and / or parameters of the Chinese remains of the prime factors and / or of the public module n and / or of the m private values Qi and / or of the fm components Q ⁇ - (Q i (j ⁇ Qj inod p j ) of the private values Q ; and the public exhibitor v.
  • the witness system also includes:
  • calculating means hereinafter designated the means of calculating the commitments R of the witness device, for calculating commitments R in the ring of integers modulo n.
  • Each commitment is calculated by performing operations of the type where r_ is a hazard associated with the prime number Pi such that 0 ⁇ r; ⁇ pj, each rj belonging to a collection of hazards ⁇ rj, r 2 , ... r f ⁇ produced by the means of hazard production, then by applying the method of Chinese remains.
  • the number of arithmetic operations modulo p; to do for calculating each of the commitments R_ for each of the pj is reduced compared to what it would be if the operations were carried out modulo n.
  • the witness device also includes:
  • - reception means hereinafter designated the means for receiving challenges d from the witness device, to receive one or more challenges d; each challenge d comprising m integers d; hereinafter called basic challenges;
  • calculation means hereinafter designated the means for calculating the responses D of the witness device, for calculating from each challenge of a response D by performing operations of the type: D; ⁇ laughed .
  • Q i ⁇ 2 d2 . ... Q i n ⁇ dm mod Pi then, applying the Chinese remains method.
  • Said witness device also comprises transmission means for transmitting one or more commitments R and one or more responses D. There are as many responses D as challenges d as commitments R. Each group of numbers R, d, D constituting a triplet noted ⁇ R, d, D ⁇ . Case of proof of the authenticity of an entity
  • the system according to the invention is intended to prove the authenticity of an entity called a demonstrator to an entity called a controller.
  • Said system is such that it includes a demonstrator device associated with the demonstrator entity.
  • Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card.
  • Said system also includes a controller device associated with the entity controller.
  • Said controller device is in particular in the form of a terminal or a remote server.
  • Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device.
  • step 1 act of engagement
  • the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above.
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means.
  • the demonstrator device also comprises transmission means, hereinafter designated the means of transmission of the demonstrator device, for transmitting all or part of each engagement R to the controller device, via the connection means.
  • step 2 act of challenge d
  • the controller device comprises challenge production means for producing, after having received all or part of each engagement R, challenges d in a number equal to the number of engagements R.
  • the controller device also includes transmission means, below designated the controller transmission means, to transmit the challenges d to the demonstrator, via the connection means. • step 3: response act D
  • the means for receiving the challenges d from the witness device receive each challenge d from the demonstrator device, via the interconnection means.
  • the means of calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
  • stage 4 act of control
  • the means of transmission of the demonstrator transmit each response D to the controller.
  • the controller device also comprises - calculation means, hereinafter designated the calculation means of the controller device,
  • comparison means hereinafter designated the comparison means of the controller device.
  • the means of calculation of the controller device having the m public values G l5 G 2 , ... G m , calculate from each challenge d and of each response D a reconstructed engagement R 'satisfying a relation of the type:
  • the comparison means of the controller device compare each reconstructed engagement R 'with all or part of each engagement R received. case where the demonstrator has transmitted the entirety of each engagement R
  • the system according to the invention is intended to prove to an entity called a controller the integrity of a message M associated with an entity called a demonstrator.
  • Said system is such that it includes a demonstrator device associated with the demonstrator entity.
  • Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card.
  • the system also includes a controller device associated with the controller entity.
  • Said controller device is in particular in the form of a terminal or a remote server.
  • Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device.
  • Said system performs the following steps:
  • step 1 act of commitment R
  • the means of calculating the commitments R of the witness device calculate each commitment R by applying the process specified above.
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means.
  • step 2 act of challenge d
  • the demonstrator device comprises calculation means, hereinafter designated the means of calculation of the demonstrator device, applying a hash function h having as arguments the message M and all or part of each engagement R to calculate at least one token T.
  • the demonstrator device also includes transmission means, hereinafter designated the demonstrator transmission means, for transmitting each token T, via the connection means, to the device to the controller.
  • the controller device also includes challenge production means to produce, after receiving the token T, challenges d in a number equal to the number of engagements R,
  • the controller device also includes transmission means, hereinafter designated the means of transmission from the controller device, to transmit challenges d to the demonstrator, via the connection means.
  • the means for receiving the challenges d from the witness device receive each challenge d from the demonstrator device, via the interconnection means.
  • the means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
  • step 4 act of control
  • the demonstrator's transmission means transmit each response D to the controller.
  • the controller device also comprises calculation means, hereinafter designated the controller device calculation means, having m public values Gj, G 2 , ... G m , for one hand, calculating from each challenge d and of each response D a reconstructed engagement R 'satisfying a relation of the type:
  • the controller device also comprises comparison means, hereinafter designated the comparison means of the controller device, for comparing the token T ′ with the token T received.
  • the system according to the invention is intended to produce the digital signature of a message M, hereinafter designated the message signed, by an entity called signatory entity.
  • the signed message includes:
  • Said system is such that it includes a signatory device associated with the signatory entity.
  • Said signatory device is interconnected to the witness device by interconnection means and may in particular be in the form of logic microcircuits in a nomadic object for example in the form of a microprocessor in a microprocessor bank card.
  • Said system allows the following steps to be carried out:
  • step 1 act of engagement
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each commitment R to the signatory device, via the interconnection means.
  • step 2 act of challenge d
  • the signatory device comprises means of calculation, hereinafter designated the means of calculation of the signatory device, applying a hash function h having as arguments the message M and all or part of each engagement R to calculate a binary train and extract from this binary train of challenges d in number equal to the number of commitments R.
  • step 3 response act D
  • the means for receiving challenges d from the witness device receive each challenge d from the signatory device, via the interconnection means.
  • the means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting the responses D to the signatory device, via the interconnection means.
  • Control operation To prove the authenticity of the message M, by an entity called controller, controls the signed message.
  • the system includes a controller device associated with the controller entity.
  • Said controller device is in particular in the form of a terminal or a remote server.
  • Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device.
  • Said signatory device associated with the signatory entity comprises means of transmission, hereinafter designated the means of transmission of the signatory device, for transmitting to the controller device, the signed message, via the connection means.
  • the controller device has a signed message comprising:
  • the controller includes:
  • the controller device has commitments R, challenges d, responses D
  • the means of calculation and comparison of the controller device verify that the commitments R, challenges d and responses D satisfy relations of the type
  • the means of calculation of the controller device calculate, from each challenge d and each response D, commitments R 'satisfying relationships of the type: R' ⁇ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
  • the means of calculation and comparison of the controller device checks that the message M and the challenges d satisfy the hash function. 1
  • Q ij f of private values Q i; are numbers drawn at random on the basis of a component Qi j (Q i; j ⁇ Qi inod P j ) for each of said prime factors P j .
  • Said private values Qj can be calculated from said components Q if t , Q i 2 ... Q if by the Chinese remainder method.
  • Said public values Gj are calculated by performing operations of the type then by applying the Chinese remains method to establish G; such as
  • the system according to the invention is such that the public verification exponent v is a prime number.
  • security is equivalent to knowing the private value Qj.
  • the public value G is chosen first and where the private value Q is deduced from the public value G.
  • Said public value Gj is the square g, - 2 of a base number g_ less than the f prime factors
  • the basic number i is such that the two equations: x 2 ⁇ gj mod n and x 2 ⁇ - g f mod n have no solution in x in the ring of integers modulo n and such that the equation: x v ⁇ g; 2 mod na solutions in x in the ring of integers modulo n.
  • the invention also relates to a terminal device associated with an entity.
  • the terminal device is in particular in the form of a mobile object, for example in the form of a microprocessor-based bank card.
  • the terminal device is intended to prove to the controller device:
  • n consisting of the product of f prime factors pj, p 2 , ... p f (f being greater than or equal to 2)
  • Said module, said exponent and said values are linked by relationships of the type: Gj. Q; v ⁇ 1. mod n or G; ⁇ Q / mod n.
  • Said terminal device comprises a witness device comprising a memory area containing the f prime factors Pi and / or the parameters of the Chinese remains of the prime factors and / or of the public module n and / or the m private values Q ; and / or the fm components Q S (Qi , j ⁇ Q f mod P j ) of the private values Qj and of the public exponent v.
  • the witness device also includes:
  • - calculation means hereinafter designated the means for calculating the commitments R of the witness device.
  • the calculation means make it possible to calculate commitments R in the ring of integers modulo n.
  • Each commitment is calculated by performing operations of the type where r. is a hazard associated with the prime number p; such that 0 ⁇ r_ ⁇ Pj, each rj belonging to a collection of hazards ⁇ r, r 2 , ... r f ⁇ produced by the means of hazard production, then by applying the Chinese remains method.
  • the number of arithmetic operations modulo p; to be carried out to calculate each of the commitments Ri for each of the P J is reduced compared to what it would be if the operations were carried out modulo n.
  • the witness device also includes:
  • - reception means hereinafter designated the means for receiving challenges d from the witness device, to receive one or more challenges d, each challenge d comprising m integers d_ hereinafter called elementary challenges; ⁇ , At - ⁇ Ac 00/46946 22
  • means of calculation hereinafter designated the means of calculating the responses D of the witness device, for calculating from each challenge of a response D by performing operations of the type:
  • the witness device also includes transmission means for transmitting one or more commitments R and one or more responses D.
  • the terminal device according to the invention is intended to prove the authenticity of an entity called a demonstrator to an entity called a controller.
  • Said terminal device is such that it includes a demonstrator device associated with the demonstrator entity.
  • Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card.
  • Said demonstrator device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the controller entity.
  • Said controller device is in particular in the form of a terminal or a remote server.
  • Said terminal device makes it possible to execute the following steps: 46946 23
  • step 1 act of engagement
  • the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above.
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means.
  • the demonstrator device also includes transmission means, hereinafter designated the demonstrator transmission means, for transmitting all or part of each engagement R to the controller device, via the connection means.
  • stage 2 and 3 act of challenge d, act of response D
  • the means for receiving challenges d from the witness device receive each challenge d from the controller device via the connection means between the controller device and the demonstrator device and via the interconnection means between the demonstrator device and the witness device.
  • the means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
  • step 4 act of control The means of transmission of the demonstrator transmit each response
  • the terminal device according to the invention is intended to prove to an entity called controller the integrity of 'a message M associated with an entity called demonstrator.
  • Said terminal device is such that it includes a demonstrator device associated with the demonstrator entity.
  • Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of ⁇ I ⁇ érn ⁇ â: 0/46946 24
  • Said demonstrator device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the controller entity.
  • Said controller device is in particular in the form of a terminal or a remote server.
  • Said terminal device makes it possible to execute the following steps: • step 1: act of engagement R
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means.
  • the demonstrator device comprises calculation means, hereinafter designated the means of calculation of the demonstrator device, applying hash function h having as arguments the message M and all or part of each engagement R to calculate at least one token T.
  • the demonstrator device also includes transmission means, hereinafter designated the demonstrator transmission means, for transmitting each token T, via the connection means, to the device to the controller.
  • Said controller device produces, after receiving the token T, challenges d in a number equal to the number of engagements R.
  • the means for receiving the challenges d from the witness device receive each challenge d from the demonstrator device, via the means of interconnection between the demonstrator device and the witness device.
  • the means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
  • step 4 act of control The means of transmission of the demonstrator transmit each response
  • the terminal device according to the invention is intended to produce the digital signature of a message M, hereinafter designated the signed message, by an entity called entity signatory.
  • the signed message includes:
  • Said terminal device being such that it includes a signatory device associated with the signatory entity.
  • Said signing device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card.
  • Said signatory device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the controller entity.
  • Said controller device is in particular in the form of a terminal or a remote server.
  • Said terminal device makes it possible to execute the following steps:
  • step 1 act of engagement R
  • the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above.
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each commitment R to the signatory device, via the interconnection means.
  • step 2 act of challenge d
  • the signatory device comprises means of calculation, hereinafter designated the means of calculation of the signatory device, applying a hash function h having as arguments the message M and all or part of each engagement R to calculate a binary train and extract from this binary train of challenges d in number equal to the number of commitments R.
  • the means for receiving challenges d receive the challenges d coming from the signatory device, via the interconnection means.
  • the means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
  • the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting the responses D to the signatory device, via the interconnection means.
  • the invention also relates to a controller device.
  • the controller device can be in particular in the form of a terminal or a remote server associated with a controller entity.
  • the controller device is intended to prove to a controller server:
  • n consisting of the product of f prime factors p j , p 2 , ... p t (f being greater than or equal to 2)
  • the controller device according to the invention is intended to prove the authenticity of an entity called a demonstrator at a entity called controller.
  • Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a demonstrator device associated with the demonstrator entity.
  • Said controller device makes it possible to carry out the following steps:
  • step 1 and 2 act of engagement R, act of challenge
  • the said controller device also includes means for receiving all or part of the commitments R coming from the demonstrator device, via the connection means.
  • the controller device comprises challenge production means for producing, after having received all or part of each engagement R, challenges d in number equal to the number of engagements R, each challenge d comprising m integers dj, hereinafter called challenges elementary.
  • the controller device also comprises means of transmission, hereinafter designated the means of transmission of the controller device, for transmitting the challenges d to the demonstrator, via the connection means. • steps 3 and 4: response act, control act
  • the controller also includes
  • the demonstrator has transmitted part of each commitment R
  • the means of calculation of the controller device having the m public values G, G 2 , ... G m , calculate from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type:
  • the comparison means of the controller device compare each reconstructed engagement R 'with all or part of each engagement R received. Second case: the demonstrator transmitted all of the R commitments
  • the calculation means and the comparison means of the controller device having the m public values Gj, G 2 , ... G m , verify that each commitment R satisfies a relation like :
  • the controller device according to the invention is intended to prove the integrity of a message M associated with an entity called a demonstrator.
  • Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a demonstrator device associated with the demonstrator entity.
  • Said controller device makes it possible to execute the following steps: • steps 1 and 2: act of engagement R, act of challenge
  • Said controller device also comprises means for receiving tokens T from the demonstrator, via the connection means.
  • the controller device also includes challenge production means for producing, after receiving the token T, challenges d in a number equal to the number of engagements R, each challenge d comprising m integers, hereinafter called the elementary challenges.
  • the controller device also comprises means of transmission, hereinafter designated the means of transmission of the controller device, for transmitting the challenges d to the demonstrator, via the connection means. • stages 3 and 4: response act D, control act
  • the controller device includes means for receiving responses D from the demonstrator device, via the connection means.
  • the controller device also includes calculation means, hereinafter designated the controller device calculation means, having the m values Gj, G 2 , ... G m , on the one hand, calculate from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type:
  • R ' Gj dl . G 2 d2 . ... G m dm . D v mod n or to a relation of the type:
  • the controller device also comprises comparison means, hereinafter designated the comparison means of the controller device, for comparing the token T ′ with the token T received.
  • the controller device according to the invention is intended to prove the authenticity of the message M by checking, by an entity called controller, the message signed.
  • the signed message issued by a signatory device associated with a signatory entity having a hash function h (M, R); includes: - the message M,
  • Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a signatory device associated with the signatory entity.
  • Said controller device receives the signed message from the signatory device, via the connection means.
  • the controller includes: - calculation means, hereinafter designated the calculation means of the controller device,
  • comparison means hereinafter designated the comparison means of the controller device. • case where the controller has commitments R, challenges d, responses D,
  • the controller device has commitments R, challenges d, responses D
  • the means of calculation and comparison of the controller device verify that the commitments R, challenges d and responses D satisfy relations of the type
  • the computing means of the controller device calculate, from each challenge d and each response D, commitments R 'satisfying relationships of the type:
  • GQ technology dynamic authentication of entities and associated messages, as well as the digital signature of messages.
  • the classic version of GQ technology uses RSA technology.
  • this part of the invention relates more specifically to the use of GQ2 key sets in the context of dynamic authentication and digital signature.
  • GQ2 technology does not use RSA technology. The objective is twofold: on the one hand, to improve performance compared to RSA technology; on the other hand, avoid the problems inherent in RSA technology.
  • the private key is twofold: on the one hand, to improve performance compared to RSA technology; on the other hand, avoid the problems inherent in RSA technology.
  • GQ2 is the factorization of the module n. Any attack at the level of GQ2 striplets comes down to the factorization of the module n: this time there is equivalence. With GQ2 technology, the workload is reduced, as much for the entity that signs or authenticates as for that which controls. Thanks to better use of the factorization problem, both in terms of security and performance, the GQ2 technology competes with the RSA technology. GQ2 technology uses one or more small whole numbers greater than 1, say m small whole numbers (m ⁇ 1) called “base numbers" and denoted by g_. Since the basic numbers are fixed from g x to g m with ⁇ 1, a public verification key (v, n) is chosen as follows.
  • the public verification exponent v is 2 k where k is a small integer greater than 1 (k ⁇ 2).
  • the public module n is the product of at least two prime factors larger than the base numbers, say / prime factors (f ⁇ 2) denoted by ; , d ⁇ p_ ... p f .
  • the primary factors are chosen so that the public module n has the following properties with respect to each of the m base numbers from g_ to g m .
  • equations (1) and (2) have no solution in x in the ring of integers modulo n, that is to say that g, and -g, are two residues not quadratic (mod n).
  • equation (3) has solutions at x in the ring of integers modulo n. x 2 ⁇ ⁇ g l 2 (mod n) (3)
  • each basic number g_ determines a pair of values GQ2 comprising a public value G, and a private value Q, : let m couples noted from G_ Q_ to G m Q m .
  • the private value Q is one of the solutions to equation (3) or the reverse (mod n) of such a solution.
  • the module n is broken down into / prime factors, the ring of integers modulo n is broken down into / Galois field, from CG (p ⁇ ) to CG (p f ).
  • Each private value Q_ can be represented in a unique way by / private components, one by prime factor: Q tJ ⁇ Q_ (mod p j ).
  • Each private component Q, d is a solution to equation (3.a) or the reverse
  • the first parameter is the Chinese remains a ⁇ ⁇ p 2 (mod / ?,) ⁇ -1 (mod /?).
  • the second parameter of the Chinese remains is ⁇ ⁇ ⁇ p_ .p 2 (mod /? 3 ) ⁇ _1 (mod 3 ).
  • the i th parameter of the Chinese remains is ⁇ ⁇ ⁇ p ⁇ .p 2 . ... p t (mod p,) ⁇ ⁇ 1 (mod p ⁇ . And so on.
  • the classic representation in GO technology consists in storing m private values Q t and the public verification key (v, n); in GQ2 technology, this representation competes with the following two.
  • the optimal representation in terms of workloads consists in storing the public exponent v, the / prime factors p mf private components Q tJ and / -l parameters of the Chinese remains.
  • the optimal representation in terms of size of private key consists in storing the public exponent v, the m base numbers g, and the / prime factors p p then, to start each use by establishing either m private values Q, and the module n to reduce to the first representation, or else mf.
  • GQ2 technology does not allow a simple distinction to be made between two entities using the same module.
  • each entity that authenticates or signs has its own GQ2 module.
  • GQ2 modules with four prime factors, two of which are known to one entity and the other two to another.
  • p x 03CD2F4F21E0EAD60266D5CFCEBB6954683493E2E833
  • n Pl. p 2 .
  • p 3 FFFF81CEA149DCF2F72EB449C5724742FE2A3630D9
  • the dynamic authentication mechanism is a sequence of four acts: an act of commitment, an act of challenge, an act of response and an act of control.
  • the demonstrator plays the acts of engagement and response.
  • the controller plays the acts of challenge and control.
  • a witness can be isolated, so as to isolate the most sensitive parameters and functions of the demonstrator, that is to say, the production of commitments and responses.
  • the witness has the parameter k and the private key GQ2, that is to say, the factorization of the module n according to one of the three representations mentioned above: 'the / prime factors and the m base numbers , • the mf. private components, the / prime factors and / -l parameters of the Chinese remains, • the m private values and the module n.
  • the witness may correspond to a particular embodiment, for example, • a smart card connected to a PC which together forms the demonstrator, or again, • particularly protected programs within a PC, or, • particularly protected programs within a smart card.
  • the witness thus isolated is similar to the witness defined below within the signatory.
  • the witness produces one or more commitments R, then as many responses D to as many challenges d.
  • Each set ⁇ R, d, D ⁇ constitutes a triplet GQ2.
  • the demonstrator also has, if necessary, a hash function and a message M.
  • the controller has the module n and the parameters k and m; if necessary, it also has the same hash function and a message M '.
  • the controller is able to reconstruct an engagement R 'from any challenge d and any response D.
  • the parameters k and m inform the controller.
  • the m basic numbers from gi to g m are the first m prime numbers.
  • Each challenge d must have m elementary challenges noted from d x to d m : one per basic number.
  • Each elementary challenge from d_ to d m must take a value from 0 to 2 * _1 -1 (the values from v / 2 to v-1 are not used).
  • the value (k - ⁇ ) .m possible challenges are also probable, the value (k - ⁇ ).
  • M determines the security provided by each GQ2 triplet: an impostor who, by definition, does not know the factorization of the module has exactly one chance of success over 2 (k ⁇ l) jn .
  • (kl) .m is from 15 to 20, a triplet is sufficient to reasonably ensure dynamic authentication.
  • triples can be produced in parallel; it can also be produced in sequence, that is to say, repeating the execution of the mechanism. 1)
  • the act of engagement includes the following operations.
  • the witness When the witness has the m private values of Q_ to Q m and of the module n, he randomly and privately draws one or more hazards r (0 ⁇ r ⁇ n); then, by k successive square elevations (mod n), it transforms each hazard r into an engagement R.
  • each collection includes a hazard r, by prime factor p, (0 ⁇ r, ⁇ p_); then, by k successive squared elevations (mod p,), it transforms each hazard r_ into an engagement component R
  • R 3 06E14C8FC4DD312BA3B475F1F40CF01ACE2A88D5BB3C
  • the witness establishes an engagement using the technique of Chinese remains. There are as many commitments as there are collections of hazards.
  • R Rest of China ⁇ , R 2 , ... R f ) 28AA7F12259BFBA81368EB49C93EEAB3F3EC6BF73B0EBD7 D3FC8395CFA1AD7FC0F9H engagement R and a message M.
  • the act of challenge consists in drawing at random one or more challenges d each composed of m elementary challenges d_ d 2 ... d m ; each elementary challenge d_ takes one of the values from 0 to v / 2-1.
  • d d x d 2 ... d m
  • each elementary challenge d_ takes one of the values from 0 to v / 2-1.
  • d d x d 2 ... d m
  • the controller transmits to the demonstrator each challenge d.
  • the response act includes the following operations.
  • each collection of response components has one component per prime factor.
  • the witness For each collection of response components, the witness establishes an answer using the Chinese remains technique. There are as many answers as there are challenges.
  • control consists in controlling that each triplet ⁇ R, d, D ⁇ checks an equation of the following type for a non-zero value.
  • the controller then calculates a hash code H 'in I ⁇ âtn ⁇ , / 46946 43
  • Dynamic authentication is successful when the controller thus finds what he received at the end of the engagement act, that is to say, all or part of each engagement R, or else, the code hash H. For example, a sequence of elementary operations transforms the response
  • the sequence includes k squares (mod n) separated by kl divisions or multiplications (mod n) by basic numbers.
  • the ith bit of the elementary challenge d x indicates whether to use g x
  • the ith bit of the elementary challenge d 2 indicates s' you have to use g 2
  • ... up to the ith bit of the elementary challenge d m which indicates whether to use g m .
  • the first set of keys is an example for the first set of keys.
  • D 2 (mod n) 3 2 F739B708911166DFE715800D8A9D78FC3F332FF622D 3EAB8E7977C68AD44962BEE4DAE3C0345D1CB34526D3B67EBE8BF 987041B4852890D83FC6B48D3EF6A9DF.
  • D 4 (mod n) 682A7AF280C49FE230BEE354BF6FFB30B7519E3C8
  • D 4 (mod n) A9DC8DEA867697E76B4C18527DFFC49F4658473D03 4EC1DDE0EB21F6F65978BE477C4231 AC9B 1EBD93D5D49422408E47 15919023B 16BC3C6C46A92BBDD6A 2. 3 3 .
  • D 4 (mod n) FB2D57796039DFC4AF9199CAD44B66F257A1FF 3F2BA4C12B0A8496A0148B4DFBAFE838E0B5A7D9FB4394379D72A 107E45C51FCDB7462D03A35002D298
  • D 8 (mod n) E4632EC4FE4565FC4B3126B15ADBF996149F2D BB42F65D911 D3851910FE7EA53D AEA7EE7B A8FE9D081 DB78B249 B 1B 18880616B90D4E280F564E49B 270 AE02388 2 4 . 3 14 .
  • D 16 (mod n) ED3DDC716AE3D1EA74C5AF935DE814BCC
  • D 32 (mod n) 2 U 6ED6AFC5A87D2DD117B0D89072C99FB9DC9 5D558F65B6A1967E6207D4ADBBA32001D3828A35069B256A07C3D 722F17DA30088E6E739FBC419FD7282D16CD6542. 3 28 .
  • D 32 (mod n) DDAD5F8B50FA5BA22F61B120E5933F73B92
  • the digital signature mechanism allows an entity called a signatory to produce signed messages and an entity called a controller to verify signed messages.
  • Message M is any binary sequence: it can be empty.
  • the message M is signed by adding to it a signature appendix which includes one or more commitments and / or challenges, as well as the corresponding responses.
  • the controller has the same hash function, the fcet m parameters and the n module.
  • the parameters k and m inform the controller.
  • each elementary challenge, from d x to d m must take a value from 0 to 2 fc_1 -l (the values from v / 2 to v-1 are not used).
  • each challenge d must have m elementary challenges noted from d x to d m , as many as basic numbers.
  • the m basic numbers from g x to g m , are the first m prime numbers.
  • M being from 15 to 20
  • the signing operation is a sequence of three acts: an act of commitment, an act of challenge and an act Answer.
  • Each act produces one or more GQ2 triplets each comprising: an engagement R ( ⁇ 0), a challenge d composed of m elementary challenges noted by d x , d, ... d m and a response /) ( ⁇ 0).
  • the signatory has a hash function, the parameter k and the private key GQ2, that is to say, the factorization of the module n according to one of the three representations mentioned above.
  • the witness has the parameter k and the private key GQ2, that is to say, the factorization of the module n according to one of the three representations mentioned above.
  • the witness thus isolated is similar to the witness defined within the demonstrator.
  • the act of engagement includes the following operations.
  • each collection includes a hazard r t by prime factor?, (0 ⁇ r, ⁇ / ?,); then, by k successive squared elevations (mod / ?,), it transforms each hazard r, into an engagement component R ,.
  • the witness establishes an engagement according to the technique of Chinese remains. There are as many commitments as there are collections of hazards.
  • R Chinese remains ⁇ , R 2 , ... R f )
  • the response act includes the following operations.
  • the witness has the m private values of Q x to Q m and of the module n, he calculates one or more responses D using each hazard r of the act of engagement and the private values according to the elementary challenges.
  • D ⁇ rX (mod)
  • the witness has the prime factors of p to p f and mf. private components Q- it calculates one or more collections of / response components using each collection of hazards in the act of engagement: each collection of response components includes one component per prime factor.
  • D Chinese Remains (E>,, D 2 , ... D f )
  • the signatory signs the message M by attaching to it a signature appendix comprising: either, each GQ2 triplet, that is to say, each commitment R, each challenge d and each response D, or else, each commitment R and each corresponding response D, or else, each challenge d and each corresponding response D.
  • the progress of the verification operation depends on the content of the signature appendix. We distinguish the three cases. If the appendix comprises one or more triples, the control operation comprises two independent processes, the chronology of which is indifferent. The controller accepts the signed message if and only if the following two conditions are met.
  • each triplet must be coherent (an appropriate relation of the following type must be verified) and admissible (the comparison must be made on a non-zero value).
  • the triplet (s) must be linked to the message M.
  • the controller accepts the signed message if and only if each triplet is consistent (an appropriate relationship of the following type is verified) and admissible (the comparison is made on a non-zero value).
  • the controller must hash all the commitments R 'and the message M so as to reconstruct each challenge d.
  • d d x d 2 ... d m , identical to those extracted from the result Hash (, R ')
  • the controller accepts the signed message if and only if each reconstructed challenge is identical to the corresponding challenge appearing in the appendix.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Peptides Or Proteins (AREA)
  • Error Detection And Correction (AREA)
  • Storage Device Security (AREA)
  • Agricultural Chemicals And Associated Chemicals (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The proof is provided by the following parameters: m pairs of private values Qi and public values Pi, m>1; a public module n formed by the product of f first factors pi, f>2; a public exponent v, bound by the relationship of the type: Gi.Qi<v> mod n or Gi Qi<v> mod n.

Description

Procédé, système, dispositif destinés à prouver l'authenticité d'une entité et/ou l'intégrité et/ou l'authenticité d'un message.Method, system, device intended to prove the authenticity of an entity and / or the integrity and / or the authenticity of a message.
La présente invention concerne les procédés, les systèmes ainsi que les dispositifs destinés à prouver l'authenticité d'une entité et/ou l'intégrité et/ou l'authenticité d'un message.The present invention relates to methods, systems and devices for proving the authenticity of an entity and / or the integrity and / or authenticity of a message.
Le brevet EP 0 31 1 470 B 1 dont les inventeurs sont Louis Guillou et Jean- Jacques Quisquater décrit un tel procédé. On y fera ci-après référence en le désignant par les termes : "brevet GQ" ou "procédé GQ". Par la suite on désignera parfois par "GQ2", "invention GQ2" ou "technologie GQ2" la présente invention.Patent EP 0 31 1 470 B 1, the inventors of which are Louis Guillou and Jean-Jacques Quisquater, describes such a process. We will refer to it below by designating it by the terms: "GQ patent" or "GQ process". In the following, the present invention will sometimes be referred to as "GQ2", "GQ2 invention" or "GQ2 technology".
Selon le procédé GQ, une entité appelée " autorité de confiance " attribue une identité à chaque entité appelée " témoin" et en calcule la signature RSA; durant un processus de personnalisation, l'autorité de confiance donne identité et signature au témoin. Par la suite, le témoin proclame : "Voici mon identité ; j'en connais la signature RSA." Le témoin prouve sans la révéler qu'il connaît la signature RSA de son identité. Grâce à la clé publique de vérification RSA distribuée par l'autorité de confiance, une entité appelée "contrôleur" vérifie sans en prendre connaissance que la signature RSA correspond à l'identité proclamée. Les mécanismes utilisant le procédé GQ se déroulent "sans transfert de connaissance". Selon le procédé GQ le témoin ne connaît pas la clé privée RSA avec laquelle l'autorité de confiance signe un grand nombre d'identités. Le procédé GQ met en œuvre des calculs modulo des nombres de 512 bits ou davantage. Ces calculs concernent des nombres ayant sensiblement la même taille élevés à des puissances de l'ordre de 216 + 1. Or les infrastructures microélectroniques existantes, notamment dans le domaine des cartes bancaires, font usage de microprocesseurs auto-programmables monolithiques dépourvus de coprocesseurs arithmétiques. La charge de travail liée aux multiples opérations arithmétiques impliquées par des procédés tels que le procédé GQ, entraîne des temps de calcul qui dans certains cas s'avèrent pénalisant pour les consommateurs utilisant des cartes bancaires pour acquitter leurs achats. Il est rappelé ici, qu'en cherchant à accroître la sécurité des cartes de paiement, les autorités bancaires posent un problème particulièrement délicat à résoudre. En effet, il faut traiter deux questions apparemment contradictoires : augmenter la sécurité en utilisant des clés de plus en plus longues et distinctes pour chaque carte tout en évitant que la charge de travail n'entraîne des temps de calcul prohibitifs pour les utilisateurs. Ce problème prend un relief particulier dans la mesure où, en outre, il convient de tenir compte de l'infrastructure en place et des composants microprocesseurs existants.According to the GQ method, an entity called "trusted authority" assigns an identity to each entity called "witness" and calculates the RSA signature; during a personalization process, the trusted authority gives identity and signature to the witness. Subsequently, the witness proclaimed: "Here is my identity; I know the RSA signature." The witness proves without revealing that he knows the RSA signature of his identity. Thanks to the public RSA verification key distributed by the trusted authority, an entity called "controller" verifies without knowing that the RSA signature corresponds to the proclaimed identity. The mechanisms using the GQ process take place "without knowledge transfer". According to the GQ process, the witness does not know the RSA private key with which the trusted authority signs a large number of identities. The GQ method implements modulo calculations of numbers of 512 bits or more. These calculations relate to numbers having substantially the same size raised to powers of the order of 2 16 + 1. However, the existing microelectronic infrastructures, in particular in the field of bank cards, make use of monolithic self-programmable microprocessors devoid of arithmetic coprocessors . The workload related to the multiple arithmetic operations involved by processes such as the GQ process lead to calculation times which in some cases prove to be penalizing for consumers using bank cards to pay for their purchases. It is recalled here that, in seeking to increase the security of payment cards, the banking authorities pose a particularly delicate problem to solve. Indeed, there are two apparently contradictory questions that need to be addressed: increasing security by using increasingly long and separate keys for each card while preventing the workload from causing prohibitive calculation times for users. This problem takes on particular importance since, in addition, account must be taken of the infrastructure in place and of the existing microprocessor components.
La technologie GQ précédemment décrite fait appel à la technologie RSA. Mais si la technologie RSA dépend bel et bien de la factorisation du module n, cette dépendance n'est pas une équivalence, loin s'en faut, comme le démontrent les attaques dites "multiplicatives" contre les diverses normes de signature numérique mettant en oeuvre la technologie RSA. L'objectif de la technologie GQ2 est double : d'une part, améliorer les performances par rapport à la technologie RSA ; d'autre part, éviter les problèmes inhérents à la technologie RSA. La connaissance de la clé privée GQ2 est équivalente à la connaissance de la factorisation du module n.The GQ technology previously described uses RSA technology. But if the RSA technology does depend on the factorization of the module n, this dependence is not an equivalence, far from it, as demonstrated by the so-called "multiplicative" attacks against the various digital signature standards implementing RSA technology. The objective of GQ2 technology is twofold: on the one hand, to improve performance compared to RSA technology; on the other hand, avoid the problems inherent in RSA technology. Knowledge of the private key GQ2 is equivalent to knowledge of the factorization of module n.
Toute attaque au niveau des triplets GQ2 se ramène à la factorisation du module n : il y a cette fois équivalence. Avec la technologie GQ2, la charge de travail est réduite, tant pour l'entité qui signe ou qui s'authentifie que pour celle qui contrôle. Grâce à un meilleur usage du problème de la factorisation, tant en sécurité qu'en performance, la technologie GQ2 évite les inconvénients présentés par la technologie RSA.Any attack at the level of GQ2 triplets comes down to the factorization of the module n: this time there is equivalence. With GQ2 technology, the workload is reduced, as much for the entity that signs or authenticates as for that which controls. Thanks to better use of the factorization problem, both in terms of security and performance, the GQ2 technology avoids the drawbacks presented by the RSA technology.
ProcédéProcess
Méthode des restes chinois appliquée à la famille GQChinese remains method applied to the GQ family
Plus particulièrement, l'invention concerne un procédé destiné à prouver à une entité contrôleur,More particularly, the invention relates to a method intended to prove to a controller entity,
- l'authenticité d'une entité et/ou- the authenticity of an entity and / or
- l'intégrité d'un message M associé à cette entité.- the integrity of a message M associated with this entity.
Cette preuve est établie au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:This proof is established by means of all or part of the following parameters or derived from them:
- m couples de valeurs privées Qj, Q2, ... Qm et publiques G1? G2, ... Gm (m étant supérieur ou égal à 1),- m pairs of private values Qj, Q 2 , ... Q m and public G 1? G 2 , ... G m (m being greater than or equal to 1),
- un module public n constitué par le produit de f facteurs premiers p1? p2, ... pf (f étant supérieur ou égal à 2), - un exposant public v .- a public module n consisting of the product of f prime factors p 1? p 2 , ... p f (f being greater than or equal to 2), - a public exponent v.
Ledit module, ledit exposant et lesdites valeurs sont liés par des relations du type :Said module, said exponent and said values are linked by relationships of the type:
Gj . Qiv ≡ 1 . mod n ou G, ≡ QjV mod n ;Gj. Qi v ≡ 1. mod n or G, ≡ Qj V mod n;
Ledit procédé met en œuvre selon les étapes ci-après définies une entité appelée témoin disposant des f facteurs premiers p; et/ou des paramètres des restes chinois des facteurs premiers et/ou du module public n et/ou des m valeurs privées Qi et/ou des f.m composantes Qi i (Qj ≡ Qj inod Pj) des valeurs privées Qjβt de l'exposant public v .Said method implements, according to the steps defined below, an entity called a witness having the f prime factors p; and / or parameters of the Chinese remains of the prime factors and / or of the public module n and / or of the m private values Qi and / or of the fm components Q ii (Qj ≡ Q j inod P j ) of the private values Qjβt of the public exhibitor c.
Le témoin calcule des engagements R dans l'anneau des entiers modulo n. Chaque engagement est calculé en effectuant des opérations du type où r5 est un aléa associé au nombre premier p; tel que 0 < r_ < pj , chaque r_ appartenant à une collection d'aléas {rt , r2 , ... rf} , puis en appliquant la méthode des restes chinois, Ainsi, le nombre d'opérations arithmétiques modulo Pj à effectuer pour calculer chacun des engagements Rj pour chacun des Pi est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.The witness calculates commitments R in the ring of integers modulo n. Each commitment is calculated by performing operations of the type where r 5 is a hazard associated with the prime number p ; such that 0 <r_ <p j , each r_ belonging to a collection of hazards {r t , r 2 , ... r f }, then applying the Chinese remainder method, Thus, the number of arithmetic operations modulo Pj to be performed to calculate each of the commitments Rj for each of the Pi is reduced compared to what it would be if the operations were carried out modulo n.
Le témoin reçoit un ou plusieurs défis d. Chaque défi d comportant m entiers dj ci-après appelés défis élémentaires. Le témoin calcule à partir de chaque défi d une réponse D, en effectuant des opérations du type : Di ≡ ri . QM dl . Qi>2 d2. ... Qiιnι dm mod pi puis en appliquant la méthode des restes chinois.The witness receives one or more challenges d. Each challenge d comprising m integers dj hereinafter called elementary challenges. The witness calculates from each challenge with a response D, by performing operations of the type: D i ≡ r i . Q M dl . Q i> 2 d2 . ... Q iιnι dm mod p i then by applying the Chinese remains method.
Ainsi, le nombre d'opérations arithmétiques modulo p; à effectuer pour calculer chacune des réponses Dj pour chacun des pj est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.Thus, the number of arithmetic operations modulo p ; to be performed to calculate each of the responses Dj for each of the pj is reduced compared to what it would be if the operations were carried out modulo n.
Le procédé est tel qu'il y a autant de réponses D que de défis d que d'engagements R, chaque groupe de nombres R, d, D constituant un triplet noté {R, d, D}. Cas de la preuve de l'authenticité d'une entitéThe process is such that there are as many responses D as there are challenges d as there are commitments R, each group of numbers R, d, D constituting a triplet noted {R, d, D}. Proof of the authenticity of an entity
Dans une première variante de réalisation le procédé selon l'invention est destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur. Ladite entité démonstrateur comprend le témoin.In a first variant embodiment, the method according to the invention is intended to prove the authenticity of an entity called a demonstrator to an entity called a controller. Said demonstrator entity comprises the witness.
Lesdites entités démonstrateur et contrôleur exécutent les étapes suivantes: • étape 1 : acte d'engagement RSaid demonstrator and controller entities execute the following steps: • step 1: act of engagement R
A chaque appel, le témoin calcule chaque engagement R en appliquant le processus spécifié ci-dessus. Le démonstrateur transmet au contrôleur tout ou partie de chaque engagement R.On each call, the witness calculates each engagement R by applying the process specified above. The demonstrator transmits to the controller all or part of each engagement R.
• étape 2 : acte de défi d Le contrôleur, après avoir reçu tout ou partie de chaque engagement R, produit des défis d en nombre égal au nombre d'engagements R et transmet les défis d au démonstrateur.• step 2: challenge act d The controller, after having received all or part of each R engagement, produces challenges d in a number equal to the number of R engagements and transmits the challenges d to the demonstrator.
• étape 3 : acte de réponse D• step 3: response act D
Le témoin calcule des réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.The witness calculates D responses from challenges d by applying the process specified above.
• étape 4 : acte de contrôle• step 4: act of control
Le démonstrateur transmet chaque réponse D au contrôleur.The demonstrator transmits each response D to the controller.
Premier cas : le démonstrateur a transmis une partie de chaque engagement R Dans le cas où le démonstrateur a transmis une partie de chaque engagement R, le contrôleur, disposant des m valeurs publiques Gl 5 G2, ...First case: the demonstrator transmitted part of each R commitment In the case where the demonstrator has transmitted part of each commitment R, the controller, having the m public values G l 5 G 2 , ...
G m , calcule à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type : R> ≡ G_ dl . G2 à2. ... Gm dm . Dv mod n ou à une relation du type,G m , calculates from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type: R > ≡ G_ dl . G 2 à2. ... G m dm . D v mod n or to a type relation,
R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n .R '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n.
Le contrôleur vérifie que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R qui lui a été transmis. Deuxième cas : le démonstrateur a transmis l'intégralité de chaque engagement RThe controller verifies that each reconstructed engagement R 'reproduces all or part of each engagement R which has been transmitted to it. Second case: the demonstrator transmitted all of the R commitments
Dans le cas où le démonstrateur a transmis l'intégralité de chaque engagement R, le contrôleur, disposant des m valeurs publiques Gl 5 G2, ...In the case where the demonstrator has transmitted the entirety of each commitment R, the controller, having the m public values G l 5 G 2 , ...
Gm, vérifie que chaque engagement R satisfait à une relation du type : R ≡ G1 dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,G m , verify that each engagement R satisfies a relation of the type: R ≡ G 1 dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R m Dv / G, dl . G2 d2. ... Gm dm . mod n . Cas de la preuve de l'intégrité d'un message dans une deuxième variante de réalisation susceptible d'être combinée avec la première, le procédé selon l'invention est destiné à prouver à une entité appelée contrôleur l'intégrité d'un message M associé à une entité appelée démonstrateur. Ladite entité démonstrateur comprend le témoin.R m D v / G, dl . G 2 d2 . ... G m dm . mod n. In the case of proof of the integrity of a message in a second alternative embodiment capable of being combined with the first, the method according to the invention is intended to prove to an entity called controller the integrity of a message M associated with an entity called demonstrator. Said demonstrator entity comprises the witness.
Lesdites entités démonstrateur et contrôleur exécutent les étapes suivantes:Said demonstrator and controller entities execute the following steps:
• étape 1 : acte d'engagement R A chaque appel, le témoin calcule chaque engagement R en appliquant le processus spécifié ci-dessus.• step 1: act of engagement R At each call, the witness calculates each engagement R by applying the process specified above.
• étape 2 : acte de défi d• step 2: act of challenge d
Le démonstrateur applique une fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer au moins un jeton T . Le démonstrateur transmet le jeton T au contrôleur. Le contrôleur, après avoir reçu un jeton T, produit des défis d en nombre égal au nombre d'engagements R et transmet les défis d a u démonstrateur. • étape 3 : acte de réponse DThe demonstrator applies a hash function h having as arguments the message M and all or part of each engagement R for calculate at least one token T. The demonstrator transmits the token T to the controller. The controller, after receiving a token T, produces challenges d in a number equal to the number of engagements R and transmits the challenges to the demonstrator. • step 3: response act D
Le témoin calcule des réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.The witness calculates D responses from challenges d by applying the process specified above.
• étape 4 : acte de contrôle• step 4: act of control
Le démonstrateur transmet chaque réponse D au contrôleur Le contrôleur, disposant des m valeurs publiques G_, G2, ... Gm, calcule à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :The demonstrator transmits each response D to the controller The controller, having the m public values G_, G 2 , ... G m , calculates from each challenge d and each response D a reconstructed engagement R 'satisfying a relationship of the type :
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type : R' Dv / G1 dl . G2 d2. ... Gm dm . mod n.R '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a relation of the type: R ' D v / G 1 dl . G 2 d2 . ... G m dm . mod n.
Puis, le contrôleur applique la fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement reconstruit R' pour reconstruire le jeton T'. Puis, le contrôleur vérifie que le jeton T' est identique au jeton T transmis. Signature numérique d'un message et preuve de son authenticitéThen, the controller applies the hash function h having as arguments the message M and all or part of each reconstructed engagement R 'to reconstruct the token T'. Then, the controller verifies that the token T 'is identical to the token T transmitted. Digital signature of a message and proof of its authenticity
Opération de signatureSignature operation
Dans une troisième variante de réalisation susceptible d'être prise en combinaison avec l'une et/ou l'autre des autres variantes de réalisation, le procédé selon l'invention est destiné à produire la signature numérique d'un message M par une entité appelée entité signataire. Ladite entité signataire comprend le témoin.In a third alternative embodiment capable of being taken in combination with one and / or the other of the other alternative embodiments, the method according to the invention is intended to produce the digital signature of a message M by an entity called the signatory entity. Said signatory entity includes the witness.
Ladite entité signataire exécute une opération de signature en vue d'obtenir un message signé comprenant : - le message M, - les défis d et/ou les engagements R,Said signatory entity executes a signature operation with a view to obtaining a signed message comprising: the message M, - challenges d and / or commitments R,
- les réponses D.- the responses D.
Ladite entité signataire exécute l'opération de signature en mettant en oeuvre les étapes suivantes : • étape 1 : acte d'engagement RSaid signatory entity executes the signature operation by implementing the following steps: • step 1: act of engagement R
A chaque appel, le témoin calcule chaque engagement R en appliquant le processus spécifié ci-dessus.On each call, the witness calculates each engagement R by applying the process specified above.
• étape 2 : acte de défi d• step 2: act of challenge d
Le signataire applique une fonction de hachage h ayant comme arguments le message M et chaque engagement R pour obtenir un train binaire. Le signataire extrait de ce train binaire des défis d en nombre égal au nombre d'engagements R.The signatory applies a hash function h having as arguments the message M and each commitment R to obtain a binary train. The signatory extracts from this binary train challenges d in a number equal to the number of commitments R.
• étape 3 : acte de réponse D• step 3: response act D
Le témoin calcule des réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.The witness calculates D responses from challenges d by applying the process specified above.
Opération de contrôleControl operation
Pour l'authenticité du message M, une entité, appelée contrôleur, contrôle le message signé. Ladite entité contrôleur disposant du message signé exécute une opération de contrôle en procédant comme ci-après décrit. • cas où le contrôleur dispose des engagements R, des défis d, des réponses D,For the authenticity of the message M, an entity, called a controller, checks the signed message. Said controller entity having the signed message performs a control operation by proceeding as described below. • case where the controller has commitments R, challenges d, responses D,
Dans le cas où le contrôleur dispose des engagements R, des défis d, des réponses D, le contrôleur vérifie que les engagements R, les défis d et les réponses D satisfont à des relations du type R G1 dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :In the case where the controller has commitments R, challenges d, responses D, the controller checks that the commitments R, challenges d and responses D satisfy relations of the type R G 1 dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R ≡ Dv / Gi dl . G2 d2. ... Gm dm . mod nR ≡ D v / Gi dl . G 2 d2 . ... G m dm . mod n
Puis, le contrôleur vérifie que le message M, les défis d et les engagementsThen, the controller verifies that the message M, the challenges d and the commitments
R satisfont à la fonction de hachage d = h (M, R)R satisfy the hash function d = h (M, R)
• cas où le contrôleur dispose des défis d et des réponses D• case where the controller has challenges d and answers D
Dans le cas où le contrôleur dispose des défis d e t des réponses D, l e contrôleur reconstruit, à partir de chaque défi d et de chaque réponse D, des engagements R' satisfaisant à des relations du type :In the case where the controller has the challenges of and responses D, the controller reconstructs, from each challenge d and each response D, commitments R 'satisfying relationships of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :R '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R' ≡ Dv / G, dl . G2 d2. ... Gm dm . mod n Puis, le contrôleur vérifie que le message M et les défis d satisfont à la fonction de hachage d = h (M, R')R '≡ D v / G, dl . G 2 d2 . ... G m dm . mod n Then, the controller checks that the message M and the challenges d satisfy the hash function d = h (M, R ')
• cas où le contrôleur dispose des engagements R et des réponses D Dans le cas où le contrôleur dispose des engagements R et des réponses D, le contrôleur applique la fonction de hachage et reconstruit d' d' = h (M, R)• case where the controller has commitments R and responses D In the case where the controller has commitments R and responses D, the controller applies the hash function and reconstructs d '= h (M, R)
Puis, le contrôleur vérifie que les engagements R, les défis d ' et les réponses D, satisfont à des relations du type :Then, the controller verifies that the commitments R, the challenges of and the responses D, satisfy relations of the type:
R ≡ G! d l . G2 d'2. ... Gm d m . Dv mod n ou à des relations du type : R ≡ W I G, d l . G2 d'2. ... Gm d m . mod n.R ≡ G ! dl . G 2 of 2 . ... G m dm . D v mod n or to relations of the type: R ≡ WIG, dl . G 2 of 2 . ... G m dm . mod n.
Cas où on choisit la valeur privée Q en premier et où on déduit la valeur publique G de la valeur privée QCase where we choose the private value Q first and where we deduce the public value G from the private value Q
Dans certains, notamment afin de faciliter la production des couples de valeurs privées Q et publiques G, on choisit la valeur privée Q en premier et on déduit la valeur publique G de la valeur privée Q. Plu s particulièrement dans ce cas, le procédé selon l'invention est tel que les composantes Qi; t , Qij 2 ? ••• Qi, f des valeurs privées Q;, sont des nombres tirés au hasard à raison d'une composante Q, j (Q j, j ≡ Qi inod Pj) pour chacun desdits facteurs premiers Pj. Lesdites valeurs privées Qj peuvent être calculées à partir desdites composantes Qi( 1 , Qi) 2 ... Q i, f par la méthode des restes chinois. Lesdites valeurs publiques Gj, sont calculées en effectuant des opérations du type puis, en appliquant la méthode des restes chinois pour établir G_ tel queIn some, notably in order to facilitate the production of the pairs of private Q and public values G, the private value Q is chosen first and the public value G is deduced from the private value Q. More particularly in this case, the method according to the invention is such that the components Q i; t , Q ij 2? ••• Qi , f of private values Q; , are numbers drawn at random on the basis of a component Q, j (Q j, j ≡ Qi inod P j ) for each of said prime factors P j . Said private values Q j can be calculated from said components Q i (1 , Q i) 2 ... Q i, f by the Chinese remainder method. Said public values G j are calculated by performing operations of the type then by applying the Chinese remains method to establish G_ such that
Gj . QiV ≡ 1 • mod n ou Gj ≡ Qiv mod n ; Ainsi, le nombre d'opérations arithmétiques modulo pj à effectuer pour calculer chacun des Giti pour chacun des pj est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Avantageusement dans ce cas, le procédé selon l'invention est tel que l'exposant public de vérification v est un nombre premier. On démontre que la sécurité est équivalente à la connaissance de la valeur privée Qi . Cas où on choisit la valeur publique G en premier et où on déduit la valeur privée Q de la valeur publique G. De préférence dans ce cas, ledit exposant v est tel que v = 2k où k est un paramètre de sécurité plus grand que 1 .Gj. Qi V ≡ 1 • mod n or Gj ≡ Qi v mod n; Thus, the number of modulo pj arithmetic operations to perform to calculate each of the G iti for each of the p j is reduced compared to what it would be if the operations were performed modulo n. Advantageously in this case, the method according to the invention is such that the public verification exponent v is a prime number. We show that security is equivalent to knowing the private value Qi. Case where the public value G is chosen first and where the private value Q is deduced from the public value G. Preferably in this case, said exponent v is such that v = 2 k where k is a security parameter greater than 1.
Ladite valeur publique Gi est le carré j d'un nombre de base gj inférieur aux f facteurs premiers pi, p2, ... pf . Le nombre de base i est tel que les deux équations : x2 ≡ gj mod n et x2 ≡ - gj mod n n'ont pas de solution en x dans l'anneau des entiers modulo n et tel que l'équation : a des solutions en x dans l'anneau des entiers modulo n.Said public value Gi is the square j of a base number gj less than the f prime factors pi, p 2 , ... p f . The basic number i is such that the two equations: x 2 ≡ gj mod n and x 2 ≡ - gj mod n have no solution in x in the ring of integers modulo n and such that the equation: has solutions in x in the ring of integers modulo n.
Système La présente invention concerne également un système destiné à prouver à un serveur contrôleur,System The present invention also relates to a system intended to prove to a controller server,
- l'authenticité d'une entité et/ou - l'intégrité d'un message M associé à cette entité.- the authenticity of an entity and / or - the integrity of a message M associated with this entity.
Cette preuve est établie au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:This proof is established by means of all or part of the following parameters or derived from them:
- m couples de valeurs privées Qi, Q2, ... Qm et publiques Gj, G2, ... Gm (m étant supérieur ou égal à 1),- m pairs of private values Qi, Q 2 , ... Q m and public values Gj, G 2 , ... G m (m being greater than or equal to 1),
- un module public n constitué par le produit de f facteurs premiers Pu p2, ... pf (f êtant supérieur ou égal à 2),- a public module n consisting of the product of f prime factors Pu p 2 , ... p f (f being greater than or equal to 2),
- un exposant public v .- a public exhibitor c.
Ledit module, ledit exposant et lesdites valeurs étant liés par des relations du type :Said module, said exponent and said values being linked by relationships of the type:
Gj . Q;v ≡ 1 . mod n ou Gi ≡ Q; v mod n . Ledit système comprend un dispositif témoin, notamment contenu dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif témoin comporte une zone mémoire contenant les f facteurs premiers p; et/ou des paramètres des restes chinois des facteurs premiers et/ou du module public n et/ou des m valeurs privées Qi et/ou des f.m composantes Q^- (Qi(j ≡ Qj inod pj) des valeurs privées Q; et de l'exposant public v. Le dispositif témoin comporte aussi :Gj. Q; v ≡ 1. mod n or Gi ≡ Q ; v mod n. Said system comprises a witness device, in particular contained in a nomadic object appearing for example in the form of a microprocessor bank card. The witness device includes a memory area containing the f prime factors p ; and / or parameters of the Chinese remains of the prime factors and / or of the public module n and / or of the m private values Qi and / or of the fm components Q ^ - (Q i (j ≡ Qj inod p j ) of the private values Q ; and the public exhibitor v. The witness system also includes:
- des moyens de production d'aléas, ci-après désignés les moyens de production d'aléas du dispositif témoin,- means of producing hazards, hereinafter designated the means of producing hazards of the control device,
- des moyens de calcul, ci-après désignés les moyens de calcul des engagements R du dispositif témoin, pour calculer des engagements R dans l'anneau des entiers modulo n. Chaque engagement est calculé en effectuant des opérations du type où r_ est un aléa associé au nombre premier Pi tel que 0 < r; < pj , chaque rj appartenant à une collection d'aléas {rj , r2 , ... rf} produits par les moyens de production d'aléas, puis en appliquant la méthode des restes chinois. Ainsi, le nombre d'opérations arithmétiques modulo p; à effectuer pour calculer chacun des engagements R_ pour chacun des pj est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Le dispositif témoin comporte aussi :calculating means, hereinafter designated the means of calculating the commitments R of the witness device, for calculating commitments R in the ring of integers modulo n. Each commitment is calculated by performing operations of the type where r_ is a hazard associated with the prime number Pi such that 0 <r;<pj, each rj belonging to a collection of hazards {rj, r 2 , ... r f } produced by the means of hazard production, then by applying the method of Chinese remains. Thus, the number of arithmetic operations modulo p; to do for calculating each of the commitments R_ for each of the pj is reduced compared to what it would be if the operations were carried out modulo n. The witness device also includes:
- des moyens de réception, ci-après désignés les moyens de réception des défis d du dispositif témoin, pour recevoir un ou plusieurs défis d ; chaque défi d comportant m entiers d; ci-après appelés défis élémentaires ;- reception means, hereinafter designated the means for receiving challenges d from the witness device, to receive one or more challenges d; each challenge d comprising m integers d; hereinafter called basic challenges;
- des moyens de calcul, ci-après désignés les moyens de calcul des réponses D du dispositif témoin, pour calculer à partir de chaque défi d une réponse D en effectuant des opérations du type : D; ≡ ri . QM dl . Qiι2 d2. ... Qi nι dm mod Pi puis, en appliquant la méthode des restes chinois.calculation means, hereinafter designated the means for calculating the responses D of the witness device, for calculating from each challenge of a response D by performing operations of the type: D; ≡ laughed . Q M dl . Q iι2 d2 . ... Q i nι dm mod Pi then, applying the Chinese remains method.
Ainsi, le nombre d'opérations arithmétiques modulo pi à effectuer pour calculer chacune des réponses D; pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Ledit dispositif témoin comporte aussi des moyens de transmission pour transmettre un ou plusieurs engagements R et une ou plusieurs réponses D. Il y a autant de réponses D que de défis d que d'engagements R. Chaque groupe de nombres R, d, D constituant un triplet noté {R, d, D}. Cas de la preuve de l'authenticité d'une entité Dans une première variante de réalisation le système selon l'invention est destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur.Thus, the number of modulo pi arithmetic operations to perform to calculate each of the responses D ; for each of the p ; is reduced compared to what it would be if the operations were carried out modulo n. Said witness device also comprises transmission means for transmitting one or more commitments R and one or more responses D. There are as many responses D as challenges d as commitments R. Each group of numbers R, d, D constituting a triplet noted {R, d, D}. Case of proof of the authenticity of an entity In a first variant embodiment, the system according to the invention is intended to prove the authenticity of an entity called a demonstrator to an entity called a controller.
Ledit système est tel qu'il comporte un dispositif démonstrateur associé à l'entité démonstrateur. Ledit dispositif démonstrateur est interconnecté au dispositif témoin par des moyens d'interconnexion. Il peut se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur. Ledit système comporte aussi un dispositif contrôleur associé à l'entité contrôleur. Ledit dispositif contrôleur se présente notamment sous la forme d'un terminal ou d'un serveur distant. Ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, au dispositif démonstrateur.Said system is such that it includes a demonstrator device associated with the demonstrator entity. Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card. Said system also includes a controller device associated with the entity controller. Said controller device is in particular in the form of a terminal or a remote server. Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device.
Ledit système permet d'exécuter les étapes suivantes :Said system allows the following steps to be carried out:
• étape 1 : acte d'engagement R• step 1: act of engagement R
A chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié ci-dessus. Le dispositif témoin comporte des moyens de transmission, ci- après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion. Le dispositif démonstrateur comporte aussi des moyens de transmission, ci-après désigné les moyens de transmission du dispositif démonstrateur, pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur, via les moyens de connexion.On each call, the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above. The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means. The demonstrator device also comprises transmission means, hereinafter designated the means of transmission of the demonstrator device, for transmitting all or part of each engagement R to the controller device, via the connection means.
• étape 2 : acte de défi d• step 2: act of challenge d
Le dispositif contrôleur comporte des moyens de productions de défis pour produire, après avoir reçu tout ou partie de chaque engagement R, des défis d en nombre égal au nombre d'engagements R. Le dispositif contrôleur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du contrôleur, pour transmettre les défis d au démonstrateur, via les moyens de connexion. • étape 3 : acte de réponse DThe controller device comprises challenge production means for producing, after having received all or part of each engagement R, challenges d in a number equal to the number of engagements R. The controller device also includes transmission means, below designated the controller transmission means, to transmit the challenges d to the demonstrator, via the connection means. • step 3: response act D
Les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif démonstrateur, via les moyens d'interconnexion. Les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.The means for receiving the challenges d from the witness device receive each challenge d from the demonstrator device, via the interconnection means. The means of calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
• étape 4 : acte de contrôle Les moyens de transmission du démonstrateur transmettent chaque réponse D au contrôleur. Le dispositif contrôleur comporte aussi - des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur,• stage 4: act of control The means of transmission of the demonstrator transmit each response D to the controller. The controller device also comprises - calculation means, hereinafter designated the calculation means of the controller device,
- des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur.- comparison means, hereinafter designated the comparison means of the controller device.
Premier cas : le démonstrateur a transmis une partie de chaque engagement RFirst case: the demonstrator transmitted part of each R commitment
Dans le cas où les moyens de transmission du démonstrateur ont transmis une partie de chaque engagement R, les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques Gl5 G2, ... Gm, calculent à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :In the case where the means of transmission of the demonstrator have transmitted part of each commitment R, the means of calculation of the controller device, having the m public values G l5 G 2 , ... G m , calculate from each challenge d and of each response D a reconstructed engagement R 'satisfying a relation of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R '≡ G j dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n . Les moyens de comparaison du dispositif contrôleur comparent chaque engagement reconstruit R' à tout ou partie de chaque engagement R reçu. cas où le démonstrateur a transmis l'intégralité de chaque engagement RR '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n. The comparison means of the controller device compare each reconstructed engagement R 'with all or part of each engagement R received. case where the demonstrator has transmitted the entirety of each engagement R
Dans le cas où les moyens de transmission du démonstrateur ont transmis l'intégralité de chaque engagement R, les moyens de calcul et les moyens de comparaison du dispositif contrôleur, disposant des m valeurs publiquesIn the case where the means of transmission of the demonstrator have transmitted the entirety of each commitment R, the means of calculation and the means of comparison of the controller device, having m public values
Gj, G2, ... Gm, vérifient que chaque engagement R satisfait à une relation du type :G j , G 2 , ... G m , verify that each engagement R satisfies a relation of the type:
R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type, R ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n . Cas de la preuve de l'intégrité d'un messageR ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a type relation, R ≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n. Proof of the integrity of a message
Dans une deuxième variante de réalisation susceptible d'être combinée avec la première, le système selon l'invention est destiné à prouver à une entité appelée contrôleur l'intégrité d'un message M associé à une entité appelée démonstrateur. Ledit système est tel qu'il comporte un dispositif démonstrateur associé à l'entité démonstrateur. Ledit dispositif démonstrateur est interconnecté au dispositif témoin par des moyens d'interconnexion. Il peut se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur. Ledit système comporte aussi un dispositif contrôleur associé à l'entité contrôleur. Ledit dispositif contrôleur se présente notamment sous la forme d'un terminal ou d'un serveur distant. Ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, au dispositif démonstrateur. Ledit système exécute les étapes suivantes :In a second alternative embodiment capable of being combined with the first, the system according to the invention is intended to prove to an entity called a controller the integrity of a message M associated with an entity called a demonstrator. Said system is such that it includes a demonstrator device associated with the demonstrator entity. Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card. The system also includes a controller device associated with the controller entity. Said controller device is in particular in the form of a terminal or a remote server. Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device. Said system performs the following steps:
• étape 1 : acte d'engagement R A chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié ci-dessus. Le dispositif témoin comporte des moyens de transmission, ci- après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion.• step 1: act of commitment R At each call, the means of calculating the commitments R of the witness device calculate each commitment R by applying the process specified above. The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means.
• étape 2 : acte de défi d• step 2: act of challenge d
Le dispositif démonstrateur comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif démonstrateur, appliquant une fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer au moins un jeton T . Le dispositif démonstrateur comporte aussi des moyens de transmission, ci- après désignés les moyens de transmission du démonstrateur, pour transmettre chaque jeton T , via les moyens de connexion, au dispositif au contrôleur. Le dispositif contrôleur comporte aussi des moyens de productions de défis pour produire, après avoir reçu le jeton T, des défis d en nombre égal au nombre d'engagements R, Le dispositif contrôleur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du dispositif contrôleur, pour transmettre les défis d au démonstrateur, via les moyens de connexion.The demonstrator device comprises calculation means, hereinafter designated the means of calculation of the demonstrator device, applying a hash function h having as arguments the message M and all or part of each engagement R to calculate at least one token T. The demonstrator device also includes transmission means, hereinafter designated the demonstrator transmission means, for transmitting each token T, via the connection means, to the device to the controller. The controller device also includes challenge production means to produce, after receiving the token T, challenges d in a number equal to the number of engagements R, The controller device also includes transmission means, hereinafter designated the means of transmission from the controller device, to transmit challenges d to the demonstrator, via the connection means.
• étape 3 : acte de réponse D• step 3: response act D
Les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif démonstrateur, via les moyens d'interconnexion. Les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.The means for receiving the challenges d from the witness device receive each challenge d from the demonstrator device, via the interconnection means. The means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
• étape 4 : acte de contrôle• step 4: act of control
Les moyens de transmission du démonstrateur transmettent chaque réponse D au contrôleur. Le dispositif contrôleur comporte aussi des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, pour d'une part, calculer à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :The demonstrator's transmission means transmit each response D to the controller. The controller device also comprises calculation means, hereinafter designated the controller device calculation means, having m public values Gj, G 2 , ... G m , for one hand, calculating from each challenge d and of each response D a reconstructed engagement R 'satisfying a relation of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type :R '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a relation of the type:
R' ≡ Dv / Gj dl . G2 d2. ... G„, dm . mod n puis d'autre part, calculer en appliquant la fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement reconstruit R', un jeton T'. Le dispositif contrôleur comporte aussi des moyens de comparaison, ci- après désignés les moyens de comparaison du dispositif contrôleur, pour comparer le jeton T' au jeton T reçu.R '≡ D v / Gj dl . G 2 d2 . ... G „, dm . mod n then, on the other hand, calculate by applying the hash function h having as arguments the message M and all or part of each reconstructed engagement R ', a token T'. The controller device also comprises comparison means, hereinafter designated the comparison means of the controller device, for comparing the token T ′ with the token T received.
Signature numérique d'un message et preuve de son authenticité Opération de signatureDigital signature of a message and proof of its authenticity Signature operation
Dans une troisième variante de réalisation, susceptible d'être combinée à l'une et/ou à l'autre des deux autres, le système selon l'invention est destiné à produire la signature numérique d'un message M, ci après désigné le message signé, par une entité appelée entité signataire. Le message signé comprend :In a third alternative embodiment, capable of being combined with one and / or the other of the other two, the system according to the invention is intended to produce the digital signature of a message M, hereinafter designated the message signed, by an entity called signatory entity. The signed message includes:
- le message M,- the message M,
- les défis d et/ou les engagements R,- challenges d and / or commitments R,
- les réponses D .- responses D.
Ledit système est tel qu'il comporte un dispositif signataire associé à l'entité signataire. Ledit dispositif signataire est interconnecté au dispositif témoin par des moyens d'interconnexion et peut se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur. Ledit système permet d'exécuter les étapes suivantes :Said system is such that it includes a signatory device associated with the signatory entity. Said signatory device is interconnected to the witness device by interconnection means and may in particular be in the form of logic microcircuits in a nomadic object for example in the form of a microprocessor in a microprocessor bank card. Said system allows the following steps to be carried out:
• étape 1 : acte d'engagement R• step 1: act of engagement R
A chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié ci-dessus. Le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif signataire, via les moyens d'interconnexion.On each call, the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above. The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each commitment R to the signatory device, via the interconnection means.
• étape 2 : acte de défi d Le dispositif signataire comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif signataire, appliquant une fonction d hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer un train binaire et extraire de ce train binaire des défis d en nombre égal au nombre d'engagements R.• step 2: act of challenge d The signatory device comprises means of calculation, hereinafter designated the means of calculation of the signatory device, applying a hash function h having as arguments the message M and all or part of each engagement R to calculate a binary train and extract from this binary train of challenges d in number equal to the number of commitments R.
• étape 3 : acte de réponse D Les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif signataire, via les moyens d'interconnexion. Les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.• step 3: response act D The means for receiving challenges d from the witness device receive each challenge d from the signatory device, via the interconnection means. The means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
Le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre les réponses D au dispositif signataire, via les moyens d'interconnexion.The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting the responses D to the signatory device, via the interconnection means.
Opération de contrôle Pour prouver l'authenticité du message M , par une entité appelée contrôleur, contrôle le message signé.Control operation To prove the authenticity of the message M, by an entity called controller, controls the signed message.
Le système comporte un dispositif contrôleur associé à l'entité contrôleur. Ledit dispositif contrôleur se présente notamment sous la forme d'un terminal ou d'un serveur distant. Ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, au dispositif démonstrateur. Ledit dispositif signataire associé à l'entité signataire comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif signataire, pour transmettre au dispositif contrôleur, le message signé, via les moyens de connexion. Ainsi, le dispositif contrôleur dispose d'un message signé comprenant:The system includes a controller device associated with the controller entity. Said controller device is in particular in the form of a terminal or a remote server. Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device. Said signatory device associated with the signatory entity comprises means of transmission, hereinafter designated the means of transmission of the signatory device, for transmitting to the controller device, the signed message, via the connection means. Thus, the controller device has a signed message comprising:
- le message M,- the message M,
- les défis d et/ou les engagements R, - les réponse D.- challenges d and / or commitments R, - the answers D.
Le dispositif contrôleur comporte :The controller includes:
- des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur, - des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur.- Calculation means, hereinafter designated the calculation means of the controller device, - comparison means, hereinafter designated the comparison means of the controller device.
• cas où le contrôleur dispose des engagements R, des défis d, des réponses D,• case where the controller has commitments R, challenges d, responses D,
Dans le cas où le dispositif contrôleur dispose des engagements R, des défis d, des réponses D, les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d et les réponses D satisfont à des relations du typeIn the case where the controller device has commitments R, challenges d, responses D, the means of calculation and comparison of the controller device verify that the commitments R, challenges d and responses D satisfy relations of the type
R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type : R ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod nR ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type: R ≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n
Puis, les moyens de calcul et de comparaison du dispositif contrôleur vérifient que le message M, les défis d et les engagements R satisfont à la fonction de hachage d = h (M, R) • cas où le contrôleur dispose des défis d et des réponses DThen, the means of calculation and comparison of the controller device verify that the message M, the challenges d and the commitments R satisfy the hash function d = h (M, R) • case where the controller has the challenges d and answers D
Dans le cas où le dispositif contrôleur dispose des défis d et des réponses D, les moyens de calcul du dispositif contrôleur calculent, à partir de chaque défi d et de chaque réponse D, des engagements R' satisfaisant à des relations du type : R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :In the case where the controller device has challenges d and responses D, the means of calculation of the controller device calculate, from each challenge d and each response D, commitments R 'satisfying relationships of the type: R' ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R' ≡ DV G, dl . G2 d2. ... Gm dm . mod nR '≡ DV G, dl . G 2 d2 . ... G m dm . mod n
Puis, les moyens de calcul et de comparaison du dispositif contrôleur vérifie que le message M et les défis d satisfont à la fonction de hachage 1Then, the means of calculation and comparison of the controller device checks that the message M and the challenges d satisfy the hash function. 1
d = h (M, R') • cas où le contrôleur dispose des engagements R et des réponses Dd = h (M, R ') • case where the controller has commitments R and responses D
Dans le cas où le dispositif contrôleur dispose des engagements R et des réponses D, les moyens de calcul du dispositif contrôleur appliquent la fonction de hachage et calculent d' tel que d' = h (M, R) Puis, les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d' et les réponses D, satisfont à des relations du type : R s Gj d>1 . G2 d'2. ... Gm d m . Dv mod n ou à des relations du type :In the case where the controller device has commitments R and responses D, the computing means of the controller device apply the hash function and compute d '= h (M, R) Then, the computing means and of comparison of the controller device verify that the commitments R, the challenges of and the responses D, satisfy relations of the type: R s Gj d> 1 . G 2 of 2 . ... G m dm . D v mod n or to relations of the type:
R ≡ Dv / Gj d l . G2 d'2. ... Gm d m . mod n Cas où on choisit la valeur privée Q en premier et où on déduit la valeur publique G de la valeur privée Q Dans certains, notamment afin de faciliter la production des couples de valeurs privées Q et publiques G, on choisit la valeur privée Q en premier et on déduit la valeur publique G de la valeur privée Q. Pl u s particulièrement dans ce cas, le système selon l'invention est tel que les composantes Qi) j , Qi) 2 , ... Qij f des valeurs privées Qi; sont des nombres tirés au hasard à raison d'une composante Qi j (Q i; j ≡ Qi inod Pj) pour chacun desdits facteurs premiers Pj. Lesdites valeurs privées Qj peuvent être calculées à partir desdites composantes Qif t , Qi 2 ... Q i f par la méthode des restes chinois. Lesdites valeurs publiques Gj, sont calculées en effectuant des opérations du type puis, en appliquant la méthode des restes chinois pour établir G; tel queR ≡ D v / Gj dl . G 2 of 2 . ... G m dm . mod n Case where we choose the private value Q first and where we deduce the public value G from the private value Q In some, notably in order to facilitate the production of the pairs of private values Q and public G, we choose the private value Q first and the public value G is deduced from the private value Q. More particularly in this case, the system according to the invention is such that the components Q i) j, Q i) 2 , ... Q ij f of private values Q i; are numbers drawn at random on the basis of a component Qi j (Q i; j ≡ Qi inod P j ) for each of said prime factors P j . Said private values Qj can be calculated from said components Q if t , Q i 2 ... Q if by the Chinese remainder method. Said public values Gj are calculated by performing operations of the type then by applying the Chinese remains method to establish G; such as
Gj . Q ≡ 1 . mod n ou G; ≡ Q/mod n ; Ainsi, le nombre d'opérations arithmétiques modulo p; à effectuer pour calculer chacun des Gi(j pour chacun des Pj est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.Gj. Q ≡ 1. mod n or G; ≡ Q / mod n; Thus, the number of arithmetic operations modulo p ; to be performed to calculate each of the G i (j for each of the P j is reduced compared to what it would be if the operations were carried out modulo n.
Avantageusement dans ce cas, le système selon l'invention est tel que l'exposant public de vérification v est un nombre premier. On démontre que la sécurité est équivalente à la connaissance de la valeur privée Qj . Cas où on choisit la valeur publique G en premier et où on déduit la valeur privée Q de la valeur publique G. De préférence dans ce cas, ledit exposant v est tel que v = 2k où k est un paramètre de sécurité plus grand que 1. Ladite valeur publique Gj est le carré g,-2 d'un nombre de base g_ inférieur aux f facteurs premiersAdvantageously in this case, the system according to the invention is such that the public verification exponent v is a prime number. We show that security is equivalent to knowing the private value Qj. Case where the public value G is chosen first and where the private value Q is deduced from the public value G. Preferably in this case, said exponent v is such that v = 2 k where k is a security parameter greater than 1. Said public value Gj is the square g, - 2 of a base number g_ less than the f prime factors
PJ, p2, ... pr . Le nombre de base i est tel que les deux équations : x2 ≡ gj mod n et x2 ≡ - gf mod n n'ont pas de solution en x dans l'anneau des entiers modulo n et tel que l'équation : xv ≡ g;2 mod n a des solutions en x dans l'anneau des entiers modulo n .PJ, p 2 , ... pr. The basic number i is such that the two equations: x 2 ≡ gj mod n and x 2 ≡ - g f mod n have no solution in x in the ring of integers modulo n and such that the equation: x v ≡ g; 2 mod na solutions in x in the ring of integers modulo n.
Dispositif terminalTerminal device
Méthode des restes chinois appliquée à la famille GQChinese remains method applied to the GQ family
L'invention concerne aussi un dispositif terminal associé à une entité. Le dispositif terminal se présente notamment sous la forme d'un objet nomade par exemple sous la forme d'une carte bancaire à microprocesseur. Le dispositif terminal est destiné à prouver à dispositif contrôleur :The invention also relates to a terminal device associated with an entity. The terminal device is in particular in the form of a mobile object, for example in the form of a microprocessor-based bank card. The terminal device is intended to prove to the controller device:
- l'authenticité d'une entité et/ou- the authenticity of an entity and / or
- l'intégrité d'un message M associé à cette entité. Cette preuve est établie au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:- the integrity of a message M associated with this entity. This proof is established by means of all or part of the following parameters or derived from them:
- m couples de valeurs privées Q Q2, ... Qm et publiques Gj, G2, ... Gm (m étant supérieur ou égal à 1),- m pairs of private values QQ 2 , ... Q m and public Gj, G 2 , ... G m (m being greater than or equal to 1),
- un module public n constitué par le produit de f facteurs premiers pj, p2, ... pf (f êtant supérieur ou égal à 2),- a public module n consisting of the product of f prime factors pj, p 2 , ... p f (f being greater than or equal to 2),
- un exposant public v .- a public exhibitor c.
Ledit module, ledit exposant et lesdites valeurs sont liés par des relations du type : Gj . Q;v ≡ 1 . mod n ou G; ≡ Q/ mod n .Said module, said exponent and said values are linked by relationships of the type: Gj. Q; v ≡ 1. mod n or G; ≡ Q / mod n.
Ledit dispositif terminal comprend un dispositif témoin comportant une zone mémoire contenant les f facteurs premiers Pi et/ou les paramètres des restes chinois des facteurs premiers et/ou du module public n et/ou les m valeurs privées Q; et/ou les f.m composantes Q S (Qi, j ≡ Qf mod Pj) des valeurs privées Qj et de l'exposant public v. Le dispositif témoin comporte aussi :Said terminal device comprises a witness device comprising a memory area containing the f prime factors Pi and / or the parameters of the Chinese remains of the prime factors and / or of the public module n and / or the m private values Q ; and / or the fm components Q S (Qi , j ≡ Q f mod P j ) of the private values Qj and of the public exponent v. The witness device also includes:
- des moyens de production d'aléas, ci-après désignés les moyens de production d'aléas du dispositif témoin,- means of producing hazards, hereinafter designated the means of producing hazards of the control device,
- des moyens de calcul, ci-après désignés les moyens de calcul des engagements R du dispositif témoin.- calculation means, hereinafter designated the means for calculating the commitments R of the witness device.
Les moyens de calcul permettent de calculer des engagements R dans l'anneau des entiers modulo n. Chaque engagement est calculé en effectuant des opérations du type où r. est un aléa associé au nombre premier p; tel que 0 < r_ < Pj , chaque rj appartenant à une collection d'aléas {r , r2 , ... rf} produits par les moyens de production d'aléas, puis en appliquant la méthode des restes chinois. Ainsi, le nombre d'opérations arithmétiques modulo p; à effectuer pour calculer chacun des engagements Ri pour chacun des PJ est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n.The calculation means make it possible to calculate commitments R in the ring of integers modulo n. Each commitment is calculated by performing operations of the type where r. is a hazard associated with the prime number p; such that 0 <r_ <Pj, each rj belonging to a collection of hazards {r, r 2 , ... r f } produced by the means of hazard production, then by applying the Chinese remains method. Thus, the number of arithmetic operations modulo p; to be carried out to calculate each of the commitments Ri for each of the P J is reduced compared to what it would be if the operations were carried out modulo n.
Le dispositif témoin comporte aussi :The witness device also includes:
- des moyens de réception, ci-après désignés les moyens de réception des défis d du dispositif témoin, pour recevoir un ou plusieurs défis d, chaque défi d comportant m entiers d_ ci-après appelés défis élémentaires ; ΛΛ,At-ΛAc 00/46946 22 - reception means, hereinafter designated the means for receiving challenges d from the witness device, to receive one or more challenges d, each challenge d comprising m integers d_ hereinafter called elementary challenges; ΛΛ , At - ΛAc 00/46946 22
- des moyens de calcul, ci-après désignés les moyens de calcul des réponses D du dispositif témoin, pour calculer à partir de chaque défi d une réponse D en effectuant des opérations du type :means of calculation, hereinafter designated the means of calculating the responses D of the witness device, for calculating from each challenge of a response D by performing operations of the type:
Di S ri . Qi)j . Qi/2. ... Qi)m dm mod pi puis, en appliquant la méthode des restes chinois.D i S r i . Q i) j . Qi / 2 . ... Q i) m dm mod pi then, applying the Chinese remains method.
Ainsi, le nombre d'opérations arithmétiques modulo p; à effectuer pour calculer chacune des réponses Dj pour chacun des p; est réduit par rapport à ce qu'il serait si les opérations étaient effectuées modulo n. Le dispositif témoin comporte aussi des moyens de transmission pour transmettre un ou plusieurs engagements R et une ou plusieurs réponses D.Thus, the number of arithmetic operations modulo p ; to be performed to calculate each of the responses Dj for each of the p ; is reduced compared to what it would be if the operations were carried out modulo n. The witness device also includes transmission means for transmitting one or more commitments R and one or more responses D.
Il y a autant de réponses D que de défis d que d'engagements R. Chaque groupe de nombres R, d, D constituant un triplet noté {R, d, D}.There are as many responses D as challenges d as there are commitments R. Each group of numbers R, d, D constituting a triplet noted {R, d, D}.
Cas de la preuve de l'authenticité d'une entité Dans une première variante de réalisation, le dispositif terminal selon l'invention est destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur.Case of proof of the authenticity of an entity In a first variant embodiment, the terminal device according to the invention is intended to prove the authenticity of an entity called a demonstrator to an entity called a controller.
Ledit dispositif terminal est tel qu'il comporte un dispositif démonstrateur associé à l'entité démonstrateur. Ledit dispositif démonstrateur est interconnecté au dispositif témoin par des moyens d'interconnexion. Il peut se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur.Said terminal device is such that it includes a demonstrator device associated with the demonstrator entity. Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card.
Ledit dispositif démonstrateur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif contrôleur associé à l'entité contrôleur. Ledit dispositif contrôleur se présente notamment sous la forme d'un terminal ou d'un serveur distant. Ledit dispositif terminal permet d'exécuter les étapes suivantes : 46946 23 Said demonstrator device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the controller entity. Said controller device is in particular in the form of a terminal or a remote server. Said terminal device makes it possible to execute the following steps: 46946 23
• étape 1 : acte d'engagement R• step 1: act of engagement R
A chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié ci-dessus. Le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion. Le dispositif démonstrateur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du démonstrateur, pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur, via les moyens de connexion.On each call, the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above. The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means. The demonstrator device also includes transmission means, hereinafter designated the demonstrator transmission means, for transmitting all or part of each engagement R to the controller device, via the connection means.
• étape 2 et 3 : acte de défi d, acte de réponse D• stage 2 and 3: act of challenge d, act of response D
Les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif contrôleur via les moyens de connexion entre le dispositif contrôleur et le dispositif démonstrateur et via les moyens d'interconnexion entre le dispositif démonstrateur et le dispositif témoin. Les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.The means for receiving challenges d from the witness device receive each challenge d from the controller device via the connection means between the controller device and the demonstrator device and via the interconnection means between the demonstrator device and the witness device. The means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
• étape 4 : acte de contrôle Les moyens de transmission du démonstrateur transmettent chaque réponse• step 4: act of control The means of transmission of the demonstrator transmit each response
D au dispositif contrôleur qui procède au contrôle.D to the controller device which performs the control.
Cas de la preuve de l'intégrité d'un message Dans une deuxième variante de réalisation, susceptible d'être combinée aux autres variantes de réalisation, le dispositif terminal selon l'invention est destiné à prouver à une entité appelée contrôleur l'intégrité d'un message M associé à une entité appelée démonstrateur. Ledit dispositif terminal est tel qu'il comporte un dispositif démonstrateur associé à l'entité démonstrateur. Ledit dispositif démonstrateur est interconnecté au dispositif témoin par des moyens d'interconnexion. Il peut se présenter notamment sous la forme de Λ I Λ érnΛâ: 0/46946 24 Case of the proof of the integrity of a message In a second alternative embodiment, capable of being combined with the other alternative embodiments, the terminal device according to the invention is intended to prove to an entity called controller the integrity of 'a message M associated with an entity called demonstrator. Said terminal device is such that it includes a demonstrator device associated with the demonstrator entity. Said demonstrator device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of Λ I Λ érnΛâ: 0/46946 24
microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur. Ledit dispositif démonstrateur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif contrôleur associé à l'entité contrôleur. Ledit dispositif contrôleur se présente notamment sous la forme d'un terminal ou d'un serveur distant. Ledit dispositif terminal permet d'exécuter les étapes suivantes : • étape 1 : acte d'engagement Rlogic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card. Said demonstrator device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the controller entity. Said controller device is in particular in the form of a terminal or a remote server. Said terminal device makes it possible to execute the following steps: • step 1: act of engagement R
A chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié ci-dessus. Le dispositif témoin comporte des moyens de transmission, ci- après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion.On each call, the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above. The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means.
• étape 2 et 3 : acte de défi d, acte de réponse Le dispositif démonstrateur comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif démonstrateur, appliquant fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer au moins un jeton T . Le dispositif démonstrateur comporte aussi des moyens de transmission, ci- après désignés les moyens de transmission du démonstrateur, pour transmettre chaque jeton T , via les moyens de connexion, au dispositif au contrôleur.• step 2 and 3: act of challenge, act of response The demonstrator device comprises calculation means, hereinafter designated the means of calculation of the demonstrator device, applying hash function h having as arguments the message M and all or part of each engagement R to calculate at least one token T. The demonstrator device also includes transmission means, hereinafter designated the demonstrator transmission means, for transmitting each token T, via the connection means, to the device to the controller.
Ledit dispositif contrôleur produit, après avoir reçu le jeton T, des défis d en nombre égal au nombre d'engagements R.Said controller device produces, after receiving the token T, challenges d in a number equal to the number of engagements R.
Les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif démonstrateur, via les moyens d'interconnexion entre le dispositif démonstrateur et le dispositif témoin. Les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié ci-dessus.The means for receiving the challenges d from the witness device, receive each challenge d from the demonstrator device, via the means of interconnection between the demonstrator device and the witness device. The means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above.
• étape 4 : acte de contrôle Les moyens de transmission du démonstrateur transmettent chaque réponse• step 4: act of control The means of transmission of the demonstrator transmit each response
D au dispositif contrôleur qui procède au contrôle.D to the controller device which performs the control.
Signature numérique d'un message et preuve de son authenticitéDigital signature of a message and proof of its authenticity
Opération de signature Dans une troisième variante de réalisation, susceptible d'être combinée aux autres, le dispositif terminal selon l'invention est destiné à produire la signature numérique d'un message M, ci après désigné le message signé, par une entité appelée entité signataire. Le message signé comprend :Signature operation In a third alternative embodiment, capable of being combined with the others, the terminal device according to the invention is intended to produce the digital signature of a message M, hereinafter designated the signed message, by an entity called entity signatory. The signed message includes:
- le message M, - les défis d et/ou les engagements R,- message M, - challenges d and / or commitments R,
- les réponses D.- the responses D.
Ledit dispositif terminal étant tel qu'il comporte un dispositif signataire associé à l'entité signataire. Ledit dispositif signataire est interconnecté au dispositif témoin par des moyens d'interconnexion. Il peut se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur. Ledit dispositif signataire comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif contrôleur associé à l'entité contrôleur. Ledit dispositif contrôleur se présente notamment sous la forme d'un terminal ou d'un serveur distant. Ledit dispositif terminal permet d'exécuter les étapes suivantes :Said terminal device being such that it includes a signatory device associated with the signatory entity. Said signing device is interconnected to the witness device by means of interconnection. It can be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card. Said signatory device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the controller entity. Said controller device is in particular in the form of a terminal or a remote server. Said terminal device makes it possible to execute the following steps:
• étape 1 : acte d'engagement R A chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié ci-dessus. Le dispositif témoin comporte des moyens de transmission, ci- après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif signataire, via les moyens d'interconnexion.• step 1: act of engagement R On each call, the commitment calculation means R of the witness device calculate each engagement R by applying the process specified above. The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each commitment R to the signatory device, via the interconnection means.
• étape 2 : acte de défi d• step 2: act of challenge d
Le dispositif signataire comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif signataire, appliquant une fonction d hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer un train binaire et extraire de ce train binaire des défis d en nombre égal au nombre d'engagements R.The signatory device comprises means of calculation, hereinafter designated the means of calculation of the signatory device, applying a hash function h having as arguments the message M and all or part of each engagement R to calculate a binary train and extract from this binary train of challenges d in number equal to the number of commitments R.
• étape 3 : acte de réponse D• step 3: response act D
Les moyens de réception des défis d reçoivent les défis d provenant du dispositif signataire, via les moyens d'interconnexion. Les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié ci-dessus. Le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre les réponses D au dispositif signataire, via les moyens d'interconnexion.The means for receiving challenges d receive the challenges d coming from the signatory device, via the interconnection means. The means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified above. The witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting the responses D to the signatory device, via the interconnection means.
Dispositif contrôleurController device
Méthode des restes chinois appliquée à toute la famille GQChinese remains method applied to the whole GQ family
L'invention concerne aussi un dispositif contrôleur. Le dispositif contrôleur peut se présenter notamment sous la forme d'un terminal ou d'un serveur distant associé à une entité contrôleur. Le dispositif contrôleur est destiné à prouver à un serveur contrôleur :The invention also relates to a controller device. The controller device can be in particular in the form of a terminal or a remote server associated with a controller entity. The controller device is intended to prove to a controller server:
- l'authenticité d'une entité et/ou- the authenticity of an entity and / or
- l'intégrité d'un message M associé à cette entité.- the integrity of a message M associated with this entity.
Cette preuve est établie au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:This proof is established using all or part of the following parameters or derivatives thereof:
- m couples de valeurs privées Q , Q2, ... Qm et publiques Gj, G2, ... Gm (m étant supérieur ou égal à 1),- m pairs of private values Q, Q 2 , ... Q m and public Gj, G 2 , ... G m (m being greater than or equal to 1),
- un module public n constitué par le produit de f facteurs premiers pj , p2, ... pt (f étant supérieur ou égal à 2) ,- a public module n consisting of the product of f prime factors p j , p 2 , ... p t (f being greater than or equal to 2),
- un exposant public v .- a public exhibitor c.
Ledit module, ledit exposant et lesdites valeurs sont liés par des relations du type :Said module, said exponent and said values are linked by relationships of the type:
Gj . QjV ≡ 1 . mod n ou Gj ≡ QiV mod n ; où Qj désigne une valeur privée, inconnue du dispositif contrôleur, associée à la valeur publique G; .Gj. Qj V ≡ 1. mod n or Gj ≡ Qi V mod n; where Q j denotes a private value, unknown to the controller, associated with the public value G; .
Cas de la preuve de l'authenticité d'une entité Dans une première variante de réalisation, susceptible d'être combinée avec les autres, le dispositif contrôleur selon l'invention est destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur.Case of proof of the authenticity of an entity In a first variant embodiment, capable of being combined with the others, the controller device according to the invention is intended to prove the authenticity of an entity called a demonstrator at a entity called controller.
Ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif démonstrateur associé à l'entité démonstrateur.Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a demonstrator device associated with the demonstrator entity.
Ledit dispositif contrôleur permet d'exécuter les étapes suivantes :Said controller device makes it possible to carry out the following steps:
• étape 1 et 2 : acte d'engagement R, acte de défi Ledit dispositif contrôleur comporte aussi des moyens de réception de tout ou partie des engagements R provenant du dispositif démonstrateur, via les moyens de connexion.• step 1 and 2: act of engagement R, act of challenge The said controller device also includes means for receiving all or part of the commitments R coming from the demonstrator device, via the connection means.
Le dispositif contrôleur comporte des moyens de productions de défis pour produire, après avoir reçu tout ou partie de chaque engagement R, des défis d en nombre égal au nombre d'engagements R, chaque défi d comportant m entiers dj , ci-après appelés défis élémentaires. Le dispositif contrôleur comporte aussi des moyens de transmission, ci- après désignés les moyens de transmission du dispositif contrôleur, pour transmettre les défis d au démonstrateur, via les moyens de connexion. • étapes 3 et 4 : acte de réponse, acte de contrôle Le dispositif contrôleur comporte aussiThe controller device comprises challenge production means for producing, after having received all or part of each engagement R, challenges d in number equal to the number of engagements R, each challenge d comprising m integers dj, hereinafter called challenges elementary. The controller device also comprises means of transmission, hereinafter designated the means of transmission of the controller device, for transmitting the challenges d to the demonstrator, via the connection means. • steps 3 and 4: response act, control act The controller also includes
- des moyens de réception des réponses D provenant du dispositif démonstrateur, via les moyens de connexion,means for receiving responses D from the demonstrator device, via the connection means,
- des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur, - des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur.- Calculation means, hereinafter designated the calculation means of the controller device, - comparison means, hereinafter designated the comparison means of the controller device.
Premier cas : le démonstrateur a transmis une partie de chaque engagement R Dans le cas où les moyens de réception du dispositif contrôleur ont reçus une partie de chaque engagement R, les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques G , G2, ... Gm, calculent à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :First case: the demonstrator has transmitted part of each commitment R In the case where the means of reception of the controller device have received part of each commitment R, the means of calculation of the controller device, having the m public values G, G 2 , ... G m , calculate from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type:
R' ≡ Gj dl . G2 2. ... Gm dm . Dv mod n ou à une relation du type,R '≡ Gj dl . G 2 2 . ... G m dm . D v mod n or to a type relation,
R' - Dv / Gj dl . G2 d2. ... Gm dm . mod n . Les moyens de comparaison du dispositif contrôleur comparent chaque engagement reconstruit R' à tout ou partie de chaque engagement R reçu. Deuxième cas : le démonstrateur a transmis l'intégralité de chaque engagement RR '- D v / Gj dl . G 2 d2 . ... G m dm . mod n. The comparison means of the controller device compare each reconstructed engagement R 'with all or part of each engagement R received. Second case: the demonstrator transmitted all of the R commitments
Dans le cas où les moyens de réception du dispositif contrôleur ont reçus l'intégralité de chaque engagement R, les moyens de calcul et les moyens de comparaison du dispositif contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, vérifient que chaque engagement R satisfait à une relation du type :In the case where the reception means of the controller device have received all of each engagement R, the calculation means and the comparison means of the controller device, having the m public values Gj, G 2 , ... G m , verify that each commitment R satisfies a relation like :
R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n . Cas de la preuve de l'intégrité d'un messageR ≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n. Proof of the integrity of a message
Dans une deuxième variante de réalisation, susceptible d'être combinée avec les autres, le dispositif contrôleur selon l'invention est destiné à prouver l'intégrité d'un message M associé à une entité appelée démonstrateur. Ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif démonstrateur associé à l'entité démonstrateur. Ledit dispositif contrôleur permet d'exécuter les étapes suivantes : • étapes 1 et 2 : acte d'engagement R, acte de défiIn a second variant embodiment, capable of being combined with the others, the controller device according to the invention is intended to prove the integrity of a message M associated with an entity called a demonstrator. Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a demonstrator device associated with the demonstrator entity. Said controller device makes it possible to execute the following steps: • steps 1 and 2: act of engagement R, act of challenge
Ledit dispositif contrôleur comporte aussi des moyens de réception de jetons T provenant du démonstrateur, via les moyens de connexion. Le dispositif contrôleur comporte aussi des moyens de productions de défis pour produire, après avoir reçu le jeton T, défis d en nombre égal au nombre d'engagements R , chaque défi d comportant m entiers, ci-après appelés les défis élémentaires. Le dispositif contrôleur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du dispositif contrôleur, pour transmettre les défis d au démonstrateur, via les moyens de connexion. • étapes 3 et 4 : acte de réponse D, acte de contrôleSaid controller device also comprises means for receiving tokens T from the demonstrator, via the connection means. The controller device also includes challenge production means for producing, after receiving the token T, challenges d in a number equal to the number of engagements R, each challenge d comprising m integers, hereinafter called the elementary challenges. The controller device also comprises means of transmission, hereinafter designated the means of transmission of the controller device, for transmitting the challenges d to the demonstrator, via the connection means. • stages 3 and 4: response act D, control act
Le dispositif contrôleur comporte des moyens de réception des réponses D provenant du dispositif démonstrateur, via les moyens de connexion. Le dispositif contrôleur comporte aussi des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, pour d'une part, calculer à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :The controller device includes means for receiving responses D from the demonstrator device, via the connection means. The controller device also includes calculation means, hereinafter designated the controller device calculation means, having the m values Gj, G 2 , ... G m , on the one hand, calculate from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type:
R' = Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type :R '= Gj dl . G 2 d2 . ... G m dm . D v mod n or to a relation of the type:
R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n puis d'autre part, calculer en appliquant la fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement reconstruit R', un jeton T'. Le dispositif contrôleur comporte aussi des moyens de comparaison, ci- après désignés les moyens de comparaison du dispositif contrôleur, pour comparer le jeton T' au jeton T reçu.R '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n then, on the other hand, calculate by applying the hash function h having as arguments the message M and all or part of each reconstructed engagement R ', a token T'. The controller device also comprises comparison means, hereinafter designated the comparison means of the controller device, for comparing the token T ′ with the token T received.
Signature numérique d'un message et preuve de son authenticité Dans une troisième variante de réalisation, susceptible d'être combinée aux autres variantes de réalisation, le dispositif contrôleur selon l'invention est destiné à prouver l'authenticité du message M en contrôlant, par une entité appelée contrôleur, le message signé.Digital signature of a message and proof of its authenticity In a third alternative embodiment, capable of being combined with the other alternative embodiments, the controller device according to the invention is intended to prove the authenticity of the message M by checking, by an entity called controller, the message signed.
Le message signé, émis par un dispositif signataire associé à une entité signataire disposant d'une fonction de hachage h (M, R) ; comprend : - le message M,The signed message, issued by a signatory device associated with a signatory entity having a hash function h (M, R); includes: - the message M,
- les défis d et/ou les engagements R,- challenges d and / or commitments R,
- les réponse D .- the answers D.
Ledit dispositif contrôleur comporte des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif signataire associé à l'entité signataire. Ledit dispositif contrôleur reçoit le message signé du dispositif signataire, via les moyens de connexion. Le dispositif contrôleur comporte : - des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur,Said controller device comprises connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a signatory device associated with the signatory entity. Said controller device receives the signed message from the signatory device, via the connection means. The controller includes: - calculation means, hereinafter designated the calculation means of the controller device,
- des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur. • cas où le contrôleur dispose des engagements R, des défis d, des réponses D,- comparison means, hereinafter designated the comparison means of the controller device. • case where the controller has commitments R, challenges d, responses D,
Dans le cas où le dispositif contrôleur dispose des engagements R, des défis d, des réponses D, les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d et les réponses D satisfont à des relations du typeIn the case where the controller device has commitments R, challenges d, responses D, the means of calculation and comparison of the controller device verify that the commitments R, challenges d and responses D satisfy relations of the type
R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :R ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n Puis, les moyens de calcul et de comparaison du dispositif contrôleur vérifient que le message M, les défis d et les engagements R satisfont à la fonction de hachage d = h (M, R)R ≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n Then, the means of calculation and comparison of the controller device verify that the message M, the challenges d and the commitments R satisfy the hash function d = h (M, R)
• cas où le contrôleur dispose des défis d et des réponses D• case where the controller has challenges d and answers D
Dans le cas où le dispositif contrôleur dispose des défis d et des réponses D, les moyens de calcul du dispositif contrôleur calculent, à partir de chaque défi d et de chaque réponse D, des engagements R' satisfaisant à des relations du type :In the case where the controller device has challenges d and responses D, the computing means of the controller device calculate, from each challenge d and each response D, commitments R 'satisfying relationships of the type:
R' s Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type : R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod nR 's Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type: R '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n
Puis, les moyens de calcul et de comparaison du dispositif contrôleur vérifient que le message M et les défis d satisfont à la fonction de hachage d = h (M, R')Then, the means of calculation and comparison of the controller device verify that the message M and the challenges d satisfy the hash function d = h (M, R ')
• cas où le contrôleur dispose des engagements R et des réponses D Dans le cas où le dispositif contrôleur dispose des engagements R et des réponses D, les moyens de calcul du dispositif contrôleur appliquent la fonction de hachage et calculent d' tel que d' = h (M, R) Puis, les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d' et les réponses D, satisfont à des relations du type :• case where the controller has R commitments and D responses In the case where the controller device has commitments R and responses D, the computing means of the controller device apply the hash function and compute d '= h (M, R) Then, the computing means and of comparison of the controller device verify that the commitments R, the challenges of and the responses D, satisfy relations of the type:
R ≡ Gj d>1 . G2 d 2. ... Gm d m . Dv mod n ou à des relations du type : R ≡ Dv / G, d l . G2 d 2. ... Gm d m . mod nR ≡ Gj d> 1 . G 2 d 2 . ... G m dm . D v mod n or to relations of the type: R ≡ D v / G, dl . G 2 d 2 . ... G m dm . mod n
Description détaillée de la variante de réalisation dans le cas où l'exposant public v = 2 k Detailed description of the alternative embodiment in the case where the public exhibitor v = 2 k
DescriptionDescription
Rappelons l'objectif de la technologie GQ : l'authentification dynamique d'entités et de messages associés, ainsi que la signature numérique de messages. La version classique de la technologie GQ fait appel à la technologie RSA.Recall the objective of GQ technology: dynamic authentication of entities and associated messages, as well as the digital signature of messages. The classic version of GQ technology uses RSA technology.
Mais, si la technologie RSA dépend bel et bien de la factorisation, cette dépendance n'est pas une équivalence, loin s'en faut, comme le démontrent les attaques dites « multiplicatives » contre diverses normes de signature numérique mettant en œuvre la technologie RSA. Dans le cadre de la technologie GQ2, la présente partie de l'invention porte plus précisément sur l'utilisation des jeux de clés GQ2 dans le cadre de l'authentification dynamique et de la signature numérique. La technologie GQ2 ne fait pas appel à la technologie RSA. L'objectif est double : d'une part, améliorer les performances par rapport à la technologie RSA ; d'autre part, éviter les problèmes inhérents à la technologie RSA. La clé privéeBut, if the RSA technology does indeed depend on factorization, this dependence is not an equivalence, far from it, as demonstrated by the so-called “multiplicative” attacks against various digital signature standards implementing the RSA technology . In the context of GQ2 technology, this part of the invention relates more specifically to the use of GQ2 key sets in the context of dynamic authentication and digital signature. GQ2 technology does not use RSA technology. The objective is twofold: on the one hand, to improve performance compared to RSA technology; on the other hand, avoid the problems inherent in RSA technology. The private key
GQ2 est la factorisation du module n. Toute attaque au niveau de striplets GQ2 se ramène à la factorisation du module n : il y a cette fois équivalence. Avec la technologie GQ2, la charge de travail est réduite, tant pour l'entité qui signe ou qui s'authentifie que pour celle qui contrôle. Grâce à un meilleur usage du problème de la factorisation, tant en sécurité qu'en performance, la technologie GQ2 concurrence la technologie RSA. La technologie GQ2 utilise un ou plusieurs petits nombres entiers plus grands que 1 , disons m petits nombres entiers (m ≥ 1) appelés « nombres de base » et notés par g_. Les nombres de base étant fixés de gx à gm avec ≥ 1 , une clé publique de vérification (v, n) est choisie de la manière suivante. L'exposant public de vérification v est 2k où k est un petit nombre entier plus grand que 1 (k ≥ 2). Le module public n est le produit d'au moins deux facteurs premiers plus grands que les nombres de base, disons/ facteurs premiers (f ≥ 2) notés par ;, dε p_ ... pf. Les /facteurs premiers sont choisis de façon à ce que le module public n ait les propriétés suivantes par rapport à chacun des m nombres de base de g_ à gm.GQ2 is the factorization of the module n. Any attack at the level of GQ2 striplets comes down to the factorization of the module n: this time there is equivalence. With GQ2 technology, the workload is reduced, as much for the entity that signs or authenticates as for that which controls. Thanks to better use of the factorization problem, both in terms of security and performance, the GQ2 technology competes with the RSA technology. GQ2 technology uses one or more small whole numbers greater than 1, say m small whole numbers (m ≥ 1) called "base numbers" and denoted by g_. Since the basic numbers are fixed from g x to g m with ≥ 1, a public verification key (v, n) is chosen as follows. The public verification exponent v is 2 k where k is a small integer greater than 1 (k ≥ 2). The public module n is the product of at least two prime factors larger than the base numbers, say / prime factors (f ≥ 2) denoted by ; , dε p_ ... p f . The primary factors are chosen so that the public module n has the following properties with respect to each of the m base numbers from g_ to g m .
- D'une part, les équations (1) et (2) n'ont pas de solution en x dans l'anneau des entiers modulo n, c'est-à-dire que g, et -g, sont deux résidus non quadratiques (mod n). x2 ≡ g. (mod n) (1) x2 ≡ -gt (mod n) (2)- On the one hand, equations (1) and (2) have no solution in x in the ring of integers modulo n, that is to say that g, and -g, are two residues not quadratic (mod n). x 2 ≡ g. (mod n) (1) x 2 ≡ -g t (mod n) (2)
- D'autre part, l'équation (3) a des solutions en x dans l'anneau des entiers modulo n. x 2^ ≡ gl 2 (mod n) (3)- On the other hand, equation (3) has solutions at x in the ring of integers modulo n. x 2 ^ ≡ g l 2 (mod n) (3)
La clé publique de vérification (v, n) étant fixée selon les nombres de base de gi à gm avec m ≥ 1 , chaque nombre de base g_ détermine un couple de valeurs GQ2 comprenant une valeur publique G, et une valeur privée Q, : soit m couples notés de G_ Q_ à Gm Qm. La valeur publique G, est le carré du nombre de base g, : soit G, = g,2. La valeur privée Q, est une des solutions à l'équation (3) ou bien l'inverse (mod n) d'une telle solution. De même que le module n se décompose en / facteurs premiers, l'anneau des entiers modulo n se décompose en / corps de Galois, de CG(p{) à CG(pf). Voici les projections des équations (1), (2) et (3) dans CG^). x2 ≡ gt (mod Pj) (La) x2 ≡ -gι (mod pj) (2.a) x2 ≡ g2 (mod pj) (3.a)The public verification key (v, n) being fixed according to the basic numbers from gi to g m with m ≥ 1, each basic number g_ determines a pair of values GQ2 comprising a public value G, and a private value Q, : let m couples noted from G_ Q_ to G m Q m . The public value G, is the square of the base number g,: let G, = g, 2 . The private value Q, is one of the solutions to equation (3) or the reverse (mod n) of such a solution. Just as the module n is broken down into / prime factors, the ring of integers modulo n is broken down into / Galois field, from CG (p { ) to CG (p f ). Here are the projections of equations (1), (2) and (3) in CG ^). x 2 ≡ g t (mod Pj ) (La) x 2 ≡ -g ι (mod p j ) (2.a) x 2 ≡ g 2 (mod p j ) (3.a)
Chaque valeur privée Q_ peut se représenter de manière unique par / composantes privées, une par facteur premier : QtJ ≡ Q_ (mod pj). Chaque composante privée Q,d est une solution à l'équation (3.a) ou bien l'inverseEach private value Q_ can be represented in a unique way by / private components, one by prime factor: Q tJ ≡ Q_ (mod p j ). Each private component Q, d is a solution to equation (3.a) or the reverse
(mod p^ d'une telle solution. Après que toutes les solutions possibles à chaque équation (3.a) aient été calculées, la technique des restes chinois permet d'établir toutes les valeurs possibles pour chaque valeur privée Q, à partir de /composantes de Q_ _ à Q_s : Q_ = Restes Chinois (Ql Ql 2, • • • Q, ) de manière à obtenir toutes les solutions possibles à l'équation (3). Noici la technique des restes chinois : soient deux nombres entiers positifs premiers entre eux a et b tels que 0 < a < b, et deux composantes Xa de 0 à a-\ et Xb de 0 à b-\ ; il s'agit de déterminer X = Restes Chinois (Xa, Xb), c'est-à-dire, le nombre unique X de 0 à a .b-l tel que Xa ≡ X (mod a) et(mod p ^ of such a solution. After all the possible solutions to each equation (3.a) have been calculated, the Chinese remainder technique allows for all possible values for each private value Q from / components of Q_ _ to Q_ s : Q_ = Chinese Remains (Q l Q l 2 , • • • Q,) so as to obtain all the possible solutions to equation (3). Here is the technique of Chinese remainders: let two integers positive prime between them a and b such that 0 <a <b, and two components X a from 0 to a- \ and X b from 0 to b- \; it is a question of determining X = Chinese Rests (X a , X b ), that is to say, the unique number X from 0 to a .bl such that X a ≡ X (mod a) and
Xb ≡ X (mod b). Noici le paramètre des restes chinois : a ≡ {b (mod a)}~1 (mod a). Voici l'opération des restes chinois : ε ≡ Xb (mod a) ; ô = Xa-ε ; si ô est négatif, remplacer ô par ô+a ; γ ≡ a . ô (mod a) ; X = γ . b + Xb. Lorsque les facteurs premiers sont rangés dans l'ordre croissant, du plus petit j_>[ au plus grand pf, les paramètres des restes chinois peuvent être les suivants (il y en a/-l , c'est-à-dire, un de moins que de facteurs premiers). Le premier paramètre des restes chinois est a ≡ {p2 (mod /?,)}-1 (mod /?!). Le second paramètre des restes chinois est β ≡ {p_ .p2 (mod /?3)}_1 (mod 3). Le i ième paramètre des restes chinois est λ ≡ {p\.p2. ... pt (mod p,)}~1 (mod p^. Et ainsi de suite. Ensuite, en/-l opérations des restes chinois, on établit un premier résultat (mod p2 fois p_) avec le premier paramètre, puis, un second résultat (mod p_.p2 fois p3) avec le second paramètre, et ainsi de suite, jusqu'à un résultat (modp, . ... pfJ fois jc ), c'est-à-dire, (mod n). Il y a plusieurs représentations possibles de la clé privée GQ2, ce qui traduit le polymorphisme de la clé privée GQ2. Les diverses représentations s'avèrent équivalentes : elles se ramènent toutes à la connaissance de la factorisation du module n qui est la véritable clé privée GQ2. Si la représentation affecte bien le comportement de l'entité qui signe ou qui s'authentifie, elle n'affecte pas le comportement de l'entité qui contrôle. Voici les trois principales représentations possibles de la clé privée GQ2.X b ≡ X (mod b). Here is the parameter for Chinese remains: a ≡ {b (mod a)} ~ 1 (mod a). Here is the operation of the Chinese remains: ε ≡ X b (mod a); ô = X a -ε; if ô is negative, replace ô by ô + a; γ ≡ a. ô (mod a); X = γ. b + X b . When the prime factors are ranked in ascending order, from the smallest j _> [to the largest p f , the parameters of the Chinese remainders can be as follows (there are a / -l, that is, one less than prime factors). The first parameter is the Chinese remains a ≡ {p 2 (mod / ?,)} -1 (mod /?). The second parameter of the Chinese remains is β ≡ {p_ .p 2 (mod /? 3 )} _1 (mod 3 ). The i th parameter of the Chinese remains is λ ≡ {p \ .p 2 . ... p t (mod p,)} ~ 1 (mod p ^. And so on. Then, in / -l operations of the Chinese remains, we establish a first result (mod p 2 times p_) with the first parameter , then, a second result (mod p_.p 2 times p 3 ) with the second parameter, and so on, until a result (modp,. ... p fJ times jc), that is to say say, (mod n). There are several possible representations of the private key GQ2, which translates the polymorphism of the private key GQ2. The various representations prove to be equivalent: they all come down to the knowledge of factorization of the module n which is the real GQ2 private key. If the representation does affect the behavior of the signing or authenticating entity, it does not affect the behavior of the controlling entity. Here are the three main possible representations of the GQ2 private key.
I) La représentation classique en technologie GO consiste à stocker m valeurs privées Qt et la clé publique de vérification (v, n) ; en technologie GQ2, cette représentation est concurrencée par les deux suivantes. 2) La représentation optimale en termes de charges de travail consiste à stocker l'exposant public v, les/ facteurs premiers p m.f composantes privées QtJ et /-l paramètres des restes chinois. 3) La représentation optimale en termes de taille de clé privée consiste à stocker l'exposant public v, les m nombres de base g, et les /facteurs premiers pp puis, à commencer chaque utilisation en établissant ou bien m valeurs privées Q, et le module n pour se ramener à la première représentation, ou bien mf. composantes privées QtJ et/-l paramètres des restes chinois pour se ramener à la seconde. Les entités qui signent ou s'authentifient peuvent toutes utiliser les mêmes nombres de base ; sauf contre indication, les m nombres de base de gx à gm peuvent alors avantageusement être les m premiers nombres premiers.I) The classic representation in GO technology consists in storing m private values Q t and the public verification key (v, n); in GQ2 technology, this representation competes with the following two. 2) The optimal representation in terms of workloads consists in storing the public exponent v, the / prime factors p mf private components Q tJ and / -l parameters of the Chinese remains. 3) The optimal representation in terms of size of private key consists in storing the public exponent v, the m base numbers g, and the / prime factors p p then, to start each use by establishing either m private values Q, and the module n to reduce to the first representation, or else mf. private components Q tJ and / -l parameters of the Chinese remains to reduce to the second. Entities that sign or authenticate can all use the same base numbers; unless otherwise indicated, the m basic numbers of g x to g m can then advantageously be the first m prime numbers.
Parce que la sécurité du mécanisme d'authentification dynamique ou de signature numérique équivaut à la connaissance d'une décomposition du module, la technologie GQ2 ne permet pas de distinguer simplement deux entités utilisant le même module. Généralement, chaque entité qui s'authentifie ou signe dispose de son propre module GQ2. Toutefois, on peut spécifier des modules GQ2 à quatre facteurs premiers dont deux sont connus d'une entité et les deux autres d'une autre.Because the security of the dynamic authentication mechanism or digital signature is equivalent to knowing a breakdown of the module, GQ2 technology does not allow a simple distinction to be made between two entities using the same module. Generally, each entity that authenticates or signs has its own GQ2 module. However, we can specify GQ2 modules with four prime factors, two of which are known to one entity and the other two to another.
Voici un premier jeu de clés GQ2 avec k = 6, soit v = 64, m = 3, soit trois nombres de base : g_ = 3, g2 = 5 et g_ = 7, et/ = 3, soit un module à trois facteurs premiers : deux congrus à 3 (mod 4) et un à 5 (mod 8). Notons que g = 2 est incompatible avec un facteur premier congru à 5 (mod 8). px = 03CD2F4F21E0EAD60266D5CFCEBB6954683493E2E833 p2 = 0583B097E8D8D777BAB3874F2E76659BB614F985EC1B p3 = 0C363CD93D6B3FEC78EE13D7BE9D84354B8FDD6DA1FD n = Pl . p2 . p3 = FFFF81CEA149DCF2F72EB449C5724742FE2A3630D9Here is a first set of GQ2 keys with k = 6, either v = 64, m = 3, or three basic numbers: g_ = 3, g 2 = 5 and g_ = 7, and / = 3, or a module with three prime factors: two congruent to 3 (mod 4) and one to 5 (mod 8). Note that g = 2 is incompatible with a prime factor congruent to 5 (mod 8). p x = 03CD2F4F21E0EAD60266D5CFCEBB6954683493E2E833 p 2 = p 3 = 0583B097E8D8D777BAB3874F2E76659BB614F985EC1B 0C363CD93D6B3FEC78EE13D7BE9D84354B8FDD6DA1FD n = Pl. p 2 . p 3 = FFFF81CEA149DCF2F72EB449C5724742FE2A3630D9
02CC00EAFEE1B957F3BDC49BE9CBD4D94467B72AF28CFBB26144 CDF4BBDBA3C97578E29CC9BBEE8FB6DDDD Q ι = 0279C60D216696CD6F7526E23512DAE090CFF879FDDE β2,ι = 7C977FC38F8413A284E9CE4EDEF4AEF35BF7793B89 Q = 6FB3B9C05A03D7CADA9A3425571EF5ECC54D7A7B6F Ql 2 = 0388EC6AA1E87613D832E2B80E5AE8C1DF2E74BFF502 Q2 = 04792CE70284D16E9A158C688A7B3FEAF9C40056469E Q32 = FDC4A8E53E185A4BA793E93BEE5C636DA731BDCA4E Q 3 = 07BC1AB048A2EAFDAB59BD40CCF2F657AD8A6B573BDE β2>3 = 0AE8551E1 16A3AC089566DFDB3AE003CF174FC4E4877 g3 3 = 01682D490041913A4EA5B80D16B685E4A6DD88070501 Q_ = D7E1CAF28192CED6549FF457708D50A7481572DD5F2C335D8 C69E22521B510B64454FB7A19AEC8D06985558E764C6991B05FC2A C74D9743435AB4D7CF0FF655702CC00EAFEE1B957F3BDC49BE9CBD4D94467B72AF28CFBB26144 CDF4BBDBA3C97578E29CC9BBEE8FB6DDDD Q ι = 0279C60D216696CD6F7526E23512DAE090CFF879FDDE β 2, ι = 7C977FC38F8413A284E9CE4EDEF4AEF35BF7793B89 Q = 6FB3B9C05A03D7CADA9A3425571EF5ECC54D7A7B6F Q l 2 = Q 2 = 0388EC6AA1E87613D832E2B80E5AE8C1DF2E74BFF502 04792CE70284D16E9A158C688A7B3FEAF9C40056469E Q 32 = Q 3 = FDC4A8E53E185A4BA793E93BEE5C636DA731BDCA4E 07BC1AB048A2EAFDAB59BD40CCF2F657AD8A6B573BDE β 2> 3 = 0AE8551E1 16A3AC089566DFDB3AE003CF174FC4E4877 3 g 3 = 01682D490041913A4EA5B80D16B685E4A6DD88070501 Q_ = D7E1CAF28192CED6549FF457708D50A7481572DD5F2C335D8 C69E22521B510B64454FB7A19AEC8D06985558E764C6991B05FC2A C74D9743435AB4D7CF0FF6557
Q2 = CB 1ED6B1DD649B89B9638DC33876C98AC7AF689E9D1359E4Q 2 = CB 1ED6B1DD649B89B9638DC33876C98AC7AF689E9D1359E4
DB17563B9B3DC582D5271949F3DBA5A70C108F561A274405A5CB8DB17563B9B3DC582D5271949F3DBA5A70C108F561A274405A5CB8
82288273 ADE67353 A5BC316C09382288273 ADE67353 A5BC316C093
Q3 = 09AA6F4930E51A70CCDFA77442B10770DD1CD77490E3398A AD9DC50249C34312915E55917A1ED4D83AA3D607E3EB5C8B197Q 3 = 09AA6F4930E51A70CCDFA77442B10770DD1CD77490E3398A AD9DC50249C34312915E55917A1ED4D83AA3D607E3EB5C8B197
697238537FE7A0195C5E8373EB74D697238537FE7A0195C5E8373EB74D
Voici un second jeu de clés GQ2, avec k = 9, soit v = 512, = 2, soit deux nombres de base : g_ = 2 et g2 = 3, et/ = 3, soit un module à trois facteurs premiers congrus à 3 (mod 4). p_ = 03852103E40CD4F06FA7BAA9CC8D5BCE96E3984570CB p2 = 062AC9EC42AA3E688DC2BC871C8315CB939089B61DD7 p3 = 0BCADEC219F1DFBB8AB5FE808A0FFCB53458284ED8E3 n = Pl . p2 .p3 = FFFF5401ECD9E537F167A80C0A911 1986F7A8EBA4D 6698 AD68FF670DE5D9D77DFF00716DC7539F7CBBCF969E73 A0C49 761B276A8E6B6977A21D51669D039F1D7Here is a second set of keys GQ2, with k = 9, either v = 512, = 2, or two basic numbers: g_ = 2 and g 2 = 3, and / = 3, or a module with three prime factors congruent to 3 (mod 4). p = 03852103E40CD4F06FA7BAA9CC8D5BCE96E3984570CB p 2 = p 3 = 062AC9EC42AA3E688DC2BC871C8315CB939089B61DD7 0BCADEC219F1DFBB8AB5FE808A0FFCB53458284ED8E3 n = Pl. p 2 .p 3 = FFFF5401ECD9E537F167A80C0A911 1986F7A8EBA4D 6698 AD68FF670DE5D9D77DFF00716DC7539F7CBBCF969E73 A0C49 761B276A8E6B6977A21D51669D039F1D7
Q = 0260BC7243C22450D566B5C6EF74AA29F2B927AF68E1 Q = 0326C12FC7991ECDC9BB8D7C1C4501BE1BAE9485300E <2 = 02D0B4CC95A2DD435D0E22BFBB29C59418306F6CD00A Q22 = 045ECB881387582E7C556887784D2671CA118E22FCF2 <2,,3 = B0C2B 1F808D24F6376E3A534EB555EF54E6AEF5982 Q23 = 0AB9F81DF462F58A52D937E6D81F48FFA4A87A9935AB Q_ = 27F7B9FC82C19ACAE47F3FE9560C3536A7E90F8C3C51E13C 35F32FD8C6823DF753685DD63555D2146FCDB9B28DA367327DD6 EDDA092D0CF108D0AB708405DA46Q = = 0326C12FC7991ECDC9BB8D7C1C4501BE1BAE9485300E 0260BC7243C22450D566B5C6EF74AA29F2B927AF68E1 Q <2 = Q 22 = 02D0B4CC95A2DD435D0E22BFBB29C59418306F6CD00A 045ECB881387582E7C556887784D2671CA118E22FCF2 <2, 3 = Q 23 = B0C2B 1F808D24F6376E3A534EB555EF54E6AEF5982 0AB9F81DF462F58A52D937E6D81F48FFA4A87A9935AB Q_ = 27F7B9FC82C19ACAE47F3FE9560C3536A7E90F8C3C51E13C 35F32FD8C6823DF753685DD63555D2146FCDB9B28DA367327DD6 EDDA092D0CF108D0AB708405DA46
Q2 = 230D0B9595E5AD388F1F447A69918905EBFB05910582E5BA64 9C94B0B2661 E49DF3C9B42FEF 1 F37 A7909B 1 C2DD541 13 ACF87C6 FI 1F19874DE7DC5D1DF2A9252D Authentification dynamique Le mécanisme d' authentification dynamique est destiné à prouver à une entité appelée contrôleur l'authenticité d'une autre entité appelée démonstrateur ainsi que l'authenticité d'un éventuel message associé M, de sorte que le contrôleur s'assure qu'il s'agit bien du démonstrateur et éventuellement que lui et le démonstrateur parlent bien du même message M. Le message associé M est optionnel, ce qui signifie qu'il peut être vide.Q 2 = 230D0B959 importantsAD388F1F447A69918905EBFB05910582E5BA64 9C94B0B2661 E49DF3C9B42FEF 1 F37 A7909B 1 C2DD541 13 ACF87C6 FI 1F19874DE7DC5D1DF2A9252D Authentication Authentication as a Authentication Authenticator as a Authentication Authentication The Authentication Authentication any associated message M, so that the controller ensures that it is indeed the demonstrator and possibly that he and the demonstrator are speaking of the same message M. The associated message M is optional, which means that it can be empty.
Le mécanisme d' authentification dynamique est une séquence de quatre actes : un acte d'engagement, un acte de défi, un acte de réponse et un acte de contrôle. Le démonstrateur joue les actes d'engagement et de réponse. Le contrôleur joue les actes de défi et de contrôle. Au sein du démonstrateur, on peut isoler un témoin, de manière à isoler les paramètres et les fonctions les plus sensibles du démonstrateur, c'est-à- dire, la production des engagements et des réponses. Le témoin dispose du paramètre k et de la clé privée GQ2, c'est-à-dire, de la factorisation du module n selon l'une des trois représentations évoquées ci-dessus : ' les/ facteurs premiers et les m nombres de base, • les mf. composantes privées, les /facteurs premiers et/-l paramètres des restes chinois, • les m valeurs privées et le module n.The dynamic authentication mechanism is a sequence of four acts: an act of commitment, an act of challenge, an act of response and an act of control. The demonstrator plays the acts of engagement and response. The controller plays the acts of challenge and control. Within the demonstrator, a witness can be isolated, so as to isolate the most sensitive parameters and functions of the demonstrator, that is to say, the production of commitments and responses. The witness has the parameter k and the private key GQ2, that is to say, the factorization of the module n according to one of the three representations mentioned above: 'the / prime factors and the m base numbers , • the mf. private components, the / prime factors and / -l parameters of the Chinese remains, • the m private values and the module n.
Le témoin peut correspondre à une réalisation particulière, par exemple, • une carte à puce reliée à un PC formant ensemble le démonstrateur, ou encore, • des programmes particulièrement protégés au sein d'un PC, ou encore, • des programmes particulièrement protégés au sein d'une carte à puce. Le témoin ainsi isolé est semblable au témoin défini ci-après au sein du signataire. A chaque exécution du mécanisme, le témoin produit un ou plusieurs engagements R, puis, autant de réponses D à autant de défis d.The witness may correspond to a particular embodiment, for example, • a smart card connected to a PC which together forms the demonstrator, or again, • particularly protected programs within a PC, or, • particularly protected programs within a smart card. The witness thus isolated is similar to the witness defined below within the signatory. Each time the mechanism is executed, the witness produces one or more commitments R, then as many responses D to as many challenges d.
Chaque ensemble {R, d, D} constitue un triplet GQ2. Outre qu'il comprend le témoin, le démonstrateur dispose également, le cas échéant, d'une fonction de hachage et d'un message M. Le contrôleur dispose du module n et des paramètres k et m ; le cas échéant, il dispose également de la même fonction de hachage et d'un message M'.Each set {R, d, D} constitutes a triplet GQ2. In addition to including the witness, the demonstrator also has, if necessary, a hash function and a message M. The controller has the module n and the parameters k and m; if necessary, it also has the same hash function and a message M '.
Le contrôleur est apte à reconstituer un engagement R' à partir de n'importe quel défi d et de n'importe quelle réponse D. Les paramètres k et m renseignent le contrôleur. Faute d'indication contraire, les m nombres de base de gi à gm sont les m premiers nombres premiers. Chaque défi d doit comporter m défis élémentaires notés de dx à dm : un par nombre de base.The controller is able to reconstruct an engagement R 'from any challenge d and any response D. The parameters k and m inform the controller. Unless otherwise indicated, the m basic numbers from gi to g m are the first m prime numbers. Each challenge d must have m elementary challenges noted from d x to d m : one per basic number.
Chaque défi élémentaire de d_ à dm doit prendre une valeur de 0 à 2*_1-1 (les valeurs de v/2 à v-1 ne sont pas utilisées). Typiquement, chaque défi est codé par m fois k-\ bits (et non pas m fois k bits). Par exemple, avec k = 6 et m = 3 et les nombres de base 3, 5 et 7, chaque défi comporte 15 bits transmis sur deux octets ; avec k = 9, m = 2 et les nombres de base 2 et 3, chaque défi comporte 16 bits transmis sur deux octets. Lorsque les (k-ï).m défis possibles sont également probables, la valeur (k-\).m détermine la sécurité apportée par chaque triplet GQ2 : un imposteur qui, par définition, ne connaît pas la factorisation du module n a exactement une chance de succès sur 2(k~l)jn. Lorsque (k-l).m vaut de 15 à 20, un triplet suffit à assurer raisonnablement l'authentification dynamique. Pour atteindre n'importe quel niveau de sécurité, on peut produire des triplets en parallèle ; on peut également en produire en séquence, c'est-à-dire, répéter l'exécution du mécanisme. 1) L'acte d'engagement comprend les opérations suivantes. Lorsque le témoin dispose des m valeurs privées de Q_ à Qm et du module n, il tire au hasard et en privé un ou plusieurs aléas r (0 < r < n) ; puis, par k élévations successives au carré (mod n) , il transforme chaque aléa r en un engagement R.Each elementary challenge from d_ to d m must take a value from 0 to 2 * _1 -1 (the values from v / 2 to v-1 are not used). Typically, each challenge is coded by m times k- \ bits (and not m times k bits). For example, with k = 6 and m = 3 and the base numbers 3, 5 and 7, each challenge has 15 bits transmitted in two bytes; with k = 9, m = 2 and the base numbers 2 and 3, each challenge has 16 bits transmitted on two bytes. When the (k-ï) .m possible challenges are also probable, the value (k - \). M determines the security provided by each GQ2 triplet: an impostor who, by definition, does not know the factorization of the module has exactly one chance of success over 2 (k ~ l) jn . When (kl) .m is from 15 to 20, a triplet is sufficient to reasonably ensure dynamic authentication. To achieve any level of security, triples can be produced in parallel; it can also be produced in sequence, that is to say, repeating the execution of the mechanism. 1) The act of engagement includes the following operations. When the witness has the m private values of Q_ to Q m and of the module n, he randomly and privately draws one or more hazards r (0 <r <n); then, by k successive square elevations (mod n), it transforms each hazard r into an engagement R.
R ≡ rv (mod ή) Voici un exemple avec le premier jeu de clés avec k = 6. r = B8AD426C1AC0165E94B894AC2437C1B1797EF562CFA53A4AF8 43131FF1C89CFDA131207194710EF9C010E8F09C60D9815121981260 919967C3E2FB4B4566088ER ≡ r v (mod ή) Here is an example with the first set of keys with k = 6. r = B8AD426C1AC0165E94B894AC2437C1B1797EF562CFA53A4AF8 43131FF1C89CFDA131207194710EF9C010E8F09C60D98151267860608
R = FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C56R = FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C56
D3 AF07BE692CB 1 FE4EE70FA77032BECD8411 B 813B4C21210C6B04D3 AF07BE692CB 1 FE4EE70FA77032BECD8411 B 813B4C21210C6B04
49CC4292E5DD2BDB00828AF1849CC4292E5DD2BDB00828AF18
Lorsque le témoin dispose des / facteurs premiers de p{ à pf et des mf. composantes privées QtJ, il tire au hasard et en privé une ou plusieurs collections de / aléas : chaque collection comporte un aléa r, par facteur premier p, (0 < r, < p_) ; puis, par k élévations successives au carré (mod p,), il transforme chaque aléa r_ en une composante d'engagement R Voici un exemple avec le second jeu de clés avec k = 9. rx = B0418EABEBADF0553A28903F74472CD49EE8C82D86 R, = 022B365F0BEA8E157E94A9DEB0512827FFD5149880F1 r2 = 75A8DA8FE0E60BD55D28A218E31347732339F1D667 R2 = 057E43A242C485FC20DEEF291C774CF1B30F0163DEC2 r3 = 0D74D2BDA5302CF8BE2F6D406249D148C6960A7D27When the witness has the prime factors of p { to p f and mf. private components Q tJ , it randomly and privately draws one or more collections of / hazards: each collection includes a hazard r, by prime factor p, (0 <r, <p_); then, by k successive squared elevations (mod p,), it transforms each hazard r_ into an engagement component R Here's an example with the second set of keys with k = r x = 9. B0418EABEBADF0553A28903F74472CD49EE8C82D86 R = r 2 = 022B365F0BEA8E157E94A9DEB0512827FFD5149880F1 75A8DA8FE0E60BD55D28A218E31347732339F1D667 R 2 = R 3 = 057E43A242C485FC20DEEF291C774CF1B30F0163DEC2 0D74D2BDA5302CF8BE2F6D406249D148C6960A7D27
R3 = 06E14C8FC4DD312BA3B475F1F40CF01ACE2A88D5BB3C Pour chaque collection de /composantes d'engagement, le témoin établit un engagement selon la technique des restes chinois. Il y a autant d'engagements que de collections d'aléas. R = Restes Chinois^ , R2, ... Rf) R = 28AA7F12259BFBA81368EB49C93EEAB3F3EC6BF73B0EBD7 D3FC8395CFA1AD7FC0F9DAC169A4F6F1C46FB4C3458D1E37C9 9123B56446F6C928736B17B4BA4A529 Dans les deux cas, le démonstrateur transmet au contrôleur tout ou partie de chaque engagement R, ou bien, un code de hachage H obtenu en hachant chaque engagement R et un message M.R 3 = 06E14C8FC4DD312BA3B475F1F40CF01ACE2A88D5BB3C For each collection of engagement components, the witness establishes an engagement using the technique of Chinese remains. There are as many commitments as there are collections of hazards. R = Rest of China ^, R 2 , ... R f ) 28AA7F12259BFBA81368EB49C93EEAB3F3EC6BF73B0EBD7 D3FC8395CFA1AD7FC0F9H engagement R and a message M.
2) L'acte de défi consiste à tirer au hasard un ou plusieurs défis d composés chacun de m défis élémentaires d_ d2 ... dm ; chaque défi élémentaire d_ prend l'une des valeurs de 0 à v/2-1. d = dx d2 ... dm Voici un exemple pour le premier jeu de clés avec k = 6 et m = 3. = 10110 = 22 = ' 16' ; 4 = 00111 = 7 ; d3 = 00010 = 2, d = | | dx | | d2 | | 4 = 01011000 11100010 = 58 E2 Voici un exemple pour le second jeu de clés avec k = 9 et m = 2. d - d_ | | d2 = 58 E2 = soit en décimal, 88 et 226 Le contrôleur transmet au démonstrateur chaque défi d.2) The act of challenge consists in drawing at random one or more challenges d each composed of m elementary challenges d_ d 2 ... d m ; each elementary challenge d_ takes one of the values from 0 to v / 2-1. d = d x d 2 ... d m Here is an example for the first set of keys with k = 6 and m = 3. = 10110 = 22 = '16'; 4 = 00111 = 7; d 3 = 00010 = 2, d = | | d x | | d 2 | | 4 = 01011000 11100010 = 58 E2 Here is an example for the second set of keys with k = 9 and m = 2. d - d_ | | d 2 = 58 E2 = either in decimal, 88 and 226 The controller transmits to the demonstrator each challenge d.
3) L'acte de réponse comporte les opérations suivantes.3) The response act includes the following operations.
Lorsque le témoin dispose des m valeurs privées de Q_ à Qm et du module n, il calcule une ou plusieurs réponses D en utilisant chaque aléa r de l'acte d'engagement et les valeurs privées selon les défis élémentaires. D ≡ r.X (mod n)When the witness has the m private values of Q_ to Q m and of the module n, he calculates one or more responses D using each hazard r of the act of engagement and the private values according to the elementary challenges. D ≡ rX (mod n)
Voici un exemple pour le premier jeu de clés. D = FF257422ECD3C7A03706B9A7B28EE3FC3A4E974AEDCDF386Here is an example for the first set of keys. D = FF257422ECD3C7A03706B9A7B28EE3FC3A4E974AEDCDF386
5EEF38760B859FDB5333E904BBDD37B097A989F69085FE8EF64805EEF38760B859FDB5333E904BBDD37B097A989F69085FE8EF6480
A2C6 A290273479FEC9171990 A 17A2C6 A290273479FEC9171990 A 17
Lorsque le témoin dispose des / facteurs premiers de px à pf et des m.f composantes privées Q_j, il calcule une ou plusieurs collections de / composantes de réponse en utilisant chaque collection d'aléas de l'acte d'engagement : chaque collection de composantes de réponse comporte une composante par facteur premier. Dl≡rl.Xl (mod;?,)When the witness has / prime factors from p x to p f and mf private components Q_ j , he calculates one or more collections of / response components using each collection of hazards in the act of engagement: each collection of response components has one component per prime factor. D l ≡r l .X l (mod;?,)
Voici un exemple pour le second jeu de clés.Here is an example for the second set of keys.
Dx = rx .Q_ .Q2 2 (mod px) =D x = r x .Q_ .Q 2 2 (mod p x ) =
02660ADF3C73B6DC15E196152322DDE8EB5B35775E3802660ADF3C73B6DC15E196152322DDE8EB5B35775E38
D2 = r2.Q_ .Q2 2 (mod p2) = 04C15028E5FD1175724376C11BE77052205F7C62AE3BD 2 = r 2 .Q_ .Q 2 2 (mod p 2 ) = 04C15028E5FD1175724376C11BE77052205F7C62AE3B
D3 = r3.Q_ .Q2/2 (mod p3) =D 3 = r 3 .Q_ .Q 2/2 (mod p 3) =
0903D20D0C306C8EDA9D8FB5B3BEB55E061AB39CCF520903D20D0C306C8EDA9D8FB5B3BEB55E061AB39CCF52
Pour chaque collection de composantes de réponse, le témoin établit une réponse selon la technique des restes chinois. Il y a autant de réponses que de défis.For each collection of response components, the witness establishes an answer using the Chinese remains technique. There are as many answers as there are challenges.
D = Restes Chinoises , D2, ... Df)D = Chinese Remains, D 2 , ... D f )
D = 85C3B00296426E97897F73C7DC6341FB8FFE6E879AE12EF1F36D = 85C3B00296426E97897F73C7DC6341FB8FFE6E879AE12EF1F36
4CBB55BC44DEC437208CF530F8402BD9C511F5FB3B3A309257A004CBB55BC44DEC437208CF530F8402BD9C511F5FB3B3A309257A00
195 A7305C6FF3323F72DC 1 AB Dans les deux cas, le démonstrateur transmet chaque réponse D au contrôleur.195 A7305C6FF3323F72DC 1 AB In both cases, the demonstrator transmits each response D to the controller.
4) L'acte de contrôle consiste à contrôler que chaque triplet {R, d, D} vérifie une équation du type suivant pour une valeur non nulle. m m4) The act of control consists in controlling that each triplet {R, d, D} checks an equation of the following type for a non-zero value. m m
R [G?' ≡D2 ( oά n) 0ubien R ≡ 2 ] G?' (mod n) ι=l 2=1 ou bien, à rétablir chaque engagement : aucun ne doit être nul. m mR [G? ' ≡D 2 (where n) 0 ubien R ≡ 2 ] G? ' (mod n) ι = l 2 = 1 or else, to reestablish each entry: none must be zero. mm
R'≡D2 /J G?' (mod n) oubien R'≡ 2 .J G?> (mod n) ι=l ι=lR'≡D 2 / JG? ' (mod n) oubien R'≡ 2 .JG? > (mod n) ι = l ι = l
Eventuellement, le contrôleur calcule ensuite un code de hachage H' en IΛâtnΛ, /46946 43 Optionally, the controller then calculates a hash code H 'in IΛâtnΛ , / 46946 43
hachant chaque engagement rétabli R' et un message M'. L'authentification dynamique est réussie lorsque le contrôleur retrouve ainsi ce qu'il a reçu à l'issue de l'acte d'engagement, c'est-à-dire, tout ou partie de chaque engagement R, ou bien, le code de hachage H. Par exemple, une séquence d'opérations élémentaires transforme la réponsechopping each restored engagement R 'and a message M'. Dynamic authentication is successful when the controller thus finds what he received at the end of the engagement act, that is to say, all or part of each engagement R, or else, the code hash H. For example, a sequence of elementary operations transforms the response
D en un engagement R'. La séquence comprend k carrés (mod n) séparés par k-l divisions ou multiplications (mod n) par des nombres de base. Pour la ième division ou multiplication, qui s'effectue entre le ième carré et le +1 ième carré, le ième bit du défi élémentaire dx indique s'il faut utiliser gx, le ième bit du défi élémentaire d2 indique s'il faut utiliser g2, ... jusqu'au ième bit du défi élémentaire dm qui indique s'il faut utiliser gm. Voici un exemple pour le premier jeu de clés.D into a commitment R '. The sequence includes k squares (mod n) separated by kl divisions or multiplications (mod n) by basic numbers. For the ith division or multiplication, which takes place between the ith square and the +1 th square, the ith bit of the elementary challenge d x indicates whether to use g x , the ith bit of the elementary challenge d 2 indicates s' you have to use g 2 , ... up to the ith bit of the elementary challenge d m which indicates whether to use g m . Here is an example for the first set of keys.
D2 ( m o d n ) =D 2 (modn) =
FD 12E8E 1 FI 370 AEC9C7B A2E05C80AD2B692D341 D46F3 2B93948715491F0EB091B7606CA1E744E0688367D7BB998F7B73D5F7FD 12E8E 1 FI 370 AEC9C7B A2E05C80AD2B692D341 D46F3 2B93948715491F0EB091B7606CA1E744E0688367D7BB998F7B73D5F7
FDA95D5BD6347DC8B978CA217733FDA95D5BD6347DC8B978CA217733
3 . D2 (mod n) = F739B708911166DFE715800D8A9D78FC3F332FF622D 3EAB8E7977C68AD44962BEE4DAE3C0345D1CB34526D3B67EBE8BF 987041B4852890D83FC6B48D3EF6A9DF 32 . D4 (mod n) = 682A7AF280C49FE230BEE354BF6FFB30B7519E3C83. D 2 (mod n) = 3 2 F739B708911166DFE715800D8A9D78FC3F332FF622D 3EAB8E7977C68AD44962BEE4DAE3C0345D1CB34526D3B67EBE8BF 987041B4852890D83FC6B48D3EF6A9DF. D 4 (mod n) = 682A7AF280C49FE230BEE354BF6FFB30B7519E3C8
92DD07E5 A781225BBD33920E5 ADABBCD7284966D71141 EAA 17 AF 8826635790743EA7D9 A 15 A33 ACC7491 D4A792DD07E5 A781225BBD33920E5 ADABBCD7284966D71141 EAA 17 AF 8826635790743EA7D9 A 15 A33 ACC7491 D4A7
34 . D8 (mod n) = BE9D828989A2C184E34BA8FE0F384811642B7B548F 870699E7869F8ED851FC3DB3830B2400C516511A0C28AFDD210EC3 939E69D413F0B AB C6DEC441974B 1 A2913 4 . D 8 (mod n) = BE9D828989A2C184E34BA8FE0F384811642B7B548F 870699E7869F8ED851FC3DB3830B2400C516511A0C28AFDD210EC3 939E69D413F0B AB C6DEC441974B 1 A291
35 . 5 . D8 (mod n) = 2B40122E225CD858B26D27B768632923F2BBE53 5 . 5. D 8 (mod n) = 2B40122E225CD858B26D27B768632923F2BBE5
DB15CA9EFA77EFA667E554A02AD1A1E4F6B59BD9E1AE4A537DDB15CA9EFA77EFA667E554A02AD1A1E4F6B59BD9E1AE4A537D
4AC1E89C2235C363830EBF4DB42CEA3DA98CFE004AC1E89C2235C363830EBF4DB42CEA3DA98CFE00
3 l ° . 52 . Z 1 6 ( m o d n ) BDD3B34C90ABBC870C604E27E7F2E9DB2D383 68EA46C931 C66F6C7509B 118E3C 162811 A98169C30D4DEF768397DD B8F6526B6714218DEB627E11FACA4B9DB268 3 ' ' . 53 . 7 . D1 6 ( mo d n ) DBFA7F40D338DE4FBA73D42DBF427BBF1953 l °. 5 2 . Z 1 6 (modn) BDD3B34C90ABBC870C604E27E7F2E9DB2D383 68EA46C931 C66F6C7509B 118E3C 162811 A98169C30D4DEF768397DD B8F6526B6714218DEB627E11FACA4B9DB268 3 ''. 5 3 . 7. D 1 6 (mo dn) DBFA7F40D338DE4FBA73D42DBF427BBF195
C 13D02 AB0FA5F8C8DDB5025E34282311 CEF80B ACDCE5D0C433444C 13D02 AB0FA5F8C8DDB5025E34282311 CEF80B ACDCE5D0C433444
A2AF2B15318C36FE2AE02F3C8CB25637C9AD712FA2AF2B15318C36FE2AE02F3C8CB25637C9AD712F
322 . 56 . 72 . D32 (mod n) = C60CA9C4A11F8AA89D9242CE717E3DC6C13 22 . 5 6 . 7 2 . D 32 (mod n) = C60CA9C4A11F8AA89D9242CE717E3DC6C1
A95D5D09A2278F8FEE1DFD94EE84D09D000EA8633B53C4A0E7F0A EECB 70509667 A3CB052029C94EDF27611FAE286A7A95D5D09A2278F8FEE1DFD94EE84D09D000EA8633B53C4A0E7F0A EECB 70509667 A3CB052029C94EDF27611FAE286A7
3 2 2 . 57 . 72 . D3 2 (mod n ) =3 2 2 . 5 7 . 7 2 . D 3 2 (mod n) =
DE40CB6B41C01E722E4F312AE7205F18CDDDE40CB6B41C01E722E4F312AE7205F18CDD
0303EA52261CB0EA9F0C7E0CD5EC53D42E5CB645B6BB1A3B00C77 886F4AC5222F9C863DACA440CF5F1A8E374807AC 344 . 514 . . D64 (mod n), c'est-à-dire, 32C . 5E . 74 . D40 (mod n) avec les exposants en hexa = FFDD736B666F41FB771776D9D50DB7CDF03F3D9 76471B25C56D3AF07BE692CB1FE4EE70FA77032BECD8411B813B4C 21210C6B0449CC4292E5DD2BDB00828AF18 On retrouve bien l'engagement R. L'authentification est réussie. Voici un exemple pour le second jeu de clés.0303EA52261CB0EA9F0C7E0CD5EC53D42E5CB645B6BB1A3B00C77 886F4AC5222F9C863DACA440CF5F1A8E374807AC 3 44 . 5 14 . . D 64 (mod n), i.e., 3 2C . 5 E. 7 4 . D 40 (mod n) with the exhibitors in hexa = FFDD736B666F41FB771776D9D50DB7CDF03F3D9 76471B25C56D3AF07BE692CB1FE4EE70FA77032BECD8411B813B4C 21210C6B0449CC4292E5Die successful. Here is an example for the second set of keys.
D2 (mod n) = C66E585D8F132F7067617BC6D00BA699ABD74FB9D13ED 2 (mod n) = C66E585D8F132F7067617BC6D00BA699ABD74FB9D13E
24E6A6692CC8D2FC7B57352D66D34F5273C13F20E3FAA228D70AEC24E6A6692CC8D2FC7B57352D66D34F5273C13F20E3FAA228D70AEC
693F8395ACEF9206B 172A8A2C2CCBB693F8395ACEF9206B 172A8A2C2CCBB
3 . D2 (mod n) = 534C6114D385C3E15355233C5B00D09C2490D1B8D8E D3D59213CB83EAD41C309A187519E5F501C4A45C37EB2FF38FBF203. D 2 (mod n) = 534C6114D385C3E15355233C5B00D09C2490D1B8D8E D3D59213CB83EAD41C309A187519E5F501C4A45C37EB2FF38FBF20
1 D6D 138F3999FC 1 D06 A2B2647D482831 D6D 138F3999FC 1 D06 A2B2647D48283
32 . D4 (mod n) = A9DC8DEA867697E76B4C18527DFFC49F4658473D03 4EC1DDE0EB21F6F65978BE477C4231 AC9B 1EBD93D5D49422408E47 15919023B 16BC3C6C46A92BBD326AADF 2 . 33 . D4 (mod n) = FB2D57796039DFC4AF9199CAD44B66F257A1FF 3F2BA4C12B0A8496A0148B4DFBAFE838E0B5A7D9FB4394379D72A 107E45C51FCDB7462D03A35002D29823A2BB53 2 . D 4 (mod n) = A9DC8DEA867697E76B4C18527DFFC49F4658473D03 4EC1DDE0EB21F6F65978BE477C4231 AC9B 1EBD93D5D49422408E47 15919023B 16BC3C6C46A92BBDD6A 2. 3 3 . D 4 (mod n) = FB2D57796039DFC4AF9199CAD44B66F257A1FF 3F2BA4C12B0A8496A0148B4DFBAFE838E0B5A7D9FB4394379D72A 107E45C51FCDB7462D03A35002D298
22 . 36 . D8 (mod n) = 4C210F96FF6C77541910623B 1E49533206DFB9E91 6521F305F12C5DB054D4E1BF3A37FA293854DF02B49283B6DE5E5D2 2 . 3 6 . D 8 (mod n) = 4C210F96FF6C77541910623B 1E49533206DFB9E91 6521F305F12C5DB054D4E1BF3A37FA293854DF02B49283B6DE importantsD
82 ACB23D AF 1 A0D5 A721 A 1890D03 A00BD882 ACB23D AF 1 A0D5 A721 A 1890D03 A00BD8
22 . 37 . D8 (mod n) = E4632EC4FE4565FC4B3126B15ADBF996149F2D BB42F65D911 D3851910FE7EA53D AEA7EE7B A8FE9D081 DB78B249 B 1B 18880616B90D4E280F564E49B 270 AE02388 24 . 314 . D16 (mod n) = ED3DDC716AE3D1EA74C5AF935DE814BCC2 2 . 3 7 . D 8 (mod n) = E4632EC4FE4565FC4B3126B15ADBF996149F2D BB42F65D911 D3851910FE7EA53D AEA7EE7B A8FE9D081 DB78B249 B 1B 18880616B90D4E280F564E49B 270 AE02388 2 4 . 3 14 . D 16 (mod n) = ED3DDC716AE3D1EA74C5AF935DE814BCC
2C78B12A6BB29FA542F9981C5D954F53D153B9F0198BA82690EF 665C 17C399607DEA54E218C2C01 A890D422ED A 16FA3 25 . 31 4 D1 6 ( m o d n )2C78B12A6BB29FA542F9981C5D954F53D153B9F0198BA82690EF 665C 17C399607DEA54E218C2C01 A890D422ED A 16FA3 2 5 . 3 1 4 D 1 6 (modn)
D A7C64E0E8EDBE9CF823B71 AB 13F 17E1161487 6B000FBB473F5FCBF5A5D8D26C7B2A05D03BDDD588164E562D0F5D A7C64E0E8EDBE9CF823B71 AB 13F 17E1161487 6B000FBB473F5FCBF5A5D8D26C7B2A05D03BDDD588164E562D0F5
7AE94AE0AD3F35C61C0892F4C91DC0B08ED6F 210 . 328 . D32 (mod n) = 6ED6AFC5A87D2DD117B0D89072C99FB9DC9 5D558F65B6A1967E6207D4ADBBA32001D3828A35069B256A07C3D 722F17DA30088E6E739FBC419FD7282D16CD6542 2U . 328 . D32 (mod n) = DDAD5F8B50FA5BA22F61B120E5933F73B927AE94AE0AD3F35C61C0892F4C91DC0B08ED6F 2 10 . 3 28 . D 32 (mod n) = 2 U 6ED6AFC5A87D2DD117B0D89072C99FB9DC9 5D558F65B6A1967E6207D4ADBBA32001D3828A35069B256A07C3D 722F17DA30088E6E739FBC419FD7282D16CD6542. 3 28 . D 32 (mod n) = DDAD5F8B50FA5BA22F61B120E5933F73B92
BAAB1ECB6D432CFCC40FA95B77464003A705146A0D364AD40F8 7AE45E2FB460111CDCE73F78833FAE505A2D9ACA84 2 22 3s6 D Λ (mod ) _ A466D0CB17614EFD961000BD9EABF4F021 36F8307101882BC1764DBAACB715EFBF5D8309AE001EB5DEDA 8F000E44B3D4578E5CA55797FD4BD1F8E919BE787BD0BAAB1ECB6D432CFCC40FA95B77464003A705146A0D364AD40F8 7AE45E2FB460111CDCE73F78833FAE505A2D9ACA84 February 22 3 sec 6 D Λ (mod) _ A466D0CB17614EFD961000BD9EABF4F021 36F8307101882BC1764DBAACB715EFBF5D8309AE001EB5DEDA 8F000E44B3D4578E5CA55797FD4BD1F8E919BE787BD0
2 44 3112 D (mod w) = 925B0EDF5047EFEC5AFABDC03A830919761 2 44 3 112 D (mod w) = 925B0EDF5047EFEC5AFABDC03A830919761
B8FBDD2BF934E2A8 A31 E29B976274D513007EF1269E4638B4F65FB8FBDD2BF934E2A8 A31 E29B976274D513007EF1269E4638B4F65F
8FDEC740778BDC178AD7AF2968689B930D5A23598FDEC740778BDC178AD7AF2968689B930D5A2359
2 44 3113 £,128 (mod ) = B711D89C03FDEA8D1F889134A4F809B3F2D 8207F2AD8213D 169F2E99ECEC4FE08038900F0C203B55EE4F4C803 BFB912 A04F11 D9DB9D076021764BC4F57D47834 2 8 8 . 3226 . D256 ( m o d n ) 2 44 3 113 £, 128 (mod) = B711D89C03FDEA8D1F889134A4F809B3F2D 8207F2AD8213D 169F2E99ECEC4FE08038900F0C203B55EE4F4C803 BFB912 A04F11 D9DB9D076021764BC4F57D47834 2 8 8 . 3,226 . D 256 (modn)
41A83F119FFE4A2F4AC7E5597A5D0BEB4D4C 08D19E597FD034FE720235894363A19D6BC5AF323D24B 1B7FCFD8D41A83F119FFE4A2F4AC7E5597A5D0BEB4D4C 08D19E597FD034FE720235894363A19D6BC5AF323D24B 1B7FCFD8D
FCC628021 B4648D7EF757 A3E461 EF0CFF0EA 13FCC628021 B4648D7EF757 A3E461 EF0CFF0EA 13
2176 3452 ^512 (m0(j ^ ^ 48 922e ^512 (mod ) = 2 176 3 452 ^ 512 (m0 (j ^ ^ 48 ^ 922nd 512 (mod) =
28AA7F12259BFBA8 1368EB49C93EEAB3F3EC6BF73B0EBD7D3FC8395CFA1AD7FC0F9D AC 169 A4F6F1 C46FB4C3458D 1 E37C99123B56446F6C928736B 17B4B A28AA7F12259BFBA8 1368EB49C93EEAB3F3EC6BF73B0EBD7D3FC8395CFA1AD7FC0F9D AC 169 A4F6F1 C46FB4C3458D 1 E37C99123B56446F6C928736B 17B4B A
4A5294A529
On retrouve bien l'engagement R. L'authentification est réussie. Signature numérique Le mécanisme de signature numérique permet à une entité appelée signataire de produire des messages signés et à une entité appelée contrôleur de vérifier des messages signés. Le message M est une séquence binaire quelconque : il peut être vide. Le message M est signé en lui adjoignant un appendice de signature qui comprend un ou plusieurs engagements et / ou défis, ainsi que les réponses correspondantes. Le contrôleur dispose de la même fonction de hachage, des paramètres fcet m et du module n. Les paramètres k et m renseignent le contrôleur. D'une part, chaque défi élémentaire, de dx à dm, doit prendre une valeur de 0 à 2fc_1-l (les valeurs de v/2 à v-1 ne sont pas utilisées). D'autre part, chaque défi d doit comporter m défis élémentaires notés de dx à dm, autant que de nombres de base. En outre, faute d'indication contraire, les m nombres de base, de gx à gm, sont les m premiers nombres premiers. Avec (k-\).m valant de 15 à 20, on peut signer avec quatre triplets GQ2 produits en parallèle ; avec (k-l). m valant 60 ou plus, on peut signer avec un seul triplet GQ2. Par exemple, avec k = 9 et m = 8, un seul triplet GQ2 suffit ; chaque défi comporte huit octets et les nombres de base sont 2, 3, 5, 7, 11 , 13, 17 et 19. L'opération de signature est une séquence de trois actes : un acte d'engagement, un acte de défi et un acte de réponse. Chaque acte produit un ou plusieurs triplets GQ2 comprenant chacun : un engagement R (≠ 0), un défi d composé de m défis élémentaires notés par dx, d , ... dm et une réponse /) (≠ 0).We find the commitment R. The authentication is successful. Digital signature The digital signature mechanism allows an entity called a signatory to produce signed messages and an entity called a controller to verify signed messages. Message M is any binary sequence: it can be empty. The message M is signed by adding to it a signature appendix which includes one or more commitments and / or challenges, as well as the corresponding responses. The controller has the same hash function, the fcet m parameters and the n module. The parameters k and m inform the controller. On the one hand, each elementary challenge, from d x to d m , must take a value from 0 to 2 fc_1 -l (the values from v / 2 to v-1 are not used). On the other hand, each challenge d must have m elementary challenges noted from d x to d m , as many as basic numbers. Furthermore, in the absence of an indication to the contrary, the m basic numbers, from g x to g m , are the first m prime numbers. With (k - \). M being from 15 to 20, we can sign with four GQ2 triplets produced in parallel; with (kl). m worth 60 or more, you can sign with a single GQ2 triplet. For example, with k = 9 and m = 8, a single GQ2 triple is sufficient; every challenge has eight bytes and the base numbers are 2, 3, 5, 7, 11, 13, 17 and 19. The signing operation is a sequence of three acts: an act of commitment, an act of challenge and an act Answer. Each act produces one or more GQ2 triplets each comprising: an engagement R (≠ 0), a challenge d composed of m elementary challenges noted by d x , d, ... d m and a response /) (≠ 0).
Le signataire dispose d'une fonction de hachage, du paramètre k et de la clé privée GQ2, c'est-à-dire, de la factorisation du module n selon l'une des trois représentations évoquées ci-dessus. Au sein du signataire, on peut isoler un témoin qui exécute les actes d'engagement et de réponse, de manière à isoler les fonctions et les paramètres les plus sensibles du démonstrateur. Pour calculer engagements et réponses, le témoin dispose du paramètre k et de la clé privée GQ2, c'est-à-dire, de la factorisation du module n selon l'une des trois représentations évoquées ci-dessus. Le témoin ainsi isolé est semblable au témoin défini au sein du démonstrateur.The signatory has a hash function, the parameter k and the private key GQ2, that is to say, the factorization of the module n according to one of the three representations mentioned above. Within the signatory, we can isolate a witness who performs the acts of engagement and response, so as to isolate the most sensitive functions and parameters of the demonstrator. To calculate commitments and responses, the witness has the parameter k and the private key GQ2, that is to say, the factorization of the module n according to one of the three representations mentioned above. The witness thus isolated is similar to the witness defined within the demonstrator.
Il peut correspondre à une réalisation particulière, par exemple, • une carte à puce reliée à un PC formant ensemble le signataire, ou encore, • des programmes particulièrement protégés au sein d'un PC, ou encore, • des programmes particulièrement protégés au sein d'une carte à puce. 1) L'acte d'engagement comprend les opérations suivantes.It may correspond to a particular embodiment, for example, • a smart card connected to a PC together forming the signatory, or, • programs particularly protected within a PC, or, • programs particularly protected within a smart card. 1) The act of engagement includes the following operations.
Lorsque le témoin dispose des m valeurs privées de Qx à Qm et du module n, il tire au hasard et en privé un ou plusieurs aléas r (0 < r < n) ; puis, par k élévations successives au carré (mod n), il transforme chaque aléa r en un engagement R. R ≡ rv (mod «)When the witness has the m private values of Q x to Q m and of the module n, he randomly and privately draws one or more hazards r (0 <r <n); then, by k successive square elevations (mod n), it transforms each hazard r into an engagement R. R ≡ r v (mod “)
Lorsque le témoin dispose des / facteurs premiers de p à pf et des mf. composantes privées Qψ il tire au hasard et en privé une ou plusieurs collections de / aléas : chaque collection comporte un aléa rt par facteur premier ?, (0 < r, </?,) ; puis, par k élévations successives au carré (mod /?,), il transforme chaque aléa r, en une composante d'engagement R,. Pour chaque collection de /composantes d'engagement, le témoin établit un engagement selon la technique des restes chinois. Il y a autant d'engagements que de collections d'aléas.When the witness has the prime factors of p to p f and mf. private components Qψ it randomly and privately draws one or more collections of / hazards: each collection includes a hazard r t by prime factor?, (0 <r, </ ?,); then, by k successive squared elevations (mod / ?,), it transforms each hazard r, into an engagement component R ,. For each collection of / components of engagement, the witness establishes an engagement according to the technique of Chinese remains. There are as many commitments as there are collections of hazards.
R = Restes Chinois^ , R2, ... Rf)R = Chinese remains ^, R 2 , ... R f )
2) L'acte de défi consiste à hacher tous les engagements R et le message à signer M pour obtenir un code de hachage à partir duquel le signataire forme un ou plusieurs défis comprenant chacun m défis élémentaires ; chaque défi élémentaire prend une valeur de 0 à v/2-1 ; par exemple, avec k = 9 et m = 8, chaque défi comporte huit octets. Il y a autant de défis que d'engagements. d = d_ d2 ... dm, extraits du résultat Hash( , R)2) The challenge act consists in hashing all the commitments R and the message to be signed M in order to obtain a hash code from which the signatory forms one or more challenges each comprising m elementary challenges; each elementary challenge takes a value from 0 to v / 2-1; for example, with k = 9 and m = 8, each challenge has eight bytes. There are as many challenges as there are commitments. d = d_ d 2 ... d m , extracts from the result Hash (, R)
3) L'acte de réponse comporte les opérations suivantes. Lorsque la témoin dispose des m valeurs privées de Qx à Qm et du module n, il calcule une ou plusieurs réponses D en utilisant chaque aléa r de l'acte d'engagement et les valeurs privées selon les défis élémentaires. D ≡ r.X (mod ) Lorsque le témoin dispose des / facteurs premiers de p à pf et des mf. composantes privées Q- il calcule une ou plusieurs collections de / composantes de réponse en utilisant chaque collection d'aléas de l'acte d'engagement : chaque collection de composantes de réponse comporte une composante par facteur premier.3) The response act includes the following operations. When the witness has the m private values of Q x to Q m and of the module n, he calculates one or more responses D using each hazard r of the act of engagement and the private values according to the elementary challenges. D ≡ rX (mod) When the witness has the prime factors of p to p f and mf. private components Q- it calculates one or more collections of / response components using each collection of hazards in the act of engagement: each collection of response components includes one component per prime factor.
Pour chaque collection de composantes de réponse, le témoin établit une réponse selon la technique des restes chinois. Il y a autant de réponses que de défis. 46946 49 For each collection of response components, the witness establishes an answer using the Chinese remains technique. There are as many answers as there are challenges. 46946 49
D = Restes Chinois(E>, , D2, ... Df) Le signataire signe le message M en lui adjoignant un appendice de signature comprenant : ou bien, chaque triplet GQ2, c'est-à-dire, chaque engagement R, chaque défi d et chaque réponse D, ou bien, chaque engagement R et chaque réponse D correspondante, ou bien, chaque défi d et chaque réponse D correspondante. Le déroulement de l'opération de vérification dépend du contenu de l'appendice de signature. On distingue les trois cas. Au cas où l'appendice comprend un ou plusieurs triplets, l'opération de contrôle comporte deux processus indépendants dont la chronologie est indifférente. Le contrôleur accepte le message signé si et seulement si les deux conditions suivantes sont remplies.D = Chinese Remains (E>,, D 2 , ... D f ) The signatory signs the message M by attaching to it a signature appendix comprising: either, each GQ2 triplet, that is to say, each commitment R, each challenge d and each response D, or else, each commitment R and each corresponding response D, or else, each challenge d and each corresponding response D. The progress of the verification operation depends on the content of the signature appendix. We distinguish the three cases. If the appendix comprises one or more triples, the control operation comprises two independent processes, the chronology of which is indifferent. The controller accepts the signed message if and only if the following two conditions are met.
D'une part, chaque triplet doit être cohérent (une relation appropriée du type suivant doit être vérifiée) et recevable (la comparaison doit se faire sur une valeur non nulle). m k k mOn the one hand, each triplet must be coherent (an appropriate relation of the following type must be verified) and admissible (the comparison must be made on a non-zero value). m kk m
R Gf' ≡ D2 (mod n) ou bien R ≡ D2 .TJG? ' (mod n)R Gf '≡ D 2 (mod n) or R ≡ D 2 .TJG? ' (mod n)
. =1 . =1. = 1. = 1
Par -exemple, on transforme la réponse D par une séquence d'opérations élémentaires : k carrés (mod n) séparés par k-l multiplications ou divisions (mod n) par des nombres de base. Pour la i ième multiplication ou division, qui s'effectue entre le i ième carré et le i+l ième carré, le ième bit du défi élémentaire dx indique s'il faut utiliser gx , le ième bit du défi élémentaire d2 indique s'il faut utiliser g2, ... jusqu'au ième bit du défi élémentaire dm qui indique s'il faut utiliser gm. On doit ainsi retrouver chaque engagement R présent dans l'appendice de signature.For example, we transform the response D by a sequence of elementary operations: k squares (mod n) separated by kl multiplications or divisions (mod n) by basic numbers. For the i th multiplication or division, which takes place between the i th square and the i + l th square, the ith bit of the elementary challenge d x indicates whether to use g x , the ith bit of the elementary challenge d 2 indicates whether to use g 2 , ... up to the ith bit of the elementary challenge d m which indicates whether to use g m . We must thus find each commitment R present in the signature appendix.
D'autre part, le ou les triplets doivent être liés au message M. En hachant tous les engagements R et le message M, on obtient un code de hachage à partir duquel on doit retrouver chaque défi d. /46946 50 On the other hand, the triplet (s) must be linked to the message M. By hashing all the commitments R and the message M, we obtain a hash code from which we must find each challenge d. / 46 946 50
d - dx d2 ... dm, identiques à ceux extraits du résultat Hash( , R) Au cas où l'appendice ne comprend pas de défi, l'opération de contrôle commence par la reconstitution de un ou plusieurs défis d' en hachant tous les engagements R et le message M. d' = d d'2 ... d'„„ extraits du résultat Hash( , R)d - d x d 2 ... d m , identical to those extracted from the result Hash (, R) In the event that the appendix does not include a challenge, the control operation begins with the reconstitution of one or more challenges d 'by hashing all the commitments R and the message M. d' = dd ' 2 ... from „„ extracts from the result Hash (, R)
Ensuite, le contrôleur accepte le message signé si et seulement si chaque triplet est cohérent (une relation appropriée du type suivant est vérifiée) et recevable (la comparaison se fait sur une valeur non nulle).Then, the controller accepts the signed message if and only if each triplet is consistent (an appropriate relationship of the following type is verified) and admissible (the comparison is made on a non-zero value).
(mod n) Au cas où l'appendice ne comprend pas d'engagement, l'opération de contrôle commence par la reconstitution de un ou plusieurs engagements R' selon une des deux formules suivantes, celle qui est appropriée. Aucun engagement rétabli ne doit être nul.(mod n) If the appendix does not include a commitment, the control operation begins with the reconstitution of one or more commitments R 'according to one of the two following formulas, whichever is appropriate. No reinstated commitment must be void.
R'≡ D2 (mod n) Ensuite, le contrôleur doit hacher tous les engagements R' et le message M de façon à reconstituer chaque défis d. d = dx d2 ... dm, identiques à ceux extraits du résultat Hash( , R') Le contrôleur accepte le message signé si et seulement si chaque défi reconstitué est identique au défi correspondant figurant en appendice.R'≡ D 2 (mod n) Then, the controller must hash all the commitments R 'and the message M so as to reconstruct each challenge d. d = d x d 2 ... d m , identical to those extracted from the result Hash (, R ') The controller accepts the signed message if and only if each reconstructed challenge is identical to the corresponding challenge appearing in the appendix.
Dans la présente demande, on a montré qu'il existait des couples de valeurs privée Q et publique G permettant de mettre en œuvre le procédé, le système et le dispositif selon l'invention destiné à prouver l'authenticité d'une entité et/ou l'intégrité et/ou l'authenticité d'un message. Dans la demande pendante déposée le même jour que la présente demande par France Télécom, TDF et la Société Math RiZK et ayant pour inventeurs Louis Guillou et Jean- Jacques Quisquater, on a décrit un procédé pour produire des jeux de clés GQ2, à savoir, des modules n et des couples de valeurs publique G et privée Q dans le cas où l'exposant v est égal à 2k. Elle est incorporée ici par référence. In the present application, it has been shown that there exist pairs of private Q and public G values making it possible to implement the method, the system and the device according to the invention intended to prove the authenticity of an entity and / or the integrity and / or authenticity of a message. In the pending application filed on the same day as this application by France Telecom, TDF and the Math RiZK Company and having as inventors Louis Guillou and Jean-Jacques Quisquater, a process has been described for producing sets of keys GQ2, namely, modules n and pairs of values public G and private Q in the case where the exponent v is equal to 2 k . It is incorporated here by reference.
Cette description détaillée de l'invention dans le cas où v = 2k est susceptible d'être généralisée à d'autres valeurs de v. C'est d'ailleurs ce qui a été exposé, en contrepoint aux revendications, dans les premières pages de la description concernant le cas où v est différent de 2k. Pour autant que cela soit nécessaire, notamment pour des raisons ressortant des règles d'écriture d'une demande de brevet, et qu'il faille également dans cette partie de la description expliciter l'invention dans le cas où v est différent de 2k, les premières pages de la description seront également supposées avoir été insérées à la suite de ce paragraphe. This detailed description of the invention in the case where v = 2 k can be generalized to other values of v. This is, moreover, what was exposed, in counterpoint to the claims, in the first pages of the description concerning the case where v is different from 2 k . Provided that this is necessary, in particular for reasons arising from the rules for writing a patent application, and that it is also necessary in this part of the description to explain the invention in the case where v is different from 2 k , the first pages of the description will also be assumed to have been inserted after this paragraph.

Claims

Revendications claims
1. Procédé destiné à prouver à une entité contrôleur,1. Method intended to prove to a controlling entity,
- l'authenticité d'une entité et/ou - l'intégrité d'un message M associé à cette entité, au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:- the authenticity of an entity and / or - the integrity of a message M associated with this entity, by means of all or part of the following parameters or derived therefrom:
- m couples de valeurs privées Qj, Q2, ... Qm et publiques Gj, G2, ... Gm (m étant supérieur ou égal à 1),- m pairs of private values Qj, Q 2 , ... Q m and public values Gj, G 2 , ... G m (m being greater than or equal to 1),
- un module public n constitué par le produit de f facteurs premiers pj , p2 , ... pf (f étant supérieur ou égal à 2) ,- a public module n consisting of the product of f prime factors p j , p 2 , ... p f (f being greater than or equal to 2),
- un exposant public v ; ledit module, ledit exposant et lesdites valeurs étant liés par des relations du type :- a public exhibitor v; said module, said exponent and said values being linked by relationships of the type:
Gj . Q;v ≡ 1 . mod n ou Gj ≡ Qjv mod n ; ledit procédé met en œuvre selon les étapes suivantes une entité appelée témoin disposant des f facteurs premiers ; et/ou des paramètres des restes chinois des facteurs premiers et/ou du module public n et/ou des m valeurs privées Qj et/ou des f.m composantes Q,^ (Qi( j ≡ Qj mod Pj) des valeurs privées Qjβt de l'exposant public v ; - le témoin calcule des engagements R dans l'anneau des entiers modulo n ; chaque engagement étant calculé en effectuant des opérations du type où r_ est un aléa associé au nombre premier p; tel que 0 < < pf , chaque rj appartenant à une collection d'aléas {rj , r2 , ... rf} , puis en appliquant la méthode des restes chinois,Gj. Q; v ≡ 1. mod n or Gj ≡ Qj v mod n; said method implements according to the following steps an entity called witness having the f prime factors; and / or parameters of the Chinese remains of the prime factors and / or of the public module n and / or of the m private values Qj and / or of the fm components Q, ^ (Q i (j ≡ Qj mod P j ) of the private values Qjβt of the public exponent v; - the witness calculates commitments R in the ring of integers modulo n; each engagement being calculated by carrying out operations of the type where r_ is a hazard associated with the prime number p; such that 0 <<p f , each rj belonging to a collection of hazards {rj, r 2 , ... r f }, then by applying the Chinese remainder method,
- le témoin reçoit un ou plusieurs défis d ; chaque défi d comportant m entiers d_ ci-après appelés défis élémentaires ; le témoin calcule à partir de chaque défi d une réponse D en effectuant des opérations du type : 46946 54 - the witness receives one or more challenges d; each challenge d comprising m integers d_ hereinafter called elementary challenges; the witness calculates from each challenge of a response D by performing operations of the type: 46946 54
Di - ri . Qi!l dl . Qi 2. ... Qi)nι dm mod pi puis en appliquant la méthode des restes chinois ; ledit procédé étant tel qu'il y a autant de réponses D que de défis d que d'engagements R, chaque groupe de nombres R, d, D constituant un triplet noté {R, d, D}.Di - r i . Q i! L dl . Q i 2 . ... Q i) nι dm mod p i then by applying the Chinese remains method; said method being such that there are as many responses D as there are challenges d as there are commitments R, each group of numbers R, d, D constituting a triplet denoted {R, d, D}.
2. Procédé selon la revendication 1 destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur, ladite entité démonstrateur comprenant le témoin ; lesdites entités démonstrateur et contrôleur exécutant les étapes suivantes : • étape 1 : acte d'engagement R2. Method according to claim 1 intended to prove the authenticity of an entity called demonstrator to an entity called controller, said demonstrator entity comprising the witness; said demonstrator and controller entities performing the following steps: • step 1: act of engagement R
- à chaque appel, le témoin calcule chaque engagement R en appliquant le processus spécifié selon la revendication 1 ,- on each call, the witness calculates each engagement R by applying the process specified according to claim 1,
- le démonstrateur transmet au contrôleur tout ou partie de chaque engagement R, • étape 2 : acte de défi d- the demonstrator transmits to the controller all or part of each engagement R, • step 2: act of challenge d
- le contrôleur, après avoir reçu tout ou partie de chaque engagement R, produit des défis d en nombre égal au nombre d'engagements R et transmet les défis d au démonstrateur,- the controller, after having received all or part of each R engagement, produces challenges d in a number equal to the number of R engagements and transmits the challenges d to the demonstrator,
• étape 3 : acte de réponse D - le témoin calcule des réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 1 ,• step 3: act of response D - the witness calculates responses D from the challenges d by applying the process specified according to claim 1,
• étape 4 : acte de contrôle• step 4: act of control
- le démonstrateur transmet chaque réponse D au contrôleur, cas où le démonstrateur a transmis une partie de chaque engagement R dans le cas où le démonstrateur a transmis une partie de chaque engagement- the demonstrator transmits each response D to the controller, case where the demonstrator has transmitted part of each commitment R in the case where the demonstrator has transmitted part of each commitment
R, le contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, calcule à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :R, the controller, having the m public values G j , G 2 , ... G m , calculates from each challenge d and each response D a reconstructed engagement R 'satisfying a relationship of the type:
R' H Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R 'H Gj dl . G 2 d2 . ... G m dm . D v mod n or to a type relationship,
R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n , le contrôleur vérifie que chaque engagement reconstruit R' reproduit tout ou partie de chaque engagement R qui lui a été transmis, cas où le démonstrateur a transmis l'intégralité de chaque engagementR '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n, the controller verifies that each reconstructed engagement R 'reproduces all or part of each engagement R which has been transmitted to it, case where the demonstrator has transmitted the entirety of each engagement
R dans le cas où le démonstrateur a transmis l'intégralité de chaque engagement R, le contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, vérifie que chaque engagement R satisfait à une relation du type : R s Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R in the case where the demonstrator has transmitted the entirety of each engagement R, the controller, having the m public values Gj, G 2 , ... G m , verifies that each engagement R satisfies a relation of the type: R s Gj dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R ≡ Dv / G, dl . G2 d2. ... Gm dm . mod n . R ≡ D v / G, dl . G 2 d2 . ... G m dm . mod n.
3. Procédé selon la revendication 1 destiné à prouver à une entité appelée contrôleur l'intégrité d'un message M associé à une entité appelée démonstrateur, ladite entité démonstrateur comprenant le témoin ; lesdites entités démonstrateur et contrôleur exécutant les étapes suivantes :3. Method according to claim 1 intended to prove to an entity called controller the integrity of a message M associated with an entity called demonstrator, said demonstrator entity comprising the witness; said demonstrator and controller entities performing the following steps:
• étape 1 : acte d'engagement R• step 1: act of engagement R
- à chaque appel, le témoin calcule chaque engagement R en appliquant le processus spécifié selon la revendication 1 , • étape 2 : acte de défi d- at each call, the witness calculates each engagement R by applying the process specified according to claim 1, • step 2: act of defiance of
- le démonstrateur applique une fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer au moins un jeton T,the demonstrator applies a hash function h having as arguments the message M and all or part of each engagement R to calculate at least one token T,
- le démonstrateur transmet le jeton T au contrôleur, - le contrôleur, après avoir reçu un jeton T, produit des défis d en nombre égal au nombre d'engagements R et transmet les défis d au démonstrateur,- the demonstrator transmits the token T to the controller, - the controller, after receiving a token T, produces challenges d in a number equal to the number of engagements R and transmits the challenges d to the demonstrator,
• étape 3 : acte de réponse D• step 3: response act D
- le témoin calcule des réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 1 , Othe witness calculates responses D from the challenges d by applying the process specified according to claim 1, O
• étape 4 : acte de contrôle• step 4: act of control
- le démonstrateur transmet chaque réponse D au contrôleur,- the demonstrator transmits each response D to the controller,
- le contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, calcule à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :- the controller, having the m public values Gj, G 2 , ... G m , calculates from each challenge d and each response D a reconstructed engagement R 'satisfying a relationship of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type :R '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a relation of the type:
R' ≡ Dv / Gj dl . G2 d2. ... Gπι dm . mod nR '≡ D v / Gj dl . G 2 d2 . ... G πι dm . mod n
- puis le contrôleur applique la fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement reconstruit R' pour reconstruire le jeton T',- then the controller applies the hash function h having as arguments the message M and all or part of each reconstructed engagement R 'to reconstruct the token T',
- puis le contrôleur vérifie que le jeton T' est identique au jeton T transmis.- then the controller verifies that the token T 'is identical to the token T transmitted.
4. Procédé selon la revendication 1 destiné à produire la signature numérique d'un message M par une entité appelée entité signataire, ladite entité signataire comprenant le témoin ; ladite entité signataire exécute une opération de signature en vue d'obtenir un message signé comprenant :4. Method according to claim 1 intended to produce the digital signature of a message M by an entity called signatory entity, said signatory entity comprising the witness; said signatory entity performs a signature operation with a view to obtaining a signed message comprising:
- le message M,- the message M,
- les défis d et/ou les engagements R, - les réponses D ; ladite entité signataire exécute l'opération de signature en mettant en oeuvre les étapes suivantes :- challenges d and / or R commitments, - responses D; said signatory entity executes the signature operation by implementing the following steps:
• étape 1 : acte d'engagement R• step 1: act of engagement R
- à chaque appel, le témoin calcule chaque engagement R en appliquant le processus spécifié selon la revendication 1 ,- on each call, the witness calculates each engagement R by applying the process specified according to claim 1,
• étape 2 : acte de défi d• step 2: act of challenge d
- le signataire applique une fonction de hachage h ayant comme arguments le message M et chaque engagement R pour obtenir un train binaire,the signatory applies a hash function h having as arguments the message M and each commitment R to obtain a binary train,
- le signataire extrait de ce train binaire des défis d en nombre égal au nombre d'engagements R,- the signatory extracts from this binary train challenges d in number equal to number of commitments R,
• étape 3 : acte de réponse D• step 3: response act D
- le témoin calcule des réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 1. - the witness calculates responses D from the challenges d by applying the process specified according to claim 1.
5. Procédé selon la revendication 4 destiné à prouver l'authenticité du message M en contrôlant, par une entité appelée contrôleur, le message signé; ladite entité contrôleur disposant du message signé exécute une opération de contrôle en procédant comme suit : • cas où le contrôleur dispose des engagements R, des défis d, des réponses D, dans le cas où le contrôleur dispose des engagements R, des défis d, des réponses D,5. The method of claim 4 for proving the authenticity of the message M by controlling, by an entity called controller, the signed message; said controller entity having the signed message performs a control operation by proceeding as follows: • case where the controller has commitments R, challenges d, responses D, in the case where the controller has commitments R, challenges d, D responses,
• • le contrôleur vérifie que les engagements R, les défis d et les réponses D satisfont à des relations du type• • the controller verifies that the commitments R, the challenges d and the responses D satisfy relations of the type
R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :R ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod nR ≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n
• • le contrôleur vérifie que le message M, les défis d et les engagements R satisfont à la fonction de hachage d = h (M, R) • cas où le contrôleur dispose des défis d et des réponses D dans le cas où le contrôleur dispose des défis d et des réponses D,• • the controller verifies that the message M, the challenges d and the commitments R satisfy the hash function d = h (M, R) • case where the controller has the challenges d and responses D in the case where the controller has challenges d and answers D,
• • le contrôleur reconstruit, à partir de chaque défi d et de chaque réponse D, des engagements R' satisfaisant à des relations du type :• • the controller reconstructs, from each challenge d and each response D, commitments R 'satisfying relationships of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :R '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
RΗ DV / GJ dl . G2 d2. ... Gm dm . mod nRΗ D V / G J dl . G 2 d2 . ... G m dm . mod n
• • le contrôleur vérifie que le message M et les défis d satisfont à la fonction de hachage d = h (M, R')• • the controller checks that the message M and the challenges d satisfy the hash function d = h (M, R ')
• cas où le contrôleur dispose des engagements R et des réponses D dans le cas où le contrôleur dispose des engagements R et des réponses D, • • le contrôleur applique la fonction de hachage et reconstruit d' d' = h (M, R) • • le contrôleur vérifie que les engagements R, les défis d' et les réponses D, satisfont à des relations du type :• case where the controller has commitments R and responses D in the case where the controller has commitments R and responses D, • • the controller applies the hash function and reconstructs d '= h (M, R) • • the controller verifies that the commitments R, the challenges of and the responses D, satisfy relationships of the type:
R ≡ Gj d>1 . G2 d'2. ... Gm d m . Dv mod n ou à des relations du type :R ≡ Gj d> 1 . G 2 of 2 . ... G m dm . D v mod n or to relations of the type:
R ≡ Dv / Gj d l . G2 d'2. ... Gm d m . mod nR ≡ D v / Gj dl . G 2 of 2 . ... G m dm . mod n
6. Procédé selon l'une quelconque des revendications 1 à 5 tel que les composantes Q i; j , Qj, 2 , ... Qi, f des valeurs privées Q;, sont des nombres tirés au hasard à raison d'une composante Q; j (Qi(J- ≡ Qjinod Pj) pour chacun desdits facteurs premiers pj ? lesdites valeurs privées Qj pouvant être calculées à partir desdites composantes Qj, j , Qi 2 ... Qi f par la méthode des restes chinois, lesdites valeurs publiques Gj, étant calculées6. Method according to any one of claims 1 to 5 such that the components Q i; j, Qj, 2 , ... Qi, f of the private values Q ;, are numbers drawn at random on the basis of a component Q ; j (Qi (J - ≡ Q j inod P j ) for each of said prime factors p j? said private values Qj can be calculated from said components Q j , j , Q i 2 ... Q if by the remainder method Chinese, said public values Gj, being calculated
en effectuant des opérations du type by performing operations of the type
• puis en appliquant la méthode des restes chinois pour établir Gj tel que• then by applying the Chinese remains method to establish Gj such that
G; . Qjv ≡ 1 . mod n ou G; ≡ Qj V mod n ;G; . Qj v ≡ 1. mod n or G; ≡ Q j V mod n;
7. Procédé selon la revendication 6 tel que l'exposant public de vérification v est un nombre premier, 7. Method according to claim 6 such that the public exponent of verification v is a prime number,
8. Procédé selon l'une quelconque des revendications 1 à 5 ledit exposant v étant tel que v = 2k où k est un paramètre de sécurité plus grand que 1 ; ladite valeur publique Gi étant le carré g( 2 d'un nombre de base gi inférieur aux f facteurs premiers pj, p2, ... Pf ; le nombre de base gi étant tel que : les deux équations : x2 ≡ ; mod n et x2 ≡ - g_ mod n n'ont pas de solution en x dans l'anneau des entiers modulo n et tel que : l'équation : a des solutions en x dans l'anneau des entiers modulo n .8. Method according to any one of claims 1 to 5 said exponent v being such that v = 2 k where k is a security parameter greater than 1; said public value Gi being the square g ( 2 of a lower base number gi to the prime factors pj, p 2 , ... P f ; the basic number gi being such that: the two equations: x 2 ≡; mod n and x 2 ≡ - g_ mod n have no solution in x in the ring of integers modulo n and such that: the equation: has solutions in x in the ring of integers modulo n.
9. Système destiné à prouver à un serveur contrôleur, - l'authenticité d'une entité et/ou9. System intended to prove to a controller server, - the authenticity of an entity and / or
- l'intégrité d'un message M associé à cette entité, au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:- the integrity of a message M associated with this entity, by means of all or part of the following parameters or derived from them:
- m couples de valeurs privées Qj, Q2, ... Qm et publiques Gj, G2, ... Gm (m étant supérieur ou égal à 1), - un module public n constitué par le produit de f facteurs premiers- m pairs of private values Qj, Q 2 , ... Q m and public Gj, G 2 , ... G m (m being greater than or equal to 1), - a public module n consisting of the product of f factors first
Pi, p2, ... pf (f étant supérieur ou égal à 2),Pi, p 2 , ... p f (f being greater than or equal to 2),
- un exposant public v ; ledit module, ledit exposant et lesdites valeurs étant liés par des relations du type : Gj . Qjv ≡ 1 . mod n ou Gj s Qj V mod n ; ledit système comprend un dispositif témoin, notamment contenu dans un objet nomade se présentant par exemple sous la forme d'une carte bancaire à microprocesseur, le dispositif témoin comporte une zone mémoire contenant les f facteurs premiers p; et/ou des paramètres des restes chinois des facteurs premiers et/ou du module public n et/ou des m valeurs privées Qj et/ou des f.m composantes Qi(j (Q{ι i ≡ Qj inod Pj) des valeurs privées Qj βt de l'exposant public v ; le dispositif témoin comporte aussi : - des moyens de production d'aléas, ci-après désignés les moyens de production d'aléas du dispositif témoin,- a public exhibitor v; said module, said exponent and said values being linked by relationships of the type: G j . Qj v ≡ 1. mod n or G j s Q j V mod n; said system comprises a witness device, in particular contained in a nomadic object appearing for example in the form of a microprocessor bank card, the witness device comprises a memory area containing the f prime factors p ; and / or parameters of the Chinese remains of the prime factors and / or of the public module n and / or of the m private values Qj and / or of the fm components Q i (j (Q {ι i ≡ Qj inod P j ) of the private values Qj βt of the public exhibitor v; the witness system also includes: - means of producing hazards, hereinafter referred to as the means of producing hazards of the control device,
- des moyens de calcul, ci-après désignés les moyens de calcul des engagements R du dispositif témoin, pour calculer des engagements R dans l'anneau des entiers modulo n ; chaque engagement étant calculé en effectuant des opérations du type- Calculation means, hereinafter designated the means of calculating the commitments R of the witness device, for calculating commitments R in the ring of integers modulo n; each commitment being calculated by carrying out operations of the type
R; ≡ r ;v mod p; où r; est un aléa associé au nombre premier p; tel que 0 < r_ < p_ , chaque r_ appartenant à une collection d'aléas {rj , r2 , ... rf} produits par les moyens de production d'aléas, puis en appliquant la méthode des restes chinois ; le dispositif témoin comporte aussi :R; ≡ r; v mod p ; where r; is a hazard associated with the prime number p; such that 0 <r_ <p_, each r_ belonging to a hazard collection {rj, r 2 , ... r f } produced by the means of hazard production, then by applying the Chinese remainder method; the witness device also includes:
- des moyens de réception, ci-après désignés les moyens de réception des défis d du dispositif témoin, pour recevoir un ou plusieurs défis d ; chaque défi d comportant m entiers dj ci-après appelés défis élémentaires ; - des moyens de calcul, ci-après désignés les moyens de calcul des réponses D du dispositif témoin, pour calculer à partir de chaque défi d une réponse D en effectuant des opérations du type :- reception means, hereinafter designated the means for receiving challenges d from the witness device, to receive one or more challenges d; each challenge d comprising m integers dj hereinafter called elementary challenges; means of calculation, hereinafter designated the means of calculating the responses D of the witness device, for calculating from each challenge of a response D by performing operations of the type:
D, - r, . Qi;j dl . Qi;2 d2. ... Qi;m dm mod Pi puis, en appliquant la méthode des restes chinois ; - des moyens de transmission pour transmettre un ou plusieurs engagements R et une ou plusieurs réponses D ; il y a autant de réponses D que de défis d que d'engagements R, chaque groupe de nombres R, d, D constituant un triplet noté {R, d, D}.D, - r,. Q i; j dl . Q i; 2 d2 . ... Q i; m dm mod Pi then, by applying the Chinese remains method; - transmission means for transmitting one or more commitments R and one or more responses D; there are as many responses D as there are challenges d as there are commitments R, each group of numbers R, d, D constituting a triplet noted {R, d, D}.
10. Système selon la revendication 9 destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur ; ledit système étant tel qu'il comporte10. The system of claim 9 for proving the authenticity of an entity called demonstrator to an entity called controller; said system being as it comprises
- un dispositif démonstrateur associé à l'entité démonstrateur, ledit dispositif démonstrateur étant interconnecté au dispositif témoin par des moyens d'interconnexion et pouvant se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur,- a demonstrator device associated with the demonstrator entity, said demonstrator device being interconnected with the witness device by means of interconnection and being able to be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card,
- un dispositif contrôleur associé à l'entité contrôleur ; ledit dispositif contrôleur se présentant notamment sous la forme d'un terminal ou d'un serveur distant ; ledit dispositif contrôleur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, au dispositif démonstrateur ; ledit système permettant d'exécuter les étapes suivantes : • étape 1 : acte d'engagement R- a controller device associated with the controller entity; said controller device being in particular in the form of a terminal or a remote server; said controller device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device; said system enabling the following steps to be carried out: • step 1: act of engagement R
- à chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié selon la revendication 9,on each call, the means of calculating the commitments R of the witness device calculate each commitment R by applying the process specified according to claim 9,
- le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion ;the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means;
- le dispositif démonstrateur comporte aussi des moyens de transmission, ci- après désigné les moyens de transmission du dispositif démonstrateur, pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur, via les moyens de connexion ;the demonstrator device also includes transmission means, hereinafter designated the means of transmission of the demonstrator device, for transmitting all or part of each engagement R to the controller device, via the connection means;
• étape 2 : acte de défi d le dispositif contrôleur comporte des moyens de productions de défis pour produire, après avoir reçu tout ou partie de chaque engagement R, des défis d en nombre égal au nombre d'engagements R, le dispositif contrôleur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du contrôleur, pour transmettre les défis d au démonstrateur,• step 2: act of challenge of the controller device comprises means of producing challenges to produce, after having received all or part of each R engagement, challenges d in number equal to the number of R engagements, the controller device also includes transmission means, hereinafter referred to as the controller transmission means, for transmitting the challenges d to the demonstrator,
• étape 3 : acte de réponse D les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif démonstrateur, via les moyens d'interconnexion, les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 9,• step 3: response act D the means for receiving the challenges d from the witness device, receive each challenge d from the demonstrator device, via the interconnection means, the means for calculating the responses D from the witness device calculating the responses D from the challenges d by applying the process specified according to claim 9,
• étape 4 : acte de contrôle les moyens de transmission du démonstrateur transmettent chaque réponse D au contrôleur le dispositif contrôleur comporte aussi• step 4: act of control the means of transmission of the demonstrator transmit each response D to the controller the controller device also includes
- des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur,- calculation means, hereinafter designated the calculation means of the controller device,
- des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur, cas où le démonstrateur a transmis une partie de chaque engagement R dans le cas où les moyens de transmission du démonstrateur ont transmis une partie de chaque engagement R, les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques G1? G2, ... Gm, calculent à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :comparison means, hereinafter designated the comparison means of the controller device, case where the demonstrator has transmitted part of each engagement R in the case where the demonstrator transmission means have transmitted part of each engagement R, the means of calculating the controller, having the m public values G 1? G 2 , ... G m , calculate from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n , les moyens de comparaison du dispositif contrôleur comparent chaque engagement reconstruit R' à tout ou partie de chaque engagement R reçus, cas où le démonstrateur a transmis l'intégralité de chaque engagement R dans le cas où les moyens de transmission du démonstrateur ont transmis l'intégralité de chaque engagement R, les moyens de calcul et les moyens de comparaison du dispositif contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, vérifient que chaque engagement R satisfait à une relation du type :R '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n, the comparison means of the controller device compare each reconstructed engagement R 'with all or part of each engagement R received, case where the demonstrator has transmitted all of each engagement R in the case where the means of transmission of the demonstrator have transmitted the entirety of each R commitment, the calculation means and the means of comparison of the controller device, having the m public values Gj, G 2 , ... G m , verify that each engagement R satisfies a relation of the type:
R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n . R ≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n.
11. Système selon la revendication 9 destiné à prouver à une entité appelée contrôleur l'intégrité d'un message M associé à une entité appelée démonstrateur, ledit système étant tel qu'il comporte11. The system as claimed in claim 9, intended to prove to an entity called a controller the integrity of a message M associated with an entity called a demonstrator, said system being such that it comprises
- un dispositif démonstrateur associé à l'entité démonstrateur, ledit dispositif démonstrateur étant interconnecté au dispositif témoin par des moyens d'interconnexion et pouvant se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur,a demonstrator device associated with the demonstrator entity, said demonstrator device being interconnected with the witness device by means of interconnection and being able to be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor-based bank card,
- un dispositif contrôleur associé à l'entité contrôleur ; ledit dispositif contrôleur se présentant notamment sous la forme d'un terminal ou d'un serveur distant ; ledit dispositif contrôleur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, au dispositif démonstrateur ; ledit système permettant d'exécuter les étapes suivantes : • étape 1 : acte d'engagement R- a controller device associated with the controller entity; said controller device being in particular in the form of a terminal or a remote server; said controller device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device; said system making it possible to execute the following steps: • step 1: act of engagement R
- à chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié selon la revendication 9,on each call, the means of calculating the commitments R of the witness device calculate each commitment R by applying the process specified according to claim 9,
- le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion ;the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the means of interconnection;
• étape 2 : acte de défi d le dispositif démonstrateur comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif démonstrateur, appliquant fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer au moins un jeton T, le dispositif démonstrateur comporte aussi des moyens de transmission, ci- après désignés les moyens de transmission du démonstrateur, pour transmettre chaque jeton T , via les moyens de connexion, au dispositif au contrôleur, le dispositif contrôleur comporte aussi des moyens de productions de défis pour produire, après avoir reçu le jeton T, les défis d en nombre égal au nombre d'engagements R , le dispositif contrôleur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du dispositif contrôleur, pour transmettre les défis d au démonstrateur,• step 2: act of challenge of the demonstrator device comprises calculation means, hereinafter designated the means of calculation of the demonstrator device, applying hash function h having as arguments the message M and all or part of each engagement R to calculate at least one token T, the demonstrator device also comprises transmission means, hereinafter designated the means of transmission of the demonstrator, for transmitting each token T, via the connection means, to the device to the controller, the controller device also comprises challenge production means to produce, after receiving the token T, the challenges d in a number equal to the number of engagements R, the controller device also comprises transmission means, hereinafter designated the transmission means of the controller device, to pass on challenges to the demonstrator,
• étape 3 : acte de réponse D les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif démonstrateur, via les moyens d'interconnexion, les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 9,• step 3: response act D the means for receiving the challenges d from the witness device, receive each challenge d from the demonstrator device, via the interconnection means, the means for calculating the responses D from the witness device calculate the responses D to starting from the challenges of applying the process specified according to claim 9,
• étape 4 : acte de contrôle les moyens de transmission du démonstrateur transmettent chaque réponse• step 4: act of control the means of transmission of the demonstrator transmit each response
D au contrôleur, le dispositif contrôleur comporte aussi des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, pour d'une part, calculer à partir de chaque défi d et de chaque réponse D un engagement reconstruit R ' satisfaisant à une relation du type :D to the controller, the controller device also comprises calculation means, hereinafter designated the calculation means of the controller device, having the m public values Gj, G 2 , ... G m , for one hand, calculating at from each challenge d and each response D a reconstructed commitment R 'satisfying a relationship of the type:
R' ≡ G, dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type : R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n puis d'autre part, calculer en appliquant la fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement reconstruit R', un jeton T', le dispositif contrôleur comporte aussi des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur, pour comparer le jeton T' au jeton T reçu.R '≡ G, dl . G 2 d2 . ... G m dm . D v mod n or to a relation of the type: R '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n then, on the other hand, calculate by applying the hash function h having as arguments the message M and all or part of each reconstructed engagement R ', a token T', the controller device also includes comparison means, ci after designating the comparison means of the controller device, to compare the token T 'to the token T received.
12. Système selon la revendication 9 destiné à produire la signature numérique d'un message M, ci après désigné le message signé, par une entité appelée entité signataire, le message signé comprenant :12. The system as claimed in claim 9, intended to produce the digital signature of a message M, hereinafter designated the signed message, by an entity called the signatory entity, the signed message comprising:
- le message M,- the message M,
- les défis d et/ou les engagements R,- challenges d and / or commitments R,
- les réponses D ; ledit système étant tel qu'il comporte un dispositif signataire associé à l'entité signataire, ledit dispositif signataire étant interconnecté au dispositif témoin par des moyens d'interconnexion et pouvant se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur, ledit système permettant d'exécuter les étapes suivantes :- responses D; said system being such that it comprises a signatory device associated with the signatory entity, said signatory device being interconnected with the witness device by means of interconnection and being able to be presented in particular in the form of logic microcircuits in a nomad object for example under the form of a microprocessor in a microprocessor bank card, said system making it possible to execute the following steps:
• étape 1 : acte d'engagement R à chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié selon la revendication 9, le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif signataire, via les moyens d'interconnexion; • étape 2 : acte de défi d le dispositif signataire comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif signataire, appliquant une fonction d hachage h ayant comme arguments le message M et chaque engagement R pour calculer un train binaire et extraire de ce train binaire des défis d en nombre égal au nombre d'engagements R,Step 1: act of engagement R at each call, the means for calculating the commitments R of the witness device calculate each engagement R by applying the process specified according to claim 9, the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each commitment R to the signatory device, via the interconnection means; • step 2: act of defiance of the signatory device comprises calculation means, hereinafter designated the means of calculation of the signatory device, applying a hash function h having as arguments the message M and each commitment R to calculate a binary train and extract from this binary train challenges d in a number equal to the number of engagements R,
• étape 3 : acte de réponse D les moyens de réception des défis d , reçoivent chaque défi d provenant du dispositif signataire, via les moyens d'interconnexion, les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 9, le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre les réponses D au dispositif signataire, via les moyens d'interconnexion. • step 3: response act D the means for receiving the challenges d, receive each challenge d from the signatory device, via the interconnection means, the means for calculating the responses D from the witness device calculate the responses D from the challenges d by applying the process specified according to claim 9, the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting the responses D to the signatory device, via the interconnection means.
13. Système selon la revendication 1 1 destiné à prouver l'authenticité du message M en contrôlant, par une entité appelée contrôleur, le message signé; ledit système étant tel qu'il comporte un dispositif contrôleur associé à l'entité contrôleur ; ledit dispositif contrôleur se présentant notamment sous la forme d'un terminal ou d'un serveur distant ; ledit dispositif contrôleur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, au dispositif démonstrateur ; ledit dispositif signataire associé à l'entité signataire comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif signataire, pour transmettre au dispositif contrôleur, le message signé, via les moyens de connexion, de telle sorte que le dispositif contrôleur dispose d'un message signé comprenant: - le message M,13. The system of claim 1 1 for proving the authenticity of the message M by controlling, by an entity called controller, the signed message; said system being such that it comprises a controller device associated with the controller entity; said controller device being in particular in the form of a terminal or a remote server; said controller device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to the demonstrator device; said signatory device associated with the signatory entity includes means of transmission, hereinafter designated the means of transmission of the signatory device, for transmitting to the controller device, the signed message, via the connection means, so that the controller device has a signed message comprising: the message M ,
- les défis d et/ou les engagements R,- challenges d and / or commitments R,
- les réponse D le dispositif contrôleur comporte :- the responses D the controller device comprises:
- des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur,- calculation means, hereinafter designated the calculation means of the controller device,
- des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur,comparison means, hereinafter designated the comparison means of the controller device,
• cas où le contrôleur dispose des engagements R, des défis d, des réponses D, dans le cas où le dispositif contrôleur dispose des engagements R, des défis d, des réponses D,• case where the controller has R commitments, challenges d, D responses, in the case where the controller has R commitments, d challenges, D responses,
• • les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d et les réponses D satisfont à des relations du type R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :• • the means of calculation and comparison of the controller device verify that the commitments R, the challenges d and the responses D satisfy relations of the type R ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod nR ≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n
• • les moyens de calcul et de comparaison du dispositif contrôleur vérifient que le message M, les défis d et les engagements R satisfont à la fonction de hachage d = h (M, R)• • the means of calculation and comparison of the controller device verify that the message M, the challenges d and the commitments R satisfy the hash function d = h (M, R)
• cas où le contrôleur dispose des défis d et des réponses D dans le cas où le dispositif contrôleur dispose des défis d et des réponses D,• case where the controller has challenges d and responses D in the case where the controller has challenges d and responses D,
• • les moyens de calcul du dispositif contrôleur calculent, à partir de ois• • the calculation means of the controller device calculate, from is
chaque défi d et de chaque réponse D, des engagements R' satisfaisant à des relations du type :each challenge d and each response D, commitments R 'satisfying relationships of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type : R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod nR '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type: R '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n
• • les moyens de calcul et de comparaison du dispositif contrôleur vérifie que le message M et les défis d satisfont à la fonction de hachage d = h (M, R')• • the means of calculation and comparison of the controller device checks that the message M and the challenges d satisfy the hash function d = h (M, R ')
• cas où le contrôleur dispose des engagements R et des réponses D dans le cas où le dispositif contrôleur dispose des engagements R et des réponses D,• case where the controller has R commitments and D responses in the case where the controller has R commitments and D responses,
• • les moyens de calcul du dispositif contrôleur appliquent la fonction de hachage et calculent d' tel que d' = h (M, R) • • les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d' et les réponses D, satisfont à des relations du type :• • the means of calculation of the controller device apply the hash function and calculate such that d = h (M, R) • • the means of calculation and comparison of the controller device verify that the commitments R, the challenges d 'and the responses D, satisfy relations of the type:
R ≡ Gj d l . G2 d'2. ... Gm d m . Dv mod n ou à des relations du type : R ≡ Dv / G, d l . G2 d'2. ... Gm d m . mod nR ≡ Gj dl . G 2 of 2 . ... G m dm . D v mod n or to relations of the type: R ≡ D v / G, dl . G 2 of 2 . ... G m dm . mod n
14. Système selon l'une quelconque des revendications 9 à 13 tel que les composantes Q j, j , Qi; 2 , ••• Qi, f des valeurs privées Qi; sont des nombres tirés au hasard à raison d'une composante Qi j (Qi;j ≡ Qjinod Pj) pour chacun desdits facteurs premiers pj; lesdites valeurs privées Q; pouvant être calculées à partir desdites composantes Qj, j , Qi( 2 ... Qi) f par la méthode des restes chinois, lesdites valeurs publiques G;, étant calculées14. System according to any one of claims 9 to 13 such that the components Q j, j, Q i; 2 , ••• Qi, f of private values Q i; are numbers drawn at random on the basis of a component Qi j (Q i; j ≡ Qjinod P j ) for each of said prime factors p j; said private values Q; can be calculated from said components Qj, j, Q i (2 ... Q i) f by the Chinese remainder method, said public values G ;, being calculated
• en effectuant des opérations du type by• by performing operations of the type by
• puis en appliquant la méthode des restes chinois pour établir Gj tel que Gj . QiV ≡ 1 . mod n ou G; ≡ QjV mod n ;• then by applying the Chinese remains method to establish Gj such as Gj. Qi V ≡ 1. mod n or G; ≡ Qj V mod n;
15. Système selon la revendication 14 tel que l'exposant public de vérification v est un nombre premier, 15. The system as claimed in claim 14, such that the public verification exponent v is a prime number,
16. Système selon l'une quelconque des revendications 9 à 13 ledit exposant v étant tel que v = 2k où k est un paramètre de sécurité plus grand que 1 ; ladite valeur publique Gj étant le carré gj2 d'un nombre de base gi inférieur aux f facteurs premiers pj, p2, ... Pf ; le nombre de base ; étant tel que : les deux équations : x2 ≡ g; mod n et x2 ≡ - g_ mod n n'ont pas de solution en x dans l'anneau des entiers modulo n et tel que : l'équation : a des solutions en x dans l'anneau des entiers modulo n .16. System according to any one of claims 9 to 13 said exponent v being such that v = 2 k where k is a security parameter greater than 1; said public value Gj being the square gj 2 of a base number gi less than the f prime factors pj, p 2 , ... P f ; the base number; being such that: the two equations: x 2 ≡ g; mod n and x 2 ≡ - g_ mod n have no solution in x in the ring of integers modulo n and such that: the equation: has solutions in x in the ring of integers modulo n.
17. Dispositif terminal associé à une entité, se présentant notamment sous la forme d'un objet nomade par exemple sous la forme d'une carte bancaire à microprocesseur, destiné à prouver à dispositif contrôleur,17. Terminal device associated with an entity, in particular in the form of a nomadic object for example in the form of a microprocessor bank card, intended to prove to a controller device,
- l'authenticité d'une entité et/ou- the authenticity of an entity and / or
- l'intégrité d'un message M associé à cette entité, au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:- the integrity of a message M associated with this entity, by means of all or part of the following parameters or derived from them:
- m couples de valeurs privées Qj, Q2, ... Qm et publiques G , G2, ... Gm (m étant supérieur ou égal à 1),- m pairs of private values Qj, Q 2 , ... Q m and public G, G 2 , ... G m (m being greater than or equal to 1),
- un module public n constitué par le produit de f facteurs premiers PJ, p2, ... pf (f étant supérieur ou égal à 2),- a public module n consisting of the product of f prime factors P J , p 2 , ... p f (f being greater than or equal to 2),
- un exposant public v ; ledit module, ledit exposant et lesdites valeurs étant liés par des relations du type :- a public exhibitor v; said module, said exponent and said values being linked by relations of the type:
Gj . Qiv ≡ 1 . mod n ou G; ≡ QjV mod n ; ledit dispositif terminal comprend un dispositif témoin comportant une zone mémoire contenant les f facteurs premiers p; et/ou des paramètres des restes chinois des facteurs premiers et/ou du module public n et/ou des m valeurs privées Qj et/ou des f.m composantes Qj; j (Qj, j ≡ Qj inod Pj) des valeurs privées Qj βt de l'exposant public v ; le dispositif témoin comporte aussi :Gj. Qi v ≡ 1. mod n or G; ≡ Qj V mod n; said terminal device comprises a witness device comprising a memory area containing the f prime factors p ; and / or parameters of the Chinese remains of the prime factors and / or of the public module n and / or of the m private values Qj and / or of the fm components Qj ; j (Qj , j ≡ Qj inod P j ) of the private values Qj βt of the public exponent v; the witness device also includes:
- des moyens de production d'aléas, ci-après désignés les moyens de production d'aléas du dispositif témoin,- means of producing hazards, hereinafter designated the means of producing hazards of the control device,
- des moyens de calcul, ci-après désignés les moyens de calcul des engagements R du dispositif témoin, pour calculer des engagements R dans l'anneau des entiers modulo n ; chaque engagement étant calculé en effectuant des opérations du type où r; est un aléa associé au nombre premier p; tel que 0 < r; < PJ , chaque r. appartenant à une collection d'aléas {rj , r2 , ... rf} produits par les moyens de production d'aléas, puis en appliquant la méthode des restes chinois ; le dispositif témoin comporte aussi : - des moyens de réception, ci-après désignés les moyens de réception des défis d du dispositif témoin, pour recevoir un ou plusieurs défis d ; chaque défi d comportant m entiers d; ci-après appelés défis élémentaires ;- Calculation means, hereinafter designated the means of calculating the commitments R of the witness device, for calculating commitments R in the ring of integers modulo n; each commitment being calculated by carrying out operations of the type where r; is a hazard associated with the prime number p; such that 0 <r;<P J , each r. belonging to a collection of hazards {rj, r 2 , ... r f } produced by the means of hazard production, then by applying the method of Chinese remains; the witness device also comprises: - reception means, hereinafter designated the means for receiving challenges d from the witness device, for receiving one or more challenges d; each challenge d comprising m integers d; hereinafter called basic challenges;
- des moyens de calcul, ci-après désignés les moyens de calcul des réponses D du dispositif témoin, pour calculer à partir de chaque défi d une réponse D en effectuant des opérations du type :means of calculation, hereinafter designated the means of calculating the responses D of the witness device, for calculating from each challenge of a response D by performing operations of the type:
Di ≡ ^ . Q dl . Qi . ... Q ï dm mod Pi puis, en appliquant la méthode des restes chinois ;Di ≡ ^. Q dl . Qi. ... Q ï dm mod Pi then, by applying the Chinese remains method;
- des moyens de transmission pour transmettre un ou plusieurs engagements R et une ou plusieurs réponses D ; il y a autant de réponses D que de défis d que d'engagements R, chaque groupe de nombres R, d, D constituant un triplet noté {R, d, D}.- transmission means for transmitting one or more commitments R and one or more responses D; there are as many responses D as there are challenges d as there are commitments R, each group of numbers R, d, D constituting a triplet noted {R, d, D}.
18. Dispositif terminal selon la revendication 17 destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur ; ledit dispositif terminal étant tel qu'il comporte un dispositif démonstrateur associé à l'entité démonstrateur, ledit dispositif démonstrateur étant interconnecté au dispositif témoin par des moyens d'interconnexion et pouvant se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur, ledit dispositif démonstrateur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif contrôleur associé à l'entité contrôleur ; ledit dispositif contrôleur se présentant notamment sous la forme d'un terminal ou d'un serveur distant ; ledit dispositif terminal permettant d'exécuter les étapes suivantes : • étape 1 : acte d'engagement R - à chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié selon la revendication 17,18. A terminal device according to claim 17 intended to prove the authenticity of an entity called a demonstrator to an entity called a controller; said terminal device being such that it includes a demonstrator device associated with the demonstrator entity, said demonstrator device being interconnected with the witness device by interconnection means and being able to be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card, said demonstrator device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the 'controlling entity; said controller device being in particular in the form of a terminal or a remote server; said terminal device making it possible to execute the following steps: • step 1: act of engagement R - on each call, the means of calculating the engagements R of the witness device calculate each engagement R by applying the process specified according to claim 17,
- le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion ; le dispositif démonstrateur comporte aussi des moyens de transmission, ci- après désignés les moyens de transmission du démonstrateur, pour transmettre tout ou partie de chaque engagement R au dispositif contrôleur, via les moyens de connexion,the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means; the demonstrator device also includes transmission means, hereinafter designated the demonstrator transmission means, for transmitting all or part of each engagement R to the controller device, via the connection means,
• étape 2 et 3 : acte de défi d, acte de réponse D les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif contrôleur via les moyens de connexion entre le dispositif contrôleur et le dispositif démonstrateur et via les moyens d'interconnexion entre le dispositif démonstrateur et le dispositif témoin, les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 17, • étape 4 : acte de contrôle les moyens de transmission du démonstrateur transmettent chaque réponse D au dispositif contrôleur qui procède au contrôle.• step 2 and 3: act of challenge, act of response D the means for receiving challenges d from the witness device, receive each challenge d from the controller device via the connection means between the controller device and the demonstrator device and via the means of interconnection between the demonstrator device and the witness device, the means for calculating the responses D of the witness device calculate the responses D from the challenges d by applying the process specified according to claim 17, • step 4: act of checking the transmission means of the demonstrator transmit each response D to the controller device which carries out the control.
19. Dispositif terminal selon la revendication 17 destiné à prouver à une entité appelée contrôleur l'intégrité d'un message M associé à une entité appelée démonstrateur, ledit dispositif terminal étant tel qu'il comporte un dispositif démonstrateur associé à l'entité démonstrateur, ledit dispositif démonstrateur étant interconnecté au dispositif témoin par des moyens d'interconnexion et pouvant se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur, ledit dispositif démonstrateur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif contrôleur associé à l'entité contrôleur ; ledit dispositif contrôleur se présentant notamment sous la forme d'un terminal ou d'un serveur distant ; ledit dispositif terminal permettant d'exécuter les étapes suivantes :19. A terminal device according to claim 17 intended to prove to an entity called a controller the integrity of a message M associated with an entity called a demonstrator, said terminal device being such that it includes a demonstrator device associated with the demonstrator entity, said demonstrator device being interconnected with the witness device by means of interconnection and being able to be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card, said demonstrator device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the controller entity; said controller device being in particular in the form of a terminal or a remote server; said terminal device making it possible to execute the following steps:
• étape 1 : acte d'engagement R - à chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié selon la revendication 17,• step 1: act of engagement R on each call, the means of calculating the commitments R of the witness device calculate each commitment R by applying the process specified according to claim 17,
- le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif démonstrateur, via les moyens d'interconnexion ;the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting all or part of each engagement R to the demonstrator device, via the interconnection means;
• étape 2 et 3 : acte de défi d, acte de réponse le dispositif démonstrateur comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif démonstrateur, appliquant fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement R pour calculer au moins un jeton T, le dispositif démonstrateur comporte aussi des moyens de transmission, ci- après désignés les moyens de transmission du démonstrateur, pour transmettre chaque jeton T , via les moyens de connexion, au dispositif au contrôleur, les moyens de réception des défis d du dispositif témoin, reçoivent chaque défi d provenant du dispositif démonstrateur, via les moyens d'interconnexion, les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 17,• stage 2 and 3: act of challenge, act of response the demonstrator device comprises calculation means, hereinafter designated the means of calculation of the demonstrator device, applying hash function h having as arguments the message M and all or part of each engagement R to calculate at least one token T, the demonstrator device also comprises transmission means, hereinafter designated the means of transmission from the demonstrator, to transmit each token T, via the connection means, to the device to the controller, the means for receiving the challenges d from the witness device, receive each challenge d from the demonstrator device, via the interconnection means, the means for calculating the responses D from the witness device calculating the responses D from the challenges d by applying the process specified according to claim 17,
• étape 4 : acte de contrôle les moyens de transmission du démonstrateur transmettent chaque réponse D au dispositif contrôleur qui procède au contrôle.• step 4: act of control the means of transmission of the demonstrator transmit each response D to the controller device which carries out the control.
20. Dispositif terminal selon la revendication 17 destiné à produire la signature numérique d'un message M, ci après désigné le message signé, par une entité appelée entité signataire, le message signé comprenant : - le message M,20. A terminal device according to claim 17 intended to produce the digital signature of a message M, hereinafter designated the signed message, by an entity called the signatory entity, the signed message comprising: - the message M,
- les défis d et/ou les engagements R,- challenges d and / or commitments R,
- les réponses D ; ledit dispositif terminal étant tel qu'il comporte un dispositif signataire associé à l'entité signataire, ledit dispositif signataire étant interconnecté au dispositif témoin par des moyens d'interconnexion et pouvant se présenter notamment sous la forme de microcircuits logiques dans un objet nomade par exemple sous la forme d'un microprocesseur dans une carte bancaire à microprocesseur, ledit dispositif signataire comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif contrôleur associé à l'entité contrôleur ; ledit dispositif contrôleur se présentant notamment sous la forme d'un terminal ou d'un serveur distant ; ledit dispositif terminal permettant d'exécuter les étapes suivantes :- responses D; said terminal device being such that it comprises a signatory device associated with the signatory entity, said signatory device being interconnected with the witness device by interconnection means and being able to be presented in particular in the form of logic microcircuits in a nomad object for example in the form of a microprocessor in a microprocessor bank card, said signatory device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a controller device associated with the 'controlling entity; said controller device being in particular in the form of a terminal or a remote server; said terminal device making it possible to execute the following steps:
• étape 1 : acte d'engagement R à chaque appel, les moyens de calcul des engagements R du dispositif témoin calculent chaque engagement R en appliquant le processus spécifié selon la revendication 17, le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre tout ou partie de chaque engagement R au dispositif signataire, via les moyens d'interconnexion; • étape 2 : acte de défi d le dispositif signataire comporte des moyens de calcul, ci-après désignés les moyens de calcul du dispositif signataire, appliquant une fonction d hachage h ayant comme arguments le message M et chaque engagement R pour calculer un train binaire et extraire de ce train binaire des défis d en nombre égal au nombre d'engagements R,• step 1: act of engagement R at each call, the means of calculating the commitments R of the witness device calculate each engagement R by applying the process specified according to claim 17, the witness device comprises means of transmission, hereinafter designated the transmission means of the witness device, to transmit all or part of each commitment R to the signatory device, via the interconnection means; • step 2: act of defiance of the signatory device comprises calculation means, hereinafter designated the means of calculation of the signatory device, applying a hash function h having as arguments the message M and each commitment R to calculate a binary train and extract challenges from this binary train number equal to the number of commitments R,
• étape 3 : acte de réponse D les moyens de réception des défis d reçoivent les défis d provenant du dispositif signataire, via les moyens d'interconnexion, les moyens de calcul des réponses D du dispositif témoin calculent les réponses D à partir des défis d en appliquant le processus spécifié selon la revendication 9, le dispositif témoin comporte des moyens de transmission, ci-après désignés les moyens de transmission du dispositif témoin, pour transmettre les réponses D au dispositif signataire, via les moyens d'interconnexion.• step 3: response act D the means for receiving the challenges d receive the challenges d from the signatory device, via the interconnection means, the means for calculating the responses D from the witness device calculate the responses D from the challenges d by applying the process specified according to claim 9, the witness device comprises transmission means, hereinafter designated the transmission means of the witness device, for transmitting the responses D to the signatory device, via the interconnection means.
21. Dispositif contrôleur, se présentant notamment sous la forme d'un terminal ou d'un serveur distant, associé à une entité contrôleur, destiné à prouver à un serveur contrôleur,21. Controller device, in particular in the form of a terminal or a remote server, associated with a controller entity, intended to prove to a controller server,
- l'authenticité d'une entité et/ou - l'intégrité d'un message M associé à cette entité, au moyen de tout ou partie des paramètres suivants ou dérivés de ceux-ci:- the authenticity of an entity and / or - the integrity of a message M associated with this entity, by means of all or part of the following parameters or derived therefrom:
- m couples de valeurs privées Q1? Q2, ... Qm et publiques Gj, G2, ... Gm (m étant supérieur ou égal à 1),- m pairs of private values Q 1? Q 2 , ... Q m and public G j , G 2 , ... G m (m being greater than or equal to 1),
- un module public n constitué par le produit de f facteurs premiers pj, p2, ... pf (f étant supérieur ou égal à 2),- a public module n consisting of the product of f prime factors pj, p 2 , ... p f (f being greater than or equal to 2),
- un exposant public v ; ledit module, ledit exposant et lesdites valeurs étant liés par des relations du type :- a public exhibitor v; said module, said exponent and said values being linked by relationships of the type:
Gj . Qjv ≡ 1 . mod n ou Gj ≡ QjV mod n ; où Qj désigne une valeur privée, inconnue du dispositif contrôleur, associée à la valeur publique Gj .Gj. Qj v ≡ 1. mod n or Gj ≡ Qj V mod n; where Qj designates a private value, unknown to the controller, associated with the public value Gj.
22. Dispositif contrôleur selon la revendication 22 destiné à prouver l'authenticité d'une entité appelée démonstrateur à une entité appelée contrôleur ; ledit dispositif contrôleur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif démonstrateur associé à l'entité démonstrateur; ledit dispositif contrôleur permettant d'exécuter les étapes suivantes :22. Controller device according to claim 22 intended to prove the authenticity of an entity called demonstrator to an entity called controller; said controller device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a demonstrator device associated with the demonstrator entity; said controller device making it possible to execute the following steps:
• étape 1 et 2 : acte d'engagement R, acte de défi ledit dispositif contrôleur comporte aussi des moyens de réception de tout ou partie des engagements R provenant du dispositif démonstrateur, via les moyens de connexion, le dispositif contrôleur comporte des moyens de productions de défis pour produire, après avoir reçu tout ou partie de chaque engagement R, des défis d en nombre égal au nombre d'engagements R, chaque défi d comportant m entiers dj , ci-après appelés défis élémentaires le dispositif contrôleur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du dispositif contrôleur, pour transmettre les défis d au démonstrateur, via les moyens de connexion,• step 1 and 2: act of engagement R, act of challenge said controller device also comprises means for receiving all or part of the commitments R coming from the demonstrator device, via the connection means, the controller device comprises means of production challenges to produce, after having received all or part of each engagement R, challenges d in a number equal to the number of engagements R, each challenge d comprising m integers dj, hereinafter called elementary challenges the controller device also comprises means of transmission, hereinafter designated the means of transmission of the controller device, for transmitting the challenges d to the demonstrator, via the connection means,
• étapes 3 et 4 : acte de réponse, acte de contrôle le dispositif contrôleur comporte aussi• steps 3 and 4: response act, control act the controller also includes
- des moyens de réception des réponses D provenant du dispositif démonstrateur, via les moyens de connexion,means for receiving responses D from the demonstrator device, via the connection means,
- des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur,- calculation means, hereinafter designated the calculation means of the controller device,
- des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur, cas où le démonstrateur a transmis une partie de chaque engagement R dans le cas où les moyens de réception du dispositif contrôleur ont reçus une partie de chaque engagement R, les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques G_, G2, ... Gm, calculent à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type :comparison means, hereinafter designated the comparison means of the controller device, case where the demonstrator has transmitted part of each engagement R in the case where the reception means of the controller device have received part of each engagement R, the means of calculation of the controller device, having the m public values G_, G 2 , ... G m , calculate from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type:
R' ≡ Gx dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R '≡ G x dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R' ≡ Dv / Gj dl . G2 A2. ... Gm dm . mod n , les moyens de comparaison du dispositif contrôleur comparent chaque engagement reconstruit R' à tout ou partie de chaque engagement R reçus, cas où le démonstrateur a transmis l'intégralité de chaque engagement R dans le cas où les moyens de réception du dispositif contrôleur ont reçus l'intégralité de chaque engagement R, les moyens de calcul et les moyens de comparaison du dispositif contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, vérifient que chaque engagement R satisfait à une relation du type :R '≡ D v / Gj dl . G 2 A2 . ... G m dm . mod n, the comparison means of the controller device compare each reconstructed engagement R 'with all or part of each engagement R received, case where the demonstrator has transmitted all of each engagement R in the case where the means of reception of the controller device have received the entirety of each commitment R, the calculation means and the comparison means of the controller device, having the m public values Gj, G 2 , ... G m , verify that each commitment R satisfies a relation of the type :
R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type,R ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to a type relation,
R ≡ Dv / Gj dl . G2 * . ... Gm dm . mod n . R ≡ D v / Gj dl . G 2 *. ... G m dm . mod n.
23. Dispositif contrôleur selon la revendication 22 destiné à prouver l'intégrité d'un message M associé à une entité appelée démonstrateur, ledit dispositif contrôleur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif démonstrateur associé à l'entité démonstrateur; ledit dispositif contrôleur permettant d'exécuter les étapes suivantes : • étapes 1 et 2 : acte d'engagement R, acte de défi ledit dispositif contrôleur comporte aussi des moyens de réception de jetons23. A controller device according to claim 22 intended to prove the integrity of a message M associated with an entity called a demonstrator, said controller device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a demonstrator device associated with the demonstrator entity; said controller device making it possible to execute the following steps: • steps 1 and 2: act of engagement R, act of challenge said controller device also includes means for receiving tokens
T provenant du démonstrateur, via les moyens de connexion, le dispositif contrôleur comporte aussi des moyens de productions de défis pour produire, après avoir reçu le jeton T, des défis d en nombre égal au nombre d'engagements R , chaque défi d comportant m entiers, ci-après appelés les défis élémentaires, le dispositif contrôleur comporte aussi des moyens de transmission, ci-après désignés les moyens de transmission du dispositif contrôleur, pour transmettre les défis d au démonstrateur, via les moyens de connexion, • étapes 3 et 4 : acte de réponse D, acte de contrôle le dispositif contrôleur comporte aussi :T coming from the demonstrator, via the connection means, the controller device also includes means for producing challenges to produce, after receiving the token T, challenges d in a number equal to the number of engagements R, each challenge d comprising m whole, below called elementary challenges, the controller device also includes means of transmission, hereinafter designated the means of transmission of the controller device, for transmitting the challenges d to the demonstrator, via the connection means, • steps 3 and 4: act of response D, control act the control device also includes:
- des moyens de réception des réponses D provenant du dispositif démonstrateur, via les moyens de connexion, le dispositif contrôleur comporte aussi - des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur, disposant des m valeurs publiques Gj, G2, ... Gm, pour d'une part, calculer à partir de chaque défi d et de chaque réponse D un engagement reconstruit R' satisfaisant à une relation du type : R' = Gj dl . G2 d2. ... Gm dm . Dv mod n ou à une relation du type :means for receiving responses D from the demonstrator device, via the connection means, the controller device also comprises - calculation means, hereinafter designated the calculation means of the controller device, having the m public values G j , G 2 , ... G m , on the one hand, calculate from each challenge d and each response D a reconstructed engagement R 'satisfying a relation of the type: R' = Gj dl . G 2 d2 . ... G m dm . D v mod n or to a relation of the type:
R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod n puis d'autre part, calculer en appliquant la fonction de hachage h ayant comme arguments le message M et tout ou partie de chaque engagement reconstruit R', un jeton T', le dispositif contrôleur comporte aussi des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur, pour comparer le jeton T' au jeton T reçu.R '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n then, on the other hand, calculate by applying the hash function h having as arguments the message M and all or part of each reconstructed engagement R ', a token T', the controller device also includes comparison means, ci after designating the comparison means of the controller device, to compare the token T 'to the token T received.
24. Dispositif contrôleur selon la revendication 22 destiné à prouver l'authenticité du message M en contrôlant, par une entité appelée contrôleur, le message signé; le message signé, émis par un dispositif signataire associé à une entité signataire disposant d'une fonction de hachage h (M, R) ; comprenant:24. A controller device according to claim 22 intended to prove the authenticity of the message M by controlling, by an entity called controller, the signed message; the signed message, emitted by a signatory device associated with a signatory entity having a hashing function h (M, R); including:
- le message M,- the message M,
- les défis d et/ou les engagements R, - les réponse D ; ledit dispositif contrôleur comportant des moyens de connexion pour le connecter électriquement, électromagnétiquement, optiquement ou de manière acoustique, notamment via un réseau de communication informatique, à un dispositif signataire associé à l'entité signataire ; ledit dispositif contrôleur ayant reçu le message signé du dispositif signataire, via les moyens de connexion, le dispositif contrôleur comporte :- challenges d and / or commitments R, - D responses; said controller device comprising connection means for connecting it electrically, electromagnetically, optically or acoustically, in particular via a computer communication network, to a signatory device associated with the signatory entity; said controller device having received the signed message from the signatory device, via the connection means, the controller device comprises:
- des moyens de calcul, ci-après désignés les moyens de calcul du dispositif contrôleur,- calculation means, hereinafter designated the calculation means of the controller device,
- des moyens de comparaison, ci-après désignés les moyens de comparaison du dispositif contrôleur,comparison means, hereinafter designated the comparison means of the controller device,
• cas où le contrôleur dispose des engagements R, des défis d, des réponses D, dans le cas où le dispositif contrôleur dispose des engagements R, des défis d, des réponses D,• case where the controller has R commitments, challenges d, D responses, in the case where the controller has R commitments, d challenges, D responses,
• • les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d et les réponses D satisfont à des relations du type R ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :• • the means of calculation and comparison of the controller device verify that the commitments R, the challenges d and the responses D satisfy relations of the type R ≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R ≡ W I G1 dl . G2 d2. ... Gm dm . mod nR ≡ WIG 1 dl . G 2 d2 . ... G m dm . mod n
• • les moyens de calcul et de comparaison du dispositif contrôleur vérifient que le message M, les défis d et les engagements R satisfont à la fonction de hachage d = h (M, R)• • the means of calculation and comparison of the controller device verify that the message M, the challenges d and the commitments R satisfy the hash function d = h (M, R)
• cas où le contrôleur dispose des défis d et des réponses D dans le cas où le dispositif contrôleur dispose des défis d et des réponses D,• case where the controller has challenges d and responses D in the case where the controller has challenges d and responses D,
• • les moyens de calcul du dispositif contrôleur calculent, à partir de chaque défi d et de chaque réponse D, des engagements R' satisfaisant à des relations du type :• • the calculation means of the controller device calculate, from each challenge d and each response D, commitments R 'satisfying relationships of the type:
R' ≡ Gj dl . G2 d2. ... Gm dm . Dv mod n ou à des relations du type :R '≡ Gj dl . G 2 d2 . ... G m dm . D v mod n or to relations of the type:
R' ≡ Dv / Gj dl . G2 d2. ... Gm dm . mod nR '≡ D v / Gj dl . G 2 d2 . ... G m dm . mod n
• • les moyens de calcul et de comparaison du dispositif contrôleur vérifie que le message M et les défis d satisfont à la fonction de hachage d = h (M, R') • cas où le contrôleur dispose des engagements R et des réponses D dans le cas où le dispositif contrôleur dispose des engagements R et des réponses D,• • the means of calculation and comparison of the controller device checks that the message M and the challenges d satisfy the hash function d = h (M, R ') • case where the controller has commitments R and responses D in the case where the controller device has commitments R and responses D,
• • les moyens de calcul du dispositif contrôleur appliquent la fonction de hachage et calculent d' tel que d' = h (M, R) les moyens de calcul et de comparaison du dispositif contrôleur vérifient que les engagements R, les défis d' et les réponses D, satisfont à des relations du type :• • the means of calculation of the controller device apply the hash function and calculate such that d = h (M, R) the means of calculation and comparison of the controller device verify that the commitments R, the challenges of and the responses D, satisfy relations of the type:
R ≡ Gj d l . G2 d'2. ... Gm d m . Dv mod n ou à des relations du type : R = Dv / Gj d l . G2 d'2. ... Gm d m . mod n R ≡ Gj dl . G 2 of 2 . ... G m dm . D v mod n or to relations of the type: R = D v / Gj dl . G 2 of 2 . ... G m dm . mod n
EP00901656A 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message Withdrawn EP1145472A3 (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
FR9901065 1999-01-27
FR9901065A FR2788910A1 (en) 1999-01-27 1999-01-27 Banking message authentication technique having private/public word transfer power two relationship connected with authentication unit knowing relation and carrying out confirmation calculations.
FR9903770A FR2788911A1 (en) 1999-01-27 1999-03-23 Banking message authentication technique having private/public word transfer power two relationship connected with authentication unit knowing relation and carrying out confirmation calculations.
FR9903770 1999-03-23
FR9912468A FR2824974B1 (en) 1999-01-27 1999-10-01 METHOD FOR PROVIDING THE AUTHENTICITY OF AN ENTITY OR THE INTEGRITY OF A MESSAGE BY MEANS OF A PUBLIC EXHIBITOR EQUAL TO A POWER OF TWO.
FR9912465A FR2788908B1 (en) 1999-01-27 1999-10-01 METHOD, SYSTEM, DEVICE FOR PROVIDING THE AUTHENTICITY OF AN ENTITY AND / OR THE INTEGRITY AND / OR AUTHENTICITY OF A MESSAGE
FR9912465 1999-10-01
FR9912467A FR2788912B1 (en) 1999-01-27 1999-10-01 METHOD, SYSTEM, DEVICE FOR PROVIDING THE AUTHENTICITY OF AN ENTITY AND / OR THE INTEGRITY AND / OR AUTHENTICITY OF A MESSAGE BY MEANS OF FIRST PARTICULAR FACTORS
FR9912467 1999-10-01
FR9912468 1999-10-01
PCT/FR2000/000188 WO2000046946A2 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message

Publications (2)

Publication Number Publication Date
EP1145472A2 true EP1145472A2 (en) 2001-10-17
EP1145472A3 EP1145472A3 (en) 2002-11-27

Family

ID=27515634

Family Applications (3)

Application Number Title Priority Date Filing Date
EP00901656A Withdrawn EP1145472A3 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message
EP00901658.5A Expired - Lifetime EP1145482B1 (en) 1999-01-27 2000-01-27 Method for proving the authenticity or integrity of a message by means of a public exponent equal to the power of two
EP00901657.7A Expired - Lifetime EP1145473B1 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors

Family Applications After (2)

Application Number Title Priority Date Filing Date
EP00901658.5A Expired - Lifetime EP1145482B1 (en) 1999-01-27 2000-01-27 Method for proving the authenticity or integrity of a message by means of a public exponent equal to the power of two
EP00901657.7A Expired - Lifetime EP1145473B1 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors

Country Status (7)

Country Link
US (2) US7386122B1 (en)
EP (3) EP1145472A3 (en)
JP (3) JP4772189B2 (en)
CN (3) CN1408154A (en)
AU (3) AU769464B2 (en)
CA (3) CA2360887C (en)
WO (3) WO2000045550A2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2822002B1 (en) * 2001-03-12 2003-06-06 France Telecom CRYPTOGRAPHIC AUTHENTICATION BY EPHEMER MODULES
FR2841411B1 (en) * 2002-06-19 2004-10-29 Gemplus Card Int ELECTRONIC KEY GENERATION METHOD FOR PUBLIC KEY CRYTOGRAPHY AND SECURE PORTABLE OBJECT IMPLEMENTING THE METHOD
FR2865590A1 (en) * 2004-01-23 2005-07-29 France Telecom Keys establishing method for proving e.g. authenticity of entity, involves determining adjustment parameter such that each public value is of odd row with respect to each prime factor
US8887309B2 (en) * 2005-08-23 2014-11-11 Intrinsic Id B.V. Method and apparatus for information carrier authentication
JP4968622B2 (en) * 2006-11-02 2012-07-04 日本電気株式会社 Group member confirmation system, group member confirmation method, and program
TWI405481B (en) * 2007-05-18 2013-08-11 Innovative Sonic Ltd Method of comparing state variable or packet sequence number for a wireless communications system and related apparatus
US8832110B2 (en) 2012-05-22 2014-09-09 Bank Of America Corporation Management of class of service
US9961059B2 (en) * 2014-07-10 2018-05-01 Red Hat Israel, Ltd. Authenticator plugin interface
EP2966803A1 (en) * 2014-07-11 2016-01-13 Thomson Licensing Method and device for cryptographic key generation

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140634A (en) * 1987-09-07 1992-08-18 U.S Philips Corporation Method and apparatus for authenticating accreditations and for authenticating and signing messages
FR2620248B1 (en) * 1987-09-07 1989-11-24 France Etat METHODS OF AUTHENTICATING ACCREDITATIONS OR MESSAGES WITH ZERO KNOWLEDGE AND SIGNATURE OF MESSAGES
US5218637A (en) * 1987-09-07 1993-06-08 L'etat Francais Represente Par Le Ministre Des Postes, Des Telecommunications Et De L'espace Method of transferring a secret, by the exchange of two certificates between two microcomputers which establish reciprocal authorization
JP3102692B2 (en) 1988-05-19 2000-10-23 エヌ・シー・アール・インターナショナル・インコーポレイテッド How to prove the authenticity of a card
EP0381523A3 (en) * 1989-02-02 1993-03-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
US5046094A (en) * 1989-02-02 1991-09-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
JP2631781B2 (en) * 1991-07-10 1997-07-16 日本電信電話株式会社 Electronic cash implementation method
US5224162A (en) * 1991-06-14 1993-06-29 Nippon Telegraph And Telephone Corporation Electronic cash system
US5299262A (en) * 1992-08-13 1994-03-29 The United States Of America As Represented By The United States Department Of Energy Method for exponentiating in cryptographic systems
US5442707A (en) * 1992-09-28 1995-08-15 Matsushita Electric Industrial Co., Ltd. Method for generating and verifying electronic signatures and privacy communication using elliptic curves
US5414772A (en) * 1993-06-23 1995-05-09 Gemplus Development System for improving the digital signature algorithm
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
FR2733379B1 (en) 1995-04-20 1997-06-20 Gemplus Card Int PROCESS FOR GENERATING ELECTRONIC SIGNATURES, ESPECIALLY FOR SMART CARDS
DE69704684T2 (en) 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Device and method for authenticating a user's access rights to resources according to the challenge-response principle
IL120303A0 (en) * 1996-03-27 1997-06-10 Pfizer Use of alpha1-adrenoreceptor antagonists in the prevention and treatment of cancer
EP0977165B1 (en) * 1997-01-28 2008-08-20 Matsushita Electric Industrial Co., Ltd Message reproducing type signature device
US6389136B1 (en) * 1997-05-28 2002-05-14 Adam Lucas Young Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
ATE246820T1 (en) * 1997-05-29 2003-08-15 Sun Microsystems Inc METHOD AND DEVICE FOR SEALING AND SIGNATING OBJECTS
US7246098B1 (en) * 1997-07-15 2007-07-17 Silverbrook Research Pty Ltd Consumable authentication protocol and system
JP3671611B2 (en) * 1997-08-05 2005-07-13 富士ゼロックス株式会社 Access credential authentication apparatus and method
JP3562262B2 (en) * 1997-10-17 2004-09-08 富士ゼロックス株式会社 Authentication method and device
US6795553B1 (en) * 1997-11-04 2004-09-21 Nippon Telegraph And Telephone Corporation Method and apparatus for modular inversion for information security and recording medium with a program for implementing the method
US7280663B1 (en) * 2000-05-22 2007-10-09 University Of Southern California Encryption system based on crossed inverse quasigroups

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP1145473B1 (en) 2019-04-17
AU2298400A (en) 2000-08-25
WO2000046946A3 (en) 2002-10-10
JP2002540653A (en) 2002-11-26
CN1322700C (en) 2007-06-20
CA2361627A1 (en) 2000-08-10
EP1145482A2 (en) 2001-10-17
US7266197B1 (en) 2007-09-04
JP4772965B2 (en) 2011-09-14
CN1468479A (en) 2004-01-14
WO2000045550A2 (en) 2000-08-03
WO2000046946A2 (en) 2000-08-10
CN1372739A (en) 2002-10-02
AU769444B2 (en) 2004-01-29
CA2360887A1 (en) 2000-08-10
US7386122B1 (en) 2008-06-10
EP1145482A3 (en) 2002-06-26
EP1145482B1 (en) 2019-01-02
CA2360954A1 (en) 2000-08-03
EP1145472A3 (en) 2002-11-27
JP4772189B2 (en) 2011-09-14
WO2000045550A3 (en) 2002-04-25
AU2298600A (en) 2000-08-18
WO2000046947A2 (en) 2000-08-10
CN100377520C (en) 2008-03-26
CA2360887C (en) 2009-03-24
JP2003519447A (en) 2003-06-17
EP1145473A3 (en) 2002-05-29
AU769446C (en) 2007-09-20
EP1145473A2 (en) 2001-10-17
AU2298500A (en) 2000-08-25
WO2000046947A3 (en) 2002-04-04
AU769446B2 (en) 2004-01-29
JP2003513480A (en) 2003-04-08
AU769464B2 (en) 2004-01-29
CN1408154A (en) 2003-04-02

Similar Documents

Publication Publication Date Title
EP1738517B1 (en) Zero-knowledge proof cryptography methods and devices
FR2822002A1 (en) CRYPTOGRAPHIC AUTHENTICATION BY EPHEMERIC MODULES
EP1807967B1 (en) Method for secure delegation of calculation of a bilinear application
EP0346180B1 (en) Apparatus for protected data communication
EP1145472A2 (en) Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message
EP0878934A1 (en) Public key identification method using two hash functions
CA2360953C (en) Authenticating or signature method with reduced computations
EP1216537B1 (en) Method, system, device for proving authenticity of an entity or integrity of a message
CA2273632C (en) Digital signature method
EP0666664B1 (en) Method for digital signature and authentication of messages using a discrete logarithm with a reduced number of modular multiplications
FR2788908A1 (en) Banking message authentication technique having private/public word transfer power two relationship connected with authentication unit knowing relation and carrying out confirmation calculations.
WO2003055134A9 (en) Cryptographic method for distributing load among several entities and devices therefor
EP1407575B1 (en) Procede pour effectuer une tache cryptographique au moyen d&#39;une cle publique.
EP0743775B1 (en) Method of zero-knowledge digital signatures, for creating a collision-resistant signature
FR2850502A1 (en) Method of authenticating digital signatures using a low cost computer, used in authenticating bankcards or credit cards etc., allows a verifier system to exchange data with a signature system
FR2836768A1 (en) Digital signal formation having digital word generators with assistance/calculation systems producing intermediate respective result transmitting combination system/combining intermediate result.
WO2008081151A2 (en) Method for signing an anonymous and correlatable list

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: 20010725

AK Designated contracting states

Kind code of ref document: A2

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

XX Miscellaneous (additional remarks)

Free format text: DERZEIT SIND DIE WIPO-PUBLIKATIONSDATEN A3 NICHT VERFUEGBAR.

PUAK Availability of information related to the publication of the international search report

Free format text: ORIGINAL CODE: 0009015

AK Designated contracting states

Kind code of ref document: A3

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

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: 20060801