Brevet FR2677200A1 — publié le 19921204

Dispositif de sécurisation de données numériques L'invention se rapporte au domaine de la sécurisation de données numériques. Elle trouve une application générale dans la protection des données numériques et en particulier dans les opérations telles que l'authentification, le scellement, le chiffrement/déchiffrement, la signature électronique et la génération de codes secrets. On distingue deux grandes familles de moyens de chiffrement : - les moyens de chiffrement à clés asymétriques, et - les moyens de chiffrement à clés symétriques. Les moyens de chiffrement à clés asymétriques tels que ceux utilisant l'algorithme à clé publique RSA, pour "RIVEST, SHAMIR, ADLEMAN" permettent d'assurer certaines des opérations de sécurisation mentionnées ci-avant. Toutefois, de tels dispositifs présentent des inconvénients. En effet, ils requièrent des machines capables d'effectuer des calculs sur des données de 512 bits car en dessous de cette taille, ils ne sont pas considérés comme suffisamment sûrs notamment pour la personnalisation des postes utilisateurs. En outre, le grand nombre d'opérations nécessaires aux diverses opérations de chiffrement rend très lourde la mise en place de tels algorithmes. Les moyens de chiffrement à clés symétriques, tels que ceux utilisant 1'algorithme DES pour "DATA ENCRYPTION STANDARD", permettent d'assurer également la plupart des opérations de sécurisation de données mentionnées ci-avant. Les algorithmes de chiffrement à clés symétriques sont beaucoup plus rapides que les algorithmes à clés asymétriques. Dans les moyens de chiffrement à clés symétriques, on distingue les algorithmes par blocs et les algorithmes par flots. Par exemple, pour une opération d'authentification dans laquelle un serveur veut s'assurer qu'il dialogue avec un utilisateur autorisé, le fonctionnement de l'algorithme à clés symétriques par blocs est le suivant. L'utilisateur exécute l'algorithme de sécurité pour fournir un résultat R qui est fonction des données à sécuriser et de la clé secrète. De son côté, et de façon symétrique, le module de sécurité du serveur effectue un calcul similaire donnant un résultat R'. Le serveur vérifie alors la cohérence du résultat R avec le résultat de son propre calcul R'. Les experts en cryptographie s'accordent à dire que de tels algorithmes ne peuvent être considérés comme suffisamment sûrs si les blocs de données sont de moins de 64 bits. Les algorithmes de chiffrement par flots reposent sur un autre principe qui est à la fois simple et reconnu comme étant le plus sûr. Il s'agit d'ajouter bit à bit une chaîne aléatoire au texte à chiffrer. C'est le moyen par exemple qui est cité comme étant utilisé entre le Kremlin et la Maison Blanche. Toutefois, les algorithmes de chiffrement du type symétrique par flots présentent des inconvénients. En effet, la chaîne aléatoire doit être aussi longue que le texte à chiffrer. Il en résulte des problèmes de transport de la clé de chiffrement. Une solution à ces problèmes consiste à partager entre les deux extrémités une clé secrète courte permettant de générer une suite pseudo-aléatoire. De tels algorithmes de chiffrement existent et utilisent généralement des registres à décalage rebouclés en périodes maximales et combinés par des opérations booléennes. Toutefois, de tels algorithmes de chiffrement sont de mise en oeuvre compliquée. L'invention remédie à ces inconvénients en proposant un dispositif de sécurisation de données numériques permettant notamment d'assurer toutes les opérations de sécurisation mentionnées ciavant en utilisant non plus des algorithmes de chiffrement mais des outils de cryptographie simples, de mise en oeuvre facile, nécessitant un nombre réduit de conditions opératoires et utilisant des instructions élémentaires existant sur la plupart des dispositifs de traitement de données numériques. L'invention a encore pour but de réduire le rôle des clés de chiffrement, celles-ci ne jouant fonctionnellement qu'un rôle identique à celui des données à traiter. Enfin, l'invention a pour but de décliner un mode opératoire en une pluralité de modes opératoires en modifiant un nombre restreint de données d'initialisation. L'invention porte sur un dispositif électronique de traitement de données numériques, comportant - au moins une entrée pour recevoir des données élémentaires à traiter - des moyens de traitement propres à fournir des données de sortie fonction desdites données. Selon la caractéristique principale de l'invention, les moyens de traitement comprennent - des moyens pour former une suite de données à partir des données d'entrée ainsi reçues - des moyens pour mémoriser une quantité initiale - des moyens de calcul propres à effectuer une opération à deux opérandes, non réversible et quasi-aléatoire sur l'ensemble d'arrivée de ladite opération - deux registres d'opérandes et un registre de sortie pour ces moyens de calcul ; et - des moyens de commande propres à décomposer la suite de données en un ensemble de portions qui se recouvrent et qui constituent le premier opérande, ainsi qu'à charger initialement la quantité initiale, et une première portion de la suite de données dans les registres d'opérandes, puis à répondre à chaque apparition du résultat calculé en chargeant celui-ci et une autre portion de la suite de données dans les registres d'opérandes, jusqu'à traiter complètement lesdites portions de la suite de données, la suite des résultats fournissant lesdites données de sortie. Selon une autre caractéristique importante de l'invention, les moyens de calculs opèrent sur nombres entiers modulo p, p étant un entier premier de taille prédéterminée. Selon un mode de réalisation préféré de l'invention, les moyens de calcul comprennent - des premiers sous-moyens de calcul propres à effectuer une première sous-opération sur le premier opérande, la première sousopération constituant une projection du premier opérande sur l'ensemble d'arrivée de la première sous-opération - des seconds sous-moyens de calcul propres à effectuer une seconde sous-opération sur l'ensemble d'arrivée de la première sous-opération et le second opérande, la seconde sous-opération constituant une union de l'ensemble d'arrivée de la première sous-opération et du second opérande ; et - des troisièmes sous-moyens de calcul propres à effectuer une troisième sous-opération sur l'ensemble d'arrivée de la seconde sous-opération, la troisième sous-opération constituant une dispersion sur l'ensemble d'arrivée de la seconde sous-opération. De préférence, la seconde sous-opération constitue une union OU EXCLUSIVE de l'ensemble d'arrivée de la première sous-opération et du second opérande. D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description détaillée ci-après et des dessins annexés dans lesquels - la figure 1 est une vue schématique du dispositif selon l'invention ; - la figure 2 est une vue schématique illustrant la décomposition de la suite de données à traiter en un ensemble de portions qui se recouvrent - la figure 3 est un organigramme illustrant le fonctionnement du dispositif selon l'invention ; - la figure 4 est une vue schématique illustrant l'initialisation du dispositif selon l'invention - la figure 5 est un organigramme illustrant les étapes du traitement de sécurisation des données selon l'invention ; et - la figure 6 est une vue schématique illustrant l'obtention des données de sortie sur 64 bits avec un dispositif travaillant sur des mots de 16 bits selon l'invention. Sur la figure 1, la référence DT désigne le dispositif électronique de traitement de données numériques selon l'invention. Par données numériques, on entend, dans le sens de l'invention toute donnée élémentaire de format quelconque. Comme on le verra plus en détail ci-après, ces données numériques élémentaires peuvent être un message, une clé, un vecteur d'initialisation, une donnée aléatoire ou toute autre donnée quelconque à traiter. Les données élémentaires à traiter Bi, avec i nombre entier variant de 0 à n, sont appliquées à une entrée E10. Des moyens MF vont former une suite de données SD à partir des données d'entrée ainsi appliquées à l'entrée E10. La mise en forme des données en une suite SD résulte par exemple d'une mise bout à bout desdites données d'entrée. Il y a lieu de remarquer que les données d'entrée peuvent provenir de plusieurs sources et être appliquées à plusieurs entrées des moyens MF. Par exemple, les données d'entrée peuvent aussi provenir d'une source délivrant des données formant clé Ki. Dans ce cas, ces données Ki sont appliquées à une entrée Eiî des moyens MF. L'essentiel ici est que les moyens MF forment à partir des données ainsi reçues une suite de données. Une donnée END est appliquée à une entrée E12 des moyens MF pour indiquer au dispositif et en temps utile la fin des données à traiter. Sur la figure 2, on a représenté schématiquement une suite de données SD constituée des données Bi individualisées en BO à B27. Chaque donné Bi possède ici par exemple la valeur 0 ou la valeur 1. En réponse à un signal de commande Cl issu de moyens de commande MCO, la sortie S1 des moyens formant suite de données MF va délivrer un ensemble de portions Pm individualisées en P0 à P3 qui se recouvrent. Sur la figure 2, on a représenté une première portion PO constituée des bits individualisés en BO à B15, c'est-à-dire un double octet. La portion suivante P1 qui se recouvre avec la portion PO est constituée des bits individualisés en B4 à B19. On peut considérer ici que chaque portion Pm constitue une fenêtre F qui a comme longueur ici celle d'un double octet. Bien entendu, la longueur de la fenêtre F peut avoir une valeur différente selon la configuration choisie de l'invention. La zone de recouvrement T entre la portion PO et la portion Pi est ici de 12 bits, c'est-à-dire les données B4 à B15. On peut considérer que cette zone de recouvrement T définit un pas V qui représente la vitesse à laquelle la fenêtre F se déplace le long des données élémentaires à traiter Bi. Dans l'exemple représenté sur la figure 2, le pas V est de 4 bits tandis que la fenêtre F est de 16 bits. Le rapport entre la longueur de la fenêtre F en bits et le pas V en bits détermine le nombre de fois qu'une donnée élémentaire B interviendra dans les calculs qu'on décrira plus en détail ci-après. Selon la caractéristique principale de l'invention, la sécurisation des données est basée sur des moyens de calcul MCA qui sont propres à effectuer une opération à deux opérandes non réversible et quasi-aléatoire sur l'ensemble d'arrivée de ladite opération. La notion de non reversible signifie selon l'invention qu'il est impossible à partir d'une donnée de sortie de retrouver la donnée d'entrée. La notion de quasi-aléatoire sur l'ensemble d'arrivée signifie que la donnée de sortie est répartie quasi-uniformément sur l'ensemble d'arrivée. La sécurisation des données selon l'invention s'effectue de la façon suivante. L'ensemble de portions Pm est appliqué à l'entrée E2 d'un registre d'opérandes 01. En réponse à un signal de commande C2 issu des moyens de commande MCO, la première portion PO de la suite de données Bi est chargée dans l'entrée E3 des moyens de calcul MCA via le registre d'opérandes 01. Simultanément au chargement de PO dans le registre 01 et en réponse à un signal de commande C3 issu des moyens de commande MCO, une quantité initiale RO préalablement stockée dans une mémoire (non représentée) est chargée dans l'entrée E4 des moyens de calcul MCA via un autre registre d'opérandes 02. La quantité initiale RO a ici une taille égale à celle des portions Pm, c'est-à-dire ici 16 bits. En réponse à chaque apparition du résultat intermédiaire Rq avec q entier variant de 1 à n-f/v (où n est le nombre de données Bi à traiter, f la longueur en bits de la fenêtre et v le déplacement en bits de la fenêtre, dans l'exemple représenté en figure 2, q varie de 1 à 3 ) calculé par les moyens de calcul MCA, les moyens de commande MCO délivrent un signal de commande C4 pour que le résultat intermédiaire Rq chargé dans le registre d'opérandes de sortie 03 soit appliqué au second registre d'opérandes 02. Simultanément au chargement du résultat intermédiaire R1 dans le registre 02, la portion P1 de la suite de données SD est chargée dans le registre d'opérandes 01. Les moyens de commande répondent à chaque apparition du résultat calculé Rq en chargeant celui-ci et une autre portion de la suite de données dans les registres d'opérandes 01 et 02. Les différentes étapes ainsi décrites sont répétées jusqu'à traiter complètement lesdites portions Pm de la suite de données Bi. La suite des résultats intermédiaires Rq (ici R2 et R3) apparaissant dans le registre de sortie 03 fournit les données de sortie DS. Ces données de sortie DS constituent par exemple un sceau. L'homme de l'art comprendra que la quantité initiale RO et les résultats intermédiaires Rq (ici R1,R2 et R3) peuvent être considérés comme des données quasi-aléatoires. Ce sont ces données quasialéatoires qui confèrent la qualité de quasi-aléatoire à l'opération de l'invention mentionnée plus avant. L'homme de l'art comprendra aussi ici que l'on obtient ainsi un générateur de données quasi aléatoires qui peut servir pour engendrer des codes secrets ou des listes de clés de chiffrement. Dans l'exemple d'une machine travaillant sur des mots de 32 bits et dont le déplacement V est de 4 bits par itération, il apparaît que chaque donnée élémentaire (bit) intervient dans 8 calculs consécutifs. Il en résulte que chaque quartet (quatre bits) est lié avec les 7 quartets précédents et les 7 suivants. Il est à remarquer que lorsque la longueur de la fenêtre F est égale au pas V de déplacement, tous les bits des données entrent dans le calcul sans dépendance les une par rapport aux autres. En revanche, lorsque la longueur de la fenêtre F est supérieure au pas V, tous les bits entrent dans le calcul et il y a une dépendance des bits les uns par rapport aux autres. Cette dépendance est plus ou moins forte selon la valeur plus ou moins élevée du rapport entre la longueur de la fenêtre et celle du pas. L'homme de l'art comprendra alors que c'est cette dépendance entre les données qui confère la qualité de non interchangeabilité à l'opération mentionnée plus avant. Cette qualité est très importante notamment contre les manipulations frauduleuses sur les données numériques à traiter. Il est maintenant fait référence à la figure 3 qui représente un organigramme illustrant le fonctionnement du dispositif selon l'invention. D'une façon classique, une opération de sécurisation possède trois types de variables : les données à sécuriser, les clés Ki, et le cas échéant les valeurs d'initialisation IV. Selon la principale caractéristique de l'invention, une opération de sécurisation construite selon l'invention est cette fois-ci caractérisée par la suite de données SD et non plus par les trois types de variables mentionnés ci-avant. D'une façon très générale, l'opération de sécurisation selon l'invention se décompose selon les étapes suivantes (figure 3) L'étape 10 appelée initialisation consiste à fabriquer une suite de données SD à partir des données élémentaires à traiter, des valeurs d'initialisation IV et/ou des clés de chiffrement Ki. Plus précisément, la suite de données SD peut se décomposer en trois parties (figure 4) - une première partie, appelée préfixe PR placée en amont de la donnée à sécuriser Bi proprement dite - une seconde partie constituée par les données Bi ; et - une troisième partie SU, appelée suffixe, placée en aval de la donnée à sécuriser. Le préfixe PR et le suffixe SU sont fabriqués par exemple avec des valeurs d'initialisation IV associées à l'environnement du dispositif et à partir le cas échéant de clés de chiffrement. Il y a lieu de remarquer ici que les clés ne sont pas considérées comme étant des données plus fortes que les données à traiter. Bien au contraire, toutes les données participent ici de la même façon à la fabrication de la suite de données SD. L'initialisation de l'opération de sécurisation comprend également le calcul de la quantité initiale RO qui joue le rôle d'une quantité quasi-aléatoire. Par exemple, cette quantité initiale RO résulte du traitement des données formant préfixe PR par le dispositif de sécurisation selon l'invention. Par exemple, les données formant préfixe PR sont traitées comme décrit en référence aux figures 2 et 3, c'est-à-dire tout d'abord subdivisées en un ensemble de portions qui se recouvrent. Sur la figure 4, les références FO et F1 désignent respectivement la position de la fenêtre F en début de traitement et en fin de traitement du préfixe PR. La référence RO désigne la quantité initiale résultant du traitement des données formant préfixe PR. Ainsi l'étape d'initialisation 10 s'achève lorsque toutes les données formant préfixe PR ont été traitées par le dispositif de sécurisation selon l'invention, lorsque la quantité initiale RO est déterminée et lorsque la fenêtre F se trouve devant les données Bi à traiter. La suite de données SD peut aussi ne comprendre que les données Bi à sécuriser. Dans ce cas, l'initialisation se résume à la mise en forme des données en une suite et à la détermination d'une quantité initiale RO. Une fois que l'initialisation 10 est achevée, il est procédé à la restauration 20 du contexte, c'est-à-dire à la remise à la disposition des moyens de calcul des paramètres tels qu'un pointeur exprimé en bits indiquant la position courante de la fenêtre F, la quantité initiale RO et le suffixe SU. La restauration du contexte peut aussi comprendre les paramètres tels que la position ou le nombre de leur intervention, des clés et/ou des valeurs d'initialisation dans la suite de bits. La modification du contexte permet ainsi l'obtention d'une pluralité de modes opératoires à partir des mêmes outils de cryptographie. Une fois que la restauration 20 est effectuée, le calcul cryptographique 30 à 55 sur les données Bi à traiter peut commencer. Une fois que toutes les données Bi sont traitées par les moyens de calcul, il reste aux données formant suffixe SU à être également traitées par ces moyens de calcul. Très avantageusement, le dispositif selon l'invention ne présente aucune contrainte sur les clés et les données à traiter que ce soit en ce qui concerne leur longueur, la force ou la faiblesse des clés et/ou le format des données. Il va maintenant être décrit un exemple d'un mode opératoire de scellement à l'aide d'une machine fonctionnant sur des mots de 32 bits. La longueur de la fenêtre F est par exemple également de 32 bits. Par exemple, la longueur du pas V est de 4 bits. Le résultat du sceau DS sera également par exemple sur 32 bits. Le ratio F/V (soit 32/4=8) donne ici le nombre de fois que chaque quartet intervient dans le calcul. Le fonctionnement d'un tel mode opératoire est le suivant. Le premier appel issu des moyens de commande sert à initialiser le pointeur indiquant la position courante de la fenêtre F et la quantité initiale RO qui servira pour le calcul cryptographique. Les différents résultats intermédiaires Rq qui sont des nombres quasi-aléatoires évoluent à chaque itération de O à p-i. Le nombre premier utilisé p est dans cet exemple choisi préféren tiellement à la valeur 231~1 qui est en fait le plus grand nombre premier pouvant être stocké arithmétiquement dans un registre d'opérandes d'une machine de 32 bits. Il y a lieu de remarquer que pour une longueur de clé quelconque, il est possible d'initialiser le préfixe par la clé et/ou une valeur d'initialisation IV et le suffixe par une partie de la clé et/ou une autre valeur d'initialisation. L'initialisation 10 concerne la formation de la suite de bits et l'initialisation du générateur quasi-aléatoire à la valeur RO. Une fois que l'initialisation 10 est achevée, les moyens de calcul restaurent le contexte (étape 20). Le contexte qui va servir au calcul contient ainsi le pointeur indiquant la position courante de la fenêtre F, la quantité initiale RO et le suffixe. Selon l'étape 30, tant qu'il y a des octets à traiter, la fenêtre F est décalée d'un demi-octet (étape 35), c'est-à-dire du pas V. Selon l'étape 40, il est procédé au calcul de cryptographie proprement dit. Selon l'étape 45, la fenêtre F est à nouveau décalée d'un demioctet (c'est-à-dire du pas V). Selon l'étape 50, il est procédé au calcul de cryptographie proprement dit. Selon l'étape 55, il est procédé à la sauvegarde du résultat du calcul sur l'octet ainsi traité Rq. Une sortie 60 peut permettre de disposer du résultat Rq pour une opération de sécurisation choisie. Une boucle 65 raccordée à la boîte 20 permet d'appliquer le résultat Rq aux autres données à traiter. L'opération de sécurisation continue jusqu'à ce qu'il n'y ait plus d'octets de données à traiter. En réponse à l'instruction END, les octets de suffixe sont traités par le dispositif selon 1 invention d'une façon identique à celle des octets de données. L'étape 70 comporte le traitement des octets de suffixe, la sauvegarde des données de sortie DS et, le cas échéant, la destruction du contexte utilisé par le calcul cryptographique. Conformément à l'invention, le calcul de cryptographie est une opération à deux opérandes, non réversible et quasi-aléatoire sur l'ensemble d'arrivée de ladite opération. Selon l'invention, l'opération peut être décomposée en trois sous-opérations. La première sous-opération SP1 constitue une projection du premier opérande sur l'ensemble d'arrivée de la première sousopération. Le premier opérande est ici constitué de l'ensemble de portions Pm décrit en référence à la figure 2. La seconde sous-opération SP2 constitue une union OU EXCLUSIVE de l'ensemble d'arrivée EA1 de la première sous-opération SP1 et du second opérande. Le second opérande est ici constitué de la quantité initiale RO et des résultats intermédiaires successifs Rq de l'opération. La troisième sous-opération SP3 constitue une dispersion sur l'ensemble d'arrivée de la seconde sous-opération SP2. Par exemple, les moyens de calcul qui effectuent la première sous-opération SP1 effectuent un calcul sur nombres premiers modulo p avec p=231-1. L'homme de l'art comprendra qu'un tel calcul permet de projeter l'ensemble des portions Pm sur l'ensemble d'arrivée EA1 de la première sous-opération SP1. En fait, il s'agit ici d'une réduction modulo p qui se résume à la mise à zéro du bit de poids fort du contenu de la fenêtre. Ici, l'ensemble d'arrivée de la première sous-opération SP1 a une taille de 31 bits. Les moyens de calcul qui effectuent la seconde sous-opération SP2 sont constitués ici de moyens capables de faire une union OU EXCLUSIVE des deux opérandes. Les moyens de calcul qui effectuent la troisième sous-opération vont d'abord élever à la puissance le résultat de la seconde sous-opération SP2 puis effectuer sur le résultat de cette élévation un calcul sur nombre premier modulo p, avec p=231-1. L'homme de l'art comprendra ici que la troisième sous-opération SP3 réalise une dispersion des données sur l'ensemble d'arrivée de la seconde sous-opération SP2. Par exemple, l'élévation à la puissance est ici une élévation au carré. Bien entendu, il est possible d'effectuer un calcul donnant un résultat similaire avec une élévation à la puissance différente du carré. Il est à remarquer que généralement les première et seconde sousopérations SPI et SP2 utilisent seulement une instruction machine. Pour ce qui concerne la troisième sous-opération SP3, celle-ci utilise généralement deux instructions machine. Il en résulte que le calcul de cryptographie proprement dit selon l'invention est seulement ramené dans ce cas à quatre instructions machine. Il est maintenant décrit un autre exemple d'un algorithme de scellement, cette fois-ci avec une machine de 16 bits. La longueur choisie de la fenêtre F est de 16 bits. Le pas choisi V est de 4 bits. Le résultat de l'algorithme de scellement DS est dans cet exemple sur 8 octets soit 4 mots machine. Le calcul sur nombre premier modulo p est effectué sur un p=215-19. L'étape 10 concernant l'initialisation du dispositif comprend la formation de la suite SD, de l'initialisation de la quantité RO et l'initialisation d'une donnée formant rang gs avec gs entier variant de O à 63. Le calcul proprement dit s'effectue de la façon suivante. Tant qu'il y a des octets à traiter, la fenêtre est décalée de 4 bits et il est inséré le demi-octet gauche. Le calcul s'effectue alors sur le contenu des données résultant de ce décalage et de cette insertion. Ensuite, la fenêtre est à nouveau décalée de 4 bits et il est inséré le demi-octet droit. Le calcul est effectué alors sur le contenu des données résultant de ce décalage et de cette insertion. Il y a lieu de remarquer que 1 r insertion demi-octet gauche et l'insertion demi-octet droit résultent d'instructions machine simples appelées poids haut et poids bas. Enfin, tant qu'il y a des octets de données à traiter, il est à nouveau procédé aux étapes mentionnées ci-avant. En réponse à l'instruction END, les octets de suffixe sont traités par le dispositif selon l'invention d'une façon identique à celle des octets de données. L'étape 70 comporte le traitement des octets de suffixe, la sauvegarde des données de sortie DS et, le cas échéant, la destruction du contexte utilisé par le calcul cryptographique. Le résultat obtenu DS forme enfin le sceau des données. Comme dans la machine 32 bits, la machine 16 bits utilise des moyens de calcul aptes à effectuer une opération à deux opérandes non réversible et quasi-aléatoire sur l'ensemble d'arrivée de ladite opération. Dans une machine 16 bits, l'opération peut aussi se décomposer en trois sous-opérations. La première sous-opération est une division par 13 du contenu de la fenêtre. Le reste de la division r est ensuite additionné à une valeur formant rang gs suivant la formule g5 = (gs-1 + r + 1) mod 64. La seconde sous-opération est par exemple l'inversion d'un bit du sceau DS. Ce bit choisi est celui indexé par le rang gs. Enfin, la troisième sous-opération est une dispersion du sceau DS. Par exemple (figure 6), le sceau DS peut être décomposé en quatre mots DS1, DS2, DS3, DS4. Les bits de rang 0 à 15 de DS1 sont les bits de rang 0 à 15 de DS, les bits de rang 0 à 15 de DS2 sont les bits de rang 16 à 31 de DS, les bits de rang 0 à 15 de DS3 sont les bits de rang 32 à 47 de DS et les bits de rang 0 à 15 de DS4 sont les bits de rang 48 à 63 de DS. Ainsi, si le rang gs est inférieur à 16 alors le résultat DS1 est élevé à la puissance suivie d'un calcul sur nombre entier modulo p avec p=215-19. Si le rang gs est inférieur à 32 et supérieur ou égal à 16 par exemple égal à 28 (figure 6), alors le résultat DS2 est élevé à la puissance modulo p (figure 6). Si le rang gs est inférieur à 48 et supérieur ou égal à 32, alors le sceau DS3 est élevé à la puissance modulo p Enfin si le rang gs est supérieur ou égal à 48, alors le sceau DS4 est élevé à la puissance modulo p. L'élévation à la puissance est par exemple au carré. Il est à noter que contrairement à l'exemple 32 bits, la longueur du sceau DS est ici 4 fois plus grande que celle des résultats intermédiaires Rq. Le sceau DS est dont constitué de 4 portions DS1 à DS4. L'indexation selon le rang gs détermine la portion DS1 à DS4 qui va faire l'objet de l'évaluation à la puissance modulo P- Contrairement aux algorithmes classiques où les données formant clés Ki ou vecteurs d'initialisation IV doivent être de formats et de structures déterminés, l'invention se sert de telles données sans contrainte de taille, cela étant possible grâce à 1' étape d' initialisation. Comme décrit plus haut, cette étape fixe la structure de la suite de bits. Ainsi, la suite de bits se forme au fil de l'eau sans nécessité de stockage de l'ensemble de la suite. Avantageusement, il n'y a pas de possibilité de déterminer la suite dans son intégralité et le contexte ainsi formé peut disparaître en fin de traitement normal ou anormal. L'indépendance de l'invention relativement aux clés et aux données permet une totale transparence vis-à-vis de celles-ci. En conséquence, cela permet d'envisager des traitements mémoire jusqu'à présent impensables. Avantageusement, 1 invention fonctionne sur tout dispositif de traitement numérique (8, 16, 32, 64, 128, 512 bits ou tout autre format). Préférentiellement, les dispositifs 8, 32, 128 bits permettent d'utiliser un nombre premier p dit de Mersenne 27-1, 231,1, 2127il qui est le plus grand nombre arithmétique possible dans un mot machine. Cette particularité permet une opération de projection très simple : la mise à zéro du bit de poids fort. Avantageusement, dans cette particularité, la taille de la fenêtre pourrait être respectivement de 7, 31 et 127 bits; l'opération de projection est alors l'opération identité. En cryptographie classique, les outils cryptographiques sont prisonniers des contraintes imposées par l'algorithme relativement aux données et clés. Au contraire, la dépendance des bits selon l'invention permet de s'affranchir des contraintes sur les données et clés. Il en résulte une cryptographie différente, plus libre, dans laquelle l'algorithme de traitement et le mode opératoire sont intégrés pour former un algorithme cryptographique dédié. Très avantageusement, en variant les paramètres, p, Rq, DS, F et V, il est possible de décliner le mode opératoire et d'obtenir des algorithmes cryptographiques dédiés différents. De la même façon, les sous-opérations SP1, SP2 et SP3 peuvent varier. Il est alors créé autant d'algorithmes cryptographiques dédiés différents. Tous autres paramètres et sous-opérations égaux par ailleurs, si l'étape d'initialisation forme une suite de bits différente alors il est créé un nouvel algorithme dédié. Avantageusement, les opérations de projection SP1, d'union SP2 et de dispersion SP3 peuvent être réalisées par des instructions machine élémentaires en nombres réduits apportant des performances inégalées. Bien qu'utilisant des dispositifs de traitement numériques différents, si les paramètres p, Rq, DS, F et V, les sous-opérations SP1, SP2, SP3 ainsi que les étapes d'initialisation et de fin sont fonctionnellement identiques, les algorithmes dédiés donnent le même résultat. Ainsi les dialogues cryptographiques entre dispositifs différents peuvent être réalisés très simplement. Revendications 1. Dispositif électronique de traitement de données numériques, comportant - au moins une entrée (E10) pour recevoir des données élémentaires à traiter (Bi); - des moyens de traitement propres à fournir des données de sortie (DS) fonction desdites données d'entrée (Bi) caractérisé en ce que les moyens de traitement comprennent - des moyens (MF) pour former une suite de données (SD) à partir des données d'entrée ainsi reçues - des moyens pour mémoriser une quantité initiale (RO); - des moyens de calcul (MCA) propres à effectuer une opération à deux opérandes, non reversible et quasi-aléatoire sur l'ensem- ble d'arrivée de ladite opération - deux registres d'opérandes (01,02) et un registre de sortie (03) pour ces moyens de calcul ; et - des moyens de commande (MCO) propres à décomposer la suite de données (SD) en un ensemble de portions (Pm) qui se recouvrent et qui forment le premier opérande, ainsi qu'à charger initialement la quantité initiale (RO), et une première portion (PO) de la suite de données dans les registres d'opérandes (01,02), puis à répondre à chaque apparition du résultat (Rq) calculé en chargeant celui-ci et une autre portion (P1) de la suite de données dans les registres d'opérandes (01 et 02), jusqu'à traiter complètement lesdites portions de la suite de données la suite des résultats fournissant lesdites données de sortie (DS). 2. Dispositif selon la revendication 1, caractérisé en ce que les moyens de calcul (MCA) opèrent sur nombres entiers modulo p, p étant un entier premier de taille prédéterminée. 3. Dispositif selon la revendication 1 ou la revendication 2, ca ractérisé en ce que les moyens de calcul (MCA) comprennent - des premiers sous-moyens de calcul propres à effectuer une première sous-opération (SP1) sur le premier opérande, la première sous-opération constituant une projection du premier opérande sur l'ensemble d'arrivée (EA1) de la première sous-opération (SP1) - des seconds sous-moyens de calcul propres à effectuer une seconde sous-opération (SP2) sur l'ensemble d'arrivée (EA1) de la première sous-opération (SP1) et le second opérande, la seconde sous-opération (SP2) constituant une union de l'ensemble d'arrivée (EA1) de la première sous-opération et du second opérande ; et - des troisièmes sous-moyens de calcul propres à effectuer une troisième sous-opération (SP3) sur l'ensemble d'arrivée (EA1) de la seconde sous-opération (SP2), la troisième sous-opération (SP3) constituant une dispersion sur l'ensemble d'arrivée de la seconde sous-opération (SP2). 4. Dispositif selon la revendication 3, caractérisé en ce que la seconde sous-opération (SP2) constitue une union OUEXCLUSIVE de l'ensemble d'arrivée (ER1) de la première sous-opération (SP1) et du second opérande. 5. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la taille des premier et second opérandes est quelconque. 6. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la taille des premier et second opérandes est de 16 bits. 7. Dispositif selon la revendication 6, caractérisé en ce que les premiers sous-moyens de calcul effectuent une division par un nombre premier (C) choisi en fonction de la taille des données de sortie du premier opérande, le reste (r) de la division étant additionné à une donnée formant rang (gs) en ce que les seconds moyens de calcul effectuent une inversion d'un bit choisi du résultat de la division par le nombre premier (C), le bit étant choisi en fonction de la donnée formant rang (gs) ; et en ce que les troisièmes sous-moyen de calcul effectuent une élévation à la puissance modulo p d'une partie choisie du résultat de la division en fonction de la donnée formant rang (gs). 8. Dispositif selon la revendication 7, caractérisé en ce que le nombre premier (C) est égal à 13 lorsque les données de sortie sont de 64 bits. 9. Dispositif selon l'une quelconque des revendications 1 à 5, caractérisé en ce que la taille du premier opérande est de 32 bits. 10. Dispositif selon la revendication 9, caractérisé en ce que les premiers sous-moyens de calcul effectuent une première sous-opération (SP1) sur le premier opérande modulo p en ce que les seconds sous-moyens de calcul effectuent une somme OU EXCLUSIVE de l'ensemble d'arrivée (EA1) de la première sousopération (SP1) et du second opérande ; et en ce que les troisièmes sous-moyens de calcul effectuent une élévation à la puissance de l'ensemble d'arrivée de la seconde sous-opération modulo p. 11. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la suite de données (SD) comprend en outre des données choisies (IV) associées à l'initialisation du dispositif. 12. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la suite des données (SD) comprend en outre des données cryptographiques telles que des clés. 13. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la suite des données (SD) comprend en outre des données aléatoires.