Brevet FR2888352A1 — publié le 20070112

PROCEDE ET CIRCUIT DE DETECTION D'ERREURS DANS UN ENSEMBLE DE DONNEES L'invention concerne un procédé et un circuit de détection d'erreurs dans un ensemble de données. Les dispositifs à circuits destinés au traitement de données comportent des circuits de mémorisation dans lesquels stockés les mots de données à traiter. Le traitement proprement dit des mots de données est effectué dans une unité de calcul. Les dispositifs de mémorisation peuvent être par exemple des mémoires principales, destinées à la mémorisation de programmes et de quantité de données plus grandes, ou des mémoires intermédiaires destinées à stocker les données pour le traitement de données proprement dit. Dans la mémoire principale, les données séjournent pendant un laps de temps plus long, dans le cas extrême, par exemple dans le cas de données de programme ou de configuration, pendant toute la durée de vie du dispositif à circuits. Les données, qui sont traitées par une unité de calcul, sont chargées dans la mémoire intermédiaire qui permet un accès plus rapide. La durée de séjour des données dans la mémoire intermédiaire est variable. Des données, par exemple des routines fréquemment utilisées dont l'accès est permanent, peuvent séjourner dans la mémoire intermédiaire dans un laps de temps plus long pendant le traitement de données. Des erreurs présentes dans les données stockées peuvent apparaître pendant le stockage des données. Des erreurs aléatoires peuvent par exemple avoir pour origine des variations de tension ou un rayonnement, par exemple la lumière. Des erreurs peuvent également apparaître lorsque le dispositif de mémorisation est manipulé par une attaque. Pour cela, le circuit peut par exemple être manipulé pendant son mode de fonctionnement en entrant des signaux externes, ce que l'on appelle le Probing . On peut également imaginer la manipulation des données par rayonnement ciblé, par exemple par lumière UV. Une autre source d'erreurs est un défaut matériel dans le circuit. Pour garantir le fonctionnement correct du circuit et le traitement de données sans erreurs, on vérifie si les données n'ont pas été modifiées. Cette vérification est avantageuse notamment avant l'utilisation directe des données dans l'unité de calcul. De même, la vérification par exemple de données stockées dans la mémoire intermédiaire peut être effectuée à intervalles réguliers ou irréguliers. Cette vérification permet de détecter des erreurs présentes dans les données stockées. Pour détecter des erreurs dans les mots de données, on utilise jusqu'à présent ce que l'on appelle des codes d'erreur. Tous les mots de données, pour lesquels on utilise la détection d'erreurs, sont tout d'abord transformés en mot de contrôle. Ce mot de contrôle sert de référence. Pour détecter des erreurs, tous les mots de données sont retransformés. À partir de différences éventuelles par rapport aux mots de contrôle antérieurs, on peut détecter des différences entre les données et éventuellement une erreur. Ce procédé suppose que le contenu de la mémoire n'est pas systématiquement modifié pendant l'intervalle de temps de contrôle entre les deux transformations. La forme de détection d'erreurs la plus simple est ce que l'on appelle le bit de parité qui dépend d'un mot de données et qui indique si le mot de données correspondant comporte un nombre pair ou impair de valeur binaire, par exemple de 1 logique. La détection d'erreurs est par exemple effectuée juste avant l'accès par l'unité de calcul ou bien avant le transfert des données de la mémoire intermédiaire dans la mémoire principale. Lorsqu'un mot de données est modifié, il peut être nécessaire dans le procédé décrit de lire ensuite tout le contenu de la mémoire pour recalculer le mot de contrôle qui sert de comparaison lors de la détection d'erreurs proprement dite. Ce processus de lecture est gourmand en temps. En variante, la zone de mémoire peut être divisée en un grand nombre de blocs plus petits qui sont protégés chacun par un mot de contrôle propre. De même, dans ce cas, lorsqu'un mot de données dans l'un des blocs a été modifié, on lit tout le bloc afin de recalculer le mot de contrôle. Ainsi, la division du dispositif de mémorisation en blocs individuels plus petits permet de réduire le temps de lecture de façon correspondante. Toutefois, l'inconvénient est qu'il faut mémoriser et gérer de nombreux mots de contrôle, un pour chaque bloque. Les deux procédés ont en commun le fait que, aussi bien lors de la modification d'un mot de données dans le dispositif de mémorisation respectivement dans un bloc que lors de la détection d'erreurs proprement dite, il est nécessaire de lire tous les mots de données associés aux mots de contrôle afin de vérifier si les mots de données contiennent des erreurs. Le but de l'invention est de proposer un procédé permettant de réduire les dépenses engagées pour détecter des erreurs dans un ensemble de données stocké dans une mémoire. En outre, il est proposé un circuit correspondant. Le but est atteint par un procédé de modification d'un ensemble de données qui est stocké dans un dispositif de mémorisation et auquel est adjoint un mot de contrôle, ledit procédé comportant les étapes consistant à : fournir un ensemble partiel de données à modifier pris dans l'ensemble de données stocké dans le dispositif de mémorisation, - fournir un ensemble de données de modification modifiant 30 l'ensemble partiel de données à modifier, - fournir le mot de contrôle, - modifier le mot de contrôle par une transformation de modification en fonction de l'ensemble partiel de données à modifier, de l'ensemble de données de modification et du mot de contrôle fourni, - effectué la modification de l'ensemble de données dans le dispositif de mémorisation en fonction de l'ensemble de 5 données de modification, - adjoindre le mot de contrôle modifié à l'ensemble de données modifié, - transformer l'ensemble de données modifié en un mot de contrôle transformé. Le but est atteint par un circuit qui comporte: - un dispositif de mémorisation comprenant une entrée de données permettent de mémoriser un ensemble de données modifié provenant d'au moins un mot de données, et une sortie de données permettant de délivrer l'ensemble de données, - un dispositif de transformation qui est couplé à la sortie de données du dispositif de mémorisation et qui est conformé pour mémoriser un mot de contrôle en fonction de l'ensemble de données dans une mémoire de mot de contrôle ou à le délivrer en vue d'une comparaison, et qui est conformé pour délivrer un mot de contrôle modifié, en fonction de modifications apportées à l'ensemble de données et au mot de contrôle précédent en mémoire, en vue de la mémorisation, et - un dispositif de comparaison qui est couplé au dispositif de transformation et à la mémoire de mot de contrôle et auquel sont amenés le mot de contrôle mémorisé et le mot de contrôle délivré pour la comparaison et qui est conformé pour vérifier si le mot de contrôle en mémoire et le mot de contrôle délivré pour la comparaison sont dans une relation prescrite. D'autres conformations avantageuses de l'invention sont les suivantes. Le procédé est approprié notamment à des ensembles de données dont la dimension de données est limitée, comme ceux délivrés par exemple dans des mémoires intermédiaires ou des registres. L'ensemble de données est mémorisé en étant subdivisé en mot de données. Le procédé est souple quant aux modifications possibles de l'ensemble de données qui comportent le remplacement d'au moins un des mots de données de l'ensemble de données par un autre mot de données ou un effacement de l'un des mots de données de l'ensemble de données ou un ajout d'un autre mot de données à l'ensemble de données. L'ensemble de données est protégé par un mot de contrôle adjoint qui est généré en transformant les mots de données de l'ensemble de données. Il est judicieux de choisir les mots de données de façon à ce qu'ils aient la plus petite zone adressable d'une unité de mémorisation, par exemple un octet. En variante, les mots de données peuvent également être constitués d'un bloc comportant plusieurs unités adressables. Avantageusement, la transformation peut dépendre de mots d'information, un mot d'information étant associé à chaque mot de données. Les mots d'information permettent d'augmenter la protection lorsque les mots de données ne comporte que peu de bits car la transformation possède plusieurs paramètres d'entrée. Le mot d'information dépend généralement du type de la délivrance du mot de données, il s'agit alors par exemple d'information d'adresse sur le mot de données correspondant. L'information supplémentaire permet d'éviter de ne pas détecter des erreurs similaires dans différents mots de données car elles peuvent éventuellement s'annuler lors de la transformation. Avantageusement, la transformation comporte une fonction qui est appliquée à chaque mot de données de l'ensemble de données pour associer à ce mot de données un mot de données dit Hash. Ce processus est appelé d'après le terme anglais par hachage . La fonction correspondante est également appelée par fonction de hachage . Avantageusement, la fonction peut également dépendre du mot de données et du mot d'information associé au mot de données pour augmenter la protection du procédé. Les mots de données, obtenus par hachage, d'un ensemble de données sont combinés pour générer le mot de contrôle. Cette combinaison peut avantageusement être une combinaison OU exclusif qui est simple à réaliser. Le mot de contrôle est modifié lorsque l'ensemble de données est modifié. La fonction est appliquée au mot de données à remplacer ou au mot de données de remplacement ou au mot de données à effacer ou au mot de données à ajouter. Ensuite, les mots de données, générés par hachage, et le mot de contrôle précédent sont combinés pour donner un nouveau mot de contrôle. Le mot de contrôle modifié est mémorisé. Il peut encore être modifié. Il n'est pas nécessaire de relire tous les mots de données de l'ensemble de données lorsqu'un mot de données a été modifié. Enfin, on compare le mot de contrôle en mémoire avec un autre mot de contrôle qui est généré par la transformation de l'ensemble de données modifié, et on déclenche une fonction d'alarme lorsqu'il n'y a aucune relation prescrite. La relation la plus simple et la plus facile à vérifier est l'identité des deux mots de contrôle. Le circuit comporte un dispositif de mémorisation de l'ensemble de données qui peut être modifié en ajoutant une partie de l'ensemble de données et/ou en effaçant une partie de l'ensemble de données et/ou en remplaçant une partie de l'ensemble de données. Les parties correspondantes de l'ensemble de données peuvent comporter un ou plusieurs mots de données. Pour améliorer la détection d'erreurs, on peut associer à chaque mot de données un mot d'information correspondant. Avantageusement, le mot d'information dépend d'informations d'adresse du mot de données. Ce sont par exemple les adresses de mémoire ou de registre, la position dans la mémoire intermédiaire ou l'adresse dite Tag du mot de données. L'adresse Tag caractérise une adresse de mémoire d'origine du mot de données même lorsque celui-ci est stocké provisoirement dans une autre mémoire, par exemple une mémoire intermédiaire. En outre, le dispositif de transformation est conformé de façon à pouvoir appliquer une fonction à chaque mot de données afin d'associer à chaque mot de données un mot de données correspondant obtenu par hachage. Cette fonction peut être appliquée à des mots de données actuels de l'ensemble de données instantané et à des mots de données à ajouter et de remplacement. Le mot de données obtenu par hachage dépend soit du mot de données soit, pour augmenter la sécurité, en plus du mot d'information associé. Le mot de contrôle est généré en combinant les mots de données, obtenus par hachage, de l'ensemble de données au moyen d'un dispositif combinatoire. Avantageusement, ce dispositif combinatoire est une combinaison OU exclusif, ce qui permet une réalisation simple. Pour effectuer une réalisation simple et peu dispendieuse, le bloc fonctionnel et les dispositifs combinatoires sont utilisés pour réaliser aussi bien des modifications du mot de contrôle en fonction de modifications de l'ensemble de données que la transformation de l'ensemble de données. Un mot de données correspondant, obtenu par hachage, qui est combiné au mot de contrôle précédent, est alors associé au mot de données à effacer. On procède de la même manière avec un mot de données à ajouter. Lorsqu'un mot de données est modifié, on associe le mot de données correspondant, obtenu par hachage, aussi bien au mot de données à remplacer qu'au mot de données de remplacement et on le combine au mot de contrôle précédent. La modification du mot de contrôle n'est pas effectuée conjointement avec une relecture de tous les mots de données à l'intérieur de l'ensemble de données. Pour détecter des erreurs, on génère un mot de données à partir de l'ensemble de données actuel, éventuellement modifié plusieurs fois, au moyen du dispositif de transformation et on l'amène au dispositif de comparaison, tout comme le mot de contrôle précédent en mémoire. Dans une forme simple, le dispositif de comparaison est conformé de manière à pouvoir vérifier l'identité des mots de contrôle amenés. L'invention est expliquée dans la suite se référant à des exemples de réalisation et aux dessins dans lesquels: la figure 1 représente sous la forme d'un synoptique, la transformation d'un ensemble de données, comportant des mots de données, en un premier mot de contrôle; la figure 2 représente un synoptique de la 15 transformation; la figure 3 représente la modification d'un premier mot de contrôle; la figure 4 représente en détail la modification du premier mot de contrôle; la figure 5 représente la transformation de l'ensemble de données en un deuxième mot de contrôle suivie d'une comparaison; la figure 6 représente la transformation d'un ensemble de données, comportant des mots de données et des mots 25 d'information, en le premier mot de contrôle; la figure 7 représente la modification du premier mot de contrôle; la figure 8 représente la transformation de l'ensemble de données en le deuxième mot de contrôle suivie de la 30 comparaison; la figure 9 représente un circuit de détection d'erreurs; la figure 10 représente un dispositif de transformation du circuit. La figure 1 représente un synoptique comportant un ensemble de données S qui contient par exemple des premier à quatrième mots de données Dl, D2, D3, D4. Les mots de données D1, D2, D3, D4 de l'ensemble de données S sont transformés par une transformation Hl en un premier mot de contrôle Pl. La figure 2 représente une transformation possible H1. Tout d'abord, chacun des mots de données Dl, D2, D3, F4 a pour image, par une fonction F, un mot de données obtenu par hachage F1, F2, F3, F4. Les mots de données obtenus par hachage F1, F2, F3, F4 de l'ensemble de données sont transformés par une combinaison appropriée V en le premier mot de contrôle P1. La combinaison V représentée est une combinaison binaire OU exclusif. La fonction de hachage se caractérise par le fait de transformer une entrée longue, c'est-à-dire le mot de données, en une sortie courte. Avantageusement, des entrées similaires donnent des sorties totalement différentes. Lorsque l'on choisit une fonction appropriée, l'efficacité, donc la capacité de calcul rapide, n'est pas à négliger pour réduire les dépenses générées par le procédé de détection d'erreurs. On peut également imaginer de réaliser la transformation H1 lorsque les mots de données Dl, D2, D3, D4 ont pour image par la fonction F des mots de données obtenus par hachage F1, F2, F3, F4. Concrètement, cela signifie qu'il faut omettre les blocs ayant la fonction F dans la figure 2. La figure 3 représente la manière dont le premier mot de contrôle Pl est modifié lorsque l'ensemble de données S est modifié. La modification de l'ensemble de données S, donnée à titre d'exemple et indiquée dans la figure 3, consiste à remplacer le deuxième mot de données D2 par un nouveau deuxième mot de données D2a. Le premier mot de contrôle Pl est actualisé en fonction de la modification de l'ensemble de données S. Cette actualisation ou modification du premier mot de contrôle Pl dépend de la transformation de modification H2 qui dépend de son côté du premier mot de contrôle précédent, qui est désigné ici par Pl pour le distinguer, et des mots de données D2 et D2a dont dépend la modification. Les mots de données non modifiés D1, D3, D4 ne sont pas importants pour la transformation de modification H2 destinée à déterminer le premier mot de contrôle modifié Pl. La transformation de modification H2 a pour effet qu'une partie, provenant de D2, du premier mot de contrôle Pl est tout d'abord supprimée et remplacée par une partie provenant du deuxième nouveau mot de données D2a. Dans la figure 4, il est représenté les étapes qui comportent la transformation de modification H2 lorsque l'on part de la transformation H1, représentée dans la figure 2, pour déterminer le premier mot de contrôle Pl. Le deuxième mot de données précédent D2 est transformé par la fonction F en le deuxième mot de données F2 obtenu par hachage. De même, le nouveau deuxième mot de données D2a est transformé par la fonction F en le nouveau deuxième mot de données F2a correspondant obtenu par hachage. Les deux mots de données F2 et F2a obtenus par hachage sont combinés par la combinaison V avec le premier mot de contrôle précédent Pl'. La combinaison V est là encore une combinaison binaire OU exclusif qui a pour propriété qu'une double combinaison OU exclusif d'un mot avec un autre mot ne modifie pas l'autre mot. C'est pourquoi, la combinaison OU exclusif du deuxième mot de données F2, obtenu par hachage et appartenant au deuxième mot de données à remplacer F2, avec le premier mot de contrôle P1 permet d'éliminer la partie du deuxième mot de données 2, obtenu par hachage, au niveau du premier mot de contrôle P1. La partie éliminée du deuxième mot de données F2, obtenu par hachage, provient de la transformation Hl de la figure 2. De cette façon, la partie du deuxième mot de données D2 provenant du premier mot de contrôle 1 est éliminée. Pour enregistrer l'information sur le nouveau deuxième mot de données D2a dans le premier mot de contrôle Pl, le nouveau deuxième mot de données D2a est transformé, au moyen de la fonction F, en le nouveau deuxième mot de données F2a obtenu par hachage et est combiné là encore par la combinaison binaire OU exclusif V avec le mot de contrôle précédent Pl'. La combinaison du mot de données précédent D2 et du deuxième nouveau mot de données D2a avec le premier mot de contrôle précédent P1' peut être effectuée dans une étape comme celle représentée dans la figure 4. En variante, on peut également imaginer de combiner tout d'abord le deuxième mot de données à remplacer D2 avec le premier mot de contrôle précédent Pl' puis de combiner le deuxième mot de données de remplacement D2a avec le résultat. Naturellement, cet ordre peut également être inversé. Le procédé susmentionné fonctionne de façon similaire à l'ajout d'un mot de données à l'ensemble de données S. Dans ce cas, la transformation de modification H2 ne comporte qu'une combinaison de deux éléments, c'est-àdire du premier mot de contrôle précédent Pl' est du mot de données obtenu par hachage du mot de données à ajouter qui est combiné par une fonction F au premier mot de contrôle précédent Pl' pour obtenir le premier mot de contrôle actualisé P1. De cette façon, le mot de données à ajouter est pris en compte dans le premier mot de contrôle P1. Pour effacer un mot de données de l'ensemble de données S, on procède de façon similaire sauf que, à la place du mot de données obtenu par hachage du mot de données à remplacer, on combine le mot de données obtenu par hachage du mot de données à effacer avec le premier mot de contrôle précédent P1'. On élimine ainsi la partie du mot de données à effacer au niveau du premier mot de contrôle P1. Naturellement, le premier mot de contrôle Pl peut être également modifié plusieurs fois d'une ou plusieurs façons susmentionnées. La figure 5 illustre la détection d'erreurs proprement dite du procédé. L'ensemble de données actuel modifié S, qui comporte les mots de données Dl, D2, D3, D4, est transformé par la transformation H1 en un deuxième mot de contrôle P2. La transformation H1 correspond à la transformation H1 de la figure 1 avec laquelle on a généré le premier mot de contrôle P1 avant la modification. Dans une comparaison, on vérifie le premier mot de contrôle P1 et le deuxième mot de contrôle P2 pour voir s'il existe entre eux une relation prescrite. Lorsque aucune erreur n'est apparue lors de la délivrance et de la modification de l'ensemble de données, il existe une relation prescrite entre les premier et deuxième mots de contrôle Pl et P2. Si ce n'est pas le cas, une fonction d'alarme ALARME peut être déclenchée. La comparaison indiquée est généralement une comparaison si le premier mot de contrôle P1 et le deuxième mot de contrôle P2 sont identiques. Cependant, on peut également imaginer qu'il existe une autre relation. Dans ce cas, les transformations Hl des figures 1 et 2 seraient différentes et, dans le cas de données d'entrée identiques, donneraient des premier et deuxième mots de contrôle Pi, P2 différents dont la relation satisfait cependant la relation à vérifier dans la comparaison V dans le cas d'un ensemble de données sans erreur. Lorsque l'un des mots de données, que ce soit l'un des mots d'origine ou l'un des mots modifiés D1, D2, D2a, D3, D4, a été modifié par exemple par une attaque, après que leurs informations a été prises en compte par la transformation Hl ou la transformation de modification H2 dans le premier mot de contrôle P1, cette modification due à une erreur est alors détectée à l'étape représentée dans la figure 5. Dans ce cas, la transformation H1 délivre un deuxième mot de contrôle P2 qui est différent du premier mot de contrôle P1 et qui permet de se prononcer sur une manipulation de données ou une erreur aléatoire. Naturellement, la détection d'erreurs fonctionne également lorsque l'ensemble de données S n'est pas modifié. Dans ce cas, l'étape représentée dans la figure 3 est réalisée et le premier mot de contrôle P1 n'est pas modifié. La figure 6 se distingue de la figure 1 seulement par le fait qu'un ensemble de données S est délivré non seulement avec des mots de données Dl, D2, D3, D4 mais également avec des mots d'information Ti, T2, T3, T4 associés respectivement aux mots de données et est transformé au moyen de la transformation H1 en le premier mot de contrôle P1. Les mots d'information sont avantageusement des informations qui sont indépendantes du contenu de données des mots de données Dl, D2, D3, D4 afin d'augmenter le niveau de protection. La transformation Hl a dans ce cas la même structure que représentée dans la figure 2. La fonction F se distingue ici simplement par le fait que le mot de données, obtenu par hachage, dépend aussi bien du mot de données que du mot d'information associé au mot de données. De cette façon, on associe au même mot de données des mots de données différents obtenus par hachage, ce qui augmente la protection. Étant donné que le mot de données obtenu par hachage est généralement inférieur au mot de données associé, plusieurs mots de données différents peuvent générer le même mot de données obtenu par hachage. Cela peut être évité par des mots d'entrée suffisamment grands, ici le mot de données et le mot d'information, de sorte que des coïncidences deviennent improbables. C'est notamment le cas lorsque les mots de données sont la plus petite unité adressable possible, par exemple un octet. En général, on utilise comme mot d'information des informations sur la mémorisation du mot de données correspondant. Il s'agit alors ici de l'adresse correspondante dans la mémoire ou de l'adresse de registre correspondante ou, dans le cas où le mot est stocké provisoirement dans une mémoire intermédiaire, de l'adresse de mémoire intermédiaire correspondante. En variante, on peut également imaginer une adresse dite Tag comme mot d'information. L'adresse Tag indique à quel emplacement le mot de données a été mémorisé à l'origine même s'il est stocké provisoirement dans une autre mémoire respectivement mémoire intermédiaire. Les figures 7 et 8 se distinguent également de la figure 3 respectivement 5 seulement par le fait que la transformation de modification H2 ou la transformation H1 est réalisée en se fondant sur un ensemble de données S comportant des mots de données D1, D2, D2a, D3, D4 et les mots d'information Ti, T2, T2a, T3, T4 associés respectivement aux mots de données. De même, dans ce cas, les modifications concernent seulement la fonction F de la façon susmentionnée. La figure 9 représente un circuit comprenant un dispositif de mémorisation MEM doté d'une entrée destinée à appliquer des mots de données. La mémoire MEM est couplée à un dispositif de transformation HS. Une première sortie HS1 et une deuxième sortie HS2 permettent de coupler le dispositif de transformation HS à un dispositif de comparaison COMP. La mémoire MEM peut être soit une mémoire principale soit une mémoire intermédiaire ou un registre. Le dispositif de mémorisation MEM est conformé de façon à délivrer un ensemble de données S comportant des mots de données. Cet ensemble de données S peut être modifié. Les mots de données peuvent être remplacés, ajoutés ou effacés. Le dispositif de transformation HS réalise la transformation déjà mentionné Hl et la transformation de modification H2 pour l'ensemble de données S stocké dans la mémoire MEM. Le dispositif de transformation HS est conformé de façon à délivrer le premier mot de contrôle Pl par le biais de la sortie HS1 et le deuxième mot de contrôle P2 par le biais de la sortie HS2 pour le dispositif de comparaison COMP. Le dispositif de comparaison COMP vérifie s'il existe une relation donnée entre le premier mot de contrôle et le deuxième mot de contrôle et délivre éventuellement un signal d'alarme ALARME. La relation donne peut être une des réalisations présentées dans la description du procédé. En ce qui concerne le signal d'alarme, les réactions du circuit peuvent être multiples. En plus de la simple indication d'une erreur détectée, on peut également imaginer d'arrêt le circuit ou d'effectuer ce que l'on appelle une réinitialisation, donc un arrêt suivi d'un redémarrage dans un état initial défini. L'ensemble de données S dans la mémoire MEM ne doit être lu dans son ensemble et amené au dispositif de transformation HS que pour la première génération du premier mot de contrôle P1. Lorsque l'on modifie un mot de données, on lit le mot de données à remplacer dans le dispositif de transformation HS et on le soumet à la transformation de modification H2. Ensuite, le mot de données de remplacement est transmis au dispositif de transformation, soumis à la transformation de modification pourl'actualisation du premier mot de contrôle et mémorisé dans la mémoire de sorte que la modification de l'ensemble de données est effectuée. En variante, les mots de données peuvent également être appliqués directement au dispositif de transformation HS, éventuellement par une autre entrée. Dans ce cas, les données seraient appliquées en parallèle à la mémoire MEM et au dispositif de transformation HS. De cette façon, on pourrait se passer d'une lecture pour la délivrance des données destinées au dispositif de transformation HS. On peut également imaginer que les données sont également prélevées à l'entrée MEM1 de la mémoire MEM et amenées directement à la sortie MEM2 afin de délivrer les données sans retard au dispositif de transformation HS. Dans ces cas-là, la lecture de l'ensemble de données, éventuellement modifié, peut se faire dans la mémoire MEM essentiellement pour générer le deuxième mot de contrôle. La figure 10 représente les blocs importants du dispositif de transformation HS. Elle comporte un bloc fonctionnel FB qui est destiné à délivrer le premier mot de contrôle et qui permet de transférer les mots de données appliqués à l'entrée HS3 ou les mots de données avec des mots d'information associés en mots de données correspondants obtenus par hachage. Étant donné que, lors de la première génération du premier mot de contrôle Pl, lors de la génération du deuxième mot de contrôle P2 et du remplacement d'un mot de données, on combine entre eux plusieurs mots de données obtenus par hachage, il est prévu un registre M3 entre le bloc fonctionnel FB et le dispositif combinatoire VB pour mémoriser provisoirement plusieurs mots de données obtenus par hachage et les amener au dispositif combinatoire VB en vue d'effectuer la combinaison. Pour des raisons d'économie, on peut également imaginer un agencement en parallèle de plusieurs blocs fonctionnels FB, comme dans le synoptique de la figure 2. La combinaison V est effectuée par un dispositif combinatoire VB permettant de réaliser la combinaison avantageuse OU exclusif. La combinaison OU exclusif de plusieurs mots de données n'a pas besoin d'être effectuée en parallèle mais peut également être réalisée par la combinaison successive d'un résultat intermédiaire avec un autre mot de données, ce qui réduit les dépenses en matériel. En outre, il est prévu dans le dispositif de transformation HS un registre M2 qui délivre le premier mot de contrôle actuel Pl. Ce registre est relié du côté de l'entrée au dispositif de combinatoire VB afin de délivrer le premier mot de contrôle précédent P1. Il est également relié du côté de la sortie au dispositif combinatoire VB pour mémoriser le premier mot de contrôle actualisé Pl après la combinaison. Une première entrée HS1 permet de délivrer le premier mot de contrôle. Le deuxième mot de contrôle est délivé en sortie par la deuxième sortie HS2. Le registre M2 sert de mémoire de mot de contrôle. On peut également imaginer des variantes de conformation de la mémoire de mot de contrôle, par exemple sous la forme d'un bloc de séparer, d'un bloc couplé à l'un des dispositifs, d'une mémoire externe, d'une zone du dispositif de mémorisation réservée ou affectée de façon flexible à cela ou une autre mémoire du circuit. Le procédé décrit ci-dessus permet de vérifier de façon rapide les mots de données délivrés de l'ensemble de données. Une vérification est effectuée par exemple lorsque des temps de calcul de processeur ne sont pas utilisés par ailleurs. Il est pour cela avantageux que l'ensemble de données S à vérifier ne soit pas trop important pour permettre une vérification rapide. Dans le cas de mémoires ou de registres importants, on peut pour cela imaginer de subdiviser ceux-ci en un ou plusieurs ensembles de données S et de vérifier seulement l'ensemble de données S de l'une des parties de mémoire ou de registre dans le cas de temps de fonctionnement à vide. On peut ainsi manipuler économiquement un ensemble de données comportant par exemple des mots de 64 octets. Naturellement, on peut également imaginer d'utiliser la détection d'erreurs non seulement dans le cas de temps de calcul de processeur libres mais également dans un fonctionnement en parallèle en arrière-plan ou à des instants déterminés qui sont prescrits par exemple par l'utilisateur ou qui sont figés dans le système. Le procédé décrit est également approprié au traitement par bloc de données, par exemple avant un déchiffrement par bloc. Dans ce cas, le contenu de l'ensemble de données peut être modifié par bloc pour traiter des quantités de données importantes. Dans ce cas, la détection d'erreurs peut être effectuée parallèlement au traitement d'un bloc dans lequel par exemple le premier mot de contrôle est modifié pendant le traitement du bloc précédent. Il n'apparaît qu'un retard au début du traitement de données par bloc. LISTE DES REFERENCES s Ensemble de données D1, D2, D3, D3, D2a Mots de données P1, P2 Premier, deuxième mot de contrôle Pl' Premier mot de contrôle précédent Hl Transformation H2 Transformation de modification V Comparaison ALARME Signal d'alarme/fonction d'alarme MEM Dispositif de mémorisation MEM1 Entrée du dispositif de mémorisation MEM2 Sortie du dispositif de mémorisation HS Dispositif de transformation HS1, HS2 Première, deuxième sortie du dispositif de transformation HS3 COMP FB VB M2 M3 Entrée du dispositif de transformation Dispositif de comparaison Bloc fonctionnel Dispositif combinatoire Mémoire de mot de contrôle Registre Revendications 1. Procédé de modification d'un ensemble de données (S) qui est stocké dans un dispositif de mémorisation (MEM) et auquel est adjoint un mot de contrôle (Pl), ledit procédé étant caractérisé en ce qu'il comporte les étapes consistant à : - fournir un ensemble partiel de données à modifier (D2) pris dans l'ensemble de données (S) stocké dans le dispositif de mémorisation (MEM), - fournir un ensemble de données de modification (D2a) 10 modifiant l'ensemble partiel de données à modifier (D2), - fournir le mot de contrôle (P1), - modifier le mot de contrôle (P1) par une transformation de modification (H2) en fonction de l'ensemble partiel de données à modifier (D2), de l'ensemble de données de modification (D2a) et du mot de contrôle fourni (Pl), - effectuer la modification de l'ensemble de données dans le dispositif de mémorisation (MEM) en fonction de l'ensemble de données de modification (D2a), -adjoindre le mot de contrôle modifié (Pl) à l'ensemble de 20 données modifié (S), - transformer (Hi) l'ensemble de données modifié (S) en un mot de contrôle transformé (P2). 2. Procédé selon la revendication 1, caractérisé en ce que la transformation (H1) de l'ensemble de données mémorisé (S) en le mot de contrôle (P1) est effectuée avant la délivrance du mot de contrôle (Pl). 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'ensemble de données (S) et/ou l'ensemble de données partiel et/ou l'ensemble de données de modification sont divisés en mots de données, l'ensemble de données (S) comportant au moins un mot de données (Dl, D2, D3, D4). 4. Procédé selon la revendication 3 caractérisé en ce que la modification de l'ensemble de données comporte un remplacement de l'ensemble de données partiel, comportant au moins un mot de données à remplacer (D2) pris dans l'ensemble de données (S), par l'ensemble de données de modification, comportant au moins un mot de données de remplacement (D2a). 5. Procédé selon la revendication 3 ou 4, caractérisé en ce que la modification de l'ensemble de données comporte un ajout, l'ensemble de données de modification comportant au moins un mot de données à ajouter à l'ensemble de données (S) et l'ensemble de données partiel ne comportant aucun mot de données, ou un effacement, l'ensemble de données partiel comportant au moins un mot de données à effacer (Dl, D2, D3, D4) de l'ensemble de données (S) et l'ensemble de données de modification ne comportant aucun mot de données. 6. Procédé selon l'une des revendications 3 à 5, caractérisé en ce qu'il est associé à chaque mot de données (D1, D2, D2a, D3, D4) un mot d'information (Tl, T2, T2a, T3, T4), et en ce que la transformation de l'ensemble de données (S) dépend des mots de données (Dl, D2, D3, D4; D2a) de l'ensemble de données (S) et de leurs mots d'information associés (Ti, T2, T3, T4; T2a). 7. Procédé selon la revendication 6, caractérisé en ce que le mot d'information associé (Tl, T2, T3, T4) dépend d'un emplacement de la délivrance du mot de données (Dl, D2, D3, D4). 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que la transformation (Hl) comporte une combinaison (V). 9. Procédé selon l'une des revendications 3 à 8, caractérisé en ce que la transformation (Hl) et la transformation de modification (H2) comportent une fonction (F) permettant d'associer au mot de données (Dl, D2, D2a, D3, D4) ou au mot de données (Dl, D2, D2a, D3, D4) et son mot d'information associé (Tl, T2, T2a, T3, T4) un mot de données (Fl, F2, F2a, F3, F4) obtenu par hachage. 10. Procédé selon la revendication 9, caractérisé en ce que la transformation (Hl) comporte une combinaison (V) des mots de données (F1, F2, F2a, F3, F4), obtenus par hachage, de l'ensemble de données (S) pour donner le mot de contrôle (Pl). 11. Procédé selon l'une des revendications 4 à 10, caractérisé en ce que la transformation de modification (H2) comporte une combinaison (V) du mot de données à remplacer (D2) et du mot de données de remplacement (D2a) avec le mot de contrôle précédent (P1). 12. Procédé selon l'une des revendications 5 à 11, caractérisé en ce que la transformation de modification (H2) comporte une combinaison (V) du mot de données à ajouter ou du mot de données à effacer avec le mot de contrôle précédent (P1). 13. Procédé selon l'une des revendications 9 à 12, caractérisé en ce que la transformation de modification (H2) comporte - l'association des mots de données (F2, F2a), obtenus par hachage, au mot de données à remplacer (D2) et au mot de données de remplacement (D2a) et - la combinaison de ses mots de données (F2, F2a), obtenus par hachage, avec le mot de contrôle précédent (P1). 14. Procédé selon l'une des revendications 9 à 13, caractérisé en ce que la transformation de modification (H2) comporte - l'association du mot de données, obtenu par hachage, au mot de données à ajouter ou au mot de données à effacer et - la combinaison de ce mot de données, obtenu par hachage, avec le mot de contrôle précédent (Pl). 15. Procédé selon l'une des revendications 8 à 14, caractérisé en ce que la combinaison (V) est une combinaison binaire OU 25 exclusif. 16. Procédé selon l'une des revendications précédentes, caractérisé en ce que le mot de contrôle adjoint (Pl) est vérifié avec le mot de contrôle transformé (P2) pour savoir s'il existe une relation prescrite entre le mot de contrôle adjoint et le mot de contrôle transformé (Pl, P2). 17. Procédé selon la revendication 16, caractérisé en ce qu'une fonction d'alarme (ALARME) est déclenchée lorsqu'il n'existe pas de relation prescrite entre le mot de contrôle adjoint et le mot de contrôle transformé (Pl, P2). 18. Procédé selon la revendication 17, caractérisé en ce que la relation prescrite est l'identité du mot de contrôle adjoint et du mot de contrôle transformé (Pl, P2). 19. Circuit caractérisé en ce qu'il comporte - un dispositif de mémorisation (MEM) comprenant une entrée de données (MEM1) permettent de mémoriser un ensemble de données modifiable (S) provenant d'au moins un mot de données (Dl, D2, D3, D4), et une sortie de données (MEM2) permettant de délivrer l'ensemble de données (S), - un dispositif de transformation (HS) qui est couplé à la sortie de données (MEM2) du dispositif de mémorisation (MEM) et qui est conformé pour mémoriser un mot de contrôle (Pl, P2) en fonction de l'ensemble de données (S) dans une mémoire de mot de contrôle (M2) ou à le délivrer en vue d'une comparaison (V), et qui est conformé pour délivrer un mot de contrôle modifié (P1), en fonction de modifications apportées à l'ensemble de données (S) et au mot de contrôle précédent en mémoire (Pl), en vue de la mémorisation, et - un dispositif de comparaison (COMP) qui est couplé au dispositif de transformation (HS) et à la mémoire de mot de contrôle (M2) et auquel sont amenés le mot de contrôle mémorisé (Pl) et le mot de contrôle (P2) délivré pour la comparaison et qui est conformé pour vérifier si le mot de contrôle en mémoire (Pl) et le mot de contrôle délivré pour la comparaison (P2) sont dans une relation prescrite. 20. Circuit selon la revendication 19, caractérisé en ce que le dispositif de transformation (HS) comporte une entrée de données permettant d'amener l'ensemble de données modifiable (S) et/ou des modifications de l'ensemble de données (S). 21. Circuit selon la revendication 19 ou 20, caractérisé en ce que l'ensemble de données (S) peut être mémorisé en étant divisé en les mots de données (Dl, D2, D3, D4). 22. Circuit selon l'une des revendications 19 à 21, caractérisé en ce que le dispositif de mémorisation (MEM) est 35 conformé de telle sorte qu'au moins un mot de données à remplacer (D2) de l'ensemble de données (S) peut être remplacé par un mot de données de remplacement (D2a). 23. Circuit selon l'une des revendications 19 à 22, caractérisé en ce que le dispositif de mémorisation (MEM) est conformé de telle sorte qu'au moins un mot de données à effacer (Dl, D2, D3, D4) de l'ensemble de données (S) peut être effacé et/ou un mot de données à ajouter peut être ajouté à l'ensemble de données (S). 24. Circuit selon l'une des revendications 19 à 23, caractérisé en ce que l'on peut associer au mot de données (D1, D2, D2a, D3, D4) un mot d'information (Tl, T2, T2a, T3, T4). 25. Circuit selon la revendication 24, caractérisé en ce que le mot d'information (Ti, T2, T2a, T3, T4), associé au mot de données (Dl, D2, D2a, D3, D4), comporte une information d'adresse du mot de données (Dl, D2, D2a, D3, D4). 26. Circuit selon l'une des revendications 19 à 25, caractérisé en ce qu'il est prévu un bloc fonctionnel (FB) qui est conformé de façon associer au mot de données (Dl, D2, D2a, D3, D4) un mot de données obtenu par hachage (Fl, F2, F2a, F3, F4). 27. Circuit selon la revendication 26, caractérisé en ce que le bloc fonctionnel (FB) est conformé de façon associer au mot de données (Dl, D2, D2a, D3, D4) et son mot d'information associée (Ti, T2, T2a, T3, T4) un mot de données obtenu par hachage (F1, F2, F2a, F3, F4). 28. Circuit selon l'une des revendications 19 à 25, caractérisé en ce qu'il est prévu un dispositif combinatoire (VB) qui génère le mot de contrôle mémorisé (P1) ou le mot de contrôle délivré pour la comparaison (P2) provenant des mots de données (Dl, D2, D3, D4; D2a) ou provenant des mots de données(D1, D2, D3, D4; D2a) et de leur mot d'information associée (Tl, T2, T2a, T3, T4). 29. Circuit selon la revendication 28, caractérisé en ce que 35 le dispositif combinatoire (VB) est conformé de façon à générer le mot de contrôle (P1) pour la mémorisation ou le mot de contrôle délivré pour la comparaison (P2) provenant des mots de données obtenus par hachage (F1, F2, F3, F4; F2a). 30. Circuit selon l'une des revendications 28 à 29, caractérisé en ce que le dispositif combinatoire (VB) génère le mot de contrôle (P1) pour la mémorisation provenant du mot de contrôle précédent mémorisé (P1) et du mot de données à remplacer (D2) et du mot de données de remplacement (D2a) ou du mot de données à remplacer (D2) et de son mot d'information associé (T2) et du mot de données de remplacement (D2a) et de son mot d'information associé (T2a). 31. Circuit selon l'une des revendications 28 à 30, caractérisé en ce que le dispositif combinatoire (VB) génère le mot de contrôle (Pl) pour la mémorisation provenant du mot de contrôle précédent mémorisé (Pl) et des mots de données obtenus par hachage (F2, F2a) du mot de données à remplacer (D2) ou du mot de données de remplacement (D2a). 32. Circuit selon l'une des revendications 28 à 31, caractérisé en ce que le dispositif combinatoire (VB) génère le mot de contrôle (Pl) pour la mémorisation provenant du mot de contrôle précédent mémorisé (Pl) et du mot de données à effacer ou du mot de données à ajouter ou du mot de données à effacer et de son mot d'information associé du mot de données à ajouter et de son mot d'information associé. 33. Circuit selon l'une des revendications 28 à 32, caractérisé en ce que le dispositif combinatoire (VB) génère le mot de contrôle (P1) pour la mémorisation provenant du mot de contrôle précédent mémorisé (P1) et du mot de données obtenu par hachage du mot de données à effacer ou du mot de données à ajouter. 34. Circuit selon l'une des revendications 28 à 33, caractérisé en ce que le dispositif combinatoire (VB) comporte une combinaison binaire OU exclusif. 35. Circuit selon l'une des revendications 19 à 34, 35 caractérisé en ce que le dispositif de comparaison (COMP) est conformé de façon à vérifier l'identité du mot de contrôle mémorisé (Pl) et du mot de contrôle délivré pour la comparaison (P2).