Brevet FR2912525A1 — publié le 20080815

La présente invention appartient au domaine de la sûreté de fonctionnement des systèmes utilisant des données stockées ou transmises sous formes numériques. Plus particulièrement, l'invention concerne un procédé de contrôle de l'intégrité d'un groupe de données par redondance cyclique apte à détecter un défaut d'intégrité du groupe de donnée lorsqu'une des données a été altérée avant le calcul d'une donnée de contrôle par l'algorithme de redondance cyclique. Dans les systèmes traitant des données sous forme numérique, automates et systèmes mettant en oeuvre des microprocesseurs en particulier, il est important que le contenu des données utilisées soit correct pour garantir la qualité des résultats issus des traitements ou dans le cas le plus défavorable, lorsque les données ont été altérées, que les données erronées soient détectées afin que ces données erronées soient corrigées ou écartées des traitements. Pour résoudre ce type de problème: "contrôler que les données sont correctes", de nombreuses méthodes ont été développées, plus ou moins complexes en 15 fonction de la robustesse recherchée pour le système concerné. Ces méthodes consistent, de manière générale, à associer à une donnée ou à un groupe de donnée dont l'intégrité doit être vérifiée, une donnée supplémentaire, dite donnée de contrôle, qui est élaborée en fonction du contenu des données à vérifier. Au moment où la vérification doit être réalisée, par exemple avant l'utilisation des données ou 20 après leurs transmissions, une donnée de vérification a posteriori est élaborée à partir des données disponibles suivant la même méthode que la donnée de contrôle associée aux données. Si la donnée de contrôle et la donnée de vérification a posteriori ne sont pas identiques, il est déduit qu'au moins une des données a été altérée. Une méthode connue utilisée pour élaborer la donnée de contrôle d'un groupe 25 de données est la méthode dite de calcul par redondance cyclique, connue sous l'acronyme CRC pour Cyclic Redundancy Code . Suivant la méthode CRC, présentée schématiquement sur la figure 2, le groupe de données (1) dont l'intégrité doit être contrôlée est considéré comme un nombre binaire U, (2), comme illustré sur la figure 1 où la valeur donnée au nombre U correspond 30 à un exemple arbitraire. Ce nombre binaire (2) représentant le groupe de données (1), considéré (3) comme un polynôme B, est divisé (4) par un autre nombre binaire suivant la méthode CRC, le diviseur, de valeur fixée et le reste de cette division représente la donnée de contrôle CHK qui est associée (4a) au groupe de données. Le calcul suivant la méthode CRC permet en particulier de choisir la 35 probabilité de non-détection d'une erreur dans le groupe de données en fixant la dimension, le nombre de digit, du diviseur utilisé. 2 Dans une étape ultérieure, les données du groupe disponibles sont à nouveau converties (5) en un polynôme B' auquel est appliquée la même méthode CRC qu'au polynôme B pour obtenir (6) la donnée de vérification CHKV. La comparaison (7) de la donnée de contrôle CHK et de la donnée de vérification CHKV permet de valider (8) ou de rejeter (9) le groupe de données. Suivant la méthode CRC chaque fois qu'une donnée du groupe de données est modifiée, le nouveau nombre binaire B représentant le groupe de données est à nouveau divisé par le diviseur et le nouveau reste de cette nouvelle division constitue la nouvelle donnée de contrôle CHK. Un défaut de cette méthode tient au fait que, lorsqu'une donnée du groupe de donnée est modifiée de manière contrôlée, par exemple lorsque la donnée en question représente une valeur acquise par un capteur de mesure et que cette valeur doit être actualisée, la donnée de contrôle est recalculée à partir du nombre binaire représentant tout le groupe de données. Dans ce cas si une autre donnée du groupe, dite donnée erronée, supposée ne pas avoir été modifiée, a subit une modification non voulue non détectée, la donnée de contrôle sera élaborée avec un nombre binaire représentant le groupe de donnée qui incorpore la donnée erronée. Le contrôle ultérieur d'intégrité par la méthode CRC ne permettra pas de détecter la donnée erronée et au contraire validera le groupe de données sans tenir compte de ladite donnée erronée puisque la donnée de vérification a posteriori sera identique à la donnée de contrôle associée au groupe de données, si aucune autre erreur ne s'est introduite dans le groupe de données après l'élaboration de la donnée de contrôle. Pour éviter cette difficulté le procédé de l'invention calcule la valeur de la donnée de contrôle après la modification contrôlée d'une donnée sans utiliser les données du groupe de données autre que la donnée modifiée, avant et après la modification contrôlée. Pour cela l'intégrité d'un groupe de données Dl, D2, ...Dn, comportant au 30 moins deux données, est calculée au moyen d'une donnée de contrôle CHK résultat d'un calcul de redondance cyclique suivant un algorithme dit CRC. L'algorithme CRC divise un polynôme B représentant un nombre binaire unique U représentatif des données du groupe de données par un polynôme Pw arbitrairement choisi, de largeur w. 35 Le calcul d'une nouvelle donnée de contrôle CHK+, après une évolution contrôlée d'une donnée Di devenant une donnée Di+ du groupe de données, est réalisé au moyen d'un algorithme dit CRC-incrémental à partir • de la donnée de contrôle CHK associé au groupe de données comportant la donnée Di, et ; • de la nouvelle donnée Di+ du groupe ayant évoluée, et ; • de la donnée antérieure Di du groupe avant évolution, sans utiliser de données D1, D2, ...Dn du groupe de données autre que la donnée Di/Di+, ladite donnée de contrôle CHK+ ayant la même valeur qu'une donnée de contrôle établie suivant l'algorithme CRC qui serait appliqué au groupe de donnée D1, D2, ..., Di+, ..., Dn. En particulier chaque donnée ou groupe de données est exprimé par un nombre binaire et représenté par un polynôme de puissances de 2 et le polynôme représentant la valeur de CHK+ est calculé comme : CHK (B2) = CHK ( B1 )R{(FLp eF'Lp)02^p} équation dans laquelle : • FL ,p est un polynôme représentant la donnée Di ; • F'L p est un polynôme représentant la donnée Di+ ; • p est un nombre entier caractérisant la position du digit de poids faible de Di ou de Di+ dans le nombre binaire unique U compté à partir du digit de poids faible dudit nombre binaire unique ; • BI est un polynôme représentant le nombre binaire unique formé par le groupe de données comportant Di ; • B2 est un polynôme représentant le nombre binaire unique formé par le groupe de données comportant Di+ ; • CHK (B1) est un polynôme représentant la donnée de contrôle CHK • CHK (B2) est un polynôme représentant la donnée de contrôle CHK+. et où R {X} représente le polynôme reste de la division du polynôme X par le polynôme Pw. Avantageusement dans une forme simplifiée pour l'exécution des calculs du CRC-incrémental, le polynôme CHK(B2) représentant la valeur de CHK+ est calculé 30 comme : CHK (B2) = CHK ( B1 ) R {(FL,p F'L p) Wp} équation dans laquelle Wp est le reste de la division du polynôme 2^p par le polynôme Pw. Dans un mode particulier de mise en oeuvre du procédé, les valeurs de Wp 35 pour chaque multiple de la largeur w du polynôme Pw sont mémorisées après avoir été calculées pour être réutilisées lors des applications successives de l'algorithme CRC-incrémental. 20 25 4 La description d'un exemple de mise en oeuvre du procédé est faite en référence aux figures qui représentent : Figure 1 : déjà citée, une présentation sous forme de nombres binaires de données et d'un groupe de données et le principe de leurs équivalences à des polynômes ; Figure 2 : déjà citée, une représentation schématique de l'application d'un algorithme CRC conventionnel ; Figure 3 : une représentation schématique de l'application d'un algorithme CRC-incrémentai suivant l'invention. Le principe du procédé suivant l'invention est illustré sur la figure 3. Pour vérifier l'intégrité d'un groupe de données Dl, D2, ... Dn, (1) comportant au moins deux données, ledit groupe de données est associé (10) dans une première étape préalable à une donnée de contrôle CHK établie suivant un algorithme de calcul par redondance cyclique dit algorithme CRC. Dans une seconde étape, lorsqu'une donnée Di du groupe de données est modifiée de manière contrôlée pour devenir (11) une donnée Di+, la donnée de contrôle CHK est modifiée (12) de manière incrémentale suivant un algorithme, dit algorithme CRC-incrémental, pour devenir une donnée CHK+, associée (13) au groupe de donnée. Pour cette seconde étape, les données Dl, D2, ..., Dn autres que Di et Di+ ne sont pas utilisées pour calculer la donnée CHK+, mais l'algorithme CRC-incrémental utilise Di, Di+ et CHK, (11 a), pour le calcul de CHK+ et conduit à la même valeur pour la donnée de contrôle CHK+ que la valeur qui serait obtenue en calculant une valeur de donnée de contrôle au moyen de l'algorithme CRC utilisant le groupe de données Dl, D2, ..., Di+, ..., Dn. Dans une troisième étape de contrôle de l'intégrité du groupe de données (14) comportant la donnée modifiée Di+, une donnée de contrôle de validation CHKV est calculée (15) au moyen d'un algorithme CRC conventionnel en utilisant le groupe de données D1, D2, ..., Di+, ..., Dn et la donnée de contrôle CHKV est comparée (16) à la donnée de contrôle CHK+. Si les données de contrôle CHK+ et CHKV sont identiques, le groupe de données est supposé valide (18), et dans le cas contraire il est invalidé (17). La première étape préalable est en principe réalisée une fois lors d'une étape d'initialisation et, après une première application de l'algorithme CRC-incrémental, le procédé est repris au niveau de la deuxième étape chaque fois qu'une donnée du groupe de données est modifiée de manière contrôlée en considérant la dernière valeur de la donnée de contrôle CHK obtenue au cycle précédent. En outre comme il ressort de la description détaillée suivante, les paramètres de l'algorithme CRC-incrémental sont liés aux paramètres de l'algorithme CRC conventionnel afin notamment que les valeurs CHK+ et CHKV puissent être comparées. Pour calculer la valeur de la donnée de contrôle CHK+ suivant l'algorithme 5 CRC-incrémental, le groupe de données Dl, D2, ., Dn , (1) , est considéré comme un nombre binaire unique U, (2), c'est à dire une suite de digit, obtenu en juxtaposant les nombres binaires représentant les valeurs de chacune des données du groupe comme illustré sur la figure 1. Ce nombre binaire unique U est alors considéré comme un polynôme B dans lequel chaque digit dudit nombre binaire unique représente un coefficient multiplicateur associé à une puissance du nombre 2 (puisque le nombre considéré est un nombre exprimé sous forme binaire), puissance qui correspond au rang du digit considéré dans ledit nombre binaire unique, du rang 0 pour le digit de poids le plus faible jusqu'au rang s pour le digit de poids le plus élevé...DTD: A titre d'illustration, le nombre binaire 10110011 comportant 8 digits (s=8-1=7), par exemple obtenu en juxtaposant le nombre binaire correspondant à une première donnée 1011 et celui correspondant à une seconde donnée 0011, correspond au polynôme : B = 1 *2^7 + 0*2^6 + 1*2A5 + 1 *2^4 + 0*2A3 + 0*2"2 + 1 *2^1 + 1 *2A0 Dans cette expression le symbole * correspond au signe de la multiplication ordinaire et le symbole ^ correspond au signe de l'élévation à la puissance. Le polynôme B est alors divisé par un polynôme Pw qui est un polynôme correspondant au diviseur arbitrairement choisi pour appliquer l'algorithme CRC et obtenir un polynôme R correspondant au nombre binaire constituant le reste de la division du nombre binaire unique U par le nombre binaire du diviseur. Cette division de nombres binaires est équivalente à une division de polynômes ou un calcul modulo deux. Pour un tel type de division il n'y a jamais de retenue ce qui a pour conséquence qu'une addition et une soustraction conduisent au même résultat et sont équivalentes à une opération de type OU exclusif, également notée XOR, entre les digits de même poids. La donnée de contrôle CHK prend alors la valeur correspondant au polynôme R. Le cas échéant, une valeur constante, dite offset O, est ajoutée au reste R pour éviter en particulier que toutes les données transmises Dl, D2, ..., Dn et CHK aient la valeur 0 lorsque les données Dl, D2, ..., Dn ont effectivement la valeur O. 6 Ainsi, conformément au principe de l'algorithme CRC conventionnel, la valeur de la donnée de contrôle CHK est donnée par les équations suivantes : B*2^w = B 2^w = (Q 0 Pw) OR CHK(B)=RO (0) CHK (B) étant le polynôme correspondant à la donnée CHK obtenue pour le polynôme B correspondant au groupe de données auxquelles est associé CHK. Dans ces équations: • B représente le polynôme correspondant au nombre binaire unique U obtenu à partir des données du groupe de données considéré ; • w est une dimension du polynôme diviseur, dite largeur, qui correspond au nombre de digit du nombre binaire correspondant au dit polynôme diviseur; • Q est le polynôme quotient de la division, • Pw est le polynôme diviseur de largeur w ; • R est le polynôme reste de la division de B par Pw ; • O le polynôme d'offset, de largeur w, la valeur de cet offset pouvant être zéro ; • 0 le symbole de la multiplication modulo deux sans retenue ; • le symbole de l'opération XOR de OU exclusif. Pour établir les formules permettant de calculer la valeur, suivant l'algorithme CRC-incrémental, de CHK+ il convient de considérer l'expression qu'aurait la valeur CHK dans le cas de combinaisons, sommes ou produits, d'un premier polynôme BI avec un second polynôme B2, correspondant chacun dans le problème considéré à des nombres binaires uniques représentant le groupe de données D1, D2, ..., Dn avec des valeurs des données non nécessairement identiques. L'expression du polynôme CHK pour la somme XOR des polynômes B1 et B2 se déduit des équations (0) de la division par Pw : (B1 B2) -- 2^w = ((Q1 O Q2) 0 Pw) (R1 R2) CHK (B1 B2)=CHK(BI) R2=CHK(B2)R1 (1) Dans ces équations Qi et Ri ont les mêmes significations vis à vis du polynôme Bi que Q et R respectivement vis à vis du polynôme B. Le polynôme CHK de la somme XOR des deux polynômes est donc égal à la somme XOR du polynôme CHK d'un des deux polynômes et du reste de l'autre polynôme. 7 On remarque également que si la valeur de l'offset O est nulle, la valeur CHK de la somme XOR des deux polynômes est égale à la somme XOR des valeurs CHK de B1 et de B2. L'expression du polynôme CHK pour le produit des polynômes B1 et B2 se 5 déduit des équations (0) de la division par Pw : (BI B2) 0 2"w = B1 ((Q2 0 Pw) R2) ou (BI 0 B2) 2"w=((B1 c•Q2)0Pw)(B1 R2) soit 10 CHK (B1 B2) = CHK (B1 R2) = CHK (B2 R1) (2) Le polynôme CHK du produit (c'est à dire la multiplication modulo deux sans retenue) des deux polynômes est donc égal au polynôme CHK du produit d'un des deux polynômes par le reste de l'autre polynôme. 15 Considérant à nouveau le nombre binaire unique U obtenu à partir des données D1, D2, ..., Dn du groupe de donnée, une donnée Di est contenue dans ledit nombre binaire unique U dans un champ, comme l'illustre la figure 1, défini d'une part par une largeur L du champ, c'est à dire le nombre de digit, caractérisant la donnée Di du groupe et d'autre part par une position de ladite donnée Di dans le nombre binaire unique, 20 position qui est définie, par exemple, par une distance p du champ caractérisant la donnée à une extrémité du nombre binaire unique, c'est à dire la distance en nombre de digit du champs de la donnée Di au digit de poids faible du nombre binaire unique, c'est à dire le poids de la donnée Di dans le nombre binaire unique U. A titre d'illustration, pour le nombre binaire 10110011 déjà utilisé comme 25 exemple et formé lui-même d'une première donnée 1011 et d'une seconde donnée 0011, la première donnée de largeur L=4 est à la position p=4 et la seconde donnée également de largeur L=4 est à la position p=0 (digit de poids faible du nombre binaire unique). Si B1 correspond à un polynôme comportant une donnée Di, de largeur L et de position p dans B1, représentée par un polynôme FL,p et si B2 correspond à un 30 polynôme comportant une donnée Di+, également de largeur L et de position p mais dans B2, représentée par un polynôme F'L,p, seule la donnée Di ayant été modifiée entre les polynômes BI et B2, la relation entre B1 et B2 peut s'écrire : de manière conventionnelle o 2"p) 35 B2 = B1 ù (FL,p 2"p) + (F'L,p soit B2 = B1 Chi (FL,p 2"p) (F'L, p 0 2"p) B2 = B1O((FLp F'Lp) 8 2"p) e• La division par le polynôme diviseur Pw utilisé en application de l'algorithme CRC afin d'obtenir le polynôme CHK donne : CHK (B2) = CHK ( BI (El ((FLp (D F'Lp) 2"p) (3) soit en application de l'équation (1) établie précédemment : CHK(B2)=CHK(B1)R{(FLp OF'Lp) 2"p} soit en application de l'équation (2) : (3') CHK (B2) = CHK ( B1 ) R {(FL,p F'L p) O Wp} 15 équations dans lesquelles R {X} représente le polynôme reste de la division par le polynôme Pw et Wp est le reste de la division du polynôme 2"p par le polynôme Pw. Dans les équations (3) et (3') : • le polynôme FL ,p représente la donnée Di ; 20 • le polynôme F'L p représente la donnée Di+ ; • Le polynôme B1 représente le groupe de donnée comportant Di ; • le polynôme B2 représente le groupe de donnée comportant Di+ ; • le polynôme CHK (B1) représente la donnée de contrôle CHK ; • le polynôme CHK (B2) représente la donnée de contrôle CHK+. 25 Suivant un algorithme qui applique l'équation (3) ou (3'), la nouvelle valeur CHK+ d'un groupe de données D1, D2, ..., Di+, ., Dn est calculée : • en utilisant la valeur CHK établie antérieurement pour le groupe de données D1, D2, ..., Di, ..., Dn avant l'évolution de la donnée Di; • en utilisant la valeur Di de la donnée devant être modifiée avant 30 modification, et ; • en utilisant la valeur Di+ de ladite donnée après modification ; et sans utiliser les autres données Dl, D2, ..., Di-1, Di+1, ..., Dn du groupes de données. Ainsi le calcul CRC-incrémental basé sur l'équation (3) ou (3') rend la valeur CHK+ insensible à l'évolution d'une autre donnée que Di dans le groupe de donnée. 35 En particulier si une donnée Dk, autre que Di dont l'évolution est normale, est altérée, cette altération de Dk ne sera pas prise en compte pour le calcul de la donnée de10 9 contrôle CHK+ par l'algorithme CRC-incrémental et a contrario sera prise en compte pour le calcul de la donnée de vérification CHKV par l'algorithme CRC conventionnel. L'altération de Dk sera donc détectée par l'incohérence entre les valeurs de CHK+ et de CHKV, alors que CHK+ et CHKV auraient été identiques en absence de l'altération de Dk. Pour appliquer le procédé il convient de considérer que la valeur CHK utilisée pour le calcul de CHK+ par l'algorithme CRC-incrémental est la valeur de la donnée de contrôle du groupe de données avant la modification voulue d'une donnée du groupe. Sauf pour les besoins d'une phase d'initialisation au cours de laquelle la donnée de contrôle est calculée par l'algorithme CRC conventionnel, la valeur CHK est a priori une valeur de la donnée de contrôle calculée par l'algorithme CRC-incrémental lors d'un cycle précédent de calcul de la valeur de la donnée de contrôle (10a). La mise en oeuvre du procédé suivant l'invention est avantageusement adaptée en fonction des applications souhaitées...DTD: Par exemple, le procédé peut être appliqué pour n'importe quelle largeur L de la donnée considérée et en particulier pour L=1. Dans ce dernier cas la donnée considérée correspond à un digit du nombre binaire unique U et le poids d'un digit à la position p est Wp ce qui permet de réaliser un contrôle d'intégrité de données par la méthode CRC- incrémental digit par digit. Par exemple, lorsque p est un multiple de w, la largeur du polynôme diviseur Pw, on a Wp égal au reste de la multiplication modulo deux du polynôme Pw par lui-même un nombre fois égal (p/w)+1. On notera que dans le cas ou p est un multiple de w, l'équation (3') devient plus simple à utiliser. En effet dans ce cas, l'équation (3') revient à faire le produit polynomial (au sens produit modulo deux) de deux valeurs de largeur w et de prendre le reste de la division polynomiale par Pw (que l'on peut appeler opération modulo polynomiale). Ces deux opérations (produit et modulo polynomiaux) peuvent facilement être calculées, en même temps, en effectuant le produit de gauche à droite et non de droite à gauche comme lors d'une opération standard. Il est ainsi facile de détecter le débordement (la largeur du résultat intermédiaire du produit devient égale à w + 1) et de faire alors le modulo par le polynôme Pw qui revient à une opération XOR et ramène du coup la largeur du résultat intermédiaire du produit à une valeur inférieure ou égale à w. Cette manière de procéder est possible uniquement car il n'y a pas de retenue dans la multiplication polynomiale. Ainsi le nombre total d'opérations à réaliser pour calculer la nouvelle valeur de contrôle CHK+ est avantageusement minimisé. Avantageusement pour accélérer l'exécution des calculs nécessaires à la mise en oeuvre du procédé, la valeur de Wp peut être mémorisée, après un premier 10 calcul, pour chaque valeur de p, ce qui est possible car la valeur de Wp ne dépend que de p et du polynôme diviseur Pw qui est choisi constant pour une application particulière de l'algorithme CRC. Le procédé permet ainsi de mettre en oeuvre un procédé amélioré de contrôle par redondance cyclique CRC avec tous les avantages connus de ce type de procédé mais en évitant la validation d'une donnée altérée avant le calcul de la donnée de contrôle. En outre l'application de l'algorithme dit CRC-incrémental évite de recalculer la donnée de contrôle à partir de l'ensemble des données du groupe de données concerné ce qui permet de réaliser les calculs de la nouvelle donnée de contrôle de manière plus simple et plus rapide en particulier lorsque le groupe de données est de largeur significative. REVENDICATIONS 1 û Procédé de contrôle de l'intégrité d'un groupe de données D1, D2, ...Dn, (1) comportant au moins deux données, au moyen d'une donnée de contrôle CHK résultat d'un calcul de redondance cyclique suivant un algorithme dit CRC, lequel algorithme CRC divise un polynôme B représentant un nombre binaire unique U représentatif des données du groupe de données par un polynôme Pw arbitrairement choisi, de largeur w, caractérisé en ce qu'une nouvelle donnée de contrôle CHK+ est calculée (12), après une évolution contrôlée (11) d'une donnée Di devenant une donnée Di+ dudit groupe de données, au moyen d'un algorithme dit CRC-incrémental à partir • de la donnée de contrôle CHK associé au groupe de données comportant la donnée Di, et ; • de la nouvelle donnée Di+ du groupe ayant évoluée, et; • de la donnée antérieure Di du groupe avant évolution, sans utiliser de données Dl, D2, ...Dn du groupe de données autre que la donnée Di/Di+, ladite donnée de contrôle CHK+ ayant la même valeur qu'une donnée de contrôle établie suivant l'algorithme CRC qui serait appliqué au groupe de donnée Dl, D2, ..., Di+, ., Dn. 2 û Procédé de contrôle suivant la revendication 1 dans lequel chaque donnée ou groupe de données est exprimé par un nombre binaire et représenté par un polynôme de puissances de 2 et dans lequel le polynôme représentant la valeur de CHK+ est calculé (12) comme : CHK (B2) = CHK ( BI ) R{(FLp F'Lp)o 2^p} équation dans laquelle : • FL,p est un polynôme représentant la donnée Di ; • F'L,p est un polynôme représentant la donnée Di+ ; • p est un nombre entier caractérisant la position du digit de poids faible de Di ou de Di+ dans le nombre binaire unique U compté à partir du digit de poids faible dudit nombre binaire unique; • B1 est un polynôme représentant le nombre binaire unique formé par le 30 groupe de données comportant Di ; • B2 est un polynôme représentant le nombre binaire unique formé par le groupe de données comportant Di+ ; • CHK (B1) est un polynôme représentant la donnée de contrôle CHK ; • CHK (B2) est un polynôme représentant la donnée de contrôle CHK+. 35 et où R {X} représente le polynôme reste de la division du polynôme X par le polynôme Pw. 12 3 û Procédé de contrôle suivant la revendication 2 dans lequel le polynôme représentant la valeur de CHK+ est calculé comme : CHK (B2) = CHK ( BI ) R {(FL ,p m F'L p) o Wp} équation dans laquelle Wp est le reste de la division du polynôme 2^p par le polynôme Pw. 4 û Procédé de contrôle suivant la revendication 3 dans lequel les valeurs de Wp pour chaque multiple de la largeur w du polynôme Pw sont mémorisées après avoir été calculées pour être réutilisées lors des applications successives de l'algorithme CRC-incrémental..DA1: 20080815