FR 2920617 A1 20090306 FR 0757357 A 20070905 Titre de l'invention Générateur et procédé de génération de fonction pseudoaléatoire à clé secrète. 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. 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. 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. 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 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, 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 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 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. 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 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. 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. 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. 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. 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. 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 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 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