WO2008065308A1 - Data compression function of multiple lengths using single-lengths internal functions - Google Patents

Data compression function of multiple lengths using single-lengths internal functions Download PDF

Info

Publication number
WO2008065308A1
WO2008065308A1 PCT/FR2007/052415 FR2007052415W WO2008065308A1 WO 2008065308 A1 WO2008065308 A1 WO 2008065308A1 FR 2007052415 W FR2007052415 W FR 2007052415W WO 2008065308 A1 WO2008065308 A1 WO 2008065308A1
Authority
WO
WIPO (PCT)
Prior art keywords
blocks
block
bits
chaining
data compression
Prior art date
Application number
PCT/FR2007/052415
Other languages
French (fr)
Inventor
Henri Gilbert
Thomas Peyrin
Matthew Robshaw
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2008065308A1 publication Critical patent/WO2008065308A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Definitions

  • the invention relates to the field of cryptography. More specifically, the invention relates to so-called “hash” functions (also called “condensation”).
  • Hash functions are widely used in the context of information security. The calculation of hash functions inter alia in the generation of public key signatures and certificates, as well as in many cryptographic protocols such as the SSL / TLS (initials of "Secure Socket Layer I Transfer Layer Security") used on the Internet.
  • a hash function H is a function that takes as input any binary message of any size and produces a fixed size output. To be sure, this function should check the following three properties as best as possible:
  • a hash function is said to be safe if the number of operations required to defeat these properties is of the order of, respectively, 2 ", 2", and 2 " '2 .
  • a compression function h is a function that takes as input a fixed size value of (r + ri) bits and returns a value of size n bits; a compression function is considered safe if it satisfies three criteria similar to those described above for a safe hash function.
  • the hash function H associated with the compression function h is iteratively calculated as follows.
  • h compresses the message block M ⁇ of r bits, and a chaining variable H (0 of n bits initialized at a constant H m at the beginning of the process.
  • the hash H (M) is defined as the value H (L) of the chaining variable obtained at the end of the Lth compression (or any truncation of H (L) ).
  • the first one expresses the fact that any linear combination of the output blocks must depend on all inputs. If this condition is not fulfilled, it is possible to attack some output blocks independently, and security is irretrievably affected.
  • the second generic attack expresses the fact that it must be impossible to generate several pre-images on certain output blocks in a number of operations less than what would be expected in the case of an ideal compression function. For a complete formulation of these "PGMR criteria", refer to this article.
  • this article shows that it is possible in principle to construct, from internal functions of n-bit output size, compression functions satisfying the PGMR criteria and having a c-n bit output size, with c> ⁇ .
  • this article proposes only a very limited number of ways of constructing, in practice, a compression function h having the aforementioned properties.
  • This method verifies the "PGMR criteria" of cryptographic security, and includes the following steps:
  • Said affine transformation L E is remarkable in that it linearly combines at least one message block M 11 with at least one chaining block H v to supply the input data of at least one of said internal functions f p .
  • the "or-exclusive of at least one bit of at least one message block M 11 and at least one bit of at least one chaining block H v is in the affine expression at least one of the k -n input bits of at least one of the internal functions f p .
  • said message M processed according to the invention may in fact be the result of the concatenation of an original hash message, with an unambiguous suffix, as explained above.
  • the affine transformation L E mixes (using an "exclusive-or-exclusive") at least some bits of the chaining blocks with certain bits of the message blocks in order to produce some of the
  • This approach similar to handling message blocks and chaining blocks in a similar way, is contrary to that suggested by the structure of the compression functions used to build some known hash functions, such as MD5 or SHA-1, where message blocks and chaining blocks are treated in a very different way from each other.
  • This embodiment is very useful in practice; it allows for example to have a 256-bit output while using AES-128 as a primitive (for internal functions).
  • n-bit blocks M, ⁇ and M 2 (i) will be denoted M 1 and M 2 in the following, in contexts where it is not necessary to specify the number d Iteration i considered.
  • the invention also relates to a hashing method implementing successive iterations of any of the data compression methods succinctly described above. As explained above, one can for example use the construction of Merkle-Damgârd.
  • Said affine transformation Zf is remarkable in that it linearly combines at least one message block M n with at least one H 9 chaining block to provide the input data of at least one of said internal functions f p .
  • the number c of chaining blocks is equal to 2.
  • the invention also relates to a hash device comprising any of the data compression devices succinctly set forth above.
  • any of the data compression devices or the hashing device succinctly set forth above may be embodied in the context of an electronic circuit.
  • This electronic circuit may, for example, be constituted by a wired logic chip.
  • the invention also relates to a computer program downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor.
  • This computer program is notable in that it includes instructions for performing the steps of any of the data compression methods or hashing method succinctly set forth above, when executed on a computer. computer.
  • FIG. 1 is a block diagram illustrating the general principle of a compression function according to the invention.
  • FIG. 2 is a block diagram illustrating an embodiment of a compression function according to the invention.
  • the invention constructs known attack-resistant compression functions, which can in particular be used to construct safe hash functions, for example by means of the Merkle-Damgard construction described above.
  • the invention proposes compression functions h, of which FIG. 1 illustrates the general principle.
  • E (M ⁇ , .., 1 M m , H i , ..., H c ) the input vector.
  • E a GF (2) -linear transformation (where GF (2) denotes the finite field with two elements), or more generally GF (2) -affine (ie "linear + constant additive") called L E.
  • the output of the transformation L E consists of (k • t) blocks (where k ⁇ 1 and t ⁇ 1) of length n (note: (m + c) is not necessarily equal to (£ • /)) .
  • the input transformation L E makes it possible to express each of the n bits of each of the k input blocks of each of the internal functions f p as the sum modulo 2 of a fixed linear combination of
  • Each output block H 1 of the compression function h is thus defined using the function GF (2) -affine of (t + m + c) -n bits to n bits Lf v) applied to the vector F. This procedure can be described using the following equations:
  • said affine transformation L E linearly combines at least one message block M 11 with at least one chaining block H v to supply the input data of at least one of said internal functions f p .
  • a hash function H of output size two blocks and resistant to the types of attack known to date from the compression functions h according to the invention by means of the Merkfe- Damg ⁇ rd.
  • the message to be chopped is divided into 2-bit message blocks, if necessary by adding a suffix to obtain the number of bits to be chopped to be a multiple of 2n (this suffix can specify the size of the original message so to avoid any ambiguity about the interpretation of the message thus extended).
  • the compression function described above is a member of an entire family of compression functions in that, on the one hand, there are other compression functions described using systems of equations. having an analogous structure, but whose detail of expression differs, and where, on the other hand, any bijective affine transformation of the inputs and / or outputs of a compression function produces an equivalent compression function from the point of view resistance to attack, and relatively close to the point of view of employment efficiency.
  • all valid affine transformations for which each output block of L E is defined as the "exclusive-or" of a subset of the input blocks necessarily include a mixture of message blocks and messages. chaining blocks.
  • the different internal functions are rather different from each other. This can be achieved by various methods. For example, it is possible to use different simple variants of the same block cipher algorithm (use of AES variants preceding or following the calculation of one of the AES turns by the addition of internal constants specific to each variant).
  • the present invention also relates to a computer system implementing the data compression method described above.
  • This computer system conventionally comprises a central processing unit controlling signals by a memory, as well as an input unit and an output unit.
  • this computer system can be used to execute a computer program comprising instructions for implementing the data compression method according to the invention.
  • the invention also relates to a downloadable computer program from a communication network comprising instructions for performing the steps of a data compression method according to the invention when executed on a computer.
  • This computer program may be stored on a computer readable medium and may be executable by a microprocessor.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.
  • the invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above.
  • the information carrier may be any entity or device capable of storing the program.
  • the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk ("floppy dise"). ) or a hard disk.
  • the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can be downloaded in particular on an Internet type network.
  • the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

Abstract

The invention relates to a data compression method, wherein extracted blocks Mu (where u= 1,...,m ) of a message M are processed and chaining blocks Hv (where v = 1,...,c, with c > 1 ), to give c new chaining blocks H'v (where v = 1,...,c), all blocks being n bits in length, the said method allowing the verifying of certain cryptographic security criteria, and comprising the following steps: on the input vector E = (M1,...,Mm,H1,...,Hc) is applied a GF(2) affine transformation LE producing t (where t ≥ 1) k-uplets of blocks (where k ≥ 1), each block having a length of n bits; is provided each of said k -uplets of blocks in input to a respective internal function f p (where p = 1,...,t ), which produces a block Sp of n bits in output; and obtaining the said new chaining blocks H '1,...,H' c by applying a GF(2) affine transformation Ls to the F = (M1,...,Mm,H 1,...,Hc,S1,...,St) vector. According to the invention, the said affine transformation LE combines linearly at least one message Mu block with at least one chain block H v to provide the input data of at least one of the said internal functions f p. Applicable to the construction of secure hash functions with output sizes of c. n bits.

Description

