WO2017001809A1 - Mise en oeuvre optimisee du hfe - Google Patents
Mise en oeuvre optimisee du hfe Download PDFInfo
- Publication number
- WO2017001809A1 WO2017001809A1 PCT/FR2016/051686 FR2016051686W WO2017001809A1 WO 2017001809 A1 WO2017001809 A1 WO 2017001809A1 FR 2016051686 W FR2016051686 W FR 2016051686W WO 2017001809 A1 WO2017001809 A1 WO 2017001809A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hfe
- electronic circuit
- polynomial
- message
- map
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
Definitions
- the application relates in particular to an optimized implementation of the HFE algorithm (acronym for the English language expression Hidden Field Equations).
- PoSSo polynomial system
- muitivariate cryptography Since the PoSSo problem is NP-hard, a multivariate cryptosystem is resistant to quantum attacks.
- quantum algorithms are known for factorizing an integer or solving the problem of discrete logarithm in a poiynomial time. These algorithms would put to my! the security of asymmetric RSA or EIGamaS algorithms in a world where ⁇ quantum computing would be accessible, while a cryptosystem based on an NP-hard problem (such as PoSSo) would remain perennial.
- Some symmetric cryptosystems (such as QUAD) or hash functions use the principle of multivariate cryptography.
- each user has a key (secret) that he must share with his correspondents.
- Secret a key that he must share with his correspondents.
- anyone with access to such a secret key can decipher everything that has been encrypted with this cie, and can encrypt what good it seems with this key as if it were holder.
- Asymmetric cryptography relies on pairs of cells.
- each user instead of having one (secret) key, each user has a pair of keys, one of which is public (it can be freely shared without compromising security) and the other private.
- public it can be freely shared without compromising security
- key distribution is greatly simplified.
- the public key can be exchanged easily, it suffices for example to have it certified by a certification authority, which issues a certificate containing this public key.
- the certificate can then be exchanged freely without any particular security (apart from the possible verification of the temporal validity of the certificate and of revocation lists).
- the private sector it is specific to its user and therefore has no reason to be shared.
- private encryption classes can be archived securely. This prevents the loss of the private account from leading to the impossibility of decrypting the encrypted information with the corresponding public account.
- the consecutive application, to a given message, of the private key and the public key, or conversely of the public key and then the private key, is the identity (the original message is found at the end of the two applications).
- a key pair can therefore offer several types of uses. A person can use the public key of a third party to encrypt a message to his attention.
- HFE algorithm well known to those skilled in the art, can be summarized as follows.
- M il) the number of operations necessary to multiply two univariate polynomials of degrees strictly lower than D on a given field K. It is possible to calculate Its roots of a polynomial F of degree strictly lower than D on this body K in 0 (M (D) log (D)) operations in the body K. This is explained in particular in Joachim von Kunststoff von Kunststoff Gathen,
- G (D) M (D) log (D).
- HFE The security of HFE comes mainly from nonlinear monomials.
- the degree of the polynomial F is strictly less than D.
- D is strictly less than q "-1.
- HFE or "HFE” or "HFE type” or “HFE shape” polynomial is defined as a univariate polynomial according to equation (1), respecting the aforementioned well-known conditions (it must include at least
- VJ, ..., V R l ⁇ (f j j ,.,., V n ), ..., f n (v ,, ..., v n )) with (t ⁇ t n ) ⁇ (F q [x p X. n ]) or its f ( are constructed in such a way that:
- HFE key pair can then be calculated as follows.
- the private key of an HFE die pair is defined as comprising an HFE type F polynomial as well as two invertible affine transformations, denoted S and T.
- Each of the S and T transformations can be represented as a matrix ri * n. and a vector of size n.
- F, S and T are obviously kept confidential (they are not shared with third parties).
- His transformations S and T are linear (the associated vectors are damaged, and the transformations S and T are then represented simply by matrices).
- the corresponding public key of the considered HFE pair can be determined as follows. We begin by caicuier the polynomials £;, ... _f n corresponding to the polynomial F as indicated in the above example.
- the public key HFE is then (g i , g m ), with m ⁇ n,
- the owner of the secret key can decrypt the encrypted message
- An HFE signature may be effected in the following manner (with n ⁇ 11).
- An HFE signature may consist in applying the HFE decryption method described above to a message to which values drawn randomly are added.
- _ ti is the fingerprint (also called hash or condensate) of a message M to sign.
- nm hash or condensate
- the vector z -S "l e F q 'is a signature of the message M.
- equation (3) For a given tuple (a 1; .... ⁇ . ⁇ .... ; r K. M ), it is possible that equation (3) has no solution. If this is the case, simply repeat the operation with other values for i ⁇ , .. .r ! i,.
- HFE Hidden Fields Equations
- PE isomorphisms of Poynnomanes
- the direct message recovery attack against HFE (proposed in: Aigebraic cryptanalysis of HFE using Grobner bases, Jean-Charies Faugere, Reasearch report RR-4738, IN RSA, 2003) has a complexity
- dreg 4 if D is 17 to 128, dreg is 5 if D is 129 to 512, and dreg is equal to to 6 if D is between 513 and 1280.
- the values of dreg as a function of D are given in the aforementioned article by Jean-Charles Faugère.
- a private key used in the conventional HFE algorithm includes a HFE (univariate) type polynomial, which makes the security and the efficiency of the encryption.
- the degree of this polynomial is fixed according to a compromise between security and efficiency, which are two opposite constraints.
- a difficulty that arises in the conventional HFE algorithm! is to find a degree ensuring both security and efficiency in the concrete implementation of the algorithm.
- the invention aims to improve the situation.
- One aspect of the invention relates to a method of accelerated implementation, by an electronic circuit, of an HFE cryptographic algorithm exploiting an HFE private key based on an HFE type polynomial, on a morphism, and on a first and a second affine transformations, the method comprising:
- the method is particularly advantageous in that it allows a faster implementation of the HFE algorithm than its conventional implementation of this algorithm. This is particularly advantageous when it is envisaged to use the HFE algorithm on mobile devices such as smartphones (sometimes called "smart phones" in French) whose computing power is limited compared to that of a computer. conventional office.
- the method is a fortiori advantageous when the algorithm is implemented on an electronic circuit such as a smart card, whose computing power is very limited.
- the method allows a transformed representation of the HFE-type polynomial used in the conventional HFE algorithm, by virtue of the additional polynomial (s) and its mapping function.
- HFE polynomial which requires the knowledge of the private key
- he can know at most that he is confronted with a polynomial of high degree.
- the HFE polynomial can be represented so that the private key operations (decryption or signature in particular) are nevertheless executed more quickly, without lowering the security.
- Another aspect of the invention relates to an electronic circuit arranged to implement, in an accelerated manner, an HFE cryptographic algorithm exploiting an HFE private key based on an HFE-type polynomial, on a morphism, and on a first and a second affine transformations, the electronic circuit comprising:
- At least one additional polynomial and the mapping functions being such that, for a given parameter, and for any root of the HFE-type polynomial minus said given parameter, the result of the first mapping function applied to said root is a root of each additional polynomial minus an output parameter, corresponding to said each additional polynomial, of the second mapping function applied to said given parameter.
- Such an electronic circuit is particularly advantageous in that it allows a faster implementation of the HFE algorithm than the conventional implementation of this algorithm.
- FIG. 1 illustrates an electronic circuit according to one embodiment of the invention
- FIG. 2 illustrates the architecture of an electronic circuit according to one embodiment of the invention
- FIG. 3 illustrates the memory of an electronic circuit according to one embodiment of the invention
- FIG. 4 illustrates the operation of a mapping function according to one embodiment of the invention.
- FIG. 1 shows an electronic circuit according to one embodiment of the invention, taking the form of a smart card SC.
- This smart card includes an electronic chip ICC.
- FIG. 2 shows the architecture of an electronic chip ICC of the smart card SC according to FIG. 1.
- the chip ICC notably comprises a processor MP S MEM memory, and an input device outputs iO.
- These different components are schematically represented in the form of discrete components fixed on a PCB (not shown), and interconnected by a bus not shown. But these different components can be (and are in practice, in the case of smart cards) integrated on the same chip cut from the same wafer and fixed in a smart card module,
- FIG. 3 shows the content of a non-volatile memory MEM of an electronic circuit according to a possible embodiment of the invention.
- a storage area of a morphism ⁇ In another part of the memory, there is found a private key Kp R according to a mode of realization of the invention, including in particular a polynomial F S ec cies affine transformations S and T, additional polynomials f t ⁇ 05 * ,. -, fi 8005 *, .. - 6008 *, and two MAP and APJ mapping functions.
- FIG. 4 shows a first MAP mapping function, which at an input parameter A associates an output parameter (A s ,,. S Ai, ..., A t ), and a second mapping function MAPJ, which an input parameter C associates an output parameter (CC ' t , ..., C';).
- a first embodiment relates to an accelerated implementation method, by an electronic circuit SC, of a cryptographic algorithm HFE.
- the electronic circuit is for example a smart card SC, but it can also be any another suitable electronic circuit, for example a dedicated electronic circuit, an FPGA, an ASIG, a microcontroller, a DSP, or a circuit comprising a processor and a memory, the memory storing a suitable computer program.
- the cryptographic algorithm HFE according to the first embodiment is modified so as to exploit a private key HFE based not only on an F SEC polynomial of type HFE, on a morphism ⁇ , and on a first and a second affine transformations S and T but in addition to other elements.
- the exploitation of the key may consist in using it to perform decryption, signing, or authentication, the expi citation can also consist of manipulating his private key (for example by performing a backup record of this private account within a secure server, in case eile would be lost), this exploitation may include the prior generation of the said private business.
- the polynomial F S EC cte type HFE corresponds to a polynomial of the conventional HFE type, denoted F in the description supra.
- the private sector can be constructed from the elements enumerated but that it does not necessarily include them. For example, it is not necessary to store a representation of the morphism within each private side, the morphism can be specific to the HFE algorithm considered and then common to all the private keys generated for this algorithm. Likewise, the private cié does not necessarily contain the polynomial F S £ C ⁇ type type HFE. In fact, it is possible that the private data contains other elements making it possible to easily recalculate the FSEC polynomial. According to a possible implementation, the private data contains the two affine transformations S and T. Seion another implementation.
- the FSEC-polynomial method comprises the use of the electronic circuitry of at least one polynomial (s) 1 0004 *, f 2 Boos s ... f t Booss extra ⁇ ) included in the private company HFE.
- each of the additional polynomials is different from the FSEC polynomial.
- the polynomial equal to the difference between the FSEC polynomial and any of the polynomials 00085 , i 2 Bom ... f ; Additional Boosi is not a zero polynomial (that is, at least one of its coefficients is not impaired).
- At least one of the polynomials f ⁇ Bo ⁇ f 2 oG5t,. ... f t Extra Boost is strictly greater than 1.
- the HFE private key includes an additional threshold.
- the private key HFE includes several polynomials fi Boos ⁇ f2 Boost î ... f * 8008 * The use should be understood in the broad sense.
- the use of at least one additional polynomial comprises the implementation of a cryptographic operation (for example an electronic signature, an authentication or a decryption) with the private account comprising at least one additional polynomial, which imputes a calculation using the at least one additional polynomial.
- the use includes storing, after generating a private key according to an embodiment of the invention, the at least one additional polynomial in a private registration memory.
- the use comprises the transmission, after generation of a private key according to one embodiment of the invention, of the at least one additional polynomial to another electronic circuit.
- the method according to the first embodiment comprises using, by the electronic circuit, a first and a second mapping function (MAP and MAPJ, respectively) included in the private key HFE, and each associating with a parameter d. input (denoted respectively A and G ') given, as many output parameters (respectively A 1 i A 2! ... ! A t and CS, C' 2 , ... C ' ; ) that there is Boost polynomials f i s f 2 ft ... î Boosî additional 80,031 in the private key HFE.
- Boost polynomials f i s f 2 ft ... î Boosî additional 80,031 in the private key HFE.
- the use of the mapping functions consists in carrying out a cryptographic operation (for example an electronic signature, an authentication or a decryption) with the private key comprising said mapping functions, which implies a calculation to be performed. help of said mapping functions.
- the use includes storing, after generating a private key according to an embodiment of the invention, said mapping functions in a private key storage memory.
- the use comprises transmitting, after generating a private key according to an embodiment of the invention, said mapping functions to another electronic circuit.
- the first mapping function MAP is a function that carries its roots between the HFE polynomial and the additional polynomial (s).
- the so-called inverse function of the first mapping function designates the function which, at an element of the arrival set of the first MAP mapping function, associates the preimage of this element in the initial set.
- IA MAP mapping function Pau least one polynomial (s) fi Bcosî, Î 2 BOOSI ... ft additional 80035 (s) and ia first MAP mapping function are such that, for a given parameter C, and for any polynomial A F S HFE root type EC least said given parameter C, the result (A 1, A 2!
- a i) ia first MAP mapping function applied to said root a is a root of each polynomial fi additional Baosî least one output parameter Ci corresponding to said each polynomial fi additional 8oosî (as for example where ie Ci parameter and this polynomial fj Baost have the same index, denoted i in this case)
- the second mapping function MAPJ has The second mapping function MAPJ may be an identity function (if its start set and its arrival set are the same). The fact that the start and end sets are the same does not require the use of an identity mapping function. More generally, the second mapping function MAPJ is adapted for the first MAP function to carry the roots as indicated above.
- This method of accelerated implementation of an HFE cryptographic algorithm can be integrated conventionally into PKi architectures (public key infrastructures).
- i! is possible to perform authentication and encryption ILS (Transport Layer Security, the replacement of SSL, acronym Secure Socket Layer) thanks to the HFE algorithm according to the invention, however, it is necessary to change the TLS specification to allow the use of the HFE algorithm according to the invention, or to use a proprietary version of
- ILS Transport Layer Security
- This accelerated method can also be implemented as part of a distributed database into a set of storage nodes, the database managing a list of cryptographically protected (using HFE) records against falsification. or modification by its storage nodes.
- This accelerated method may more particularly be implemented in the context of the Biockchain process used in particular for managing bitcoin cryptographic currency.
- a method according to the first embodiment comprises generating, by the electronic circuit, said private key HFE.
- Said generating comprises generating, by the electronic circuit SC, said at least one poiyn beautician (s) Boosi fi, f 2 ... s Boost î ⁇ Boosi additional ⁇ .
- Said generation comprises generating, by the electronic circuit SC, said mapping functions MAP and MAPJ.
- the generations of the two preceding paragraphs are preliminary steps.
- the use of at least one poiyncons (s) f i 2 f Boos Q0 _ $ j ⁇ mst SU ppiceraire (s) and the mapping functions are after their generation by the electronic circuit, and may understand the storage of the at least one polynomial (s) fi 8008 *, k Bam f 500515 additional and that of the mapping functions in a private key storage memory inside the electronic circuit.
- its generation of private keys is not carried out by the electronic circuit but for example by a server (which then generates ie at least one additional polynomial and the mapping functions for each private code generated).
- This server transmits each private account it has generated to the relevant electronic circuit, in a secure manner.
- the private keys intended to be used for signature or authentication operations are generated by the electronic circuit itself, which can prohibit their extraction by security mechanisms (there is therefore no no archiving possible, but in return an increased guarantee that no malicious third-party can access these private keys). Failure to archive does not pose a significant problem. Indeed, while the loss of a private account is conceivable (for example by loss, destruction or theft of the electronic circuit storing such a private key), the loss of a public key is much less common, because the public key is often widely shared (as a certificate) in addition to being registered on a secure server (typically a CA server).
- the loss of such a private key therefore prevents new signatures or authentications with the lost key (but it is very easy to revoke the old key and generate a new one to ensure the same functions in the future. signature and / or authentication). But such a loss does not prevent verification of past signatures or authentications (which remains possible thanks to the public key, which is generally kept).
- the private keys that are intended to be used for decryption operations are generated by a secure server, which keeps a backup copy in a secure manner, and transmits them to the relevant electronic circuits (namely the circuits which are intended to perform decryption operations with these keys).
- a method according to the first or second embodiment comprises a decryption operation.
- This decryption operation comprises receiving (at a step D1), by the electronic circuit SC, a message in encrypted form c (which can be truncated) and a hash h calculated on the message in unencrypted form.
- the hash h is likely to present several interests. In particular, the HFE polynomial may have several roots. The decryption function can therefore lead to several decrypted messages possible among which it is then necessary to determine which is the right one.
- the hash h provides in such a context a redundancy compensating the ambiguity of the decryption (which can lead to several possible clear messages while only one is relevant).
- the hash h also makes it possible to introduce a redundancy that can compensate for the fact that the message in encrypted form is truncated.
- the decryption operation comprises an application, by the electronic circuit SC, of the inverse of the second affine transformation T to the message in encrypted form c in order to obtain an intermediate encrypted message c '.
- the decryption operation comprises an application, by the electronic circuit SC, of the inverse of the morphism ⁇ to the intermediate encrypted message c '.
- the decryption operation comprises obtaining at least one (for example, t) output parameter (s) Ci, C ' 2 , ... C' t , by application, by the electronic circuit SC, of the second APJ mapping function to the result of said application of the morphism inverse ⁇ .
- the decryption operation comprises a resolution, by the electronic circuit SC, of an equation system (s) such that each additional polynomial fi 8005 * is equal to the respective output parameter Ci obtained in the previous step.
- the decryption operation comprises an application, by the electronic circuit SC, of the inverse of the first mapping function MAP to a solution of the system of equation (s).
- the decryption operation comprises an application, by the electronic circuit SC, of the morphism ⁇ to the result (s) of the inverse of the MAP mapping function obtained in the preceding step (the preimage can contain several results, which can then be treated one by one, independently of each other, by applying the morphism to each of them).
- the decryption operation comprises obtaining an estimate of the message in unencrypted form, by application, by the electronic circuit SC, from the inverse of the first affine transformation S to the result (or to each of the results, if there are several) of the morphism obtained in the previous step.
- the decryption operation comprises a calculation, by the electronic circuit SC, of a hash of the estimate of the message in unencrypted form.
- the hash is derived from a public cryptographic hash function (e.g. SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512 256, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, etc.) that was used during the encryption operation that led to the encrypted message that the electronic circuit attempts to decrypt.
- a public cryptographic hash function e.g. SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512 256, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, etc.
- the decryption operation includes, if the hash of the estimation of the message in unencrypted form is different from the hash h received in step D1, obtaining another estimate of the message in unencrypted form according to the preceding steps until both hashes are equal,
- a method according to one of the first to the third embodiments comprises a signature operation.
- This signature operation comprises a caicui, by the electronic circuit SC, a hash of a message to sign.
- the signature operation comprises generating, by the electronic circuit, a random number of size equal to the size of an element of the arrival set of the morphism ⁇ minus the hash size of the message to be signed.
- size we mean size in the computer sense of the term. For example. if an element of the arrival set of the morphism ⁇ is coded on 256 bits, and if the hash of a message is coded on 224 bits, then the random number generated is a random number of 32 bits,
- the signature operation comprises an application, by the electronic circuit, of the inverse of the second affine transformation T to a concatenation of the random number and the hash of the message to be signed.
- the signature operation comprises an application, by the electronic circuit, of the inverse of the morphism ⁇ to the result of the application of the inverse of the second affine transformation T,
- the signature operation comprises obtaining at least one output parameter (for example obtaining t output parameters Ci, 0 * 2, ... C't), by application, by the electronic circuit, of the second mapping function MAPJ the result of said application of the inverse morphism.
- at least one output parameter for example obtaining t output parameters Ci, 0 * 2, ... C't
- the signature operation comprises a resolution, by the electronic circuit, of an equation system (s) such that each additional polynomial 8005 * is equal to the respective output parameter Ci obtained in the previous step.
- the signature operation comprises, if the equation system (s) does not admit a solution, a repetition of the preceding steps with another random number,
- the other random number is a random number. generated again by the electronic circuit Seion another implementation, the other random number results from the incrementation, by the electronic circuit, of the previous random number.
- the signature operation includes an application, by the electronic circuit, of the inverse of the first MAP mapping function to a solution of the equation system (s). If the pre-image returned by the inverse of the The first mapping function includes several results, ie the electronic circuit searches among them for a suitable result (the result must result in a root of 3 ⁇ 4c ⁇ ⁇ 1 ).
- the signature operation comprises an application, by the electronic circuit, of the morphism ⁇ to the result of the inverse of the first MAP mapping function obtained in the previous step.
- the signature operation comprises obtaining a signature of the message to be signed, by application, by the electronic circuit, from the inverse of the first affine transformation S to the result of the morphism ⁇ obtained in the preceding step.
- the HFE private key of a method according to one of the first to fourth preceding embodiments comprises a single additional polynomial 8005 *
- the first MAP mapping function is a monomial
- the polynomial of type HFE F S EC is equal to the composition of the additional polynomial f Boosi with its first mapping function MAP
- a computer program comprises a sequence of instructions implementing the steps of the method seion one of the first to fifth embodiments when executed by a processor.
- This program is for example written in assembly language, or in C language.
- Such low level languages are advantageous in that they allow fine optimizations and allow countermeasures to be implemented more efficiently. Higher level languages are possible but generally degrade performance and do not necessarily allow for effective countermeasures.
- a computer-readable non-transitory storage medium comprises a computer program according to the sixth embodiment.
- This storage medium is for example a memory allowing permanent storage.
- the memory can be rewritable (Flash, EEPROM, RAivl protected by battery, even magnetic or optical medium) or non-rewritable (ROM, etc.).
- a te! storage medium can be integrated with a smart card or any computer, especially a smartphone.
- an electronic circuit for example a smart card SC
- an electronic circuit is arranged to implement, in an accelerated manner, an HFE cryptographic algorithm exploiting an HFE private key based on a HFE type FSEC polynomial, on a morphism. and on a first S and a second T affine transformations, the electronic circuit comprises an electronic sub-circuit of use of at least one polynomial (s) fi 80081 , f 2 Boost s ... f t Additional Boosî (s) included in the HFE private key.
- the electronic sub-circuit for using at least one polynomial is for example a dedicated electronic circuit, an FPGA, an ASSC, a microcontroller, a DSP, or a circuit comprising a processor and a memory , the memory storing a suitable computer program.
- the electronic sub-use of at least one polynomial shares a processor with the electronic circuit.
- the electronic circuit comprises an electronic sub-circuit for using MAP and MAPJ mapping functions included in the private key HFE, and associating, with a given input parameter, as many output parameter (s) as there are poiynome (s) f ⁇ 8005 ', f 2 Boos ⁇ ... i ⁇ 051 additional in the HFE private key.
- the electronic sub-circuit for using the mapping functions is for example a dedicated electronic circuit, an FPGA, an ASIC, a microcontroller, a DSP, or a circuit comprising a processor and a memory, the memory storing a suitable computer program.
- the sub electronic circuit of use of the mapping functions shares a processor with the electronic circuit.
- the electronic circuit comprises a processor, a memory containing a computer program arranged to implement the use of Pau minus a polynomial (s) Boos ⁇ î 2 Bocst , ... i Bmsi additional (s), and a memory containing a computer program arranged to implement the use of the mapping functions.
- the electronic circuit using at least one polynomial (s) f ⁇ 03 ', f 2 Baost ...
- additionaI (s) may include the processor and the memory containing the computer program arranged for implement the use of i 'at least one polynomial ⁇ s ⁇ ⁇ 800 ⁇ 2 ⁇ s f ; Bo ⁇ ; additionalis), and the electronic mapper of using mapping functions may comprise the same processor (shared) and the memory containing the computer program arranged to implement the use of the mapping functions.
- the electronic sub-circuit of use of the mapping functions are two entirely separate sub-circuits, which can nevertheless cooperate with each other.
- the at least one additional polynomial and the mapping functions are such that, for a given parameter C, and for any root A of the FSEC polynomial of type H FE minus said given parameter C, the result ⁇ , ... ⁇ of the first MAP mapping function applied to said root A is a root of each additional polynomial ⁇ ⁇ ⁇ : ⁇ ; ⁇ minus an output parameter Ci, corresponding to each additional Boos ftolynom, of the second MAP mapping function applied to said parameter C given.
- an electronic circuit comprises, in order to implement a decryption operation, an electronic sub-circuit for receiving a message in encrypted form c and a hash h calculated on the message in unencrypted form.
- the electronic circuit comprises an electronic sub-circuit for applying the inverse of the second affine transformation T to the message in encrypted form in order to obtain an intermediate encrypted message.
- the electronic circuit comprises an electronic sub-circuit for applying the inverse of the morphism to the intermediate encrypted message c '.
- the electronic circuit comprises an electronic sub-circuit for obtaining at least one output parameter d, C ' 2 ,... C' t , by applying the second mapping function MAPJ to the result of said application of the inverse morphism.
- the electronic circuit comprises an electronic circuit solving an equation system (s) as each additional ÎI 8oosî polynomial is equal to the respective output parameter Ci.
- the electronic circuit comprises an electronic sub-circuit for applying the inverse of the first MAP mapping function to a solution of the equation system (s).
- the electronic circuit comprises an electronic sub-circuit for applying the morphism to the result of the inverse of the first MAP mapping function.
- the electronic circuit comprises an electronic sub-circuit for obtaining an estimate of the message in unencrypted form, by applying the inverse of the first affine transformation S to the result of the application of the morphism.
- the electronic circuit comprises an electronic sub-circuit for calculating a hash of the estimation of the message in unencrypted form.
- the electronic circuit comprises an electronic verification sub-circuit arranged to check whether the hash of the estimate of the message in unencrypted form is different from the hash h received, and if so to trigger the obtaining of another estimate of the message in unencrypted form, until both hashes are equal.
- the private circuit HFE of an electronic circuit of the eighth or ninth embodiment comprises a single additional polynomial BoDS , the first mapping function IvlAP is a monomial, and the polynomial F S EC of type HFE is equal! the composition of the additional polynomial f 8oasî with ia first MAP mapping function,
- the secret key in HFEBoost includes:
- MAP carries every root of the polynomial F ⁇ e GEG in a solution in the system K ⁇ f ⁇ O. . . . , f t Boost .
- mapping function M lvi A A P i _ I 1 ⁇ ⁇ 1 F 1 q « ⁇ ⁇ K ⁇ l ,
- MAP (A) es a solution of if" (MAP (A)) - C, ..., f t Boost (MAP (A)) - C,
- the electronic circuit caicule according to one embodiment:
- the electronic circuit can implement the encryption and decryption as follows. Let L be a body and Hash. : F c "-» L a public cryptographic hash function A cryptographic hash function is a hash function that is particularly resistant to collisions (it is in practice impossible to find a message that gives the same hash as that of a In addition, it is practically impossible to retrieve the content of a message from its hash (calculated by a cryptographic hash function).
- the encrypted message corresponding to the clear message M. is defined as the pair (c, h).
- Decryption can then take place as follows.
- the electronic circuit tests another of the solutions Z, to fall on the good. More specifically, if none of the solutions for a
- the electronic circuit caicules an electronic signature in the following manner.
- the electronic circuit applies the decryption method previously described to a message M to be signed, to which it has previously concatenated values drawn randomly.
- Hash F q -> F q f 0NC
- j 0n q e cryptographic hash which may be the same as ia hash function used for decrypting (so we ⁇ - 3 ⁇ 4) or be a different hash function ( it is obviously important that the hash function used for encryption is the same as that used for decryption, and that the hash function used for the signature is the same as that used for the signature verification).
- the electronic circuit calculates, according to a possible embodiment, the print a ⁇ (a,, .. a m ) - Hash (M) € F q m q u message M to sign.
- the electronic circuit randomly draws (n ⁇ l structuri) values ( r i " ⁇ > r n - m ) e and calculates a solution of the system:
- the electronic circuit compares a- Hash ⁇ M) with evaluation of the signature ⁇ ig in His public key.
- , il, m, t, D) e N ° with c l a power of a prime number and t 1.
- q can be a power of 2.
- the electronic circuit uses as polynomial HFE a SEC polynomial such that: F ⁇ - F ⁇ o X ⁇ e F, [X], with d, K d ⁇ n, and F Boost € F qB [X] a type of HFE of degree D Bocisl .
- MP X h-> X.
- 3 ⁇ 4 oost - D SEC / s of the electronic circuit can determine the roots of F ⁇ K 3 ⁇ 4 "st in a time less than 0 (C (R SEC)
- F is faster than the roots of the F SH f, which allows the processing to be compared with the conventional state-of-the-art HFE.
- the HFE type of polynomial is composed of two polynomials. Whether it is a composite does not influence security (does not reduce it).
- this polynomial is a composite makes it possible for the owner of the private company who knows the decomposition, to solve more easily and therefore more quickly the equation, and thus to perform an operation privately more quickly. to search in two stages for solutions of polynomials of lower degree.
- MAP (X) (X 2 , X). Let Z be a root of F gEc .
- MAP " 1 is given by (Y s ⁇ > Y2) ⁇ ..
- the various electronic circuits and under electronic circuits envisaged may each be any suitable electronic circuit, for example a dedicated electronic circuit, an FPGA, an ASiC, a microcontroller, a DSP, or a circuit comprising a processor and a memory, the memory storing an appropriate computer program.
- the usable memories are not limited to the examples given purely for illustrative purposes but cover any type of functionally equivalent memory.
Landscapes
- Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
La description concerne notamment des procédés de mise en œuvre accélérée, par un circuit électronique, d'un algorithme cryptographique de type HFE, La description concerne également des circuits électroniques et des programmes d'ordinateur aptes à mettre en œuvre de teis procédés, ainsi que des supports de stockage comprenant de tels programmes d'ordinateur.
Description
MISE EN ŒUVRE ΟΡΠΜ1 SEE DU HFE
La demande concerne notamment une mise en œuvre optimisée de l'algorithme HFE {acronyme de l'expression de langue anglaise Hidden Field Equations}.
Pour concevoir des cryptosystèmes, une alternative au recours aux problèmes de la théorie des nombres consiste à s'appuyer sur le problème de résolution d'un système poiynomial (désigné par l'acronyme PoSSo). La branche de la cryptographie s'appuyant sur PoSSo est appelée cryptographie muitivariée. Le problème PoSSo étant NP-difficile, un cryptosystème multivarié résiste aux attaques quantiques. A l'inverse, on connaît des algorithmes quantiques pour factoriser un entier ou résoudre le problème du logarithme discret en un temps poiynomial. Ces algorithmes mettraient à ma! la sécurité des algorithmes asymétriques RSA ou encore EIGamaS dans un monde où {Informatique quantique serait accessible, tandis qu'un cryptosystème basé sur un problème NP-difficile (tel que PoSSo) resterait pérenne.
L'avènement des ordinateurs quantiques n'est pas encore d'actualité, mais l'usage d'algorithmes tels que le RSA est extrêmement répandu (notamment au sein des cartes à puce). Il est donc judicieux de rechercher des cryptosystèmes s'appuyant sur des problèmes mathématiques difficiles que les ordinateurs quantiques ne pourraient pas aisément résoudre.
Les cryptosystèmes muitivariés considérés comme parmi les meilleurs présentent outre une sécurité que l'on considère accrue, une certaine efficacité en terme notamment de vitesse de chiffrement et de déchiffrement. Certains cryptosystèmes symétriques (tels que QUAD) ou des fonctions de hachage utilisent le principe de la cryptographie muitivariée.
De façon générale, en cryptographie symétrique (non nécessairement muitivariée, par exemple en QUAD, DES, 3DES, AES, etc.), chaque utilisateur dispose d'une clé (secrète) qu'il doit partager avec ses correspondants. Toute personne ayant accès à une telle clé secrète peut déchiffrer tout ce qui a été
chiffré avec cette cié, et peut chiffrer ce que bon iui semble avec cette clé comme si elle en était titulaire.
Toutefois, ia cryptographie multivariée est principalement utilisée en cryptographie asymétrique, La cryptographie asymétrique s'appuie sur des paires de ciés. Ainsi, au lieu de disposer d'une seule clé (secrète), chaque utilisateur dispose d'une paire de clés, dont l'une est publique (eiie peut être librement partagée sans mettre en péri! ia sécurité) et l'autre privée. On parle habituellement de clé privée en cryptographie asymétrique et de clé secrète en cryptographie symétrique, bien que les termes privée/secrète soient utiiisés indistinctement par certains auteurs. En cryptographie asymétrique, la distribution des clés se trouve grandement simplifiée. La clé publique peut être échangée aisément, il suffit par exemple de ia faire certifier par une autorité de certification, qui émet un certificat contenant cette clé publique. Le certificat peut ensuite être échangé librement sans sécurité particulière (abstraction faite notamment de ia vérification éventuelle de la validité temporelle du certificat et de listes de révocations). Quant à la cié privée, eiie est propre à son utilisateur et n'a donc pas de raison d'être partagée. Par exception, les ciés privées de chiffrement peuvent être archivées de façon sécurisée. Ceci évite que ia perte de la cié privée n'entraîne {Impossibilité de déchiffrer ies informations chiffrées avec ia cié publique correspondante. L'application consécutive, à un message donné, de ia clé privée et de ia cié publique, ou inversement de ia cié publique puis de la clé privée, est l'identité (on retrouve ie message d'origine à l'issue des deux applications). Une paire de clé peut donc offrir plusieurs types d'utilisations. Une personne peut ainsi utiliser la clé publique d'un tiers pour chiffrer un message à son attention. Elle sait que seul ce tiers détient la clé privée correspondante et donc que seul ce tiers peut déchiffrer le message. En pratique, on utiiise généralement un algorithme symétrique, plus rapide, pour opérer le chiffrement de données, et on utiiise la clé publique pour ne chiffrer que la clé symétrique utilisée (après application d'une opération dite de "padding" de cette cié symétrique visant à Sa compléter avec des données de façon à obtenir un bioc compatible avec l'opération à clé publique). Cette cié symétrique peut ainsi être générée pour un usage unique
et être facilement partagée avec le tiers. Le problème du partage des ciés en cryptographie symétrique est ainsi résolu par la cryptographie asymétrique. A S'inverse, une personne peut utiliser sa clé privée pour signer un message et communiquer le message ainsi signé à des tiers. Habituellement, on applique un algorithme de hachage ("hash") sur Se message à signer, et c'est ce hash que l'on signe avec la clé privée (après "padding" approprié). Les tiers peuvent aisément se procurer la clé publique du prétendu signataire, et vérifier que le message a été signé par la bonne personne (seul la personne indiquée dans le certificat contenant la clé publique détient la clé privée correspondante, et personne d'autre qu'elle n'a donc pu signer). Des variantes sont possibles. Il est également possible d'utiliser la cryptographie asymétrique à des fins d'authentifieation. Par exemple, une personne souhaitant authentifier un tiers peut générer un nombre aléatoire et le lui transmettre. Le tiers est alors censé signer ce nombre aléatoire et renvoyer la signature. De nombreux autres usages de la cryptographie asymétrique sont connus et conventionnels depuis plusieurs décennies.
En cryptographie asymétrique multivariée, la clé publique est déterminée par un système de polynômes en plusieurs variables. Pour pouvoir être inversé, ce système dispose d'une trappe. Le premier cryptosystème utilisant ce concept, appelé C*, a été proposé par T. Matsumoto et H. Imai en 1988. Il a été cassé par J. Patarin en 1995, L'attaque de J. Patarin s'appuie notamment sur la présence, dans C*, d'un unique monôme non linéaire, soit généralement d'un unique coefficient A non nul (les coefficients A; , sont décrits dans l'équation (1 ) ci-dessous). J. Patarin a lui-même proposé une amélioration de C* appelée HFE en 1996, dans laquelle un polynôme C*, qui comprend un unique monôme non linéaire, est remplacé par un polynôme (dit polynôme HFE) comprenant au moins deux monômes non linéaires (donc au moins deux des coefficients A d'un polynôme HFE sont non nuls). C'est la mise en œuvre de cet algorithme HFE que l'invention se propose d'améliorer. L'algorithme HFE, bien connu de l'homme du métier, peut être résumé de la manière suivante.
On note par M i l)) le nombre d'opérations nécessaires pour multiplier deux polynômes univariés de degrés strictement inférieurs à D sur un corps K donné, il est possible de calculer Ses racines d'un polynôme F de degré strictement inférieur à D sur ce corps K en 0(M(D)log(D)) opérations dans le corps K. Ceci est expliqué notamment dans Joachim von zur Gathen,
Jurgen Gerhard, Modem Computer Aigebra (3. éd.), Cambridge University Press 2013, ISBN 978-1 -107-03903-2, pages i-XIII, 1 -795 dont le contenu est incorporé par référence.
Dans la suite, on note G(D)=M(D)log(D). Soit {¾> tt,m,D)€ N1 avec q une puissance d'un nombre premier, ni < n , D étant strictement positif et φ un morphisme entre le corps ^ q« et l'espace vectoriel -^q , Ainsi, si (^ι » @2 > * * - ' ^« ) e q « ) est une base de ^ q-« sur ^q , on a: ø : ¥
' q"„- F H
Soit *= ^„« [x] . On construit une application dans l'exten sion de corps :
: F .→F ..
q" q"
V M> F( V)
n (Ό
avec Ai,.i , Bi ,C e F ¾„ , Vi, j, 0 < i < j < n
Dans l'équation (1 ), Ses monômes ^Kj sont en principe non linéaires (une exception est exposée ci-après). Les autres monômes
(monômes °Ϊ λ ) sont linéaires car, le corps q » étant de caractéristique q, pour »ou« {x , y} e F . xF q. , B, (x + y)q' = B, x"' + B, .
La sécurité de HFE provient essentiellement des monômes non linéaires.
Le degré du polynôme F est strictement inférieur à D. D est strictement inférieur à q"-1 .
De plus, au moins deux coefficients parmi les coefficients Ay (pour tout i,j avec 0≤i≤j<n) sont non nuis, sinon on est en présence de C* et non de HFE, qui vise précisément à combier une failie de C*. Bien entendu, iorsque q est égai à 2, si l'on veut que ia présence de deux coefficients non nuis parmi Ses coefficients Ay suffise à garantir que l'on n'est pas en présence d'un polynôme F ne comprenant qu'un seui monôme non linéaire, si faut imposer i<j dans l'équation (1 ) ci-dessus (au lieu de i≤j). En effet, dans ie cas particulier q=2, Ses
A γ^ΐ'+ '
monômes de la forme sont des monômes linéaires si H, et ne contribuent donc pas à la sécurité de HFE. Dans ie cas q=2 et i=j, on a ql+qi==ql+q,==2qi=q '1 J or le corps étant de caractéristique q, pour tout
.,ï+l „i+l ,i÷l
{x , y} e F . xF . , , , AA,: !. ((xx + + y v)ï"'+' = Λ, , χ" " + AM /
q q
Un polynôme HFE (ou "de structure HFE" ou "de type HFE" ou "HFE shape" en anglais) est défini comme un polynôme univarié selon l'équation (1 ), respectant ies conditions bien connues précitées {ii doit comprendre au moins
- q1
x monômes non linéaires de ia forme A +q-f
deu ij X4
On peut voir l'application ?f — φ°3 °φ 1 comme l'évaluation d'un système de polynômes quadratiques à coefficients dans Fq ;
(VJ,..., VR) l→ (fjÇ j,. ,.,vn ),..., fn(v,,..., vn)) avec (t } t n ) ^ (Fq [xp X.n ]) ou ses f( sont construits de telle façon que:
Considérons par exemple une instance de HFE avec q=2, n in 4 et D=6, On considère l'extension de corps ^2 =^2^^' + Le vecteur ( ,C<»(X ^O ) eS† une ^aQe $e l'espace vectoriel (^2) - On choisit un polynôme univarié de degré au plus D=6 qui respecte ia construction HFE selon l'équation (1), par exemple:
F = X5 + (a34- 24· 1)X4 +(a + a2 )X3 +(a3 +a+ 1)X2 +(a2 +a)
On peut construire la représentation de F sur F2 en calculant:
( j J +xlx4 4 + x ) n + (xjx4 -χ,χ2 +x x4 + x.J)tfu +
fXjX^ +X2X. +x¾ + xJ)<arlw+(xfx4 + x:J + x2 + x2x )a9 +
(x} 2x.¾ + x}x2 + x}x )ar8 + (x2x2 + x2 + x4x4)ir' 4
(xf + x2x3 + xj + (x2 + 1)6^ + ( j J )âf4 +
(x^)^ + {χ4χΛ + x4)a2 +(x4x )ûf+(x;>> + xj +x4)
SI suffit alors de réduire les puissances de & par (X +(X+ I, puis de remplacer x i par x¾ pour tout i,î≤ i≤ n . On obtient;
(χ,χ, +x, +x,x,, + x, + x4)<ar'
+(x.j ., + x , x , + x2 4 + i) 2
+( (X2 + ^ + X|X4 + j + x2x3 + x2 + x3x4 + x. + x4 +])
-Kx,x> + x¾x3 -Xj + x ,x3 + x2x4 +x.,x4)
Ce qui correspond aux polynômes: £1(χ ,χ2 χ3?χ4)=χ χ2+χ1χ3+χ]+χ2χ3+χ2χ +χ3χ4
Une paire de clé HFE peut alors être calculée de la façon suivante. On définit la clé privée d'une paire de dé HFE comme comprenant un polynôme F de type HFE ainsi que deux transformations affines inversibles, notées S et T. On peut représenter chacune des transformations S et T sous forme d'une matrice ri*n et d'un vecteur de tailie n. Ces trois éiéments F, S et T sont évidemment conservés de manière confidentielle (ils ne sont pas partagés avec les tiers). Dans la suite, on considère pour simplifier que Ses transformations S et T sont linéaires (les vecteurs associés sont nuis, et les transformations S et T sont alors représentées simplement par des matrices).
La clé publique correspondante de ia paire de cié HFE considérée peut être déterminée de ia façon suivante. On commence par caicuier les polynômes £;,... _fn correspondant au
polynôme F de la façon indiquée dans i'exempie ci-dessus.
On calcule alors:
(gI (x -.., xfl ),-.., gn (x l ,»., xn)) =
La clé publique HFE est alors (gï ..,gm), avec m < n ,
Un chiffrement et un déchiffrement HFE peuvent s'opérer de la manière suivante, avec m=n.
Pour chiffrer un message clair M ~~ (Μ ..., Μ. Ώ )€: ^ , on calcule le message chiffré:
Le possesseur de la clé secrète peut déchiffrer Se message chiffré
On détermine ainsi ie message clair M z S' \ pour un z solution de l'équation (2).
Une signature HFE peut s'opérer de ia manière suivante (avec n < 11 }, Une signature HFE peut consister à appiiquer le procédé de déchiffrement HFE décrit précédemment sur un message auquel on ajoute des valeurs tirées aléatoirement.
Soit H as h → ^q une fonction de hachage cryptographique. Pour signer un message Me ^q ,on calcule a=(a-; ,. . . ,aTÎ,)=Hash(M), où
F m
_ ti est l'empreinte {également appelée hash ou condensât) d'un message M à signer. On tire aléatoirement (n-m) valeurs (r . . . .rî;.m)
dans F. . On détermine alors ze F q tel que:
F(^-, (z)) = ^-, ((a,r1,..., m) . T-1 ) (3)
Le vecteu sie = z -S"l e F q' est une signature du message M.
Pour un n-uplet (a1 ;... . ^.^ .... ;rK.m) donné, il est possible que l'équation (3) n'ait aucune solution. Si c'est le cas, ii suffit de répéter l'opération avec d'autres valeurs pour i\, .. .r! i, .
Pour vérifier que la signature sig est valide pour M, il suffit de comparer a=Hash( M) avec le résultat de l'application de la clé publique à la signature sig. Autrement dit, on teste si (gi(sig) .. . . ,gm(sig) )=a> Si cette égalité n'est pas vérifiée, alors sig n'est pas une signature valide du message
Dans son article Hidden Fields Equations (HFE) and isomorphisms of Poîynomiais (ÎP): two new famiiies of asymmetric algorithms, Advances in Cryptology - EUROCRYPT'96, volume 1070 des Lecture Notes in Computer Science, pages 33-48, Springer, 1996, J. Patarin, propose par exemple d'utiliser q=2, n=80 et D=96 pour avoir un chiffré (ou une signature) de 80 bits.
On recense principalement deux attaques contre HFE.
L'attaque directe en recouvrement de message contre HFE (proposée dans: Aigebraic cryptanalysis of HFE using Grôbner bases, Jean-Charies Faugère, Reasearch report RR-4738, IN RSA, 2003) a une complexité
0(n2Vere¾" ) avec dreg < log2(D).Par exemple; dreg est égal à 4 si D est compris entre 17 et 128, dreg est égal à 5 si D est compris entre 129 et 512, et dreg est égal à 6 si D est compris entre 513 et 1280. Les valeurs de dreg en fonction de D sont données dans l'article précité de Jean-Charles
Faugère.
La complexité de l'attaque en recouvrement de clé proposée dans Luk Bettale, Jean-Charles Faugère, and Ludovic Perret, Cryptanalysis oî muitivariate and odd-characteristic HFE variants, Public Key Cryptography ~ PKC 201 volume 6571 des Lecture Notes in Computer Science, pages 441- 458. Springer, 201 1 , est 0(n2'¾¾'D !)) .
Une clé privée utilisée dans l'algorithme HFE conventionnel comprend un polynôme de type HFE (univarié), qui fait la sécurité et l'efficacité du chiffrement. Le degré de ce polynôme est fixé selon un compromis entre la sécurité et l'efficacité, qui sont deux contraintes opposées. Une difficulté qui se pose dans l'algorithme HFE conventionné! est trouver un degré assurant à la fois sécurité et efficacité à la mise en œuvre concrète de l'algorithme.
L'invention vise à améliorer la situation.
Un aspect de l'invention concerne un procédé de mise en œuvre accélérée, par un circuit électronique, d'un algorithme cryptographique HFE exploitant une clé privée HFE basée sur un polynôme de type HFE, sur un morphisme, et sur une première et une deuxième transformations affines, le procédé comprenant:
/E1/ une utilisation, par le circuit électronique, d'au moins un polynôme supplémentaire compris dans la clé privée HFE, et
Έ2/ une utilisation, par le circuit électronique, d'une première et d'une deuxième fonctions de mappage comprises dans la clé privée HFE, et associant chacune, à un paramètre d'entrée donné, autant de paramètres de sortie qu'il y a de polynômes supplémentaires dans la clé privée HFE, î'au moins un polynôme supplémentaire et les fonctions de mappage étant tels que, pour un paramètre donné, et pour toute racine du polynôme de type HFE moins ledit paramètre donné, le résultat de la première fonction de mappage appliquée à ladite racine est une racine de chaque polynôme
supplémentaire moins un paramètre de sortie! correspondant audit chaque polynôme supplémentaire, de la deuxième fonction de mappage appliquée audit paramètre donné.
Le procédé est avantageux notamment en ce qu'il permet une mise en œuvre plus rapide de l'algorithme HFE que Sa mise en oeuvre conventionnelle de cet algorithme. Ceci est particulièrement avantageux lorsqu'il est envisagé d'utiliser l'algorithme HFE sur des dispositifs mobiles tels que des smartphones (parfois appelés "téléphones intelligents" en français) dont la puissance de calcul est limitée par rapport à celle d'un ordinateur de bureau conventionnel. Le procédé est a fortiori avantageux lorsque l'algorithme est mis en œuvre sur un circuit électronique tel qu'une carte à puce, dont la puissance de calcul est très limitée. Le procédé permet une représentation transformée du polynôme de type HFE utilisé dans l'algorithme HFE conventionnel, grâce au(x) polynôme(s) supplémentaire(s) et à Sa fonction de mappage. Un attaquant éventuel n'a pas d'accès à la structure du polynôme de type HFE (qui nécessite la connaissance de la clé privée), il peut savoir tout au plus qu'il est confronté à un polynôme de haut degré. Mais grâce aux polynômes supplémentaires, le polynôme de type HFE peut être représenté de façon à ce que les opérations à clé privée (déchiffrement ou signature notamment) soient néanmoins exécutées plus rapidement, sans abaisser la sécurité.
Un autre aspect de l'invention concerne un circuit électronique agencé pour mettre en œuvre de façon accélérée un algorithme cryptographique HFE exploitant une clé privée HFE basée sur un polynôme de type HFE, sur un morphisme, et sur une première et une deuxième transformations affines, le circuit électronique comprenant:
un sous circuit électronique d'utilisation d'au moins un polynôme supplémentaire compris dans la clé privée HFE, et
un sous circuit électronique d'utilisation d'une première et d'une deuxième fonctions de mappage comprises dans la clé privée HFE, et associant chacune, à un paramètre d'entrée donné, autant de paramètres de
sortie qu'il y a de polynômes supplémentaires dans la clé privée HFES
Tau moins un polynôme supplémentaire et les fonctions de mappage étant tels que, pour un paramètre donné, et pour toute racine du polynôme de type HFE moins ledit paramètre donné, le résultat de la première fonction de mappage appliquée à ladite racine est une racine de chaque polynôme supplémentaire moins un paramètre de sortie, correspondant audit chaque polynôme supplémentaire, de la deuxième fonction de mappage appliquée audit paramètre donné.
Un tel circuit électronique est avantageux notamment en ce qu'il permet une mise en uvre plus rapide de l'algorithme HFE que la mise en oeuvre conventionnelle de cet algorithme.
D'autres aspects, buts et avantages de l'invention apparaîtront de manière non limitative à la lecture de la description de quelques uns de ses modes de réalisation.
L'invention sera également mieux comprise à l'aide des dessins, sur lesquels :
la figure 1 illustre un circuit électronique selon un mode de réalisation de l'invention ;
la figure 2 illustre l'architecture d'un circuit électronique selon un mode de réalisation de l'invention ;
la figure 3 illustre la mémoire d'un circuit électronique selon un mode de réalisation de l'invention;
- la figure 4 illustre le fonctionnement d'une fonction de mappage selon un mode de réalisation de l'invention.
La figure 1 montre une circuit électronique selon un mode de réalisation de l'invention, prenant la forme d'une carte à puce SC. Cette carte à puce comprend une puce électronique ICC.
La figure 2 montre l'architecture d'une puce électronique ÎCC de la carte à puce SC selon la figure 1. La puce ICC comprend notamment un processeur
MPS une mémoire MEM, et un dispositif d'entrées sorties iO. Ces différents composants sont représentés schématiquement sous Sa forme de composants discrets fixés sur un PCB (non représenté), et reiiés entre eux par un bus non représenté. Mais ces différents composants peuvent être (et sont en pratique, dans Se cas des cartes à puce) intégrés sur une même puce découpée à partir d'un même wafer et fixée dans un module de carte à puce,
La figure 3 montre ie contenu d'une mémoire non volatile MEM d'un circuit électronique selon un mode de réaiisation possible de l'invention. On trouve, dans une première partie de la mémoire, une zone de stockage d'un morphisme φ . On trouve, dans une autre partie de la mémoire, une clé privée KpR selon un mode de réaiisation de l'invention, comprenant notamment un polynôme FSec cies transformations affines S et T, des polynômes supplémentaires f t ^05*, .. - ,f i8005*, .. - 6008*, et deux fonctions de mappage MAP et APJ.
La figure 4 montre une première fonction de mappage MAP, qui à un paramétre d'entrée A associe un paramètre de sortie (A s,,.sAi,...,At), et une deuxième fonction de mappage MAPJ, qui à un paramètre d'entrée C associe un paramètre de sortie (C C't ,...,C';).
Un premier mode de réaiisation se rapporte à un procédé de mise en uvre accélérée, par un circuit électronique SC, d'un algorithme cryptographique HFE, Le circuit électronique est par exemple une carte à puce SC, mais il peut également s'agir de tout autre circuit électronique approprié, par exemple un circuit électronique dédié, un FPGA, un ASIG, un microcontrôieur, un DSP, ou encore un circuit comprenant un processeur et une mémoire, la mémoire stockant un programme d'ordinateur approprié.
L'algorithme cryptographique HFE selon le premier mode de réalisation est modifié de manière à exploiter une clé privée HFE basée non seulement sur un polynôme FSEC de type HFE, sur un morphisme φ , et sur une première et une deuxième transformations affines S et T. mais en plus sur d'autres éléments. L'exploitation de la clé peut consister à i'utiliser afin d'effectuer des
opérations de déchiffrement, de signature, ou encore d'authentification, L'expi citation peut consister également à manipuler Sa clé privée (par exemple en effectuant un enregistrement de sauvegarde de cette cié privée au sein d'un serveur sécurisé, au cas où eile serait perdue), cette exploitation pouvant comprendre ia génération préalable de ladite cié privée.
Selon une mise en œuvre possible, le polynôme FSEC cte type HFE correspond à un polynôme de type HFE conventionnel, noté F dans la description supra.
Par i'expression "cié privée basée sur" on entend que la cié privée peut être construite à partir des éléments énumérés mais qu'eiie ne ies comprend pas nécessairement Par exemple, ii n'est pas nécessaire de stocker une représentation du morphisme au sein de chaque cié privée, ie morphisme pouvant être propre à l'algorithme HFE considéré et étant alors commun à toutes les clés privées générées pour cet algorithme. De même, la cié privée ne contient pas nécessairement le polynôme FS£C < © type HFE. En effet, ii est possible que ia cié privée contienne d'autres éléments permettant de recalculer facilement ie poiynôme FSEC- Selon une mise en oeuvre possibie, la cié privée contient ies deux transformations affines S et T. Seion une autre mise en oeuvre, eile contient de surcroît ie polynôme FSEC- Le procédé seion le premier mode de réalisation comprend une utilisation, par ie circuit électronique, d'au moins un polynôme(s) fi0004*, f2 Boos s ... ft Booss supplémentaire^) compris dans la cié privée HFE. Selon une mise en œuvre possible, chacun des polynômes supplémentaires est différent du polynôme FSEC- Par différent, on entend que le polynôme égal à ia différence entre ie poiynôme FSEC et l'un quelconque des polynômes fi00085, i2 Bom ... f;Boosi supplémentaires n'est pas un poiynôme nul (c'est-à-dire qu'au moins l'un de ses coefficients est non nui). Selon une mise en œuvre possible, au moins i'un des polynômes f^Bo∞ f2 oG5t,. ... ft Boost supplémentaires est de degré strictement supérieur à 1 . Selon une mise en oeuvre possibie, ia clé privée HFE comprend un seui poiynôme supplémentaire. Selon une autre mise en œuvre, la clé privée HFE comprend plusieurs polynômes fi Boos\ f2 Boost î ... f*8008*
supplémentaires, L'utilisation doit être entendue au sens large. Selon une mise en œuvre possible, l'utilisation d'au moins un polynôme supplémentaire comprend la mise en œuvre d'une opération cryptographique (par exemple une signature électronique, une authentification ou un déchiffrement) avec la cié privée comprenant i'au moins un polynôme supplémentaire, ce qui impiique un calcul à l'aide du au moins un polynôme supplémentaire. Selon une autre mise en œuvre possibie, l'utilisation comprend le stockage, après génération d'une clé privée selon un mode de réalisation de l'invention, du au moins un polynôme supplémentaire dans une mémoire d'enregistrement de cié privée. Selon une autre mise en œuvre possible, l'utilisation comprend la transmission, après génération d'une clé privée selon un mode de réalisation de l'invention, du au moins un polynôme supplémentaire à un autre circuit électronique.
Le procédé selon le premier mode de réalisation comprend une utilisation, par ie circuit électronique, d'une première et d'une deuxième fonctions de rnappage (MAP et MAPJ respectivement) comprises dans la clé privée HFE, et associant chacune, à un paramètre d'entrée (noté respectivement A et G') donné, autant de paramètres de sortie (respectivement A1 iA2! ... !At et CS , C'2, ... C';) qu'il y a de polynômes fi Boost s f2Boosî î ... ft80031 supplémentaires dans la clé privée HFE. Comme au paragraphe précédent, l'utilisation doit être entendue au sens large. Selon une mise en œuvre possible, l'utilisation des fonctions de rnappage consiste à effectuer une opération cryptographique (par exemple une signature électronique, une authentification ou un déchiffrement) avec la clé privée comprenant iesdites fonctions de rnappage, ce qui implique un calcul à l'aide desdites fonctions de rnappage. Selon une autre mise en œuvre possible, l'utilisation comprend le stockage, après génération d'une clé privée selon un mode de réalisation de l'invention, desdites fonctions de rnappage dans une mémoire d'enregistrement de clé privée. Selon une autre mise en œuvre possible, l'utilisation comprend la transmission , après génération d'une clé privée selon un mode de réalisation de l'invention, desdites fonctions de rnappage à un autre circuit électronique.
La première fonction de mappage MAP est une fonction qui transporte Ses racines entre ie polynôme de type HFE et Se (s) polynôme(s) suppiérnentaire(s). La fonction dite fonction inverse de ia première fonction de mappage (notée MAP'1} désigne ia fonction qui à un élément de l'ensemble d'arrivée de ia première fonction de mappage MAP associe la préimage de cet élément dans l'ensemble de départ de ia fonction de mappage MAP, Selon le premier mode de réalisation, Pau moins un polynôme(s) fiBcosî, Î2 BOOSI, ... ft80035 supplémentaire(s) et ia première fonction de mappage MAP sont tels que, pour un paramètre C donné, et pour toute racine A du polynôme FSEC de type HFE moins ledit paramètre C donné, le résultat (A1,A2!...,AÎ) de ia première fonction de mappage MAP appliquée à ladite racine A est une racine de chaque polynôme fiBaosî supplémentaire moins un paramètre de sortie Ci, correspondant audit chaque polynôme fï8oosî supplémentaire (au sens par exemple où ie paramètre Ci et ce polynôme fjBaost ont le même indice, noté i en l'espèce), de la deuxième fonction de mappage MAPJ appliquée audit paramètre C donné. La deuxième fonction de mappage MAPJ peut être une fonction identité (si son ensembie de départ et son ensemble d'arrivée sont les mêmes). Le fait que les ensembles de départ et d'arrivée soient ies mêmes n'impiique pas d'utiliser une fonction de mappage identité. De façon plus générale, ia deuxième fonction de mappage MAPJ est adaptée pour que la première fonction MAP transporte les racines comme indiqué ci-dessus. Un résultat (Xi, X2, ... Xt)=MAP(X) (respectivement (Xi, X2, ... X?)=MAPJ(X} d'une fonction de mappage se décompose en t paramètres de sortie Xi , X2> ... X5 qui (réciproquement) forment ensemble ledit résultat (Xi, X2, ... Xt).
Ainsi, si l'on note (Ci , C2, ... C;}=MAPJ(C} et (Ai , A2î ... At)=MAP(A), et si Fs£c{A)= s alors fiBoosî(Ai,... ,At)==C'i pour tout i entre 1 et i t désignant le nombre de polynômes supplémentaires fïBoosi.
Ce procédé de mise en œuvre accélérée d'un algorithme cryptographique HFE peut être intégré de manière conventionnelle dans des architectures de PKi (infrastructures à clés publiques).
Par exemple, i! est possible de réaliser une authentification et un chiffrement ILS (Transport Layer Security, le remplaçant du SSL, acronyme
de Secure Socket Layer) grâce à l'algorithme HFE selon l'invention, il convient cependant de changer la spécification TLS afin d'y autoriser l'emploi de l'algorithme HFE selon l'invention, ou d'utiliser une version propriétaire de TLS permettant un tel support, De façon analogue, il est possible d'intégrer ce procédé de mise en uvre accélérée d'un algorithme cryptographique HFE dans ia suite de protocoles IPSEC spécifiée par P!ETF. Il convient par exemple d'ajouter aux protocoles pertinents de S'IPSEC (notamment Ses protocoles ÎSAKMP et SKE) Se support d'un procédé HFE seion i'invention (en pSus des algorithmes traditionneSs tels que RSA ou Diffie-Hellman).
Ce procédé accéléré peut également être mis en œuvre dans Se cadre d'une base de donnée distribuée en un ensemble de nœuds de stockage, la base de données gérant une liste d'enregistrements protégés cryptographiquement (à l'aide de HFE) contre ia falsification ou la modification par ses noeuds de stockage. Ce procédé accéléré peut plus particulièrement être mis en oeuvre dans le cadre du procédé Biockchain utilisé notamment pour gérer ia monnaie cryptographique bitcoin.
Selon un deuxième mode de réalisation, un procédé selon le premier mode de réalisation comprend une génération, par le circuit électronique, de ladite clé privée HFE.
Ladite génération comprend une génération, par le circuit électronique SC, dudit au moins un poiynôme(s) fiBoosi, f2 Boost s ... îïBoosi supplémentaire^}.
Ladite génération comprend une génération , par ie circuit électronique SC, desdites fonctions de mappage MAP et MAPJ.
Selon une mise en œuvre possible, les générations des deux paragraphes précédents sont des étapes préalables. Autrement dit, l'utilisation de l'au moins un poiynôme(s) f i Boos f2 Q0$ _ j^mst SUppiémentaire(s) et celle des fonctions de mappage sont postérieurs à leur génération par le circuit électronique, et peuvent comprendre le stockage de l'au moins un polynôme(s) fi8008*, kBam f500515 suppiémentaire(s) et celui des fonctions de mappage
dans une mémoire d'enregistrement de clés privées à l'intérieur du circuit électronique. Selon d'autres modes de réalisation, Sa génération des clés privées n'est pas réalisée par le circuit électronique mais par exemple par un serveur (qui génère alors ie au moins un polynôme supplémentaire et ies fonctions de mappage pour chaque cié privée générée). Ce serveur transmet chaque cié privée qu'il a générée au circuit électronique pertinent, de manière sécurisée. Selon un mode de réalisation, les clés privées ayant vocation à être utilisées pour des opérations de signature ou d'authentification sont générées par le circuit électronique iui-même, qui peut interdire ieur extraction par des mécanismes de sécurité (ii n'y a donc pas d'archivage possible, mais en contrepartie une garantie accrue qu'aucun tiers mal intentionné ne peut accéder à ces clés privées). Le défaut d'archivage ne pose pas de problème significatif. En effet, alors que la perte d'une cié privée est concevable (par exemple par perte, destruction ou vol du circuit électronique stockant une telle clé privée), la perte d'une clé publique est beaucoup moins courante, car ia clé publique est souvent partagée largement (sous forme de certificat) en plus d'être enregistrée sur un serveur sécurisé (typiquement un serveur d'autorité de certification). La perte d'une telle clé privée empêche donc d'effectuer de nouvelles signatures ou authentifications avec la clé perdue (mais ii est très simple de révoquer l'ancienne clé et d'en générer une nouveiie pour assurer à l'avenir ies mêmes fonctions de signature et/ou d'authentification). Mais une telle perte n'empêche pas de vérifier ies signatures ou authentifications passées (ce qui reste possible grâce à la clé publique, qui est généralement conservée). Selon un mode de réalisation possible, les clés privées ayant vocation à être utilisées pour des opérations de déchiffrement sont générées par un serveur sécurisé, qui en conserve une copie de sauvegarde de manière sécurisée, et les transmet aux circuits électroniques pertinents (à savoir les circuits électroniques qui ont vocation à effectuer des opération de déchiffrement avec ces clés). Ceci permet de pouvoir déchiffrer des messages chiffrés dans le passé aiors que la clé privée permettant ce déchiffrement a depuis été perdue (par exemple par perte, destruction ou voi, comme envisagé précédemment pour d'autres types de dés).
Selon un troisième mode de réalisation, un procédé selon ie premier ou Se second mode de réalisation comprend une opération de déchiffrement.
Cette opération de déchiffrement comprend une réception (à une étape D1 ), par le circuit électronique SC, d'un message sous forme chiffrée c (qui peut être tronqué) et d'un hash h calculé sur le message sous forme non chiffrée. Le hash h est susceptible de présenter plusieurs intérêts. En particulier, le polynôme HFE possède éventuellement plusieurs racines. La fonction de déchiffrement peut donc conduire à plusieurs messages déchiffrés possibles parmi lesquels il convient alors de déterminer lequel est le bon. Le hash h fournit dans un tel contexte une redondance compensant l'ambiguïté du déchiffrement (qui peut conduire à plusieurs messages clairs possibles alors qu'un seul est pertinent). Le hash h permet également d'introduire une redondance pouvant compenser ie fait que le message sous forme chiffrée est tronqué.
L'opération de déchiffrement comprend une application, par le circuit électronique SC, de l'inverse de la deuxième transformation affine T au message sous forme chiffrée c afin d'obtenir un message chiffré intermédiaire c'. On a ainsi ο'~ο*Τ"\ T1 désignant la transformation inverse de la transformation affine T.
L'opération de déchiffrement comprend une application, par le circuit électronique SC, de l'inverse du morphisme φ au message chiffré intermédiaire c'.
L'opération de déchiffrement comprend une obtention d'au moins un (par exemple de t) paramètre(s) de sortie Ci, C'2, ... C't, par application, par le circuit électronique SC, de la deuxième fonction de mappage APJ au résultat de ladite application de l'inverse du morphisme φ .
L'opération de déchiffrement comprend une résolution, par le circuit électronique SC, d'un système d'équation (s) tel que chaque polynôme fi8005* supplémentaire soit égal au paramètre de sortie Ci respectif obtenu à l'étape précédente.
L'opération de déchiffrement comprend une application, par le circuit électronique SC, de l'inverse de ia première fonction de mappage MAP à une solution du système d'équation(s).
L'opération de déchiffrement comprend une application, par le circuit électronique SC, du morphisme φ au(x) résultat (s) de l'inverse de ia fonction de mappage MAP obtenu à l'étape précédente (la préimage peut contenir plusieurs résultats, qui peuvent alors être traités un par un, indépendamment les uns des autres, par application du morphisme à chacun d'eux).
L'opération de déchiffrement comprend une obtention d'une estimation du message sous forme non chiffrée, par appSication, par le circuit éiectronique SC, de l'inverse de la première transformation affine S au résultat (ou à chacun des résultats, s'il y en a piusieurs) du morphisme obtenu à l'étape précédente.
L'opération de déchiffrement comprend un calcul, par le circuit électronique SC, d'un hash de l'estimation du message sous forme non chiffrée. Le hash est issu d'une fonction de hachage cryptographique publique (par exemple SHA-1 , SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512 256, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, etc.) qui a été utilisée lors de l'opération de chiffrement ayant conduit au message chiffré que ie circuit électronique tente de déchiffrer.
L'opération de déchiffrement comprend, si le hash de l'estimation du message sous forme non chiffrée est différent du hash h reçu à l'étape D1 , l'obtention d'une autre estimation du message sous forme non chiffrée selon les étapes précédentes, jusqu'à ce que ies deux hash soient égaux,
Selon un quatrième mode de réalisation, un procédé selon l'un des premier au troisième modes de réalisation comprend une opération de signature.
Cette opération de signature comprend un caicui, par ie circuit éiectronique SC, d'un hash d'un message à signer.
L'opération de signature comprend une génération, par ie circuit électronique, d'un nombre aléatoire de taille égale à la taille d'un élément de l'ensemble d'arrivée du morphisme φ moins la taille du hash du message à signer. Par taille, on entend taille au sens informatique du terme. Par exemple. si un élément de l'ensemble d'arrivée du morphisme φ est codé sur 256 bits, et si le hash d'un message est codé sur 224 bits, aiors le nombre aléatoire généré est un nombre aléatoire de 32 bits,
L'opération de signature comprend une application, par le circuit électronique, de l'inverse de la deuxième transformation affine T à une concaténation du nombre aléatoire et du hash du message à signer.
L'opération de signature comprend une application, par le circuit électronique, de i'inverse du morphisme ψ au résultat de l'application de l'inverse de la deuxième transformation affine T,
L'opération de signature comprend une obtention d'au moins un paramètre de sortie (par exemple une obtention de t paramètres de sortie Ci , 0*2, ... C't), par application, par le circuit électronique, de la deuxième fonction de mappage MAPJ au résultat de ladite application de l'inverse du morphisme.
L'opération de signature comprend une résoiution, par le circuit électronique, d'un système d'équation(s) tel que chaque polynôme fi8005* suppiémentaire soit égal au paramètre de sortie Ci respectif obtenu à l'étape précédente.
L'opération de signature comprend, si le système d'équation(s} n'admet pas de solution , une répétition des étapes précédentes avec un autre nombre aléatoire. Selon une mise en œuvre possible, l'autre nombre aléatoire est un nombre aléatoire généré à nouveau par ie circuit électronique. Seion une autre mise en œuvre, l'autre nombre aléatoire résulte de l'incrémentation, par le circuit électronique, du précédent nombre aléatoire.
L'opération de signature comprend une application, par le circuit électronique, de i'inverse de ia première fonction de mappage MAP à une soiution du système d'équation (s). Si la préimage renvoyée par l'inverse de la
première fonction de mappage comprend plusieurs résultats, ie circuit électronique recherche parmi eux un résultat qui convient (le résultat doit aboutir à une racine de ¾c ~~ Ψ 1 )■
L'opération de signature comprend une appiication, par le circuit électronique, du morphisme φ au résultat de l'inverse de la première fonction de mappage MAP obtenu à l'étape précédente.
L'opération de signature comprend une obtention d'une signature du message à signer, par appiication, par le circuit électronique, de l'inverse de la première transformation affine S au résultat du morphisme φ obtenu à l'étape précédente.
Selon un cinquième mode de réalisation, ia clé privée HFE d'un procédé selon l'une des premier au quatrième modes de réalisation précédents comprend un unique polynôme f8005* supplémentaire, la première fonction de mappage MAP est un monôme, et ie polynôme de type HFE FSEC est égai à la composition du polynôme fBoosî supplémentaire avec Sa première fonction de mappage MAP,
Selon un sixième mode de réalisation, un programme d'ordinateur comprend une suite d'instructions mettant en œuvre les étapes du procédé seion l'un des premier au cinquième modes de réalisation lorsqu'elles sont exécutées par un processeur. Ce programme est par exemple rédigé en langage assembleur, ou encore en langage C. De tels langages, de bas niveau, sont avantageux dans la mesure où ils permettent des optimisations fines et autorisent ia mise en place de contremesures de façon plus efficace. Des langages de plus haut niveau sont possibles mais dégradent généralement ies performances et ne permettent pas nécessairement de mettre en place des contremesures eff icaces.
Selon un septième mode de réalisation, un support de stockage non transitoire iisible par ordinateur comprend un programme d'ordinateur selon le sixième mode de réalisation. Ce support de stockage est par exemple une mémoire permettant un stockage permanent. La mémoire peut être réinscriptible (Flash, EEPROM, RAivl protégée par batterie, voire support magnétique ou optique) ou non réinscriptible (ROM, etc.). Un te! support de stockage peut être intégré à une carte à puce ou à un ordinateur quelconque, en particulier un smartphone.
Seion un huitième mode de réalisation, un circuit électronique (par exemple une carte à puce SC) est agencé pour mettre en oeuvre de façon accélérée un algorithme cryptographique HFE exploitant une clé privée HFE basée sur un polynôme FSEC de type HFE, sur un morphisme, et sur une première S et une deuxième T transformations affines, Le circuit électronique comprend un sous circuit électronique d'utilisation d'au moins un poiynôme(s) fi 80081, f2 Boost s ... ft Boosî suppiémentaire(s) compris dans la clé privée HFE. Selon une mise en œuvre possible, Le sous circuit électronique d'utilisation d'au moins un polynôme est par exempie un circuit électronique dédié, un FPGA, un ASSC, un microcontrôleur, un DSP, ou encore un circuit comprenant un processeur et une mémoire, la mémoire stockant un programme d'ordinateur approprié. Seion une mise en œuvre possible, le sous circuit électronique d'utilisation d'au moins un polynôme partage un processeur avec le circuit électronique.
Le circuit électronique comprend un sous circuit électronique d'utilisation des fonctions de mappage MAP et MAPJ comprises dans la clé privée HFE, et associant, à un paramètre d'entrée donné, autant de paramètre(s) de sortie qu'il y a de poiynôme(s) f^ 8005', f2 Boos\ ... i^051 suppiémentaire(s) dans la clé privée HFE. Selon une mise en œuvre possible, Le sous circuit électronique d'utilisation des fonctions de mappage est par exemple un circuit électronique dédié, un FPGA, un ASIC, un microcontrôleur, un DSP, ou encore un circuit comprenant un processeur et une mémoire, la mémoire stockant un programme d'ordinateur approprié. Selon une mise en œuvre possible, le sous
circuit électronique d'utilisation des fonctions de mappage partage un processeur avec le circuit électronique.
Par exemple, Se circuit électronique comprend un processeur, une mémoire contenant un programme d'ordinateur agencé pour mettre en œuvre l'utilisation de Pau moins un polynôme(s) Boos\ î2 Bocst, ... iBmsi suppiémentaire(s), et une mémoire contenant un programme d'ordinateur agencé pour mettre en uvre l'utilisation des fonctions de mappage. Le sous circuit électronique d'utilisation d'au moins un polynôme(s) f ^03', f2 Baost, ... ft8008* suppiémentaire(s) peut comprendre le processeur et la mémoire contenant le programme d'ordinateur agencé pour mettre en œuvre l'utilisation de i'au moins un polynôme{s} ^800^ 2∞s f; Bo∞; supplémentaireis), et !e sous circuit électronique d'utilisation de fonctions de mappage peut comprendre le même processeur (partagé) et la mémoire contenant le programme d'ordinateur agencé pour mettre en œuvre l'utilisation des fonctions de mappage. Selon une autre mise en œuvre possible, le sous circuit éiectronique d'utilisation d'au moins un polynôme(s) f Boos f2 Boosi ! ... fîBi50SÏ supplémentalre(s) et le sous circuit électronique d'utilisation des fonctions de mappage sont deux sous circuits entièrement distincts, pouvant néanmoins coopérer l'un avec l'autre. L'au moins un polynôme supplémentaire et les fonctions de mappage sont tels que, pour un paramètre C donné, et pour toute racine A du poiynôme FSEC de type H FE moins ledit paramètre C donné, le résultat {Αι , ... Α} de la première fonction de mappage MAP appliquée à ladite racine A est une racine de chaque polynôme ί·Β:κ;κ supplémentaire moins un paramètre de sortie Ci, correspondant audit chaque poiynôme ftBoos supplémentaire, de la deuxième fonction de mappage MAP appliquée audit paramètre C donné.
Selon un neuvième mode de réalisation, un circuit éiectronique selon le huitième mode de réalisation comprend, afin de mettre en œuvre une opération de déchiffrement, un sous circuit électronique de réception d'un message sous forme chiffrée c et d'un hash h calculé sur le message sous forme non chiffrée.
Le circuit électronique comprend un sous circuit électronique d'application de l'inverse de ia deuxième transformation affine T au message sous forme chiffrée c afin d'obtenir un message chiffré intermédiaire c\
Le circuit électronique comprend un sous circuit électronique d'appiication de l'inverse du morphisme au message chiffré intermédiaire c'.
Le circuit électronique comprend un sous circuit électronique d'obtention d'au moins un paramètre de sortie d, C'2, ... C't, par application de la deuxième fonction de mappage MAPJ au résultat de ladite application de l'inverse du morphisme.
Le circuit électronique comprend un sous circuit électronique de résolution d'un système d'équation(s) tel que chaque polynôme îi8oosî supplémentaire soit égal au paramètre de sortie Ci respectif.
Le circuit électronique comprend un sous circuit électronique d'appiication de l'inverse de ia première fonction de mappage MAP à une solution du système d'équation(s}.
Le circuit électronique comprend un sous circuit électronique d'application du morphisme au résultat de l'inverse de la première fonction de mappage MAP.
Le circuit électronique comprend un sous circuit électronique d'obtention d'une estimation du message sous forme non chiffrée, par application de i'inverse de la première transformation affine S au résultat de l'application du morphisme.
Le circuit électronique comprend un sous circuit électronique de calcul d'un hash de l'estimation du message sous forme non chiffrée.
Le circuit électronique comprend un sous circuit électronique de vérification agencé pour vérifier si le hash de l'estimation du message sous forme non chiffrée est différent du hash h reçu, et dans l'affirmative pour déclencher l'obtention d'une autre estimation du message sous forme non chiffrée, jusqu'à ce que les deux hash soient égaux.
Selon un dixième mode de réalisation, ia cié privée HFE d'un circuit électronique seion le huitième ou neuvième mode de réalisation comprend un unique polynôme fBoDSÎ supplémentaire, la première fonction de mappage IvlAP est un monôme, et le polynôme FSEC de type HFE est éga! à la composition du polynôme f8oasî supplémentaire avec ia première fonction de mappage MAP,
D'autres modes de réaiisation sont décrits plus précisément ci-dessous.
Une manière de générer une paire de ciés pubiique et privée selon un mode de réaiisation possibie est ia suivante. Soit (q, n, m, t,D) e Ns avec q une puissance d'un nombre premier et ≤n . Un circuit électronique définit
^ n ffq ) = GLn(Fq ) Fq comme l'ensemble des transformations
Wn
affines inversibles de 11 q .
La clé secrète dans HFEBoost comprend:
1 . un polynôme univarié ¾-c e ^ [^l de type HFE (équation {1 } précitée) de degré DSEç■
Ftoost i^ Boosl LT Γ -y Ί
2. des polynômes J i * -~, l t fc υ^ |^ ΐ it j 5 avec it¾- un corps quelconque (par exemple des polynômes
• Boost £ Boost
F . , 3. une première fonction de mappage MAP: F ~~ K ta fonction
MAP transporte toute racine ^e du polynôme FgEG en une solution dans Kl du système f^'^O, . . . . , ft Boost. Une deuxième
, fonction d .e mappage M lviAAPi _ I 1 · · 1 F1 q« → ^ K ^l ,
4. deux transformations affines
((S* ),(T,t)))e Aîîn (¥q )xAffB (Fq ) , on adopte ici une notation plus précise {différente des notations utilisées précédemment) afin de faire apparaître expressément dans la notation ia partie affine (s et t, respectivement) des transformations, les notations S et T désignant des transformations linéaires. En pratique, utiliser une transformation linéaire en lieu et place d'une transformation affine (en posant s=0 et t=0) ne présente pas d'inconvénient (cela ne diminue pas ia sécurité de manière notable, et cela simplifie légèrement ies caicuis).
Soit 9. e ¾ = (c 1■>-**? C « ) .
B(Xst Boost -π - Γ Y γ- Ί
Les polynômes ii ''"'M fc ir^ ij iÉ j sont tels que:
- si A. F . es, une racine de ¾e -p"(çl). alors MAP(A) es, une solution de if" (MAP(A)) - C ,...,ft Boost(MAP(A)) - C ,
— il est possible de calculer ies solutions de
en un temps inférieur à On entend par là que l'on trouve ies racines de l'ensemble des polynômes fi80051 plus vite que les racines du polynôme FSEC, ce qui permet d'accélérer le traitement par rapport au HFE conventionnel.
Un circuit électronique construit les polynômes
-|\H
f "-,f„e(¾ [X!— tel iss que:
FSEC ( ( Xl Xn )) = (fl (ΧΠ— Χ Β)>·» ( s,...,X n)) et
Le circuit électronique construit également la clé publique en masquant les composantes ^■>'**? l' Iîo'e ¾c■
Plus précisément, pour construire une clé publique, le circuit électronique caicule, selon un mode de réalisation:
(g1(x1,...îx!î),_gÎi(x! î...ïxn))-(f! (ί, ^),...^^, in))T+tt avec — » ) ~(Xj * 'X n)S + S ,
La cié publique est alors l'ensemble des polynômes quadratiques: σ σ
toi Selon un mode de réalisation, Se circuit électronique utilise les fonctions de mappage MAP et MAP_I et les polynômes ri >"*>r t e L^|_ ïi ï t J pour les opérations impliquant la clé privée, telles que le déchiffrement ou la signature.
Le circuit électronique peut mettre en œuvre ie chiffrement et le déchiffrement de la façon suivante. Soient L un corps et Hash. : Fc"— » L une fonction de hachage cryptographique publique. Une fonction de hachage cryptographique est une fonction de hachage qui est notamment résistante aux collisions {il est en pratique impossible de trouver un message qui donne le même hash que celui d'un message aléatoire donné). De pius, ii est en pratique impossible de retrouver ie contenu d'un message à partir de son hash (calculé par une fonction de hachage cryptographique}.
Pour chiffrer un message clair M
circuit
électronique calcule, selon une mise en oeuvre possible, un hash h=H¾sh(M) G L et n message chiffré tronqué c: ceF «(c1,...,cJ==(g1(M ...,M ,...gm(M1,...,Mn)).
Le message chiffré correspondant au message clair M. est défini comme étant le couple (c,h) .
Le déchiffrement peut alors s'opérer de la manière suivante.
Soit l ~ ] * * r„ ...m )≡ ™ et Ç ((c, r ) ~ t ) .T '"' , |_e possesseur de la clé privée peut déchiffrer le message chiffré (.»lî) en recherchant, pour chaque £ = (i .»»,ra_m)€ Fq , les solutions Ze K' du système: f1 BiK5SH2)-C ,...,fi B<m!(Z)-C1 i , avec (C ,...,C't) = MAPj(^-t(ç;)).
Le circuit électronique calcule alors MG y^((MAP 1 (Z)— s)*S !) pour un _ solution de l'équation (2), telle que Hash(^((MAF!(Z)~- s)■$""')) = h. su y a plusieurs M possibles (MAP"1 renvoyant une préimage comprenant plusieurs éléments), le circuit électronique recherche parmi eux un élément M qui a îa bonne empreinte h.
Si la première solution Z trouvée ne convient pas (le hash du ou de chacun des message(s) M estimé(s) n'est pas égal à h et ne correspond donc pas), le circuit électronique teste une autre des solutions Z, jusqu'à tomber sur la bonne. Plus précisément, si aucune des solutions pour un
1™ (f ^n-rn) e -^q donné ne convient, le circuit sélectionne un autre Y = ( ,...,rn_m)€ ¥Q Q\ recherche toutes les solutions pour ce = (rj ln ...m)£ Fq [_e cajcuj (je hash permet ainsi de déterminer
laquelle des solutions est la bonne dans l'hypothèse où il y aurait plusieurs solutions.
Selon une mise en œuvre possible, le circuit électronique caicule une signature électronique de la manière suivante.
Le circuit électronique applique le procédé de déchiffrement précédemment décrit sur un message M à signer, auquel il a préalablement concaténé des valeurs tirées aléatoirement.
Soit Hash : Fq —> Fq une f0nC|j0n qe hachage cryptographique, qui peut être la même que ia fonction de hachage utilisée pour le déchiffrement (on a alors ^— ¾ ) ou être une fonction de hachage différente (il importe évidemment que la fonction de hachage utilisée pour le chiffrement soit la même que celle utilisée pour ie déchiffrement, et que la fonction de hachage utilisée pour la signature soit la même que celle utilisée pour la vérification de signature). Pour signer un message e ^q , ie circuit électronique calcule, selon un mode de réalisation possible, l'empreinte a ~ ( a, , .. am )— Hash ( M )€ Fq m qu message M à signer. Le circuit électronique tire aléatoirement (n ~~lîl) vaieurs (ri » ···> r n -m ) e et calcule une solution
du système:
aveC: {C C ) - MÂPj( j ((fer, ,...,rB„m)- D - ) ) ,
Le vecteur sig e ^((MAP"1 (Z) -s) - S"! ) tel que ϊ^ ^ ^ ^ est une signature du message M - Pour un (ai > - - > am »ri > - - ' rn-m ) donné, ii est possible que l'équation
(3) n'ait aucune solution, Si c'est le cas, le circuit électronique répète le procédé avec d'autres valeurs pour *"{ ί · ·*» Γη~πι . Par exemple, le circuit électronique génère de nouveaux nombres aléatoires ^ > " ** rn-m , ou incrémente ies nombres aléatoires précédemment générés. Pour vérifier que la signature ^¾ est valide pour M, ie circuit électronique compare a— Hash{M) avec évaluation de la signature ^ig en Sa clé publique. Autrement dit, le circuit é,ectronique «este si (g. fe) .-.g. fe)) = â .
Si !' égalité n'est pas vérifiée, alors ^ n est Pas une signature vaiide du message M -
Un exemple particulier de réalisation est illustré ci-dessous:
Soit (C|, il. m, t, D) e N° avec cl une puissance d'un nombre premier et t = 1 . Par exempie, q peut être une puissance de 2. Le circuit électronique utilise comme polynôme HFE un polynôme SEC tel que: F^ - F^ oX^ e F , [X] , avec d,K d < n , et FBoost€ FqB [X] un poiynôme de type HFE de degré DBocisl .
Ainsi, ¾c est un polynôme type HFE de degré DSEC =qdDBoost . Ceci revient à poser ^ = F B , f^ ^ F^ , MAP J:X l→ X et
MÀP:X h- > X . Comme ¾oost — DSEC / d s le circuit électronique peut déterminer les racines de F}¾K»st en un temps inférieur à 0 (C (DSEC )| . On entend par ià que l'on trouve les racines du polynômes F&jest plus vite que les racines du poiynôme FSH f ce qui permet d'accéiérer ie traitement par rapport à i'aigorithme HFE conventionnel de l'état de l'art.
Dans cet exemple de réalisation, ie poiynôme de type HFE est la composée de deux polynômes. Que ce soit une composée n'influence pas la sécurité (ne la réduit pas). Mais le fait que ce polynôme soit une composée permet, pour ie titulaire de la cié privée qui connaît la décomposition, de résoudre pius facilement et donc plus rapidement i'équation, et donc d'effectuer une opération à cié privée plus rapidement, li suffit de rechercher en deux étapes les solutions de polynômes de pius bas degré.
Ainsi, si l'on note ^€ F une racine de FgEO, on constate que:
FBOOAFC(MAP(Z) ) = FB_T ( ^ ) = FSEC(Z) . MAP donc transforme bien Ses racines de FSEC en les racines de
.. ... _ j ... .. .. rj""^
BOOGT. L'inverse de MAP est MAP :X \— X , En effet, M AP"1 (MAPf X)) - MAP" 1 (Xqd } - X " - X dans F . Comme
DBO**— DS£o/ C1G< Ses racines $B f"Boost peuvent être calculées en un temps inférieur à 0(C(DSEC) ). On entend par ià que i'on trouve ies racines du poiynômes FBOOSÎ Pîus v*te que ies racines du polynôme F EC > CE Φ* permet d'accéiérer le traitement par rapport à l'algorithme HFE conventionnel de l'état de l'art. Dans cet exemple, MAP et MAP" sont linéaires.
Un autre exemple particulier de réaiisation est iiiustré ci-après.
Soit (q, n, m, t,D) e N5 avec q = 2, t = 1, n > 3 .
Soit ¾c ~ ¾oosi ¾c M avec FSEC un polynôme type HFE de degré DSEC et ¾0(>si: e F q» fà ] un poiynôme de degré D}¾OST. Les termes de FSEC sont tous divisibies par X°. FGEC est de degré DSE€≤3 - DBT_ Nous avons ici K
MAPJ:X i→ X et MAP : X R X3 ,
Cet exemple se distingue de l'exemple précédent notamment en ce que 3 (dans Xd) n'est pas une puissance (d'exposant strictement supérieur à 1 } d'un nombre premier (et notamment- 3 n'est pas une puissance de 2).
Soit Z une racine de FSEC- On a: FB∞;.fc(MÀP(Z))=Fî^;.fc(Z'i)=FgEC(Z). MAP transforme donc bien les racines de FSEC ©n tes racines de FBoogt. Comme DBoost=DgEO/3, les racines de l; B( .^, sont calculables en un temps inférieur à 0(C(DgEC)). On entend par là que l'on trouve les racines du polynômes FBoosî plus vite que les racines du polynôme ¾c ·, ce qui permet d'accélérer Se traitement par rapport à l'algorithme HFE conventionnel de l'état de l'art.
Un troisième exemple particulier de réalisation est illustré ci-après.
Soit (q. n. m, L D) e r avec q - 25 t- 2, n≥ 3 ,
Soit ¾c ~ P(X~) + [X] , avec F un polynôme type HFE de degré D. On définit: K = F 2 » , fi Boost(Y1 ;Y )=F(Y1)+Y2, f2 Boost(YbY2)=Yr(Y2)2 MAP_I:X ι→ (Χ,Ο) , et
MAP(X) = (X2,X). Soit Z une racine de FgEc.
On a: f^3t(MAP(Z))=F(Z3)+Z=FSEC(Z)=0; et
£2 Boo3t(MAP(Z))=Z -Z =0. MAP transforme donc bien une racine de FSEC en une racine commune de ^ 80034 et de £ Booa*.
Dans cet exemple, MAP"1 est donnée par (Ys ·> Y2 ) ^ ..
De façon plus générale, il a été exposé qu'au lieu d'une simple composition il est possible de mettre en place une transformation (grâce à la
fonction de mappage MAP) qui permet de transformer la représentation d'un polynôme de type HFE conventionnel grâce à ensemble de polynômes supplémentaires permettant de simplifier (et donc accélérer) le calcul.
L'invention ne se limite pas aux formes de réalisation décrites ci -avant à titre d'exemple. Elle s'étend à d'autres variantes,
Les divers circuits électroniques et sous circuits électroniques envisagés peuvent être chacun tout circuit électronique approprié, par exemple un circuit électronique dédié, un FPGA, un ASiC, un microcontrôieur, un DSP, ou encore un circuit comprenant un processeur et une mémoire, la mémoire stockant un programme d'ordinateur approprié.
Les mémoires utilisables ne se limitent pas aux exemples donnés à titre purement iliustratif mais couvrent tout type de mémoire fonctionnellement équivalent.
Les modes de réalisation décrits en relation avec les procédés selon l'invention se transposent aux circuits électroniques, ainsi qu'aux programmes d'ordinateur et aux supports de stockage selon l'invention, et réciproquement.
Claims
1 . Procédé de mise en œuvre accélérée, par un circuit électronique (SC), d'un aigorithme cryptographique HFE exploitant une cié privée HFE basée sur un polynôme (FSEC) de type HFE, sur un morphisme ( φ }, et sur une première (S) et une deuxième (T) transformations affines, ie procédé comprenant:
/El/ une utilisation, par ie circuit électronique (SC), d'au moins un polynôme
suppiémentaire compris dans la clé privée HFE, et /E2/ une utilisation, par le circuit électronique (SC), d'une première (MAP) et d'une deuxième (MAPJ) fonctions de mappage comprises dans la clé privée HFE, et associant chacune, à un paramètre d'entrée (A, C) donné, autant de paramètres de sortie (Ai,.., Α,ΟΊ,.·.,^} qu'il y a de polynômes (f j6003*,..-^6003*) supplémentaires dans la cié privée HFE,
i'au moins un polynôme fi800^,..,^ 8oosi) supplémentaire et les fonctions de mappage (MAP, MAPJ) étant tels que, pour un paramètre (C) donné, et pour toute racine (A) du poiynôme (FSEC) de type HFE moins ledit paramètre (C) donné, ie résultat (Α ,.,.,Α;) de la première fonction de mappage (MAP) appliquée à ladite racine (A) est une racine de chaque poiynôme (fi8003) suppiémentaire moins un paramètre de sortie (Ci), correspondant audit chaque polynôme (fiBoosî) supplémentaire, de la deuxième fonction de mappage (MAPJ) appliquée audit paramètre (C) donné.
2. Procédé selon la revendication 1 , comprenant une génération, par le circuit électronique (30), de ladite clé privée HFE, ladite génération comprenant:
/'G1/' une génération, par le circuit éiectronique (SC), dudit au moins un polynôme (fiBoosV. îBoosî) suppiémentaire et
/G2/ une génération, par le circuit électronique (SC), desdites fonctions de mappage (MAP, MAPJ),
3. Procédé selon la revendication 1 ou 2, comprenant une opération de déchiffrement mise en œuvre par :
/D1/ une réception, par le circuit électronique (SC), d'un message sous forme chiffrée et d'un hash calculé sur le message sous forme non chiffrée, /D2/ une application, par le circuit électronique (SC), de l'inverse de la deuxième transformation affine (T) au message sous forme chiffrée afin d'obtenir un message chiff ré intermédiaires
/D3/ une application, par ie circuit électronique (SC), de l'inverse du morphisme ( φ) au message chiffré intermédiaire,
/D4/ une obtention d'au moins un paramètre de sortie (C C ). par application, par le circuit électronique (SC), de la deuxième fonction de mappage (MAPJ) au résultat de ladite application de l'inverse du morphisme
/D5/ une résolution, par Se circuit électronique (SC), d'un système d'équation(s) tel que chaque polynôme (fiB∞si) supplémentaire soit égal au paramètre de sortie C respectif obtenu à l'étape précédente,
/D6/ une application, par le circuit éiectronique (SC), de l'inverse de la première fonction de mappage (MAP) à une soiution du système d'équation(s),
/D7/ une application, par le circuit électronique (SC), du morphisme { φ ) au résultat de l'inverse de la première fonction de mappage (MAP) obtenu à l'étape précédente,
/D8/ une obtention d'une estimation du message sous forme non chiffrée, par application, par ie circuit éiectronique (SC), de l'inverse de la première transformation affine (S) au résultat du morphisme ( φ ) obtenu à l'étape précédente,
/D9/ un calcul, par ie circuit électronique (SC), d'un hash de l'estimation du message sous forme non chiffrée,
/D10/ si le hash de l'estimation du message sous forme non chiffrée est différent du hash reçu, l'obtention d'une autre estimation du message sous forme non chiffrée selon les étapes précédentes, jusqu'à ce que les deux hash soient égaux.
4. Procédé selon l'une des revendications précédentes, comprenant une opération de signature mise en oeuvre par ;
/S1/ un calcul, par le circuit électronique {SC}, d'un hash d'un message à signer,
/S2/ une génération, par le circuit électronique (SC), d'un nombre aléatoire de taille égaie à la taille d'un élément de l'ensemble d'arrivée du morphisme { φ) moins la taille du hash du message à signer,
/S3/ une application, par le circuit électronique (SC), de l'inverse de la deuxième transformation affine (T) à une concaténation du nombre aléatoire et du hash du message à signer,
/S4/ une application, par le circuit électronique {SC}, de l'inverse du morphisme ( φ) au résultat de l'application de l'inverse de la deuxième transformation affine (T),
/S5/ une obtention d'au moins un paramètre de sortie {C'I ,. .. ,C'Î}, par application, par le circuit électronique {SC), de la deuxième fonction de mappage ( APJ) au résultat de ladite application de S'inverse du morphisme ( >.
S6/ une résolution, par ie circuit électronique (SC), d'un système d'équation{s) tel que chaque polynôme (fiBoosi) supplémentaire soit égal au paramètre de sortie {Ci) respectif obtenu à l'étape précédente,
/'S7/ si le système d'équation^) n'admet pas de solution, une répétition des étapes précédentes avec un autre nombre aléatoire,
/S8/ une application, par le circuit électronique (SC), de l'inverse de la première fonction de mappage (MAP) à une solution du système d'équation{s), /S9/ une application, par ie circuit électronique (SC), du morphisme ( φ ) au résultat de l'inverse de la première fonction de mappage {MAP) obtenu à l'étape précédente,
/S10V une obtention d'une signature du message à signer, par application, par le circuit électronique {SC), de l'inverse de la première transformation affine (S) au résultat du morphisme ( ) obtenu à l'étape précédente.
5. Procédé selon l'une des revendications précédentes, dans lequel la clé privée HFE comprend un unique polynôme supplémentaires dans lequel la première fonction de mappage (MAP) est un monôme, et dans lequel le polynôme de type HFE (FSEC) est égal à la composition du polynôme supplémentaire avec la première fonction de mappage (MAP),
6. Programme d'ordinateur comprenant une suite d'instructions mettant en œuvre les étapes du procédé selon l'une des revendications 1 à 5 lorsqu'elles sont exécutées par un processeur,
7. Support de stockage non transitoire lisible par ordinateur comprenant un programme d'ordinateur selon la revendication 6.
8. Circuit électronique (SC) agencé pour mettre en oeuvre de façon accélérée un algorithme cryptographique HFE exploitant une cié privée HFE basée sur un polynôme (FSEC) de type HFE, sur un morphisme ( φ), et sur une première (S) et une deuxième (T) transformations affines, le circuit électronique (SC) comprenant:
un sous circuit électronique d'utilisation d'au moins un poiynôme fiBTOS . ÎBî50SÏ) supplémentaire compris dans la cié privée HFE, et
un sous circuit électronique d'utilisation d'une première (MAP) et d'une deuxième (MAPJ) fonctions de mappage comprises dans la cié privée HFE, et associant chacune, à un paramètre d'entrée (A, C) donné, autant de paramétres de sortie (Ai ,...J ¾,C,i!-..!C, t) qu'il y a de polynômes
supplémentaires dans la clé privée HFE,
"au moins un polynôme {1 ®°°^,..., °° } supplémentaire et les fonctions de mappage (MAP, MAPJ) étant tels que, pour un paramètre (C) donné, et pour toute racine (A) du poiynôme (FSEC) de type HFE moins ledit paramètre (C) donné, le résultat (A A;) de la première fonction de mappage (MAP) appliquée à ladite racine (A) est une racine de chaque polynôme (fï80081) supplémentaire moins un paramètre de sortie (Ci), correspondant audit chaque polynôme (f Boosî) supplémentaire, de la deuxième fonction de mappage (MAPJ) appliquée audit paramètre (C) donné.
9. Circuit électronique (SC) selon Sa revendication 8, comprenant, afin de mettre en uvre une opération de déchiffrement :
un sous circuit électronique de réception d'un message sous forme chiffrée et d'un hash calculé sur le message sous forme non chiffrée,
un sous circuit électronique d'application de l'inverse de la deuxième transformation affine (T) au message sous forme chiffrée afin d'obtenir un message chiffré intermédiaire,
un sous circuit électronique d'application de l'inverse du morphisme ( φ) au message chiffré intermédiaire,
un sous circuit électronique d'obtention d'au moins un paramètre de sortie (Ci ,... ,(¾ par application de la deuxième fonction de mappage ( APJ) au résultat de ladite application de S'inverse du morphisme ( φ),
un sous circuit électronique de résolution d'un système d'équation(s) tel que chaque polynôme (fi8oosS} supplémentaire soit égal au paramètre de sortie (Ci) respectif.
un sous circuit électronique d'application de l'inverse de la première fonction de mappage (MAP) à une solution du système d'équation^},
un sous circuit électronique d'application du morphisme { φ ) au résultat de S'inverse de la première fonction de mappage (MAP),
un sous circuit électronique d'obtention d'une estimation du message sous forme non chiffrée, par application de l'inverse de Sa première transformation affine (S) au résultat de l'application du morphisme { φ},
un sous circuit électronique de calcul d'un hash de i'estimation du message sous forme non chiffrée,
un sous circuit électronique de vérification agencé pour vérifier si Se hash de l'estimation du message sous forme non chiffrée est différent du hash reçu, et dans l'affirmative pour déclencher l'obtention d'une autre estimation du message sous forme non chiffrée, jusqu'à ce que les deux hash soient égaux.
10. Circuit électronique {SC} selon Sa revendication 8 ou 9, dans lequel la clé privée HFE comprend un unique polynôme supplémentaire, dans Sequel la
première fonction de mappage (MAP) est un monôme, et dans iequel le polynôme de type HFE (FSEC) est égal à la composition du poiynome suppiémentaire avec la première fonction de mappage (MAP).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1556225 | 2015-07-01 | ||
| FR1556225A FR3038474A1 (fr) | 2015-07-01 | 2015-07-01 | Mise en oeuvre optimisee du hfe |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017001809A1 true WO2017001809A1 (fr) | 2017-01-05 |
Family
ID=54848660
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2016/051686 Ceased WO2017001809A1 (fr) | 2015-07-01 | 2016-07-01 | Mise en oeuvre optimisee du hfe |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3038474A1 (fr) |
| WO (1) | WO2017001809A1 (fr) |
-
2015
- 2015-07-01 FR FR1556225A patent/FR3038474A1/fr active Pending
-
2016
- 2016-07-01 WO PCT/FR2016/051686 patent/WO2017001809A1/fr not_active Ceased
Non-Patent Citations (3)
| Title |
|---|
| CHRISTOPHER WOLF ET AL: "Asymmetric Cryptography: Hidden Field Equations", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20050806:144437, 6 August 2005 (2005-08-06), pages 1 - 22, XP061006290 * |
| OLIVIER BILLET ET AL: "Analysis of Intermediate Field Systems", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20091108:042928, 5 November 2009 (2009-11-05), pages 1 - 8, XP061003653 * |
| WUQIANG SHEN ET AL: "TOT, a Fast Multivariate Public Key Cryptosystem with Basic Secure Trapdoor", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20131125:191504, 21 November 2013 (2013-11-21), pages 1 - 17, XP061015108 * |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3038474A1 (fr) | 2017-01-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110300112B (zh) | 区块链密钥分层管理方法 | |
| EP2345202B1 (fr) | Procédé de signature numérique en deux étapes | |
| FR3076422A1 (fr) | Methode d'echange de cles authentifie par chaine de blocs | |
| US9674189B1 (en) | Relational encryption | |
| JP7720821B2 (ja) | ソルト化ハッシュを用いる署名入りビデオデータ | |
| CN111783136B (zh) | 一种数据保护方法、装置、设备和存储介质 | |
| CA2895189C (fr) | Signature de groupe utilisant un pseudonyme | |
| CA2888103C (fr) | Procede de signature electronique a signature ephemere | |
| FR3091108A1 (fr) | Procédé et système de vote électronique | |
| Heninger | RSA, DH, and DSA in the Wild | |
| CA2765787A1 (fr) | Cryptographie par parametrisation sur une courbe elliptique | |
| EP3769461A1 (fr) | Procede d'emission de donnees depuis un vehicule automobile et procede de reception desdites donnees par un autre vehicule, a travers un canal de communication radio | |
| JP6844411B2 (ja) | 関係暗号化 | |
| EP3729720B1 (fr) | Procédé cryptographique de signature de groupe | |
| WO2017001809A1 (fr) | Mise en oeuvre optimisee du hfe | |
| Yang et al. | Identity-based multi-replicas data public audit scheme | |
| EP2330772A1 (fr) | Procédé de chiffrement à clef publique sans certificat | |
| WO2020136320A1 (fr) | Procédé et système de génération de clés pour un schéma de signatures anonymes | |
| FR3102024A1 (fr) | Procédé de gestion d’une base de données de clés publiques, procédé d’authentification de clés publiques, et dispositifs serveur et client mettant en œuvre ces procédés | |
| Taghavi et al. | High-Performance Post-Quantum Cryptographic Engineering in Hardware | |
| Tan et al. | Argument on biometrics identity‐based encryption schemes | |
| FR3027752A1 (fr) | Protection de signatures numeriques basees sur le probleme du logarithme discret | |
| EP4576650A1 (fr) | Procédé de traitement de données | |
| FR2892251A1 (fr) | Procede cryptographique mettant en oeuvre un systeme de chiffrement base sur l'identite | |
| Noroozi | Dynamic Hashing Technique for Bandwidth Reduction in Image Transmission |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16748328 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16748328 Country of ref document: EP Kind code of ref document: A1 |

