FR2920617A1 - GENERATOR AND PROCESS FOR GENERATING A PSEUDO-RANDOM SECRET KEY FUNCTION. - Google Patents

GENERATOR AND PROCESS FOR GENERATING A PSEUDO-RANDOM SECRET KEY FUNCTION. Download PDF

Info

Publication number
FR2920617A1
FR2920617A1 FR0757357A FR0757357A FR2920617A1 FR 2920617 A1 FR2920617 A1 FR 2920617A1 FR 0757357 A FR0757357 A FR 0757357A FR 0757357 A FR0757357 A FR 0757357A FR 2920617 A1 FR2920617 A1 FR 2920617A1
Authority
FR
France
Prior art keywords
bits
cryptographic
schemes
random
pseudo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0757357A
Other languages
French (fr)
Inventor
Yannick Seurin
Jacques Patarin
Henri Gilbert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR0757357A priority Critical patent/FR2920617A1/en
Priority to PCT/FR2008/051529 priority patent/WO2009030857A2/en
Priority to EP08829862A priority patent/EP2204007A2/en
Publication of FR2920617A1 publication Critical patent/FR2920617A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Abstract

L'invention concerne un générateur de fonction pseudo-aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits utilisant un nombre déterminé alpha de schémas cryptographiques Phi1(m1,n1),..., Phii(mi,ni),..., Phialpha(malpha,nalpha) imbriqués en couches selon une structure récursive, chaque schéma cryptographique courant Phii(mi,ni) associant à mi bits d'entrée ni bits de sortie en un nombre de tours ri, chaque tour utilisant une fonction élémentaire interne f<(i)> construite à partir de ti schémas cryptographiques Phii+1(mi+1,ni+1) de ni+1 bits vers mi+1 bits, avec ni+1 < Ni, mi+1 < Mi et ti >= 1, chaque schéma cryptographique Phii(mi,ni) définissant un nombre minimal d'opérations comp(mi, ni, ri ), dépendant dudit nombre de tours ri, nécessaire pour le distinguer d'une fonction aléatoires associant à mi bits d'entrée ni bits de sortie, le générateur comportant des moyens de calculs (7) pour calculer, pour chaque schéma cryptographique Phii(mi,ni), ledit nombre de tours ri de sorte que ledit nombre d'opérations comp(mi, ni, ri) qui lui est associé soit supérieur ou égal à un nombre prédéterminé 2<c>, c étant un nombre entier.The invention relates to a pseudo-random function generator with secret key K from an input block of m bits to an output block of n bits using a determined number alpha of cryptographic schemes Phi1 (m1, n1), .. ., Phii (mi, ni), ..., Phialpha (malpha, nalpha) nested in layers according to a recursive structure, each current cryptographic scheme Phii (mi, ni) associating at mi input bits nor output bits into one number of turns ri, each turn using an internal elementary function f <(i)> built from ti cryptographic schemes Phii + 1 (mi + 1, ni + 1) from ni + 1 bits to mi + 1 bits, with ni +1 <Ni, mi + 1 <Mi and ti> = 1, each cryptographic scheme Phii (mi, ni) defining a minimum number of operations comp (mi, ni, ri), depending on said number of turns ri, necessary for distinguish it from a random function associating mid input bits nor output bits, the generator comprising calculation means (7) for calculating, for each cryptographic scheme Phii (mi, ni), said number of turns ri so that said number of operations comp (mi, ni, ri) associated with it is greater than or equal to a predetermined number 2 <c>, c being an integer.

Description

Titre de l'invention Générateur et procédé de génération de fonction pseudoaléatoire à clé secrète. Title of the invention Generator and method for generating a pseudo-random function with a secret key.

Domaine technique de l'invention L'invention se rapporte au domaine de génération de fonctions pseudo-aléatoires pour lesquels il existe une preuve qui relie leur sécurité à la complexité des meilleures attaques pour des schémas très simples à analyser. En particulier, l'invention relève du domaine de la cryptographie symétrique, et se rapporte à un procédé de chiffrement par blocs. En particulier, l'invention trouve une application très avantageuse en ce qu'elle permet un chiffrement/déchiffrement symétrique présentant un grand degré de sécurité et assurant une implémentation simple et efficace en matériel et en logiciel. On notera que, le chiffrement symétrique est employé couramment dans tous les types de communications, telles que les communications mobiles, l'Internet, les cartes à puce, etc. Technical Field of the Invention The invention relates to the field of generating pseudo-random functions for which there is proof which links their security to the complexity of the best attacks for very simple schemes to analyze. In particular, the invention relates to the field of symmetric cryptography, and relates to a block ciphering method. In particular, the invention finds a very advantageous application in that it allows symmetric encryption / decryption having a high degree of security and ensuring a simple and efficient implementation in hardware and software. Note that, symmetric encryption is widely used in all types of communications, such as mobile communications, the Internet, smart cards, etc.

Arrière-plan de l'invention En cryptographie symétrique, l'émetteur et le destinataire d'un échange de données chiffrées doivent partager préalablement à tout échange la connaissance d'une clé secrète K Des algorithmes de chiffrement et de déchiffrement paramétrés par la clé K permettent respectivement à l'émetteur de transformer un message en clair en un cryptogramme et au destinataire de recouvrer le message clair à partir du cryptogramme. Le chiffrement par blocs constitue avec le chiffrement à flot l'une des deux principales méthodes de chiffrement symétrique. A la clé secrète K, un algorithme de chiffrement par blocs associe une fonction de chiffrement, c'est-à-dire, une transformation bijective EK de l'ensemble .fi') 1 In clac tin , hl'FC farta mnnf etreNIA.." L L . 4 1. . , - 1 I l IL/ Lw., r I,,,I 1 L U1UL-D. r OU 1 LI IIi 1 1 Z1 Ul 1 message clair M de longueur quelconque, on peut enchaîner les appels à la fonction EK selon différents modes opératoires, Il existe de nombreux algorithmes de chiffrement par blocs connus, par exemple le Data Encryption Standard (DES), l'Advanced Encryption Standard (AES), MISTY, RC6, MEA, etc. Mathématiquement, ces algorithmes de chiffrement par blocs constituent des générateurs de permutations pseudo-aléatoires, c'est-à-dire qu'à une clé relativement courte ils associent une permutation de l'ensemble des blocs de n bits de telle sorte que si la clé est choisie aléatoirement, la permutation obtenue est difficile à distinguer d'une permutation vraiment aléatoire. Une notion voisine de celle de générateur de permutations pseudo-aléatoires est celle de générateur de fonctions pseudo-aléatoires de n bits vers ni bits (où m est un entier égal ou non à n) difficiles à distinguer de fonctions de n bits vers m bits parfaitement aléatoire. Un générateur de fonctions pseudo-aléatoires peut être utilisé selon divers modes opératoires pour la construction d'algorithmes cryptographiques et notamment d'algorithmes de chiffrement par blocs, d'authentification de message, ou de chiffrement à flot. Background of the invention In symmetric cryptography, the sender and the recipient of an encrypted data exchange must share, prior to any exchange, the knowledge of a secret key K Encryption and decryption algorithms configured by the key K respectively allow the sender to transform a clear message into a cryptogram and the recipient to recover the clear message from the cryptogram. Block cipher, along with stream cipher, is one of the two main methods of symmetric encryption. With the secret key K, a block cipher algorithm associates an ciphering function, that is to say, a one-to-one transformation EK of the set .fi ') 1 In clac tin, hl'FC farta mnnf etreNIA. . "LL. 4 1.., - 1 I l IL / Lw., R I ,,, I 1 L U1UL-D. R OR 1 LI IIi 1 1 Z1 Ul 1 clear message M of any length, you can chain calls to the EK function according to different operating modes, There are many known block cipher algorithms, for example Data Encryption Standard (DES), Advanced Encryption Standard (AES), MISTY, RC6, MEA, etc. Mathematically , these block cipher algorithms constitute pseudo-random permutation generators, that is to say that with a relatively short key they associate a permutation of the set of blocks of n bits such that if the key is chosen randomly, the permutation obtained is difficult to distinguish from a truly random permutation. ator of pseudo-random permutations is that of generator of pseudo-random functions of n bits towards n bits (where m is an integer equal or not equal to n) difficult to distinguish from functions of n bits towards m perfectly random bits. A pseudo-random function generator can be used according to various operating modes for the construction of cryptographic algorithms and in particular of block cipher, message authentication, or stream cipher algorithms.

