Brevet FR2868628A1 — publié le 20051007

GENERATEUR DE NOMBRES ALEATOIRES ET PROCEDE DE PRODUCTION DE NOMBRES ALEATOIRES La présente invention se rapporte aux générateurs de nombres pseudoaléatoires et en particulier à des générateurs de nombres pseudoaléatoires appropriés pour les générateurs de clés dans un cryptage par bus. Un générateur de nombres aléatoires bien connu est illustré à la Figure 12. Le générateur de nombres pseudo-aléatoires de la Figure 12, qui est désigné aussi comme étant un registre de décalage à réaction linéaire, comprend une pluralité d'éléments 51, 52, 53, 54 de mémoire qui, à la Figure 12, sont numérotés de 0 à n. Les cellules de mémoire peuvent être initialisées à une valeur de début par des moyens 55 d'initialisation. Les cellules 51 à 54 de mémoire, prises ensemble, forment un moyen de charge vers l'avant, tandis que le registre de décalage linéaire formé par les cellules 51 à 54 de mémoire est chargé vers l'arrière par des moyens de réaction couplés entre une sortie 56 du circuit et la cellule n de mémoire. Les moyens de réaction comprennent, en particulier, un ou plusieurs moyens 57, 58 de combinaison alimentés par des branches 59a, 59b, 59c respectives de réaction, comme cela est illustré à titre d'exemple à la Figure 12. La valeur de sortie du dernier moyen 58 de combinaison est envoyée à la cellule n de mémoire qui, à la Figure 12, est désignée par 54. Le registre à décalage de réaction linéaire illustré à la Figure 12 est mis en fonctionnement par une horloge, de sorte que dans chaque cycle d'horloge l'occupation des cellules de mémoire est décalée d'un pas, en se reportant à la Figure 12, vers la gauche, de sorte que dans chaque cycle d'horloge l'état mémorisé dans les moyens 51 de mémoire peut être sorti sous la forme d'un nombre, alors que dans le même temps la valeur à la sortie des derniers moyens 58 de combinaison est envoyée dans la première unité n de mémoire de la séquence d'unités de mémoire. Le registre à décalage à réaction linéaire illustré à la Figure 12 fournit ainsi une séquence de nombres en réponse à une séquence de cycles d'horloge. La séquence de nombres obtenue à la sortie 56 dépend de l'état initial produit par les moyens 55 d'initialisation avant de mettre en fonctionnement le registre à décalage. La valeur de début d'entrée par les moyens 55 d'initialisation est dénommée aussi germe, et c'est pourquoi des agencements tels qu'illustrés à la Figure 12 sont dénommés aussi générateurs à germes. La séquence de nombres obtenue à la sortie 56 est appelée une séquence pseudo-aléatoire de nombres puisque les nombres se suivent io apparemment les uns les autres d'une manière aléatoire, mais dans l'ensemble sont périodiquement les mêmes, même si la durée de la période est grande. En outre, la séquence de nombres peut être répétée d'une manière unique et a ainsi une nature pseudo-aléatoire lorsque la valeur d'initialisation envoyée aux éléments de mémoire par les moyens 55 d'initialisation est connue. On emploie des registres à décalage de ce genre, par exemple, en tant que générateurs d'un train servant de clé pour fournir un train de clés de cryptage/décryptage dépendant d'une valeur spéciale d'initialisation (germe). Des registres à décalage de ce genre illustrés à la Figure 12 ont l'inconvénient d'une petite complexité linéaire. Avec un LFSR à n-bits (LFSR = registre à décalage à réaction linéaire), par exemple, 2 n bits de la séquence de sortie suffisent pour calculer toute la séquence. L'avantage de LFSR de ce genre illustrés à la Figure 12 est, toutefois, que la complexité en matériel est très petite. En outre, ce sont des LFSR cadencés irrégulièrement. Ils sont d'une complexité en matériel quelque peu accrue ayant une période le plus souvent assez petite. Mais la complexité linéaire peut être augmentée considérablement. Un inconvénient de dispositifs cadencés de manière irrégulière de ce genre réside, toutefois, dans le fait qu'en raison du cadencement irrégulier, la séquence de sortie peut être dérivée en principe en mesurant le courant en utilisant une SPA (SPA = analyse simple de puissance). En utilisant les dispositifs à registre à décalage comme parties de générateurs de clés qui produisent des données à maintenir secrètes d'une manière inhérente, c'est-à-dire des données de clés, il est particulièrement important qu'ils soient sûrs en étant à l'abri de toute attaque cryptographique. Mais, d'autre part, on exige de ces dispositifs, en particulier lorsqu'ils sont mis sur des cartes à puce, que la complexité en matériel soit petite. Autrement dit, la surface de la puce que des dispositifs de ce genre occupent doit être aussi petite que possible. Cela est dû au fait que, dans la fabrication des semi-conducteurs, la surface de puce de tout un dispositif détermine finalement le prix et ainsi la marge de profit du producteur de puces. En outre, une spécification, en particulier dans des cartes à puce, est par exemple de déterminer une surface maximum en millimètres carrés qu'une puce de processeur peut comprendre, surface sur laquelle doivent être placées des fonctionnalités des types les plus différents. C'est donc le but du io producteur de circuits que de répartir cette surface précieuse entre les composants individuels. Pour ce qui concerne des algorithmes cryptographiques, qui deviennent de plus en plus complexes, les fabricants de puces font des efforts pour que la puce ait une capacité de stockage aussi grande que possible pour être à même de calculer des algorithmes requérant beaucoup de mémoire de travail en un temps raisonnable. La surface de puce des générateurs de clés et d'autres composants de ce type doivent être ainsi maintenus aussi petits que possible afin d'être à même de loger une plus grande capacité de mémoire sur la surface de puce donnée. L'exigence générale pour des générateurs de clés ou des dispositifs pour engendrer une séquence pseudo-aléatoire de nombres est ainsi, d'une part, d'être sûrs et, d'autre part, d'exiger le plus petit espace possible, c'est-à-dire de rendre possible la complexité en matériel la plus petite possible. Des générateurs de nombres aléatoires peuvent être utilisés, par exemple, pour le cryptage par bus. On se reportera, à cet égard, à la Figure 13 représentant un concept habituel de cryptage par bus. Au début d'un bus, un bit m; à transférer par le bus doit être crypté en vue de sa protection tout en étant transmis sur la ligne de bus. A la fin du bus, le bit crypté doit être retransformé en le bit non crypté afin que le bit m; puisse être traité davantage. Le début du bus peut être, par exemple, la sortie d'un processeur, tandis que la fin du bus peut être l'entrée dans une mémoire dans laquelle le bit est typiquement recrypté en un type "plus dur" de cryptage pour être finalement mémorisé dans la mémoire. En variante, le début du bus peut être aussi une interface de sortie de mémoire et la fin du bus peut être une entrée d'un processeur. En fait en général l'hypothèse que des bits transmis sur les lignes de bits y sont particulièrement en danger, de sorte qu'on y emploie un cryptage par bits. Une porte OU EXCLUSIF comprenant un bus m; de message à crypter à sa première entrée et comprenant un bit k; de clé à sa deuxième entrée, qui est engendrée typiquement par un générateur de nombres aléatoires, est utilisée comme moyen typique de cryptage. Typiquement, la séquence temporelle des bits k; de clé, ; étant l'indice temps, est une séquence de nombres pseudo-aléatoires, c'est-à-dire une séquence de nombres ressemblant à une séquence de nombres aléatoires qui, io toutefois, est déterministe en ce qu'elle peut être reproduite. Des générateurs typiques de nombres aléatoires sont, comme on l'expliquera ultérieurement, des registres à décalage à réaction produisant, à partir d'un état de début défini (germe), une séquence de sortie définie ayant une certaine durée de période. Dans le cryptage par bus tel que représenté à la Figure 13, on utilise le même générateur de séquences de clés ayant un agencement identique au début et à la fin du but, les générateurs de séquences de clés - à l'exception d'un retard qui peut souvent être négligé, dont souffre le bit c; en raison du transfert par l'intermédiaire d'un bus d'une certaine longueur - fonctionnant en synchronisme. Jusqu'à maintenant, on a utilisé un générateur de séquences de clés comme registre à décalage. Comme un bus est fait de plusieurs lignes de bus, telles que par exemple de 32 lignes de bus, chaque ligne de bus doit être munie d'une séquence de clés. On peut résoudre ce problème en prévoyant une cellule de mémoire dans un registre à décalage à réaction pour chaque ligne de bus et en envoyant l'état de chaque cellule de mémoire, considérée en fonction du temps, à l'entrée de cryptage des moyens de cryptage de bus/moyens de décryptage de bus. Cela signifie que, par exemple, l'état de la septième cellule de mémoire, en fonction du temps, sert de séquence de clés pour crypter la huitième ligne de bus, et que, par exemple, l'état de la sixième cellule de mémoire, en fonction du temps, sert de séquence de clés pour crypter la septième ligne de bus, etc. Chaque cellule du registre à décalage sera ainsi une sortie, cette séquence de sortie étant ensuite utilisée pour crypter une ligne de bus 35 correspondante. Mais cela signifie que la même séquence de clés est fondamentalement toujours utilisée pour crypter toutes les lignes de bus, puisque les séquences de clés individuelles sont seulement des versions décalées d'une seule et même séquence de registres à décalage. Du point de vue de la sécurité, cela est bien entendu un inconvénient en ce que l'agresseur, une fois qu'il a établi une séquence de clés, obtiendra automatiquement toutes les autres séquences de clés, parmi lesquelles les autres lignes de bits sont cryptées, à l'aide de cette unique séquence de clés par décalage temporel. io Un autre inconvénient est qu'il faut fournir des registres à décalage comprenant autant de cellules qu'il y a de lignes de bus. En conséquence, un registre à décalage ayant au moins 32 cellules de registre à décalage est nécessaire pour un bus d'une largeur de 32 bits. En résumé, le concept décrit a l'inconvénient que la sécurité du cryptage est déterminante parce que toutes les lignes de bus sont cryptées par la même séquence, seulement décalée temporellement, et en ce qu'en outre il y a un problème d'efficacité pour ce qui concerne la consommation de la surface de puce puisqu'il faut au moins autant de cellules de mémoire qu'il y a de lignes de bus. En particulier pour ce qui concerne la consommation de la surface de puce, il faut mentionner qu'il y a un facteur de coût considérable pour des produits offerts en grand nombre. Mis à part le facteur coût, il y a d'autres restrictions à la consommation de la surface de puce, en particulier pour des applications de cartes à puce, puisque la dimension d'une puce est déterminée à l'avance par l'utilisateur, c'est-à-dire par le fabricant de cartes à puce. Typiquement, le fabricant de cartes à puce a la possibilité de diviser la surface de puce disponible suivant ce qu'il exige pour des éléments logiques, des éléments de mémoire, etc. En raison de grandes performances de calcul, la plus grande partie possible est ainsi requise pour une mémoire de travail et la puissance de calcul, de sorte que des économies de surface sur tout élément, tel que par exemple un générateur de nombres pseudo-aléatoires à registre à décalage, sont d'une grande importance pour satisfaire au critère global de la surface de puce. La présente invention vise une manière sûre et efficace de produire des nombres aléatoires. On y parvient par un générateur de nombres aléatoires, caractérisé en ce qu'il comprend: une pluralité de cellules de mémoire montées en série; des moyens de réaction pour engendrer un signal de réaction et pour envoyer le signal de réaction dans l'une des cellules de mémoire; et des moyens de sortie de nombres aléatoires formés pour combiner des états d'un groupe d'au moins deux cellules de mémoire pour obtenir une séquence de sortie. L'invention vise aussi un procédé de production de nombres aléatoires par un générateur de nombres aléatoires w comprenant une pluralité de cellules de mémoire montées en série et des moyens de réaction pour engendrer un signal de réaction et pour envoyer le signal de réaction dans l'une des cellules de mémoire, caractérisé en ce qu'il comprend le stade de: combinaison des états d'un groupe d'au moins deux cellules de mémoire pour obtenir une séquence de sortie; ou un programme informatique pour effectuer le procédé suivant l'invention lorsque le programme informatique passe sur un ordinateur. La présente invention repose sur le fait que les séquences de sortie de cellules de mémoire ne doivent pas être utilisées pour un cryptage par bus sous une forme "telles qu'elles sont" mais que des séquences de sortie d'un groupe d'au moins deux cellules de mémoire doivent être combinées de manière à former une séquence de sortie constituée d'une séquence d'au moins deux séquences de sortie (décalées dans le temps) des deux cellules de mémoire. En outre, si une autre séquence de sortie est engendrée en combinant deux cellules de mémoire différentes ou par une autre combinaison des mêmes cellules de mémoire, les deux séquences de sortie obtenues ne seront pas deux séquences décalées dans le temps l'une par rapport à l'autre mais sinon identiques, mais seront aussi des séquences pseudo-aléatoires différant significativement l'une de l'autre. Si un agresseur trouve, dans ce cas, une séquence de clés pour une ligne de bits, il ne sera en aucune façon à même de décrypter toutes les autres lignes de bits, parce qu'il ne connaît pas les états de cellules de mémoire d'origine à partir desquelles la séquence a été engendrée et les moyens de combinaison qui ont été utilisés. Un agresseur ne peut ainsi plus déduire d'autres séquences déchiffrées d'une séquence déchiffrée par un simple décalage dans le temps, comme c'était le cas jusqu'ici, mais aura à trouver quelles cellules de mémoire ont été combinées et comment elles ont été combinées. Comme il y a de nombreuses possibilités de combinaisons pour un système de portes logiques, ce "traçage" pour décrypter une deuxième 5 séquence de sortie est arbitrairement compliqué s'il doit s'effectuer sur la base d'une première séquence de sortie décryptée. En outre, l'invention est significativement plus efficace puisque le nombre de cellules de mémoire n'a pas à être égal au nombre de lignes de bus, mais puisque le nombre de cellules de mémoire peut être plus petit que lo le nombre de lignes de bus. C'est ainsi, par exemple, qu'un bus de huit lignes de bus d'un registre à décalage peut être alimenté facilement par seulement cinq cellules de mémoire. Cela, comparé à la technique antérieure où il fallait huit cellules de mémoire pour huit lignes de bus, signifie que l'on fait l'économie de trois cellules de mémoire, les huit séquences de sortie engendrées différant en outre l'une de l'autre d'une manière significative et n'étant pas, comme c'est le cas dans la technique antérieure, des versions décalées dans le temps de la même séquence de registres à décalage. Suivant l'invention, des séquences de sortie des cellules du registre à décalage périodique au maximum de préférence non linéaire ne sont pas utilisées directement pour le cryptage par bus, mais quelques-unes de ces séquences de sortie sont additionnées les unes aux autres (terme à terme, modulo 2) et les séquences de sommes ainsi formées sont ensuite utilisées pour le cryptage par bus. On notera que les séquences de sommes ont, dans des conditions dont on peut se rendre maître absolument, par exemple lorsque le nombre des cellules de registre à décalage est un nombre premier, une période maximum, une complexité linéaire maximum, une relation zéro-1 équilibrée et une plus grande complexité polynomiale. En outre, il est maintenant possible d'alimenter par exemple un bus d'une largeur de 32 bits, par exemple, par un seul registre à décalage ayant seulement 11 cellules, de sorte que chacune des 32 lignes de bits reçoit sa propre séquence de cryptages et que deux séquences de cryptages ne soient pas des versions décalées l'une de l'autre. On peut gagner du matériel dans ce cas parce que, dans des systèmes de bus typiques, ce générateur de nombres aléatoires sera non seulement présent en une position unique mais, par exemple, dix fois ou même plus souvent en des positions différentes, sous une forme identique, dans un système de bus de processeur. De préférence, le générateur de nombres aléatoires est caractérisé en ce que: - les moyens de sortie de nombres aléatoires sont formés pour combiner des états d'un deuxième groupe de cellules de mémoire pour obtenir une deuxième séquence de sortie, le deuxième groupe différant du premier groupe; - les moyens de sortie de nombres aléatoires sont formés pour io combiner des états du groupe d'au moins deux cellules de mémoire suivant une première règle de combinaison pour obtenir la séquence de sortie, et pour combiner supplémentairement les états du groupe de cellules de mémoire suivant une deuxième règle de combinaison, la deuxième règle de combinaison différant de la première règle de combinaison; - il est prévu un nombre N de cellules de mémoire; et les moyens de sortie de nombres aléatoires sont formés pour engendrer un nombre M de séquences de sortie, le nombre M étant supérieur au nombre N, les M séquences de sortie différant les unes des autres en raison de groupes sous-jacents de cellules de mémoire ou en raison des règles de combinaison sous-jacentes; - les moyens de réaction comprennent une caractéristique de réaction non linéaire; - les moyens de réaction comprennent au moins une porte ET pour des états de combinaison ET de deux des cellules de mémoire, ou les moyens de réaction comprennent au moins une porte OU EXCLUSIF pour des états de combinaison OU EXCLUSIF de deux des cellules de mémoire; - il comprend des moyens de cadencement pour cadencer les cellules de mémoire, de façon à ce que, dans une cadence, un état d'une cellule de mémoire disposée en aval dans une direction de traitement est chargé dans une cellule de mémoire disposée en amont dans la direction de traitement, de façon à ce qu'une séquence d'états de cellule de mémoire donne une sortie d'une cellule de mémoire en réponse à une séquence d'impulsions de cadence; - les moyens de réaction sont couplés à la pluralité de cellules 35 de mémoire, de façon à ce que les moyens de réaction contiennent un état d'une cellule de mémoire disposée en amont dans la direction de traitement en tant qu'entrée et envoient le signal de réaction dans une cellule de mémoire disposée en aval dans la direction de traitement; - un registre de décalage est formé par la pluralité des cellules 5 de mémoire et les moyens de réaction sont non linéaires et sont formés pour engendrer des séquences périodiques au maximum; - le nombre de cellules de mémoire est un nombre premier; - les moyens de sortie des nombres aléatoires comprend au moins une porte logique pour combiner des états d'un groupe de cellules de lo mémoire; - les moyens de sortie de nombres aléatoires sont formés pour effectuer une addition modulo 2 avec des états des cellules de mémoire d'un groupe de cellules de mémoire; - les moyens de sortie de nombres aléatoires comprennent une 15 porte OU EXCLUSIF pour combiner des états de cellules de mémoire dans un groupe; - les moyens de réaction comprennent: des premiers moyens de combinaison pour combiner des états de cellules de mémoire pour obtenir une première caractéristique de réaction; des deuxièmes moyens de combinaison pour combiner des états de cellules de mémoire pour obtenir une deuxième caractéristique de réaction; et un commutateur pour activer la première caractéristique de réaction dans un premier état de commutation et pour activer la deuxième caractéristique de réaction dans un deuxième état de commutation, cette commutation comprenant une entrée de commande pour recevoir un signal de commande d'une commande extérieure, et le commutateur étant formé pour être mis en le premier ou en le deuxième état de commutation en réponse au signal de commande; - le signal de commande comprend une durée de période de commande, et le générateur de nombres aléatoires comprend en outre: des moyens de cadencement pour cadencer la pluralité de cellules de mémoire montées en série par une horloge ayant une durée de période cadence, la durée de période de cadence étant plus petite que la durée de période de commande. io L'invention vise aussi un dispositif de cryptage à bus, caractérisé en ce qu'il comprend: un bus ayant un nombre N de lignes parallèles de bus; pour chaque ligne de bus, des moyens de cryptage ou de décryptage pour crypter ou décrypter un signal sur la ligne de bus en utilisant une clé pour la ligne de bus; et un générateur de nombres aléatoires ayant une pluralité de cellules de mémoire montées en série, des moyens de réaction pour engendrer un signal de réaction et pour envoyer le signal de réaction à l'une io des cellules de mémoire, et des moyens de sortie de nombres aléatoires, les moyens de sortie de nombres aléatoires étant formés pour engendrer une séquence de sortie pour chaque ligne de bus en combinant des états d'un groupe de cellules de mémoire et pour l'envoyer à des moyens de décryptage ou de cryptage pour la ligne de bus, des moyens de sortie de nombres aléatoires étant formés de façon à ce qu'un groupe de cellules de mémoire différant d'un groupe de cellules de mémoire prévu pour une autre ligne de bus soit prévu pour chaque ligne de bus. Des modes de réalisation préférés de la présente invention seront maintenant détaillés en se reportant au dessin annexé dans lequel: la Figure 1 la Figure 2a la Figure 2b la Figure 3 la Figure 4 la Figure 5a est un schéma fonctionnel de circuit d'un générateur de nombres aléatoires suivant l'invention; est un schéma fonctionnel de circuit d'un composant des moyens de sortie de nombres aléatoires suivant un mode de réalisation préféré de la présente invention; représente un schéma généralisé fonctionnel de circuit d'une variante des moyens de sortie de nombres aléatoires suivant un mode de réalisation préféré de la présente invention; représente un schéma fonctionnel de circuit d'un mode de réalisation préféré d'un générateur de nombres aléatoires ayant une fonction de réaction non linéaire commutable; représente un générateur de nombres aléatoires suivant un invention dans le contexte bus bien connu sur mode de réalisation de la présente d'un cryptage par bus; illustre le principe d'un cryptage par l'exemple d'une ligne de bus unique; Il la Figure 5b illustre le principe d'un cryptage par bus bien connu sur l'exemple de plusieurs lignes de bus; la Figure 6 représente une configuration préférée d'un registre à décalage élémentaire ayant une réaction non linéaire; la Figure 7 représente une variante de configuration d'un registre à décalage élémentaire ayant une réaction non linéaire; la Figure 8 représente une variation de configuration pour un registre à décalage élémentaire ayant une réaction non linéaire la Figure 9 représente une variante de configuration pour un registre à io décalage élémentaire ayant une caractéristique de réaction non linéaire; la Figure 10 représente une configuration exemplaire pour un registre à décalage élémentaire ayant une réaction non linéaire la Figure 11 est une représentation générale d'un registre à décalage élémentaire ayant des cellules de mémoire dans des moyens de charge vers l'avant et une fonction F de réaction; la Figure 12 représente un registre à décalage linéaire bien connu pour engendrer une séquence de nombres aléatoires; et la Figure 13 représente une suite de principes d'un cryptage par bus. Avant d'expliquer plus en détail des modes de réalisation préférés de la présente invention en se reportant aux Figures 1 à 4, on illustrera à nouveau, en se reportant aux Figures 5a et 5b, les concepts connus pour ce qui concerne les problèmes de sécurité et pour ce qui concerne les problèmes d'efficacité. La Figure 5a représente une séquence de cellules Do, DI, D2, ..., D5 de mémoire et des moyens 500 de cryptage par bus qui, dans ce mode de réalisation, sont formés d'une porte OU EXCLUSIF. Il importe peu ici que le bit d'entrée sur la ligne à gauche de-la porte 500 OU EXCLUSIF soit un bit crypté ou un bit non crypté. Si c'est un bit non crypté, la porte 500 sera une unité de cryptage. Mais si le bit est un bit crypté, la porte 500 sera un moyen de décryptage auquel l'état de la cellule D3 de mémoire, considérée en fonction du temps, est envoyé à l'entrée 502 de clé pour faire que la séquence 502 de clés ait le bit sous une forme cryptée ou décryptée, comme il est souhaité, à la sortie des moyens 500. Si l'on a besoin de différentes lignes de bus, telles que par 35 exemple huit lignes 524 de bus, le concept représenté à la Figure 5b peut être utilisé en ayant plusieurs lignes de bus pour limiter le cryptage, telles que par exemple l'unité 508 de cryptage pour la huitième ligne de bus, chaque unité 500, 508 de cryptage comprenant ses propres lignes 502, 504 de cryptage. Le registre à décalage représenté à la Figure 5b comprend huit cellules de registre à décalage et une unité 8 de réaction comprenant typiquement un polynôme linéaire de réaction. Si le registre à décalage représenté à la Figure 5b engendre ainsi la séquence oo = ko, k1, k2, k3, ... à la sortie de la cellule Do de mémoire, la cellule d1 de mémoire en aval de la cellule Do de mémoire engendrera une lo séquence de registres à décalage décalée dans le temps de k_1, ko, k1, k2, ... La séquence de sortie de la cellule d1 de mémoire est ainsi une version, décalée d'un bit, de la séquence de sortie de la cellule Do de mémoire, de sorte que les séquences individuelles de clés peuvent être dérivées les unes des autres facilement pour crypter les lignes de bus individuelles. Afin de pallier ces inconvénients, on utilise l'invention telle qu'illustrée à la Figure 1. La Figure 1 représente un générateur de nombres aléatoires comprenant une pluralité de cellules 100, 101, 102, 103, 104 de mémoire montées en série, la direction de traitement étant telle que représentée à la Figure 1 par les flèches. Ainsi, la cellule 103 de mémoire est en aval de la cellule 104 de mémoire mais en amont de la cellule 102 de mémoire. Il est prévu, en outre, des moyens 105 de réaction, les moyens de réaction servant à engendrer un signal de réaction engendré et sorti et envoyé à la cellule 104 de mémoire du côté droit des moyens 105 de réaction. Le générateur de nombres aléatoires suivant l'invention est caractérisé par des moyens 106 de sortie de nombres aléatoires formés pour combiner des états d'un groupe d'au moins deux cellules de mémoire pour obtenir une ou plusieurs séquences AFo, AF1, AF2, ... de sortie. Une version à titre d'exemple des moyens 106 de sortie de nombres aléatoires est donnée, par exemple, à la Figure 2a. Les séquences de sortie provenant des états successifs dans le temps de cellules D4 et D3 de mémoire sont combinées par une porte OU EXCLUSIF pour engendrer laséquence Af; de sortie envoyée à l'unité 500 de cryptage par bus pour crypter un bit de texte en clair vers la gauche de l'unité 500 de cryptage, pour être à même de le transmettre aux lignes de bus. Mais si le bit à traiter est un bit crypté, les moyens 500 seront des moyens de décryptage et la séquence Af; de clés servira à décrypter un bit ayant été crypté par une séquence Af; identique, disposée et engendrée ailleurs sur la puce. La Figure 2b représente une variante des moyens 106 de nombres aléatoires dans laquelle le groupe de cellules de mémoire dont les états sont combinés ne comprend plus les cellules D4 et D3 de mémoire mais, contrairement à la Figure 2a, comprend maintenant les cellules D2, D3 et D5 de mémoire. A nouveau, les moyens de combinaison dans les moyens de sortie de nombres aléatoires sont formés sous la forme d'une porte OU EXCLUSIF qui maintenant, contrairement à la Figure 2a, a trois entrées. II faut mentionner que toutes combinaisons qui n'ont pas besoin d'être des portes OU EXCLUSIF mais peuvent comprendre aussi toutes les autres portes logiques, telles que par exemple des portes ET, des portes NON ET, des portes OU, des portes NON OU, des portes NON OU EXCLUSIF, etc., peuvent être utilisées comme moyens de combinaison pour autant que les séquences de sortie d'au moins deux cellules de mémoire sont combinées d'une façon quelconque pour engendrer une séquence de sortie combinée. On préfère en outre, pour ce qui concerne la grande sécurité du générateur de nombres aléatoires suivant l'invention, prévoir plusieurs séquences de sortie qui diffèrent les unes des autres et qui ne se déduisent pas par un décalage temporel d'une seule et même séquence de registres à décalage. Cela est obtenu en combinant, comme représenté aux Figures 2a et 2b, des groupes différents de cellules de mémoire pour ce qui concerne leurs séquences de sortie. On peut obtenir aussi des séquences de sortie différentes par une combinaison différente. Une deuxième séquence At de sortie pourrait, par exemple, ensemble avec le circuit représenté à la Figure 2a, être utilisée pour engendrer une séquence Af;+l de sortie dans laquelle les séquences d'états des cellules D4 et D3 de mémoire ne sont pas combinées par une opération OU EXCLUSIF mais, par exemple, par une opération ET. Un NON OU EXCLUSIF, etc. pourrait bien entendu être utilisé au lieu d'un OU EXCLUSIF. De préférence, les moyens 106 de sortie, tels qu'ils sont illustrés à la Figure 1, sont formés pour engendrer toutes les séquences AFo, ..., AFk, de sortie, de façon à ce que toutes les séquences diffèrent les unes des autres en ce que soit le groupe des cellules de mémoire à partir duquel la séquence de sortie est formée par combinaison est différent de chaque séquence de sortie et/ou par le fait que la règle de combinaison par laquelle les séquences d'états d'un groupe de cellules de mémoire sont combinées est différente pour des séquences de sortie différentes. En outre, l'invention est avantageuse en ce que le nombre de séquences AFk de sortie peut, comme cela est représenté aussi à la Figure 1, être considérablement plus grand que le nombre des cellules de mémoire, ce qui n'est pas le cas dans la technique antérieure donnée à titre de comparaison et représentée à la Figure 5b. L'inconvénient d'utiliser fondamentalement la même séquence pour crypter les lignes de bus individuelles est évité suivant l'invention, comme cela sera expliqué ci-après. Un registre à décalage à réaction ayant N cellules Do, D1, ..., Dn_1 1s sera pris en considération. En outre, ao est la séquence de sortie de la cellule Do en avant. a1 est la séquence de sortie de la deuxième cellule D1, ..., et aN_1 est la séquence de sortie de la dernière cellule DN_1. On préfère, en outre, que le registre à décalage de base ne soit pas linéaire, c'est-à-dire avoir des moyens de réaction non linéaires, et qu'il soit à même d'engendrer une séquence périodique maximum, dans laquelle la période est égale à 2N-1. Dans ce cas, toutes les séquences ao, a1, ..., aN_1 auront la longueur 2N-1 de période maximum avec possibilité de montrer que les séquences ont toutes la même complexité linéaire. La complexité linéaire peut avoir la valeur 2N-2 mais sera toujours au moins de 2N-1. On notera que les séquences a1, ..., 6N_1 sont seulement des versions décalées de la séquence ao. On peut obtenir des séquences vraiment différentes lorsque les séquences ao, a1, ..., 6N_1 individuelles sont, par exemple, ajoutées, telles que par exemple ao+a1 ou 62+65+67, etc. Un mode de réalisation de l'addition est l'addition terme par terme modulo 2. Cela a la signification suivante: a1 = 0011010... et 66 = 1011100..., donne pour l'addition modulo 2 de a1 et 66 = 100110... Afin de rendre les séquences de sortie, dans le cas d'une addition modulo 2, très différentes l'une de l'autre, on préfère que le registre à 35 décalage de base ait une réaction non linéaire. Dans ce cas, l'addition fournira des séquences complètement nouvelles. On préfère ainsi que le cryptage de bus soit basé sur des registres à décalage non linéaire. On expliquera ci-dessous pourquoi des séquences engendrées par des additions ont des caractéristiques favorables. On fait l'hypothèse que ao, 61, ..., 6N_1 sont des séquences de sortie d'un registre à décalage non linéaire qui peut engendrer des séquences d'une période maximum, c'est-àdire de la période 2N-1. Les séquences ao, a1, ..., aN_1 ont chacune la période de 2N"1. On fait l'hypothèse que L est la complexité linéaire de ao, de sorte que L sera aussi la complexité linéaire de a1, a2, ..., CN_1. Si N est un nombre lo premier, c'est-à-dire le nombre de cellules du registre à décalage de base est un nombre premier, on a ce qui suit: Chaque séquence i provenant d'une addition de séquences de {ao, 61, ..., a"_1} aura toujours une longueur 2N"1 de période et une complexité L linéaire. En outre, presque le même nombre de zéros et de uns existeront dans une période complète de t. Plus précisément, il y a 2N"1-1 zéros et 2N-1 uns. Ce qui suit s'applique pour l'exemple de N = 7: ao, 61, ..., as ont une période de 27-1 = 127 et une complexité L linéaire L = 126. La séquence t = 02+0'3 aura alors une période de 127 et une complexité linéaire de 126. Dans une période compète de t, il y a ainsi 63 zéros et 64 uns. L'invention, c'est-à-dire le fait de ne pas charger les séquences de sortie des cellules individuelles du registre à décalage directement dans les lignes de bus individuelles mais de les combiner auparavant l'une à l'autre, par exemple par une addition modulo 2, a une conséquence importante. Il est alors possible d'alimenter toutes les lignes de bus en des séquences de cryptage différentes, des séquences différentes de cryptage pouvant être déduites d'un registre à décalage ayant moins de cellules de mémoire qu'il y a de lignes de bus. Un bus d'une largeur de 32 bis d'une puce est, par exemple, alimenté par un registre à décalage contenant seulement 11 cellules de mémoire. Cela sera illustré ci-après en se reportant à la Figure 4. Le registre à décalage représenté à la Figure 4 a cinq cellules et envoie des séquences de bus différentes à huit lignes de bus. Chaque ligne de bus a ses propres moyens 500 de cryptage ou de décryptage, une séquence AF1 à AF8 de sortie étant appliquée à l'entrée de clé de chaque moyen de cryptage ou de décryptage. Comme on le voit à la Figure 4, le groupe de cellules de mémoire comprenant les cellules Do et DI de mémoire est utilisé pour engendrer des séquences de sortie AF1. En outre, le groupe de cellules de mémoire comprenant les cellules de mémoire Do+D1+D2 est utilisé pour engendrer la séquence de sortie AF2. Le groupe de cellules de mémoire comprenant les cellules Do et D2 de mémoire est utilisé pour engendrer la séquence AF3 de sortie. Le groupe de cellules de mémoire pour la séquence AF4 de sortie est le groupe comprenant les cellules Do, DI et D3 de mémoire. Par analogie, la séquence AF5 de sortie est engendrée en combinant les cellules de mémoire du groupe prévu pour la cinquième ligne de bus comprenant les cellules Do et D3 de mémoire. De même, la séquence AF6 de sortie est engendrée à partir des cellules de mémoire formant un groupe en tant que Do, DI et D4. De manière analogue, la séquence AF7 de sortie pour les cryptages par bus de la septième ligne de bus est engendrée par le groupe de cellules de mémoire comprenant Do et D4. Enfin, la séquence AF8 de sortie est engendrée par la combinaison des états des groupes de cellules de mémoire comprenant les cellules Do, D2 et D4 de mémoire. On pourrait engendrer d'autres séquences de sortie à la Figure 4, telles que, par exemple, la séquence de sortie dans laquelle toutes les cellules Do, Di, D2, D3 et D4 de mémoire sont utilisées pour le groupe de cellules de mémoire. En outre, tous les groupes de cellules de mémoire comprenant chacun quatre cellules de mémoire ne sont pas utilisés dans le mode de réalisation représenté à la Figure 4. On peut voir ainsi que l'on peut engendrer considérablement plus que huit séquences de sortie à partir des cinq cellules Do à D4 de mémoire, chaque séquence différant d'une autre séquence lorsque les moyens 105 de réaction comprennent une caractéristique de réaction non linéaire, comme cela sera expliqué plus bas. A part les cellules xo, ..., xio de mémoire, la Figure 3 comprend 35 une première porte 212 ET, une deuxième porte 213 ET, une première porte 214 OU EXCLUSIF, une deuxième porte 218 OU EXCLUSIF et un inverseur 216 pour effectuer les deux fonctions F(x) et G(x) alternatives, tel qu'illustré à la Figure 3, suivant la position du commutateur 203. Le résultat de la commutation 203 est, pour ainsi dire, "couplée" dans la réaction par une autre porte 221 OU EXCLUSIF. Le commutateur a l'entrée 204 de commande à laquelle est appliqué le signal z de commande. L'entrée 204 de commande est reliée à un générateur 210 extérieur de nombres aléatoires ou à une commande extérieure du générateur (RNG) extérieur de nombres aléatoires pour fournir le signal z de commande. lo Ensuite, on expliquera, en se reportant aux Figures 6 à 10, un certain nombre de modes de réalisation différents pour former les registres 101 à 111 élémentaires à décalage des Figures 6 à 9. On notera que tous les registres à décalage, tels que par exemple les registres 101 à 111 à décalage de la Figure 5, n'ont pas à avoir la même configuration mais qu'ils peuvent avoir des configurations différentes pour autant qu'au moins l'un d'entre eux, de préférence tous les registres à décalage, ont une caractéristique de réaction non linéaire. La Figure 6 représente un registre à décalage élémentaire non linéaire pour engendrer une séquence pseudo-aléatoire de nombres ayant des moyens 1 de charge vers l'avant, comprenant une séquence d'unités 2 à 5 de mémoire et comprenant, en outre, une entrée 6 et une sortie 7 correspondant à la sortie du dispositif pour sortir la séquence de nombres pseudo-aléatoires. Il faut mentionner que la séquence de nombres pseudoaléatoires peut être envoyée, par d'autres moyens non représentés à la Figure 6, à un tampon, pour combiner d'une façon différente, etc. des séquences de nombres aléatoires. Le dispositif représenté à la Figure 6 comprend aussi des moyens 8 de réaction ayant une caractéristique de réaction variable et montés entre l'entrée 6 et la sortie 7 des moyens 1 de charge vers l'avant. La caractéristique de réaction variable des moyens 8 de réaction est illustrée à la Figure 6, en ce que les moyens 8 de réaction peuvent prendre une première caractéristique 9 de réaction ou une deuxième caractéristique 10 de réaction, des moyens 11 de commutation pouvant, par exemple, commuter entre la première caractéristique 9 de réaction et la deuxième caractéristique 10 de réaction. Le signal de commande pour les moyens 11 de commutation est donné simplement à titre d'exemple par les quatrièmes moyens SE2 de mémoire, comme cela est illustré symboliquement par un trajet 12 de signal. La première caractéristique 9 de réaction et la deuxième caractéristique 10 de réaction diffèrent dans un mode de réalisation représenté à la Figure 6 en ce que l'état des moyens 1 de mémoire (n 3) entre dans la réaction dans le cas de la première caractéristique de réaction, tandis que l'état des moyens 5 de mémoire (SEn) configure la réaction dans le cas de la deuxième caractéristique de réaction. En variante ou en plus, les moyens 8 de réaction peuvent être io formés de façon à ce qu'une règle différente de combinaison soit employée dans la caractéristique de réaction combinant la valeur à la sortie 7 des moyens de charge vers l'avant et un état interne des moyens de charge vers l'avant, suivant la caractéristique de réaction qui est sélectionnée. C'est ainsi qu'une combinaison ET pourrait, par exemple, être employée dans la première caractéristique de réaction pour combiner la valeur à la sortie 7 et la valeur de la cellule 3 de registre, tandis que la deuxième caractéristique de réaction diffère de la première caractéristique de réaction en ce qu'une combinaison OU et non pas une combinaison ET est employée pour combiner les deux valeurs mentionnées. Il va de soi, pour l'homme du métier, que l'on peut utiliser, dans ce cas, différents types de différentes règles de combinaison. En outre, des valeurs des moyens SEI ou SEn de mémoire n'ont pas à être envoyées directement aux moyens de combinaison dans les moyens de réaction, mais ces valeurs peuvent, par exemple, être inversées, combinées l'une à l'autre ou traitées d'une autre façon, telle que par exemple non linéairement, avant que les valeurs traitées soient envoyées aux moyens de combinaison. De plus, il n'est pas essentiel que les moyens 11 de commutation soient commandés directement par l'état de l'unité SE2 de mémoire. Au lieu de cela, l'état des moyens SE2 de mémoire pourrait être inversé, traité logiquement ou arithmétiquement de toute façon ou même combiné à l'état d'un ou de plusieurs moyens de mémoire pour autant que le résultat est un dispositif pour engendrer une séquence pseudo-aléatoire de nombres ayant des moyens de réaction, dont la caractéristique de réaction n'est pas statique mais peut être modifiée dynamiquement suivant les moyens de charge vers l'avant et, en particulier, un ou plusieurs états dans des unités de mémoire des moyens de charge vers l'avant. En outre, des moyens 13 de commande disposés entre deux éléments de mémoire, par exemple dans l'exemple représenté à la Figure 6, entre les éléments 4 et 5 de mémoire sont introduits dans les moyens 1 de charge vers l'avant de la Figure 6. Comme un flux de signal va de l'élément 0 de mémoire à l'élément n de mémoire à la Figure 6, l'élément 4 de mémoire est l'élément de mémoire disposé en amont des moyens de commande dans un sens de passage du signal, tandis que l'élément 5 de mémoire est lo l'élément disposé en aval des moyens de commande dans un sens de passage du signal. Les moyens 13 de commande ont une entrée 13a de commande qui peut être munie d'un signal de commande qui, en principe, peut être n'importe quel signal de commande. Le signal de commande peut, par exemple, être une séquence vraie de nombres aléatoires, de sorte que la séquence de sortie de l'ensemble du registre à décalage est une séquence de nombres aléatoires. Le signal de commande peut être aussi un signal de commande déterministe, de sorte que l'on obtiendra une séquence de nombres pseudo-aléatoires du côté sortie. De préférence, l'entrée 13a de commande est, comme illustré par la ligne en tirets à la Figure 6, reliée aux moyens 8 de réaction de façon à ce qu'un signal dans les moyens de réaction donne le signal de commande aux moyens 13 de commande, c'est-à-dire que le signal de commande est un signal déterministe. Quand bien même, dans le mode de réalisation représenté à la Figure 6, on désigne les moyens 8 de réaction comme étant des moyens de réaction variables, les moyens de réaction peuvent aussi être des moyens de réaction ayant une caractéristique de réaction constante, comme indiqué par une ligne 14 en tirets. Dans ce cas, le signal de commande pour l'entrée 13a de commande serait dérivé d'un point 14a de branchement, comme cela est illustré schématiquement à la Figure 6 par la ligne en tirets allant du point 14a à l'entrée 13a de commande des moyens 13 de commande. En outre, on utilise le générateur élémentaire de séquences de nombres représenté à la Figure 6 pour augmenter l'efficacité, pour engendrer par exemple non seulement une seule séquence à la sortie 7 mais aussi une deuxième séquence de nombres, de préférence pseudo-aléatoires, à une autre sortie 15, les deux séquences ou seulement l'une des séquences des deux séquences pouvant être envoyées aux moyens de combinaison. Introduire les moyens 13 de commande a pour effet que la sortie de séquence à la sortie 7 diffère vraiment de la sortie de séquence à la sortie 15, les deux séquences étant non seulement décalées l'une par rapport à l'autre mais étant réellement, comme cela a été expliqué, différentes puisqu'elles sont "prises" en amont et en aval des moyens 13 de commande, respectivement, suivant le sens de passage du signal. La Figure 7 représente un registre à décalage à 8 bits dans io lequel un multiplexeur 20 est commandé par l'intermédiaire d'une entrée 20a de commande en fonction de l'état des moyens n 4 de mémoire. Si l'entrée 20a de commande est à l'état zéro, c'est-à-dire s'il y a un état zéro dans la cellule n 4 de mémoire, le multiplexeur sera commandé de façon à ce qu'il relie l'état des moyens n 7 de mémoire sur une première ligne 20b d'entrée is de ceux-ci à une ligne 20d de sortie. Cela aura l'effet d'un registre à décalage linéaire ayant le polynôme de réaction suivant: x8+x'+ 1 Mais si l'entrée 20a de commande est toutefois dans un seul état, l'état des moyens n 6 de mémoire à une deuxième entrée 20c sera relié à la ligne 20d de sortie du multiplexeur 20. La ligne 20d de sortie est reliée aux moyens 21 de combinaison auxquels est aussi envoyée, dans le mode de réalisation représenté à la Figure 7, la valeur à la sortie 7 des moyens de charge vers l'avant qui, dans le même temps, forment la sortie du dispositif pour engendrer une séquence pseudo-aléatoire de nombres. Le résultat calculé par les moyens 21 de combinaison est envoyé à son tour aux premiers moyens n 7 de mémoire de la Figure 7. Si les contenus de la cellule de mémoire n 4 sont égaux à 1, le polynôme de réaction suivant s'appliquera: 8+x6 x + 1 II devient clair, par ce qui précède, qu'une commutation a lieu entre les deux polynômes de réaction mentionnés, suivant les contenus de la cellule n 4 de mémoire des moyens 1 de charge vers l'avant. On a trouvé que les complexités linéaires de séquences obtenues suivant l'invention sont très grandes, c'est-à-dire comprises entre 35 234 et 254, lorsque le registre à décalage comprend 8 bascules. Il faut mentionner aussi que la longueur de période d'une séquence engendrée par n'importe quel registre à décalage à huit étages peut être au maximum de 255. La valeur maximum de la complexité linéaire d'une séquence de ce genre est de 254. Le plus facile des registres à décalage élémentaire à huit étages qui peut engendrer une séquence est le registre à décalage illustré à la Figure 7 ayant les deux polynômes de réaction illustrés à la Figure 7. En ce qui concerne la théorie des registres à décalage linéaire en tant qu'exemple comparatif, il faut noter qu'il y a 16 polynômes primitifs du 8ème degré. lo Chaque polynôme de ce type décrit un registre à décalage linéaire qui peut engendrer une séquence de la longueur de période 255 et de la complexité linéaire 8. En revanche, suivant la présente invention, il y a bien plus de registres à décalage, à savoir 2020, qui peuvent engendrer les séquences de la longueur de période 255 suivant la présente invention. En outre, les séquences engendrées par les registres à décalage suivant l'invention comprennent des complexités linéaires bien plus grandes que leurs formes analogues suivant la technique antérieure. Comme on l'a déjà expliqué, le mode de réalisation représenté à la Figure 7 est préféré parmi toutes les possibilités examinées pour un registre à décalage de 8 bits ayant des moyens de réaction, parce qu'il donne la complexité de matériel la plus facile tout en ayant en même temps une durée maximum de période et aussi une complexité linéaire maximum. A la Figure 7, les moyens 13 de commande sont disposés à nouveau entre deux éléments de mémoire, ces éléments étant des éléments 1 et 2 de mémoire. Les moyens 13 de commande sont alimentés en un signal de commande prélevé des moyens 8 de réaction ayant une caractéristique de réaction variable. Le signal pour les moyens de commande pourrait bien entendu être aussi "pris" en aval de la porte 21 OU EXCLUSIF dans un sens de passage du signal. En outre, les moyens 13 de commande peuvent bien entendu être formés aussi entre n'importe quelles deux autres cellules de mémoire, telles que par exemple entre les cellules 5 et 6 de mémoire ou entre les cellules 0 et 7 de mémoire, c'est-à-dire soit en aval de la cellule 0 de mémoire dans le sens de passage du signal, de sorte que le signal à la sortie des moyens de mémoire sera sorti directement à la sortie 7, soit directement en amont de la cellule 7 de mémoire. Mais pour des raisons de traitement du signal, il vaut mieux que tous les signaux, tels que par exemple les séquences de sortie, les signaux de commande et les signaux de données pour le multiplexeur, etc., soient pris à la sortie des registres à décalage, de façon à ce que le registre à décalage, mise à part sa fonctionnalité pour engendrer la séquence de nombres, serve aussi à donner des signaux stables pour des portes logiques. On n'a pas besoin, ainsi, de produire des étages de sortie correspondants pour des portes logiques lorsque des signaux de commande ou des signaux de sortie sont prélevés des sorties des portes logiques elles-mêmes. On se référera maintenant à la Figure 8 pour illustrer un mode de réalisation spécial des moyens 20 de multiplexeur de la Figure 7. On peut mettre en oeuvre facilement le multiplexeur 20 par deux portes 40a, 40b ET, toutes deux reliées à des portes OU (ou à des portes OU EXCLUSIF) 41a, 41 b, montées en série de la façon représentée à la Figure 8. En particulier, l'état de la cellule 4 de mémoire est envoyé à la première porte 40a ET, tandis que l'état inversé de la cellule 4 de mémoire est envoyé à la seconde porte 40b ET. Afin de déterminer le polynôme de réaction correspondant, les contenus de la cellule 6 de mémoire sont envoyés à la première porte 40a ET en tant que deuxième entrée, tandis que les contenus de la cellule 7 de mémoire sont envoyés à la deuxième porte 40b ET en tant que deuxième entrée. On notera aussi que les deux portes 41 a, 41 b OU montées en série peuvent être mises en oeuvre en alternance. Mais si des mises en oeuvre dans lesquelles chaque porte logique a deux entrées et une sortie sont nécessaires, l'exemple donné représenté à la Figure 8 sera avantageux. Dans un procédé pour engendrer une séquence pseudoaléatoire de nombres à partir d'un registre à décalage élémentaire en utilisant des moyens 1 de réaction ayant une pluralité de moyens de mémoire comprenant une entrée et une sortie pour faire sortir la séquence de nombres et des moyens de réaction ayant une caractéristique de réaction variable et reliés entre l'entrée et la sortie, un stade d'initialisation des moyens de mémoire dans les moyens de charge vers l'avant à une valeur de début déterminée à l'avance sera effectué en premier. En réponse à un état d'un moyen de mémoire de la pluralité des moyens de mémoire des moyens de charge vers l'avant, les moyens de commande commanderont alors dans un autre stade, en fonction du signal de réaction. Ensuite, un état de moyens de mémoire reliés à la sortie des moyens 1 de charge vers l'avant sera sorti pour obtenir un nombre de la séquence de nombres aléatoires. Après cela, il est examiné, dans un bloc de décisions, si l'on a besoin d'autres nombres aléatoires. S'il est répondu par non à cette question, le procédé se termine là. Mais s'il est déterminé que d'autres nombres sont nécessaires, le bloc de décisions répondra par un "oui", de sorte qu'un autre stade sera effectué dans lequel la pluralité des moyens de mémoire est réoccupée sur la base d'un état précédent de moyens de mémoire et sur une sortie des moyens de réaction. Les stades de io commande des moyens de commande, de sortie et de réoccupation sont répétés en boucle aussi souvent que cela est souhaité pour obtenir finalement la séquence pseudo-aléatoire de nombres. On notera que l'on peut effectuer ce procédé en utilisant une horloge régulière ou en utilisant une horloge irrégulière, même si la variante comprenant l'horloge régulière est préférée du point de vue de la plus grande sécurité et vis-à-vis d'attaques de puissance ou de temps. Dans le cas du registre à décalage linéaire illustré à la Figure 7, on notera que la réoccupation de la pluralité des moyens de mémoire a lieu de manière sérielle, sur la base de l'état précédent des moyens de mémoire qui, considérés dans leur ensemble, sont décalés d'un pas vers la gauche, de sorte qu'un état des moyens 0 de mémoire "disparaîtra" du côté de la sortie. Cette valeur "disparue" est le nombre qui sera sorti. Les moyens n 7 de mémoire vers l'extrême droite de la Figure 7 peuvent être réoccupés en décalant vers la gauche l'état de tous les moyens de mémoire, considérés dans leur ensemble. La pluralité des moyens de mémoire, et en particulier des moyens 7 de mémoire, est ainsi réoccupée en fonction d'une sortie des moyens de réaction à l'instant courant de cadençage. La Figure 9 représente une variante dans laquelle on illustre la variante des moyens de réaction indiqués par les numéros de référence 14 à la Figure 6. En particulier, les moyens 14 de réaction à la Figure 9 sont formés de manière à ne pas avoir de caractéristique de réaction variable mais une caractéristique de réaction constante. Les avantages de l'invention sont obtenus par au moins un moyen 13 de commande et, de préférence, par un autre moyen 60 de commande à disposer dans les moyens de charge vers l'avant. Dans le mode de réalisation représenté à la Figure 9, les moyens 13 de commande sont commandés par un signal de commande dérivé directement des moyens 14 de réaction. Dans les moyens de charge vers l'avant représentés à la Figure 9, il est prévu seulement deux moyens 2 et 3 de mémoire, les premiers moyens 13 de commande étant montés entre les cellules 2 et 3 de mémoire, et les deuxièmes moyens 60 de commande étant montés entre la cellule 3 de mémoire et (par l'intermédiaire des moyens 14 de réaction) la cellule 2 de mémoire. En outre, un flux de signal est repéré à la Figure 9 par une flèche 61 qui illustre le passage du signal dans les io moyens de charge vers l'avant, ce sens étant, dans le mode de réalisation représenté à la Figure 9, de la droite vers la gauche. Un bit entrera d'abord dans les moyens D2 de mémoire. Le bit mémorisé dans D2 sortira ainsi et formeraun bit de la première séquence. En même temps, dans le mode de réalisation représenté à la Figure 9, la sortie de bit par les moyens 2 de mémoire sera combinée suivant une combinaison OU EXCLUSIF avec un bit juste présent sur les moyens 14 de réaction pour obtenir un bit de résultat cadencé dans l'élément 3 de mémoire au cycle suivant, à une sortie de la combinaison OU EXCLUSIF. Ainsi, le bit juste présent dans l'élément 3 de mémoire sera cadencé hors de l'élément 3 de mémoire, sera sorti en cadence de l'élément 3 de mémoire et représentera ainsi un bit de la deuxième séquence pseudo-aléatoire de nombres. Le bit à la sortie de la cellule 3 de mémoire est ensuite combiné suivant une combinaison OU EXCLUSIF à un signal de commande pour les deuxièmes moyens 60 de commande, le signal de commande étant engendré à partir du signal aux moyens 14 de réaction et du signal de sortie des premiers moyens 13 de commande à l'aide de moyens de combinaison. Les moyens 62 de combinaison sont, de préférence, une porte logique et, en particulier dans le mode de réalisation représenté à la Figure 9, une porte ET. La première séquence sort par l'intermédiaire d'une sortie 7, tandis que la deuxième séquence sort par l'intermédiaire d'une sortie 15. Les deux séquences qui sortent par les sorties 7 et 15 sont réellement différentes et ne sont pas seulement décalées en phase l'une par rapport à l'autre. Pour simplifier la mise en oeuvre de la porte 60 OU EXCLUSIF, un autre élément de mémoire est prévu dans un autre mode de réalisation préféré en aval de la porte 60 OU EXCLUSIF dans le sens de passage du signal, tandis que dans ce cas une séquence, qui est seulement décalée en phase par rapport à la première séquence à la sortie 7 mais qui est fondamentalement différente de la deuxième séquence à la sortie 15, sortira à la sortie de cet élément de mémoire. La Figure 10 représente un registre à décalage élémentaire à 8 bits ayant des bascules DO à D7 montées en série, les deuxièmes moyens 60 de commande étant prévus entre la quatrième et la troisième bascule, tandis que les premiers moyens 13 de commande sont prévus entre la septième et la sixième bascule. Les premiers moyens 13 de commande sont io alimentés à nouveau directement en le signal de réaction sur les moyens 14 de réaction, tandis que les deuxièmes moyens 60 de commande sont alimentés en le signal de sortie de la porte 62 ET qui est envoyé à son tour par les moyens 14 de réaction, d'une part, et par le signal de sortie de la cinquième cellule D5, d'autre part. D'une manière analogue au mode de réalisation représenté à la Figure 9, la séquence de sortie de la quatrième cellule D4 représente la deuxième séquence de nombres pseudo- aléatoires, tandis que la séquence de sortie de la septième cellule D7 représente la première séquence de nombres aléatoires. Les modes de réalisation représentés aux Figures 9 et 10 d'un registre à décalage élémentaire diffèrent en ce que deux cellules D5, D6 de registre supplémentaires sont montées entre les deux moyens de commande et en ce que d'autres cellules DO à D3 de mémoire sont formées à la sortie des moyens 60 de commande OU EXCLUSIF, de sorte qu'il est formé un autre registre à décalage à 8 bits. Dans un mode de réalisation, une séquence de nombres pseudo-aléatoires est prélevée à la sortie de chaque cellule DO à D7 de mémoire et est envoyée à des moyens de combinaison afin d'obtenir un générateur de nombres pseudo-aléatoires particulièrement efficace. En particulier, les deux séquences sorties par les cellules D4 et D5 sont des versions décalées de la séquence sortie par la cellule D6. En outre, des quatre séquences sorties par les cellules D2, D1, DO et D7 sont des versions décalées de la séquence sortie par la cellule D3. Chaque séquence de cellules D7, DO, Dl, D2 et D3 est ainsi essentiellement différente d'une séquence des cellules D4, D5 et D6. On notera que le point de début où le registre à décalage est 35 initialisé, c'est-à-dire ce que l'on appelle le germe, comme cela a été expliqué en se reportant à la Figure 7, élément 55, doit être formé de manière à ce qu'il comprenne au moins une valeur différente de zéro pour un élément de mémoire, afin que le registre à décalage "continue" et afin de ne pas sortir huit séquences de zéros aux huit sorties. Ensuite, lorsque cette condition est satisfaite, toutes les huit séquences ont une périodicité maximum, c'est-à-dire une longueur de période de 255. De plus, chacune des huit séquences sorties a la complexité linéaire maximum 254 dans le mode de réalisation représenté à la Figure 10. En outre, comme on l'a déjà expliqué, les deux séquences sorties par les cellules D3 et D6 sont essentiellement différentes. io Comme on peut le voir aussi par la Figure 10, la cellule D5 de mémoire est la cellule de commande. Lorsque la cellule D5 contient un zéro, l'effet des moyens 60 de commande entre les cellules D3 et D4 sera supprimé. Seul le OU EXCLUSIF entre les cellules D6 et D7 sera appliqué. Mais si la cellule D5 comprend un 1, à la fois les moyens 13 et 60 OU EXCLUSIF seront appliqués. La Figure 11 représente un registre à décalage à réaction générale ayant des cellules Do, ..., Dn0 de mémoire ayant des moyens de charge vers l'avant et des moyens de réaction désignés par F(xo, x1, ..., xn_1). Un registre à décalage à réaction générale à n étages (ou n cellules) sur l'élément GF(2) = {0,1} de base est considéré dans ce cas. Le registre à décalage consiste en n cellules de mémoire (bascules) Do, D1, ..., Dn_1 et en la réalisation (électronique) d'une fonction F(xo, x1, ..., xn_1) de réaction. La fonction de réaction associe à chaque n tuple consistant en n bits une valeur unique provenant de GF(2), c'est-à-dire la valeur 0 ou 1. En terminologie mathématique, F est une fonction ayant une plage GF(2)n de définitions et une plage GF(2) cible. Le registre à décalage est commandé par une horloge extérieure. A chaque fréquence d'horloge, le contenu de la cellule Di de mémoire est décalé vers la cellule Dss_1 voisine vers la gauche, 1 j n - 1. Le contenu de la cellule Do de mémoire est sorti. Les contenus des cellules Do, D1, ..., Dn_2, Dn0 de mémoire à l'instant t sont donnés par St, St+1, É É É , St+n2, St+n-1 Ensuite, une fréquence d'horloge plus tard, c'est-à-dire à l'instant t + 1, les cellules de mémoire contiendront les bits suivants St+1, St+2, É É É , St+n-1 5 St+n, dans lesquels la valeur st+n entrant dans la cellule Dn_1 est donnée par St+n = F(St, St+1, ..., St+n-1)É Le n tuple (st, st+1, ..., st+n_1) décrit l'état du registre à décalage à l'instant t. Le n tuple (so, si, ..., sn_1) est l'état de début. On utilise FSR(F) comme abréviation pour le registre à décalage à réaction générale ayant une fonction F de réaction (FSR signifie registre à décalage à réaction). La Figure 12 représente un registre à décalage à réaction générale. Le registre à décalage sort un bit à chaque cadence de l'horloge io extérieure. Le registre à décalage peut ainsi produire une séquence so, s1, s2, ..., de bits périodiques, ce que l'on appelle une séquence de registres à décalage, so, Si, ..., sn-1 étant les valeurs de départ de la séquence de registres à décalage. La fonction F(xo, x1, ..., xn_1) de réaction et les valeurs so, s1, ..., sn-1 de débit déterminent complètement la séquence de registres à décalage. Comme il y a seulement 2" états différents pour le registre à décalage, la longueur de la période de la séquence so, s1, s2, ... du registre à décalage sera au moins de 2". Un registre FSR(F) à décalage à réaction générale est appelé homogène quand sa fonction F de réaction est homogène, c'est-à-dire si F(0, 0, ..., 0) = 0 s'applique. Un registre à décalage homogène mis à l'état de débit so = Si = ... = sn-1 = 0 produira la séquence zéro. Il s'ensuit que la longueur de période de la séquence de sortie d'un registre à décalage homogène à n étages peut être au plus de 2" - 1. Lorsque la longueur de période prend la valeur maximum de 2" - 1, la séquence de registres à décalage est dénommée une séquence M et le registre à décalage est maximum. C'est un but important que de trouver un registre à décalage maximum. Deux cas spéciaux du registre FSR(F) à décalage à réaction générale sont particulièrement intéressants. Le cas dans lequel la fonction F de réaction a la forme suivante: F(xo, x1, ..., xn-1) = Eaixixj O L'autre cas spécial est lorsque la fonction F de réaction est linéaire. Dans ce cas, F a la forme suivante: F(xo, x1, ..., xn-1) = aoxo + a1x1 + . + an-ixn-1, dans laquelle les coefficients a; sont à nouveau soit 0, soit 1, c'est-à-dire des éléments provenant de GF(2). Dans ce cas, cela est appelé un registre à décalage linéaire ou à réaction linéaire et l'abréviation LFSR (registre à décalage à réaction linéaire) est utilisée dans ce cas. On notera qu'à la fois les registres à décalage à réaction linéaire et les registres à w décalage à réaction carrée sont homogènes...DTD: On caractérise habituellement un registre à décalage à réaction linéaire à n stades par un polynôme f(x) binaire du énième degré suivant une variable x. Ce polynôme f est appelé le polynôme caractéristique du registre à décalage à réaction linéaire. Le registre à décalage est alors dénommé LFSR(f). La fonction F(xo, x1, ..., xn_1) de réaction d'un registre à décalage à réaction linéaire est un polynôme à n variables xo, xi, ..., xn_1 et de degré 1. Le polynôme caractéristique f(x) du même registre à décalage linéaire est, en revanche, un polynôme à une seule variable, c'est-à-dire la variable x mais de degré n. Ce qui suit s'applique: f(x) = x" + F(1, x, x, x2, ..., xn-1). La non-linéarité de la fonction de réaction peut ainsi être effectuée par relativement n'importe quelle forme de la fonction F de réaction. Il est en principe suffisant ici de multiplier seulement les signaux de sortie des deux cellules D; et Di+1 de mémoire à partir desquelles se formerait un registre à décalage carré. On peut bien entendu multiplier ou soumettre à une autre fonction non linéaire plus de deux sorties de cellules de mémoire. Mais, en principe, même une réaction avec seulement un seul signal de sortie d'une cellule de mémoire unique doit être effectuée, par exemple en envoyant en retour seulement le signal de sortie de la cellule Do de mémoire, en la chargeant de la fonction F(xo) et en envoyant le signal de sortie de cette fonction, par exemple, dans la cellule Dn_1 de mémoire du côté de l'entrée. Une fonction non linéaire de ce genre ayant seulement une seule valeur serait, par exemple, une inversion, c'est-à-dire une fonction non logique. Mais la fonction non linéaire pourrait être aussi n'importe quelle autre fonction, telle que par exemple une fonction d'association non linéaire ou une fonction cryptographique. Suivant les circonstances, le procédé suivant l'invention pour engendrer des nombres aléatoires peut être mis en oeuvre en matériel ou en logiciel. La mise en oeuvre peut s'effectuer sur un support de stockage numérique, en particulier sur un disque souple ou sur un CD ayant des signaux de commande qui peuvent être lus électroniquement, qui peuvent coopérer avec un système informatique programmable, de sorte que le procédé sera exécuté. En général, l'invention comprend donc aussi un produit de programme informatique ayant un code programme mémorisé sur un support pouvant être lu sur machine pour effectuer le procédé suivant l'invention lorsque le produit de programme informatique passe sur un ordinateur. En d'autres termes, on peut réaliser l'invention aussi sous la forme d'un programme informatique ayant un code programme pour effectuer le procédé lorsque le programme informatique passe sur un ordinateur. Enumération des signes de référence 1 moyens de charge vers l'avant 2 moyens de mémoire 3 moyens de mémoire 4 moyens de mémoire moyens de mémoire 6 entrée des moyens de charge vers l'avant 7 sortie des moyens de charge vers l'avant 8 moyens de réaction 9 première caractéristique de réaction deuxième caractéristique de réaction 11 moyens de sélection 12 ligne de commande des moyens de sélection 13 premier moyen de commande 13a entrée de commande du premier moyen de commande 14 moyens de réaction 14a point de branchement sortie de la deuxième séquence moyens de sélection 35 20a entrée de commande 20b première entrée 20c deuxième entrée 20d sortie 21 moyens de combinaison 40a première porte ET 40b deuxième porte ET 41 a première porte OU 41 b deuxième porte OU 51 cellule de mémoire io 52 cellule de mémoire 53 cellule de mémoire 54 cellule de mémoire moyens d'initialisation 56 sortie 57 première combinaison OU 58 deuxième combinaison OU 59a première ligne de réaction 59b deuxième ligne de réaction 59c troisième ligne de réaction 60 deuxième moyen de commande 61 sens de passage du signal dans les moyens de charge vers l'avant 62 moyens de combinaison première cellule de mémoire 101 deuxième cellule de mémoire 102 troisième cellule de mémoire 103 quatrième cellule de mémoire 104 cinquième cellule de mémoire moyens de réaction 106 moyens de sortie d'un nombre aléatoire 203 commutateur 204 entrée des commandes 206 sortie 210 moyens de commande extérieurs 212 porte ET 213 porte ET 214 porte OU EXCLUSIF 216 inverseur 218 porte OU EXCLUSIF 221 porte OU EXCLUSIF de couplage 500 unité de cryptage/décryptage par bus 502 ligne de commande 504 ligne de commande 508 unité de cryptage/décryptage par bus REVENDICATIONS 1. Générateur de nombres aléatoires, caractérisé en ce qu'il comprend: une pluralité de cellules (100, 101, 102, 103, 104) de mémoire montées en série; des moyens (105) de réaction pour engendrer un signal de réaction et pour envoyer le signal de réaction dans l'une des cellules de mémoire; et io des moyens (106) de sortie de nombres aléatoires formés pour combiner des états d'un groupe d'au moins deux cellules de mémoire pour obtenir une séquence de sortie. 2. Générateur de nombres aléatoires suivant la revendication 1, caractérisé en ce que les moyens (106) de sortie de nombres aléatoires sont formés pour combiner des états d'un deuxième groupe de cellules de mémoire pour obtenir une deuxième séquence de sortie, le deuxième groupe différant du premier groupe. 3. Générateur de nombres aléatoires suivant la revendication 1, caractérisé en ce que les moyens (106) de sortie de nombres aléatoires sont formés pour combiner des états du groupe d'au moins deux cellules de mémoire suivant une première règle de combinaison pour obtenir la séquence de sortie, et pour combiner supplémentairement les états du groupe de cellules de mémoire suivant une deuxième règle de combinaison, la deuxième règle de combinaison différant de la première règle de combinaison. 4. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce que il est prévu un nombre N de cellules de mémoire; et les moyens (106) de sortie de nombres aléatoires sont formés pour engendrer un nombre M de séquences de sortie, le nombre M étant supérieur au nombre N, les M séquences de sortie différant les unes des autres en raison des groupes sous-jacents de cellules de mémoire ou en raison des règles de combinaison sous-jacentes. 5. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce que les moyens (105) de réaction comprennent une caractéristique de réaction non linéaire. 6. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce que les moyens (105) de réaction comprennent au moins une porte ET pour des états de combinaison io ET de deux des cellules de mémoire, ou les moyens de réaction comprennent au moins une porte OU EXCLUSIF pour des états de combinaison OU EXCLUSIF de deux des cellules de mémoire. 7. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce qu'il comprend: des moyens de cadencement pour cadencer les cellules de mémoire, de façon à ce que, dans une cadence, un état d'une cellule de mémoire disposée en aval dans une direction de traitement est chargé dans une cellule de mémoire disposée en amont dans la direction de traitement, de façon à ce qu'une séquence d'états de cellule de mémoire donne une sortie d'une cellule de mémoire en réponse à une séquence d'impulsions de cadence. 8. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce que les moyens (105) de réaction sont couplés à la pluralité de cellules de mémoire, de façon à ce que les moyens (105) de réaction contiennent un état d'une cellule de mémoire disposée en amont dans la direction de traitement en tant qu'entrée et envoient le signal de réaction dans une cellule de mémoire disposée en aval dans la direction de traitement. 9. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce qu'un registre de décalage est formé par la pluralité des cellules de mémoire et les moyens de réaction sont non linéaires et formés pour engendrer une séquence périodique au maximum. 10. Générateur de nombres aléatoires suivant l'une des 35 revendications précédentes, caractérisé en ce que le nombre de cellules de mémoire est un nombre premier. 11. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce que les moyens (106) de sortie des nombres aléatoires comprend au moins une porte logique pour combiner des états d'un groupe de cellules de mémoire. 12. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce que les moyens (106) de sortie de nombres aléatoires sont formés pour effectuer une addition modulo 2 avec des états des cellules de mémoire d'un groupe de cellules de mémoire. io 13. Générateur de nombres aléatoires suivant l'une des revendications précédentes, caractérisé en ce que les moyens (106) de sortie de nombres aléatoires comprennent une porte OU EXCLUSIF pour combiner des états de cellules de mémoire dans un groupe. 14. Générateur de nombres aléatoires suivant l'une des 15 revendications précédentes, caractérisé en ce que les moyens de réaction comprennent: des premiers moyens (9) de combinaison pour combiner des états de cellules de mémoire pour obtenir une première caractéristique de réaction des deuxièmes moyens (10) de combinaison pour combiner des états de cellules de mémoire pour obtenir une deuxième caractéristique de réaction; et un commutateur pour activer la première caractéristique de réaction dans un premier état de commutation et pour activer la deuxième caractéristique de réaction dans un deuxième état de commutation, cette commutation comprenant une entrée de commande pour recevoir un signal de commande d'une commande extérieure, et le commutateur étant formé pour être mis en le premier ou en le deuxième état de commutation en réponse au signal de commande. 15. Générateur de nombres aléatoires suivant la revendication 14, caractérisé en ce que le signal de commande comprend une durée de période de commande, et le générateur de nombres aléatoires comprend en outre: des moyens de cadencement pour cadencer la pluralité de 35 cellules de mémoire montées en série par une horloge ayant une durée de période cadence, la durée de période de cadence étant plus petite que la durée de période de commande. 16. Dispositif de cryptage à bus, caractérisé en ce qu'il comprend: un bus ayant un nombre N de lignes parallèles de bus; pour chaque ligne de bus, des moyens de cryptage ou de décryptage pour crypter ou décrypter un signal sur la ligne de bus en utilisant une clé pour la ligne de bus; et un générateur de nombres aléatoires ayant une pluralité de io cellules de mémoire montées en série, des moyens de réaction pour engendrer un signal de réaction et pour envoyer le signal de réaction à l'une des cellules de mémoire, et des moyens (106) de sortie de nombres aléatoires, les moyens (106) de sortie de nombres aléatoires étant formés pour engendrer une séquence de sortie pour chaque ligne de bus en combinant des états d'un groupe de cellules de mémoire et pour l'envoyer à des moyens de décryptage ou de cryptage pour la ligne de bus, des moyens (106) de sortie de nombres aléatoires étant formés de façon à ce qu'un groupe de cellules de mémoire différant d'un groupe de cellules de mémoire prévu pour une autre ligne de bus soit prévu pour chaque ligne de bus. 17. Procédé de production de nombres aléatoires par un générateur de nombres aléatoires comprenant une pluralité de cellules de mémoire montées en série et des moyens (105) de réaction pour engendrer un signal de réaction et pour envoyer le signal de réaction dans l'une des cellules de mémoire, caractérisé en ce qu'il comprend le stade de: combinaison des états d'un groupe d'au moins deux cellules de mémoire pour obtenir une séquence de sortie. 18. Programme informatique ayant un code programme pour effectuer le procédé suivant la revendication 17 lorsque le programme informatique passe sur un ordinateur.