FR 2912020 A1 20080801 FR 0700555 A 20070126 PROCEDE POUR SECURISER LA TRANSMISSION D'INFORMATIONS La présente invention concerne la sécurité dans les réseaux. Les champs d'application de la présente invention concernent, notamment, le protocole de routage, l'anonymat et la protection de l'information, dans les réseaux de communication filaire et les réseaux sans fils. Dans les réseaux sans fil, les contraintes sont élevées, il y a une faible capa-cité de calcul, des problèmes de transmission (canaux bruités) et des flux faibles (weak flow). Un des problèmes est de trouver une solution efficace qui pourrait être voisine du temps réel (faible latence) avec de la protection de l'information, c'est-à-dire qu'un attaquant ne peut comprendre l'information lorsqu'il par- 15 vient à l'intercepter, une garantie d'anonymat, c'est-à-dire qu'un attaquant ne peut savoir qui parle avec qui et la conservation du secret ou privacy sans affecter la qualité du trafic c'est-à-dire sans trop ajouter de latence. Les systèmes classiques de chiffrement avec des clés publiques permettant de chiffrer l'adresse du noeud destinataire et l'information elle-même, sont en 20 général très lents par rapport aux besoins des applications. L'art antérieur divulgue plusieurs solutions qui utilisent des systèmes de chiffrement à clé privé. Toutefois, ces solutions n'offrent pas une sécurité suffisante, car chaque noeud du réseau doit connaître la clé privée des autres. Ainsi, lorsqu'un noeud est corrompu, la sécurité du réseau s'écroule. 25 Le document de William Luh, Deepa Kundur, "Distributed Privacy for Visual Sensor Networks via Markov Shares". ln Proceedings of the Second IEEE Workshop on Dependability and Security in Sensor Networks and Systems, 2006 divulgue une méthode qui divise l'information avant de la transmettre. Cette solution protège l'information, uniquement si on fait l'hypothèse que 30 l'attaquant peut intercepter une petite fraction de l'information, et cette hypothèse est peu probable dans un contexte sans fil. Le second inconvénient est l'anonymat : celui-ci n'est pas garanti puisque les auteurs ne donnent aucune solution pour cacher les adresses des noeuds. Le document de V. M. Sidel'nikov. "A public-key cryptosystem based on Reed-Muller codes Discrete Mathematics and Applications, 4(3):191-207, 1994 décrit aussi un système de chiffrement à clé publique qui utilise la propriété des codes de Muller et conserve le principe d'ajouter une erreur aléatoire de poids fixée. La performance d'un tel algorithme est encore faible lorsque l'on considère des applications temps réel ou proches du temps réel. Cet article divulgue un algorithme qui est plus restrictif. La longueur de la clé io est toujours importante et la complexité de chiffrement d'un message est encore importante si l'on souhaite conserver une sécurité élevée. Le dernier point est que ce système de chiffrement à clé publique est probabiliste. II existe une probabilité non nulle que le destinataire du message ne réussisse à déchiffrer le message. 15 A l'heure actuelle, les systèmes décrits dans l'art antérieur ne résolvent pas de façon suffisante les problèmes de protection de la transmission dans un réseau de transmission d'informations sans fil et ne s'intéressent pas au problème de l'anonymat de l'émetteur et du récepteur. 20 L'objet de l'invention concerne un procédé permettant de sécuriser la transmission d'informations dans un réseau de communication comportant plu-sieurs noeuds, caractérisé en ce qu'il comporte au moins en combinaison les étapes suivantes : 25 - transmettre une information codée à laquelle une erreur est ajoutée, en plu-sieurs fractions sur plusieurs chemins indépendants au sein du réseau, chaque fraction étant associée à l'adresse chiffrée du noeud destinataire et à une information de contrôle permettant de reconstituer l'information transmise. 30 Le procédé selon l'invention peut se résumer notamment par les étapes sui-vantes : o coder l'information, par exemple, avec un code de Reed Solomon de longueur n et de dimension k, ou tout autre code présentant des propriétés semblables (distance minimale et difficulté de reconstruire un mot émis trop bruité) à ce dernier. L'information chiffrée comprend aussi l'adresse du noeud du destinataire et des informations utiles pour la reconstruction du message, o partager l'information et la distribuer dans plusieurs paquets différents avant de la transmettre. Le nombre de portions ou fractions distribuées dépend des paramètres de sécurité, des routes possibles pour io transmettre des informations dans le réseau. Le protocole de division utilisé génère plusieurs portions composées d'une partie de l'information chiffrée et d'une information de contrôle comprenant au moins la position de cette partie ou portion dans l'information initiale chiffrée et de l'adresse chiffrée du noeud destinataire de l'information. 15 Selon un mode de réalisation, le procédé ajoute une erreur dépendant no- tamment de la capacité du canal et des paramètres de sécurité visés par une application donnée. Le procédé peut aussi ajouter du trafic supplémentaire ne comprenant pas d'informations utiles afin d'optimiser la protection de l'information. Cette information supplémentaire rend plus difficile l'interception des parties de l'information chiffrées car elle rend non distinguable une vraie communication entre 2 utilisateurs des fausses communications du réseau. Le procédé selon l'invention présente notamment les avantages suivants: 25 o Une solution qui est compatible avec un canal bruité, qui protège l'information puisqu'il n'est pas possible de différencier l'information utile du trafic supplémentaire introduit, o L'anonymat de l'utilisateur émetteur et de l'utilisateur récepteur, les adresses des noeuds étant chiffrées, 30 o L'utilisation d'un nombre de chemins différents pour transmettre les différentes parties de l'information chiffrées augmente la difficulté pour un attaquant d'intercepter toutes les parties et de remonter à l'information initiale. o Le procédé selon l'invention peut être implémenté au niveau le plus bas, à savoir le signal porteur de l'information échangée entre les noeuds, D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit d'un exemple de réalisation don-né à titre illustratif et nullement limitatif annexé des figures qui représentent : io o La figure 1, un schéma de rappel du codage par le code de Reed- Solomon, o La figure 2, un synoptique de la division de l'information codée avant transmission et de la répartition des portions d'information ainsi obtenues dans les trames à transmettre, 15 o La figure 3, l'ajout d'une erreur aléatoire de poids de Hamming fixé, o La figure 4, un exemple de mise en oeuvre du procédé dans le cas d'une transmission d'information entre deux noeuds d'un réseau com- prenant des noeuds intermédiaires, o La figure 5, la génération d'un exemple de matrice de codage, 20 o La figure 6, la génération de la clé publique et de la clé privée à partir de la matrice décrite en figure 5, o La figure 7, un schéma permettant la réduction de la longueur de la clé publique générée à la figure 6, o Les figures 8 et 9, un exemple de structure de codage et de décodage 25 avec utilisation de la clé trouvée à la figure 6. Afin de mieux faire comprendre les principes mis en oeuvre dans l'invention, la description est donnée pour un réseau de communication comprenant plu-sieurs noeuds Mi reliés entre eux par des arêtes, tel que celui décrit à la fi- 30 gure 4. En résumé, l'idée de la présente invention concerne un procédé permettant de transmettre de l'information en toute sécurité dans un réseau comprenant plusieurs noeuds, chacun des noeuds étant pourvu d'un processeur adapté à mettre en oeuvre les étapes décrites ci-après. L'information devant être transmise d'un noeud source A vers un noeud destinataire B, elle peut passer par plusieurs noeuds appelés noeuds intermédiaires Mi dans la description. L'information INF à transmettre se présente sous le format d'une trame de données. Le noeud source ou émetteur A code l'information, par exemple, en io utilisant un code de Reed-Solomon, ou tout autre code présentant des propriétés similaires à ce dernier (en terme de distance minimale et de difficulté de décoder un mot du code trop bruité). La figure 1 résume le codage de Reed-Solomon connu de l'Homme du métier. La figure 1 schématise un code non systématique de Reed-Solomon de Ion- 15 gueur N et dimension k, RS[N,k,N-k+1], défini sur un alphabet de dimension 8 (le corps de Galois GF(2,8), chaque élément de cet alphabet peut être représenté par un octet). Code de Reed-Solomon = RS[longueur = N,dimension = k, distance minimale = N-k+1 ]. 20 Ce code est défini sur un corps fini GF(p,l), où p est un nombre premier, dans l'exemple p=2 et 1=8. Pour coder un message m, le procédé exécute un produit entre le message qui est une matrice comprenant une rangée et k colonnes par une matrice génératrice de RS[N,k,N-k+1], le résultat est un vecteur codé de longueur N 25 octets. Le message est égal a0P0(X)+a1 PI (X)+ .. + ak-1 Pk-1(X) = P(X). Ainsi, le message codé est: (P(0),P(1),P(2), P(N-1)) Le procédé additionne une erreur aléatoire de poids de Hamming Tb à ce vecteur codé. L'étape d'ajout d'erreur est illustrée, par exemple, en figure 3. Finalement, on obtient le nouveau message codé que l'on va diviser de façon 30 à le transmettre sur plusieurs chemins du réseau indépendants les uns des autres. L'information codée après cette première étape est divisée en plusieurs fractions de message. Le procédé utilise une procédure de fractionnement au-dessus du protocole de routage. Ceci permet, notamment, d'augmenter la difficulté qu'un attaquant reconstruise la totalité de l'information. Le nombre de fractions ou portions d'information est déterminé, par exemple, de la manière suivante : un noeud émetteur détermine au moyen d'un algorithme de calcul connu de l'Homme du métier, toutes les routes possibles pour ache-miner des informations dans le réseau. Le nombre de portions d'information peut être égal au nombre de routes possibles ainsi trouvées. Le nombre de portions peut aussi tenir compte du nombre de routes possibles, de la qualité de trafic, des routes trop empruntées, de la bande passante, etc. L'algorithme de calcul de route est connu de l'Homme du métier et ne sera donc pas détaillé. Le nombre de portions est dans tous les cas inférieur à une valeur donnée. is Un algorithme de calcul de route est par exemple décrit dans le document de E. Dijkstra: "A Note on Two Problems in Connexion with Graphs", Numerische Mathematik, Vol. 1, 1959, pp. 269-271 ou dans le document de Richard Bellman: On a Routing Problem, in Quarterly of Applied Mathematics, 16(1), pp.87-90, 1958. 20 Le procédé selon l'invention utilise une procédure de fractionnement au-dessus du protocole de routage. Ainsi, chaque noeud Si qui appartient à un chemin entre la source A et la destination B doit déchiffrer l'adresse du noeud de destination et chiffrer avec l'adresse du noeud, le noeud suivant de ce chemin. La configuration où toutes les routes entre l'émetteur et le desti- 25 nataire sont disjointes, garantit une plus grande sécurité dans les communications. La figure 4 donne un exemple de transmission d'un message codé entre un utilisateur A et un destinataire B. La structure d'une trame utilisée pour transmettre les messages est représentée dans le tableau ci-dessous. Elle possède, par exemple, une longueur 30 de N octets. Ainsi, si le procédé peut envoyer l'information en utilisant t chemins différents, alors il doit coder t messages m qui appartiennent à une seule communication de façon à transmettre t trames sur les t chemins déterminés. Dans le cas où le message total émis par l'émetteur S possède une longueur qui est différente d'un multiple du nombre de chemins t déterminé, le procédé utilise une technique connue de l'Homme du métier dite de bourrage (en anglais padding). io Cette technique permet de compléter le message en ajoutant plusieurs octets égaux à zéro. Le procédé additionne cette information à la place réservée pour le contrôle d'information. Le champ de contrôle d'information peut être complété en fonction des besoins de l'application, par exemple, si l'information doit être insérée à un niveau très bas de l'application, alors is l'information de contrôle devrait être plus importante que si l'implémentation est faite à un niveau très élevé. Cette information de contrôle comporte, par exemple, les informations de synchronisation, de manière plus générale, toute information pouvant être utile à la reconstruction du message. Ces in-formations de contrôle étant connues de l'Homme du métier, ne seront pas 20 détaillées de manière exhaustive. chiffrement de l'information de contrôle et de l'adresse du noeud Le procédé utilise ici un système de chiffrement à clé publique. Ce chiffre-ment peut chiffrer des messages de taille dim = u F(i=o _> i=r) Binomial(i,m) N octets d'information codée. Ces N octets représentent t paquets de Nit octets. Chaque paquet possède une place déterminée dans le message initial L'adresse chiffrée noeud destinateur. Information de contrôle: un entier qui représente la place des paquets dans chaque message code d'origine m et le nombre de messages codés consécutifs. Ces informations sont chiffrées avec un système de clé publique. puisqu'il est exactement la dimension de la clé publique du système de chiffrement publique Mceliece-Sidelnikov. Par exemple, si m = 9, u = 4 alors la dimension est égal à184; si m = 10 et u = 2, alors la dimension est égal à 112. Ces paramètres permettent de garantir une bonne sécurité. Dans ce mes-sage de dim bits le procédé chiffre l'adresse du noeud de destination D, l'information de contrôle et une variable aléatoire de taille R. La valeur de R dépend de la fréquence mobile (moving) des clés privée et publique de façon à conserver un niveau de sécurité élevé. Typiquement, pour R fixé, le pro- lo cédé chiffre 2R fois sans altérer le niveau de sécurité. Ainsi, le message chiffré aura une longueur L = u (2m-E) où E est le nombre d'effacements à considérer comme il est décrit ci-après à la figure 7. Par exemple, si m = 9, u = 4, E = 200, alors dim = 184, L = 1248 et il est possible de considérer un nombre d'erreurs égal à 220. Ces paramètres 15 permettent d'obtenir une sécurité plus grande que 280. Le procédé comprend une étape au cours de laquelle on ajoute une erreur de poids déterminée notamment en tenant compte de la capacité du canal. Cette étape est représentée à la figure 3. Le procédé évalue de façon dynamique la capacité du canal (décodage adaptatif), puis en fonction de la qualité du canal, le procédé additionne des erreurs aléatoires de poids fixé afin de fixer la sécurité d'un point de vue de la reconstruction de l'information. Par exemple, le message codé ayant une longueur n et la capacité du canal s'exprimant C= '/2 + c, on ajoute au message une erreur aléatoire de poids 25 fixé n-sgrt(kn)-(1/2- E)n où sqrt représente la racine carrée, k est la dimension du code de Reed-Solomon. Des algorithmes efficaces de décodage par liste existent pour les codes Reed-Solomon et peuvent corriger n-sqrt(kn) erreurs avec une complexité de l'ordre de n2log(n) opérations dans le corps Fq, Il en existe aussi qui assure 30 un décodage souple. Le chiffrement est un chiffrement à clé publique, connu de l'Homme du métier dont les principes sont rappelés ci-après. Chaque noeud Si possède une adresse Ai, une clef publique Kpvi et une clef privée associée Kpri. Soit fun, la fonction de chiffrement à clef publique. Si S1 est le noeud émetteur d'une information INF et S4 est le destinataire. La route est alors composée des noeuds S2 et S3, S1 envoie donc le message chiffré suivant (fun(Kpv4,(INF,A1)),fun(Kpv3,A4),fun(Kpv2,A3)) à S2. Le noeud S2 effectue alors l'opération fun(Kpr2,fun(Kpv2,A3)) = A3, S2 peut donc envoyer le message (fun(Kpv4,(INF,A1)),fun(Kpv3,A4)) à S3. De même io S3 déduit l'adresse de destination finale A4 = fun(Kpr3,fun(Kpv3,A4)). Finalement S4 reçoit l'information fun(Kpv4,(INF,A1)) de S3, S4 effectue l'opération finale fun(Kpr4,fun(Kpv4,(INF,A1))) = (INF,A1). S4 reçoit donc l'information et l'adresse de la source. Le protocole de routage utilisé est adapté pour déterminer plusieurs chemins 15 entre une source S et une destination D. Ainsi, basé sur la connaissance d'un routage global, il utilise un algorithme de décision efficace pour offrir une meilleure gestion des ressources, ceci dans le but d'augmenter les performances de la transmission de flux. 20 La figure 4 schématise un exemple de mise en oeuvre du procédé selon l'invention dans le cas de deux utilisateurs dans un réseau Alice et Bob souhaitant communiquer. Alice A veut transmettre un message m à Bob B. Alice a besoin de trouver des chemins différents pour transmettre l'information, elle code le message en utilisant sa clé publique. Après codage et à l'aide d'un 25 algorithme adapté, elle transmet les portions de message accompagnées de l'adresse codée du noeud destinataire et de l'information de contrôle, ces deux dernières étant codées. Chaque noeud qui appartient au chemin entre A et B doit déchiffrer l'adresse de B avec sa clé privée et coder l'adresse avec la clé publique du noeud sui-30 vant, ensuite l'information peut être transmise à ce noeud suivant. i0 Lorsque Bob reçoit un message, il déchiffre avec sa clé privée l'information de contrôle et l'adresse du noeud, lorsqu'il recevra tous les paquets du mes-sage unitaire, m, il le décodera en mettant en oeuvre un algorithme connu de l'Homme du métier, par exemple, celui décrit dans le document de Venkate- san Guruswami and Madhu Sudan ,"Improved decoding of Reed-Solomon codes and algebraic-geometry codes" , IEEE Transactions on Information Theory, 45(6): 1757--1767, September 1999 ou bien pour une implémentation très bas niveau, proche du signal dans le document de Ralf Koetter, Alexander Vardy: "Algebraic soft-decision decoding of Reed-Solomon codes" io IEEE Transactions on Information Theory 49(11): 2809-2825 (2003). Sans sortir du cadre de l'invention, le procédé selon l'invention peut être utilisé dans tout système de transmission sans fil qui demande un niveau de sécurité dans la transmission. Tout système de communication demandant des contraintes de sécurité élevées peut l'implémenter. 15 Selon un mode de réalisation, le procédé selon l'invention utilise une clé privée spécifique et obtenue en relation aux figures 5 et 6. La figure 5 représente la matrice de génération NG utilisée pour le chiffre-ment ou codage de l'information à transmettre. 20 Soit C un code linéaire q-aire t-correcteur de longueur n, de dimension k, CWq(n, t) l'ensemble des mots de F"q de poids de Hamming t. (Cryptosystèmes à clé publique basés sur les codes correcteurs d'erreurs de Nicolas Sendrier dans le cadre d'un Mémoire d'habilitation à diriger des recherches, spécialité informatique, Université Paris 6, mars 2002.) 25 G est une matrice génératrice de clé publique, x appartenant à F"q le chiffre-ment est défini de la manière suivante : y=xG+e ; wH(e)=t y est un vecteur, e correspond à une erreur de poids t qui sera choisie au moment du chiffrement, w correspond au poids de Hamming, l'indice H au 30 mot Hamming et t à l'erreur. 2912020 Il La matrice de génération de code désignée NG selon l'invention est une matrice comprenant u lignes et v colonnes, avec u=v, un élément de la matrice étant constitué d'un bloc G correspondant à la matrice initiale de génération de clé publique. NG comprend donc n blocs G selon une ligne de la matrice 5 et aussi b blocs G selon une colonne de la matrice. La matrice du code G est une concaténation et un produit de codes connus de Reed-Muller, par exemple. Donc comme RM(r,m) a une dimension = k = E(;=o -, ;_r) binom(i,m) (avec binom(i,m) = m !/(i !(m-i) !) et une longueur N = 2m, la clef publique sera de dimension (u*k)*(u*N). io Pour le déchiffrement, le procédé exécute u décodages di alors que les procédés connus de l'art antérieur n'en faisaient qu'un: (d_1,d_2,...,d_u). L'intérêt de cette nouvelle technique réside dans les performances obtenues et dans le choix des paramètres. En effet comme cela le crypto système selon l'invention est davantage paramétrable puisqu'il existe un grand choix de is paramètres tandis qu'avec les procédés selon l'art antérieur, ces choix sont imposés par la structure du code. Par exemple, pour les codes de Goppa: longueur N = 2m, dimension k = 2m -m-t. La complexité de l'algorithme de décodage dépend quadratiquement de la longueur du code, donc la complexité pour effectuer u décodage est plus faible que d'effectuer un décodage 20 en longueur 2(m'g-2( ). A partir de cette nouvelle matrice NG, le procédé construit des clés publiques et des clés privées qui vont être utilisées lors de la transmission du message pour chiffrer et déchiffrer. La construction de ces clés est illustrée à la figure 6. 25 La clé publique PUK permettant de chiffrer les informations transmises est construite en utilisant une matrice inversible aléatoire RI, la nouvelle matrice NG et une matrice de permutation aléatoire RP. La multiplication de RI avec NG est une multiplication par bloc. La multiplication à gauche du code concaténé par une matrice inversible est une multipli- 30 cation par bloc permettant d'obtenir une matrice de rang uk. On a le schéma suivant : RI (multiplication matricielle par bloc) NG (multiplication classique matricielle) RP = clé publique PUK utilisé dans le procédé pour déchiffrer l'information reçue par un noeud. La clé privée PRK utilisée pour chiffrer l'information à transmettre au niveau 5 d'un noeud dans le procédé est composée de RI et de RP. Dim(RI) = u2 •(z(;_o_>i=r) Binomial(i,m))2 ; où Binomial(i, m) est une fonction définie de la manière suivante (m!/(i !(m-i) !)) avec m le nombre de variables pour le code de Reed-muller, r l'ordre du code de Reed-Muller RM(r,m). Dim(RP) = u2 .(2m)2 ; lo Dim(NG) = Dim(PUK) = (u E(;_o i=r) Binomial(i,m)).(u2m). Tout autre type de code peut être utilisé. Selon une variante de réalisation, le procédé comporte une étape illustrée à la figure 7 permettant de réduire la longueur de la clé publique générée en 15 figure 6. Elle consiste à éliminer certaines colonnes de la matrice. Le nombre de colonnes effacées est déterminé, par exemple, en fonction de l'algorithme de décodage utilisé à la réception de l'information transmise. Par exemple, pour un algorithme de décodage tolérant t erreurs maximum, on a t = a erreurs 20 construites + 2(effacements E) de colonnes. La valeur du nombre d'effacements de colonnes e est déterminée à partir de t et de la sécurité de la transmission souhaitée. II est ainsi possible d'envisager un même nombre d'effacements pour tous les blocs de la matrice NG. 25 La figure 8 représente un exemple de codage ou chiffrement de l'information à transmettre en utilisant la clé générée en figure 5. Le message est codé en utilisant la clé PUK, puis on ajoute une erreur aléatoire de poids fixé, selon le schéma de la figure 3, par exemple. 30 Pour optimiser la sécurité de la transmission des informations, le procédé ajoute, par exemple, un trafic supplémentaire non utile ou dummy traffic avant de chiffrer l'information. Un noeud du réseau génère du flux trafic en fonction de la place dans la bande passante. Selon un mode de réalisation, une partie de l'information non chiffrée, par exemple, peut être mise dans l'erreur ajoutée comme décrit dans : Cryptosystèmes à clé publique basés sur les codes correcteurs d'erreurs , Nicolas Sendrier, Mémoire d'habilitation à diriger des recherches, spécialité informatique. Université Paris 6, mars 2002. Cette technique figure encode dans le document de V. M. Sidel'nikov, A public-key cryptosystem based on Reed-Muller codes , Discrete Mathematics and Applications, 4(3):191-207. La figure 9 représente un schéma de décodage de l'information chiffrée selon l'invention. Le message codé est décodé dans un premier temps par la clé privée en 15 utilisant la matrice inverse de RP, on a u messages m, puis le procédé utilise u fois l'algorithme de décodage, pour tous les messages m[i] où i est un indice variant de 1 à u (u étant la taille de la matrice), décoder (m[i]). Pour les positions effacées, le procédé exécute les étapes suivantes 20 Si I est une position effacée, faire M[i]=0 sinon, faire M[i] = (-1 )Tab[tj; t := t+1; avec Tab[t] qui correspond au vecteur y défini précédemment, t est par exemple la position d'un bit dans un message à chiffrer. De manière plus générale t correspond à la position d'une composante du 25 vecteur y t=t+1 ; la boucle est exécutée pour i compris dans [0 u2m-1] où m est le paramètre du code de Reed-Muller, 2m est la longueur du code de Reed-Muller. Le message obtenu est isomorphe IM de longueur (en bits): 30 u.(E(;=0 ;=r) Binomial(i,m)). Le procédé applique ensuite la clé privée RI, en utilisant sa matrice inverse (RI)-1 pour obtenir le message final décodé. Le procédé selon l'invention fait appel à des techniques connues de l'Homme du métier pour transmettre les clés publiques et les clés privées générées. Ces techniques de gestion des clés ne seront donc pas détaillées. Les étapes du procédé décrites précédemment peuvent être mises en oeuvre dans tous les systèmes de transmission sans fil et filaire qui demandent un lo niveau de sécurité dans la transmission. Tout système de communication demandant des contraintes de sécurité élevées peut utiliser l'invention. 15 REVENDICATIONS 1 û Procédé permettant de sécuriser la transmission d'informations dans un réseau de communication comportant plusieurs noeuds, caractérisé en ce qu'il comporte au moins en combinaison les étapes suivantes : -transmettre une information codée, à laquelle on a ajouté une erreur, en plusieurs fractions, sur plusieurs chemins indépendants dans le réseau, chaque fraction étant associée à l'adresse chiffrée du noeud destina- taire et à une information de contrôle. i0 2 û Procédé selon la revendication 1, permettant de sécuriser la transmission d'informations dans un réseau de communications comportant plusieurs noeuds, caractérisé en ce qu'il comporte en combinaison au moins les étapes suivantes: 15 o Un noeud émetteur de l'information encode l'information avec un code donné, o Une erreur de poids donné est ajoutée à l'information chiffrée, o L'information chiffrée et l'erreur sont fractionnées en un nombre de portions qui est sensiblement égal à un nombre r choisi de routes 20 possibles pour transmettre de l'information dans le réseau, o On chiffre l'adresse de destination, o Pour chaque portion, on associe une information de contrôle permet-tant la reconstruction du message au niveau de la destination et l'adresse chiffrée du noeud de destination, 25 o Les différents ensembles composés chacun d'une portion d'information chiffrée, d'une information de contrôle et de l'adresse chiffrée du nceud destinataire sont envoyés en parallèle sur les r routes choisies. 30 3 û Procédé selon la revendication 2, caractérisé en ce que l'on utilise un code de Reed-Solomon pour chiffrer l'information initiale à transmettre.4 û Procédé selon la revendication 2, caractérisé en ce que l'on évalue la capacité du canal de transmission, puis en fonction de la qualité de ce canal, on ajoute une erreur aléatoire de poids fixé. û Procédé selon la revendication 2, caractérisé en ce que l'on utilise un système de chiffrement à clé publique pour chiffrer les adresses du noeud destinataire. 6 û Procédé selon la revendication 5, caractérisé en ce qu'il utilise une clé publique et une clé privée générées de la façon suivante : • générer une clé publique en utilisant une matrice de génération de clé publique NG constituée de u colonnes et u lignes, un élément d'une colonne ou d'une ligne étant un bloc formé par la matrice G de géné-15 ration de code, et en exécutant l'opération suivante : soit RI une matrice inversible aléatoire constituant une clé privée et RP une matrice obtenue par permutation aléatoire constituant une clé privée NG, la matrice la clé publique est donnée par la matrice PUK = RI(multiplication matri-20 cielle par bloc) NG(multiplication matricielle)RP • utiliser la clé privée et la clé publique obtenue pour coder et décoder les informations transmises dans le réseau. 7 û Procédé selon la revendication 6, caractérisé en ce qu'elle comporte une 25 étape de réduction de la taille de la matrice de génération de la clé publique en éliminant certaines colonnes de la matrice. 8 û Procédé selon la revendication 7, caractérisé en ce que le nombre de colonnes effacées clans la matrice est la même dans tous les blocs consti- 30 tuant la matrice NG et en ce que le nombre de colonnes à effacer est déterminé à partir de l'algorithme de décodage. 59 û Procédé selon l'une des revendications précédentes, caractérisé en ce qu'une partie de l'information à chiffrer est incorporée dans l'erreur ajoutée avant de coder l'information. û Procédé selon la revendication 7, en ce qu'il comporte une étape de décodage de l'information codée mettant en oeuvre les étapes suivantes : io Le message codé est décodé dans un premier temps par la clé privée en utilisant la matrice inverse de RP, puis le procédé utilise u fois l'algorithme de décodage pour les u messages m, pour tous les messages m[i] où i est un indice variant de 1 à u, décoder (m[i]). is Pour les positions effacées, exécuter les étapes suivantes : Si I est une position effacée, faire M[i]=0 sinon, faire M[i] = (-1,ITab[cl;; t := t+1; t=t+1 ; la boucle est exécutée pour i compris dans [0 u2m-1] où m est le paramètre du code de Reed-Muller, 2m est la longueur du code de ReedMuller. Appliquer ensuite la clé privée RI, en utilisant sa matrice inverse (RI)-' pour obtenir le message final décodé. 25 30