Les algorithmes de chiffrement par blocs existants les plus utilisés et reconnus, comme I'AES et le DES, opèrent sur des clés constituées d'un mot binaire relativement court et ne possédant aucune structure particulière. Ainsi par exemple, les clés secrètes du DES sont constituées de mots de longueur 56 bits, celles de I'AES de mots de longueur 128, 192 ou 256 bits. Il existe quelques rares algorithmes par blocs opérant sur des clés possédant une structure particulière qui utilise 8 permutations secrètes de l'ensemble 0,..,255j des octets, mais il n'existe pas d'argument mathématique permettant de fonder une plus grande confiance dans la sécurité de ces algorithmes que dans ceux dont la clé est constituée de mots de longueur suffisante, par exemple 128 bits. The most widely used and recognized existing block cipher algorithms, such as AES and DES, operate on keys consisting of a relatively short binary word and having no particular structure. Thus, for example, the secret keys of the DES consist of words of length 56 bits, those of the AES of words of length of 128, 192 or 256 bits. There are a few rare block algorithms operating on keys having a particular structure which uses 8 secret permutations of the set 0, .., 255j of bytes, but there is no mathematical argument allowing to establish a greater confidence. in the security of these algorithms than in those whose key consists of words of sufficient length, for example 128 bits.

On con si ,.., habituellenc r, r,r,l '41 Oit, r duc t.JLJLAI UI 1 ciijvl IL! I! I IU pal blocs (ou plus généralement un générateur de fonctions ou de permutations pseudo-aléatoires) soit sûr, il doit être impossible, compte tenu de la limitation des ressources de calcul susceptibles d'être disponibles dans les années ou décennies à venir, à un adversaire disposant d'un nombre arbitraire N d'accès "en boîte noire" aux fonctions de chiffrement et/ou de déchiffrement associées à une clé secrète inconnue K, de réaliser l'un des types d'attaque suivants : -reconstituer la clé secrète K; -plus généralement, prédire un nouveau couple de messages clair-chiffré (X, Y) satisfaisant Y = EK(X) distincts des N couples de messages clair-chiffrés (X, Yi) résultant des N accès de l'adversaire aux fonctions de chiffrement et/ou de déchiffrement; -plus généralement encore, distinguer avec une probabilité de succès non négligeable une fonction EK associée à une clé K aléatoire d'une permutation parfaitement aléatoire de l'ensemble {M}" des blocs de n bits, ce au moyen d'un algorithme de test utilisant le résultat des N accès en boîte noire à la fonction et/ou à son inverse. Ceci constitue la définition la plus générale de la sécurité d'un algorithme dans le sens où se prémunir contre ce type d'attaque assure une sécurité absolue de l'algorithme d'un point de vue mathématique (i.e. hors attaques par canaux cachés, etc.). Il est généralement admis que les ressources de calcul susceptibles d'être mises en oeuvre, actuellement ou dans les années à venir, par tout adversaire (y compris une coalition de millions d'internautes) sont strictement inférieures à 280 opérations élémentaires. Actuellement, en cryptographie à clé publique, on parle de "preuves de sécurité", de "preuves partielles de sécurité" ou de "preuves de sécurité réductionnistes" d'un schéma lorsque l'on a pu ramener de façon prouvée la sécurité de ce schéma à la résolution d'un problème réputé difficile. Les problèmes les plus classiques réputés difficiles que l'on utilise à ce jour en cryptographie à clé publique sont le problème de la factorisation d'entiers le problème du logarithme discret sur divers groupes finis. Par opposition à la situation dans le domaine de la cryptographie à clé publique, la sécurité des algorithmes par blocs connus, y compris ceux qui sont considérés comme les plus sûrs comme AES, repose dans l'état actuel des connaissances sur des bases très empiriques. Pour aucun algorithme par blocs connu on ne dispose d'arguments mathématiques permettant d'établir une borne inférieure sur la complexité d'attaques de l'un des types décrits ci-dessus. Les principaux types d'arguments sur lesquels se fonde la confiance que l'on peut avoir dans la sécurité des algorithmes considérés comme les plus sûrs sont les suivants -absence d'attaque connue de complexité inférieure au niveau de sécurité souhaité, par exemple de complexité inférieure à 280 ou à 2/, où /K/ est la 15 longueur des clés de l'algorithme exprimée en bits; -résistance prouvable à des méthodes particulières d'attaque, par exemple résistance à la cryptanalyse différentielle et la cryptanalyse linéaire; -enfin, dans le cas de certains algorithmes comme DES, l'existence de 20 preuves de résistance au type d'attaque le plus général mentionné ci-dessus dans le modèle de sécurité dit de Luby et Rackoff dans lequel l'on remplace certaines composantes de l'algorithme réel (par exemple les fonctions dépendant de la clé utilisées aux différents tours) par des fonctions idéales parfaitement aléatoires. Bien que ce type de preuve ne 25 fournisse pas de borne inférieure sur la complexité d'attaques contre l'algorithme réel, il peut être considéré comme une assurance que la structure générale de l'algorithme (par exemple l'emploi du schéma dit de Feistel dans le cas du DES) ne présente pas de défaut de faiblesse intrinsèque 30 En particulier, il est décrit dans le document "Efficient metric-Key 0;ohers Based on an NP-Comp/ete Sub,oroblem" de Matt Rla7cs mtrinrifhmm chiffrement clé sait iiiit Ci 1,1 se r"#e Ce ClIMOI ILI Hi construit à partir de plusieurs schémas de Feistel imbriqués en couches. Chaque schéma de Feistel Fi associe à ni bits d'entrée ni bits de sortie en un nombre de tours identique qui est égal à 4 pour chaque schéma de Feistel Fi imbriqué. Or cet algorithme a été cryptanalysé par une attaque portée sur le schéma de Feistel appartenant à la couche supérieure de l'imbrication. Il a été démontré dans les documents "Generic Attacks on Feistel Schemes" et "Security of Random Feistel Schemes with 5 or more Rounds" de 3. Patarin que pour éviter cette attaque, il est nécessaire que le Schéma de Feistel de la couche supérieure de l'imbrication associe à ni bits d'entrée ni bits de sortie en au moins 6 tours. Plus particulièrement, ce document ("Security of Random Feistel Schemes with 5 or more Rounds") décrit une attaque sur les schémas de Feistel à 5 tours en 2' opérations, ce qui pour le cas de schémas de Feistel à 64 bits d'entrée donne une attaque en 2 <280. Ainsi, il faut au moins 6 tours. Cependant, même en prenant un nombre de tours égal à 6 pour le schéma de Feistel appartenant à la couche supérieure, il n'y a pas la garantie que ce type d'algorithme reste résistant à de futures attaques. We con if, .., habituellenc r, r, r, l '41 Oit, r duc t.JLJLAI UI 1 ciijvl IL! I! I IU pal blocks (or more generally a generator of functions or pseudo-random permutations) is safe, it must be impossible, given the limitation of the computing resources likely to be available in the years or decades to come, to an adversary having an arbitrary number N of "black box" access to the encryption and / or decryption functions associated with an unknown secret key K, to carry out one of the following types of attack: reconstitute the key secret K; -more generally, predict a new pair of clear-encrypted messages (X, Y) satisfying Y = EK (X) distinct from the N pairs of clear-encrypted messages (X, Yi) resulting from the N accesses of the adversary to the functions of encryption and / or decryption; -more generally still, to distinguish with a non-negligible probability of success a function EK associated with a random key K from a perfectly random permutation of the set {M} "of blocks of n bits, this by means of an algorithm of test using the result of the N black box accesses to the function and / or its inverse This constitutes the most general definition of the security of an algorithm in the sense that guarding against this type of attack ensures absolute security of the algorithm from a mathematical point of view (ie excluding attacks by hidden channels, etc.). It is generally accepted that the computing resources likely to be implemented, currently or in the years to come, by any adversary (including a coalition of millions of Internet users) are strictly less than 280 elementary operations. Currently, in public key cryptography, we speak of "security evidence", "partial security evidence" or "security evidence reduct ionnists "of a diagram when we have been able to reduce in a proven way the security of this diagram to the resolution of a problem deemed difficult. The most classic problems known to be difficult which are used to date in public key cryptography are the problem of factorization of integers the problem of the discrete logarithm on various finite groups. As opposed to the situation in the field of public key cryptography, the security of known block algorithms, including those considered to be the most secure such as AES, rests in the current state of knowledge on very empirical foundations. For no known block algorithm, there are no mathematical arguments available allowing a lower bound to be established on the complexity of attacks of one of the types described above. The main types of arguments on which is based the confidence that one can have in the security of algorithms considered to be the most secure are the following - no known attack of complexity lower than the desired level of security, for example of complexity less than 280 or less than 2 /, where / K / is the length of the keys of the algorithm expressed in bits; - provable resistance to particular attack methods, for example resistance to differential cryptanalysis and linear cryptanalysis; -finally, in the case of certain algorithms such as DES, the existence of 20 proofs of resistance to the most general type of attack mentioned above in the security model known as Luby and Rackoff in which certain components are replaced of the real algorithm (for example the key-dependent functions used in the different rounds) by perfectly random ideal functions. Although this type of proof does not provide a lower bound on the complexity of attacks against the real algorithm, it can be taken as an assurance that the general structure of the algorithm (for example the use of the so-called Feistel in the case of DES) does not present any intrinsic weakness defect 30 In particular, it is described in the document "Efficient metric-Key 0; ohers Based on an NP-Comp / ete Sub, oroblem" by Matt Rla7cs mtrinrifhmm encryption key knows iiiit Ci 1,1 se r "#e This ClIMOI ILI Hi built from several nested Feistel schemes in layers. Each Feistel Fi scheme associates with neither input bits nor output bits in an identical number of turns which is equal to 4 for each nested Feistel Fi scheme. However, this algorithm was cryptanalyzed by an attack on the Feistel scheme belonging to the upper layer of the nesting. It was demonstrated in the documents "Generic Attacks on Feistel Schemes "and" Security of Rando m Feistel Schemes with 5 or more Rounds "of 3. Patarin that to avoid this attack, it is necessary that the Feistel Scheme of the upper layer of the nesting associates with neither input bits nor output bits in at least 6 turns. More particularly, this document ("Security of Random Feistel Schemes with 5 or more Rounds") describes an attack on Feistel schemes with 5 turns in 2 'operations, which for the case of Feistel schemes with 64 input bits gives an attack in 2 <280. Thus, it takes at least 6 turns. However, even taking a number of turns equal to 6 for the Feistel scheme belonging to the upper layer, there is no guarantee that this type of algorithm will remain resistant to future attacks.

En outre, en prenant ce même nombre de tours pour les schémas de Feistel appartenant à des couches inférieures, il pourrait toujours exister des attaques sur ces schémas, détruisant alors la sécurité de l'ensemble de l'algorithme. Ainsi, aucune des méthodes connues de chiffrement à raide d'un algorithme par blocs (et plus généralement aucun algorithme de génération de fonctions ou permutations pseudo-aléatoires) ne concilie les deux conditions suivantes : 1°) l'existence d'arguments mathématiques permettant d'étayer la conjecture que même lorsque l'on utilise l'algorithme au-delà de la distance d'unicité définie par Shannon, il n'existe aucune attaque réPlisabfe en moins de 2' opérations, où c est un nombre suffisamment grand pour assurer une sécurité forte de l'algorithme (par exemple supérieur ou égal à 80). 2°) l'existence d'implémentations logicielles de rapidité proche de celle des algorithmes par blocs actuellement les plus utilisés, comme l'AES ou le DES nécessitant des ressources de calcul temps, mémoire, etc.) réalistes, Also, taking this same number of turns for Feistel schemes belonging to lower layers, there could still be attacks on these schemes, then destroying the security of the whole algorithm. Thus, none of the known methods of stiff encryption of a block algorithm (and more generally no algorithm for generating functions or pseudo-random permutations) reconciles the following two conditions: 1 °) the existence of mathematical arguments allowing to support the conjecture that even when using the algorithm beyond the uniqueness distance defined by Shannon, there is no replisable attack in less than 2 'operations, where c is a number large enough to ensure strong security of the algorithm (for example greater than or equal to 80). 2) the existence of software implementations of speed close to that of the currently most used block algorithms, such as AES or DES requiring realistic computing resources, time, memory, etc.),

