Brevet FR2985626A1 — publié le 20130712

Procédé de transmission d'une donnée répartie entre une pluralité d'entités, appareil et produit d'ordinateur permettant de retrouver la donnée. 1. Domaine de l'invention L'invention concerne un procédé de transmission d'une donnée destinée à être accessible dans son intégralité à un certain moment par une communauté de personnes. Le procédé est notamment prévu pour autoriser l'accessibilité de la donnée à partir du moment où un certain quorum de personnes le décide. 2. Art antérieur Il existe de nombreux procédés de chiffrement et de déchiffrement de données confidentielles destinés à les protéger au cours de leurs transferts. Des algorithmes de chiffrement ont été mis au point permettant de chiffrer une donnée avec une clé et de la déchiffrer avec une autre clé. Dans le cas d'algorithmes symétriques, la même clé est utilisée et l'algorithme est différent. A l'aide de la cryptographie asymétrique, les algorithmes de chiffrement utilisent une clé publique pour chiffrer une information confidentielle que seule une personne possédant la clé privée correspondante peut déchiffrer. Pour garantir un haut niveau de sécurité, les clés et les algorithmes cryptographiques sont mémorisés dans des cartes à puces. Dans le cas où une donnée doit être transmise à une pluralité de personnes, chaque personne doit disposer d'un algorithme et d'une clé d'accès à la donnée. La donnée est transmise à l'ensemble des personnes et chacune d'entre elles peut accéder à la donnée au moment où elle le souhaite. Un problème se pose lorsque la donnée doit être au même moment accessible à une pluralité de personnes. Selon l'art antérieur, la donnée confidentielle est transmise à un tiers de confiance qui va garder la donnée confidentielle. Suite à un message émis par une autorité, le tiers de confiance autorise la divulgation de la donnée à certaines personnes. Ces personnes doivent alors s'authentifier auprès du tiers de confiance. Une fois leur identité vérifiée, le tiers de confiance communique les moyens d'accéder à la donnée, par exemple des moyens de déchiffrement. La donnée est alors rendue accessible avec lesdits moyens d'accès. Mais cette méthode rend accessible une donnée à au moins une personne sans toutefois contrôler qu'au moins un minimum de personnes ait donné leur accord pour autoriser son accessibilité. En d'autres termes, il n'est pas possible de garantir que la donnée n'a pas été transmise avant qu'un certain nombre de personnes aient décidé de la rendre accessible. 3. Objectifs de l'invention La présente invention apporte une solution qui ne présente pas les inconvénients décrits plus haut, tout en proposant les avantages listés ci-dessus. 4. Exposé de l'invention Sur un plan fonctionnel, l'invention concerne un procédé de transmission d'une donnée découpée en plusieurs segments, chaque segment étant codé à l'aide d'un premier code correcteur d'erreur. Le procédé inclut les étapes suivantes : - une étape d'émission des segments codés à destination d'une pluralité d'entités, - une étape de transmission par un nombre d'entités inférieur ou égal à celui de la pluralité d'un nombre de segments codés inférieurs ou égal au nombre de segments émis, - une étape de décodage des segments effectivement transmis à l'aide d'un second code correcteur d'erreur permettant de retrouver la valeur des segments de la donnée qui n'ont pas été transmis. De cette manière, il est possible de transmettre une donnée lorsqu'une pluralité de personnes ont décidé de la rendre accessible. L'utilisation d'un Code Correcteur d'Erreur (CCE) permet de retrouver l'intégralité de la donnée sans que l'ensemble des personnes qui partagent la donnée ait transmis leur partie.30 Selon un mode de réalisation l'étape de décodage est déclenchée lorsque le nombre de segments effectivement transmis atteint une valeur prédéterminée. De cette manière, l'accès à l'intégralité de la donnée n'est possible que lorsqu'un certain quorum d'entité est atteint. Selon un autre mode de réalisation, les segments de valeurs codées sont référencés afin de déterminer les segments manquants lors du décodage. De cette manière, le code correcteur d'erreur peut retrouver plus de segments manquants et ainsi le nombre de segments nécessaires pour retrouver la donnée est plus petit. Selon un autre mode de réalisation le découpage de la donnée dépend du formatage appliqué par au moins le premier code correcteur d'erreur. De cette manière, le traitement de codage est simplifié. Selon un autre mode de réalisation, les segments émis sont chiffrés, et les segments transmis sont déchiffrés lors de l'étape de décodage. De cette manière, la confidentialité de la donnée est assurée. Selon un autre mode de réalisation, chaque entité reçoit au moins le nombre minimum de segments codés permettant de retrouver la valeur des segments de la donnée qui n'ont pas été transmis. De cette manière, chaque entité dispose individuellement des moyens pour retrouver la donnée dans son intégralité. Selon une variante de réalisation, les segments codés sont transmis à une autorité. Cette autorité exécute l'étape de décodage afin de retrouver la valeur des segments et distribue l'intégralité de la donnée au moins aux entités qui lui ont transmis un segment codé. De cette manière, le traitement de décodage est effectué qu'une seule fois. Selon un autre mode de réalisation, une entité reçoit plusieurs segments codés. De cette manière, il est possible d'affecter à une entité un poids plus important au sein de la pluralité. Selon un autre mode de réalisation, un nombre de segments inférieur ou égal à celui du nombre total de segments formant la donnée est émis. De cette manière, il est possible d'utiliser un certain code correcteur d'erreur et de l'adapter à la situation.30 Selon un plan matériel, l'invention concerne un appareil incluant un moyen de communication recevant des segments d'une donnée découpée en plusieurs segments, chaque segment de la donnée étant codé à l'aide d'un premier code correcteur d'erreur et les segments codés étant émis à destination d'une pluralité d'entités. Le moyen de communication reçoit d'un nombre d'entités inférieur ou égal à celui de la pluralité un nombre de segments codés inférieur ou égal au nombre de segments transmis aux différentes entités. L'appareil inclut en outre un moyen de décodage des segments reçus à l'aide d'un second code correcteur d'erreur permettant de retrouver la valeur des segments de la donnée qui n'ont pas été reçus par l'appareil. L'invention concerne aussi un produit programme d'ordinateur comprenant des instructions de programme pour l'exécution du procédé. 5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non-limitatif, et des dessins annexés, parmi lesquels : - la figure 1 représente un réseau de communication reliant des individus recevant une donnée chiffrée codée, - la figure 2 illustre les principales étapes de mise en oeuvre du procédé selon un exemple de réalisation de l'invention - la figure 3 présente un organigramme de chiffrement et du codage de la donnée selon un exemple particulier de réalisation. - la figure 4 présente un organigramme de déchiffrement et de décodage selon un exemple particulier de réalisation. 6. Description d'un mode de réalisation de l'invention 6.1 Principe général L'invention concerne la transmission d'une donnée répartie entre plusieurs individus. La donnée est préalablement découpée en plusieurs segments et chaque segment est codé à l'aide d'un premier code correcteur d'erreur. Les segments codés sont ensuite transmis à une pluralité d'individus ou de terminaux, chaque individu ou terminal disposant alors d'une partie codée de la donnée. A un certain moment, les individus décident de retrouver l'intégralité de la donnée et transmettent un nombre de segments codés inférieurs ou égal au nombre de segments émis. Les segments effectivement transmis sont alors décodés à l'aide d'un second code correcteur d'erreur ce qui permet de retrouver la valeur des segments de la donnée qui n'ont pas été transmis. L'intégralité de la donnée est alors accessible aux individus ou aux terminaux. 6.2 Description d'un mode de réalisation La figure 1 décrit un réseau de communication reliant une pluralité de terminaux 1 fixes ou portables destiné à transmettre une donnée confidentielle selon un exemple de réalisation de l'invention. Le réseau de communication peut être Internet, ou un réseau de téléphonie sans fil, ou une combinaison des deux. Les terminaux appartiennent généralement à un individu, on désignera sous le nom d' « entité » indifféremment un individu ou un terminal. Les terminaux 1 dialoguent avec un serveur 2 gérée par une autorité du réseau. Le serveur contient une unité centrale 3 associée à une mémoire de programme et une mémoire de donnée 4 qui peut être par exemple un disque dur. Le serveur 2 dispose également de moyen de communication 5 permettant de dialoguer avec ou sans fil et avec tout ou partie des terminaux 1. Une fonction du serveur 2 consiste en la gestion du transfert et la délivrance d'une donnée répartie entre plusieurs entités. Cette donnée est destinée à être communiquée à un ensemble d'entités identifiées par une liste de diffusion. L'invention permet de rendre la donnée intégralement disponible à au moins une partie des entités et à un certain moment. D'autres paramètres peuvent être également spécifiés et échangés entre les entités et/ou le serveur tels que le nombre d'individus du quorum qui déclenche la diffusion de la donnée, un poids plus important affecté à certain individu de la liste, un type d'algorithme de sécurité à utiliser pour chiffrer et déchiffrer la donnée, etc. La figure 2 décrit des étapes de mise en oeuvre du procédé selon un exemple de réalisation de l'invention. A l'étape 2.1, la donnée DATA est divisée en n segments Di de taille identique. La donnée Di contenue dans chaque segment est éventuellement formatée et notamment complétée par des bits de remplissage de façon à être compatible avec les opérations qui vont suivre. A l'étape 2.2, chaque donnée Di est chiffrée en une donnée Di' à l'aide d'une clef secrète, puis l'ensemble des donnée Di' est concaténée. A l'étape 2.3, l'ensemble des n données chiffrées Di' est le paramètre d'entrée d'une fonction de code correcteur d'erreur (CCE). Le codage CCE produit pour chaque donnée Dl' une valeur codée Bl, cette valeur étant d'une taille plus importante que la donnée Dl '. Le Code Correcteur d'Erreur permet à partir d'une donnée de n bits, dont p bits ont été perdus de retrouver l'ensemble des n bits à l'aide des n-p bits récupérés. Le code REED SOLOMON est un exemple largement utilisé de code Correcteur d'Erreur. A l'étape 2.4, les n paquets codés sont distribués à au plus n individus qui vont se partager la donnée DATA chiffrée. A un certain moment, la donnée chiffrée doit être disponible dans son intégralité auprès d'au moins un certain nombre q des n individus, appelé par la suite le quorum. A l'étape 2.5, des paquets codés Bi sont récupérés et lorsqu'au moins q paquets sont rassemblés, alors une fonction de décodage utilisant la fonction inverse du CCE utilisé est appliqué sur les paquets rassemblés. A l'étape 2.6, toutes les données chiffrées Di' sont retrouvées sans qu'il y ait besoin de rassembler l'ensemble des n paquets codés. A l'étape 2.7, toutes les données chiffrées Di' sont déchiffrées à l'aide d'un algorithme de déchiffrement et d'une clef secrète, et l'ensemble des données Dl sont accessibles en clair. Enfin, à l'étape 2.8, la donnée secrète est délivrée aux individus du quorum. Comme on le voit, l'invention permet de transmettre une donnée en toute sécurité à un groupe d'individus, puis de délivrer cette donnée lorsqu'au moins une partie de ces individus en font la demande. La fonction de CCE est choisie en fonction du nombre d'individus se partageant la donnée chiffrée et du nombre d'individus composant le quorum. Les étapes de chiffrement et de déchiffrement apportent de la sécurité dans le procédé de transmission. Ces étapes ne sont pas essentielles si la confidentialité de la donnée n'est pas recherchée. La figure 3 décrit un organigramme représentant les étapes de formatage, de chiffrement et de codage de la donnée avant sa transmission à une pluralité de individu, selon un exemple particulier de réalisation. A l'étape 3.1, la donnée à chiffrer est formatée en macroblocs comprenant au maximum 28280 bits. Avantageusement, le nombre de bits du découpage dépend du formatage appliqué ensuite par le chiffrement et/ou le code correction d'erreur, en l'occurrence ici le standard AES. Puis (étape 3.2) un algorithme de remplissage (ou « Padding » en langue Anglo-saxonne), par exemple l'algorithme PKCS7 décrit dans la paragraphe 6.3 de la norme RFC5652 ajoute un suffixe pour que chaque macrobloc contienne un nombre de bits multiple de 128. Tout autre algorithme de remplissage est utilisable dans le cadre de la présente invention. A l'étape 3.3, des bits de donnée sont rajoutés afin d'obtenir une taille de 28288 bits, et le macrobloc est découpé en 221 blocs de 128 bits. Un générateur de nombre aléatoire est éventuellement utilisé pour produire des valeurs aléatoires qui sont intégrées au bloc pour atteindre la taille désirée. A l'étape 3.4, la quantité de données aléatoire est spécifié sous la forme d'un préfixe de 128 bits. A ce stade, selon l'algorithme de remplissage défini par le standard PCKCS7, le macrobloc contient une structure formée des blocs de 128 bits ayant la structure suivante : [valeur aléatoire][nombre de blocs aléatoires] [bloc aléatoire] ... [Donnée]...[Donnée de remplissage]. A l'étape 3.5, un autre préfixe à chaque macrobloc est rajouté de façon à augmenter la taille de chaque macrobloc afin de rajouter de la valeur aléatoire à la donnée à chiffrer. Typiquement, 22 blocs de 128 bits sont rajoutés au macrobloc qui est alors constitué de 223 blocs de 128 bits, soit 28544 bits. L'algorithme de chiffrement place alors chaque bit du macrobloc dans un premier tableau de 223 colonnes et 128 lignes, chaque ligne contenant un bloc de donnée (étape 3.6). L'algorithme de chiffrement chiffre ensuite chaque ligne de 128 bits en les prenant dans l'ordre, de la première ligne à la 223' et produit une nouvelle valeur de 128 bits. L'algorithme de cryptage est de type symétrique et chaîné de préférence. Par exemple, l'algorithme de cryptage est « AES » utilisant une clef AES-Key, de 256 bits par exemple. Le premier bloc de 128 bits est concaténé avec une valeur initiale (VI) de 128 bits : AES-VI, l'ensemble est alors chiffré avec la clef AES-Key. Le résultat est utilisé pour générer une valeur de 128 bits qui est combiné à l'aide de la fonction XOR avec le second bloc de 128 bits du macrobloc, générant ainsi une seconde valeur chiffrée. Et ainsi de suite avec les blocs suivants jusqu'au 223' bloc de 128 bits, l'opération de cryptage est donc répétée 223 fois. On peut noter que, selon la solidité de l'algorithme de cryptage, il n'est quelquefois pas utile de chaîner les blocs de 128 bits. A l'étape 3.8, la totalité des étapes de chiffrement produit 223 valeurs de 128 bits qui sont mémorisées bit à bit dans le premier tableau de 223 lignes de 128 colonnes en lieu et place des valeurs non cryptées. Il n'est pas nécessaire de détailler d'avantage l'algorithme de chiffrement qui est classique en soi. A l'étape 3.9, l'algorithme de chiffrement extrait alors les 223 bits de chaque ligne du premier tableau et les utilise comme paramètre d'entrée pour un codage de type Reed Solomon transformant cette donnée de 223 bits en une autre donnée de 255 bits. A l'étape 3.10, les 255 bits produits sont alors stockés dans un second tableau de 255 colonnes (32 colonnes de plus que le premier tableau) et 128 lignes. Le codage intervient ensuite pour chacune des lignes du premier tableau ce qui permet de remplir toutes les cases du second tableau. Les valeurs du second tableau sont maintenant prêtes à être distribuées aux différents individus qui se partagent la donnée chiffrée. Les 128 bits de chaque ligne du second tableau et le numéro de la ligne sur 8 bits sont encapsulés dans un message transmis à un individu. Le numéro de la ligne définit la place du segment dans la valeur codée et chiffrée. Les message peuvent aussi contenir des informations complémentaires telles que : les adresses de tous les individus qui se partagent la valeur chiffrée codée, le nombre de individus du quorum, les caractéristiques de l'algorithme de déchiffrement, les références d'un tiers de confiance chargé de déchiffrer et distribuer la donnée dans son intégralité, etc. Les messages sont alors transmis aux différents individus. Si on veut accorder plus de poids à un individu, il est possible de lui transmettre plusieurs messages. Disposant de plusieurs segments, cet individu a plus d'importance que celui qui n'en reçoit qu'un. Les messages sont transmis par Internet par exemple, en utilisant les adresses IP de chaque individu autorisé à recevoir la donnée dans son intégralité. La figure 4 décrit un organigramme représentant les étapes de décodage, de déchiffrement et de formatage de la donnée avant sa transmission à une pluralité d'individus, selon un exemple particulier de réalisation. A un certain moment, les individus ayant reçu un segment de la valeur chiffrée codée veulent la déchiffrer. Pour cela, à l'étape 4.1, ces individus rassemblent un certain nombre de segments reçus dans au moins un endroit disposant d'une unité de traitement. L'unité de traitement ordonne les segments reçus en fonction des numéros de colonne et déchiffre le contenu de chaque segment à l'aide d'un algorithme de déchiffrement et d'une clé secrète. Par exemple, les valeurs déchiffrées sont placées dans chaque ligne Ainsi, un certain nombre de colonnes d'un tableau comprenant 255 colonnes et 128 lignes sont remplies. 16 blocs manquants sont tolérés si on ne connaît pas les endroits où ils se trouvent et 32 blocs manquants sont possibles si les endroits où ils se trouvent sont connus. A l'étape 4.1, l'algorithme prend en compte un codage REED- SOLOMON de type (255, 223, 16) qui peut corriger soit 32 éléments manquants bien localisés dans un ensemble de 255 éléments, soit 16 éléments manquants non localisés dans le même ensemble de 255 éléments. A l'étape 4.1, le décodeur REED-SOLOMON corrige les colonnes manquantes et permet de remplir l'intégralité des 223 colonnes de 128 lignes d'un tableau (étape 4.3). Une fois ce tableau intégralement rempli, à l'étape 4.1, il est possible de déchiffrer colonne après colonne les données. Le code REED SOLOMON (x,y,z) ou RS(x,y,z) est sélectionné en fonction du nombre maximum d'individus qui se partagent la valeur à chiffrer et du quorum à atteindre pour déchiffrer cette valeur. Par exemple, si 50 individus doivent se partager la donnée à chiffrer, et que le quorum est de 32, alors on peut utiliser un code REED SOLOMON (50, 32, 9) par exemple. A à l'étape 4.5, en utilisant le nombre de blocs aléatoires contenu dans le champ de 128 bits, le préfixe contenant les blocs de 8 bits de données aléatoires sont supprimés dans chaque colonne. A l'étape 4.6, le champ de 128 bits contenant le nombre de blocs aléatoires est alors supprimé. A l'étape 4.7, le préfixe aléatoire peut alors être aussi supprimé, ainsi que le remplissage de bits (étape 4.8) pour être conforme au formatage PCKS7-RFC5652. A l'étape 4.9, les paquets de données déchiffrées peuvent alors être extraits et concaténés pour retrouver la donnée en clair. A l'étape 4.10, la donnée en clair est ensuite transmise aux individus qui sont présents dans la liste de diffusion. Il a été dit qu'un codage RS(x, y, z) permet à partir d'une donnée de x blocs de corriger soit (x-y) éléments manquants bien localisés, soit z éléments manquants non localisés, où z = (x-y) / 2. Bien qu'il existe un nombre important d'algorithmes de codage qui sont fonction de ces trois paramètres : x ,y,z, il n'existe pas toujours celui adapté au nombre d'individus listés et au nombre spécifié dans la quorum. Dans le cas général, l'algorithme de codage le plus adapté peut spécifier une valeur y qui est supérieure ou égale à celle Q du quorum et une valeur x supérieure ou égale au nombre d'individus P. Nous avons donc les équations suivantes P = P >= Q Dans ce cas et selon un mode particulier de réalisation, P parties codées sont transmises aux individus, ainsi le nombre de parties transmises est inférieur à celui du nombre total de parties formant la donnée. x-2z-Q = y-Q parties sont distribuées à chacun et 2z+Q-P portions sont supprimées et purement et simplement effacées, ce qui n'est aucunement problématique puisque le décodage par le code correcteur d'erreur permet de les retrouver facilement. Selon un premier exemple de réalisation, chaque individu possède dans son ordinateur les moyens de formatage, de déchiffrement et de décodage de la donnée transférée. Chaque individu reçoit un segment codé de la donnée et les paramètres permettant de déclencher localement le décodage. A un certain moment, ces individus décident de connaître la donnée. Pour cela, chaque individu transmet à l'ensemble des autres le ou les segments codés dont il dispose. De cette manière, chaque individu reçoit au fil du temps les segments codés et, lorsque le quorum est atteint, les modules de décodage et formatage retrouvent l'ensemble de la donnée chiffrée et fournit l'intégralité de la donnée à l'individu disposant dans son ordinateur dudit module. Selon ce premier exemple de réalisation, chaque individu dispose d'un terminal permettant de dialoguer avec les autres individus et capable de décoder et éventuellement de déchiffrer les segments de valeurs chiffrées codées. Chaque terminal comptabilise individuellement le nombre de segments reçus et déclenche en local le décodage et le déchiffrement lorsque le quorum est atteint. Selon une variante de réalisation, un tiers de confiance dispose d'un serveur de communication tel que celui illustré sous la référence 2 de la figure 1. Ce serveur 2 reçoit des messages en provenance des différents individu ou terminaux, c'est à dire des différentes entités et contenant les segments de valeurs codées chiffrées, gère le nombre de segments reçus et, lorsque ce nombre atteint le quorum, déclenche les étapes de décodage et de formatage. L'intégralité de la donnée est alors émise vers les entités qui ont transmis les messages contenant des segments codés. Si d'autres entités fournissent par la suite des segments manquants dans un message, il n'est pas nécessaire d'effectuer les étapes de décodage et formatage puisqu'elles fourniront le même résultat. En réponse au message, le tiers de confiance délivre immédiatement l'intégralité de la donnée. De cette façon et selon un perfectionnement de l'invention, la donnée n'est pas uniquement délivrée aux entités qui ont transmis les segments intervenant dans le décodage mais à toutes les entités identifiées dans la liste de diffusion. La présente invention trouve une application par exemple dans le domaine des jeux en réseau. Un jeu consiste à distribuer à une pluralité de personnes une question et à un certain moment, à demander à un nombre minimum de personnes d'y répondre. Au cours de la réponse faite par ce nombre minimum de personnes, des annonces publicitaires peuvent être reproduites, et ainsi l'annonceur publicitaire est assuré d'un auditoire minimum. Au départ, chaque personne s'inscrit au jeu et reçoit un ticket qui est une partie codée de la question. Lorsque toutes les parties codées sont distribuées, la phase active du jeu peut commencer. A un certain moment, un meneur de jeu propose de commencer à travers par exemple une émission de télévision et demande à chacune des personnes de lui transmettre son ticket par Internet. Peu à peu, le meneur de jeu reçoit les différents tickets et lorsque le nombre suffisant de tickets permettant de décoder la question lui est parvenu, il reproduit la question en clair au quorum ainsi réalisé. Chaque personne du quorum peut alors proposer une réponse et éventuellement gagner le jeu. Ce même jeu peut aussi se dérouler sans meneur de jeu. Par exemple, chaque personne reçoit un ticket qui comporte le nombre minimum du quorum et les adresses IP des autres personnes. Chaque personne ouvre alors une session de communication à l'aide de son terminal, chaque terminal peut ainsi connaître en temps réel le nombre de participant. Lorsque le quorum est atteint, les terminaux connectés informent les personnes et s'échangent tous ensemble les tickets afin de recevoir chacun l'ensemble des tickets. Suite à ces échanges, les terminaux peuvent quasiment au même moment délivrer la question en clair aux personnes et ainsi chacun dispose du même temps pour y répondre. L'invention n'est pas limitée aux modes de réalisation qui viennent d'être décrits. En particulier, l'invention peut être mise en oeuvre par tout appareil disposant de moyen de communication et capable de dialoguer avec une pluralité d' individus.25 REVENDICATIONS1. Procédé de transmission d'une donnée découpée (2.1) en plusieurs segments, chaque segment étant codé (2.3) à l'aide d'un premier code correcteur d'erreur ; caractérisé en ce qu'il inclut : une étape d'émission (2.4) des segments codés à destination d'une première pluralité d'entités, une étape de transmission (2.5) par une seconde pluralité d'entités d'un nombre de segments codés inférieurs ou égal au nombre de segments émis, les entités de la seconde pluralité faisant partie de la première pluralité, une étape de décodage (2.6) des segments effectivement transmis à l'aide d'un second code correcteur d'erreur permettant de retrouver la valeur des segments de la donnée qui n'ont pas été transmis. 2. Procédé de transmission d'une donnée selon la revendication 1, caractérisé en ce que l'étape de décodage (2.6) est déclenchée lorsque le nombre de segments effectivement transmis atteint une valeur prédéterminée. 3. Procédé de transmission d'une donnée selon la revendication 1 ou 2, caractérisé en ce que les segments de valeurs codées sont référencés afin de déterminer les segments manquants lors du décodage. 4. Procédé de transmission d'une donnée selon l'une quelconque des revendications précédentes, caractérisé en ce que le découpage (2.1) de la donnée dépend du formatage appliqué par au moins le premier code correcteur d'erreur. 5. Procédé de transmission d'une donnée selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de chiffrement (2.2) des segments, et une étape de déchiffrement des segmentstransmis et retrouvés lors de l'étape de décodage. 6. Procédé de transmission d'une donnée selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque entité reçoit au moins le nombre minimum de segments codées permettant de retrouver la valeur des segments de la donnée qui n'ont pas été transmis. 7. Procédé de transmission d'une donnée selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'étape de transmission consiste à transmettre les segments codés à une autorité, ladite autorité exécutant l'étape de décodage afin de retrouver la valeur des segments et distribuant l'intégralité de la donnée au moins aux entités qui lui ont transmis un segment codé. 8. Procédé de transmission d'une donnée selon l'une quelconque des revendications précédentes, caractérisé en ce qu'une entité reçoit plusieurs segments codés. 9. Procédé de transmission d'une donnée selon l'une quelconque des revendications précédentes, caractérisé en ce l'étape d'émission (2.4) émet un nombre de segments inférieur à celui du nombre total de segment formant la donnée. 10. Appareil (1) incluant un moyen de communication (5) recevant des segments d'une donnée découpée en plusieurs segments, chaque segment de la donnée étant codé à l'aide d'un premier code correcteur d'erreur et les segments codés étant émis à destination d'une première pluralité d'appareils (1) ; caractérisé en ce que le moyen de communication (5) reçoit un nombre de segments codés d'une seconde pluralité d'appareils (1), les appareils de la seconde pluralité faisant partie de la première pluralité, et en ce que l'appareil (1) inclut un moyen de décodage des segments reçus à l'aide d'un second codecorrecteur d'erreur permettant de retrouver la valeur des segments de la donnée qui n'ont pas été reçus par l'appareil (1). 11. Programme d'ordinateur caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre des étapes d'émission des segments codés à destination d'une première pluralité d'entités, de transmission par une seconde pluralité d'entités d'un nombre de segments codés inférieur ou égal au nombre de segments émis et de décodage des segments effectivement transmis à l'aide d'un second code correcteur d'erreur permettant de retrouver la valeur des segments de la donnée qui n'ont pas été transmis selon l'une quelconque des revendications 1 à 9 lorsque ce programme est exécuté par un processeur.