Brevet FR2958057A1 — publié le 20110930

Générateur de séquences chaotiques, système de génération, procédé de mesure d'orbite et programme d'ordinateur correspondants La présente invention concerne un générateur de séquences chaotiques de valeurs entières. Elle concerne également un système de génération de séquences chaotiques un système de cryptage, un procédé de mesure de la longueur de l'orbite d'une séquence chaotique discrète et un programme d'ordinateur correspondants. Plus particulièrement, l'invention se rapporte au domaine de la sécurité des données partagées, transmises et stockées dans les réseaux de transmission d'informations. Le transfert des données confidentielles (documents d'entreprise, informations médicales, résultats de recherche, informations personnelles de types photos et vidéos, etc.) dans un environnement ouvert utilisant les canaux usuels de communication (câbles, Internet, Radio-mobiles, satellites,...) doit être réalisé avec une sécurité maximale et un débit suffisant. A cet effet, les crypto-systèmes basés sur les signaux chaotiques sont adéquats pour atteindre les objectifs cités. Un élément déterminant dans tout cryptosystème basé chaos est le générateur des séquences chaotiques, qui sert à la génération des clés secrètes et au processus de chiffrement/déchiffrement des données dans les opérations de substitution et de permutation. La confidentialité des données dépendra entre autres du degré du chaos (c'est-à-dire de l'aléatoire) des séquences produites par le générateur des séquences chaotiques utilisé. Cependant, les signaux chaotiques n'ont pas été largement utilisés dans l'état de la technique des systèmes de cryptage, en raison de leur périodicité selon des cycles de longueur finie assez faible. Le document « Design and Analyses of Efficient Chaotic Generators for Crypto-Systems » de Safwan El Assad et al. dans Advances in Electrical and Electronics Engineering IAENG Special Edition of the World Congress on Engineering and Computer Sciences 2008, Vol. 1, pages 3 à 12 décrit un générateur de séquences chaotiques de valeurs entières destinées notamment à former des clés de cryptage d'informations, le dit générateur comprenant au moins deux filtres récursifs discrets d'ordre au moins égal à 1 générant en sortie une séquence chaotique de valeurs entières, chaque filtre récursif comprenant des moyens de mise en oeuvre d'une fonction non linéaire, raccordés à travers une porte ou-exclusif à des moyens de génération d'une séquence de perturbation. Dans le document précité, les deux filtres récursifs sont montés en série, ce qui provoque de longs temps de calcul pour la génération des séquences chaotiques. Le but de l'invention est de résoudre ce problème. A cet effet, l'invention a pour objet un générateur de séquences chaotiques eu(n), n étant un entier strictement positif, de valeurs entières représentées sur un nombre de bits de quantification N déterminé, destinées notamment à former des clés de cryptage d'informations, ledit générateur comprenant au moins deux filtres récursifs discrets d'ordre au moins égal à 1 générant en sortie une séquence chaotique de valeurs entières, chaque filtre récursif comprenant des moyens de mise en oeuvre d'une fonction non linéaire F, raccordés à travers une porte ou-exclusif à des moyens de génération d'une séquence de perturbation Q(n) de valeurs entières représentées sur un nombre de bits de quantification k déterminé, caractérisé en ce que les deux filtres sont montés en parallèle, la séquence chaotique eu(n)de sortie du générateur étant égale à un ou- exclusif des séquences chaotiques de sortie des filtres récursifs. Selon d'autres aspects de l'invention, le générateur de séquences chaotiques comprend l'une ou plusieurs des caractéristiques suivantes : - les moyens de génération d'une séquence de perturbation dans chaque filtre comprennent un registre à décalage à réaction à longueur maximale utilisant un polynôme primitif de degré k, - l'ordre de chaque filtre récursif est inférieur ou égal à 3, - les moyens de mise en oeuvre de la fonction non linéaire comprennent une carte chaotique linéaire par morceaux PWLCM, -les séquences eu;(n) de sortie de chaque filtre récursif j = 1,2 sont données par la relation eu1(n)=F(X1(nù1),P)O+ Q(n) où F(X;(nù1),P)= 2N xX1(nù1) P 2N x[X1(nù1)ùPl 2N-1 - P 2N x[2N -1ùX1 (nù1)ùPl 2N-1 - P 2N x[2N -1ûX1(nû1)] P0X1(nù1)P PXi(nù1) 3 -P est un paramètre de contrôle dont la valeur est inférieure à 2Nù1 - k,,1(n) est la séquence d'entrée du filtre récursif j, - Cil, c;2, c;3 représentent les coefficients du filtre récursif j, - l'opération Lx] consiste à retourner le plus grand entier plus petit ou égal à x , - l'opération mod(X,2N) consiste à effectuer le modulo 2N de X, et - les moyens de mise en oeuvre de la fonction non linéaire comprennent une carte chaotique de type « SKEW-Tent ». L'invention concerne également un système de génération de séquences chaotiques comprenant au moins un ensemble de 14 générateurs de séquences chaotiques selon l'invention, lesdits générateurs étant répartis en deux groupes de 7 générateurs chacun, caractérisé en ce qu'il comprend : - un premier multiplexeur analogique permettant de sélectionner la sortie d'un premier générateur parmi les générateurs du premier groupe, - un deuxième multiplexeur analogique permettant de sélectionner la sortie d'un deuxième générateur parmi les générateurs du deuxième groupe, les sorties des deux multiplexeurs étant raccordées à une porte ou-exclusif générant en sortie la séquence chaotique, et - des moyens d'adressage des multiplexeurs comprenant un registre à décalage à réaction raccordé à une horloge dont la période est fonction de la longueur de la séquence chaotique. Selon d'autres aspects de l'invention, le système de génération de séquences chaotiques comprend l'une ou plusieurs des caractéristiques suivantes : - il comprend deux ensembles montés en parallèle de 14 générateurs de séquences chaotiques chacun, la séquence chaotique générée en sortie du système de génération étant égale à un ou-exclusif des séquences chaotiques générées aux sorties des deux ensembles de 14 générateurs, - les polynômes primitifs des registres à décalage à réaction du premier ensemble de générateurs sont différents des polynômes primitifs des registres à décalage à réaction du deuxième ensemble de générateurs, - il comprend des moyens d'élimination d'une quantité déterminée d'échantillons des séquences chaotiques générées par le système, et - il comprend des moyens de quantification des séquences chaotiques générées. L'invention concerne aussi un système de cryptage, caractérisé en ce qu'il comprend un tel système de génération de séquences chaotiques, ledit système de génération de séquences chaotiques étant utilisé pour la génération de clés secrètes et dans les procédures de chiffrement/déchiffrement du système de cryptage. L'invention concerne également un procédé de mesure de la longueur de l'orbite, formée d'un transitoire et d'un cycle, d'une séquence chaotique discrète d'échantillons, la longueur de ladite orbite étant égale à la somme des longueurs du transitoire et du cycle de la séquence, caractérisé en ce qu'il comprend les étapes de : - génération d'une sous-séquence initiale consistant en un nombre Nt déterminé d'échantillons de la séquence chaotique ; - uniquement si la sous-séquence ne comprend pas de cycle, génération itérative d'une sous-séquence suivante consistant en un nombre N't déterminé d'échantillons de la séquence chaotique jusqu'à ce que la sous-séquence globale formée de toutes les sous-séquences générées comprenne un cycle, et - calcul de la longueur de l'orbite de la séquence chaotique à partir des longueurs du transitoire et du cycle de la sous-séquence globale. L'invention concerne en outre un procédé de mesure de la valeur de l'orbite d'un filtre récursif discret du générateur de séquences chaotiques selon l'invention, caractérisé en ce qu'il comprend les étapes du procédé de mesure précité. L'invention concerne enfin un programme d'ordinateur comprenant des instructions de code qui, lorsque ce programme est exécuté sur un ordinateur, permettent la mise en oeuvre des étapes d'un tel procédé de mesure. Ainsi, l'invention permet de pallier les inconvénients du générateur de séquences chaotiques du document précité en proposant un montage en parallèle des deux filtres récursifs du générateur. En outre, le système de génération de séquences chaotiques selon l'invention comportant une pluralité de générateurs de séquences chaotiques permet de générer des signaux chaotiques discrets de périodes très longues, pouvant atteindre plusieurs siècles. Ceci est très important pour la sécurité des données, car avec de telles séquences chaotiques non répétitives, il est possible de générer des clés de cryptage de très grandes tailles. De plus, le procédé de mesure de la longueur de l'orbite d'une séquence chaotique selon l'invention permet de mesurer de façon précise la longueur de l'orbite de toute séquence chaotique de manière rapide et efficace. On va maintenant décrire des modes de réalisation de l'invention de façon plus précise mais non limitative en regard des dessins annexés, sur lesquels : - la figure 1 est un schéma synoptique illustrant la structure et le fonctionnement d'un générateur de séquences chaotiques selon l'invention, - la figure 2 est un schéma synoptique illustrant le principe de la perturbation de séquences chaotiques, - la figure 3 est un schéma synoptique illustrant la structure et le fonctionnement d'un système de génération de séquences chaotiques selon l'invention, - la figure 4 est un organigramme illustrant le fonctionnement du procédé de mesure de la longueur de l'orbite d'une séquence chaotique selon l'invention, et - la figure 5 est un organigramme illustrant le fonctionnement du procédé de mesure de la longueur de l'orbite d'une séquence chaotique générée par un filtre récursif d'ordre 3. La figure 1 illustre un générateur 2 de séquences chaotiques eu (n), n étant un entier strictement positif, de valeurs entières représentées sur un nombre de bits de quantification N déterminé. La séquence chaotique eu (n) générée est destinée notamment à former des clés de cryptage d'informations et à être utilisée dans les processus de chiffrement/déchiffrement dans les opérations de substitution et de permutation pour la sécurité des données partagées, transmises et stockées. Le générateur 2 comprend au moins deux filtres récursifs discrets 4 et 6 d'ordre au moins égal à 1 et de préférence égal à 3 comme sur la figure 1. Il est cependant possible d'utiliser des filtres récursifs 4 et 6 d'ordre 1 ou 2. Le premier filtre récursif 4 génère en sortie une séquence chaotique eu, (n) de valeurs entières. Le deuxième filtre récursif 6 génère en sortie une séquence chaotique eue (n) de valeurs entières. Les filtres récursifs 4, 6 comprennent des moyennes de mise en oeuvre d'une fonction non linéaire F 8, 10 respectivement raccordés à travers une porte ou exclusif 12, 14 respectivement à des moyens de génération d'une séquence de perturbation Q(n) 16, 18 respectivement. Les moyens de génération d'une séquence de perturbation 16, 18 dans les filtres récursifs 4, 6 respectivement comprennent un registre à décalage à réaction à longueur maximale m-LFSR (« Maximal-Length Linear Feedback Shift Register ») 16, 18 respectivement. Le rôle de la séquence de perturbation sera décrit de manière plus détaillée en référence à la figure 2. Selon l'invention, les deux filtres récursifs 4 et 6 sont montés en parallèle de sorte que la séquence chaotique eu (n) en sortie du générateur 2 est égale à un ou-exclusif 20 des séquences chaotiques eu, (n) et eue (n) en sortie des filtres récursifs 4, 6. 6 Les deux filtres récursifs 4, 6 comprennent des entrées libres ku,(n) et ku2 (n) respectivement. Dans le cas de filtres récursifs 4, 6 d'ordre 3, comme représentés sur la figure 1, chacun des filtres 4, 6 comprend trois retards 22, 24, 26 et 28, 30, 32 respectivement trois 5 opérateurs multiplicateurs de gain c,,, c12 et c13 pour le premier filtre récursif 4 et c21, c22,c23 pour le deuxième filtre récursif 6 et trois additionneurs modulo 2N 34, 36, 38 et 40, 42, 44 respectivement. Les moyens de mise en oeuvre d'une fonction non-linéaire 8, 10 comprennent des circuits mettant en oeuvre la fonction xlogx ou la fonction xexp[cos (x)] ou bien une carte 10 de Chebyshev ou une carte SKEW-Tent ou encore une carte chaotique linéaire par morceaux PWLCM (« Piecewise Linear Chaotic Map »). Les simulations menées par les inventeurs indiquent que c'est la carte PWLCM qui donne les meilleurs résultats en termes d'efficacité vis-à-vis de la cryptanalyse et de la simplicité de réalisation. 15 Dans le mode de réalisation de la figure 1 utilisant une carte PWLCM, la sortie où P est un paramètre de contrôle vérifiant o avec : Xi (n -1) = mod[kui (n-1)+cil xeui (n-1)+ci2 xeui (n-2)+ci3 xeui(n-3), 2N] J=1, 2 - k,,;(n) est la séquence d'entrée du filtre récursif j, - Cil, C;2, C;3 représentent les coefficients du filtre récursif j, l'opération Lx] retourne le plus grand entier plus petit ou égal à x (fonction « Floor ») et l'opération mod(X,2N) consiste à effectuer le modulo 2N de X. Le générateur 2 produit des valeurs chaotiques entières et non réelles. Ceci est primordial, car dans ce cas, les valeurs générées en émission et en réception dépendent seulement du nombre N choisi et non de la précision des moyens de calculs utilisés. Autrement, la clé secrète peut être interprétée différemment en réception par rapport à l'émission et vu l'extrême sensibilité du système à la clé secrète, les valeurs générées en émission et en réception risquent d'être différentes. Notons cependant, que l'opération de discrétisation dégrade les dynamiques chaotiques de la carte chaotique initiale (avant discrétisation car : X(n)t2N Xx(n) où x(n)E R{0,1} où R{0,1} désigne l'ensemble des nombres réels compris entre 0 et 1. La technique de cascade de deux filtres récursifs en parallèle permet d'augmenter la longueur du cycle par rapport à l'utilisation d'un seul filtre. En effet, si nous désignons par 11 la longueur du cycle du premier filtre 4 et par 12 la longueur du cycle du deuxième filtre 6, alors la longueur 1 du cycle de générateur composé de deux filtres récursifs en parallèle est le plus petit commun multiple (ppcm) de 11 et de 12, soit : 1 = ppcm (11, 12,) avec 1 5 11 5 (2N -1)3, 1 5 12 5 (2N -1)3. Si, le plus grand diviseur (pgcd) de 11 et 12 est égal à l'unité, soit : pgcd (l,12)=1 alors : 1=11x12, En outre, le générateur 2 intègre une technique de perturbation de l'orbite chaotique ce qui permet non seulement de résoudre le problème de la dégradation des dynamiques chaotiques, mais aussi d'augmenter considérablement la longueur des cycles et d'assurer une sécurité maximale. La figure 2 illustre le principe de la perturbation d'une séquence chaotique générée par un générateur chaotique standard tel une carte PWLCM 46 faisant partie d'un filtre récursif 47 d'ordre 1. La séquence de perturbation Q(n) générée à l'aide d'un registre à décalage à réaction 48 à longueur maximale a pour rôle de perturber l'orbite chaotique du générateur 46 lui permettant ainsi d'accéder à une nouvelle orbite. Le registre de décalage à réaction 48 utilise un polynôme primitif de degré k, de sorte que la séquence de perturbation Q (n) générée est représentée sur k bits. Le registre 48 est caractérisé par une bonne fonction d'auto-corrélation, une distribution presque uniforme, un cycle de longueur maximale égale à 2k-1 et une implémentation logicielle ou matérielle facile. En partant de l'équation du générateur 46 : X(n)=F[X(n-1)] E2N-1 n=1,2,.... où chaque valeur X(n) est représentée par N bits : X(n) = xN-1(n)xN-2(n)...x;(n) ... xo(n) xi(n) LAb = [0,1] i=0,1,...N-1. Par ailleurs, en notant A l'horloge du registre 48, la perturbation n'est appliquée à la séquence chaotique générée par le générateur 46 que si n = m x A avec m un entier, c'est-à-dire pour n = 0 et toutes les A itérations. L'horloge A du registre 48 représente ainsi le cycle minimal du filtre récursif 47 sans perturbation. En effet, si : euj(n)=xj,Nû1(n)xj,Nû2(n)...xji(n)....xjo(n) xj,i(n)EAb=[0,1] i=0,1,...Nù1; j=1,2 alors : F[x1i (nù1),P] k OÙ F[x1 i(n-1)] représente le ième bit de F[X1(n-1), P] et Qi(n) représente le ième bit de la séquence de perturbation, telle que : r l r r l Q:_1(n) ùQk(n)ùgoQO(n)O+ g1Q1(n)0+...gk 1Qk 1(n) où n=0,1,2, ..., [go, g1i ..., gk-1] sont les coefficients du polynôme primitif du registre à décalage 48 et [Qo, Q1, •••, Qk-1] représente la valeur initiale non nulle du registre 48. Notons que la séquence perturbatrice est appliquée sur les k bits de poids faibles de F[X(n-1)]. Si n # m x A, m = 0, 1, 2, ..., la sortie du générateur de séquences chaotiques n'est pas perturbée, donc : X(n)= F[X(n-1)] La période du filtre récursif 47 perturbé est donnée par : L=GxAx(2k-1) où G est un entier positif. La période minimale du filtre récursif 47 perturbé est alors : Lmin = A x (2k-1). En outre, la séquence perturbatrice Q générée par le registre à décalage à réaction 48 a une amplitude nettement plus faible que celle de la séquence chaotique générée par le générateur 46 de sorte que le rapport R entre les deux amplitudes maximales est supérieur ou égal à 40 dB : Amplitude max imale du signal chaotique 40 dB. Amplitude max imale du signal perturbateur La figure 3 illustre la structure d'un système de génération 100 de séquences chaotiques selon l'invention. Le système de génération 100 comporte vingt huit générateurs 101 à 128 de séquences chaotiques analogues au générateur 2 de la figure 1. Les 28 générateurs 101 à 128 sont répartis en deux ensembles de générateurs, le premier ensemble comprenant les 14 générateurs 101 à 114 et le deuxième ensemble comprenant les 14 générateurs 115 à 128. Chaque ensemble de 14 générateurs comprend deux groupes de 7 générateurs dont les sorties sont raccordées aux entrées d'un multiplexeur analogique 8 vers 1. Ainsi, les sorties des générateurs 101, 103, 105, 107, 109, 111 et 113 sont raccordées aux entrées d'un multiplexeur 130 et les sorties des générateurs 102, 104, 106, 108, 110, 112 et 114 sont raccordées aux entrées d'un multiplexeur 132. Les sorties des générateurs 115, 117, 119, 121, 123, 125 et 127 sont raccordées aux entrées d'un multiplexeur 134 et les sorties des générateurs 116, 118, 120, 122, 124, 126 et 128 sont raccordées aux entrées d'un multiplexeur 136. En outre, les sorties des générateurs 130 et 132 sont raccordées à une porte ou- exclusif 138 et les sorties des générateurs 134 et 136 sont raccordées à une porte ou-exclusif 140, les sorties des deux portes ou-exclusif 138 et 140 étant raccordées à une porte ou-exclusif 142. Les multiplexeurs 130, 132, 134, 136 sont raccordés à des moyens d'adressage desdits multiplexeurs comprenant un registre à décalage à réaction 144 à trois étages raccordé à une horloge ck 146. Les valeurs des bits dans les trois étages du registre 144 sont notées Q2, Q,, Qo. En outre, selon un mode de réalisation particulier de l'invention, le système de génération 100 de séquences chaotiques comprend des moyens d'élimination 148 d'une quantité déterminée d'échantillons des séquences chaotiques générées par le système, par exemple un pourcentage p% d'échantillons. R = 201og Le système de génération 100 comprend également, de préférence, des moyens de quantification 150 des séquences chaotiques générées sur un nombre de bits Nq inférieur à N. Les moyens d'élimination 148 et les moyens de quantification 150 permettent d'augmenter la taille de la clé secrète, ce qui a pour conséquence une amélioration de la sécurité. Bien que la figure 3 illustre un système de génération 100 comprenant 28 générateurs chaotiques, dans un autre mode de réalisation de l'invention non représenté uniquement 14 générateurs chaotiques sont proposés ce qui correspond à un système de génération consistant en la moitié du système 100 de la figure 3. Les expressions des vingt huit polynômes primitifs P-G1 à P-G28 des registres à décalage à réaction pour la perturbation des 28 générateurs 101 à 128 respectivement de la figure 3 et du polynôme primitif g du registre à décalage à réaction RDR 144 utilisé pour l'adressage des multiplexeurs 130, 132, 134 et 136 sont les suivantes : 11 P-G1:gi(x)=x16+x12+x3+x+l ,ou [16, 12, 3, 1, 0]; PùG3: g3(x)=x16+x12+x7+x2+1 PùG5: g5(x)=x16+x9+x5+x2+1 PùG7: g7(x)=x16+x15+x9+x4+1 P ùG9 : g9 (x) = x16 + x12 + x9 +x6 +1 P-G11:(x)=x16+x10+x7+x6+1 PùG13:gi3(x)=x16+x9+x4+x3+1 P-G2: g2(x) = x17 +x3 +1 P -G4 : g4 (x) = x17 + x16 + x3 + x +1 PùG6: g6(x)=x17+x8+x7+x6+x4+x3+1 P-G8: g8(x) = x17 +x9 + x8 +x6 + x4 + x +1 P ù G10 : gio (x) = x17 + x7 +x4 + x3 +1 P-G12:g12(x)=x17+x12+x6+x3+x2+x+1 PùG14:gi4(x)=x17+x11+x8+x6+x4+x2+1 Pù G15 : g15(x) = x19 +x5 + x2 + x +1 PùG17:g17(x)=x19+x12+x10+x9+x7+x3+1 PùG19:g19(x)=x19+x13+x8+x5+x4+x3+1 P-G21: g21 (x) _ x19+x18+x17+x16+x12+x7+x6+x5+x 3+x+1 P ùG23 : g23(x) = x19 + x9 + x8 + x7 + x6 + x3 +1 PùG25:g25(x)=x19+x16+x15+x13+x12+x9+x5+x4+x2+x+1 P-G27: g27(x) _ x19+x18+x15+x14+x11+x10+x8+x5+x3+x2+1 P-G16:g16(x)=x23+x5+1 PùG18:g18(x)=x23+x12+x5+x4+1 P ù G20 : g2o (x) = x23 + x11 + x10 + x7 + x6 Pù G22 : g22 (x) =x23 + x17 + x11 + x5 +1 P-G24:g24(x)=x23+x21+x7+x5+1 PùG26:g26(x)=x23+x5+x4+x+1 PùG28:g28(x)=x23+x16+x13+x6+x5+x3+1 RDR : g (x) = x3 + x + 1 Le fonctionnement du système de génération 100 de séquences chaotiques est décrit dans la suite de la description en référence à la figure 3. D'abord, les vingt-huit générateurs 101 à 128 et le registre à décalage à réaction 5 144 sont initialisés. L'ensemble des conditions initiales et des paramètres des différents générateurs et des différents registres à décalage à réaction du système 100 forme la taille de la clé secrète. Ensuite, à chaque état j = 1 , 2, ... 7 du registre 144 à 3 étages, cadencé par l'horloge ck 146, la longueur de la séquence chaotique en sortie de la porte ou-exclusif 142 est donnée par : L' = ppcm[Ljminl, Ljmin2l mm 1=1, z; ,~ où : - ppcm indique le plus petit commun multiple, - Ljmin 1 indique la longueur de la séquence chaotique en sortie de la porte ou-exclusif 138 qui est donnée par relation : Ljminl~1 2,...,7 =ppcm{[2k(2j-1) -1I XAk(zi u,[ k(21) -11 XAk(zi)} où : Ok(2j-1) et Ok2j représentent respectivement les périodes de deux générateurs sans perturbation sélectionnés (du premier groupe formé de 14 générateurs 101 à 114) portant les indices (2j-1)+ 100 et 2j+100 avec j allant de 1 à 7. - Ljmin2 indique la longueur de la séquence chaotique en sortie de la porte ou-exclusif 140 qui est donnée par la relation : L j min 2j 1, 2,...,7 l = ppc~n S L2k(14+zi-i) -1] x 4k(la+z = 2k(14+21) _11 xLk(14+2i) } où : Ok(14+2j-1) et Ok(14+2j) représentent respectivement les périodes de deux générateurs sans perturbation sélectionnés (du deuxième groupe formé de 14 générateurs 115 à 128) 25 portant les indices (14+2j-1)+ 100 et (14+2j)+100 avec j allant de 1 à 7. La période de l'horloge ck 146 du registre à 3 étages 144 est donnée par Lck = Min ~LJ 1, 2,...,7 La longueur minimale de la séquence chaotique générée en sortie des moyens 30 d'élimination d'échantillons 148 est alors donnée par Lin =7XLck[1ù p%] . Cette longueur est extrêmement longue. 13 En effet, la valeur du cycle nominal Anom d'un générateur de séquences chaotiques classique non perturbé est de l'ordre de onom = , J(2N )3 = 23N 2 = 248 pour N = 32 . A cet effet, l'article de O.E. Lanford III « Informai Remarks on the Orbit Structure of Discrete Approximation to Chaotic Maps » dans Experimental Mathematics, 1998, vol. 7, n ° 4, pp 317-324 donne la valeur de Anom ci-dessus. Cette valeur est en outre vérifiée par le procédé de mesure d'orbite selon l'invention. La longueur minimale du cycle du filtre récursif perturbé 47 est alors (pour un degré minimal k=16 du registre RDR 48) lmm=onomX216 =264 Ainsi, la longueur de la séquence chaotique est donnée par : Lmin = 7 x 2i28 échantillons ce qui est colossal, l'âge de l'univers étant de l'ordre de 1010 ans. Avec une telle séquence chaotique, il est possible de chiffrer pratiquement 1032 images différentes, la taille de chacune étant de 3 x 1024 x 1024 x32 bits. Cette séquence chaotique est donc idéale pour être utilisée comme un masque jetable pour des canaux de communication ultra secrets comme « le téléphone rouge ». Par ailleurs, la taille de la clé secrète est très large, comparée aux clés des générateurs des signaux pseudo-aléatoires de l'état de l'art. Elle est formée de toutes les conditions initiales et des paramètres des différents générateurs et des différents registres à décalage à réaction. De ce fait, les différents types d'attaques (exhaustive, à texte en clair choisi, à texte chiffré choisi, ...) sont pratiquement impossibles à réaliser. Chaque générateur perturbé possède une sous-clé composée de : 6 conditions initiales soit 6 x N bits, - 6 paramètres soit 6 x N bits, - 2 entrées ku soit 2 x N bits. Le registre 144 possède une sous-clé composée de : la condition initiale sur N1 = 16 bits minimum et A sur N2 = 64 bits minimum Par ailleurs, 5 bits sont nécessaires dont 2 bits pour indiquer le multiplexeur (1 parmi 4) utilisé suivis de 3 bits pour signaler le générateur perturbé (1 parmi 7) utilisé à l'entrée du multiplexeur en question. Il faut aussi 3 bits comme condition initiale pour le registre 144 qui adresse les multiplexeurs 130, 132, 134, 136. Enfin, il faut un nombre de bits minimum N3 # 128 bits pour zck . La taille de la clé secrète du système de génération 100 de la figure 3 est donc : NT 28x[14xN+N1+N2]+128=14912 bits Elle est énorme. A titre indicatif, la complexité d'une attaque exhaustive pour une clé à 128 bits est approximativement 2127 tentatives, ou clés possibles pour repérer la bonne clé. Faisant l'hypothèse qu'un ordinateur puisse essayer un million de clés par seconde, il faudra plus que 5x1024 années pour trouver la bonne clé. Il va de soi, que la taille de la clé secrète peut être plus petite que cela, selon l'application désirée. La suite de la description faite en référence aux figures 4 et 5 décrit le fonctionnement du procédé de mesure de la longueur de l'orbite d'une séquence chaotique selon l'invention. L'orbite d'une séquence chaotique est formée de deux parties qui sont un transitoire et un cycle. La longueur de l'orbite chaotique est notée = c + I où c est la longueur du cycle et I est la longueur du transitoire. Plusieurs résultats ont été donnés dans la littérature sur cette question et sur la simulation des nombres aléatoires, mais sans indiquer la méthode de mesure utilisée. Ces études indiquent entre autres que : pour un nombre No de conditions initiales différentes, le nombre moyen de cycles différents est : N c (No) = 1 û 1 Ln(No ) + 0.982 pour No 2 . k=1 2k -1 2 En effet, certaines conditions initiales ne génèrent pas de nouveaux cycles différents. Le système de génération 100 représenté à la figure 3 génère des cycles de longueurs tels qu'il est impossible de les mesurer. En effet, la longueur d'un filtre récursif perturbé seul est de l'ordre de llppom = 264. Il est donc nécessaire de disposer d'un procédé permettant de mesurer des orbites chaotiques en temps raisonnable. L'organigramme de la figure 4 illustre le fonctionnement du procédé de mesure de la longueur d'une orbite chaotique selon l'invention. En 200, pour chaque condition initiale différente et chaque valeur de paramètre, une sous-séquence initiale consistant en un nombre Nt déterminé d'échantillons de la séquence chaotique est générée. L'étape 204 teste si la sous-séquence générée comprend un cycle ou non. Si, en 206, l'orbite de la sous-séquence générée consiste uniquement en un transitoire, le processus de génération est poursuivi en 208 en générant en 200 une sous-séquence suivante consistant en un nombre N't déterminé d'échantillons de la séquence chaotique. De préférence N't = Nt de sorte que la sous-séquence globale obtenue est de longueur 2N1. Le test en 204 de la présence de cycle est alors recommencé et ainsi de suite jusqu'à ce que la sous-séquence globale comprenne un cycle en 210. Ainsi, à un certain moment, la sous-séquence globale de longueur Ng = W x Nt (avec W un entier positif) est composée d'un transitoire et d'un cycle de longueur non nulle. En 212, la longueur de l'orbite de la séquence chaotique est calculée comme étant la somme des longueurs du transitoire et du cycle de la sous-séquence globale. Le procédé de la figure 4 est répété pour toutes les conditions initiales et toutes les valeurs de paramètres. Une analyse statistique des longueurs des orbites obtenues permet alors de fixer la valeur de l'orbite nominale du générateur chaotique considéré. Ce procédé a été appliqué à la carte PWLCM seule avec N = 32 et au cas du filtre récursif 4, 6 d'ordre 3 non perturbé de la figure 1 avec N = 11. Ce choix permet de faire une analyse comparative entre les deux configurations considérées. L'étape 212 de mesure de la longueur de l'orbite de la séquence chaotique générée par le filtre récursif 4, 6 d'ordre 3 non perturbé est décrite de manière plus détaillée en référence à la figure 5. Etant donné que le filtre récursif 4, 6 comprend trois retards, la mesure de la longueur de l'orbite de la séquence chaotique générée par ce filtre 4,6 comprend la recherche des occurrences de trois valeurs successives en partant de la valeur du dernier échantillon généré, c'est-à-dire l'échantillon Ng. En notant Ind(1) l'adresse (dans le vecteur ligne des échantillons de taille Ng) du premier cycle trouvé et Indy) l'adresse du dernier cycle trouvé la longueur du cycle est calculée en 220 étant c = Ng û Ind(1). Ensuite en 222, le calcul suivant est effectué :j = Indy) û 1 et k = Ng û 1. En 224, un test d'égalité des valeurs des échantillons d'adresses j et k est effectué. Si les valeurs des échantillons d'adresses j et k sont égales, alors en 226, les valeurs de j et de k sont décrémentées soit j = j - 1 et k = k -1. Si les valeurs des échantillons d'adresses j et k sont différentes, alors la valeur du transitoire I est calculée en 228 comme étant égale à j soit I = j. La longueur de l'orbite est alors o = c + I. Le Tableau 1 résume les résultats statistiques obtenus par le filtre récursif 4 non perturbé pour un nombre de conditions initiales No = 34489. Nombre de cycles différents 22307 # 214.44 Nombre de transitoires différents 22476 # 214.45 Nombre d'orbites différentes 28049 # 21477 Moyenne cycles 24322 # 2 14.57> 211+3 Moyenne transitoires 18690 # 214.19> 2N+d Moyenne orbites 43237 # 215.4> 2N+1+d Longueur Maximale des cycles 39368737 # 22523 Longueur Maximale des transitoires 429108 # 21871 Longueur Maximale des orbites 39368742 # 22523 Longueur Minimale des cycles 1 Longueur Minimale des transitoires 2 Longueur Minimale des orbites 14 Tableau 1 Le Tableau 2 donne le pourcentage des orbites, cycles et transitoires obtenus par intervalle de longueur. Intervalle en 0 - 9 10 - 99 100-999 103û 104- 105 û 106 û 10' û longueur 104-1 105-1 106-1 107-1 106-1 Orbite % 0 0.1479 2.5370 21.8852 70.4978 4.9001 0.0058 0.0261 Cycle % 0.1682 1.4497 9.9771 37.2438 50.3465 0.7829 0.0058 0.0261 Transitoire % 0.1769 1.5135 9.8089 36.9161 50.7785 0.8061 0 0 Tableau 2 Il est remarquable, à partir du tableau 2 que 70% d'orbites se trouvent dans la tranche de longueurs comprises entre 104 et 105, et 92 % d'orbites se trouvent dans la tranche de longueurs comprises entre 103 et 105. Les Tableaux 3, 4 et 5 donnent le nombre des cycles, des transitoires et des orbites et leurs fréquences correspondantes.15 Nombre de 15331 4228 1465 688 296 152 68 47 22 5 2 1 1 1 1 cycles Fréquence- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cycle Tableau 3 Nombre de 15638 4116 1485 624 297 178 67 34 15 10 8 2 1 1 transitoires Fréquence- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 transitoire Tableau 4 Nombre d'orbites 22799 4291 766 158 32 3 Fréquence-orbite 1 2 3 4 5 6 Tableau 5 Le Tableau 6 résume les résultats statistiques obtenus par la carte PWLCM pour le même nombre de conditions initiales No= 34489. Nombre de cycles différents 27307# 214.73 Nombre de transitoires différentes 27203 # 214.72 Nombre d'orbites différentes 30027 # 214.87 Moyenne cycles 32402 # 214.98 Moyennes transitoires 32224 # 214.97 Moyenne orbites 64626 # 215.98 Longueur Maximale des cycles 1211239 # 220.2 Longueur Maximale des transitoires 779792 # 219.5727 Longueur Maximale des orbites 1317077 # 220.33 Intervalle en 0 - 9 10 - 102- 103- 104û 10b - 10b - 10' - longueur 102 1 103-1 104-1 105-1 106 1 10'-1 108 1 Orbite % 0 0 0.026 2.2645 81.9914 15.7152 0.0029 0 Cycle % 0.0174 0.2349 2.3196 21.1256 72.8783 3.4214 0.0010 0 Transitoire % 0.0261 0.2378 2.308 21.0879 73 3.3373 0 0 Tableau 7 Il est remarquable, à partir du Tableau 7 que 82 % d'orbites se trouvent dans la tranche de longueurs comprises entre 104 et 105, et environ 98 % d'orbites se trouvent dans la tranche de longueurs comprises entre 103 et 106 Les tableaux 8, 9 et 10 donnent le nombre des cycles, des transitoires et des orbites et leurs fréquences correspondantes. Nombre de cycles 21415 4784 952 133 20 3 Fréquence-cycle 1 2 3 4 5 6 Tableau 8 Nombre de transitoires 21324 4726 941 179 25 7 1 Fréquence-transitoire 1 2 3 4 5 6 7 Tableau 9 Nombre d'orbites 26010 3607 378 29 3 Fréquence-orbite 1 2 3 4 5 Tableau 10 Ainsi, les résultats obtenus par la carte PWLCM avec N = 32 bits sont très proches 15 des résultats obtenus avec le filtre récursif à trois retards avec N = 11. La règle analytique Anom = V (2N 13 = 23N/2 = 248 pour N = 32, dans le cas du filtre récursif peut être estimée par extrapolation à partir des résultats expérimentaux, par la valeur Anom = 245. Donc, la longueur minimale de la séquence chaotique en sortie du système de génération 100 est Lmin > 7 x 2i28 échantillons. Avec cette séquence on peut chiffrer environ 1032 images 20 différentes de taille chacune : 3 x 1024 x 1024 x 32 bits. Ainsi, les résultats expérimentaux décrits ci-dessus montrent que le générateur chaotique selon l'invention peut être utilisé sans crainte dans toutes les applications touchant à la sécurité des données. REVENDICATIONS1.- Générateur (2) de séquences chaotiques eu(n), n étant un entier strictement positif, de valeurs entières représentées sur un nombre de bits de quantification N déterminé, destinées notamment à former des clés de cryptage d'informations, ledit générateur (2) comprenant au moins deux filtres récursifs (4, 6) discrets d'ordre au moins égal à 1 générant en sortie une séquence chaotique de valeurs entières, chaque filtre récursif (4, 6) comprenant des moyens de mise en oeuvre (8, 10) d'une fonction non linéaire F, raccordés à travers une porte ou-exclusif (12, 14) à des moyens de génération d'une séquence de perturbation Q(n) de valeurs entières représentées sur un nombre de bits de quantification k déterminé, caractérisé en ce que les deux filtres (4, 6) sont montés en parallèle, la séquence chaotique eu(n)de sortie du générateur (2) étant égale à un ou exclusif (20) des séquences chaotiques de sortie des filtres récursifs (4, 6). 2.- Générateur (2) de séquences chaotiques selon la revendication 1, caractérisé en ce que les moyens de génération d'une séquence de perturbation dans chaque filtre (4, 6) comprennent un registre à décalage à réaction (16, 18) à longueur maximale utilisant un polynôme primitif de degré k. 3.- Générateur (2) de séquences chaotiques selon la revendication 1 ou 2, caractérisé en ce que l'ordre de chaque filtre récursif est inférieur ou égal à 3. 4.- Générateur (2) de séquences chaotiques selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les moyens de mise en oeuvre (8, 10) de la fonction non linéaire comprennent une carte chaotique linéaire par morceaux PWLCM. 5.- Générateur (2) de séquences chaotiques selon les revendications 3 et 4, caractérisé en ce que les séquences eui(n) de sortie de chaque filtre récursif j = 1,2 sont données par la relation eus (n) = F(Xj. (n-1), P)C Q(n) où 2N xXi(n-1) 0 X.(n-1)P P x[Xi(n-1)-Pl PXi(n-1) 6.- Générateur (2) de séquences chaotiques selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les moyens de mise en oeuvre de la fonction non linéaire comprennent une carte chaotique de type « SKEW-Tent ». 7.- Système de génération de séquences chaotiques comprenant au moins un ensemble de 14 générateurs de séquences chaotiques selon l'une quelconque des revendications 1 à 6, lesdits générateurs (101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128) étant répartis en deux groupes de 7 générateurs chacun, caractérisé en ce qu'il comprend : - un premier multiplexeur analogique (130, 134) permettant de sélectionner la sortie d'un premier générateur parmi les générateurs du premier groupe, un deuxième multiplexeur analogique (132, 136) permettant de sélectionner la sortie d'un deuxième générateur parmi les générateurs du deuxième groupe, les sorties des deux multiplexeurs étant raccordées à une porte ou-exclusif (138, 140) générant en sortie la séquence chaotique, et - des moyens d'adressage des multiplexeurs comprenant un registre à décalage à réaction (144) raccordé à une horloge (146) dont la période est fonction de la longueur de la séquence chaotique. 8.- Système de génération (100) de séquences chaotiques selon la revendication 7, caractérisé en ce qu'il comprend deux ensembles montés en parallèle de 14 générateurs de séquences chaotiques chacun, la séquence chaotique générée en sortie du système de génération (100) étant égale à un ou-exclusif (142) des séquences chaotiques générées aux sorties des deux ensembles de 14 générateurs. 9.- Système de génération (100) de séquences chaotiques selon la revendication 2 et la revendication 8, caractérisé en ce que les polynômes primitifs des registres à décalage à réaction du premier ensemble de générateurs (101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114) sont différents des polynômes primitifs desregistres à décalage à réaction du deuxième ensemble de générateurs (115, 116, 117, 118, 119, 120, 121 , 122, 123, 124, 125, 126, 127, 128). 10.- Système de génération (100) de séquences chaotiques selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comprend des moyens d'élimination (148) d'une quantité déterminée d'échantillons des séquences chaotiques générées par le système (100). 11.- Système de génération (100) de séquences chaotiques selon l'une quelconque des revendications 7 à 10, caractérisé en ce qu'il comprend des moyens de quantification (150) des séquences chaotiques générées. 12.- Système de cryptage, caractérisé en ce qu'il comprend un système de génération de séquences chaotiques selon l'une quelconque des revendications 7 à 11, ledit système de génération (100) de séquences chaotiques étant utilisé pour la génération de clés secrètes et dans les procédures de chiffrement/déchiffrement du système de cryptage.