Ob 'et et résumé de l'invention La présente invention concerne un procédé de génération de fonction pseudo-aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits utilisant un nombre déterminé (x de schémas cryptographiques Oc,,(ma,n ) imbriqués en couches selon une structure récursive, chaque schéma cryptographique courant 01(ml,nd associant à m, bits d'entrée ni bits de sortie en un nombre de tours ri, chaque tour utilisant une fonction élémentaire interne i construite à partir de schémas cryptographiques de '7/.0.1 bits vers mi+l bits, avec < < mi et ti 1, chaque schéma cryptographique (1),(mi,ni) définissant un nombre minimal d'opérations cornp(mi, n,, r, ), dépendant dudit nombre de tours r,, nécessaire pour le distinguer d'une fonction aléatoires associant à mi bits d'entrée ni bits de sortie, pour chaque schéma cryptographique 0,(m,,n,) ledit nombre de tours r, étant choisi de sorte que ledit nombre d'opérations camp(m,, n,, ) qui lui est associé soit supérieur ou égal à un nombre prédéterminé, e étant un nombre entier. Ainsi, en modulant le nombre de tours, on apporte une preuve de sécurité pour chacun des schémas cryptographiques et donc pour l'ensemble du procédé de génération de fonction pseudo-aléatoire. Ainsi, les meilleures attaques connues pour distinguer chaque schéma cryptographique d'une fonction aléatoire nécessitent un nombre d'étapes calcul supérieur ou égal au nombre prédéterminé 2c qui peut être choisi très grand. Avantageusement, ledit nombre déterminé (x de schémas cryptographiques est choisi tel que les fonctions élémentaires fa) les plus 5 internes constituant les schémas cryptographiques ma) de la couche la plus interne soient des fonctions aléatoires définissant une taille minimale de ladite clé secrète. Ainsi, le procédé de génération de fonction pseudo-aléatoire présente une grande efficacité avec une clé secrète de taille raisonnable. 10 Avantageusement, ledit nombre prédéterminé 2c est égal à 280. Ainsi, le procédé de génération de fonction pseudo-aléatoire ne peut pas être distingué d'une fonction aléatoire associant à m bits d'entrée n bits de sortie en moins de 280 étapes de calcul, ce qui est le standard de sécurité actuel. 15 Selon une particularité de la présente invention, lesdits schémas cryptographiques (1).i(mi,ni),..., Oa(ma,na) correspondent à des schémas de permutations cryptographiques 111(ni),..., ,Ila (na), chaque permutation cryptographique 17i(nd implémentant une permutation des blocs de ni bits. 20 Ainsi, le procédé de génération de fonction pseudo-aléatoire peut être implémenté à l'aide de schémas de permutation cryptographiques qui sont plus nombreux et mieux étudiés que les schémas cryptographiques réalisant des fonctions non bijectives. Ainsi, le procédé de génération de fonction pseudo-aléatoire peut être utilisé pour 25 réaliser un chiffrement à clé secrète de manière simple et sécurisé. Avantageusement, lesdits schémas de permutations cryptographiques 111(ni),...,171(ni),... 17a (na) correspondent à des schémas de Feistel symétriques FI(ni),..., Fi(ni),. , Fa. Ob 'and summary of the invention The present invention relates to a method for generating a pseudo-random function with a secret key K from an input block of m bits to an output block of n bits using a determined number (x of cryptographic schemes Oc ,, (ma, n) nested in layers according to a recursive structure, each current cryptographic scheme 01 (ml, nd associating with m, input bits nor output bits in a number of turns ri, each turn using an internal elementary function i constructed from cryptographic schemes of '7 / .0.1 bits to mi + l bits, with <<mi and ti 1, each cryptographic scheme (1), (mi, ni) defining a minimum number of operations cornp (mi, n ,, r,), depending on said number of turns r ,, necessary to distinguish it from a random function associating at mi input bits nor output bits, for each cryptographic scheme 0, (m, , n,) said number of turns r, being chosen so that said number of camp operations (m ,, n ,,) associated with it or greater than or equal to a predetermined number, e being an integer. Thus, by modulating the number of turns, a proof of security is provided for each of the cryptographic schemes and therefore for the entire process for generating the pseudo-random function. Thus, the best known attacks for distinguishing each cryptographic scheme from a random function require a number of calculation steps greater than or equal to the predetermined number 2c which can be chosen to be very large. Advantageously, said determined number (x of cryptographic schemes is chosen such that the most internal elementary functions fa) constituting the cryptographic schemes ma) of the innermost layer are random functions defining a minimum size of said secret key. Thus, the pseudo-random function generation method is highly efficient with a secret key of reasonable size. Advantageously, said predetermined number 2c is equal to 280. Thus, the pseudo-random function generation method cannot be distinguished from a random function associating with m input bits n output bits in less than 280 steps of calculation, which is the current security standard. According to a feature of the present invention, said cryptographic schemes (1) .i (mi, ni), ..., Oa (ma, na) correspond to cryptographic permutation schemes 111 (ni), ...,, Ila (na), each cryptographic permutation 17i (nd implementing a permutation of the blocks of ni bits. Thus, the pseudo-random function generation method can be implemented using cryptographic permutation schemes which are more numerous and better. studied than cryptographic schemes performing non-bijective functions. Thus, the pseudo-random function generation method can be used to perform secret-key encryption in a simple and secure manner. Advantageously, said cryptographic permutation schemes 111 (ni) , ..., 171 (ni), ... 17a (na) correspond to symmetrical Feistel schemes FI (ni), ..., Fi (ni) ,., Fa.

Ainsi, le procédé de génération fonction pseudo-aléatoire peut-être implémenté de façon très efficace, les schémas de Feistel étant bien étudiés et simples à réaliser. Pour chaque schéma de Feistel symétrique F,(n,) ledit nombre 5 de tours r1 dépend du nombre de bits n, et dudit nombre entier e selon une inéquation définie par r,. 2c./n,+4, Ainsi, le procédé de génération de fonction pseudo-aléatoire ne peut pas être distingué d'une permutation aléatoire des blocs de n bits à l'aide des attaques connues. 10 L'invention vise aussi un procédé de chiffrement pseudoaléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits utilisant le procédé de génération de fonction pseudo-aléatoire selon l'une quelconque des caractéristiques ci-dessus. L'invention vise aussi un générateur de fonction pseudo-15 aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits utilisant un nombre déterminé oz de schémas cryptographiques 1)1 ' ni)Y ''Y a(ma,na) imbriqués en couches selon une structure récursive, chaque schéma cryptographique courant 01(min associant à mi bits d'entrée ni bits de sortie en un nombre de tours 20 chaque tour utilisant une fonction élémentaire internes construite à partir de t1 schémas cryptographiques Oi.i.i(m,+l,ni+l) de bits vers mi,i.l bits, avec ni.i.1 < ni, mi 1 < m, et t,. 1, chaque schéma cryptographique 0,(mi,ni) définissant un nombre minimal d'opérations comp(m,, n1, r1), dépendant dudit nombre de tours ri, nécessaire pour le distinguer d'une fonction 25 aléatoires associant à m, bits d'entrée n, bits de sortie, le générateur comportant des moyens de calculs pour calculer, pour chaque schéma cryptographique ledit nombre de tours r, de sorte que ledit nombre d'opérations comp(m,, n,, ri ) qui lui est associé soit supérieur ou égal à un nombre prédéterminé c étant un nombre entier, L'invention vise aussi un dispositif d .-r-t+ ni %el 1i111'gr 1 1 .1,trt1 II, 1.10esUUU- aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits, le dispositif comportant un générateur de fonction pseudoaléatoire selon les caractéristiques ci-dessus. Thus, the pseudo-random function generation process can be implemented very efficiently, the Feistel schemes being well studied and simple to perform. For each symmetric Feistel scheme F, (n,) said number of turns r1 depends on the number of bits n, and on said integer number e according to an inequality defined by r ,. 2c./n,+4, Thus, the pseudo-random function generation method cannot be distinguished from a random permutation of blocks of n bits using known attacks. The invention also relates to a method of pseudo-random encryption with a secret key K from an input block of m bits to an output block of n bits using the method for generating a pseudo-random function according to any one of the characteristics. above. The invention is also aimed at a pseudo-random function generator with a secret key K from an input block of m bits to an output block of n bits using a determined number oz of cryptographic schemes 1) 1 'ni) Y '' There are (ma, na) nested in layers according to a recursive structure, each current cryptographic scheme 01 (min associating at mi input bits nor output bits in a number of turns 20 each turn using an internal elementary function constructed from from t1 cryptographic schemes Oi.ii (m, + l, ni + l) from bits to mi, il bits, with ni.i.1 <ni, mi 1 <m, and t ,. 1, each cryptographic scheme 0 , (mi, ni) defining a minimum number of operations comp (m ,, n1, r1), depending on said number of turns ri, necessary to distinguish it from a random function associating with m, input bits n, output bits, the generator comprising calculation means for calculating, for each cryptographic scheme, said number of turns r, so that said number of operations comp ( m ,, n ,, ri) which is associated with it is greater than or equal to a predetermined number c being an integer, the invention also relates to a device d.-r-t + ni% el 1i111'gr 1 1 .1, trt1 II, 1.10esUUU- random secret key K from an input block of m bits to an output block of n bits, the device comprising a pseudo-random function generator according to the above characteristics.

L'invention vise aussi 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, le programme comprenant des instructions de codes pour l'exécution des étapes du procédé de génération de fonctions pseudo aléatoire selon au moins l'une quelconque des caractéristiques ci-dessus, lorsqu'il est exécuté sur un ordinateur. L'invention é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, le programme comprenant des instructions de codes pour l'exécution des étapes du procédé de chiffrement selon les caractéristiques ci-dessus, lorsqu'il est exécuté sur un ordinateur. The invention also relates to a computer program which can be downloaded from a communication network and / or stored on a medium readable by a computer and / or executable by a microprocessor, the program comprising code instructions for the execution of the steps of the process. generating pseudo-random functions according to at least any one of the above characteristics, when executed on a computer. The invention also provides a computer program which can be downloaded from a communication network and / or stored on a medium readable by a computer and / or executable by a microprocessor, the program comprising code instructions for the execution of the steps of the encryption method. according to the above characteristics, when executed on a computer.

Brève description des dessins D'autres particularités et avantages de l'invention ressortiront à la lecture de la description faite, ci-après, à titre indicatif mais non limitatif, en référence aux dessins annexés, sur lesquels : -la figure 1 illustre de manière schématique un générateur de fonctions pseudo-aléatoire, selon l'invention ; -la figure 2 illustre de manière schématique un algorithme pour générer une fonction de m bits vers n bits, selon l'invention ; et -les figures 3A â 3C illustrent de manière schématique un mode de réalisation, selon l'invention.30 Description détaillée de modes de réalisation Conformément à l'invention, la figure 1 est une figure schématique d'un générateur 1 de fonctions pseudo-aléatoire à clé secrète K d'un bloc d'entrée 3 de m bits vers un bloc de sortie 5 de n bits. Ce générateur 1 utilise des primitives ou schémas cryptographiques 0,(m,,n,) de m, bits à n, bits. En effet, le générateur 1 de fonction pseudo-aléatoire comporte des moyens de traitement de données ou de calcul 7 qui construisent un nombre déterminé or de schémas cryptographiques 01(ml,n1), Oc.,(ma,na) imbriqués en couches selon une structure récursive. Le premier schéma cryptographique 01(mi,n 1) est celui de la couche la plus externe et le dernier schéma cryptographique Oor(ma,n,y) est celui de la couche la plus interne. Chaque schéma cryptographique courant 0,(m,,n,) associe à m, bits d'entrée n, bits de sortie en un nombre de tours ri, chaque tour utilisant une fonction élémentaire interne P. Chaque fonction élémentaire interne l'el° est construite à partir de t1 schémas cryptographiques 0'4( de n1+1 bits vers ml+l bits, avec n1+1 < n,, m1+1 < m, et ti ..-?. 1. Chaque schéma cryptographique .A(m,, ni) est caractérisé par un nombre minimal d'opérations com( m,, ni, r,) nécessaire pour le distinguer d'une fonction aléatoires associant à bits d'entrée n1 bits de sortie. Ce nombre minimal d'opérations comp(m,, ni, r, ) est une fonction dite de complexité qui dépend du nombre de tours r, et éventuellement des paramètres mi et n, intervenant dans la construction des schémas cryptographique. Cette fonction de complexité est représentative de la complexité des attaques génériques (c'est-à-dire, les attaques permettant de distinguer le schéma cryptographique d'une fonction réellement aléatoires lorsque les fonctions élémentaires sont aléatoires). 2920617 Il Drtt f,knell Cr'hArt l''MIrd'Irnriktirti If% 7r- tete. .."^x Irsr,r A, s,.-,ut tr..4mu Iç4 %...1 y Fits..11 upl IIIJU .kt( 1 111,i , 1 1 IV y Zl IZ calcul 7 déterminent le nombre de tours 1-, nécessaire pour que le nombre minimal d'opérations cony;(m,, n,, r, ) qui lui est associé soit supérieur ou égal à un nombre prédéterminé e, c étant un nombre entier. Selon le 5 standard de sécurité actuel on peut choisir le nombre prédéterminé 2c égal à 280. Ainsi, le générateur 1 de la présente invention permet de générer une fonction pseudo-aléatoire de telle sorte qu'un adversaire dont la puissance de calcul est limitée à 2c opérations est incapable de 10 distinguer une fonction générée par ce générateur 1 et une clé aléatoire d'une permutation réellement aléatoire. Ceci peut être prouvé au moyen d'une preuve de sécurité qui s'appuie sur l'étude de la sécurité des "briques" intermédiaires utilisées, à savoir : -des théorèmes concernant la sécurité dite inconditionnelle de ces briques, 15 c'est-à-dire des bornes de sécurité valables pour un attaquant ayant une puissance de calcul illimitée ; -des conjectures, étayées par plusieurs années de recherche de la communauté cryptographique, sur la complexité des meilleures attaques possibles sur les briques utilisées (appelées "attaques génériques" car 20 elles s'appliquent à des schémas où les fonctions élémentaires f(l) sont des fonctions réellement aléatoires). En outre, les moyens de calcul sont adaptés pour calculer le nombre déterminé (x de schémas cryptographiques de sorte que les fonctions élémentaires (a') les plus internes constituant les schémas 25 cryptographiques 00e(m(y.n ) de la couche la plus interne soient des fonctions aléatoires définissant une taille minimale de la clé secrète K. Avantageusement, les schémas cryptographiques , (I)(m.. , , ( m, ri ) peuvent être bijectives et correspondre en particulier à des schémas de permutations cryptographiques Hdn,), ,Hcy mat) qui sont très nombreux et bien étudiés. Chaque permutation cryptographique 17(n,) implémente une permutation des blocs de n, bits. En particulier, les permutations cryptographiques H1(nd,- ,111(na) peuvent correspondre à des schémas de Feistel symétriques Fei),..., F,(n,), , Fa, (na) qui sont simple à réaliser. Dans ce cas, pour chaque schéma de Feistel symétrique F(n,) le nombre de tours r, dépend du nombre de bits n, et du nombre entier c selon une inéquation définie par r,.2c/n,+4. 10 Ainsi, en modulant selon l'invention, pour chaque schéma de Feistel Fi, le nombre de tours nécessaire en apportant une preuve de sécurité pour chacun de ces schémas, on apporte une preuve de sécurité pour l'ensemble du procédé de génération. La figure 2 illustre un algorithme pour générer une fonction de 15 m bits vers n bits ou une permutation de n bits résistant à tout attaquant possédant une capacité de calculs inférieure ou égale à ou c vaut par exemple 80. Dans une première étape El, on construit cette fonction ou permutation à partir d'un certain schéma cryptographique 01(ml,ni) ou 20 (par exemple un schéma de Feistel), avec et en fixant le nombre de tour r1 utilisé tel que Com,o(rl) Cela nécessite r1 fonctions ou permutations élémentaires t'l). Dans une deuxième étape E2, chacune de ces fonctions ou permutations élémentaires t'eV va être à son tour implémentée à l'aide de 25 t1 schémas cryptographiques Oz( i.7T y72) ou I12(n) (qui peut être identique ou différent de celui de la première l'étape) en fixant le nombre de tours r2 utilisés tel que Como(r2) = La construction nécessite alors r1 fois t1 fois r2 fonctions ou permuations élémentaires f(2) irte; YYS.e.t les r-,e es e-Res,eRR , R Rn, tinontinüÇr I peut ainsi V 1 nt i-nR.RZUZ jUJt.R.p- Ri Ci Ul IC étape E3 où les fonctions ou permutations élémentaires de la primitive cryptographique interne seront réellement aléatoires et constitueront la clé Kdu procédé de génération. Généralement, il existe un nombre e d'étapes qui minimisera la taille de la clé secrète. Le générateur de fonctions de m bits vers n bits ou de permutations de n bits pseudo-aléatoires ainsi obtenu possède alors une sécurité prouvée contre tout adversaire possédant une capacité de calculs inférieure ou égale à 2' dans le sens ou parvenir à attaquer le générateur 1 reviendrait à améliorer les attaques génériques sur les primitives utilisées, ce qui est très improbable. De plus, ce générateur est très pratique à utiliser car très efficace et possède une taille de clé raisonnable. Dans le cas où l'on obtient une permutation, elle peut-être utilisée selon les modes opératoires habituels des chiffrements par blocs. Brief description of the drawings Other features and advantages of the invention will emerge on reading the description given below, by way of indication but not by way of limitation, with reference to the appended drawings, in which: FIG. 1 illustrates in a manner schematically a pseudo-random function generator, according to the invention; FIG. 2 schematically illustrates an algorithm for generating a function from m bits to n bits, according to the invention; and FIGS. 3A to 3C schematically illustrate an embodiment, according to the invention. Detailed description of embodiments According to the invention, FIG. 1 is a schematic figure of a generator 1 of pseudo functions. random key K from an input block 3 of m bits to an output block 5 of n bits. This generator 1 uses primitives or cryptographic schemes 0, (m ,, n,) from m, bits to n, bits. Indeed, the pseudo-random function generator 1 comprises data processing or calculation means 7 which construct a determined number or of cryptographic schemes 01 (ml, n1), Oc., (Ma, na) nested in layers according to a recursive structure. The first cryptographic scheme 01 (mi, n 1) is that of the outermost layer and the last cryptographic scheme Oor (ma, n, y) is that of the innermost layer. Each current cryptographic scheme 0, (m ,, n,) associates with m, input bits n, output bits in a number of turns ri, each turn using an internal elementary function P. Each internal elementary function el ° is constructed from t1 cryptographic schemes 0'4 (from n1 + 1 bits to ml + l bits, with n1 + 1 <n ,, m1 + 1 <m, and ti ..- ?. 1. Each cryptographic scheme. A (m ,, ni) is characterized by a minimum number of operations com (m ,, ni, r,) necessary to distinguish it from a random function associating with input bits n1 output bits. This minimum number d 'operations comp (m ,, ni, r,) is a so-called complexity function which depends on the number of turns r, and possibly on the parameters mi and n, involved in the construction of cryptographic schemes. This complexity function is representative of the complexity of generic attacks (i.e., attacks that distinguish the cryptographic scheme from a truly random function when the s elementary functions are random). 2920617 Il Drtt f, knell Cr'hArt l''MIrd'Irnriktirti If% 7r- tete. .. "^ x Irsr, r A, s, .-, ut tr..4mu Iç4% ... 1 y Fits..11 upl IIIJU .kt (1111, i, 1 1 IV y Zl IZ calculation 7 determine the number of turns 1-, necessary so that the minimum number of operations cony; (m ,, n ,, r,) which is associated with it is greater than or equal to a predetermined number e, c being an integer. 5 current security standard one can choose the predetermined number 2c equal to 280. Thus, the generator 1 of the present invention allows to generate a pseudo-random function such that an opponent whose computing power is limited to 2c operations is unable to distinguish a function generated by this generator 1 and a random key from a truly random permutation This can be proved by means of a security proof which relies on the study of the security of the "bricks". intermediaries used, namely: theorems concerning the so-called unconditional security of these bricks, i.e. security bounds valid for an attack nt having unlimited computing power; conjectures, supported by several years of research by the cryptographic community, on the complexity of the best possible attacks on the bricks used (called "generic attacks" because they apply to schemes where the elementary functions f (l) are really random functions). In addition, the calculation means are suitable for calculating the determined number (x of cryptographic schemes so that the most internal elementary functions (a ') constituting the 00e cryptographic schemes (m (yn) of the innermost layer are random functions defining a minimum size of the secret key K. Advantageously, the cryptographic schemes, (I) (m ..,, (m, ri) can be bijective and correspond in particular to cryptographic permutation schemes Hdn,), , Hcy mat) which are very numerous and well studied. Each cryptographic permutation 17 (n,) implements a permutation of the blocks of n, bits. In particular, the cryptographic permutations H1 (nd, -, 111 (na) can correspond to Symmetric Feistel diagrams Fei), ..., F, (n,),, Fa, (na) which are simple to realize. In this case, for each symmetric Feistel diagram F (n,) the number of turns r , depends on the number of bits n, and on the integer c according to a defined inequality inie by r, .2c / n, + 4. Thus, by modulating according to the invention, for each Feistel Fi scheme, the number of turns required by providing proof of safety for each of these schemes, proof of safety is provided for the entire generation process. FIG. 2 illustrates an algorithm for generating a function of 15 m bits to n bits or a permutation of n bits resistant to any attacker having a computation capacity less than or equal to or c is for example 80. In a first step E1, one construct this function or permutation from a certain cryptographic scheme 01 (ml, ni) or 20 (for example a Feistel scheme), with and fixing the number of turns r1 used such as Com, o (rl) This requires r1 elementary functions or permutations t'l). In a second step E2, each of these elementary functions or permutations t'eV will in turn be implemented using 25 t1 cryptographic schemes Oz (i.7T y72) or I12 (n) (which may be identical or different from that of the first step) by fixing the number of turns r2 used such that Como (r2) = The construction then requires r1 times t1 times r2 elementary functions or permuations f (2) irte; YYS. And the r-, e es e-Res, eRR, R Rn, tinontinüÇr I can thus V 1 nt i-nR.RZUZ jUJt.Rp- Ri Ci Ul IC step E3 where the elementary functions or permutations of the cryptographic primitive internal will be truly random and will constitute the key K of the generation process. Usually there is a number of steps that will minimize the size of the secret key. The generator of functions from m bits to n bits or of permutations of n pseudo-random bits thus obtained then has a proven security against any adversary having a computation capacity less than or equal to 2 'in the direction or to succeed in attacking the generator 1 would amount to improving generic attacks on the primitives used, which is very improbable. In addition, this generator is very convenient to use because it is very efficient and has a reasonable key size. In the case where a permutation is obtained, it can be used according to the usual operating modes of block ciphers.

Dans le cas où l'on obtient une fonction, elle peut être utilisée selon certains modes particuliers comme le mode compteur pour réaliser du chiffrement à flot ou le mode CBC MAC pour réaliser une authentification de messages. Les constructions cryptographiques intermédiaires utilisées pour obtenir la génération d'une fonction aléatoire sont potentiellement nombreuses. A titre d'exemple, on peut utiliser les schémas de Feistel décrits par exemple par Michael Luby et Charles Rackoff dans le document How to Construct Pseuclorano'om Permutations [rom Pseuo'orano'om Functions , SIAM 1 Comput. 17(2): 373-386 (1988). Les meilleures attaques conjecturées contre ces schémas de Feistel ont été décrites par Jacques Patarin dans le document Generic Attacks Feiste/ Schemes . On notera qu'un schéma de Feistel est une bijection paire. Ainsi, lorsqu'on emboîte les schémas de Feistel, les schémas sont construits avec des bijections paires. In the case where a function is obtained, it can be used according to certain particular modes, such as the counter mode to carry out in-stream encryption or the CBC MAC mode to carry out message authentication. The intermediate cryptographic constructions used to obtain the generation of a random function are potentially numerous. By way of example, one can use the Feistel schemes described for example by Michael Luby and Charles Rackoff in the document How to Construct Pseuclorano'om Permutations [rom Pseuo'orano'om Functions, SIAM 1 Comput. 17 (2): 373-386 (1988). The best conjectured attacks against these Feistel schemes have been described by Jacques Patarin in the document Generic Attacks Feiste / Schemes. Note that a Feistel scheme is an even bijection. Thus, when the Feistel diagrams are nested, the diagrams are constructed with even bijections.

Par ailleurc il est mit le rire-tran rie% ' " F.,Iu,J UIJUI1.9UZI U11 schéma Feistel d'une fonction aléatoire que d'une bijection. Il est aussi plus simple de distinguer un schéma de Feistel d'une bijection que d'une bijection paire. En effet, plus on essaie de distinguer un schéma de Feistel d'un ensemble grand, plus c'est simple. En fait, quel que soit le nombre de tours du schéma de Feistel, il est toujours possible de le distinguer d'une fonction aléatoire avec 2n opérations et d'une bijection en 22n opérations (ce qui est indépendant du nombre de tours). Ce n'est que lorsqu'on essaie de le distinguer d'une bijection paire que le nombre d'opérations nécessaires augmente avec le nombre de tours du schéma de Feistel, Les schémas de Feistel possèdent également des variantes dites généralisés ou dissymétriques. Ainsi, pour un schéma de Feistel généralisés on peut utiliser des briques qui sont soit des fonctions aléatoires, soit des bijections aléatoires, soit des bijections paires aléatoires, typiquement cela concerne le schéma de Feistel le plus interne dans l'imbrication. Typiquement, les schémas de Feistel n'utilisant comme brique que des bijections paires, sont des schémas de Feistel de niveau supérieur 20 par rapport au schéma de Feistel le plus interne. Pour les schémas de Feistel asymétriques, le texte en clair est divisé en deux blocs de taille différente, plus particulièrement, cela peut concerner le schéma de Feistel de niveau inférieur. Par ailleurs, pour les schémas de Feistel symétriques, le texte 25 en clair est divisé en deux blocs de taille identique. En particulier, cela concerne les schémas de Feistel de niveau supérieur. En outre, pour les constructions cryptographiques intermédiaires, on peut aussi créer une fonction de n bits vers n bits à partir de deux permutations aléatoires P, et Pj de n bits vers n bits en 30 calculant le ou exclusif XOR bit à bit de la sortie des deux permutations 1D YCID P3) Des t-%rnl IlIcàr sécurité. 77..il . V1,J II tGIiGJ existent aussi pour cette construction (par exemple, dans le document de Jacques Patarin On Linear Systems of Equations with Distinct Variables and Sma/1 Block Size ICISC 2299-32), On peut aussi utiliser les schémas dits de Benes qui permettent d'obtenir des fonctions de 2n bits vers 2n bits à partir de fonctions aléatoires de n bits vers n bits. Des preuves de sécurité inconditionnelles existent aussi pour ces schémas. Ainsi, il est possible de réaliser la présente invention selon plusieurs modes de réalisation. En effet, les figures 3A à 3C illustrent un mode de réalisation pour la génération d'une fonction pseudo-aléatoire parmi les nombreux exemples possibles, selon l'invention. On utilise pour cet exemple des schémas de Feistel F,(nd symétriques à ri tours et la construction R XOR Pi pour obtenir une permutation pseudo-aléatoire 11128 de 128 bits vers 128 bits, avec une sécurité en 280 opérations. Les figures 3A à 3C décrivent les différentes étapes de la construction en partant de l'étape la plus externe (figure 3A) vers l'étape la plus interne (figure 3C). Ainsi, l'étape de la figure 3A est constituée d'un schéma de Feistel à ri tours, où ri est déterminé par le critère de sécurité suivant : les meilleures attaques conjecturées sur un schéma de Feistel à ri tours ont une complexité en ,irin opérations, où n est la moitié du nombre de bits des blocs chiffrés. Si l'on veut que cette complexité soit supérieure à 280, il faut prendre ri = 6. En se contentant de cette seule étape, on a besoin pour la clé de 6 fonctions élémentaires (aléatoires et indépendantes) fil),..., de 64 bits vers 64 bits, donc la taille totale de la clé est 6x64x264 bits, ce qui est trop grand pour être utilisé en pratique. Besides, it is put on laughter% '"F., Iu, J UIJUI1.9UZI U11 Feistel scheme of a random function than of a bijection. It is also easier to distinguish a Feistel scheme from a bijection than an even bijection. Indeed, the more one tries to distinguish a Feistel diagram from a large set, the simpler it is. In fact, whatever the number of turns of the Feistel diagram, it is always it is possible to distinguish it from a random function with 2n operations and from a bijection in 22n operations (which is independent of the number of turns). It is only when trying to distinguish it from an even bijection that the number of necessary operations increases with the number of turns of the Feistel scheme, Feistel schemes also have so-called generalized or asymmetric variants. Thus, for a generalized Feistel scheme one can use bricks which are either random functions or random bijections, that is, even random bijections tories, typically this concerns the innermost Feistel scheme in the nesting. Typically, Feistel diagrams using only even bijections as a brick, are higher level Feistel diagrams than the innermost Feistel diagram. For asymmetric Feistel diagrams, the plaintext is split into two blocks of different size, more specifically, this may relate to the lower level Feistel diagram. On the other hand, for symmetric Feistel diagrams, the plain text is divided into two blocks of identical size. In particular, this concerns higher level Feistel schemes. Furthermore, for intermediate cryptographic constructions, one can also create a function from n bits to n bits from two random permutations P, and Pj from n bits to n bits by calculating the exclusive or bit-by-bit XOR of the output. of the two permutations 1D YCID P3) Of the t-% rnl IlIcàr security. 77..it. V1, J II tGIiGJ also exist for this construction (for example, in the document by Jacques Patarin On Linear Systems of Equations with Distinct Variables and Sma / 1 Block Size ICISC 2299-32), We can also use the so-called Benes diagrams which make it possible to obtain functions from 2n bits to 2n bits from random functions from n bits to n bits. Unconditional safety proofs also exist for these patterns. Thus, it is possible to carry out the present invention according to several embodiments. Indeed, FIGS. 3A to 3C illustrate an embodiment for the generation of a pseudo-random function among the many possible examples, according to the invention. For this example, Feistel diagrams F, (nd symmetrical with ri turns and the construction R XOR Pi are used for this example to obtain a pseudo-random permutation 11128 from 128 bits to 128 bits, with a security in 280 operations. FIGS. 3A to 3C describe the different stages of the construction starting from the outermost stage (figure 3A) to the innermost stage (figure 3C). Thus, the stage of figure 3A consists of a Feistel diagram with ri turns, where ri is determined by the following security criterion: the best attacks conjectured on a Feistel scheme with ri turns have a complexity in, irin operations, where n is half the number of bits of the cipher blocks. we want this complexity to be greater than 280, we must take ri = 6. By contenting ourselves with this single step, we need 6 elementary functions (random and independent) fil), ..., of 64 bits for the key. to 64 bits, so the total key size is 6x64x264 bits, which is too much great for practical use.

Alors, on cherche à obtenir les 6 fonctions de 64 bits vers 64 bits à partir d'une seconde étape (figure 3B). Pour cela, on utilise la construction Pi XOR Pi, appliquée à deux schémas de Feistel à r2 tours de 64 bits vers 64 bits. Les 6 fonctions élémentaires e), fe ainsi obtenues seront utilisées pour construire le schéma de Feistel de l'étape décrite précédemment. Le même critère qu'auparavant montre qu'il faut utiliser r2 = 7tours pour obtenir des permutations de 64 bits vers 64 bits non distinguables de permutations aléatoires en moins de 280 calculs. Chacune des 6 fonctions élémentaires f?),..., f/) nécessaires pour construire le schéma de Feistel de l'étage supérieur requiert 2x7 fonctions élémentaires de 32 bits vers 32 bits, donc la taille totale de la clé à cette étape est 6x(2x7)x32x232 bits. Par souci de simplification, la figure 3B illustre la construction de la fonction élémentaires f?) de l'étape supérieur (figure 3A) à partir des 14 fonctions élémentaires f"7,2w. So, we seek to obtain the 6 functions from 64 bits to 64 bits from a second step (FIG. 3B). For this, we use the construction Pi XOR Pi, applied to two Feistel schemes with r2 turns from 64 bits to 64 bits. The 6 elementary functions e), fe thus obtained will be used to construct the Feistel scheme of the step described previously. The same criterion as before shows that it is necessary to use r2 = 7tours to obtain permutations from 64 bits to 64 bits indistinguishable from random permutations in less than 280 calculations. Each of the 6 elementary functions f?), ..., f /) necessary to build the Feistel diagram of the upper stage requires 2x7 elementary functions from 32 bits to 32 bits, so the total size of the key at this stage is 6x (2x7) x32x232 bits. For the sake of simplicity, FIG. 3B illustrates the construction of the elementary function f?) Of the upper step (FIG. 3A) from the 14 elementary functions f "7,2w.

Bien entendu, on peut continuer cette construction jusqu'à ce que la brique de base de la construction soit constituée de fonctions élémentaires de 1 bit vers 1 bit. Cependant il existe un nombre d'étapes pour lequel la taille de la clé est minimale. En effet, pour les paramètres (taille de blocs de 128 bits, niveau de sécurité de 280 opérations), le nombre d'étapes optimal est de 4 (figure 3C). Par souci de simplification, la figure 3C illustre la construction de la fonction élémentaires f1,/3) de l'étape supérieur (non représentée) à partir des 28 fonctions élémentaires fi J4),..., fm,)'4i). Dans ce cas, le nombre de tours des schémas de Feistel à utiliser est respectivement ri = 6, r2 = 7, r3 = 9 et r4 = 14. Les fonctions de base nécessaires sont alors des fonctions de 8 bits vers 8 bits et la taille de la clé est donnée par 6x(2x7)x(2x9)x(2x14)x8x28 bits, soit 10,8 Mo, ce qui est tout à fait à la portée des capacités mémoire des ordinateurs personnels actuels. 1 finl,nni-ir r$ A.--1;.,,f-", 11.11111 vise aussi un programme U VI téléchargeable depuis un réseau de communication comprenant des instructions de codes de programme pour l'exécution des étapes du procédé de génération et/ou du procédé de chiffrement selon l'invention lorsqu'il est exécuté sur un ordinateur. Ce programme d'ordinateur peut être stocké sur un support lisible par ordinateur. 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. 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. Of course, this construction can be continued until the basic building block consists of elementary functions from 1 bit to 1 bit. However, there is a number of steps for which the size of the key is minimal. Indeed, for the parameters (block size of 128 bits, security level of 280 operations), the optimal number of steps is 4 (FIG. 3C). For the sake of simplicity, FIG. 3C illustrates the construction of the elementary function f1, / 3) of the upper step (not shown) from the 28 elementary functions fi J4), ..., fm,) '4i). In this case, the number of turns of the Feistel diagrams to be used is respectively ri = 6, r2 = 7, r3 = 9 and r4 = 14. The basic functions required are then functions from 8 bits to 8 bits and the size of the key is given by 6x (2x7) x (2x9) x (2x14) x8x28 bits, or 10.8 MB, which is well within the memory capacities of current personal computers. 1 finl, nni-ir r $ A .-- 1;. ,, f- ", 11.11111 is also aimed at a U VI program downloadable from a communication network comprising program code instructions for the execution of the steps of the generation and / or of the encryption method according to the invention when it is executed on a computer. This computer program can be stored on a computer readable medium. This program can use any programming language, and be in the form of source code, object code, or of intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form. The invention also relates to a readable information medium by a computer, and comprising instructions from 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) ou un disque dur. The information medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a floppy disk or a disk. hard.

Claims (2)

REVENDICATIONS 1. Procédé de génération de fonction pseudo-aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits utilisant un nombre déterminé de schémas cryptographiques 5 5 5 5 Oi(Mif nt), . 5 5 5 ,n ) imbriqués en couches selon une structure récursive, chaque schéma cryptographique courant çPi(mi,ni) associant à nli bits d'entrée ni bits de sortie en un nombre de tours r,, chaque tour utilisant une fonction élémentaire interne t construite à partir de t, schémas cryptographiques Oi,I(mi.fimi,o) de n,1 bits vers m1.i.1 bits, avec n,+1 < n,, m1+1 < m, et t, chaque schéma cryptographique Oi(mi,ni) définissant un nombre minimal d'opérations comp(mi, dépendant dudit nombre de tours nécessaire pour le distinguer d'une fonction aléatoires associant à m, bits d'entrée n1 bits de sortie, caractérisé en ce que pour chaque schéma cryptographique Oi(mi,ni) ledit nombre de tours ri est choisi de sorte que ledit nombre d'opérations comp(mi, n,, ) qui lui est associé soit supérieur ou égal à un nombre prédéterminé c étant un nombre entier. 1. Method for generating a pseudo-random function with a secret key K from an input block of m bits to an output block of n bits using a determined number of cryptographic schemes 5 5 5 5 Oi (Mif nt),. 5 5 5, n) nested in layers according to a recursive structure, each current cryptographic scheme çPi (mi, ni) associating with nli input bits ni output bits in a number of turns r ,, each turn using an internal elementary function t constructed from t, cryptographic schemes Oi, I (mi.fimi, o) from n, 1 bits to m1.i. 1 bits, with n, + 1 <n ,, m1 + 1 <m, and t, each cryptographic scheme Oi (mi, ni) defining a minimum number of operations comp (mi, depending on the said number of turns necessary to distinguish it from a random function associating with m, input bits n1 output bits, characterized in that that for each cryptographic scheme Oi (mi, ni) said number of turns ri is chosen so that said number of operations comp (mi, n ,,) which is associated with it is greater than or equal to a predetermined number c being a number whole. 2. Procédé selon la revendication 1, caractérisé en ce que ledit nombre déterminé o de schémas cryptographiques est choisi tel que les fonctions élémentaires fi> les plus internes constituant les schémas cryptographiques Ocy(mty,na) de la couche la plus interne soient des fonctions aléatoires définissant une taille minimale de ladite clé secrète. 25 3, Procédé selon l'une quelconque des revendications 1 à 2, caractérisé en ce que ledit nombre prédéterminé 2c est égal à 280.A ,^ e,, te, ...,.s es, 1 ,, "1*. r I IJLCUC DCIUI 1 t Ul IC LiUCILUI LIU UUZ 1 UVUI 1UR.,01.1VI la 1. 1 CiLLZ 1 1 ZZ CI 1 ce que lesdits schémas cryptographiques ,..., m ma) correspondent à des schémas de permutations cryptographiques 1-11(ni),...,H,(ni),... TI (na), chaque permutation cryptographique H.,(n) implémentant une permutation des blocs de n,bits. 5. Procédé selon la revendication 4, caractérisé en ce que lesdits schémas de permutations cryptographiques 111(n1),..., 17;(n), ,17 (na) correspondent à des schémas de Feistel symétriques F,(n,),... , Fa (na). 6. Procédé selon la revendication 5, caractérisé en ce que pour chaque schéma de Feistel symétrique Fi(n,) ledit nombre de tours ri dépend du nombre de bits ni et dudit nombre entier c selon une inéquation définie par r,k.2cIn,+4. 7. Procédé de chiffrement pseudo-aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits utilisant le procédé de génération de fonction pseudo-aléatoire selon l'une quelconque des revendications 1 à 6. 8. Générateur de fonction pseudo-aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits utilisant un nombre déterminé de schémas cryptographiques (1) (miin)i"., ii(rni.n ) imbriqués en couches selon une structure récursive, chaque schéma cryptographique courant (P(n-i,,n,) associant à m, bits d'entrée n, bits de sortie en un nombre de tours r,fl 1 tel lest, rt;r.tr'S. Al Arys.es,F, ; r %-1 s-vul uttitzul 1 ;vl tLuvt I LCIII Il lt.Zl I IZ 1 LVI IJlr UILC a partir de t, schémas cryptographiques 0,+1(m ,n,4 de bits vers m,i,,l bits, avec n,+1 < n,, m, et t, chaque schéma cryptographique (Mi,n,) définissant un nombre minimal d'opérations comp(m,, n,, r, dépendant dudit nombre de tours r,, nécessaire pour le distinguer d'une fonction aléatoires associant à m, bits d'entrée n, bits de sortie, caractérisé en ce qu'il comporte des moyens de calculs pour calculer, pour chaque schéma cryptographique 0,(rn,,n,), ledit nombre de tours r, de sorte que ledit nombre d'opérations comp(m,, n,, qui lui est associé soit supérieur ou égal à un nombre prédéterminé cétant un nombre entier. 9. Générateur selon la revendication 8, caractérisé en ce que lesdits moyens de calcul sont adaptés pour calculer ledit nombre déterminé or de schémas cryptographiques de sorte que les fonctions élémentaires fea) les plus internes constituant les schémas cryptographiques 0a(rn,na) de la couche la plus interne soient des fonctions aléatoires définissant une taille minimale de ladite clé secrète. 10. Dispositif de chiffrement pseudo-aléatoire à clé secrète K d'un bloc d'entrée de m bits vers un bloc de sortie de n bits, caractérisé en ce qu'il comporte un générateur de fonction pseudo-aléatoire selon l'une quelconque des revendications 8 et 9. 11. 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 de codes de programme pour l'exécution des étapes du procédé de génération de fonctions pseudo aléatoire selon au moins l'unequelconque des revpnriir>finnc t .141,141.1,J. r,,, A lnrcnt .a Ç v, ^1/i..n.11.4 rr tir ordinateur. 12. 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 de codes de programme pour l'exécution des étapes du procédé de chiffrement selon la revendications 7, lorsqu'il est exécuté sur un ordinateur. 'té sur un 2. Method according to claim 1, characterized in that said determined number o of cryptographic schemes is chosen such that the most internal elementary functions fi> constituting the cryptographic schemes Ocy (mty, na) of the innermost layer are functions random variables defining a minimum size of said secret key. 3. Method according to any one of claims 1 to 2, characterized in that said predetermined number 2c is equal to 280.A, ^ e ,, te, ...,. S es, 1 ,, "1 * . r I IJLCUC DCIUI 1 t Ul IC LiUCILUI LIU UUZ 1 UVUI 1UR., 01.1VI la 1. 1 CiLLZ 1 1 ZZ CI 1 that said cryptographic schemes, ..., m ma) correspond to cryptographic permutation schemes 1 -11 (ni), ..., H, (ni), ... TI (na), each cryptographic permutation H., (N) implementing a permutation of the blocks of n, bits. 5. Method according to claim 4 , characterized in that said cryptographic permutation schemes 111 (n1), ..., 17; (n),, 17 (na) correspond to symmetrical Feistel schemes F, (n,), ..., Fa ( 6. Method according to claim 5, characterized in that for each symmetric Feistel diagram Fi (n,) said number of turns ri depends on the number of bits ni and on said integer c according to an inequality defined by r, k .2cIn, + 4. 7. Pseudo-random encryption method with secret key K of a bl oc of input of m bits to an output block of n bits using the pseudo-random function generation method according to any one of claims 1 to 6. 8. Pseudo-random function generator with secret key K d ' an input block of m bits to an output block of n bits using a determined number of cryptographic schemes (1) (miin) i "., ii (rni.n) nested in layers according to a recursive structure, each cryptographic scheme current (P (ni ,, n,) associating with m, input bits n, output bits in a number of turns r, fl 1 such as ballast, rt; r.tr'S. Al Arys.es, F,; r% -1 s-vul uttitzul 1; vl tLuvt I LCIII Il lt.Zl I IZ 1 LVI IJlr UILC from t, cryptographic schemes 0, + 1 (m, n, 4 from bits to m, i ,, l bits, with n, + 1 <n ,, m, and t, each cryptographic scheme (Mi, n,) defining a minimum number of operations comp (m ,, n ,, r, depending on said number of turns r ,, necessary to distinguish it from a random function associating with m, input bits n, output bits, characterized in that it comprises calculation means for calculating, for each cryptographic scheme 0, (rn ,, n,) , said number of revolutions r, so that said number of operations comp (m ,, n ,, which is associated with it is greater than or equal to a predetermined number cet being an integer. 9. Generator according to claim 8, characterized in that said calculating means are suitable for calculating said determined number or of cryptographic schemes so that the most internal elementary functions fea) constituting the cryptographic schemes 0a (rn, na) of the most internal layer internal are random functions defining a minimum size of said secret key. 10. Device for pseudo-random encryption with secret key K of an input block of m bits to an output block of n bits, characterized in that it comprises a pseudo-random function generator according to any one of claims 8 and 9. 11. 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 program code instructions for the execution of the steps of the method for generating pseudo-random functions according to at least one of the revpnriir> finnc t .141,141.1, J. r ,,, A lnrcnt .a Ç v, ^ 1 / i..n.11.4 rr computer shooting. 12. 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 program code instructions for the execution of the steps of the computer. Encryption method according to claim 7, when executed on a computer. 'tee on a
FR0757357A 2007-09-05 2007-09-05 GENERATOR AND PROCESS FOR GENERATING A PSEUDO-RANDOM SECRET KEY FUNCTION. Withdrawn FR2920617A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0757357A FR2920617A1 (en) 2007-09-05 2007-09-05 GENERATOR AND PROCESS FOR GENERATING A PSEUDO-RANDOM SECRET KEY FUNCTION.
PCT/FR2008/051529 WO2009030857A2 (en) 2007-09-05 2008-08-26 Generator and method of generating a secret-key pseudo-random function
EP08829862A EP2204007A2 (en) 2007-09-05 2008-08-26 Generator and method of generating a secret-key pseudo-random function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0757357A FR2920617A1 (en) 2007-09-05 2007-09-05 GENERATOR AND PROCESS FOR GENERATING A PSEUDO-RANDOM SECRET KEY FUNCTION.

Publications (1)

Publication Number Publication Date
FR2920617A1 true FR2920617A1 (en) 2009-03-06

Family

ID=39324188

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0757357A Withdrawn FR2920617A1 (en) 2007-09-05 2007-09-05 GENERATOR AND PROCESS FOR GENERATING A PSEUDO-RANDOM SECRET KEY FUNCTION.

Country Status (3)

Country Link
EP (1) EP2204007A2 (en)
FR (1) FR2920617A1 (en)
WO (1) WO2009030857A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2693682A1 (en) * 2011-03-28 2014-02-05 Sony Corporation Data processing device, data processing method, and programme

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036524A1 (en) * 1997-02-14 1998-08-20 At & T Corp. System and method for constructing block ciphers
US6185304B1 (en) * 1998-02-23 2001-02-06 International Business Machines Corporation Method and apparatus for a symmetric block cipher using multiple stages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036524A1 (en) * 1997-02-14 1998-08-20 At & T Corp. System and method for constructing block ciphers
US6185304B1 (en) * 1998-02-23 2001-02-06 International Business Machines Corporation Method and apparatus for a symmetric block cipher using multiple stages

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FRANZON P D ET AL: "Chip-Package Co-Implementation of a Triple DES Processor", IEEE TRANSACTIONS ON ADVANCED PACKAGING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 27, no. 1, 1 February 2004 (2004-02-01), pages 194 - 202, XP011111153, ISSN: 1521-3323 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2693682A1 (en) * 2011-03-28 2014-02-05 Sony Corporation Data processing device, data processing method, and programme
EP2693682A4 (en) * 2011-03-28 2014-12-24 Sony Corp Data processing device, data processing method, and programme
US9083507B2 (en) 2011-03-28 2015-07-14 Sony Corporation Data processing device, data processing method, and program
RU2603550C2 (en) * 2011-03-28 2016-11-27 Сони Корпорейшн Data processing device, data processing method, and program

Also Published As

Publication number Publication date
WO2009030857A3 (en) 2009-05-14
EP2204007A2 (en) 2010-07-07
WO2009030857A2 (en) 2009-03-12

Similar Documents

Publication Publication Date Title
EP2232765B1 (en) Method and entity for probabilistic symmetrical encryption
EP3211823B1 (en) Method for confidential execution of a program operating on data encrypted by means of homomorphic encryption
CA2181299C (en) Cryptographic communication process
EP1757009A1 (en) Method and device for carrying out a cryptographic calculation
FR2765056A1 (en) BLOCK ENCRYPTION ALGORITHM WITH ROBUST SAFETY AGAINST DIFFERENTIAL CRYPTOGRAPHIC ANALYSIS, LINEAR CRYPTOGRAPHIC ANALYSIS AND HIGHER ORDER DIFFERENTIAL CRYPTOGRAPHIC ANALYSIS
EP3228043B1 (en) Method of encryption with dynamic diffusion and confusion layers
FR2808948A1 (en) SYSTEM AND METHOD FOR UNIQUE AUTHENTICATION OF EACH REPRODUCTION OF A GROUP OF ELECTRONIC DOCUMENTS
WO2011083232A1 (en) Encryption and decryption method
WO2009007626A2 (en) Asymmetrical ciphering or signature check method
EP0935858B1 (en) Method for data decorrelation
EP3493458B1 (en) Method and system for encryption/decryption of data with greatly reduced latency for the purpose of storage and/or communication of secure data
FR2920617A1 (en) GENERATOR AND PROCESS FOR GENERATING A PSEUDO-RANDOM SECRET KEY FUNCTION.
WO2009053605A2 (en) Traceable system for encrypting/decrypting broadcast digital data
EP2153575B1 (en) Obtaining derived values depending on a secret master value
EP2652899B1 (en) Method and system for conditional access to a digital content, associated terminal and subscriber device
Masadeh A new encryption system for IoT devices using embedded key cryptosystem
EP2294750B1 (en) Traceable method and system for broadcasting digital data
EP2274869A2 (en) White-box protection for cryptographic algorithms including calculation of a quadratic form
Lambin Optimization of core components of block ciphers
FR3135854A1 (en) Secure provision of keys for fully homomorphic encryption
EP4270855A1 (en) Protection against side-channel attacks using square masking
WO2008065308A1 (en) Data compression function of multiple lengths using single-lengths internal functions
EP4262141A1 (en) Confidential multi-user interrogation method for the presence of a record in a database
Praveenkumar et al. Stego integrated image encryption using row and column indexing—An information security
FR2949887A1 (en) METHOD FOR CRYPTOGRAPHIC DATA PROCESSING

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20090529