Fonction de compression de données de longueur multiple utilisant des fonctions internes de longueur simple Multiple length data compression feature using single-length internal functions
L'invention se rapporte au domaine de Ia cryptographie. Plus précisément, l'invention concerne les fonctions dites de "hachage" (dites aussi de "condensation").The invention relates to the field of cryptography. More specifically, the invention relates to so-called "hash" functions (also called "condensation").
Les fonctions de hachage sont très utilisées dans le contexte de la sécurité de l'information. Le calcul de fonctions de hachage intervient notamment dans la génération de signatures à clé publique et de certificats, ainsi que dans de nombreux protocoles cryptographiques tels que le protocole SSL/TLS (initiales des mots anglais "Secure Socket Layer I Transfer Layer Security") utilisé sur Internet.Hash functions are widely used in the context of information security. The calculation of hash functions inter alia in the generation of public key signatures and certificates, as well as in many cryptographic protocols such as the SSL / TLS (initials of "Secure Socket Layer I Transfer Layer Security") used on the Internet.
Une fonction de hachage H est une fonction prenant en entrée un message binaire de taille quelconque et produisant une sortie de taille fixe. Pour être sûre, cette fonction doit vérifier le mieux possible les trois propriétés suivantes :A hash function H is a function that takes as input any binary message of any size and produces a fixed size output. To be sure, this function should check the following three properties as best as possible:
• "résistance aux préimages" : étant donné une valeur de sortie y de H , il est difficile de trouver une entrée x telle que H(x) = y ;• "resistance to preimages": given an output value y of H, it is difficult to find an entry x such that H (x) = y;
• "résistance aux secondes préimages" : étant donné une paire de valeurs (χ,y) telles que H(x) = y , il est difficile de trouver une valeur x1 avec x'≠ x telle que H(x') = y ;• "resistance to second preimages": given a pair of values (χ, y) such that H (x) = y, it is difficult to find a value x 1 with x '≠ x such that H (x') = y;
• "résistance aux collisions" : il est difficile de trouver deux valeurs distinctes x et x' telles que H(x) = H(x') .• "collision resistance": it is difficult to find two distinct values x and x 'such that H (x) = H (x').
Une fonction de hachage est dite sûre si le nombre d'opérations requises pour mettre en défaut ces propriétés est de l'ordre de, respectivement, 2" , 2" , et 2"'2.A hash function is said to be safe if the number of operations required to defeat these properties is of the order of, respectively, 2 ", 2", and 2 "'2 .
On sait, depuis les travaux de Merkle-Damgérd, que le problème de la conception d'une fonction de hachage sûre peut être ramené à celui de la conception d'une fonction de compression sûre. Une fonction de compression h est une fonction qui prend en entrée une valeur de taille fixe de (r + ri) bits et qui renvoie une valeur de taille n bits ; une fonction de compression est considérée comme sûre si elle vérifie trois critères analogues à ceux exposés ci-dessus pour une fonction de hachage sûre. La fonction de hachage H associée à la fonction de compression h est calculée itérativement de la façon suivante. Le message à hacher M , de taille arbitraire, est concaténé avec un suffixe permettant de rendre sa longueur égale à L- r, avec L entier, et le message ainsi complété est découpé en blocs de message Mω (où i = 1,2,...,L ) de longueur r bits (on utilise pour cela un suffixe non ambigu, dit de Merkle-Damgârd, qui garantit que si h est sûre, alors H l'est aussi). A chaque itération numéro / , h comprime le bloc de message Mω de r bits, et une variable de chaînage H(0 de n bits initialisée à une constante Hm au début du processus. Ainsi :It has been known since the work of Merkle-Damgérd that the problem of designing a safe hash function can be reduced to that of designing a safe compression function. A compression function h is a function that takes as input a fixed size value of (r + ri) bits and returns a value of size n bits; a compression function is considered safe if it satisfies three criteria similar to those described above for a safe hash function. The hash function H associated with the compression function h is iteratively calculated as follows. The chopping message M, of arbitrary size, is concatenated with a suffix making its length equal to L-r, with L integer, and the message thus completed is divided into message blocks M ω (where i = 1.2 , ..., L) of length r bits (we use for this purpose an unambiguous suffix, called Merkle-Damgârd, which guarantees that if h is safe, then H is too). At each iteration number /, h compresses the message block M ω of r bits, and a chaining variable H (0 of n bits initialized at a constant H m at the beginning of the process.
Hm = h(H(i-χ) ,M(i)) , où / = l,2,..-,L . (l) H m = h (H (i - χ) , M (i) ), where / = 1, 2, ..-, L. (L)
Le haché H(M) est défini comme la valeur H(L) de la variable de chaînage obtenue à l'issue de la L-ième compression (ou une quelconque troncation de H(L} ).The hash H (M) is defined as the value H (L) of the chaining variable obtained at the end of the Lth compression (or any truncation of H (L) ).
De nombreuses constructions de fonctions de hachage ont été proposées. De nos jours, les plus utilisées sont soit des constructions spécifiques, soit des schémas utilisant des algorithmes de chiffrement par blocs tels que DES (initiales des mots anglais "Data Encryption Standard" signifiant "Norme de Chiffrement de Données").Many hash function constructs have been proposed. Nowadays, the most used are either specific constructs or schemes using block ciphers such as DES (initials of the English words "Data Encryption Standard" meaning "Data Encryption Standard").
Parmi les fonctions de hachage reposant sur une construction spécifique, les plus utilisées actuellement sont sans doute MD5 et SΗA-1. Cependant, des avancées récentes en cryptanalyse, telles que les articles de X. Wang et H. Yu intitulés "How to Break MD5 and Other Hash Functions" (mai 2005) et "Finding Collisions in the FuII SHA-T' (août 2005), ont mis à jour certaines faiblesses permettant de construire des collisions (au sens défini ci-dessus) avec un nombre d'opérations inférieur à une attaque par force brute. Une deuxième famille de fonctions de hachage a été normalisée par le National Institute of Standards aux Etats-Unis, mais cette construction est peu performante, et est par ailleurs très proche de SHA-1 , ce qui réduit la confiance que l'on peut lui accorder compte tenu des résultats de cryptanalyse précités.Among the hash functions based on a specific construction, the most used currently are probably MD5 and SΗA-1. However, recent advances in cryptanalysis, such as the articles by X. Wang and H. Yu titled "How to Break MD5 and Other Hash Functions" (May 2005) and "Finding Collisions in the FuII SHA-T" (August 2005) , have uncovered some weaknesses allowing to build collisions (in the sense defined above) with a number of operations less than a brute force attack.A second family of hash functions has been standardized by the National Institute of Standards in the United States, but this construction is inefficient, and is also very close to SHA-1, which reduces the confidence that we can grant it given the results of cryptanalysis mentioned above.
La confiance qu'inspirent les fonctions de hachage reposant sur des constructions spécifiques étant à l'heure actuelle remise en question, il s'ensuit un regain d'intérêt pour les schémas utilisant des primitives de chiffrement par blocs telles que DES ou AES (initiales des mots anglais "Advanced Encryption Standard" signifiant "Norme de Chiffrement Avancée"). Plusieurs de ces schémas, qui fournissent des fonctions de compression de longueur de sortie égale à un bloc et donc des fonctions de hachage de longueur de sortie égale à un bloc, ont de bonnes performances, comme par exemple la construction de Davies-Meyer (voir l'article de B. Preneel, R. Govaerts et J. Vandewalle intitulé "Hash Functions Based on Block Ciphers: a Synthetic Approach", Advances in Cryptology CRYPTO'93, Springer, Lectures Notes in Computer Science, août 1993). Cependant, ces schémas utilisés isolément présentent un inconvénient majeur : la taille de sortie des algorithmes par blocs usuels, qui détermine la taille de sortie d'une telle fonction de hachage, n'est pas suffisante ; en effet, DES opère sur des blocs de 64 bits, et l'AES opère sur des blocs de 128 bits, alors qu'une fonction de hachage sûre requiert au moins 160 bits, voire 256 bits, de sortie, pour éviter des attaques en recherche de collision par force brute.Because trust based on hash functions based on specific constructs is currently being questioned, there is a renewed interest in schemas using block ciphers such as DES or AES (initials). English words "Advanced Encryption Standard" meaning "Advanced Encryption Standard"). Several of these schemes, which provide block-length output compression functions and thus block-length output hash functions, perform well, such as the Davies-Meyer construct (see the article by B. Preneel, R. Govaerts and J. Vandewalle entitled "Hash Functions Based on Block Ciphers: a Synthetic Approach", Advances in Cryptology CRYPTO'93, Springer, Lectures Notes in Computer Science, August 1993). However, these diagrams used alone have a major disadvantage: the output size of the usual block algorithms, which determines the output size of such a hash function, is not sufficient; DES operates on 64-bit blocks, and AES operates on 128-bit blocks, whereas a safe hash function requires at least 160 bits or 256 bits of output to avoid search for collision by brute force.
Il existe donc un besoin de savoir comment construire des fonctions de compression sûres avec une taille de sortie de c-n bits, où c > \ , en utilisant des primitives de chiffrement par blocs de n bits. L'itération de telles fonctions de compression à l'aide de la construction de Merkle-Damgârd décrite précédemment permettrait en effet d'en déduire des fonctions de hachage sûres de taille de sortie c -n bits.So there is a need to know how to build safe compression functions with an output size of cn bits, where c> \, in using n-bit block cipher primitives. The iteration of such compression functions by means of the Merkle-Damgard construction described above would indeed make it possible to deduce safe hash functions of output size c -n bits.
On connaît en fait des constructions de fonctions de compression ayant une taille de sortie double (c'est à dire : c = 2). Les plus connues sont MDC2 et MDC4 (voir par exemple le livre de AJ. Menezes, P.C. van Oorschot, et S.A. Vanstone intitulé "The Handbook of Applied Cryptographf, CRC Press, 1996), qui utilisent DES comme composant interne. Cependant, plusieurs travaux ont montré que la sécurité de ces deux schémas est plus faible que celle attendue. Par exemple, lorsque l'on utilise DES comme composant interne de MDC2, des attaques fournissant une collision nécessitant seulement 228 appels à DES, au lieu de 2M appels comme souhaité, ont été trouvées.In fact, compression function constructs having a double output size (ie, c = 2) are known. The best known are MDC2 and MDC4 (see, for example, the book by AJ Menezes, PC van Oorschot, and SA Vanstone entitled "The Handbook of Applied Cryptography", CRC Press, 1996), which uses DES as an internal component. have shown that the security of these two schemas is weaker than expected, for example, when using DES as an internal component of MDC2, attacks providing a collision requiring only 2 28 calls to DES, instead of 2M calls as desired, have been found.
De nombreux autres travaux ont été menés pour construire des fonctions de compression avec une taille de sortie de 2n bits en utilisant des primitives de chiffrement par blocs de n bits. A ce jour, tous les schémas utilisant des chiffrements par blocs de n bits et maniant des clés de n bits ont été cassés. Il a par ailleurs été proposé (voir l'article de S. Hirose intitulé "Provably Secure Double-BIock-Length Hash Functions in a Black-box Modef, International Conférence on Information Security and Cryptology ICISC'04, Springer, Lectures Notes in Computer Science, décembre 2004) une fonction de hachage de longueur de sortie 2n bits prouvée sûre, nécessitant de disposer d'un chiffrement par blocs de n bits dont la longueur des clés est de 2« bits ; mais cela représente une limitation dans le choix des algorithmes de chiffrement par blocs utilisables, puisque cela exclut des algorithmes comme AES-128, qui est l'algorithme de chiffrement par blocs le plus répandu (en effet, AES-128 chiffre des blocs de 128 bits au moyen d'une clé de 128 bits).Many other works have been done to build compression functions with a 2n bit output size using n-bit block cipher primitives. To date, all schemes using n-bit block ciphers and handling n-bit keys have been broken. It has also been proposed (see S. Hirose's article "Provably Secure Double-BIock-Length Hash Functions in a Black-Box Modef, International Conference on Information Security and Cryptology ICISC'04, Springer, Readings Notes in Computer Science, December 2004) a proven 2n-bit output-length hash function requiring n-bit block ciphering with a key length of 2 "bits, but this represents a limitation in the choice of usable block cipher algorithms, since this excludes algorithms like AES-128, which is the most widely used block cipher algorithm (indeed, AES-128 encrypts 128-bit blocks using a 128 key bits).
Sans se restreindre aux primitives de chiffrement par blocs, des chercheurs ont proposé (voir l'article de M. Nandi, W. Lee, K. Sakurai et S. Lee intitulé "Security Analysis of a 2/3-rate Double Length Compression Function in a Blackbox Modef, Advances in Cryptology ASIACRYPT'05, Springer, Lectures Notes in Computer Science, janvier 2005) deux fonctions de hachage de longueur double, reposant sur des primitives de longueur simple. Les constructions proposées font appel à plusieurs primitives indépendantes de taille simple, dont les sorties peuvent être combinées linéairement. Mais ces deux fonctions de hachage ont une sécurité inférieure à ce que l'on attend pour une fonction de hachage de 2« bits.Without restricting itself to block cipher primitives, researchers have proposed (see the article by Mr. Nandi, W. Lee, K. Sakurai and S. Lee entitled "Security Analysis of a 2/3-rate Double Length Compression Function". in a Blackbox Modef, Advances in Cryptology, ASIACRYPT'05, Springer, Lectures Notes in Computer Science, January 2005) Two short-length hashing functions based on single-length primitives are proposed using several independent primitives. simple, whose outputs can be linearly combined, but these two hash functions have a lower security than expected for a 2-bit hash function.
L'article "Combining Hash Functions and Block Cipher Based Hash Functions" de T. Peyrin, H. Gilbert, F. Muller et M. Robshaw (Advances in Cryptology ASIACRYPT'06, Springer, Lectures Notes in Computer Science, décembre 2006) étudie une famille de fonctions de compression de longueur de sortie égale à un multiple entier de la longueur de sortie n bits ("longueur simple") de primitives internes constituées par des fonctions de compression (que nous appellerons simplement "fonctions internes" ci-dessous). Les constructions considérées font intervenir non seulement ces fonctions internes, mais également une transformation linéaire LE des données d'entrée et une transformation linéaire Ls des données de sortie de ces fonctions internes.The article "Combining Hash Functions and Block Cipher Based Hash Functions" by T. Peyrin, H. Gilbert, F. Muller and M. Robshaw (Advances in Cryptology ASIACRYPT'06, Springer, Lectures Notes in Computer Science, December 2006) studies a family of output length compression functions equal to an integer multiple of the n-bit output length ("single length") of internal primitives consisting of compression functions (which we will simply call "internal functions" below). The constructions considered involve not only these internal functions, but also a linear transformation L E of the input data and a linear transformation L s of the output data of these internal functions.
Cet article établit un ensemble de critères que doit vérifier une fonction de compression pour qu'elle puisse résister à toutes les attaques connues ; dans le cadre de la présente invention, on appellera ces critères "critères PGMR" (initiales des auteurs de cet article). En effet, l'analyse de ces constructions permet d'établir des résultats d'impossibilité, à savoir des bornes inférieures sur le nombre t d'appels aux fonctions internes de longueur simple nécessaire pour construire une fonction de compression de longueur multiple, en fonction des paramètres précédemment définis : le nombre c de blocs de n bits en sortie de la fonction de compression de longueur multiple, le nombre k de blocs de n bits pris en entrée de chaque fonction interne de longueur simple, le nombre m de blocs de n bits de message pris en entrée de la fonction de compression de iongueur multipie. Ces résultats d'impossibilité peuvent être obtenus grâce à deux attaques génériques. La première exprime le fait que toute combinaison linéaire des blocs de sortie doit dépendre de toutes les entrées. Si cette condition n'est pas remplie, il est possible d'attaquer certains blocs de sortie indépendamment, et la sécurité s'en trouve irrémédiablement affectée. La deuxième attaque générique exprime le fait qu'il doit être impossible de générer plusieurs préimages sur certains blocs de sortie en un nombre d'opérations inférieur à ce qui serait espéré dans le cas d'une fonction de compression idéale. Pour une formulation complète de ces "critères PGMR", on se référera à cet article.This article establishes a set of criteria that a compression function must check to be able to withstand all known attacks; in the context of the present invention, these criteria will be called "PGMR criteria" (initials of the authors of this article). Indeed, the analysis of these constructions makes it possible to establish impossibility results, ie lower bounds on the number t of calls to the internal functions of simple length necessary to construct a multiple length compression function, depending previously defined parameters: the number c of blocks of n bits at the output of the multi-length compression function, the number k of blocks of n bits taken at the input of each internal function of simple length, the number m of blocks of n message bits taken as input to the multiphase compression function. These impossibility results can be obtained thanks to two generic attacks. The first one expresses the fact that any linear combination of the output blocks must depend on all inputs. If this condition is not fulfilled, it is possible to attack some output blocks independently, and security is irretrievably affected. The second generic attack expresses the fact that it must be impossible to generate several pre-images on certain output blocks in a number of operations less than what would be expected in the case of an ideal compression function. For a complete formulation of these "PGMR criteria", refer to this article.
En particulier, cet article montre que l'on peut en principe construire, à partir de fonctions internes de taille de sortie de n bits, des fonctions de compression vérifiant les critères PGMR et présentant une taille de sortie c-n bits, avec c > \ . Toutefois, cet article ne propose qu'un nombre très limité de façons de construire, en pratique, une fonction de compression h possédant les propriétés susvisées.In particular, this article shows that it is possible in principle to construct, from internal functions of n-bit output size, compression functions satisfying the PGMR criteria and having a c-n bit output size, with c> \. However, this article proposes only a very limited number of ways of constructing, in practice, a compression function h having the aforementioned properties.
La présente invention concerne donc un procédé de compression de données, dans lequel on traite des blocs Mn (où u = l,...,m ) extraits d'un message M et des blocs de chaînage Hv (où v = l,...,c , avec c > \ ), pour donner c nouveaux blocs de chaînage H\ (où v = l,...,c), tous les blocs étant de longueur n bits. Ce procédé vérifie les "critères PGMR" de sécurité cryptographique, et comprend les étapes suivantes :The present invention therefore relates to a data compression method, in which blocks M n (where u = 1, ..., m) are extracted from a message M and chaining blocks H v (where v = 1 , ..., c, with c> \), to give c new chaining blocks H \ (where v = l, ..., c), all blocks being of length n bits. This method verifies the "PGMR criteria" of cryptographic security, and includes the following steps:
- on applique au vecteur d'entrée E = (Mι,...,Mm,Hv...,Hc) une transformation GF(2)-affîne LE produisant t (où t ≥ 1 ) k -uplets de blocs (où k ≥ l ), chaque bloc étant de longueur n bits, - on fournit chacun desdits /t-uplets de blocs en entrée à une fonction interne respective fp (où p = \,...,t ), qui produit un bloc Sp de n bits en sortie, et- is applied to the input vector E = (M ι , ..., M m , H v ..., H c ) a transformation GF (2) -affine L E producing t (where t ≥ 1) k - tuples of blocks (where k ≥ l), each block being of length n bits, each of said input block tuples / t-tuples is provided with a respective internal function f p (where p = \, ..., t), which produces a block S p of n bits at the output, and
- on obtient lesdits nouveaux blocs de chaînage H\ ,...,H'C en appliquant une transformation GF(2)-affine I? au vecteursaid new H \, ..., H ' C chain blocks are obtained by applying a GF (2) -affine I? to the vector
F = (Mv...,Mm,Hι,.,Hc,Sι,...,St) .F = (M v ..., M m , H ι,,, H c , S ι , ..., S t ).
Ladite transformation affine LE est remarquable en ce qu'elle combine linéairement au moins un bloc de message M11 avec au moins un bloc de chaînage Hv pour fournir les données en entrée d'au moins une desdites fonctions internes fp . En d'autres termes, le "ou-exclusif d'au moins un bit d'au moins un bloc de message M11 et d'au moins un bit d'au moins un bloc de chaînage Hv figure dans l'expression affine d'au moins un des k -n bits d'entrée d'au moins une des fonctions internes fp .Said affine transformation L E is remarkable in that it linearly combines at least one message block M 11 with at least one chaining block H v to supply the input data of at least one of said internal functions f p . In other words, the "or-exclusive of at least one bit of at least one message block M 11 and at least one bit of at least one chaining block H v is in the affine expression at least one of the k -n input bits of at least one of the internal functions f p .
Bien entendu, ledit message M traité selon l'invention peut être en fait le résultat de la concaténation d'un message à hacher d'origine, avec un suffixe non ambigu, comme expliqué précédemment.Of course, said message M processed according to the invention may in fact be the result of the concatenation of an original hash message, with an unambiguous suffix, as explained above.
Ainsi, selon l'invention, la transformation affine LE selon l'invention mélange (à l'aide d'un "ou-exclusif) au moins certains bits des blocs de chaînage avec certains bits des blocs de message afin de produire certaines des entrées des fonctions internes. Une telle approche, qui revient à traiter les blocs de message et les blocs de chaînage de manière analogue, est contraire à celle que suggère la structure des fonctions de compression utilisées pour construire certaines fonctions de hachage connues, comme MD5 ou SHA-1 , où les blocs de message et les blocs de chaînage sont traités d'une manière très différente les uns des autres.Thus, according to the invention, the affine transformation L E according to the invention mixes (using an "exclusive-or-exclusive") at least some bits of the chaining blocks with certain bits of the message blocks in order to produce some of the This approach, similar to handling message blocks and chaining blocks in a similar way, is contrary to that suggested by the structure of the compression functions used to build some known hash functions, such as MD5 or SHA-1, where message blocks and chaining blocks are treated in a very different way from each other.
Selon des caractéristiques particulières, le nombre c de blocs de chaînage est égal à 2 ; autrement dit, la fonction de compression présente, dans ce mode de réalisation, une taille de sortie double (c = 2) de celle des fonctions internes utilisées. Ce mode de réalisation est très utile en pratique ; il permet par exemple de disposer d'une sortie de 256 bits tout en utilisant AES-128 comme primitive (pour les fonctions internes).According to particular features, the number c of chaining blocks is equal to 2; in other words, the compression function has, in this embodiment, a double output size (c = 2) of that of the internal functions used. This embodiment is very useful in practice; it allows for example to have a 256-bit output while using AES-128 as a primitive (for internal functions).
Dans le cas où, comme précédemment, le nombre c de blocs de sortie est égal à 2, et où, par ailleurs, l'on dispose de fonctions internes prenant en entrée k = 2 blocs de n bits (obtenues par exemple en faisant appel à une fonction de chiffrement par blocs possédant une clé de longueur un bloc), on peut établir, sur la base des critères PGMR, qu'il n'existe aucune construction parallèle sûre de longueur de sortie double telle que le nombre m de blocs de message traités par la fonction de compression soit égal à un bloc ou deux blocs, et utilisant strictement moins de t = 5 appels à des fonctions internes de taille simple. C'est pourquoi, selon des caractéristiques encore plus particulières, on prend c = 2 , k = 2 , m = 2 , et t = 5.In the case where, as previously, the number c of output blocks is equal to 2, and where, moreover, we have internal functions taking as input k = 2 blocks of n bits (obtained for example by calling to a block cipher function with a length key a block), it can be established, on the basis of the PGMR criteria, that there is no safe parallel parallel output length construction such that the number m of block message processed by the compression function be equal to one block or two blocks, and using strictly less than t = 5 calls to single-size internal functions. That is why, according to even more particular characteristics, we take c = 2, k = 2, m = 2, and t = 5.
Grâce à ces dispositions, lorsque l'on construit, comme expliqué ci- dessus, une fonction de hachage H par itérations successives de la fonction de compression h , on utilise à chaque itération un bloc de message Mω constitué de 2 blocs de longueur n bits M,(o et Mf , tout en faisant appel à une fonction interne fp aussi rarement (à savoir, 5 fois) qu'il est possible sur le plan théorique. De ce fait, le message à hacher M est traité rapidement, avec une sécurité garantie pour la fonction de hachage H . Les blocs n bits M,ω et M2 (i} seront notés M1 et M2 dans la suite, dans des contextes où il n'est pas nécessaire de préciser le numéro d'itération i considéré.Thanks to these arrangements, when building, as explained above, a hash function H by successive iterations of the compression function h is used at each iteration a ω message block M consisting of two blocks of length n bits M, (o and Mf, while using an internal function f p as seldom (ie, 5 times) as theoretically possible, thus the message to be chopped M is processed quickly, with guaranteed security for the hash function H. The n-bit blocks M, ω and M 2 (i) will be denoted M 1 and M 2 in the following, in contexts where it is not necessary to specify the number d Iteration i considered.
On peut montrer que, toujours dans le mode de réalisation où c = 2 , k = 2 , m = 2 , et t = 5 , les critères PGMR sont satisfaits si l'on choisit les transformations linéaires If et If de la façon suivante :It can be shown that, still in the embodiment where c = 2, k = 2, m = 2, and t = 5, the PGMR criteria are satisfied if the linear transformations If and If are chosen in the following way:
Lε(u)[E]≈ Mλ Φ H2
Figure imgf000008_0001
EV2)[E]= H2
L ε (u) [E] ≈ M λ Φ H 2
Figure imgf000008_0001
EV 2 ) [E] = H 2
ZV)[E] = M2 Θ H2
Figure imgf000008_0002
lfw)[E]≈ Mλ ®H2
ZV) [E] = M 2 Θ H 2
Figure imgf000008_0002
lfw) [E] ≈ M λ ®H 2
EV2)[E]= H2
Figure imgf000008_0003
EV 2 ) [E] = H 2
Figure imgf000008_0003
EV2)[E]=H1
Figure imgf000008_0004
EV 2 ) [E] = H 1
Figure imgf000008_0004
L3 H)[F] = S^ S4 Φ S5 où lf{p q) (où p = l,...j et q = l,...,k ) désigne la fonction GF(2)-affine de (m + c)- n bits vers n bits dont la sortie constitue le g -ième bloc fourni en entrée à la fonction interne fp , et Ls ivj (où v = l,...,c) désigne la fonction GF(2)-affîne de (t + m + c)-n bits vers n bits dont la sortie constitue le blocL 3 H ) [F] = S ^ S 4 Φ S 5 where lf {pq) (where p = 1, ... j and q = 1, ..., k) denotes the GF (2) -affine function of (m + c) - n bits to n bits whose output constitutes the g-th block supplied as input to the internal function f p , and L s ivj (where v = 1, ..., c) denotes the function GF (2) -affine of (t + m + c) -n bits to n bits whose output constitutes the block
Comme expliqué ci-dessus, savoir construire des fonctions de hachage sûres de taille multiple présente en particulier un grand intérêt lorsque l'on veut construire les fonctions internes à l'aide de schémas utilisant des algorithmes de chiffrement par blocs tels que l'AΕS ou DES. C'est pourquoi, selon des caractéristiques particulières, les fonctions internes /„...,/ sont construites à partir d'un algorithme de chiffrement par blocs de n bits et utilisant des clés de n bits.As explained above, knowing how to build safe hash functions of multiple size is of particular interest when one wants to build internal functions using schemas using block cipher algorithms such as AΕS or OF. This is why, according to particular characteristics, the internal functions / "..., /" Are constructed from an n-bit block cipher algorithm and using n-bit keys.
On connaît d'ailleurs plusieurs types de constructions sûres pour réaliser une fonction interne de taille de sortie un bloc à l'aide d'un algorithme par blocs. Pour ce faire, on peut par exemple utiliser la construction de Davies-Meyer déjà mentionnée.Moreover, several types of safe constructions are known for producing an internal function of output size of a block by means of a block algorithm. To do this, one can for example use the construction of Davies-Meyer already mentioned.
L'invention concerne également un procédé de hachage mettant en œuvre des itérations successives de l'un quelconque des procédés de compression de données succinctement exposés ci-dessus. Comme expliqué ci-dessus, on peut par exemple utiliser pour ce faire la construction de Merkle-Damgârd.The invention also relates to a hashing method implementing successive iterations of any of the data compression methods succinctly described above. As explained above, one can for example use the construction of Merkle-Damgârd.
Corrélativement, l'invention concerne un dispositif de compression de données, dans lequel sont traités des blocs M11 (où u = l,...,m ) extraits d'un message M et des blocs de chaînage Hv (où v = l,...,c , avec c > \ ), pour donner c nouveaux blocs de chaînage H\ (où v = l,...,c), tous les blocs étant de longueur n bits, ledit traitement vérifiant les "critères PGMR" de sécurité cryptographique, ledit dispositif comprenant : des moyens pour appliquer au vecteur d'entrée E = (Mι,...,Mm,Hι,...,Hc) une transformation GF(2)-affine LE produisant t (où t ≥ 1 ) k -uplets de blocs (où k ≥ 1 ), chaque bloc étant de longueur n bits,Correlatively, the invention relates to a data compression device, in which are processed blocks M 11 (where u = 1, ..., m) extracted from a message M and chaining blocks H v (where v = l, ..., c, with c> \), to give c new chaining blocks H \ (where v = l, ..., c), all the blocks being of length n bits, said processing satisfying the " PGMR Cryptographic Security Criteria, said device comprising: means for applying to the input vector E = (M i , ..., M m , H i , ..., H c ) a GF (2) transformation - affine L E producing t (where t ≥ 1) k -uplets of blocks (where k ≥ 1), each block being of length n bits,
- des moyens pour fournir chacun desdits k -uplets de blocs en entrée à une fonction interne respective fp (où p = \,...,t ), qui produit un bloc Sp de n bits en sortie, etmeans for supplying each of said k -uplets of input blocks to a respective internal function f p (where p = \, ..., t), which produces a block S p of n bits at the output, and
- des moyens pour obtenir lesdits nouveaux blocs de chaînage H\ ,...,H\ en appliquant une transformation GF(2)-affine Ls au vecteur- means for obtaining said new chaining blocks H \, ..., H \ by applying a transformation GF (2) -affine L s to the vector
F = (Mι,...,Mm,Hι,.,Hc,Sι,...,St) -F = (M ι , ..., M m , H ι ,., H c , S ι , ..., S t ) -
Ladite transformation affine Zf est remarquable en ce qu'elle combine linéairement au moins un bloc de message Mn avec au moins un bloc de chaînage H9 pour fournir les données en entrée d'au moins une desdites fonctions internes fp .Said affine transformation Zf is remarkable in that it linearly combines at least one message block M n with at least one H 9 chaining block to provide the input data of at least one of said internal functions f p .
Selon des caractéristiques particulières, le nombre c de blocs de chaînage est égal à 2.According to particular features, the number c of chaining blocks is equal to 2.
Selon des caractéristiques encore plus particulières, k = 2 , m = 2 , et t = 5.According to even more particular characteristics, k = 2, m = 2, and t = 5.
L'invention concerne également un dispositif de hachage comprenant l'un quelconque des dispositifs de compression de données succinctement exposés ci-dessus. Selon des caractéristiques particulières, on pourra réaliser l'un quelconque des dispositifs de compression de données ou le dispositif de hachage succinctement exposés ci-dessus dans le contexte d'un circuit électronique. Ce circuit électronique pourra, par exemple, être constitué par une puce à logique câblée.The invention also relates to a hash device comprising any of the data compression devices succinctly set forth above. According to particular features, any of the data compression devices or the hashing device succinctly set forth above may be embodied in the context of an electronic circuit. This electronic circuit may, for example, be constituted by a wired logic chip.
Les avantages offerts par ces dispositifs sont essentiellement les mêmes que ceux offerts par les procédés corrélatifs succinctement exposés ci-dessus.The advantages offered by these devices are essentially the same as those offered by the correlative methods succinctly set forth above.
L'invention vise également un programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur. Ce programme d'ordinateur est remarquable en ce qu'il comprend des instructions pour l'exécution des étapes de l'un quelconque des procédés de compression de données ou du procédé de hachage succinctement exposés ci-dessus, lorsqu'il est exécuté sur un ordinateur.The invention also relates to a computer program downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor. This computer program is notable in that it includes instructions for performing the steps of any of the data compression methods or hashing method succinctly set forth above, when executed on a computer. computer.
Les avantages offerts par ces dispositifs et ce programme d'ordinateur sont essentiellement les mêmes que ceux offerts par lesdits procédés.The advantages offered by these devices and this computer program are essentially the same as those offered by said methods.
D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-dessous de modes de réalisation particuliers, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels :Other aspects and advantages of the invention will appear on reading the detailed description below of particular embodiments, given by way of non-limiting examples. The description refers to the accompanying drawings, in which:
- la figure 1 est un schéma synoptique illustrant le principe général d'une fonction de compression selon l'invention, etFIG. 1 is a block diagram illustrating the general principle of a compression function according to the invention, and
- la figure 2 est un schéma synoptique illustrant un mode de réalisation d'une fonction de compression selon l'invention.FIG. 2 is a block diagram illustrating an embodiment of a compression function according to the invention.
L'invention construit des fonctions de compression h résistant aux attaques connues, qui peuvent notamment servir à construire des fonctions de hachage H sûres, par exemple au moyen de la construction de Merkle- Damgârd décrite ci-dessus. L'invention propose donc à cet effet des fonctions de compression h , dont la figure 1 illustre le principe général.The invention constructs known attack-resistant compression functions, which can in particular be used to construct safe hash functions, for example by means of the Merkle-Damgard construction described above. To this end, the invention proposes compression functions h, of which FIG. 1 illustrates the general principle.
Selon ce principe général, la fonction de compression h prend en entrée m blocs M11 (où u = \...,m ) de message de n bits chacun, et c blocsAccording to this general principle, the compression function h takes as input m blocks M 11 (where u = \ ..., m) of message of n bits each, and c blocks
(où o 1 ) de variables de chaînage H1,..., H c de n bits chacun, et renvoie en sortie c blocs H1, ,...,H'C de n bits chacun.(where o 1) chaining variables H 1 ,..., H c of n bits each, and returns at the output c blocks H 1 ,,..., H ' C of n bits each.
On note E = (Mλ,..,1Mm,Hi,...,Hc) le vecteur des entrées. On applique au vecteur E une transformation GF(2)-linéaire (où GF(2) désigne le corps fini à deux éléments), ou plus généralement GF(2)-affine (c'est à dire "linéaire+constante additive"), appelée LE . La sortie de la transformation LE est constituée de (k • t) blocs (où k ≥ 1 et t ≥ 1 ) de longueur n (remarque : (m + c) n'est pas nécessairement égal à (£ •/) ). On utilise ensuite t fonctions internes /„...,/, de taille de sortie égaie à n bits, prenant chacune k blocs de n bits en entrée et renvoyant un bloc Sp (où p = \,...,t ) de n bits en sortie. On notera dans la suite F le vecteurWe denote E = (M λ , .., 1 M m , H i , ..., H c ) the input vector. We apply to the vector E a GF (2) -linear transformation (where GF (2) denotes the finite field with two elements), or more generally GF (2) -affine (ie "linear + constant additive") called L E. The output of the transformation L E consists of (k • t) blocks (where k ≥ 1 and t ≥ 1) of length n (note: (m + c) is not necessarily equal to (£ • /)) . We then use t internal functions /"...,/, of output size equal to n bits, each taking k blocks of n bits in input and returning a block S p (where p = \, ..., t) of n bits in exit. We will note in the following F the vector
(Mι,...,Mm,Hι,-,Hc,Sv...,Sl) . Enfin, on applique une transformation GF(2)- linéaire ou plus généralement GF(2)-affine Ls au vecteur F pour obtenir le vecteur {H\ ,...,H'C ).(M ι , ..., M m , H ι , -, H c , S v ..., S l ). Finally, a GF (2) - linear or more generally GF (2) -affinity L s transformation is applied to the vector F to obtain the vector {H \, ..., H ' C ).
Plus précisément, la transformation d'entrée LE permet d'exprimer chacun des n bits de chacun des k blocs d'entrée de chacune des fonctions internes fp comme la somme modulo 2 d'une combinaison linéaire fixée desMore precisely, the input transformation L E makes it possible to express each of the n bits of each of the k input blocks of each of the internal functions f p as the sum modulo 2 of a fixed linear combination of
(m + c) -n bits de l'entrée E et d'une constante binaire. Le g-ième bloc d'entrée de la p -ième fonction interne est donc défini à l'aide d'une fonction GF(2)-affine de (m + c) - n bits vers n bits LE p q) (où p = \,...,t et q = \,...,k ) appliquée à l'entrée E . En ce qui concerne la sortie, la fonction de compression h comporte une transformation GF(2)-affine I? permettant d'exprimer chacun des n bits de chacun des c mots de sortie H\ (où v = l,...,c) comme la somme modulo 2 d'une combinaison linéaire fixée des bits de F et d'une constante binaire. Chaque bloc de sortie H\ de la fonction de compression h est donc défini à l'aide de la fonction GF(2)-affine de (t + m + c)-n bits vers n bits Lfv) appliquée au vecteur F . Cette procédure peut être décrite à l'aide des équations suivantes :
Figure imgf000011_0001
(m + c) -n bits of the input E and a binary constant. The g-th input block of the p-th internal function is thus defined using a GF (2) -affine function of (m + c) - n bits to n bits L E pq) (where p = \, ..., t and q = \, ..., k) applied to the input E. With regard to the output, the compression function h has a GF (2) -affinity I? allowing to express each of the n bits of each of the c output words H \ (where v = 1, ..., c) as the sum modulo 2 of a fixed linear combination of the bits of F and a binary constant . Each output block H 1 of the compression function h is thus defined using the function GF (2) -affine of (t + m + c) -n bits to n bits Lf v) applied to the vector F. This procedure can be described using the following equations:
Figure imgf000011_0001
H\ = L\v)[F} = Ls iv)[Mx,...,Mm,Hx,...,Hc,Sλ,...,Stl OÙ v = l,...,c (3)H \ = L \ v) [F} = L s iv) [M x, ..., M m, H x, ..., H c, λ S, ..., S t l where v = l , ..., c (3)
Conformément à l'invention, ladite transformation affine LE combine linéairement au moins un bloc de message M11 avec au moins un bloc de chaînage Hv pour fournir les données en entrée d'au moins une desdites fonctions internes fp .According to the invention, said affine transformation L E linearly combines at least one message block M 11 with at least one chaining block H v to supply the input data of at least one of said internal functions f p .
On va décrire à présent une construction particulière, illustrée sur la figure 2, possédant les caractéristiques précédentes et produisant une fonction de compression h de taille de sortie double (c = 2), prenant en entrée m = 2 blocs de message notés M1 et Mx et 2 blocs de chaînage notés H1 et H2 . La fonction de compression renvoie alors 2 blocs de n bits (H\ , H\ ) = h{Mγ, M2, H j, H2) . Ainsi, dans ce mode de réalisation, E = (Mι,M2,H,,H2) et F = (Mι,M2,Hι,H2A^2,S3,S4,S5).We will now describe a particular construction, illustrated in FIG. 2, having the above characteristics and producing a compression function h of double output size (c = 2), taking as input m = 2 message blocks denoted M 1 and M x and 2 chaining blocks denoted H 1 and H 2 . The compression function then returns 2 blocks of n bits (H \, H \) = h {M γ , M 2 , H j , H 2 ). Thus, in this embodiment, E = (M ι, M 2, M ,, M 2) and F = (M ι, M 2, H ι, H 2 N- 2, S 3, S 4, S 5 ).
Pour compléter la description de ce mode de réalisation, il suffit alors de spécifier les transformations affines LE et Ls . Elles sont données par les équations suivantes, où l'opération ou-exclusif bit à bit (également appelée "XOR") entre deux blocs de n bits est représentée par le symbole Θ :
Figure imgf000012_0001
To complete the description of this embodiment, it is then sufficient to specify the affine transformations L E and L s . They are given by the following equations, where the bitwise exclusive-or-bitwise operation (also called "XOR") between two blocks of n bits is represented by the symbol Θ:
Figure imgf000012_0001
EV2)[E] = H2
Figure imgf000012_0002
EV 2 ) [E] = H 2
Figure imgf000012_0002
EV2)[E]= H1 e H2 EV 2 ) [E] = H 1 e H 2
EVo[E]= M^ H2 EVo [E] = M ^ H 2
IV2)[E]=H2
Figure imgf000012_0003
IV 2 ) [E] = H 2
Figure imgf000012_0003
EV [E] = S1 θ S2 θ S3
Figure imgf000012_0004
EV [E] = S 1 θ S 2 θ S 3
Figure imgf000012_0004
On peut montrer que ce choix particulier du coupie ( Lr , Lf ) permet à la fonction de compression h résultante de résister à tous les types d'attaques connus à ce jour. Plus précisément, il n'existe aucune attaque connue à ce jour contre cette fonction de compression qui serait plus efficace, en termes de temps de calcul, que les attaques génériques contre toute fonction de An bits vers 2n bits.It can be shown that this particular choice of the cut (Lr, Lf) allows the resulting compression function h to resist all types of attacks known to date. Specifically, there is no known attack to date against this compression function that would be more efficient in terms of computation time, than generic attacks against any function of An bits to 2n bits.
Cette construction permet de satisfaire la borne t = 5 , mentionnée ci- dessus, dans le cas où m = 2 ; cette valeur de m est très intéressante en pratique, par comparaison avec le cas m = 1 , car elle correspond à un gain d'un facteur proche de 2 en termes de vitesse d'exécution lors de la mise en œuvre de la fonction de hachage H correspondante.This construction satisfies the terminal t = 5, mentioned above, in the case where m = 2; this value of m is very interesting in practice, compared with the case m = 1, because it corresponds to a gain of a factor close to 2 in terms of speed of execution during the implementation of the hash function H corresponding.
Par ailleurs, si l'on examine (toujours pour les paramètres c = 2 , k = 2 , m = 2 , t = 5 ) \a classe la plus naturelle de transformations affines Lf , à savoir celle des transformations affines pour lesquelles chacun des (k -t) blocs d'entrée des fonctions internes Z1 Q f1 résulte du "ou-exclusif" bit à bit d'un sous-ensemble des (m + c) blocs d'entrée M1 , M2 , Hx et H2 , on peut vérifier qu'on ne peut obtenir une fonction de compression h résistant aux types d'attaques connus à ce jour, à moins, justement, d'effectuer un mélange entre les blocs M1 et M2 d'une part, et H, et H2 d'autre part.On the other hand, if one examines (again for the parameters c = 2, k = 2, m = 2, t = 5) the most natural class of affine transformations Lf, namely that of the affine transformations for which each of the (k -t) input blocks of internal functions Z 1 Q f 1 result from the "exclusive-or" bit-by-bit of a subset of (m + c) input blocks M 1 , M 2 , H x and H 2 , it can be verified that one can not obtain a compression function h resistant to the types of attacks known to date, unless, indeed, to perform a mixture between the blocks M 1 and M 2 of one hand, and H, and H 2 on the other hand.
Comme expliqué ci-dessus, on peut construire une fonction de hachage H de taille de sortie deux blocs et résistant aux types d'attaques connus à ce jour, à partir des fonctions de compression h selon l'invention au moyen du chaînage de Merkfe-Damgârd. Plus précisément, le message à hacher est divisé en blocs de message de 2« bits, au besoin en ajoutant un suffixe pour obtenir que le nombre de bits à hacher soit un multiple de 2n (ce suffixe peut spécifier la taille du message original de manière à éviter toute ambiguïté sur l'interprétation du message ainsi étendu). On utilise alors la fonction de compression h qui comprime, à chaque itération i , 2 blocs de messages M1 et M2 de n bits chacun et de 2 blocs de chaînage H1 et H2 de n bits chacun, pour fournir 2 blocs de chaînage H\ et H\ de n bits chacun ; autrement dit, en référence à l'équation (1 ) ci-dessus :As explained above, it is possible to construct a hash function H of output size two blocks and resistant to the types of attack known to date, from the compression functions h according to the invention by means of the Merkfe- Damgård. Specifically, the message to be chopped is divided into 2-bit message blocks, if necessary by adding a suffix to obtain the number of bits to be chopped to be a multiple of 2n (this suffix can specify the size of the original message so to avoid any ambiguity about the interpretation of the message thus extended). We then use the compression function h which compresses, at each iteration i, 2 blocks of messages M 1 and M 2 of n bits each and 2 chaining blocks H 1 and H 2 of n bits each, to provide 2 chaining blocks H 1 and H 1 of n bits each; in other words, with reference to equation (1) above:
M(i) = (M15M2) , H{M) = (H15H2) , et H(I) = (H\ ,H'2 ) . (e)M (i) = (M 15 M 2 ), H (M) = (H 15 H 2 ), and H (I) = (H 1, H ' 2 ). (E)
De nombreux autres modes de réalisation de la présente invention peuvent être envisagés.Many other embodiments of the present invention may be contemplated.
En effet, la fonction de compression décrite ci-dessus est un membre de toute une famille de fonctions de compression dans la mesure où, d'une part, il existe d'autres fonctions de compression décrites à l'aide de systèmes d'équations possédant une structure analogue, mais dont le détail de l'expression diffère, et où, d'autre part, toute transformation affine bijective des entrées et/ou des sorties d'une fonction de compression produit une fonction de compression équivalente du point de vue de la résistance aux attaques, et relativement proche du point de vue de l'efficacité d'emploi. Conformément à la présente invention, toutes les transformations affines valides pour lesquelles chaque bloc de sortie de LE est défini comme le "ou- exclusif" d'un sous-ensemble des blocs d'entrée comportent nécessairement un mélange des blocs de message et des blocs de chaînage.Indeed, the compression function described above is a member of an entire family of compression functions in that, on the one hand, there are other compression functions described using systems of equations. having an analogous structure, but whose detail of expression differs, and where, on the other hand, any bijective affine transformation of the inputs and / or outputs of a compression function produces an equivalent compression function from the point of view resistance to attack, and relatively close to the point of view of employment efficiency. In accordance with the present invention, all valid affine transformations for which each output block of L E is defined as the "exclusive-or" of a subset of the input blocks necessarily include a mixture of message blocks and messages. chaining blocks.
On notera par ailleurs que, dans le mode de réalisation présenté ci- dessus, le résultat de la transformation linéaire I? ne dépend que des blocs Sp (où p = \,...,t ) ; toutefois, l'invention n'exclut nullement de manière générale que le résultat de la transformation linéaire Ls dépende des blocs Mu ou Hv (comme l'exprime l'équation (3) ci-dessus).Note also that, in the embodiment presented above, the result of the linear transformation I? depends only on the blocks S p (where p = \, ..., t); however, the invention does not exclude generally that the result of the linear transformation L s depends on the blocks M u or H v (as expressed in equation (3) above).
Pour construire des fonctions de compression h sûres utilisant une pluralité t > \ de fonctions internes fp , il est préférable que les différentes fonctions internes soient assez différentes les unes des autres. Cela peut être obtenu par diverses méthodes. Par exemple, il est possible d'utiliser différentes variantes simples d'un même algorithme de chiffrement par blocs (utilisation de variantes d'AES faisant précéder ou suivre le calcul de l'un des tours d'AES par l'addition de constantes internes propres à chaque variante).To construct safe compression functions using a plurality of internal functions f p , it is preferable that the different internal functions are rather different from each other. This can be achieved by various methods. For example, it is possible to use different simple variants of the same block cipher algorithm (use of AES variants preceding or following the calculation of one of the AES turns by the addition of internal constants specific to each variant).
Comme indiqué ci-dessus, la présente invention concerne également un système informatique mettant en œuvre le procédé de compression de données décrit ci-dessus. Ce système informatique comporte de manière classique une unité centrale de traitement commandant par des signaux une mémoire, ainsi qu'une unité d'entrée et une unité de sortie.As indicated above, the present invention also relates to a computer system implementing the data compression method described above. This computer system conventionally comprises a central processing unit controlling signals by a memory, as well as an input unit and an output unit.
De plus, ce système informatique peut être utilisé pour exécuter un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de compression de données selon l'invention.In addition, this computer system can be used to execute a computer program comprising instructions for implementing the data compression method according to the invention.
En effet, l'invention vise aussi un programme d'ordinateur téléchargeable depuis un réseau de communication comprenant des instructions pour l'exécution des étapes d'un procédé de compression de données selon l'invention lorsqu'il est exécuté sur un ordinateur. Ce programme d'ordinateur peut être stocké sur un support lisible par ordinateur et peut être exécutable par un microprocesseur.Indeed, the invention also relates to a downloadable computer program from a communication network comprising instructions for performing the steps of a data compression method according to the invention when executed on a computer. This computer program may be stored on a computer readable medium and may be executable by a microprocessor.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.
L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus.The invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ("floppy dise" en anglais) ou un disque dur.The information carrier may be any entity or device capable of storing the program. For example, the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk ("floppy dise"). ) or a hard disk.
D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.On the other hand, the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be downloaded in particular on an Internet type network.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

