Brevet FR2507844A1 — publié le 19821217

PROCEDE ET SYSTèME DE GENERATION DE LOIS TEMPORELLES PStUDO-ALEATOIRES ORTHOGoNALES La présente invention concerne les procédés et les systèmes de génération de lois temporelles pseudo-aléatoires orthogonales. Une loi temporelle dite pseudo-aléatoire fournit une valeur numérique qui est une fonction du temps selon une loi apparemment aléatoire, mais qui en irait est periodique car le nombre de valeurs possibles n'est pas infini. Des lois temporelles pseudo-aléatoires dites orthogonales fournissent des valeurs numériques différentes pour chaque loi, à tout instant. Le système selon l'invention est constitué de plusieurs collections de dispositits générateurs, les dispositits de chaque collection générant une même loi temporelle pseudo-aléatoire qui est orthogonale aux lois générées par les dispositifs générateurs des autres collections. Ce type de lois temporelles est utilisé notamment pour sélectionner à chaque instant la valeur des fréquences porteuses dans un ensemble de réseaux de radiocommunications à évasion de fréquence. Pour échapper au brouillage et a l'interception chacun de ces réseaux utilise une fréquence porteuse qui varie, en général selon une loi tempo- relle pseudo-aléatoire. Quand R réseaux fonctionnent simultanément il y a un risque de brouillage d'un réseau par un autre s'ils émettent à certaines moments sur la même frequence. Pour eviter ce brouillage la fréquence de chaque réseau est déterminée par une loi pseudo-aléatoire orthogonale par rapport à celle des autres réseaux. Chaque réseau comprend un certain nombre de postes émetteurs-récepteurs munis chacun d'un dispositit générant une loi temporelle pseudo-aléatoire $ i propre å ce reseau. Les dispositifs de tous les reseaux sont synchrones et, à un instant donné, ils definissent une fréquence qui est la même pour tous les postes d'un réseau et qui est différente pour tous les réseaux. Chaque reseau est constitué d'un certain nombre de postes de radio communiquant entre eux sur une même fréquence Fi, et repéré par un numéro de reseau Ri: R. est représente par un nombre binaire de r bits. La fréquence porteuse F. utilisée par le réseau R. est fonction d'une loi I i temporelle pseudo-aléatoire + i et a pour valeur Fi(t) å l'instant t. Cette valeur est représentée par un nombre binaire de n bits. Pour que tous les réseaux puissent fonctionner simultanément le nombre de fréquences disponibles doit être plus grand que le nombre de reseaux. Le nombre de bits n est supérieur, voire très supérieur au nombre de bits r. Les lois temporelles pseudo-aléatoires l) i utilisées dans cette application doivent être pratiquement imprévisibles par des tiers, c'est-àdire que l'identification de ces lois doit nécessiter un temps de calcul trop long pour être realisable en pratique. il est classique de les générer par un algorithme du type "chiffre" initialise par un lot de données appelé "clé", constitué d'un mot binaire Ki gardé secret, A chaque clé K. correspond une loi i différente. i II est souhaitable, dans un tel ensemble, que la capture d'un poste d'un réseau ne compromette pas le secret des liaisons sur les autres réseaux. Actuellement trois types de procedes sont utilises pour eviter le brouillage en rendant orthogonales les lois ainsi générées pour les différents réseaux. Le premier consiste à particulariser pour chaque réseau une loi générée de façon identique pour tous, et ayant les mêmes eléments secrets pour touS. Par exemple, en additionnant modulo deux, chaque bit du numéro de réseau R. a un des bits du mot binaire pseudo-aléatoire généré selon la loi commune a tous les réseaux. L'inconvénient de ce type de procédé est que la capture d'un poste par un ennemi lui permet de connaître les données secrètes communes à tous les réseaux, et donc d'intercepter les communications ou les brouiller. Le deuxième type de procède consiste a repartir les fréquences en lots, en attribuant chaque fréquence une seule fois. Chaque reseau possède, dans une mémoire, un lot de fréquences sans aucune fréquence commmune avec un autre réseau: chaque réseau a une loi pseudo-aléatoire quelconque, non connue des autres. Ct procédé a pour inconvenient de reduire beaucoup le nombre de frequences utilisables pour chaque réseau, et, par conséquent, de faciliter une interception ou un brouillage. Le troisième type de procédé consiste à choislr des eléments secrets tels que les lois générées soient orthogonales. Un exemple de mise en oeuvre d'un tel procédé consiste à genérer les n bits déterminant la fréquence F. d'un reseau en utilisant n generateurs pseudo-aleatoires, p initialisés par n clés secrétes Ki, judicieusement choisies (p = l, ..., n). Le processus de choix des clés est complexe, et le matériel est coûteux à cause du nombre élevé, n, des générateurs pseudo-aléatoires dans chaque dispositif. La présente invention a pour objet de remedier a ces inconvenients par des moyens simples de generation de lois orthogonales evitant le brouillage et assurant de plus une grande sécurité des liaisons. Selon l'invention un procedé de génération de 2 lois temporelles pseudo-aléatoires + i dites orthogonales, fournissant chacune un mot binaire de n bits, ou n et r sont deux nombres entiers tels que n)) r, et qui est différent pour chaque loi L'invention sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description ci-aprés et des schémas s'y rapportant: - La figure l représente le schéma synoptique d'un exemple de realisation d'un dispositif générateur de loi temporelle pseudo-aléatoire + i utilise dans un systéme de genération de lois temporelles pseudo- aléatoires orthogonales suivant l'invention. - La figure 2 représente le schéma synoptique d'un exemple de réalisation d'une variante de ce dispositif. - La figure 3 représente le schéma synoptique d'un exemple de realisation d'un générateur de loi pseudo-aléatoire classique utilisé dans un exemple de realisation des disposîtits représentés par les figures l et 2. Le procédé objet de l'invention profite du fait que le nombre n des bits définissant la valeur de la fréquence F. d'un réseau, est en général tres supérieur au nombre r des bits définissant le nombre de réseaux parce que le nombre de fréquences disponibles est tres superieur au nombre de reseaux: n r Le procede consiste à generer chaque mot binaire de n bits, de la suite de valeurs numériques constituant une des lois pseudo-aléatoires orthogonales i i en réunissant dans un même mot binaire les r bits du numéro R. du réseau considéré et n-r bits fournis par un générateur de loi temporelle pseudo-aléatoire 9) i classique, initialisé par une clé secréte Ki propre au reseau Ri.L'algorithme mis en oeuvre par ce générateur est un algorithme cryptologique pour assurer son secret. Ce mot de n bits est chiffré par un algorithme cryptologique classique de transformation par bloc, T, qui lui fait correspondre, de façon bijective, un mot de n bits qui définit la fréquence F.. Cet algorithme et sa cle d'initialisation K sont communs à tous les réseaux. Du fait que cette transformation, T, est bijective et commune à tous les réseaux, deux numéros de réseaux différents, engendrent deux fréquences différentes. L'orthogonalité des lois 4 i des différents réseaux est donc assurée. Du fait que la clé K. est propre a chaque reseau, la securite des autres réseaux est conservée si un des postes est capturé. Un tiers, dans un tel cas, pourrait essayer d'intercepter les communications d'un autre réseau en essayant toutes les clefs K. possibles. Pour l'empêcher de réussir il faut que le nombre de combinaisons possibles soit très élevé, ce qui est réalisé si n - r est grand. En general cette condition peut être realisée car le nombre de frequences disponibles est très supérieur au nombre de réseaux. Ce procédé peut être amélioré : en effet dans le procédé décrit ci-dessus, chaque réseau n'utilise que 2n r fréquences et non 2n, car seul le mot de n-r bits est variable. Pour y remedier, une variante consiste a remplacer les r bits fixes des numéros de reseau R. par r bits fournis par des générateurs de lois pseudo-aléatoires orthogonales mettant en oeuvre un procédé connu antérieurement tel que celui du premier type décrit dans le paragraphe concernant l'art antérieur. Le mot de r bits et le mot de n-r bits prenant alors toutes les valeurs possibles, la fréquence prend toutes les valeurs possibles. Dans ce cas la transformation T n'est pas strictement indispensable mais elle améliore la sécurité du procedé en brouillant les bits des deux parties du mot de n bits définissant la fréquence F.. La figure l représente le schéma synoptique d'un exemple de réalisation d'un dispositit générateur de loi pseudo-aléatoire utilisé dans un système de génération de lois pseudo-aléatoires orthogonales mettant en oeuvre le procédé objet de l'invention. Un dispositif de calcul 7, mettant en oeuvre une transformation T du type calcul par bloc pour chiffrement, est initialisé pal une clé K fournie par une mémoire 6. La transformation T est appliquée à un mot binaire de n bits constitue de la réunion, d'une part, des r bits du numero de réseau R. contenu dans une mémoire I dite mémoire de numéro de réseau, et d'autre part, de n-r bits fournis par un générateur de lois 9 i pseudo-aléatoires, 2, initialisé par une clé K. contenue dans une mémoire 3 dite mémoire de clé K i. La clé K est commune a tous les reseaux, alors que la cle K. est o i propre au réseau R.. La transformation T est la même pour tous les dispositifs de la collection de réseaux. Par contre les générateurs 2 peuvent être différents, à condition de fournir n-r bits et d'être synchrones. Ils mettent en oeuvre des algorithmes de cryptologie, difficiles à identifier par un tiers. La sortie du dispositil de calcul 7, constitue la sortie 8 du dispositif selon l'invention. Elle fournit un mot de n bits, variant dans le temps suivant une loi . définissant la valeur Fi de la fréquence du réseau Ri. La figure 2 représente le schéma synoptique d'un exemple de réalisation d'une variante d'un dispositif du système selon l'invention, mettant en oeuvre une variante du procede decrit précédemment. Les r bits, différents pour chaque reseau, qui sont fournis au dispositif de calcul 7, ne sont plus fixes, mais varient pseudo-aléatoirement en fonction du temps suivant une loi tri. Ils sont fournis par un générateur classique de lois pseudo-aléatoires orthogonales, par exemple constitué d'un ensemble 12 de r additionneurs modulo deux, recevant chacun sur une entrée un des bits du numéro de réseau R. et sur l'autre entrée un bit parmi les r bits fournis par un générateur 10 de lois pseudo aléatoires ri. i Le numéro de réseau R. est stocké dans une mémoire dite mémoire de numéro de réseau 11 et les données d'initialisation du générateur 10, une clé K, sont stockees dans une mémoire 9 dite mémoire de clé Kp L'algorithme utilisé par le générateur 10 est un algorithme cryptologique classique, difficile à identifier par un tiers. La clé K est commune à tous les réseaux, et les générateurs 10 p de loi pseudo- léatoire loi sont identiques et synchrones dans tous les réseaux. Le mot de r -bits present en sortie des additionneurs 12 est variable dans le temps, mais toujours différent d'un réseau à un autre ce qui réalise l'orthogonalité des lois générées. Une variante simplifiée de ce dispositit est constituée par les mêmes éléments à l'exception de la mémoire 6 et du dispositif de calcul 7. Les n bits définissant la valeur de la loi i et fixant la valeur de la fréquence F. sont constitués par la reunion des r bits generés par les additionneurs 12 et des n-r bits générés par le générateur 2 de lois pseudoaléatoire 4, La sécurité est alors moins grande mais le matériel est simplifié. Les résultats sont essentiellement les mêmes : orthogonalité des lois générées et maintien de la sécurité même si un poste est capture. Les générateurs de lois pseudo-aléatoires, 2 et 10 peuvent etre de tout type classique en cryptologie. En particuiier peut être utilisé l'algori- thme Data Encryption Standard, bien connu et normalisé aux USA dans la publication FIINS nO 46 du NBS du 15 janvier 1977. Cet algorithme fournit bijectivement un mot de 64 bits, à partir d'un mot de 64 bits en clair et d'une clé secrète de 64 bits. Il peut facilement être adapté a des mots binaires de longueur inférieure à 64 bits et peut être mis en oeuvre en utilisant un des circuits intégrés spécialisés disponibles dans le commerce. Il assure une bonne protection du secret de la clé. Il peut être utilisé aussi dans le dispositif de calcul 7 pour réaliser la transformation T. La figure 3 représente le schéma synoptique d'un exemple de réalisation de générateur de loi pseudo-aléatoire par exemple le générateur 2, comportant un dispositif de calcul 20 appliquant cet algorithme. Une entrée multiple 4 reçoit de la mémoire 3 la clé Ki, qui est un mot binaire de 64 bits. Celle-ci est appliquee d'une part aux entrées parallèles d'un registre a décalage 19, comportant 64 étages et d'autre part aux 64 entrées, dites entrées de clé, du dispositif de calcul 20. Lors de l'initialisation, K est chargée dans ces deux dispositifs. Le registre 19 cornporte 64 sorties paralléles qui alimentent 64 entrees du dispositif 20 appelées entrees en clair.Une sortie quelconque parmi les 64 sorties paralléles du registre 19 d'une part, et d'autre part la sortie série de ce registre sont connectées respectivement à une des deux entrées d'un additionneur modulo deux, 18, qui alimente l'entrée série du registre 19. L'additionneur 18 et le registre 19 constituent un générateur classique et simple de mots pseudoSaléatoires de 64 bits. Ceux-ci sont chiffres par le dispositif de calcul 20, qui fournit 64 bits: ils sont mémorisés dans un registre tampon 21, et restitués sur 64 sorties parallèles. n-r bits, pris parmi les 64 bits disponibles, sont acheminés vers une sortie multiple 5 du dispositif 2. Des moyens de commande 22 fournissent les signaux d'horloge necessaires au registre à décalage 19, au registre 21, et au dispositif de calcul 20. Les signaux d'horloges de tous les générateurs de lois pseudoaléatoires de tous les réseaux travaillant sur une même collection de fréquences, sont synchronisés, par un quelconque des procedés connus. Il est possible aussi d'utiliser ce mode de realisation pour le générateur de lois pseudo-aléatoires 10 du dispositif de la figure 2. Le mode de réalisation décrit et représenté ne limite pas la portée de l'invention. Il est à la portée de l'homme de l'art de réaliser différemment les genérateurs de lois pseudo-aléatoires 2 et 10 et de particulariser par des moyens différents la loi pseudo-aleatoire fournie par le générateur 10. Les radiocommunications à évasion de fréquence sont un des domaines d'application du procédé et du système selon l'invention, mais la portée de celle-ci ne se limite pas à ce domaine. REVENDICATIONS l. Procédé de generation de 2r lois temporelles pseudo-aleatoires i' dites orthogonales, fournissant chacune un mot binaire de n bits, où n et r sont deux nombres entiers tels que n > ) r, et qui est différent pour chaque loi ssi à tout instant, i variant de I à 2r, caractérisé en ce que ce mot binaire est le résultat du chiffrement, par un algorithme cryptologique identique et initialisé identiquement pour toutes les lois iE i d'un mot binaire de n bits réunion d'un mot binaire de r bits, différent pour chaque loi (ii et d'un mot binaire de n-r bits suivant une loi Çi pseudoaléatoire différant pour chaque loi + i au moins par ses données d'initialisation. 2. Procédé selon la revendication l, ou le mot binaire de n bits fourni par chaque loi 4? i peut prendre les 2n valeurs possibles, caractérisé r en ce que le mot binaire de r bits est variable dans le temps et prend 2 valeurs suivant une loi temporelle pseudo-aléatoire qui générée selon un procédé connu, et en ce que les lois wi sont orthogonales entre elles. 3. Procédé de génération de 2 lois temporelles pseudo-aléatoires Q)i' dites orthogonales, fournissant chacune un mot binaire de n bits pouvant prendre les 2n valeurs possibles, où n et r sont deux nombres entiers tels que n r, i variant de l à 2r et où la valeur fournie par chaque loi i est différente des autres à tout instant, caractérisé en ce que ce mot de n bits est la réunion d'un mot binaire de r bits, prenant 2r valeurs suivant une loi temporelle pseudo-aléatoire ti, différente pour chaque loi + is générée selon un procédé connu et telle que toutes les lois soient orthogonales entre elles, et d'un mot binaire de n-r bits suivant une loi Wli pseudo-aléatoire, différant pour chaque loi i au moins par ses données d'initialisation. 4. Systéme destiné à la mise en oeuvre du procede selon la revendication I, composé de collections de dispositifs générateurs ou tous les dispositifs d'une de ces collections génèrent une loi pseudo-aléatoire Q i orthogonale par rapport aux lois générées par les dispositifs des autres collections, caractérisé en ce que chaque dispositif générateur comporte un dispositif de calcul (7) pour réaliser le chiffrement de n bits selon un algorithme et des données d'initialisation identiques pour tous les disposi tifs générateurs du système, une mémoire (6) dite mémoire de clé Ko, pour stocker les données d'initialisation K du dispositif de calcul (7), des moyens pour fournir au dispositif de calcul (7) un mot binaire de r bits différent pour chaque loi #i à tout instant, un générateur de loi temporelle pseudo-aléatoire 4' w (2), pour fournir un mot de n-r bits au dispositif de calcul (7): la réunion de ces n-r bits avec les r bits fournis par la mémoire (l) constituant le mot en clair de n bits que chiffre le dispositif de calcul (7) une mémoire (3) dite mémoire de clé Ki, pour stocker les données d'initialisation Ki du générateur (2), une sortie multiple (8) pour acheminer le mot chiffré de n bits issu du dispositif de calcul (7) et constituant la valeur numérique fournie par loi (≈i; et en ce que le générateur de lois temporelles pseudo-aléatoires Çi, (2) diffère, pour chaque loi i i genéree1. au moins par ses données d'initialisation Ki. 5. Systéme selon la revendication 4, caractérisé en ce que les moyens fournissant un mot de r bits au dispositif de calcul (7) comportent une mémoire stockant ce mot binaire. 6. Système selon la revendication 4, destiné à la mise en oeuvre du procédé selon la revendication 2, caractérisé en ce que les moyens fournissant un mot de r bits au dispositit de calcul (7) comportent un ensemble (12) de r additionneurs modulo deux pour additionner bit à bit deux mots binaires de r bits, une mémoire (I (11) dite mémoire de numéro de réseau Ri, pour fournir un premier mot binaire de r bits, un générateur de loi temporelle pseudo-aléatoire #i (10), pour fournir aux additionneurs r (12) un deuxième mot binaire de r bits, prenant 2 valeurs distinctes, cette valeur étant la même, à un instant donné, pour toutes les lois générées ii, une mémoire (9) dite mémoire de clé K pour fournir des données p d'initialisation K au générateur (10). p 7. Système destiné à la mise en oeuvre du procédé selon la revendication 3, compose de collections de dispositifs générateurs ou tous les dispositifs d'une de ces collections génèrent une loi pseudo-aléatoire #i orthogonale par rapport aux lois géliérées par les dispositifs des autres collections, caractérisé en ce que chaque dispositif générateur comporte un ensemble (12) de r additionneurs modulo deux pour additionner bit à bit deux mots binaires de r bits, une mémoire (11) dite mémoire de numéro de réseau Ri, pour fournir un premier mot binaire de r bits, un générateur de loi temporelle pseudo-aléatoire #i (10) pour fournir aux additionneurs (12) un deuxième mot binaire de r bits, prenant 2 valeurs distinctes, cette valeur étant la même à un instant donne pour toutes les lois 4i generees, une mémoire (9) dite inemoire de cle K pour fournir des données p d'initialisation K au generateur (10); un genérateur (2) de lois temporelles p n-r pseudo-aléatoire ç i pour fournir un mot binaire de n-r bits, prenant 2 valeurs distinctes, une mémoire (3) dite mémoire de clé Kj pour fournir des donnees d'initialisation K au generateur (2): en ce que l'algorithme mis en oeuvre par le genérateur (2) diffère, pour chaque loi ii générée, au moins par ses données d'initialisation Ki, et en ce que chaque dispositif genérateur comporte une sortie multiple constituée de la reunion des r sorties de l'ensemble d'additionneurs (1Z) et des n-r sorties du générateur (2).