FR 2890202 A1 20070302 FR 0605913 A 20060630 Description Démonstration d'une modification des données d'un ensemble de données La présente invention concerne un dispositif et un procédé pour démontrer une variation des données d'un ensemble de données pouvant être utilisés, par exemple, lors du traitement ou de la mémorisation de données dans un système de traitement de données pour assurer l'intégrité des données. Dans de nombreux scénarios d'application, il est souhaitable de protéger des données mémorisées contre l'accès par des personnes non autorisées, d'où elles sont mémorisées cryptées dans une mémoire. En particulier, les applications de sécurité requièrent de nos jours la protection des données par une unité de cryptage. Par ailleurs, il doit être assuré que les données lues soient correctes, qu'elles n'aient donc pas été modifiées avant la lecture. Les données peuvent être modifiées, par exemple, lors de leur transmission via un système de bus ou pendant leur séjour dans la mémoire par suite d'erreurs se produisant accidentellement, telles que le basculement d'un bit individuel. Par ailleurs, la protection des unités de traitement de données contre un comportement erroné (par des attaques sur l'unité de traitement de données) devient également de plus en plus importante. Un agresseur qui veut altérer la sécurité d'un système de traitement de données par une attaque modifiera délibérément les données mémorisées et modifiera habituellement plus d'un bit d'un mot de données mémorisé ou transmis via un bus. Outre le cryptage des données, il est donc nécessaire d'identifier une variation de données accidentelle ou provoquée intentionnellement. Il est procédé au cryptage de données avant leur mémorisation ou avant leur transmission via un système de bus par une unité de cryptage (MED) qui crypte des mots de données individuels de longueur de mot fixe fonction du système, selon un algorithme cryptographique, pour obtenir des mots de données de même longueur de mot. Aussi, du fait de la nécessité d'identifier les modifications de données et de corriger les erreurs de bit individuelles, il est appliqué, jusqu'ici, un polynôme de correction d'erreur (polynôme ECC) ou un autre procédé de correction d'erreurs à base de formation de redondance sur les données déjà cryptées. Par l'application des mécanismes de correction d'erreur après le cryptage par la MED de cryptage, la MED elle-même n'est généralement pas protégée, ou doit être contrôlée par du matériel additionnel complexe. De même, pour la mise en oeuvre de la correction de données après le cryptage, il est requis un matériel additionnel consacré. Par le procédé utilisé jusqu'ici, le matériel nécessaire est donc considérablement agrandi en dimension ou la consommation de courant d'un dispositif de traitement de données est augmentée par le matériel additionnel, ce qui doit être évité, entre autres en ce qui concerne une possible utilisation dans des terminaux mobiles. La demande de brevet allemand 10 2005 001953.6 décrit un procédé et un dispositif dans lesquels l'information de redondance, donc l'information de correction d'erreur, est formée par un couplage OU exclusif par mot des différents mots de données d'un ensemble de données encore avant le cryptage des mots de données par la MED. Le mot de code d'erreur ou l'information de redondance a, dans ce procédé, la même longueur de mot que les mots de données et la MED. Dans le procédé décrit dans le document DE 10 2005 001953.6, le mot de code d'erreur peut être transmis ou mémorisé crypté ou non crypté ensemble avec les mots de données d'un ensemble de données, d'où est rendue possible l'identification de modifications des données lors de leur transmission ou mémorisation et peut être corrigée la modification de l'un des mots de données d'un ensemble de données d'un seul bit. Le procédé proposé dans le document DE 10 2005 001953.6 présente l'inconvénient que, sans modification du matériel, il n'est pas possible de générer des codes d'erreur inférieurs à la largeur de données ou à la longueur de mot de la MED. Cela est un inconvénient en particulier 2890202 3 lorsque les conditions de protection individuelles requises peuvent déjà être remplies par un plus petit nombre de bits du code d'erreur. Pour obtenir un plus petit nombre de bits du code d'erreur, soit il y a lieu d'apporter des modifications massives à l'unité de cryptage, soit les bits effectivement superflus du code d'erreur doivent être mémorisés ensemble avec les mots de données, ce qui augmente nettement la capacité de mémoire nécessaire. Cela est un inconvénient, par exemple, pour les applications mobiles ou les applications dans le domaine intégré où l'on ne dispose souvent que d'un espace de mémoire limité. Avec les solutions existantes, il est donc nécessaire, pour la mise en oeuvre d'un code de correction d'erreur ou une adaptation flexible de la portée de protection aux conditions de sécurité requises, une modification ou extension importante du matériel existant. L'objet de la présente invention est de créer un dispositif et un procédé plus efficaces par lesquels peut être démontrée la modification de données dans une mémoire ou pendant le traitement de données. La présente invention crée un dispositif pour manipuler des mots de données d'un ensemble de données aux caractéristiques suivantes: un dispositif de redondance qui est réalisé de manière à déterminer, à partir des mots de données (de l'ensemble de données) un mot de données de redondance associé (à l'ensemble de données) ; un dispositif de cryptage qui est réalisé de manière à crypter les mots de données, pour obtenir des mots de données cryptés et à crypter le mot de données de redondance, pour obtenir un mot de données de redondance crypté ; et un dispositif de traitement destiné à traiter les mots de données cryptés et le mot de données de redondance crypté tout en rejetant des bits prédéterminés du mot de données de redondance crypté. Par ailleurs, la présente invention crée un dispositif pour manipuler des mots de données cryptés d'un ensemble de données crypté, aux caractéristiques suivantes: un dispositif de mise à disposition destiné à mettre à disposition les mots de données cryptés de l'ensemble de données crypté et un mot de données de redondance crypté qui est associé aux mots de données cryptés; un dispositif de décryptage qui est réalisé de manière à décrypter les mots de données cryptés de l'ensemble de données crypté, pour obtenir des mots de données décryptés d'un ensemble de données décrypté ; un dispositif de redondance qui est réalisé de manière à former, à partir des mots de données décryptés, un nouveau mot de données de redondance qui est associé aux mots de données décryptés; un dispositif de cryptage qui est réalisé de manière à former, à partir du nouveau mot de données de redondance, un nouveau mot de données de redondance crypté ; et un dispositif de comparaison destiné à effectuèr une comparaison au moins partielle entre le mot de données de redondance crypté et le nouveau mot de données de redondance crypté. Par ailleurs, la présente invention crée un système de manipulation sùre d'ensembles de données, aux caractéristiques suivantes: un dispositif de cryptage/décryptage qui est réalisé de manière à former, à partir de mots de données d'un ensemble de données crypté, des mots de données, à former, à partir d'un mot de données de redondance crypté associé aux mots de données, un mot de données de redondance, et à former, à partir d'un nouveau mot de données de redondance, un nouveau mot de données de redondance crypté, le dispositif de cryptage/décryptage étant, par ailleurs, réalisé de manière à former, à partir de mots de données cryptés, des mots de données décryptés; un dispositif de redondance qui est réalisé de manière à former, à partir des mots de données, le mot de données de redondance et à former, à partir des mots de données décryptés, le nouveau mot de données de redondance; et un dispositif de comparaison destiné à effectuer une comparaison au moins partielle entre le mot de données de redondance crypté et le nouveau mot de données de redondance crypté. Par ailleurs, la présente invention crée un procédé pour manipuler des mots de données d'un ensemble de données, aux étapes suivantes consistant à : déterminer un mot de données de redondance à partir des mots de données de l'ensemble de données qui est associé à l'ensemble de données; crypter les mots de données, pour obtenir des mots de données cryptés et crypter le mot de données de redondance, pour obtenir un mot de données de redondance crypté ; et traiter les mots de données cryptés et le mot de données de redondance crypté en rejetant les bits prédéterminés du mot de données de redondance crypté. L'idée centrale de la présente invention réside dans le fait qu'il peut être conclu d'une modification de mots de données cryptés d'un ensemble de données crypté par le fait qu'il est associé, avant le cryptage, une information de redondance aux mots de données d'un ensemble de données à la base de l'ensemble de données crypté, l'information de redondance étant également cryptée et, au moins partiellement, mémorisée comme mot de données de redondance crypté ensemble avec les mots de données cryptés de l'ensemble de données crypté. Il peut être conclu de la modification des mots de données cryptés mémorisés à l'aide des mots de données décryptés résultant du décryptage des mots de données cryptés pour former un nouveau mot de données de redondance qui est crypté, pour obtenir un nouveau mot de données de redondance crypté. Une comparaison entre le nouveau mot de données de redondance crypté et le mot de données de redondance crypté permet de vérifier si les données cryptées ont été modifiées. Du fait que le contrôle de consistance est effectué en comparant les mots de correction d'erreur après leur cryptage, il est rendu possible, à l'aide d'un matériel de cryptage, une haute protection contre des erreurs, seuls quelques éléments de matériel additionnels étant nécessaires. En d'autres termes, selon l'invention, il suffit déjà de mémoriser, lors de la mémorisation des mots de données cryptés, uniquement une partie d'un mot de données de redondance crypté, étant donné qu'il est néanmoins possible de vérifier, à l'aide d'un mot de données de redondance partiellement mémorisé, si les données cryptées ont été modifiées. Dans un exemple de réalisation de la présente invention, il est tout d'abord ajouté à un ensemble de données composé de plusieurs mots de données, une information de redondance sous forme d'un mot de données de redondance. Avant de mémoriser l'ensemble de données et le mot de données de redondance y relatif, les mots de données sont cryptés par mot par un dispositif de cryptage (MED), le mot de données de redondance étant également crypté. Pendant la lecture des données, il peut maintenant être constaté, à l'aide du mot de données de redondance mémorisé crypté, si les données mémorisées ont été modifiées pendant leur séjour dans la mémoire. A cet effet, les mots de données cryptés de l'ensemble de données ainsi que le mot de données de redondance crypté sont tout d'abord lus de la mémoire, le mot de données de redondance crypté mémorisé temporairement pour utilisation ultérieure et les mots de données cryptés sont décryptés par le MED. Le fait que les mots de données cryptés ont été modifiés ou non pendant leur séjour dans la mémoire, donc que les mots de données décryptés lus peuvent être considérés comme étant intacts, peut être vérifié en formant, à partir des mots de données décryptés, un nouveau mot de données de redondance qui est crypté par le MED. En cas de coïncidence de ce nouveau mot de données de redondance crypté avec le mot de données de redondance crypté, il est supposé que les mots de données cryptés n'ont pas été modifiés ou manipulés pendant leur séjour dans la mémoire. Dans l'exemple de réalisation de la présente invention décrit ci-dessus, le matériel MED est utilisé pour permettre une haute protection contre des erreurs. Par la formation de la redondance avant le cryptage par le MED, il est même identifié des erreurs qui se produisent dans l'opération MED elle-même. Dans un autre exemple de réalisation de la présente invention, l'information de redondance est formée par le fait que les mots de données individuels d'un ensemble de données sont couplés par un couplage OU exclusif par bit entre eux, de sorte qu'il soit obtenu un mot de données de redondance qui correspond à la longueur des mots de données. Par cette forme simple de la formation de redondance au moyen d'un couplage OU exclusif, il n'est requis qu'un déploiement en matériel additionnel minimum, il est donc créé une petite solution intégrée qui peut être entièrement intégrée dans le flux de données normal de systèmes existants. Grâce au très faible déploiement en matériel additionnel est rendue possible une protection contre les erreurs qui utilise substantiellement le matériel MED lui-même et n'entraîne pas d'augmentation significative de la consommation de courant ou ne génère, en fonctionnement, pas de crêtes de courant importantes. Dans un autre exemple de réalisation de la présente invention, le mot de données de redondance crypté est, avant la mémorisation, raccourci d'un nombre de bits établi par l'utilisateur, de sorte qu'il soit obtenu un mot de données de redondance crypté raccourci qui est mémorisé ensemble avec les mots de données cryptés de l'ensemble de données crypté. La longueur du mot de données de redondance crypté raccourci dépend de la portée de protection désirée, c'est-à-dire de la probabilité avec laquelle un ensemble de données mémorisé composé de mots de données cryptés peut être modifié de sorte que puisse être formé, à partir des mots de données décryptés modifiés, un nouveau mot de données de redondance qui corresponde, après cryptage et découpage, au mot de données de redondance crypté mémorisé. Plus cette probabilité est petite, plus la portée de protection est grande. De manière avantageuse, il peut donc être généré par la présente invention un code d'erreur de grandeur arbitraire, sans que ne doivent être apportées de modifications à l'unité de cryptage/décryptage MED ellemême. Cela est particulièrement avantageux, par exemple, lorsqu'il existe en parallèle dans un système de traitement de données plusieurs zones de mémoire à différentes conditions de sécurité requises (donc longueurs de mot de données de redondance ou longueurs de code). Les conceptions de matériel déjà existantes peuvent facilement être modifiées, pour mettre en oeuvre la fonctionnalité additionnelle de la correction d'erreur. En cas d'importantes conditions de protection requises, la longueur de code peut, en principe, facilement être augmentée par le fait qu'il est formé à partir des mots de données de l'ensemble de données, pendant la formation de redondance, de manière différente plusieurs mots de données de redondance indépendants l'un de l'autre. Ces mots de données de redondance indépendants sont alors cryptés par mot et coupés à la longueur désirée, la portée de protection augmentant également avec l'augmentation de l'information de redondance. De ce fait, la portée de protection peut être déterminée librement de manière pratiquement arbitraire. Ci-après sont décrits en détail des exemples de réalisation préférés de la présente invention, en référence aux dessins joints en annexe, dans lesquels: La figure 1 illustre un système de mémorisation et de lecture sûres de données. La figure 2 illustre une mise en oeuvre de matériel d'un système de mémorisation et de lecture sûres de données. A l'aide de la représentation schématisée à la figure 1 est présenté, ciaprès, le fonctionnement du système de manipulation sûre de données selon l'invention. La figure 1 illustre un processeur 2, un dispositif de redondance 4, un dispositif de cryptage/décryptage 6, un dispositif de traitement de redondance 8 et une mémoire de données 10. Le processeur 2 traite ou génère des mots de données qui doivent être mémorisés protégés contre des erreurs et cryptés dans la mémoire 10 ou lues de cette dernière. A cet effet, le processeur 2 est relié, par l'intermédiaire de connexions de transmission de données qui permettent tant l'émission que la réception de données, au dispositif de redondance 4 qui est relié au dispositif de cryptage/décryptage 6 qui est, quant à lui, relié au dispositif de traitement de redondance 8, le dispositif de traitement de redondance 8 étant relié à la mémoire de données 10. Ci-après est tout d'abord décrit le fonctionnement du dispositif selon l'invention lors de l'écriture de données dans la mémoire. A cet effet, il est tout d'abord généré par le processeur 2 les 4 mots de données 2Oa à 2Od d'un ensemble de données 21 qui doivent être mémorisés dans la mémoire de données 10, un ensemble de données à mémoriser 21 se composant, dans l'exemple de réalisation selon l'invention décrit ici, exactement de quatre mots de données 2Oa à 2Od. Les mots de données 2Oa à 2Od sont tout d'abord transmis au dispositif de redondance 4, le dispositif de redondance 4 formant, à partir des mots de données 2Oa à 2Od, un mot de code d'erreur 22 associé à l'ensemble de données 21. Cette formation de redondance ou de code d'erreur peut avoir lieu par un mécanisme de code d'erreur approprié quelconque. Après la formation du mot de code d'erreur 22, les mots de données 2Oa à 2Od de l'ensemble de données 21 et le mot de code d'erreur 22 sont transmis au dispositif de cryptage/décryptage 6, par lequel ils sont cryptés par mot par un procédé de cryptage prédéterminé, pour obtenir les mots de données cryptées d'un ensemble de données 24 crypté et un mot de code d'erreur crypté 26. L'ensemble de données crypté 24 et le mot de code d'erreur crypté 26 lui associé sont ensuite transmis au dispositif de traitement de redondance 8 qui rejette un nombre prédéterminé de bits du mot de code d'erreur crypté 26 à la fin du mot de code d'erreur crypté 26, de sorte que soient mis à disposition, à la sortie du dispositif de traitement de redondance 8, l'ensemble de données crypté 24 et un mot de code d'erreur crypté réduit 28, l'ensemble de données crypté 24 étant mémorisé, ensemble avec le mot de code d'erreur crypté réduit 28, dans la mémoire 10. Le procédé selon l'invention présente l'avantage que l'espace de mémoire disponible peut être utilisé le mieux possible, étant donné que l'espace de mémoire nécessaire est, selon l'invention, modulé selon la portée de protection désirée, tel qu'expliqué brièvement ci-après. Le dispositif de cryptage fonctionne naturellement avec une largeur de mot qui correspond à la largeur des mots de données à crypter. Il était naturellement possible, jusqu'ici, de générer un code d'erreur d'une longueur inférieure à la largeur de mot du dispositif de cryptage. Toutefois, du fait de la limitation ci-dessus, celui-ci devait être mémorisé non crypté, ce qui est assorti à des effets négatifs évidents sur la sécurité de données. Si le code d'erreur devait être mémorisé crypté, la longueur de code d'erreur devait, selon l'état de la technique, donc correspondre au moins à la longueur de mot du MED (ou à un multiple de nombre entier de cette dernière), même si la portée de protection nécessaire peut être obtenue en principe avec une plus petite largeur de mot. La présente invention permet maintenant de manière avantageuse tant de mémoriser le code d'erreur crypté que d'adapter sa longueur à volonté au besoin de protection. A cet égard, l'attention est à nouveau attirée sur le fait que proportionnellement à l'augmentation du nombre de bits 28 rejetés à la transition du code d'erreur crypté 26 au mot de code d'erreur crypté réduit 28 diminue la portée de protection du dispositif selon l'invention. Ci-après sont expliquées brièvement la lecture de données mémorisées cryptées et la vérification de si des données mémorisées dans la mémoire ont été modifiées. A cet effet, il est tout d'abord lu de la mémoire 10 un ensemble de données crypté 30 et le mot de code d'erreur crypté réduit 32. A la figure 1, l'ensemble de données crypté 24 (m;) mémorisé dans la mémoire 10 au cours de l'opération de mémorisation et le mot de code d'erreur crypté réduit 28 (r *) sont pourvus d'une notation s'écartant d'un ensemble de données lu 30 (n; et du mot de code d'erreur crypté réduit lu 32 (s *), pour indiquer la possibilité que tant les mots de données mémorisés à l'origine de l'ensemble de données crypté 24 que le mot de code d'erreur crypté réduit mémorisé à l'origine 28 ont été modifiés pendant leur séjour dans la mémoire 10. Pendant l'opération de lecture, l'ensemble de données crypté 30 et le mot de code d'erreur crypté réduit 32 sont tout d'abord transmis de la mémoire 10 au dispositif de traitement de redondance 8 qui mémorise temporairement le mot de code d'erreur crypté réduit 32 et transmet l'ensemble de données crypté 30 au dispositif de cryptage/décryptage 6. Par le dispositif de cryptage/décryptage 6, les mots de données de l'ensemble de données crypté 30 sont décryptés par mot, pour obtenir des mots de données décryptés d'un ensemble de données décrypté 34, après quoi l'ensemble de données décrypté 34 est transmis au dispositif de redondance 4. Celui-ci transmet, d'une part, l'ensemble de données décrypté 34 au processeur 2, traite, d'autre part, l'ensemble de données décrypté 34, pour former un mot de code d'erreur de test 36 associé à l'ensemble de données décrypté 34. Le mot de code d'erreur de test 36 est ensuite transmis au dispositif de cryptage/décryptage 6 qui forme, à partir du mot de code d'erreur de test 36, un mot de code d'erreur de test crypté 38. Le mot de code d'erreur de test crypté 38 est transmis au dispositif de traitement de redondance 8 qui rejette le nombre prédéterminé de bits du mot de code d'erreur de test crypté 38 et forme à partir de cela le mot de code d'erreur de test crypté réduit 40. La décision de si l'ensemble de données crypté 30 ou le mot de code d'erreur crypté réduit 32 lui associé ont été modifiés pendant leur séjour dans la mémoire de données 10 peut alors être déterminée par une comparaison du mot de code d'erreur crypté réduit 32 et du mot de code d'erreur de test crypté réduit 40. Si le mot de code d'erreur crypté réduit 32 et le mot de code d'erreur de test crypté réduit 40 sont identiques, il est supposé que dans la mémoire de données 10 ni l'ensemble de données crypté 30 ni le mot de code d'erreur crypté réduit 32 n'ont été modifiés, que l'ensemble de données décrypté 34 transmis au processeur 2 est donc non manipulé et peut être utilisé de manière sûre. En cas de coïncidence du mot de code d'erreur crypté réduit 32 et du mot de code d'erreur de test crypté réduit 40, il ne s'est donc pas produit d'erreur dans le cycle d'écriture et de lecture décrit à la figure 1 et l'ensemble de données crypté 24 et le mot de code d'erreur crypté réduit 28 sont identiques à l'ensemble de données crypté lu 30 et au mot de code d'erreur crypté réduit 32 lui associé, les données sont donc non manipulées. Si la comparaison entre le mot de code d'erreur de test réduit crypté 40 et mot de code d'erreur crypté réduit 32 a pour résultat que les deux mots de code diffèrent, il peut être pris des mesures appropriées, par exemple, il peut être déclenché le rejet de l'ensemble de données décrypté 34. Dans la présente invention, les fortes non-linéarités et dépendances des bits du dispositif de cryptage/décryptage 6 (MED) sont utilisées pour construire, de manière simple, une haute protection contre les erreurs, tant pour les données cryptées que pour l'opération de décryptage et l'opération de cryptage. Le dispositif de cryptage/ décryptage 6 (MED) est principalement utilisé lui-même et il n'est requis qu'une petite partie de matériel additionnelle pour effectuer la vérification d'exactitude proprement dite. La vérification d'erreurs ne requiert méme pas plus de temps qu'une opération de cryptage normale. L'avantage particulier réside dans le fait, d'une part, qu'il ne doit être mis en oeuvre que peu de matériel additionnel pour la vérification d'erreurs et que par l'incorporation de la redondance avant le cryptage proprement dit sont protégés tant le procédé de cryptage que le procédé de décryptage pendant lesquels il peut également se produire, en principe, des transactions de bit erronées. Un autre avantage important réside dans le fait que la portée de la protection peut être adaptée par l'utilisateur, par l'intermédiaire de la longueur du mot de code d'erreur crypté réduit 28, de manière variable à la condition de protection requise, sans devoir modifier l'unité de cryptage/décryptage proprement dite. D'une part, à une portée de protection réduite est possible une économie de place de mémoire dans la mémoire de données 10, étant donné que la longueur du mot de code d'erreur crypté réduit 28 est nettement inférieure à la longueur d'un mot de données de l'ensemble de données crypté 24. Par le dispositif selon l'invention, il est de ce fait même possible de réaliser, dans un système de traitement de données, pour des données de sensibilité différent, différents degrés de protection contre les erreurs dans différentes zones de la mémoire de données 10. S'il est utilisé un MED dans lequel la génération de la clef de cryptage dépendant de l'adresse de mémoire physique à laquelle un mot de données doit être mémorisé dans la mémoire de données 10, par la présente invention est en outre protégée la sélection du mot de données à lire, donc de l'adressage de la zone dans la mémoire de données 10 elle-même, étant donné que, en cas d'indication d'adresse erronée, le mot de code d'erreur de test réduit crypté 40 ne coïncide plus non plus avec le mot de code d'erreur crypté réduit 32 qui est lu directement de la mémoire. 2890202 14 La figure 2 illustre un système d'écriture et de lecture sûres de données et la mise en oeuvre de ce dernier à l'aide des propriétés fortement non linéaires d'une unité de codage/décodage MED. La figure 2 illustre un ensemble de données non crypté 50 composé de quatre mots de données non cryptés 50a à 50d, un premier multiplexeur 52 avec une première entrée de données 52a et une deuxième entrée de données 52b, un deuxième multiplexeur 54 avec une première entrée de données 54a et une deuxième entrée de données 54b, un dispositif de couplage 56 et une mémoire intermédiaire 58 d'un côté non crypté 60 du trajet de données. Par ailleurs, il est représenté un dispositif de cryptage/décryptage 62 qui sépare le côté non crypté 60 d'un côté crypté 64 du trajet de données. Du côté crypté 64 sont illustrés un ensemble de données crypté 66 composé de quatre mots de données cryptés 66a à 66d, un mot de code d'erreur crypté 68 associé à l'ensemble de données crypté 66 ainsi qu'un dispositif de comparaison de codes 70. Par l'intermédiaire d'une connexion de transmission de données, les mots de données non cryptés 50a à 50d de l'ensemble de données non cryptépeuvent être transmis à la première entrée de données 52a du premier multiplexeur 52 ainsi qu'à la première entrée de données 54a du deuxième multiplexeur 54. La sortie de données du premier multiplexeur 52 est reliée à l'une de deux entrées de données du dispositif de couplage 56, la sortie de données du dispositif de couplage 56 est reliée à l'entrée de données de la mémoire intermédiaire 58, la sortie de données de la mémoire intermédiaire 58 étant reliée tant à une deuxième entrée de données du dispositif de couplage 56 qu'à la deuxième entrée de données 54b du deuxième multiplexeur 54. La sortie de données du deuxième multiplexeur 54 est reliée à une entrée de données de cryptage 72 du dispositif de cryptage/décryptage 62. Via une sortie de données crypté 74 du dispositif de cryptage/décryptage 62, des mots de données cryptés peuvent tant être mémorisés comme mots de données cryptés 66a à 66d de l'ensemble de données cryptées 2890202 15 66 qu'être transmis à l'une de deux entrées de données du dispositif de comparaison de codes 70. Les mots de données cryptés 66a à 66d ainsi que le mot de code d'erreur crypté peuvent être transmis à une entrée de données de décryptage 76 du dispositif de cryptage/décryptage 62, une sortie de données décryptées 78 du dispositif de cryptage/ décryptage 62 est reliée, d'une part, à la deuxième sortie 52b du premier multiplexeur 52, d'autre part, des mots de données décryptés de la sortie de données décryptées 78 peuvent être utilisés pour former l'ensemble de données non crypté complet 50 composé des quatre mots de données non cryptés 50a à 50d. Dans l'exemple de réalisation de la présente invention décrit à la figure 2, le mot de données de redondance est formé par un simple couplage OU exclusif par bit des mots de données non cryptés 50a à 50d. Pendant les quatre premières étapes d'une opération d'écriture complète sont tout d'abord cryptés les quatre mots de données non cryptés 50a-50d et mémorisés comme mots de données cryptés 66a à 66d, à partir des quatre mots de données non cryptés 50a à 50d étant simultanément formé un mot de code d'erreur qui est également crypté dans une cinquième étape et mémorisé comme mot de code d'erreur crypté 68. Pendant les quatre premières étapes de l'opération d'écriture, le premier multiplexeur 52 est commuté de sorte que les mots de données non cryptés 50a à 50d présents à sa première entrée de données 52a soient transmis à la sortie de données du multiplexeur 52, le deuxième multiplexeur 54 est commuté de sorte que les mots de données non cryptés 50a à 50d présents à sa première entrée de données 54a soient transmis à sa sortie de données, qu'ils soient donc présents à l'entrée de données de cryptage 72 du dispositif de cryptage/décryptage 62. Le dispositif de couplage 56 est construit de sorte qu'il transforme les mots de données présents à ses deux entrées de données au moyen d'un couplage OU exclusif par bit en un nouveau mot de données qui est alors disponible à la sortie de données du dispositif de couplage 56 et 2890202 16 est mémorisé dans la mémoire intermédiaire 58. Le mot de données mémorisé dans la mémoire intermédiaire 58 est utilisé comme mot de données d'entrée du dispositif de couplage 56. Pendant les quatre premières étapes d'une opération de mémorisation, les différentes mots de données non cryptées 50a à 50d sont donc cryptés, par l'intermédiaire du deuxième multiplexeur 54, par le dispositif de cryptage/décryptage 62 et mémorisés comme mots de données cryptées 66a à 66d. En même temps que le cryptage et la mémorisation des mots de données décryptés 50a à 50d est déterminé, à partir de ces derniers, un mot de code d'erreur, tel que décrit ci-après. Pendant la première étape de l'opération de mémorisation, le premier mot de données non crypté 50a est appliqué, par l'intermédiaire du multiplexeur 52, à la première entrée de données du dispositif de couplage 56, où il est soumis, par bit, à une opération XOR par un mot de données qui a la même longueur que le mot de données non crypté 50a dont tous les bits sont toutefois zéro. Aussi, dans la première étape, le mot de données 50a n'est pas modifié, il est sorti inchangé à la sortie de données du dispositif de couplage 56 et mémorisé dans la mémoire intermédiaire 58. Dans la deuxième étape, le deuxième mot de données non crypté 50b est appliqué à la première entrée du dispositif de couplage 56, à la deuxième entrée du dispositif de couplage 56 étant alors présent le premier mot de données 50a mémorisé dans la mémoire intermédiaire 58. De ce fait est alors mis à disposition à la sortie de données du dispositif de couplage 56 et mémorisé dans la mémoire intermédiaire 58 un mot de données qui est formé par couplage OU exclusif par bit par des mots de données 50a et 50b. A la fin de la quatrième étape, il se trouve donc dans la mémoire intermédiaire 58 un mot de données qui a été généré par soumission à une opération XOR par bit des quatre mots de données non cryptés 50a à 50d de l'ensemble de données non crypté 50 qui correspond donc au mot de code d'erreur désiré. Dans la cinquième étape de mémorisation de données, le deuxième multiplexeur 54 est alors commuté de sorte 2890202 17 que le mot de code d'erreur présent à sa deuxième entrée de données 54b soit commuté à la sortie de données du multiplexeur 54 de sorte que celui-ci soit présent à l'entrée de données de cryptage 72 du dispositif de cryptage/décryptage 62, pour crypter également le mot de code d'erreur. Dans l'exemple de réalisation illustré à la figure 2, le mot de code d'erreur est, après le cryptage, en outre raccourci d'un nombre prédéterminé des derniers bits, de sorte que soit obtenu le mot de code d'erreur 68 qui est associé aux mots de données cryptés 66a à 66d de l'ensemble de données crypté 66 et à l'aide duquel peut être vérifié, pendant la lecture, si les mots de données non cryptés 50a à 50d ont été modifiés pendant le cryptage ou le transfert via une connexion de transmission de données, donc si l'intégrité de données est assurée. La lecture des données et la vérification de l'intégrité des données sont décrites ci-après en référence à la figure 2. L'opération de lecture peut être subdivisée, comme l'opération de lecture, en cinq étapes logiques. Pendant les quatre premières étapes, les mots de données cryptés 66a à 66d sont décryptés via l'entrée de données de décryptage 76 du dispositif de cryptage/décryptage 62, pour former ainsi l'ensemble de données décrypté 50. En même temps, il est déterminé à partir des mots de données lus décryptés 50a à 50d, de la même manière que celle déjà décrite pour l'opération d'écriture, un nouveau mot de code d'erreur. A cet effet, le premier multiplexeur 52 est commuté de sorte que les mots de données présents à sa deuxième entrée de données 52b soient transmis à la sortie de données du multiplexeur 52, de sorte que pendant les quatre premières étapes de lecture soit formé, par soumission à une opération XOR par bit des mots de données lus décryptés, un nouveau mot de code d'erreur. Dans la cinquième étape de lecture, le nouveau mot de code d'erreur est transmis, par l'intermédiaire du deuxième multiplexeur 54, à l'entrée de cryptage 72 du dispositif de cryptage/décryptage 62 qui crypte le nouveau mot de code d'erreur, pour obtenir un nouveau mot de code d'erreur crypté. Le nouveau mot de code d'erreur crypté est ensuite raccourci du même nombre de bits que c'était le cas pour le mot de code d'erreur crypté 68 lors de l'écriture. Le dispositif de comparaison de codes 70 compare les mots de données présents à leurs deux entrées de données, le nouveau mot de code d'erreur crypté et le mot de code d'erreur crypté 68 qui a été généré pendant l'écriture de l'ensemble de données crypté 66. Si le nouveau mot de code d'erreur crypté et le mot de code d'erreur crypté 68 coïncident, il est supposé que les données décryptées lues de l'ensemble de données crypté 66 correspondent aux mots de données non cryptés originaux 50a à 50d de l'ensemble de données non crypté 50, donc que l'intégrité de données a été assurée pendant l'opération d'écriture et de lecture. Tel que visible en référence à la figure 2, l'extension d'un système de cryptage et de décryptage de données existant de la fonctionnalité d'identification d'erreur est possible avec un déploiement en matériel additionnel très faible, de sorte qu'il soit occupé peu de surface additionnelle sur une puce de silicium et qu'il ne s'ensuive qu'une consommation de courant accrue minimale. Par la génération en parallèle appropriée du mot de code d'erreur et la mémorisation des données cryptées, il n'est créé par la possibilité d'identification d'erreur qu'un faible déploiement de temps additionnel qui est substantiellement fonction de la durée d'une opération de cryptage du dispositif de cryptage/décryptage 62. Bien que, dans le mode de réalisation de la présente invention décrit à la figure 2, la génération du mot de code d'erreur ait lieu par simple soumission à une opération XOR des mots de données non cryptés 50a à 50d, toute autre forme de formation d'un mot de code d'erreur convient également tout aussi bien pour assurer selon l'invention l'intégrité des données. Ainsi, par exemple, on peut envisager l'application d'un polynôme de correction d'erreurs ou l'utilisation de codes de Hsiao efficaces du point de vue matériel. Selon les différentes conditions de sécurité de données requises, il est possible avec le dispositif pour manipuler des données selon l'invention de varier la portée de protection. Le principe qui est représenté dans l'exemple de réalisation préféré de la présente invention à la figure 2 est précisément de générer, pour des codes de longueur inférieure à la largeur de mot du dispositif de cryptage/décryptage 62 (MED), un couplage des données en texte clair avec un mot de code de largeur du MED (de préférence soumission à une opération XOR de tous les mots, l'utilisation de codes d'erreur "réels" est bien sûr également possible). Ce mot est alors simplement crypté et ensuite coupé à la longueur plus courte choisie (par exemple en rejetant les n MSB supérieurs). Ce mot de code ainsi généré est alors mémorisé. Lorsque les données cryptées sont alors lues et décryptées, l'exactitude des données peut être constatée par le nouveau couplage des données en texte clair avec un mot de code, son cryptage, découpage et sa comparaison successive avec le mot de code mémorisé. Pour une plus grande portée de protection souhaitée, donc pour de plus grands codes, dans un mode de réalisation alternatif de la présente invention, les données en texte clair sont simplement couplées de différentes manières entre elles. Les n mots de code qui en résultent sont ensuite cryptés comme décrit ci-dessus, coupés à la longueur totale requise et mémorisés. La vérification quant à l'intégrité des données a lieu de manière équivalente à ce qui a déjà été décrit en référence à l'exemple de réalisation de la figure 2. Par ailleurs, il est possible, avec un dispositif pour manipuler des données selon l'invention, de corriger une erreur d'un seul bit qui s'est produite dans les données cryptées si le coupage d'au moins un mot de code d'erreur crypté est omis. Il est utilisé la haute non-linéarité d'un MED pour mettre en oeuvre un code d'erreur qui offre, en outre, la possibilité de corriger rapidement une erreur d'un seul bit. Bien qu'il ait été décrit, dans l'exemple de réalisation de la figure 1, un système complet de lecture et de mémorisation de données, dans un mode de réalisation alternatif de la présente invention peut être mise en oeuvre uniquement la fonctionnalité d'écriture, par exemple pour mémoriser de manière sûre des données pour une utilisation ultérieure. Par conséquent, à la figure 1 peut être omise complètement la fonction de décryptage du dispositif de cryptage/décryptage 6, le dispositif de traitement de redondance 8 se limite alors uniquement à la fonction de rejet du nombre de bits désiré du mot de code d'erreur crypté 26, pour former le mot de code d'erreur crypté réduit 28 qui peut alors être mémorisé ensemble avec l'ensemble de données crypté 24 dans une mémoire non volatile. Les données ainsi mémorisées peuvent être transférées, par exemple, par le support de mémoire, d'où il peut être assuré par une lecture ultérieure que les données n'ont pas été manipulées pendant leur transport. Aussi, dans un autre exemple de réalisation avantageux de la présente invention, il est avantageux de mettre en oeuvre en matériel seule la fonctionnalité de lecture du système pour la mémorisation et la lecture des données. Il peut ainsi, par exemple, être vérifié si des données qui sont fournies sur un support de données ont été manipulées ou non pendant leur transfert ou pendant le transport. A cet effet, des mots de données cryptés d'un ensemble de données crypté 30 doivent être décryptées par le dispositif de cryptage/décryptage 6, pour obtenir un ensemble de données décrypté 34. En outre, le mot de code d'erreur crypté réduit 32 lu de la mémoire 10 doit être mémorisé temporairement par le dispositif de traitement de redondance 8, le dispositif de formation de redondance 4 à la figure 1 est requis pour la lecture, pour former, à partir des mots de données décryptés de l'ensemble de données décrypté 34, un mot de code d'erreur de test 36 qui, après cryptage par le dispositif de cryptage/décryptage 6 et coupage successif à la longueur désirée, est comparé au mot de code d'erreur crypté réduit 32 par le dispositif de traitement de redondance 8, pour découvrir ainsi une éventuelle modification des données. En fonction des circonstances, le procédé selon l'invention pour démontrer une modification des données d'un ensemble de données peut être mis en oeuvre en matériel ou en logiciel. La mise en oeuvre peut se faire sur un support de mémoire numérique, en particulier une disquette ou un CD avec des signaux de commande pouvant être lus électroniquement, qui peut coopérer avec un système d'ordinateur programmable de sorte que soit exécuté le procédé selon l'invention pour démontrer une modification des données d'un ensemble de données. En général, l'invention consiste donc également en un programme d'ordinateur avec un code de programme mémorisé sur un support pouvant être lu en machine pour l'exécution du procédé selon l'invention lorsque le programme d'ordinateur se déroule sur un ordinateur. En d'autres termes, l'invention peut donc être réalisé sous forme d'un programme d'ordinateur avec un code de programme pour l'exécution du procédé lorsque le programme d'ordinateur se déroule sur un ordinateur. Liste de numéros de repère 2 Processeur 4 Dispositif de redondance 6 Dispositif de cryptage/décryptage 8 Dispositif de traitement de redondance Mémoire de données 2Oa à 2Od Mots de données 21 Ensemble de données 22 Mot de code d'erreur 24 Ensemble de données crypté 26 Mot de code d'erreur crypté 28 Mot de code d'erreur crypté réduit Ensemble de données crypté 32 Mot de code d'erreur crypté réduit 34 Ensemble de données décrypté 36 Mot de code d'erreur de test 38 Mot de code d'erreur de test crypté Mot de code d'erreur de test crypté réduit Ensemble de données non crypté 5Oa à 5Od Mots de données non cryptées 52 Premier multiplexeur 52a Première entrée de données 52b Deuxième entrée de données 54 Deuxième multiplexeur 54a Première entrée de données 54b Deuxième entrée de données 56 Dispositif de couplage 58 Mémoire intermédiaire Côté non crypté 62 Dispositif de cryptage/décryptage 64 Côté crypté 66 Ensemble de données crypté 66a à 66d Mots de données cryptés 68 Mot de code d'erreur crypté Dispositif de comparaison de codes 72 Entrée de données de cryptage 74 Sortie de données cryptées 76 Entrée de données de décryptage 78 Sortie de données décryptées 2890202 24 REVENDICATIONS 1. Dispositif pour manipuler des mots de données (20a à 20d; 50a à 50d) d'un ensemble de données (21; 50), aux caractéristiques suivantes: un dispositif de redondance (4; 56) qui est réalisé de manière à déterminer, à partir des mots de données (20a à 20d; 50a à 50d) de l'ensemble de données (21; 50), un mot de données de redondance (22) associé à l'ensemble de données (21; 50) ; un dispositif de cryptage (6; 62) qui est réalisé de manière à crypter les mots de données (20a à 20d; 50a à 50d), pour obtenir des mots de données cryptés (24; 66a à 66d) et à crypter le mot de données de redondance (22), pour obtenir un mot de données de redondance crypté (26) ; et un dispositif de traitement (8) destiné à traiter les mots de données cryptés (24) et le mot de données de redondance crypté (26) en rejetant les bits prédéterminés du mot de données de redondance crypté (26). 2. Dispositif selon la revendication 1, dans lequel le dispositif de redondance (4; 56) est réalisé de manière à former le mot de données de redondance (22) par couplage OU exclusif par bit de tous les mots de données (20a à 20d; 50a à 50d) de l'ensemble de données (21; 50). 3. Dispositif selon l'une des revendications 1 ou 2, dans lequel le dispositif de cryptage (6; 62) est réalisé de manière à crypter les mots de données (20a à 20d; 50a à 50d) et le mot de données de redondance (22) en fonction d'une adresse de mémoire. 4. Dispositif selon l'une des revendications précédentes, dans lequel le dispositif de traitement (8) est réalisé de manière à rejeter un nombre prédéterminé des derniers bits du mot de données de redondance crypté (26) . 5. Dispositif selon l'une des revendications précédentes, dans lequel le dispositif de traitement (8) est réalisé de manière à mémoriser les mots de données cryptés (24) et le mot de données de redondance 2890202 25 crypté (26), après traitement, dans une mémoire (10) ou à les transmettre vie un bus de données, les bits prédéterminés à rejeter n'étant pas mémorisés ou transmis. 6. Dispositif selon l'une des revendications précédentes, dans lequel le dispositif de redondance (4; 56) est réalisé de manière à déterminer une pluralité de mots de données de redondance à partir des mots de données (2Oa à 2Od; 5Oa à 5Od) de l'ensemble de données (21; 50), le dispositif de cryptage (6; 62) étant réalisé de manière à former, à partir de la pluralité de mots de données de redondance, une pluralité de mots de données de redondance cryptés et le dispositif de traitement (8) étant réalisé de manière à traiter chacun de la pluralité de mots de données de redondance cryptés en rejetant les bits prédéterminés des différents mots de données de redondance. 7. Dispositif pour manipuler des mots de données cryptés (30; 66a à 66d) d'un ensemble de données crypté (30; 66), aux caractéristiques suivantes: un dispositif de mise à disposition destiné à mettre à disposition les mots de données cryptés (30; 66a à 66d) de l'ensemble de données crypté (30; 66) et un mot de données de redondance crypté (32; 68) qui est associé aux mots de données cryptés (30; 66a à 66d) ; un dispositif de décryptage (6; 62) qui est réalisé de manière à décrypter des mots de données cryptés (30; 66a - 66d) de l'ensemble de données crypté (30; 66), pour obtenir des mots de données décryptés (34; 5Oa à 5Od) d'un ensemble de données décrypté (34; 50) ; un dispositif de redondance (4; 56) qui est réalisé de manière à former, à partir des mots de données décryptés (34; 5Oa à 5Od), un nouveau mot de données de redondance (36) qui est associé aux mots de données décryptés (34; 5Oa à 5Od) ; un dispositif de cryptage (6; 62) qui est réalisé de manière à former, à partir du nouveau mot de données de redondance (36), un nouveau mot de données de redondance crypté (38) ; et 2890202 26 un dispositif de comparaison (8; 70) destiné à effectuer une comparaison au moins partielle entre le mot de données de redondance crypté (32; 68) et le nouveau mot de données de redondance crypté (40). 8. Dispositif selon la revendication 7, aux caractéristiques additionnelles suivantes: dans lequel le dispositif de mise à disposition est réalisé, en outre, de manière à mettre à disposition le mot de données de redondance crypté (32) en rejetant les bits prédéterminés d'un mot de données de redondance crypté complet; dans lequel le dispositif de comparaison (8; 70) est réalisé, en outre, de manière à ne pas tenir compte, lors de la comparaison entre le mot de données de redondance crypté (32; 68) et le nouveau mot de données de redondance crypté (38), des parties du nouveau mot de données de redondance crypté (38) qui correspondent aux bits prédéterminés du mot de données crypté complet. 9. Dispositif selon l'une des revendications 7 ou 8, dans lequel le dispositif de redondance (4; 56) est réalisé de manière à former le nouveau mot de données de redondance (36) par couplage OU exclusif à partir des mots de données décryptés (34; 50a à 50d). 10. Dispositif selon l'une des revendications 7 à 9, dans lequel le dispositif de mise à disposition est réalisé de manière à lire d'une mémoire (10) les mots de données cryptés (30; 66a à 66d) et le mot de données de redondance crypté (32; 68) ou à les recevoir via un bus de données. 11. Dispositif selon l'une des revendications 7 à 10, dans lequel le dispositif de décryptage (6; 62) est réalisé de manière à décrypter les mots de données cryptés (30; 66a à 66d) en fonction d'une adresse de mémoire et dans lequel le dispositif de cryptage (6; 62) est réalisé de manière à former le nouveau mot de données de redondance (38) en fonction d'une adresse de mémoire. 12. Dispositif selon l'une des revendications 7 à 11, dans lequel le dispositif de mise à disposition est réalisé de manière à mettre à disposition le mot de données de redondance crypté (32; 68) en rejetant un nombre prédéterminé des derniers bits d'un mot de données de redondance crypté complet, le dispositif de comparaison (8; 70) étant réalisé de manière ài ne pas tenir compte, lors de la comparaison entre le mot de données de redondance crypté (32; 68) et le nouveau mot de données de redondance crypté (38), le nombre prédéterminé des derniers bits du mot de données de redondance crypté (32) et du nouveau mot de données de redondance crypté (38). 13. Système pour la manipulation sûre d'ensembles de données (21, 30), aux caractéristiques suivantes: un dispositif de cryptage/décryptage (6) qui est réalisé de manière à former, à partir de mots de données (2Oa à 2Od) d'un ensemble de données (21), des mots de données cryptés (24), à partir d'un mot de données de redondance (22) associé aux mots de données (2Oa à 2Od), un mot de données de redondance crypté (26), et à former, à partir d'un nouveau mot de données de redondance crypté (36), un nouveau mot de données de redondance (38), le dispositif de cryptage/décryptage (6) étant réalisé, en outre, de manière à former, à partir de mots de données cryptés (30), des mots de données décryptés (34) ; un dispositif de redondance (4) qui est réalisé de manière à former, à partir des mots de données (2Oa à 2Od), le mot de données de redondance (22) et à former, à partir des mots de données décryptés (34), le nouveau mot de données de redondance (36) ; et un dispositif de comparaison (8) destiné à effectuer une comparaison au moins partielle entre le mot de données de redondance crypté (32) et le nouveau mot de données de redondance crypté (38). 14. Procédé pour manipuler des mots de données (2Oa à 2Od; 5Oa à 5Od) d'un ensemble de données (21; 50), aux étapes suivantes consistant à : 2890202 28 déterminer un mot de données de redondance (22) à partir des mets de données (20a à 20d; 50a a 50d) do 1ensemble de données (21, 5(_ qui est associé à 1 ensel _oie de données (21; 'oU; crypter les mots de données (20a à 20d; 50a à 50d), pour obtenir 5 des mots de données cryptés (24; 60a c 60d} et crypter le mot de données de redondance (22), pour obtenir un mot de données de redondance crypté (26) ; et traiter les mots de données cryptés (24) et le mot de données de redondance crypté (26) en rejetant des bits prédéterminés du mot de 10 données de redondance crypté (26). 15. Procédé pour manipuler des mots de données (30; 66a à 66d) d'un ensemble de données crypté (30; 66), aux étapes suivantes consistant à : mettre à disposition les mots de données cryptés (30; 66a à 66d) 15 de l'ensemble de données crypté (30; 66) et un mot de données de redondance crypté (32; 68) qui est associé aux mots de données cryptés (30; 66a à 66d) ; décrypter les mots de données cryptés (30; 66a à 66d) de l'ensemble de données crypté (30; 66), pour obtenir des mots de données décryptés (34; 50a à 50d) d'un ensemble de données décrypté (34; 50) ; former, à partir des mots de données décryptés (34; 50a à 50d), un nouveau mot de données de redondance (36) qui est associé aux mots de données décryptés (34; 50a à 50d) ; crypter le nouveau mot de données de redondance (36), pour obtenir un nouveau mot de données de redondance crypté (38) ; et effectuer une comparaison au moins partielle entre le mot de données de redondance crypté (32) et le nouveau mot de données de redondance crypté (38). 16. Programme d'ordinateur avec un code de programme pour exécuter le procédé selon la revendication 14 ou 15 lorsque le programme se déroule sur un ordinateur.