Claims

R E V E N D I C A T I O N S
1. Procédé de compression de données, dans lequel on traite des blocs M11 (où u = l,...,m ) extraits d'un message M et des blocs de chaînage Hv (où v - l,...,c , avec o l ), pour donner c nouveaux blocs de chaînage H\ (où v = l,...,c), tous les blocs étant de longueur n bits, ledit procédé vérifiant les "critères PGMR" de sécurité cryptographique, et comprenant les étapes suivantes :A method of data compression, in which blocks M 11 (where u = 1, ..., m) are extracted from a message M and chaining blocks H v (where v - 1, ... , c, with ol), to give c new chaining blocks H \ (where v = 1, ..., c), all the blocks being of length n bits, said method verifying the "criteria PGMR" of cryptographic security, and comprising the following steps:
- on applique au vecteur d'entrée E = (M],...,Mm,H1,...,Hc) une transformation GF(2)-affine If produisant t (où t ≥ \ ) £-uplets de blocs (où k ≥ 1 ), chaque bloc étant de longueur n bits,the input vector E = (M ] , ..., M m , H 1 ,..., H c ) is subjected to a GF (2) -affine transformation If t (where t ≥ \) £ - tuples of blocks (where k ≥ 1), each block being of length n bits,
- on fournit chacun desdits £-uplets de blocs en entrée à une fonction interne respective fp (où p = l,...,t ), qui produit un bloc Sp de n bits en sortie, eteach of said--uplets of input blocks is provided with a respective internal function f p (where p = 1,..., t), which produces a block S p of n bits at the output, and
- on obtient lesdits nouveaux blocs de chaînage H\ ,...,H'C en appliquant une transformation GF(2)-affine Ls au vecteur- is obtained in said new block chaining H \, ..., H 'C by applying a transformation GF (2) -affine L s to the vector
F = (Mι,...,Mm,Hι,...,Hc,Sι,...,St) , caractérisé en ce que ladite transformation affine If combine linéairement au moins un bloc de message M11 avec au moins un bloc de chaînage Hv pour fournir les données en entrée d'au moins une desdites fonctions internes fp .F = (M ι , ..., M m , H ι , ..., H c , S ι , ..., S t ), characterized in that said affine transformation If linearly combines at least one message block M 11 with at least one H v chaining block to provide input data of at least one of said internal functions f p.
2. Procédé de compression de données selon la revendication 1 , caractérisé en ce que le nombre c de blocs de chaînage est égal à 2.Data compression method according to claim 1, characterized in that the number c of chaining blocks is 2.
3. Procédé de compression de données selon la revendication 2, caractérisé en ce que k = 2 , m = 2 , et t = 5.Data compression method according to claim 2, characterized in that k = 2, m = 2, and t = 5.
4. Procédé de compression de données selon la revendication 3, caractérisé en ce que les transformations linéaires LE et If sont définies de la façon suivante :
Figure imgf000015_0001
4. Data compression method according to claim 3, characterized in that the linear transformations L E and If are defined as follows:
Figure imgf000015_0001
LE M)[E] = M2
Figure imgf000015_0002
L E M) [E] = M 2
Figure imgf000015_0002
1,V2)[E]=H2
Figure imgf000015_0003
1 , V 2 ) [E] = H 2
Figure imgf000015_0003
EVυ [E]= M1 e H2 EVυ [E] = M 1 e H 2
EV2)[E]= H2 EV 2 ) [E] = H 2
If15 I)[E] = M1 (B M2
Figure imgf000016_0001
If 15 I) [E] = M 1 ( BM 2
Figure imgf000016_0001
I5 O)[F]= S1 θ S2 Φ S3
Figure imgf000016_0002
S5 où Lk (p q) (où p = \,...,t et ^ = 1,...,Jk ) désigne la fonction GF(2)-affine de (m + c)- n bits vers n bits dont ia sortie constitue le g-ièrne bloc fourni en entrée à la fonction interne fp , et Ls (v) (où v = l,...,c ) désigne la fonction GF(2)-affine de (t + m + c)-n bits vers n bits dont la sortie constitue le bloc
I 5 O ) [F] = S 1 θ S 2 Φ S 3
Figure imgf000016_0002
S 5 where L k (pq) (where p = \, ..., t and ^ = 1, ..., Jk) denotes the GF (2) -affine function of (m + c) - n bits to n bits whose output is the g-th block input to the internal function f p , and L s (v) (where v = 1, ..., c) denotes the GF (2) -affine function of (t + m + c) -n bits to n bits whose output is the block
5. Procédé de compression de données selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les fonctions internes /,,...,/, sont construites à partir d'un algorithme de chiffrement par blocs de n bits et utilisant des clés de n bits.Data compression method according to one of claims 1 to 4, characterized in that the internal functions /,,,,,,,,,,, are constructed from an n-bit block cipher algorithm and using n-bit keys.
6. Procédé de hachage mettant en œuvre des itérations successives d'un procédé de compression de données selon l'une quelconque des revendications 1 à 5.6. A hashing method implementing successive iterations of a data compression method according to any one of claims 1 to 5.
7. Dispositif de compression de données, dans lequel sont traités des blocs Mn (où u = l,...,m ) extraits d'un message M et des blocs de chaînage H1, (où v = l,...,c , avec o l ), pour donner c nouveaux blocs de chaînage H\ (où v = l,...,c), tous les blocs étant de longueur n bits, ledit traitement vérifiant les "critères PGMR" de sécurité cryptographique, ledit dispositif comprenant : des moyens pour appliquer au vecteur d'entrée E = (Mι,...,Mm,Hi,...,Hc) une transformation GF(2)-affine il produisant t (où t ≥ 1 ) k -uplets de blocs (où k ≥ \ ), chaque bloc étant de longueur n bits,7. Data compression device, in which are processed blocks M n (where u = 1, ..., m) extracted from a message M and chaining blocks H 1 , (where v = 1, .. .c, with ol), to give c new chaining blocks H \ (where v = l, ..., c), all the blocks being of length n bits, said processing verifying the cryptographic security "PGMR criteria" , said device comprising: means for applying to the input vector E = (M ι , ..., M m , H i , ..., H c ) a GF (2) -affine transformation producing t (where t ≥ 1) k -uplets of blocks (where k ≥ \), each block being of length n bits,
- des moyens pour fournir chacun desdits £ -uplets de blocs en entrée à une fonction interne respective fp (où p - \,.,.,t ), qui produit un bloc Sp de n bits en sortie, etmeans for supplying each of said input block -uplets to a respective internal function f p (where p - \,.,., t), which produces a block S p of n output bits, and
- des moyens pour obtenir lesdits nouveaux blocs de chaînage H\ ,...,H'C en appliquant une transformation GF(2)-affine Ls au vecteur- means for obtaining said new block chaining H \, ..., H 'C by applying a transformation GF (2) -affine L s to the vector
F = (Mi ,...,Mm,Hι,...,Hc,Sι,...,St) , caractérisé en ce que ladite transformation affine LE combine linéairement au moins un bloc de message M11 avec au moins un bloc de chaînage Hv pour fournir les données en entrée d'au moins une desdites fonctions internes / ' P .F = (M i , ..., M m , H ι , ..., H c , S ι , ..., S t ), characterized in that said affine transformation L E linearly combines at least one block of M 11 message with at least one H v chaining block to provide the input data of at least one of said internal functions / 'P.
8. Dispositif de compression de données selon la revendication 7, caractérisé en ce que le nombre c de blocs de chaînage est égal à 2. 8. Data compression device according to claim 7, characterized in that the number c of chaining blocks is equal to 2.
9. Dispositif de compression de données selon la revendication 8, caractérisé en ce que k = 2 , m = 2 , et t = 5.Data compression device according to claim 8, characterized in that k = 2, m = 2, and t = 5.
10. Dispositif de hachage comprenant un dispositif de compression de données selon l'une quelconque des revendications 7 à 9.A hashing device comprising a data compression device according to any one of claims 7 to 9.
11. Circuit électronique, caractérisé en ce qu'il comprend un dispositif de compression de données selon l'une quelconque des revendications 7 à 9, ou un dispositif de hachage selon la revendication 10.11. Electronic circuit, characterized in that it comprises a data compression device according to any one of claims 7 to 9, or a hash device according to claim 10.
12. Circuit électronique selon la revendication 11 , caractérisé en ce qu'il est constitué par une puce à logique câblée.12. Electronic circuit according to claim 11, characterized in that it consists of a wired logic chip.
13. Programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions pour l'exécution des étapes du procédé de compression de données selon l'une quelconque des revendications 1 à 5 ou du procédé de hachage selon la revendication 6, lorsqu'il est exécuté sur un ordinateur. 13. Computer program downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor, characterized in that it comprises instructions for the execution of the steps of the compression method of data according to any one of claims 1 to 5 or the hash method according to claim 6 when executed on a computer.
PCT/FR2007/052415 2006-12-01 2007-11-28 Data compression function of multiple lengths using single-lengths internal functions WO2008065308A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0655265A FR2909498A1 (en) 2006-12-01 2006-12-01 MULTIPLE LENGTH DATA COMPRESSION FUNCTION USING SINGLE LENGTH INTERNAL FUNCTIONS
FR0655265 2006-12-01

