1. Les approches de sécurité par les fonctions
chaotiques et le chaos.
Valentin Paquot
Rappel Historique
La notion de fonction chaotique apparaît au début du XXème siècle dans les travaux d’Henri
Poincaré 1 sur la physique des corps 2. Cependant il faut attendre les années 60 pour que cette
notion soit approfondie. Pourquoi un tel laps de temps ? D’une part, il s’agissait d’un concept
précurseur ; de l’autre il était matériellement très difficile d’établir un lien entre tous les
travaux des chercheurs qui avaient travaillé sur le sujet. Il fallait en effet pour cela réaliser un
nombre immense d’opérations, ce qui n’a été possible qu’avec l’apparition de l’ordinateur en
1960.
En 1963, le météorologue Edward Lorenz prouve le caractère non linéaire des conditions
météorologiques, un infime changement de l’état initial pouvant entraîner une évolution
totalement différente (ce qui lui inspira le fameux postulat du battement d’aile de papillon).
Avec cette découverte les travaux d’Henri Poincaré connurent un regain d’intérêt et en 1975
le mathématicien James Yorke emploie pour la première fois le terme de « chaos »3.
I] Introduction
L’informatique et les réseaux de communication sont devenus des composantes
indispensables de la vie personnelle et professionnelle d’un nombre croissant de personnes.
Leur « bon fonctionnement » est donc vital.
La notion de « bon fonctionnement » des ordinateurs et des réseaux de communication se
situe à deux niveaux (du point de vue de la sécurité). Elle comprend :
• les obligations légales : la protection des données à caractère personnel (CNIL) ;
• les obligations professionnelles : fiabilité, disponibilité, performances, protection des
données (intégrité et confidentialité), protection des accès (authentification), assurance
sur l’interlocuteur (authentification, signature…).
La difficulté à respecter cette double exigence s’est accrue dans les années 80, lorsque de plus
en plus de systèmes informatiques sont passés en mode réparti (et non plus centralisé), et
aussi avec l’explosion d’Internet. Il est clair que les risques augmentent proportionnellement
au nombre de connectés au réseaux. La protection totale n’existant pas, il faut définir des
politiques de sécurité : quels aspects privilégier et à quels coûts ?
1
Henri Poincaré (1854-1912), célèbre mathématicien et physicien français.
2
Théorie selon laquelle trois corps soumis à l’attraction universelle ont un mouvement lié à leur position de
départ.
3
Cryptanalyse : science qui éprouve la valeur d’un algorithme de cryptage en essayant de le casser.
1
2. - A quelle politique de sécurité s’appliquent les fonctions chaotiques ?
La fonction de sécurité la plus répandue de nos jours est le chiffrement. Pour être efficace,
cette fonction de sécurité doit garantir les exigences suivantes : Confidentialité,
Authentification, Intégrité et Non Répudiation. Mais les algorithmes de chiffrement actuels
(qu’ils soient à clé symétrique ou asymétrique) tels que RSA, DES, ECC, RC4, Cipher
(jusqu'à la version 4) ont déjà été cassés et sont donc devenus sans garantie. Certes les
algorithmes de remplacement tels que Cipher5 ou AES n’ont pas encore été cassés, mais dès
que la prochaine génération de microprocesseur le permettra, ils ne feront pas long feu. En
effet, plus les ordinateurs sont puissants, plus la méthode Brute Force est efficace et plus les
algorithmes de chiffrement sont vulnérables.
La cryptographie chaotique constitue l’une des alternatives développée durant la dernière
décennie (avec la cryptographie quantique). La cryptographie quantique, bien qu’incassable,
présente un défaut majeur : son coût fait qu’elle ne permet pas de débit à plus de quelques
kbits/s. En revanche, la cryptographie chaotique supporte des débits de l’ordre du Gbits/s.
C’est donc cette solution qui va être privilégiée dans la plupart des cas.
Nous allons maintenant voir comment cette cryptographie chaotique répond aux exigences de
sécurité et aux contraintes, à savoir une résistance très grande à la cryptanalyse combinée au
maintien de tous les attributs nécessaires aux algorithmes de chiffrement.
II] Le chiffrement à l’aide des fonctions chaotiques
Le cryptage parfait, selon la théorie de Shannon, serait celui où il existerait autant de clés que
de messages à communiquer. Mais cette solution s’avère trop gourmande en ressources (en
effet il y aurait autant de clés que de données). D’où l’intérêt de la nouvelle solution apportée
par les fonctions chaotiques qui permet de créer des clés petites, mais non répétitives.
L’idée de départ de l’utilisation des fonctions chaotiques est très bien illustrée par le postulat
de Lorenz. Un système à comportement chaotique est d’ailleurs appelé système de Lorenz. Ce
type de système est extrêmement sensible aux conditions initiales. Un système dynamique à
comportement chaotique donnera ainsi des trajectoires totalement différentes pour deux
ensembles de valeurs initiales très proches. Les prévisions de trajectoire sont donc
virtuellement impossibles, la cryptanalyse 1 ne pouvant pas casser les chiffrements chaotiques
en se basant sur une éventuelle répétitivité du signal transmis.
Avant de voir comment est appliquée la cryptographie par chaos dans les transferts
numériques, une description mathématique est nécessaire.
1) Les fonctions chaotiques
Comme déjà signalé, les fonctions chaotiques ont un comportement virtuellement
imprévisible à moins de connaître l’état initial et la fonction d’évolution. Comment une
fonction non déterministe peut-elle être utilisée pour des fonctions de sécurité ?
Il est important d’abord de distinguer deux types d’actions chaotiques : d’une part, les
fonctions purement chaotiques qui ne sont aucunement modélisables dans le temps et qui
produisent le signal que l’on appelle en physique communément « bruit blanc », et d’autre
part les fonctions chaotiques déterministes. Ces dernières sont modélisables par des systèmes
2
3. d’équations. Le système d’équation qui modélise un comportement chaotique déterministe est
appelé système dynamique non linéaire. C’est cette non linéarité qui rend le comportement
chaotique imprévisible à un œil extérieur (par exemple une attaque de type man in the middle).
Pour simplifier les explications, nous allons aborder le problème sous un angle mathématique.
A chaque système dynamique, linéaire ou non, est associée une trajectoire. Ce qui distingue
les systèmes dynamiques linéaires des systèmes dynamiques non linéaires sont leurs différents
attracteurs. Un attracteur est l’ensemble des points de l’espace vers lequel convergent toutes
les trajectoires du système dynamique.
Dans un système linéaire, les attracteurs sont faciles à modéliser. Il est donc possible
d’obtenir l’ensemble des points de convergence du système et de prédire les évolutions. En
matière de sécurité, cela signifie qu’il est possible, au bout d’un certain temps, de déchiffrer
un message chiffré par une fonction issue d’un système dynamique linéaire. C’est cette
prédictibilité qui a rendu caduque l’utilisation du chiffrement par de tels systèmes comme
moyen de sécurité.
En revanche, les systèmes dynamiques non linéaires ont des attracteurs sous forme de
fractales. Ce type particulier d’attracteur rend l’évolution des trajectoires totalement
dépendante des conditions initiales, il est donc impossible, sans les connaître, de prédire les
trajectoires de fonctions issues d’un tel système. De plus, les trajectoires d’un tel système sont
infinies. Donc, même en y passant beaucoup de temps et en essayant de déduire l’état initial
par comparaison des évolutions, il est impossible de les prédire. Les trajectoires d’un système
dynamique non linéaire sont en apparence aléatoires, ce qui rend la sécurité quasi-totale.
Maintenant que nous avons vu pourquoi les fonctions chaotiques déterministes sont
imprévisibles, nous allons voir comment on peut les utiliser dans une perspective de sécurité.
Si de telles fonctions sont imprévisibles, comment est-il possible de déchiffrer un message qui
aurait été codé par une telle fonction ?
2) Utilisation des fonctions chaotiques
Les fonctions chaotiques possèdent de nombreuses utilisations potentielles, mais pour
l’instant encore peu d’utilisations réelles. Nous présenterons seulement leurs utilisations en
matière de sécurité des réseaux de communication numériques et informatique, et nous
laisserons de côté toutes les utilisations en sciences du vivant, en physique (optique surtout)
ainsi que la compression par fonctions chaotiques. En matière de sécurité, l’utilisation
principale des fonctions chaotiques est liée à la cryptographie.
Ces usages sont encore pour la plupart au stade expérimental, mais ils obéissent à peu près
tous aux principes suivants :
- choix d’une fonction chaotique de chiffrement ;
- superposition du signal chaotique au flux de données transmises ;
- le récepteur soustrait le bruit chaotique au signal (il connaît les caractéristiques
du générateur de chaos et est donc à même de recréer la composante chaotique
du signal).
La grande difficulté pour la mise en place d’un tel système réside dans la synchronisation des
deux interlocuteurs. En effet, afin de ne pas influer sur les conditions initiales de la fonction
3
4. chaotique 4, l’émetteur et le récepteur doivent être identiques (au niveau du chiffrement). La
moindre désynchronisation entraîne la création d’une mauvaise composante chaotique de
déchiffrement et rend le message illisible.
Il est donc crucial de bien choisir la fonction chaotique de chiffrement. En effet, si l’on prend
une fonction chaotique au sens large, elle ne sera pas reproductible du tout par le récepteur et
ce dernier ne pourra pas filtrer le bruit induit. Il faut donc choisir une fonction chaotique
déterministe, c'est-à-dire une fonction chaotique modélisable. Dans la pratique, les fonctions
les plus utilisées sont les suites chaotiques ou bien les dérivées chaotiques 5. Une fois que l’on
s’est assuré de la reproductibilité de la fonction chaotique, la superposition du bruit chaotique
au signal transmis est triviale. Mais il reste encore à synchroniser le récepteur.
C’est en 1990, suite aux travaux de T. Carroll et L. Pecora (Synchronization in chaotic
systems) que sont apparues les premières méthodes de synchronisation entre deux
interlocuteurs à comportement chaotique. Il existe plusieurs méthodes de synchronisation
d’interlocuteurs à comportement chaotique. Nous allons essayer d’expliquer le
fonctionnement des principales (nous n’étudierons pas les méthodes par retour négatif ni à
conduite sporadique).
2.1) La méthode Caroll et Pécora
Cette méthode repose sur le principe que chaque système chaotique possède au moins un
exposant de Lyapunov et est instable. Il est donc impossible de synchroniser tels quels deux
systèmes chaotiques. Or, deux systèmes chaotiques sont dits synchrones s’ils sont
asymptotiquement identiques quand t tend vers l’infini. Pour ce faire, il est nécessaire de
placer l’émetteur en maître du récepteur, afin qu’il force la synchronisation du récepteur. Il est
aussi nécessaire de scinder le système maître en deux sous-systèmes en répartissant les
variables dynamiques dans les deux sous-systèmes, puis de les mettre en cascade.
Soit :
.
u = F (u ) avec u(t) = ( u1(t), ……., un(t) ) et F(u) = ( F1(u), ………, Fn(u) ).
. .
On scinde ce système en deux sous-systèmes x = G ( x, y ) et y = H ( x1 , y )
1
avec x(t) = ( u1(t), ……., um(t) ) = ( x1(t), ……., xm(t) )
et y(t) = ( um+1(t), ……., un(t) ) = ( y1(t), ……., yp (t) ) tels que m+p=n.
4
Conditions très sensibles comme nous l’avons vu dans l’introduction.
5
Confer le système de Lorenz.
4
5. Nous obtenons donc l’équivalence suivante :
^
Ensuite nous dupliquons ces deux sous-systèmes et nous les mettons en cascades, soient G et
^ ^
H ces deux sous-systèmes. Il faut synchroniser le signal y 1 (t ) avec le signal y1 (t ) . Voici le
système que nous obtenons.
Si l’on considère l’ensemble du système comme étant un système unique, on peut réaliser une
synchronisation par cascade. Il faut en effet que les exposants de Lyapunov du sous-système
^ ^
G soient négatifs, or ce dernier est guidé par la fonction y1 (t ) donc x1 (t ) et x1 (t ) se
^
synchronisent. Le sous-système H peut alors être synchronisé par cascade. En effet la stabilité
^
obtenue par la synchronisation du système G est suffisante pour entraîner la synchronisation
de ce dernier (sous réserve bien sûr que les conditions initiales des systèmes maîtres et
esclaves soient identiques)
5
6. 2.2) La méthode par décomposition active-passive
Cette méthode introduite par L. Kocarev et U. Parlitz, utilise un système chaotique autonome
et le transforme en système chaotique non autonome.
. .
Posons x = f ( x, s (t )) , avec s(t) une porteuse quelconque d’ordre s = h(x) ou s = h( x) . La
synchronisation se fait entre x et une réplique (signal réponse) sur la même porteuse s(t). x(t)
bien sûr peut avoir un comportement chaotique vu qu’il est sur une onde chaotique (s(t)).
Prenons un exemple basé sur un système de Lorenz :
.
x = −10 x + s (t )
.
y = 28 x − y − xz
.
z = xy − 2.666 z
Avec pour porteuse s(t)=h(x)=10y, grâce à une fonction de Lyapunov, le réplique se
synchronise avec son signal source, quelle que soit la porteuse choisie.
On voit donc qu’avec cette méthode, il est possible de choisir un nombre infini de porteuses
ou de fonctions h(x), alors que la première méthode (Caroll et Pécora) ne permettait qu’un
nombre fini, et même restreint, de décompositions en sous-systèmes. Ce qui rend cette
méthode beaucoup plus flexible et puissante que la précédente.
III] Avantages et limites de la cryptographie par fonction
chaotique
Bien implémenté (les fonctions chaotiques choisies sont très importantes) le chiffrement par
fonctions chaotiques offre une sécurité supérieure à tous les algorithmes actuels tout en
conservant des débits très élevés (des tests ont été réalisés jusqu’à 3Gbits/s). En effet, les
ordinateurs évoluant très rapidement, leur puissance de calcul leur permettra d’ici peu de
casser les algorithmes actuellement résistants (les chiffrement les plus coriaces qui ont cédé à
la cryptanalyse nécessitent quand même plus de 20 ans de calcul pour le déchiffrement).
La cryptographie par fonction chaotique est beaucoup plus puissante que tous les chiffrements
actuels. De par la nature non déterministe de son générateur de clé, il est virtuellement
impossible de craquer un chiffrement par chaos.
La principale limite de la cryptographie par fonction chaotique est la complexité de cette
méthode. Un tel chiffrement utilise davantage de ressources et de temps d’ordinateur que les
chiffrements actuels. Cependant, il n’est pas impossible de poser l’hypothèse que les
individus désirant avoir une sécurité de haut niveau possèdent des ordinateurs récents et donc
puissants ; la différence d’utilisation de ressources avec les autres algorithmes devient alors
peu importante.
6
7. Or, il a été démontré sur des machines récentes que la vitesse de codage via la cryptographie
par chaos pouvait monter à 3Gbits/s, alors que son principal concurrent, la cryptographie
quantique, reste pour l’instant bloqué au niveau du Kbits/s. De plus, contrairement au
chiffrement quantique, la cryptographie par fonctions chaotiques ne nécessite pas de
changement onéreux de machines - même s’il est vrai que, pour une utilisation plus simple, il
est préférable que les récepteurs et émetteurs soient identiques au niveau sécurité du moins.
Un autre intérêt de la cryptographie par fonctions chaotiques est la possibilité de sécuriser à
haut niveau une communication multipoints, avec un chiffrement unique, rendant ainsi le
broadcast crypté beaucoup plus simple à mettre en place. De plus, dans les communications
non filaires il est intéressant de noter l’augmentation des canaux disponibles dans le CDMA
grâce aux fonctions chaotiques, canaux non seulement plus nombreux mais surtout plus
confidentiels du fait de la réduction des chemins multiples, et c’est le point qui nous intéresse
sur le plan de la sécurité.
IV] Commentaires personnels
J'ai volontairement centré cette étude sur le chiffrement, alors que les fonctions chaotiques
permettent aussi la non répudiation et l'authentification (chaque utilisateur a son propre signal
chaotique) ainsi que l'intégrité d'un message. En effet si ce dernier venait à être altéré le
déchiffrement serait alors impossible. Même si ces fonctions découlent du chiffrement par
fonctions chaotiques, j'ai décidé de ne pas les développer et de me focaliser sur le principe du
chiffrement par fonctions chaotiques.
Rédiger cet article sur le chiffrement par fonctions chaotiques m’a beaucoup apporté. Dans un
premier temps, j’ai été convaincu par le chiffrement chaotique, même si certains aspects
techniques me gênaient. Après y avoir davantage travaillé, j’ai eu davantage de doutes sur la
pertinence du chiffrement par fonction chaotique.
Pour l’instant, le chiffrement par fonctions chaotiques offre une sécurité de haut niveau mais
elle n’est pas absolue. En effet, dès lors que nous posons des algorithmes de chiffrement, nous
diminuons la dimension de l’espace chaotique et, de ce fait, nous augmentons l’importance
des « points invariants » (points très stables). Lorsque ces points très stables ont une
pondération suffisante, il existe alors des mini-trajectoires cycliques. Le chiffrement n’est
alors plus totalement aléatoire et devient partiellement prévisible. Bien sûr, ces mini-
trajectoires sont peu nombreuses et sur un flot important, elles ne représentent qu’une très
faible part des données chiffrées,- une part qui s’avère souvent négligeable dans la plupart des
utilisations non critiques. Mais le but de la sécurité est d’être fiable dans toutes les situations.
La sécurité ne fonctionne pas selon le postulat « dans le doute je laisse passer » mais selon le
postulat inverse « dans le doute je refuse l’accès ».
Un autre problème réside dans l’échange des informations initiales. En effet, à moins de
disposer de boîtiers de chiffrement/déchiffrement identiques (configurés au même endroit
puis transportés de manière sécurisée chez les différents utilisateurs), il faut communiquer ces
informations à l’interlocuteur. Bien sûr, il s’agit d’un simple échange,et il existe des méthodes
fiables pour transmettre ces informations, en particulier en utilisant une cryptographie
quantique qui est très pratique pour un simple échange d’informations.
7
8. L’évolution des approches en chiffrement chaotique dans les prochaines années sera cruciale
pour le monde de la sécurité. C’est pourquoi de nombreux laboratoires de recherches partout
dans le monde font travailler des équipes sur le sujet. Des chercheurs de l'université de Bar
Ilan (Israël) ont ainsi par exemple récemment mis au point une méthode de chiffrement basée
sur deux systèmes chaotiques et deux systèmes neuronaux, les systèmes chaotiques générant
des clés aléatoires alors que les systèmes neuronaux permettent la synchronisation. Il reste à
vérifier si cette méthode est applicable.
L’amélioration de la synchronisation constitue un des champs de progrès possibles du
chiffrement chaotique. En la rendant plus efficace, il serait possible d’augmenter le nombre de
dimensions des fonctions chaotiques utilisées dans le chiffrement.
V] Références
[1] Wikipedia
[2] http://tout-pour-la-science.com/
[3] Projet Transchaos, Lesia-Insa Toulouse, CNRS Télécom, Ircom, MM Fournier-
Prunaret, Larger et Quéré
[4] www.01net.com
[5] Notion de chaos approche dynamique et problème d’identification, Inria, D.
Gueguan
[6] Méthodes de Cryptographie en Physique Quantique et Physique du Chaos, GTL-
CNRS Télécom, MM Larger, Merolla et Goedgebuer
[7] Implementing symmetric cryptography using chaos functions, Indian Institute of Technology,
MM Bose et Banerjee
[8] http://inls.ucsd.edu/
[9] http://www.chaos.umd.edu/
[10] The synchronization of chaotic systems,
8