Brevet FR2665990A1 — publié le 19920221

SYSTEME DE CODAGE DE DETECTION D'ERREURS AMELIORE ARRIERE-PLAN L'importance du codage de détection d'erreurs des données dans les systèmes de traitement àe données et dans les systèmes de transmission de données, y compris les réseaux informatiques, a considérablement augmenté comme les vitesses de transmission des données ont augmenté; Les données sont habituellement transmises par l'intermédiaire d'un réseau sous la forme de paquets de plusieurs octets Au fur et à mesure que les capacités de transmission des systèmes de transmission augmentent, la taille des paquets augmente, ce qui permet de transmettre davantage de données pendant une période donnée Afin d'éviter les problèmes avec des erreurs à l'extrémité réceptrice, des codes de détection d'erreurs (des "EDC") sont utilisés pour, comme le nom l'indique, déceler les données erronées. Avant qu'une chaîne de symboles de données soit transmise, elle est codée mathématiquement pour former des symboles EDC Les symboles EDC sont ensuite annexes à la chaîne de données pour former un mot de passe - symboles de données plus symboles EDC et le mot de passe est transmis comme -faisant partie du paquet. Lorsque le paquet est reçu, le mot de passe est décodé mathématiquement Au cours du décodage, les erreurs de données sont décelées par la manipulation des symboles EDC (pour une description détaillée du décodage se reporter à Error Correction Codes, 2 ème édition, MIT Press, 1972, de Peterson and Weldon). Des erreurs de transmission se produisent en tant qu'erreurs multiples indépendantes, ou aléatoires et/ou de longs paquets d'erreurs L'un des types les plus efficaces de EDC utilisés pour la détection des erreurs aléatoires multiples est un code de détection d'erreurs Bose-Chaudhuri-Hocquenghem (BCH) (pour une description détaillée des codes BCH, se reporter à Error Correction Codes de Peterson and Weldon) Pour déceler les erreurs aléatoires multiples dans les chaînes de symboles de données, les codes BCH utilisent effectivement et avec efficacité les diverses propriétés mathématiques des séries de symboles connus tels que Galois Fields, représèntés par "GF(P')", o " 1 P" est un nombre premier et "q" peut être considéré comme le nombre de chiffres, en base P, dans chaque élément ou symbole du champ "P" a habituellement la valeur 2 dans les applications informatiques numériques et, par conséquent, "q" est le nombre de bits de chaque symbole Pour les codes binaires, q= 1 et ainsi chaque symbole est un bit. Le nombre de bits qu'un code binaire BCH peut effectivement coder etprotéger dépend de la longueur du code -La longueur du code est déterminée par le polynôme primitif associé, o le polynôme primitif est un facteur du code Plus le degré du polynôme primitif est élevé, plus le code est long et plus de bits peuvent être protégés Si m est le degré du polynôme primitif, la longueur du code est 2 m-, et ainsi, le code peut protéger les symboles 2 1 moins "n", o "n" est le nombre de symboles EDC. Les codes BCH sont bien pour déceler les erreurs aléatoires mais ils ne sont par particulièrement appropriés pour déceler les paquets d'erreurs Afin d'améliorer une capacité de détection des paquets d'erreurs des codes BCH, le code peut être modifié en lui ajoutant un autre facteur qui est spécifiquement sélectionné pour ses capacités de détection des paquets. Ce facteur, augmente également la longueur du code par r, o r est la période du facteur Ainsi, la longueur du code modifié est r( 2 m 1-), si r et 2 ' sont premiers entre eux. Les codeurs connus n'utilisent pas généralement de codes binaires qui sont assez longs pour coder et protéger les données dans les paquets les plus grands. Ces codeurs peuvent coder un plus grand paquet en manipulant un code binaire plus court, par exemple, en imbriquant le code à plusieurs reprises Cependant, les opérations de codage et de décodage associées à ces manipulations sont complexes et prennent du temps Par conséquent, elles ralentissent également les vitesses de transmission de données. Il faut donc un codeur pour coder les données conformément à un code binaire qui est assez long pour coder les paquets de données les plus grands Ce codeur peut ainsi coder les données des paquets sans imbrication ni autre manipulation du code En outre, le code doit avoir de bonnes capacités de détection d'erreurs à la fois pour les erreurs dépendantes et les longs paquets d'erreurs - EXPOSE SOMMAIRE L'invention est un système de codage qui code jusqu'à 64 kilo-octets de données en utilisant un code de détection d'erreurs Bose-ChaudhuriHocquenghem (BCH) binaire Le code a comme polynôme générateur g(x): g(x) = (x 20 + x' + 1) * (X + 1) * (X 2 + x 3 + 1) * (X 2 + X 3 + X 2 + X + 1) ce qui, en représentation octale, donne: g(x) = 4400001 * 3 * 4000011 * 4000017 o * et + représentent la multiplication et l'addition de Galois Field, respectivement Le polynôme primitif associé est x 20 + x'7 + 1. Dans une réalisation préférée, le codeur utilise un code basé sur un polynôme f(x), qui est g(x) multiplié par un facteur, b(x) = x 3 + x 1, ou: f(x) = (x 3 + X + 1) * (X 20 + X 17 + 1) * (X + 1) * (x 2 + X 3 + 1) * (X 2 + X 3 + X 2 + X +) X 64 + X 63 + X 62 + X 61 + X 59 + X 57 + X 46 + X 44 + X 43 + X 4 + X 39 + X 38 + X 30 + X 28 + X 27 + x 20 + X'8 + X 17 + X + X + X 6 + X 5 + X + 1 ce qui, en représentation octale, donne: f(x) = 13 * 440001 * 3 * 4000011 * 4000017 L'inclusion du facteur dans le code améliore les capacités de détection des paquets du code. Le code est capable de déceler un seul paquet d'erreurs allant jusqu'à 64 bits, ou des doubles paquets allant jusqu'à 24 bits chacun En outre, le code, qui a une distance minimum garantie de 8 et qui peut avoir une distance minimum réelle plus grande, décèle jusqu'à 7 erreurs indépendantes, également Le code préféré génère 64 symboles EDC de 1- bit Le code basé sur le polynôme générateur, g(x), sans le facteur b(x), génère 61 symboles EDC de 1-bit. Alternativement, le codeur peut coder les données utilisant la réciproque de f(x), c'est-à-dire, f*(x} = x 64 *f( 1/x), ce qui donne, en représentation octale: f*(x) = 15 * 4000011 * 3 * 4400001 * 7400001. De même, -le codeur peur coder les bits de données en utilisant un polynôme générateur g*(x), qui est la réciproque de g(x), c'est-à-dire, x 61 * g( 1/x). RAPIDE DESCRIPTION DES DESSINS Pour une compréhension plus complète des caractéristiques, des avantages et des objets de l'invention, il convient de faire référence à la description détaillée suivante et aux dessins donnés en annexe, dans lesquels: La figure 1 est un organigramme fonctionnel d'un système pour transmettre des données sous la forme de paquets par l'intermédiaire d'un réseau; La figure 2 est un diagramme d'un codeur utilisé dans le système de la figure 1; La figure 2 A est un diagramme du codeur de la figure 2 construit utilisant des interrupteurs et des portes XOR (OU exclusif); La figure 3 est un organigramme fonctionnel d'un système pour recevoir les paquets transmis par l'intermédiaire d'un réseau. DESCRIPTION DETAILLEE Il est clair que toute opération d'addition et de multiplication effectuée au cours des processus de codage et de décodage sont des opérations binaires. La figure 1 décrit un sous-système pour transmettre un paquet de données par l'intermédiaire d'un réseau Les paquets peuvent contenir jusqu'à 64 kilo-octets de données, plusieurs symboles EDC et d'autres informations telles que les indicateurs de source et de destination, les indicateurs de type de données, et ainsi de suite, qui se rapportent au réseau par l'intermédiaire duquel les données sont transmises. Avant que les données ne soient transmises, elles sont codées par un codeur EDC 10 pour générer des symboles EDC Le codeur 10 code les données utilisant un code BCH modifié, ou un code cyclique qui est conçu pour déceler à la fois les longs paquets d'erreurs et les erreurs indépendantes, ou bien les erreur aléatoires Il manipule ainsi les données en divisant effectivement les données par un polynÈme associé, f(X), et génère 64 symboles EDC de 1 bit, comme cela est décrit de façon plus détaillée ci-après Si un système particulier de transmission de données n'est pas aussi sensible aux longs paquets d'erreurs, le codeur 10 peut coder des données en les divisant par g(X), comme cela est expliqué ci-après. Une fois que les données sont codées, le codeur 10 fournit à un formateur de paquets 12 les symboles EDC générés Le formateur de paquets 12 concatène les symboles EDC avec les données pour former un mot de passe dans un tampon de mot de passe 13 Ensuite, le formateur insère le mot de passe dans un paquet qui contient les informations se rapportant à la source, à la destination, aux type de données du paquet et ainsi de suite. Une fois que le paquet est formé, le formateur de paquets 12 l'envoie à un transmetteur 14 Le transmetteur 14 prépare ensuite le paquet pour la tansmission en le convertissant en une forme qui est appropriée au réseau, par exemple, en le convertissant en un signal NRZ, et l'envoie par l'intermédiaire du réseau. Le codeur 10 code les données binaires en utilisant un code BCH associé-à un polynôme générateur, g(X): g(x) = (x 20 + *x +) * (x + 1) (x 20 + x 3 + 1) * (x 2 + X 3 + X + X + 1) ou bien, en représentation octale: g(X) = 4400001 * 3 * 4000011 * 4000017 Ce polynôme générateur est constitué de plusieurs facteurs basés sur le polynôme primitif, M 1 (x), qui est x 20 + x 3 + 1 et qui a l'élément primitif, ci comme racine Les facteurs de g(x) sont Ml(x), Mo(x), M 1 (x), et M 3 (x), o a-i est une racine de M La longueur du code naturel de g(x) est 220 -1 ou 1048575 bits. Le polynôme utilisé dans une réalisation préférée du codeur 10 contient un autre facteur b(x) = x 3 + x + 1, qui renforce la capacité du code à déceler les paquets d'erreurs Le code est ainsi basé sur le polynôme, f(x) = b(x)*g(x), ou: f(x) = (x 3 + X + 1) * (x 20 + x 17 + 1) * (X + 1) * (X 20 + X 3 + 1) * (X 20 + X 3 + X 2 + X + 1) = 64 +X 63 + X 62 + X 61 + X 59 + X 57 + X 46 +X 44 + x 4 x + x 9 + x + x 3 + x 3 + X 3 + x 2 + x 18 + Xl ++ Xl O + X 8 + X 6 + X + X + 1 ce qui, en représentation octale, donne: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017 Le facteur b(x) renforce le double paquet d'erreurs décelant les capacités du code, en lui permettant de déceler des paquets plus longs qu'un code basé sur le polynôme générateur g(x), uniquement La longueur naturelle de ce code, c'est-à-dire, le nombre maximum de symboles que le code peut protéger, est de 7 *( 22 o-1) symboles, soit 7340025 bits, moins le nombre de symboles EDC. Dans une réalisation préférée, le code est raccourci pour protéger un maximum de 64 kilo-octets de données Le code raccourci décèle un seul paquet d'erreurs allant jusqu'à 64 bits ou un double paquet d'erreurs allant jusqu'à 24 bits chacun En outre, le code peut déceler jusqu'à 7 erreurs indépendantes basées sur sa distance garantie minimum de 8 La distance minimum réelle peut être supérieure à 8, toutefois, la distance réelle n'a pas été déterminée en raison du grand nombre de mots de passe possibles Un code raccourci basé seulement sur g(x) peut déceler des doubles paquets allant jusq'à 21 bits chacun, et ainsi, il peut être utilisé dans des situations o des paquets plus longs ne sont pas anticipés. La figure 2 décrit le codeur 10, qui code des données conformément à un code associé au polynôme f(x), comme cela est décrit ci-dessus Le codeur comprend des multiplicateurs binaires 16 un pour chacun des 64 termes du polynôme f(x) avec des multiplicateurs zéro pour les termes avec des coefficients de zéro, des additionneurs binaires 18 et des registres de décalage Les multiplicateurs binaires peuvent être considérés comme des interrupteurs, avec un multiplicateur zéro étant un interrupteur qui est en position d'arrêt, et un multiplicateur UN étant un interrupteur qui est en position de marche Les additionneurs binaires sont également appelés généralement les portes XOR (OU exclusif) La figure 2 A décrit le codeur 10 construit avec des interrupteurs Si et des portes XOR (OU exclusif) 17. Le codeur 10 code les données qui lui sont appliquées en multipliant de façon sérielle les bits de données par les coefficients du polynôme, f(x) Ainsi chaque bit de données est apppliqué en parallèle à chacun des multiplicateurs de Galois Field 16 Les produits sont ensuite appliqués aux additionneurs 18, qui les ajoutent aux produits associés aux bits précédents Les additionneurs 18 appliquent les sommes aux registres de 8 t décalage 20, qui les retiennent jusqu'à ce qu'un bit suivant soit multiplié par les coefficients et ajoutés au produit précèdent Comme chaque bit de données est appliqué au codeur, il est ajouté dans l'additionneur 18. à une somme associée au codage des bits précédents Le codeur continue ses opérations de multiplication et d'addition jusqu'à ce que tous les bits de données soient codés. Une fois que les données sont codées, les registres de décalage 20 contiennent les 64 symboles EDC de 1 bit. Les registres de décalage sont vidés soit en parallèle soit en série, selon les besoins, pour fournir les symboles EDC au formateur de paquets 12 (figure 1). Le codeur 10 peut également être utilisé dans un décodeur, comme cela est décrit dans l'organigramme fonctionnel de la figure 3 Lorsqu'un paquet est reçu dans un récepteur 32, le récepteur démodule d'abord le paquet pour le décoder, par exemple, d'un code NRZ, en bits numériques La portion de données du paquet, c'est- à-dire, le mot de passe des données, est ensuite envoyée au décodeur 24 Le décodeur 24 code les données du mot de passe pour générer des bits EDC de la même manière que le codeur 10 décrit ci-dessus en se référant à la figure 2. pendant que le décodeur 24 est en train de décoder les données, une interface de données 26 les prépare pour les transférer et/ou commencer à les transférer vers un composant du système approprié. Une fois que toutes les données sont codées, le décodeur compare les bits EDC générés avec les bits EDC du mot de passe dans un comparateur 25 Si les deux séries de bits EDC ne se correspondent pas, les données contiennent des erreurs Le décodeur 24 envoie alors un signal d'erreur excité à l'interface de données 26 En réponse au signal d'erreur excité, l'interface de données 26 soit arrête son opération de transfert de données, ou bien elle envoie en même temps que les données un message d'erreur, selon les besoins L'interface de données 26 9 I peut alors demander à la source du paquet d'envoyer à nouveau le paquet Dans la réalisation préférée, l'interface de données 26 n'effectue aucune opération de correction d'erreurs parce que ces opérations peuvent l'empêcher -de recevoir le paquet transmis suivant, et ainsi, ralentir la vitesse de transfert des données du système. Si les bits EDC générés correspondent aux bits EDC reçus, le décodeur 24 traite les données comme étant sans erreur Par conséquent, le décodeur 24 s'abstient d'exciter le signal d'erreur, et l'interface de données 26 continue son opération de transfert de données. Le codeur 10 ou le décodeur 24 peuvent être construits en utilisant le matériel, la microprogrammation ou des logiciels En outre, des mécanismes connus pour réduire le matériel requis ou l'allure excessive' de l'opération de codage peuvent être intégrés dans le codeur ou dans le décodeur sans affecter les capacités de détection de paquets d'erreurs ou d'erreurs aléatoires du code Par conséquent, l'objet des revendications annexées est de couvrir toutes les variantes et modifications qui restent dans le véritable esprit et le champ d'application de l'invention. REVENDICATIONS 1 Système pour coder jusqu'à 64 kilo-octets de données, le système comprenant: A des moyens de codage pour la manipulation des données pour générer des symboles de détection d'%rreurs, les moyens de codage manipulant les données conformément à un polynôme générateur binaire, g(x), o g(x) est: g(x) = (x 20 + x 1 + 1) * (x + 1) * (X 20 + x 3 + 1) * (x 2 + x 3 + X 2X + + 1) ou, en représentation octale: g(x) = 4400001 * 3 * 4000011 * 4000017; et B des moyens pour concaténer les symboles de détection d'erreurs avec les données pour former un mot de passe. 2 Systèmeselonlarevendicationl, dans lequel lesdits moyens de codage manipulent les données en divisant les données par le polynôme générateur binaire, g(x). 3 Système pour coder jusqu'à 64 kilo-octets de données, le système comprenant: A des moyens de codage pour la manipulation des données pour générer des symboles de détection d'erreurs, les moyens de codage manipulant les données conformément à un polynôme générateur binaire, f(x), o f(x) est: f(x) = (X 3 + X + 1) * (X 20 + X 17 + 1) *(X + 1) * (x 2 + X 3 + 1) * (X 20 + X 3 + X 2 + X +) ce qui, en représentation octale, est: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017; et B des moyens pour concaténer les symboles de détection d'erreurs avec les données pour former un mot de passe. 4 Système selon la revendication 3, dans lequel lesdits moyens de codage manipulent les données en divisant les données par le polynôme binaire f(x). 5 Système pour transmettre des données par l'intermédiaire d'un réseau sous la forme de paquets de plusieurs octets, le système comprenant: A des moyens de codage pour la manipulation des données pour générer des symboles de détection d'erreurs, les moyens de codage manipulant les données conformément à un polynôme générateur binaire, g(x), o g(x) est: g(x) = (X 20 + Xl 7 + 1) * (X + 1) * (X 20 + X 3 + 1) (X 20 I + X 2 + X + 1) ou, en représentation octale: g(x) = 4400001 * 3 * 4000011 * 4000017 B des moyens pour concaténer les symboles de détection d'erreurs avec les données pour former un mot de passe; C des moyens formant les paquets pour recevoir le mot de passe et comprenant le mot de passe dans un paquet, les moyens formant les paquets comprenant également dans le paquet l'information nécessaire pour diriger le paquet à travers le réseau vers une destination prédéterminée; et D des moyens de transmission pour transmettre le paquet à travers le réseau. 6 Système selon la revendication 5, dans lequel lesdits moyens de codage manipulent les données en divisant les données par le polynôme générateur binaire, g(x). 7 Système selon la revendication 5, dans lequel le système comprend en outre: A des moyens pour recevoir un paquet B des moyens de décodage pour décoder ledit mot de passe de données dans ledit paquet reçu, lesdits moyens de décodage comprenant i des moyens de manipulation pour manipuler la portion de données dudit mot de passe pour générer des symboles de détection d'erreurs, lesdits moyens de manipulation manipulant les données conformément audit polynôme génèràteur binaire, g(x), ii des moyens pour comparer lesdits symboles de détection d'erreurs générés aux symboles de détection d'erreurs dans ledit mot de passe, iii des moyens pour exciter un signal d'erreur si lesdits moyens de comparaison décèlent une différence entre lesdits symboles de détection d'erreurs générés dans ledit mot de passe, et C des moyens de transfert de données pour transférer les données vers une destination prédéterminée, lesdits moyens de transfert de données transférant un message d'erreur avec les données si ledit signal d'erreur est excité. 8 Système selon la revendication 5, o le système comprend en outre:,- A des moyens pour recevoir un paquet B des moyens de décodage pour décoder ledit mot de passe dans ledit paquet reçu, lesdits moyens de décodage comprenenant i des moyens de manipulation pour manipuler la portion de données dudit mot de passe pour générer des symboles de détection d'erreurs, lesdits moyens de manipulation manipulant les données conformément audit polynÈme générateur binaire, g(x), ii des moyens pour comparer lesdits symboles de détection d'erreurs générés aux symboles de détection d'erreurs dans ledit mot de passe, iii des moyens pour exciter un signal d'erreur si lesdits moyens de comparaison décèlent une différence entre lesdits symboles de détection d'erreurs générés et les symboles de détection d'erreur dans ledit mot de passe, et C des moyens de transfert de données pour transférer les données vers une destination prédéterminée, lesdits moyens de transfert de données arrêtant prématurément un transfert de données si ledit signal d'erreur est excitè. 9 Système pour transmettre des données par l'intermédiaire d'un réseau sous la forme de paquets de plusieurs octets, le système comprenant: A des moyens de codage pour manipuler les données pour générer des symboles de détection d'erreurs, les moyens de codage manipulant les données conformément à un polynôme générateur binaire, f(x), o f(x) est: f(x) = (x 3 + X + 1) * (X 20 + X 17 + 1) * (X + 1) * (X 20 + x 3 + 1) * (x 20 + x 3 + x 2 + X + 1) ce qui, en représentation octale,donne: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017; et B des moyens pour concaténer les symboles de détection d'erreur avec les données pour former un mot de passe; C des moyens formant les paquets pour recevoir le mot de passe et comprenant le mot de passe dans un paquet, les moyens formant les paquets comprenant également dans le paquet 1 ' information nécessaire pour diriger le paquet à travers le réseau vers une destination prédéterminée; et D des moyens de transmission pour transmettre le paquet à travers le réseau. Système selon larevendication 9, dans lequel lesdits moyens de codage manipulent les données en divisant les données par le polynôme générateur binaire, f(x). 11 Système selon la revendication 9, o le système comprend en outre: A des moyens pour recevoir un paquet; B des moyens de décodage pour décoder ledit mot de passe de données dans ledit paquet reçu, lesdits moyens de décodage comprenant i des moyens de manipulation pour manipuler la portion de données dudit mot de passe pour générer des symboles de détection d'erreurs, lesdits moyens de manipulation manipulant les données conformément audit polynôme générateur binaire, f(x), ii des moyens pour comparer lesdits symboles de détection d'erreurs générés aux symboles de détection d'erreurs dans ledit mot de passe, iii des moyens pour exciter un signal d'erreur si lesdits moyens de comparaison décèlent une différence entre lesdits symboles de détection d'erreurs générés et les symboles de détection d'erreurs dans ledit mot de passe, et C des moyens de transfert de données pour transférer les données vers une destination prédéterminée, lesdits moyens de transfert d_ données transférant un message d'erreur avec les données si ledit signal d'erreur est excité. 12 Système selon la revendication 9, o le système comprend en outre: A des moyens pour recevoir un paquet B des moyens de décodage pour décoder ledit mot de passe de données dans ledit paquet reçu, lesdits moyens de décodage comprenant i des moyens de manipulation pour manipuler la portion de données dudit mot de passe pour générer des symboles de détection d'erreurs, lesdits moyens de manipulation manipulant les données conformément audit polynôme générateur binaire, f(x), ii des moyens pour comparer lesdits symboles de détection d'erreurs générés aux symboles de détection d'erreurs dans ledit mot de passe, iii des moyens pour exciter un signal d'erreur si lesdits moyens de comparaison décèlent une différence entre lesdits symboles de détection d'erreurs générés et les symboles de détection d'erreur dans ledit mot de passe, et C des moyens de transfert de données pour transférer les données vers une destination prédéterminée, lesdits moyens de transfert de données arrêtant prématurément un transfert de données si ledit signal d'erreur est excité. 13 Système de décodage pour déceler les erreurs dans les mots de passe de données qui contiennent les données et les symboles de détection d'erreurs, lesdits symboles étant générés en codant les données conformément à un polynôme générateur binaire, g(x): g(x) = (x 20 + x' + 1) * (x + 1) * (X 20 + X 3 + 1) * (X 20 + X 3 + X 2 + X ++ 1) ou, en représentation octale: g(x) = 4400001 * 3 * 4 Q 90011 * 4000017 ledit système comprenant: A des moyens de codage pour manipuler les données pour générer les symboles de détection d'erreurs, les moyens de codage manipulant les données conformément audit polynôme générateur, g(x); B des moyens de comparaison pour comparer lesdits symboles de détection d'erreurs générés avec lesdits symboles de détection d'erreurs dans ledit mot de passe; et C des moyens pour détecter des erreurs et exciter un signal d'erreur si lesdits moyens de comparaison décèle une différence entre lesdits symboles de détection d'erreurs générés et lesdits symboles de détection d'erreurs dans ledit mot de passe. 14 Système de décodage pour décoder les erreurs dans les mots de passe de données qui contiennent des données et des symboles de détection d'erreurs, lesdits symboles étant générés par le codage des données conformément au polynôme binaire f(x): f(x) = (x 3 + X + 1) * (x 20 + x 17 + 1) * (X + 1) * (X 20 + X 3 + 1) * (X 20 + X 3 + X 2 + X +X 1) ce qui, en représentation octale, donne: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017 ledit système comprenant A des moyens de codage pour manipuler les données pour générer les symboles de détection d'erreurs, les moyens de codage manipulant les données conformément audit polynôme générateur, f(x); B des moyens de comparaison pour comparer lesdits symboles de détection d'erreurs générés avec lesdits symboles de détection d'erreurs dans ledit mot de passe et C des moyens pour détecter des erreurs et exciter un signal d'erreur si lesdits moyens de comparaison décèlent une différence entre lesdits symboles de détection d'erreurs générés et lesdits symboles de détection d'erreurs dans ledit mot de passe.