Brevet FR2660088A1 — publié le 19910927

-2660088 Dispositif de condensation de données numériques L'invention concerne la condensation de données numériques. Elle trouve une application dans la protection de l'inté- grité des données numériques. L'homme du métier entend par "condensation" la transforma- tion de façon non-falsifiable d'une suite de données numéri- ques initiales en un bloc de données numériques résultat condensé Le terme "condensé" s'explique par le fait que le bloc de données numériques résultat condensé a une lon- gueur plus petite que celle de la suite de données numéri- ques initiales. La transformation est dite non-falsifiable (ou encore anti- collision) lorsqu'il est matériellement impossible avec les moyens de calcul actuellement disponibles de trouver deux suites de données numériques distinctes conduisant au même condensé et donc en particulier, étant donné' une première suite de données numériques, de trouver une seconde suite de données numériques distinctes de ladite première suite et produisant le même condensé. Généralement, l'homme du métier utilise la propriété anti- collision de la transformation de condensation pour protéger l'intégrité des données numériques notamment pour détecter les anomalies (changement, inversion, suppression, ou ajout de données numériques) d'ordre accidentel (erreurs matériel- les) ou d'ordre intentionnel (manipulations volontaires frauduleuses) survenant sur des données numériques Par exemple dans le cas d'un fichier informatique stocké sur un support quelconque, l'homme de métier calcule le condensé du fichier informatique à protéger et stocke ledit condensé dans une mémoire non-volatile A chaque fois qu'il réutilise le fichier informatique, l'homme du métier calcule le con- densé de ce dernier et compare le condensé ainsi calculé avec celui préalablement stocké Le résultat de la comparai- son permet théoriquement de déterminer ainsi l'existence d'anomalies étant survenues sur le fichier informatique à protéger. La condensation de données numériques peut s'effectuer éga- lement dans le but de signer des messages informatiques. Dans ce cas, le message à signer est d'abord condensé puis une fonction de signature faisant intervenir un secret est appliquée sur le condensé. Actuellement, les opérations de condensation de données numériques sont réalisées à partir d'algorithmes de chiffre- ment comme celui dit "Data Encryption Standard" (DES) auquel la propriété de sens unique de la dépendance en la clé de chiffrement confère la propriété anticollision à l'opération de condensation de données numériques. L'inconvénient de tels algorithmes de chiffrement est la lenteur de leur exécution lorsque des moyens purement logi- ciels sont mis en oeuvre. Dans le document "DESIGN PRINCIPLES FOR HASH FUNCTIONS" de I B Damgard, proceding of Crypto 89, août 1989, il est proposé une solution pour construire une fonction de conden- sation opérant sur une suite de données numériques de taille quelconque à partir de fonctions élémentaires anticollision opérant sur des blocs de données numériques de taille fixe ou "Hash Functions" Plus précisément, ce document suggère l'utilisation de schémas de calcul de condensés de type parallélisable, se décomposant en une pluralité de modules de calcul mettant chacun en oeuvre une fonction élémentaire anticollision Toutefois ce document ne décrit aucune cons- truction effective d'une opération élémentaire anticolli- sion, performante et rapide pour la condensation de données numériques. L'invention vient justement apporter une solution à ce pro- blème. Un premier but de l'invention est de fournir un dispositif de condensation de données numériques réalisé à partir d'ou- tils simples et rapides tels que des tables et des opéra- teurs logiques. Un autre but de l'invention est de réaliser un dispositif de condensation de donnéespour des suites de données numéri- ques de longueur quelconque. Encore un autre but de l'invention est d'appliquer le dispo- sitif de condensation de données à des dispositifs destinés à protéger l'intégrité de données numériques, tels que des dispositifs de certification ou de signature électronique. La présente invention porte sur un dispositif électronique de traitement de données numériques, comportant: une entrée pour recevoir des données à traiter, et des moyens de traitement propres à transformer les données d'entrée, de façon non-falsifiable, en un bloc de données résultat condensé. Selon une définition générale de l'invention, les moyens de traitement comprennent: des moyens propres à décomposer les données d'entrée au moins en un premier groupe comportant M premiers mots d'en- trée de rang respectif I variant de 1 à M et formés chacun d'un même nombre B de données élémentaires, et un second groupe comportant M seconds mots d'entrée de rang respectif I variant de 1 à M et formés chacun d'un même nombre B de données élémentaires, des premiers moyens formant table à deux entrées respec- tivement de taille M et d'une valeur prédéterminée V repré- sentative de la limite supérieure d'un indice de traitement K, pour des cellules dont le contenu possède une valeur entière variant de 1 à 2 M, des seconds moyens formant table à deux entrées de taille. M et V respectivement, pour des cellules dont le contenu possède une valeur entière variant de 1 à 2 M, des troisièmes moyens formant table, à deux entrées de taille M et V respectivement, pour des cellules dont le contenu possède une valeur variant de 1 à 2 B pour définir un tableau de V M mots auxiliaires, un opérateur composite propre à fournir une fonction spé- ciale à deux entrées de même taille B, réalisant un OU EX- CLUSIF sur ces entrées, suivi d'une permutation non linéaire sur le résultat dudit OU EXCLUSIF, les moyens de traitement étant propres à a) initialiser l'indice de traitement K à 1; b) établir une valeur initiale d'un mot intermédiaire courant pour un rang I égal à 1, c) initialiser le rang I à 2, d) remplacer le mot d'entrée du premier groupe de rang I par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la première table d'adresse d'entrée de taille M égale au rang I, ce qui donne un premier mot suppléant courant, e) remplacer le mot d'entrée du second groupe de rang I par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la seconde table d'adresse d'entrée de taille M égale au rang I, ce qui donne un second mot suppléant courant, f) appliquer respectivement le second mot suppléant courant et le mot auxiliaire contenu dans la cel- lule du tableau auxiliaire dont l'adresse d'entrée de taille M présente une valeur égale au rang I, aux entrées de l'opérateur composite, ce qui donne un premier mot-terme, g) appliquer respectivement le premier mot suppléant courant et le premier mot-terme aux entrées de l'opérateur composite, ce qui donne un second mot-terme, h) appliquer respectivement le mot intermédiaire initial courant et le second mot-terme aux entrées de l'opérateur composite, ce qui donne un nouveau mot intermédiaire courant, i) répéter sélectivement les opérations d) à h) en incrémentant à chaque fois le rang I, jusqu'à atteindre la valeur M, ce qui donne un mot résul- tat de B données élémentaires pour un indice de traitement de valeur K, j) répéter sélectivement les opérations b) à i) en incrémentant à chaque fois l'indice de traitement K, jusqu'à atteindre la limite supérieure de cet indice, ce qui permet d'obtenir un bloc de données résultat condensé de V mots résultat. Selon un mode de réalisation particulier de l'invention, les moyens de traitement pour établir la valeur initiale d'un mot intermédiaire courant pour un rang I égal à 1, sont propres à: remplacer le mot d'entrée du premier groupe de rang 1 par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la première table d'adresse d'entrée de taille M égale au rang 1, ce qui donne un troi- sième mot suppléant courant, remplacer le mot d'entrée du second groupe de rang 1 par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la seconde table d'adresse de taille M égale au rang 1, ce qui donne un quatrième mot suppléant courant, appliquer respectivement le quatrième mot suppléant cou- rant et le mot auxiliaire contenu dans la cellule du tableau auxiliaire dont l'adresse d'entrée de taille M présente une valeur égale au rang 1, aux entrées de l'opérateur com- posite, ce qui donne un troisième mot-terme; appliquer respectivement le troisième mot suppléant cou- rant et le troisième mot-terme aux entrées de l'opérateur composite, ce qui donne le mot intermédiaire initial pour un rang 1. En pratique, la limite supérieure V de l'indice de traite- ment K est égale à M. Selon un mode de réalisation préféré de l'invention, l'opé- rateur composite possède une troisième table à deux entrées respectivement de taille 2 B 1 et 2 B 2 respectivement, telles que, Bl et B 2 étant des entiers non nuls, la somme des expo- sants Bl et B 2 est égale à B, pour des cellules dont le contenu possède une valeur variant de 1 à 2 B et propres à définir une permutation, non linéaire, sur l'ensemble produit d'ordre B de 10,11 étendue à 2 M mots, et un opéra- teur à deux entrées de même taille B, du genre OU EXCLUSIF, la sortie de l'opérateur OU EXCLUSIF interagissant avec les entrées de la troisième table pour fournir la fonction spéciale. En pratique, lorsque la longueur de l'ensemble des données à traiter est différente de 2 M B données élémentaires, le dispositif comprend en outre des moyens de traitement supplémentaires comprenant: des moyens pour compléter la valeur de la longueur de l'ensemble des données à traiter jusqu'à obtenir une lon- gueur d'une valeur multiple de M B données élémentaires et supérieur à 2 M B, ce qui permet d'obtenir une pluralité de groupes comportant chacun M mots formés respectivement d'un nombre B de données élémentaires; des moyens propres à répéter sélectivement les opérations a) à j) en appliquant à chaque fois un couple de groupes de mots de M B données élémentaires jusqu'à n'avoir plus qu'un seul groupe de mots résultant de M B données élémen- taires; ce groupe de mots résultant étant ledit bloc de données résultat condensé. Avantageusement, la longueur de l'ensemble des données à traiter est complétée jusqu'à atteindre la plus petite lon- gueur qui soit paire, égale au produit de M B par une puis- sance entière de 2 et la répétition sélective des opérations a) à j) sur la pluralité des groupes de mots de M B données élémentaires s'effectue selon une arborescence binaire in- verse. La présente invention porte également sur l'application du dispositif conforme à l'invention à des dispositifs de certification ou de signature de données numériques. D'autres caractéristiques et avantages de l'invention appa- raitront à la lumière de la description et des dessins anne- xés dans lesquels la figure 1 est une vue générale représentative du dispo- sitif de condensation de données numériques selon l'inven- tion; la figure 2 illustre schématiquement la décomposition des données numériques à traiter; les figures 3 et 4 représentent chacune un tableau à deux entrées de tailles M et V propres à définir ensemble V per- mutations sur l'ensemble 11,2 MI; la figure 5 représente schématiquement un opérateur compo- site possédant une table à deux entrées de taille 2 M et B et un opérateur OU EXCLUSIF à deux entrées de taille B; la figure 6 est un tableau représentatif d'une table à deux entrées respectivement de taille Pl et P 2 pour des cellules propres à définir une permutation non linéaire sur l'ensemble produit d'ordre B de 10,11 étendu à 2 M mots; la figure 7 est un tableau représentatif d'une table à deux entrées de taille M et V pour des cellules dont le contenu possède une valeur variant de 1 à 256 pour définir un tableau de V M mots auxiliaires; la figure 8 illustre schématiquement le fonctionnement de l'opération de condensation des données numériques selon l'invention; la figure 9 illustre schématiquement la décomposition de l'ensemble des données numériques à traiter en couple de groupes de M B données élémentaires chacun; la figure 10 illustre un autre exemple de décomposition de l'ensemble des données numériques à traiter en couple de groupes de M B données élémentaires chacun; et la figure 11 illustre schématiquement l'application du dispositif selon l'invention à des dispositifs d'authentifi- cation. Sur la figure 1, le dispositif électronique de traitement de données numériques 2 selon l'invention comprend une ent- rée 4 pour recevoir les données à traiter 6 Des moyens de traitement 10 logés à l'intérieur du dispositif électro- nique 2 transforment les données d'entrée, de façon non- réversible, en un bloc de données résultat condensé 8. Sur la figure 2, on a représenté une suite de données numé- riques à traiter Les moyens de traitement 10 du dispo- sitif selon l'invention décomposent tout d'abord les données d'entrée au moins en un premier groupe Gl comportant M pre- miers mots formés chacun d'un même nombre B de données élé- mentaires d'entrée MG 1-I de rang respectif I variant de 1 à M,, et en un second groupe G 2 comportant M seconds mots d'entrée MG 2-I de rang respectif I variant de 1 à M, formés chacun d'un même nombre B de données élémentaires. Ici, on a illustré un exemple de décomposition des données élémentaires en un groupe Gl composé de 16 mots (M Gl-l à MG 1-16) et en un groupe G 2 composé de 16 mots (MG 2-1 à MG 2- 16) Ici, les mots M Gl-l à MG 2-16 sont des octets (Bl à B 8). Selon l'invention, le dispositif opère sur ces deux groupes de mots Gl, G 2 une transformation non-réversible aboutissant à un bloc de données résultat condensé C de longueur M B. Selon l'invention, le dispositif effectue cette transforma- tion non-réversible à l'aide de moyens de traitement compre- nant des outils simples et rapides, ne nécessitant que peu de mémoires de calcul. Sur la figure 3, on a représenté le premier de ces outils. Il s'agit d'une table Ql à deux entrées Ql M et Ql V de tail- les M et V respectivement M est égal ici à 16 tandis que la valeur V est représentative de la limite supérieure d'un indice de traitement K Ici, V est également égal à 16. L'entrée Ql M est individualisée selon son adresse en Qi Ml à Ql MM avec M variant ici de 1 à 16 De même, l'entrée Ql V est individualisée selon son adresse en Ql Vl à Ql VV avec V variant ici de 1 à 16. La table Ql comprend des cellules dont le contenu possède une valeur variant de 1 à 2 M. Sur la figure 4, on a représenté le second de ces outils. Il s'agit d'une autre table Q 2 à deux entrées Q 2 M et Q 2 V de tailles M et V respectivement Les cellules possèdent un contenu dont la valeur varie de 1 à 2 M L'entrée Q 2 V il est individualisée selon son adresse en Q 2 Vl à Q 2 VV avec V variant ici de 1 à 16 De même, l'entrée Q 2 M est indivi- dualisée selon son adresse en Q 2 Ml à Q 2 MM avec M variant ici de 1 à 16 Les cellules des tables Qi et Q 2 permettent ensemble de définir V permutations sur l'ensemble 11,2 MI. Sur la figure 5, on a représenté le troisième de ces outils. Il s'agit d'un opérateur composite 12 fournissant une fonc- tion spéciale à deux entrées 14 et 16 de même taille B, réalisant un OU EXCLUSIF sur ses entrées, suivi d'une permu- tation non linéaire sur le résultat 18 dudit OU EXCLUSIF. Plus précisément, l'opérateur composite 12 possède un opé- rateur du genre OU EXCLUSIF 22 et une table P à deux entrées Pl et P 2 pour des cellules dont le contenu possède une va- leur variant de 1 à 256 ( 28) La sortie 18 de l'opérateur OU EXCLUSIF 22 interagit avec les entrées Pl et P 2 de la table P pour fournir la fonction spéciale. Sur la figure 6, on a représenté un tableau représentatif de la table P La table P est une table à deux entrées Pl et P 2 de taille 2 B 1 et 2 B 2, telles que Bl et B 2 étant des entiers non nuls, la somme des exposants Bl et B 2 est égale à B Ici, Bl est égal à 5 ( 25 = 32) et B 2 est égal à 3 ( 23 = 8). Bien entendu, Bl et B 2 peuvent présenter d'autres valeurs. Les cellules de la table P sont propres à définir une permu- tation, non linéaire, sur l'ensemble produit d'ordre B de ,11 étendu à 2 M mots, c'est-à-dire sur un ensemble de 2 M mots de B données élémentaires chacun, les données élé- mentaires (bits) ayant une valeur égale à O ou à 1. Sur la figure 7, on a représenté le quatrième de ces outils. Il s'agit d'une table T, à deux entrées TM et TV de tail- les M et V respectivement Les cellules de cette table ont un contenu dont la valeur varie de 1 à 256 ( 28) Cette table définit un tableau de V M mots auxiliaires constants Ici, le contenu des cellules est écrit en hexadécimal L'entrée TM est individualisée selon son adresse en TM 1 à TMM avec M variant ici de 1 à 16 L' entrée TV est individualisée selon son adresse en TV 1 à TVM avec V variant ici de 1 à 16. Sur la figure 8, on retrouve les mots M Gl-l à MGI-16 du groupe Gi de rang I respectif variant de 1 à 16 et les mots MG 2-1 à MG 2-16 du groupe G 2 de rang respectif I variant de 1 à 16 Sur ces deux groupes de mots Gi et G 2, les moyens de traitement 10 vont exécuter une opération de condensation de données numériques en vue d'obtenir un bloc de données résultat condensé C de même taille que celui du groupe Gl ou du groupe G 2. Pour cela, les moyens de traitement 10 initialisent tout d'abord l'indice de traitement K à la valeur 1 Ensuite ils établissent une valeur initiale d'un mot intermédiaire Yl courant pour un rang I égal à 1 Puis, ils initialisent le rang I à 2 Enfin, ils remplacent le mot MG 1-2 du premier groupe Gi de rang I (ici I= 2) par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule dela première table Qi d'adresse d'entrée de taille M Ql M-2 égale au rang 2, ce qui donne un premier mot suppléant MI Gl-2 Ainsi, le contenu de la cellule de Ql se trouvant aux adresses d'entrée Ql M-2 et Ql V-1 (ici I= 2 et K= 1), c'est-à-dire 32, définit le groupe et le rang du mot sup- pléant M'G 1-2 qui remplace MG 1-2 Par conséquent, ici MG 2-16 supplée MG 1-2 et devient M'G 1-2 Par ailleurs, le mot d'en- trée MG 2-2 du second groupe G 2 de rang I (ici I= 2) est rem- placé par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la seconde table Q 2 d'adresse d'entrée de taille M Q 2 M-2 égale au rang 2, ce qui donne un second mot suppléant M'G 2-2. Ainsi, le contenu de la cellule de Q 2 se trouvant aux adres- ses d'entrée Q 2 M-2 et Q 2 V-1 (ici I= 2 et K=l), c'est-à-dire 16, définit le groupe et le rang du mot suppléant M'G 2-2 qui remplace le mot MG 2-2 Par conséquent ici, MGI-16 sup- plée MG 2-2 et devient M'G 2-2. Ensuite, les moyens de traitement appliquent respectivement le mot suppléant M'G 2-2 et le mot auxiliaire T 2 contenu dans la cellule du tableau auxiliaire dont l'adresse d'en- trée TM de taille M présente une valeur égale au rang I (ici I= 2 et toujours par un indice de traitement K=l), aux entrées de l'opérateur composite 12, ce qui donne un premier mot-terme Al. Puis le mot suppléant M'G 1-2 et le mot-terme Al sont appli- qués aux entrées de l'opérateur composite 12, ce qui donne un second mot-terme A 2. Ensuite, le mot intermédiaire courant préalablement défini Yl et le second mot-terme A 2 sont appliqués respectivement aux entrées de l'opérateur composite 12, ce qui donne un nouveau mot intermédiaire courant Y 2. Le mot intermédiaire courant préalablement défini Yl, de rang I= 1 et pour un indice de traitement K égal à 1, est obtenu à la suite des opérations suivantes. Tout d'abord, le mot d'entrée M Gl-l du premier groupe Gl de rang 1 est remplacé par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la première table Ql d'adresse d'entrée de taille M Ql M-l égale au rang 1, ce qui donne un mot suppléant M'Gl-l. Ainsi, le contenu de la cellule de Ql se trouvant aux adres- ses d'entrée Ql M-l et Ql V-l (ici K=l et I= 1), c'est-à-dire ici 16, définit le groupe et le rang du mot suppléant M'Gl-l qui remplace M Gl-l Par conséquent, ici MGI-16 supplée M Gl-l et devient M'Gl-l. Par ailleurs, le mot d'entrée MG 2-1 du second groupe G 2 de rang 1 est remplacé par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de Q 2 d'adresse d'entrée de taille M Q 2 M-1 égale au rang 1, ce qui donne un mot suppléant M'G 2-1. Ainsi, le contenu de la cellule de Q 2 se trouvant aux adresses d'entrée Q 2 M-1 et Q 2 V-1 (ici K=l et I= 1), c'est-à-dire 14, définit le groupe et le rang du mot suppléant MG 2-1 qui remplace MG 2-1 Par conséquent, ici MGI-14 supplée MG 2-1 et devient M'G 2-1. Ensuite, le mot suppléant M'G 2-1 et le mot auxiliaire Tl contenu dans la cellule dont l'adresse d'entrée TM 1 de tail- le M présente une valeur égale au rang 1 (pour un indice de traitment K= 1) sont respectivement appliqués aux entrées de l'opérateur composite 12, ce qui donne un mot-terme A 3. Enfin, le mot suppléant M'Gl-l et le mot-terme A 3 sont res- pectivement appliqués aux entrées de l'opérateur composite 12, ce qui donne le mot intermédiaire initial Yl. Toutes ces opérations sont répétées sélectivement en incré- mentant à chaque fois le rang I jusqu'à atteindre la valeur I=M, ce qui permet d'obtenir un mot résultat Y 16 de B don- nées élémentaires. Ainsi, pour un indice de traitement choisi, ici K= 1, on obtient un mot résultat Y 16 qui est représentatif des mots M Gl-l à MG 2-16 des deux groupes Gi et G 2. Enfin, ces opérations sont répétées sélectivement en incré- mentant à chaque fois l'indice de traitement K jusqu'à at- teindre la limite supérieure V de cet indice de traitement, ce qui permet d'obtenir V mots résultat Y 16 constituant le bloc de données résultat condensé. Ici, la limite supérieure V de l'indice de traitement K est égale à M, ce qui permet d'obtenir un bloc de données résultat condensé de M B données élémentaires. La propriété de non-falsification de la transformation est due au fait que chacun des V mots résultat Y 16 dépend des mots M Gl-l à MG 2-16 et cela de façon unique et spécifique. En effet chaque mot MG 1-I à MG 2-16 intervient une seule fois dans le calcul des V mots résultat Y 16 Il y a lieu de remarquer en outre que lorsque l'on fixe 2 M-1 mots d'en- trée, la fonction de condensation réalise pour tout K va- riant de 1 à 16, une bijection entre le mot d'entrée non fixé et le mot résultat Y 16 correspondant. L'opération de condensation de données numériques décrite en référence aux figures 1 à 8 travaille sur deux opérandes de M B données élémentaires chacun pour donner un résul- tat de M B données élémentaires. Les Demandeurs se sont posés le problème d'appliquer cette opération de condensation à un ensemble de données de lon- gueur arbitraire. La solution proposée par les Demandeurs consiste tout d'a- bord à compléter la valeur de la longueur de l'ensemble des données à traiter jusqu'à obtenir une valeur multiple de M B données élémentaires et supérieure à 2 M B données élémentaires et enfin à répéter sélectivement l'opération de condensation décrite précédemment à chaque couple de groupes formés de M B données élémentaires. Avantageusement, la complémentation jusqu'à obtenir une longueur d'une valeur multiple de M B données élémentaires permet ensuite d'effectuer une opération de condensation plus symétrique Par exemple, c'est un générateur de bits qui effectue la complémentation En pratique, le premier bit ajouté a une valeur égale à 1 tandis que les autres bits ajoutés ont une valeur 0. Selon un mode de réalisation préféré de l'invention, l'en- semble des données à traiter est décomposé en couples b de groupes constitués chacun d'un premier groupe Gl compor- tant M premiers mots formés chacun d'un même nombre B de données élémentaires, et en un second groupe G 2 comportant M seconds mots formés chacun d'un même nombre B de données élémentaires Les moyens de traitement répètent alors sélec- tivement les opérations précédentes pour chaque couple b de groupes Gl et G 2 ainsi obtenu jusqu'à n'avoir plus qu'un seul groupe de mots résultant C, ce groupe de mots étant ledit bloc de données condensés C. Sur la figure 9, on a représenté un exemple de condensation de quatre couples b de groupes de mots. Il s'agit ici d'un traitement par récurrence selon une arbo- rescence binaire inverse Plus précisément, le premier cou- ple bl de groupes de mots Gl et G 2 se transforme en un con- densé Cl; le second couple b 2 de groupes de mots G 3 et G 4 se transforme en un condensé C 2; le couple b 3 de groupes de mots G 5 et G 6 se transforme en un condensé C 3 et le cou- ple b 4 de groupe de mots G 7 et G 8 se transforme en un con- dense C 4 Ensuite le couple b 5 des condensés Cl et C 2 se transforme en un condensé C 5 tandis que le couple b 6 formé des condensés C 3 et C 4 se transforme en un condensé C 6. Enfin, les condensés C 5 et C 6 se transforment en un condensé C 7 représentatif du bloc de données résultat condensé C des groupes de mots Gl à G 8. Sur la figure 10, on a représenté un autre exemple de trai- tement de huit groupes de mots Ici, il s'agit d'un trai- tement en série Plus précisément le couple bl formé des groupes Gl et G 2 se transforme en un condensé Cl Le couple b 2 formé du condensé Cl et du groupe G 3 se transforme en un condensé C 2 et ainsi de suite jusqu'au couple b 7 formé du condensé C 6 et du groupe G 8, le couple b 7 se transformant en un condensé C 7 représentatif du bloc de données résultat condensé C de groupes de mots Gl à G 8. * Le dispositif de condensation de données numériques décrit en référence aux figures 1 à 10 peut être utilisé dans de nombreuses applications de sécurisation de données numéri- ques grâce à sa propriété de non-falsification. Par exemple, le dispositif de condensation de données numé- riques selon l'invention peut être appliqué à des disposi- tifs de certilfication ou de vérification d'intégrité de fichiers informatiques L'opération de condensation de don- nées numériques décrite en référence aux figures 1 à 10 est utilisée une première fois pour calculer le condensé des fichiers à protéger Le condensé obtenu est stocké dans une mémoire non-volatile du type ROM (Read Only Memory). Ensuite, à chaque fois que le fichier à protéger est uti- lisé, le condensé de celui-ci est recalculé à l'aide de l'opération de condensation de données décrite en référence aux figures 1 à 10 La comparaison du condensé ainsi obtenu avec celui préalablement stocké permet de déterminer les éventuelles altérations ou anomalies contenues dans les fichiers à protéger. Sur la figure 11, on a représenté l'application du disposi- tif de condensation numérique à des dispositifs de signa- ture. Les données à traiter 50 sont transformées par le dispositif de condensation de données numériques 12 décrit en référence aux figures 1 à l O pour donner un bloc de données résultat condensé 52 Ce bloc de données résultat condensé C est signé à l'aide d'une fonction de signature dépendant d'une clé secrète G La clé secrète G peut être connue du seul signataire (signature à clé publique) ou du signataire et du destinataire (signature à clé secrète) Les données ainsi condensées puis signées 54 ainsi que les données 50 sont transmises via un moyen 56 quelconque. A la réception, les données telles que reçues 60 sont con- densées par un dispositif de condensation 12 selon l'inven- tion pour obtenir un autre condensé 62- De même, les données condensées et signées telles que reçues 64 sont déchiffrées à l'aide d'une fonction de vérification de signature dépen- dant d'une clé secrète G' Cette fonction G' est une fonc- tion à clé secrète dans le cas o la signature préalable est de type à clé secrète ou à clé publique dans le cas d'une signature de type à cié publique Ensuite, le résultat de la comparaison 70 du condensé 62 avec le condensé déchif- fré 68 permet de vérifier la signature des données numé- riques. En variante, la signature à clé secrète peut être réalisée à partir de l'opération de condensation décrite en référence aux figures 1 à 10. Revendications 1 Dispositif électronique de traitement de données numéri- ques, comportant une entrée ( 4) pour recevoir des données à traiter; et des moyens de traitement ( 10) propres à transformer les données d'entrée, de façon non-falsifiable, en un bloc de données résultat condensé, caractérisé en ce que les moyens de traitement ( 10) com- prennent: des moyens propres à décomposer les données d'entrée au moins en un premier groupe (Gl) comportant M premiers mots d'entrée (MG 1-I) de rang respectif I variant de 1 à M et formés chacun d'un même nombre B de données élémentaires, et en un second groupe (G 2) comportant M seconds mots d'en- trée (MG 2-I) de rang respectif I variant de 1 à M et formés chacun d'un même nombre B de données élémentaires; des premiers moyens formant table (Ql) à deux entrées (Ql M et Ql V) de taille M et d'une valeur prédéterminée V représentative de la limite supérieure d'un indice de trai- tement K respectivement, pour des cellules dont le contenu possède une valeur entière variant de 1 à 2 M; des seconds moyens formant table (Q 2) à deux entrées (Q 2 M et Q 2 V) de tailles M et V respectivement, pour des cellules dont le contenu possède une valeur entière variant de 1 à 2 M; des troisièmes moyens formant table (T), à deux entrées (TV et TM) de tailles V et M respectivement, pour des cellu- les dont le contenu possède une valeur entière variant de l à 2 B pour définir un tableau de V M mots auxiliaires; un opérateur composite ( 12) propre à fournir une fonction spéciale à deux entrées de même taille B, réalisant un OU EXCLUSIF sur ces entrées ( 14, 16), suivie d'une permutation non linéaire sur le résultat dudit OU EXCLUSIF; en ce que les moyens de traitement sont propres a) initialiser l'indice de traitement K à 1 b) établir une valeur initiale d'un mot intermédiaire courant (Yl) pour un rang I égal à 1; c) initialiser le rang I à 2; d) remplacer le mot d'entrée (MG 1-2) du premier grou- pe (Gl) de rang I par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la première table (Ql) d'adresse d'entrée de taille M (Ql M-2) égale au rang I, ce qui donne un premier mot suppléant (M'G 1-2); e) remplacer le mot d'entrée (MG 2-2) du second groupe (G 2) du rang I par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cel- lule de la seconde table (Q 2) d'adresse d'entrée de taille M (Q 2 M-2) égale au rang I, ce qui donne un second mot suppléant (M'G 2-2); f) appliquer respectivement le second mot suppléant courant (M'G 2-2) et le mot auxiliaire (T 2) conte- nu dans la cellule du tableau auxiliaire (T) dont l'adresse d'entrée de taille M (TM) présente une valeur égale au rang I, aux entrées de l'opé- rateur composite ( 12), ce qui donne un premier mot-terme (Al); g) appliquer respectivement le premier mot suppléant courant (M'G 1-2) et le premier mot-terme (Al) aux entrées de l'opérateur composite, ce qui donne un second mot-terme (A 2); h) appliquer respectivement le mot intermédiaire courant (Yl) et le second mot-terme (A 2) aux en- trées de l'opérateur composite, ce qui donne un nouveau mot intermédiaire courant (Y 2); i) répéter sélectivement les opérations d) à h) en incrémentant à chaque fois le rang I, jusqu'à atteindre la valeur M, ce qui donne un mot résul- tat (Y 16) de B données élémentaires pour un indice de traitement de valeur K; j) répéter sélectivement les opérations b) à i) en incrémentant à chaque fois l'indice de traitement, jusqu'à atteindre la limite supérieure de cet indice, ce qui permet d'obtenir un bloc de données résultat condensé de V mots résultat de B données élémentaires chacun. 2 Dispositif selon la revendication 1, caractérisé en ce que les moyens de traitement, pour établir la valeur ini- tiale d'un mot intermédiaire courant (Yl) pour un rang I égal à 1, sont propres à: remplacer le mot d'entrée (M Gl-l) du premier groupe (Gl) de rang I par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la première table (Qi) d'adresse d'entrée de taille M (Ql M-l) égale au rang I,ce qui donne un troisième mot suppléant courant (M'Gl-l); remplacer le mot d'entrée (MG 2-l) du second groupe (G 2) de rang I par le mot d'entrée dont le groupe et le rang sont définis par le contenu de la cellule de la seconde table (Q 2) d'adresse d'entrée de taille M (Q 2 M-1) égale au rang I, ce qui donne un quatrième mot suppléant (M'G 2-1); appliquer respectivement le quatrième mot suppléant cou- rant (M'G 2-1) et le mot auxiliaire (Tl) contenu dans la cellule du tableau auxiliaire (T) dont l'adresse d'entrée de taille M (TM) présente une valeur égale au rang I, aux entrées de l'opérateur composite ( 12), ce qui donne un troi- sième mot-terme (A 3); appliquer respectivement le troisième mot suppléant cou- rant (M'Gl-l) et le troisième mot-terme (A 3) aux entrées de l'opérateur composite ( 12), ce qui donne le mot intermé- diaire initial (Yl) pour un rang 1. 3 Dispositif selon la revendication 1, caractérisé en ce que la limite supérieure V de l'indice de traitement K est égale à M. 4 Dispositif selon la revendication 1, caractérisé en ce que l'opérateur composite ( 12) possède une troisième table P à deux entrées (Pl et P 2) de taille 2 B 1 et 2 B 2 respective- ment, telles que, Bl et B 2 étant des entiers non nuls, la somme des exposants Bl et B 2 est égale à B, par des cellules dont le contenu possède une valeur variant de 1 à 2 B et propres à définir une permutation, non linéaire, sur l'en- semble produit d'ordre B de 10,11 étendu à 2 M mots, et un opérateur ( 22) à deux entrées de même taille B, du genre OU EXCLUSIF, la sortie ( 18) de l'opérateur OU EXCLUSIF interagissant avec les entréee (Pl et P 2) de la troisième table (P) pour fournir la fonction spéciale. Dispositif dans lequel la longueur de l'ensemble des données à traiter est différente de 2 M B données élémentai- res selon la revendication 1, caractérisé en ce que le dis- positif comprend en outre des moyens de traitement supplé- mentaires comprenant: des moyens pour compléter la valeur de la longueur de l'ensemble des données à traiter jusqu'à obtenir une lon- gueur d'une valeur multiple de M B données élémentaires, et supérieure à 2 M B données élémentaires, ce qui permet d'obtenir une pluralité de groupes comportant chacun M mots formés respectivement d'un nombre B de données élémentai- res; des moyens propres à répéter sélectivement les opérations a) à j) en appliquant à chaque fois un couple de groupes de mots de M B données élémentaires, jusqu'à n'avoir plus qu'un seul groupe de mots résultant de M B données élémen- taires; ce groupe de mots résultant étant ledit bloc de données résultat condensé. 6 Dispositif selon la revendication 5, caractérisé en ce que la répétition sélective des opérations a) à j) sur la pluralité des groupes de mots de M B données élémentaires s'effectue selon une arborescence binaire inverse. 7 Application du dispositif selon l'une quelconque des revendications 1 à 6 à des dispositifs de certification ou de signature de données numériques.