Publications (1)

Publication Number Publication Date
WO2008065308A1 true WO2008065308A1 (en) 2008-06-05

Family

ID=38197622

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/052415 WO2008065308A1 (en) 2006-12-01 2007-11-28 Data compression function of multiple lengths using single-lengths internal functions

Country Status (2)

Country Link
FR (1) FR2909498A1 (en)
WO (1) WO2008065308A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10680802B2 (en) 2018-05-31 2020-06-09 Nxp B.V. High-rate multi-block-length hash function based on block ciphers

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
MRIDUL NANDI ET AL: "Security Analysis of a 2/3-Rate Double Length Compression Function in the Black-Box Model", FAST SOFTWARE ENCRYPTION LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER-VERLAG, BE, vol. 3557, 2005, pages 243 - 254, XP019011377, ISBN: 3-540-26541-4 *
PRENEEL B ET AL INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH: "HASH FUNCTIONS BASED ON BLOCK CIPHERS: A SYNTHETIC APPROACH", ADVANCES IN CRYPTOLOGY (CRYPTO). SANTA BARBARA, AUG. 22 - 26, 1993, PROCEEDINGS OF THE ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE (CRYPTO), BERLIN, SPRINGER, DE, vol. CONF. 13, 22 August 1993 (1993-08-22), pages 368 - 378, XP000502369, ISBN: 3-540-57766-1 *
SHOICHI HIROSE ED - CHOONSIK PARK ET AL: "Provably Secure Double-Block-Length Hash Functions in a Black-Box Model", INFORMATION SECURITY AND CRYPTOLOGY - ICISC 2004 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER-VERLAG, BE, vol. 3506, 2005, pages 330 - 342, XP019010706, ISBN: 3-540-26226-1 *
THOMAS PEYRIN ET AL: "Combining Compression Functions and Block Cipher-Based Hash Functions", ADVANCES IN CRYPTOLOGY - ASIACRYPT 2006 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER BERLIN HEIDELBERG, BE, vol. 4284, 2006, pages 315 - 331, XP019051548, ISBN: 978-3-540-49475-1 *
XIAOYUN WANG ET AL: "Finding Collisions in the Full SHA-1", ADVANCES IN CRYPTOLOGY - CRYPTO 2005 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER-VERLAG, BE, vol. 3621, 2005, pages 17 - 36, XP019016559, ISBN: 3-540-28114-2 *
XIAOYUN WANG ET HONGBO YU: "How to Break MD5 and Other Hash Functions", ADVANCES IN CRYPTOLOGY-EUROCRYPT 2005, May 2005 (2005-05-01), pages 19 - 35, XP002442245, Retrieved from the Internet <URL:http://www.infosec.sdu.edu.cn/paper/md5-attack.pdf> [retrieved on 20070712] *

Also Published As

Publication number Publication date
FR2909498A1 (en) 2008-06-06

Similar Documents

Publication Publication Date Title
EP1379023B1 (en) En- and Decryption Method executed by an integrated Circuit masking a nonlinear transformation as the SUBBYTE operation
EP2892176A2 (en) Method for converting a conditional access content and receiver for the implementation for said method
CA2181299C (en) Cryptographic communication process
EP3139364B1 (en) Dpa protection of a rijndael algorithm
EP1757009A1 (en) Method and device for carrying out a cryptographic calculation
WO2009095574A2 (en) Method and entity for probabilistic symmetrical encryption
EP3228043B1 (en) Method of encryption with dynamic diffusion and confusion layers
WO2008148784A2 (en) Cryptographic methods and devices for the pseudo-random generation of data encryption and cryptographic hashing of a message
EP3139363B1 (en) Protection of a rijndael algorithm
EP3139365A1 (en) Verification of the resistance of an electronic circuit to covert channel attacks
FR2808948A1 (en) SYSTEM AND METHOD FOR UNIQUE AUTHENTICATION OF EACH REPRODUCTION OF A GROUP OF ELECTRONIC DOCUMENTS
EP2179535A2 (en) Asymmetrical ciphering or signature check method
FR2949886A1 (en) METHOD FOR CRYPTOGRAPHIC DATA PROCESSING
EP1610463A1 (en) Verification of a bit stream
WO2008065308A1 (en) Data compression function of multiple lengths using single-lengths internal functions
EP1989820B1 (en) Cryptographic hashing device and method
WO2019197780A1 (en) Methods, devices and computer programs for the encipherment and decipherment of data for the transmission or storage of data
WO2009030857A2 (en) Generator and method of generating a secret-key pseudo-random function
Tardif Practical considerations on cryptanalytic time-memory trade-offs
WO2023057649A1 (en) Method for generating a pseudorandom number and method for symmetrically encrypting a message
EP4088420A1 (en) Method for transmitting and receiving a message containing an encrypted identifier of the transmitter device
WO2004040818A2 (en) Method for the secure transmission of messages or data between two entities
WO2008034998A1 (en) Improvement of the resistance to cryptanalytic attacks of a hash function
FR2925992A1 (en) Cryptographic method for generating encrypting sequence of symbols in e.g. mobile communication field, involves associating elementary functions to t elements, and calculating elementary functions independently, where t is greater than two
EP1911190A2 (en) Method and system for high-speed encryption

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

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

Country of ref document: EP

Kind code of ref document: A1