Vous êtes sur la page 1sur 64

JULIE LANGLOIS

UNE FONCTION DE HACHAGE BASEE SUR

LA THÉORIE DU CHAOS

Mémoire présenté à la Faculté des études supérieures de l'Université Laval dans le cadre du programme de maîtrise en Mathématiques pour l'obtention du grade de Maître es sciences (M.Se.)

DÉPARTEMENT DE MATHÉMATIQUES ET DE STATISTIQUES FACULTÉ DES SCIENCES ET DE GÉNIE UNIVERSITÉ LAVAL QUÉBEC

©Julie Langlois, 2011

2011

Résumé

Ce mémoire présente une brève introduction aux fonctions de hachage : les princi- pales fonctions de hachage utilisées ainsi que leurs principales utilisations. Une nouvelle fonction de hachage, développée par Yong Wang , Xiaofeng Liao, Di Xao et Kwok-Wo Wong [1], sera introduite et une modification de cette dernière sera proposée. Cette fonction de hachage est basée sur un système dynamique chaotique, ce qui conduit à l'étude des exposants de Lyapunov.

Avant-prop os

Je ne pourrais m'attribuer tout le mérite de ce mémoire. Tout ce travail n'aurait pu être possible sans toutes les personnes qui m'ont aidée et soutenue, du début à la fin.

Merci à mon directeur Jérémie Rostand qui m'a conseillée tout au long de ce tra- vail. Ses critiques constructives et ses idées ont été très apréciées. Merci également au CRSNG qui m'a permis de me consacrer entièrement à ce mémoire, et ce sans soucis financiers.

Un vieil adage populaire dit : « Derrière chaque grand homme se cache une femme». Dans ce cas, on pourrait plutôt dire « derrière cette femme se cache un grand homme». Merci papa pour ton support et ta confiance. Tu as su me donner le courage de persé- vérer. Tu as toujours cru en moi, ce qui m'a permis d'en faire autant.

Finalement, j'aimerais remercier mes amis qui ont été présents pour moi et qui m'ont aidée à persévérer, malgré les tempêtes !

Table des matières

Résumé

ii

Avant-propos

 

iii

Table des matières

iv

Introduction

1

1

Les fonctions de hachage

2

1.1 Introduction aux fonctions de hachage

2

1.2 Le SHA-1

 

3

 

1.2.1

L'algorithme du SHA-1

5

1.3 Les principales applications

9

 

1.3.1 Signature électronique

9

1.3.2 Contôle d'accès

14

1.4 Cryptanalys e

 

14

 

1.4.1

Attaque des anniversaires

15

2 Les exposants de Lyapunov

17

2.1 Introduction à la théorie du chaos

17

2.2 Algèbre linéaire

20

2.3 La grassmanienne

25

2.4 Théorème ergodique multiplicatif

35

3 Fonction de hachage basée sur la théorie du chaos

46

3.1 Algorithme original

46

 

3.1.1

Description de l'algorithme

47

3.2 Analyse de la performance

53

3.3 Alternatives

 

54

3.4 Algorithme modifié

54

Conclusion

 

57

Introduction

Le mot cryptographie vient des mots en grec ancien kraptos (qui signifie caché) et graphein (qui signifie écrire). Bien que cette science ait gagné en popularité avec l'ap- parition des ordinateurs, les premiers «documents» chiffrés connus remontent à l'Anti- quité. Déjà à cette époque, le désir de garder certaines informations secrètes se faisait sentir. Une fonction de hachage permet de transformer un message en une séquence de caractères à priori sans lien apparant, de façon à empêcher une personne mal intention- née de lire le message. La première fonction de hachage à faire son apparition a été la MD2. Par la suite, plusieurs ont suivi telles MD4, MD5, SHA-1, SHA-256, RIPEMD- 160 et Whirlpool. SHA-1 et MD5 sont les plus utilisées actuellement. Toutefois, des attaques ont été prédites pour ces deux fonctions de hachage. La NIST (National Insti- tute of Standards and Technology) a donc lancé un concours afin de trouver une nouvelle fonction de hachage plus sécuritaire.

Plusieurs nouvelles fonctions de hachage ont été développées depuis ce temps. Quel-

ques-unes ont été retenues par la NIST, afin de vérifier si elles peuvent remplacer le SHA-1. Une fonction de hachage a été développée par Yong Wang, Xiaofeng Liao,

Di Xao et Kwok-Wo Wong, mais n'a pas été soumise à la NIST. Cette dernière est

construite à partir d'un système dynamique chaotique. Pour pouvoir parler de système

dynamique chaotique, il faut parler d'exposants de Lyapunov. Ces nombres, dont le nom

est dû au mathématicien russe Alexandre M. Lyapunov, permettent de déterminer si un

système est chaotique. Dans le chapitre 2, une étude plus approfondie de ces nombres

sera proposée.

Dans le troisième chapitre, une description de l'algorithme sera donnée. Toutefois, comme il en sera question, cette fonction de hachage est trop sensible. Une version améliorée de cet algorithme sera donc proposée.

Chapitre 1

Les fonctions de hachage

1.1 Introduction aux fonctions de hachage

De nos jours, les ordinateurs sont de plus en plus présents dans notre quotidien. L'utilisation grandissante de cet outil combinée à l'utilisation d'internet entraîne un problème de sécurité et de confidentialité. Les informations que nous partageons quo- tidiennement avec nos collègues ou nos amis ne doivent pas être accessibles à tous. Comment peut-on s'assurer qu'un algorithme implanté dans un système informatique est sécuritaire ? Dans ce chapitre, nous verrons que les fonctions de hachage sont utili- sées en cryptographie pour répondre en partie à ce problème. Par exemple, lorsque l'on veut accéder à un compte personnalisé sur un ordinateur, il nous faut entrer un mot de passe. Comment ce dernier est-il traité pour assurer la sécurité des informations ? Avant de donner la définition formelle d'une fonction de hachage, il nous faut introduire certaines autres définitions.

Définition 1. Un algorithme est dit polynomial s'il s'exécute en temps polynomial par rapport à la taille de son entrée.

Définition 2. Soient X et M deux ensembles. Une fonction surjective / : M —> X est dite à sens unique si, pour un x € X donné, il n'existe aucun algorithme polynomial =

permettant de trouver m G M tel que /(m)

x.

Définition 3. Soient X et M deux ensembles. Une fonction / : M —> X est dite sans collision s'il est impossible de trouver en temps polynomial m, m' £ M tels que m' ^ m et /(m) = f(m').

Chapitre 1.

Les fonctions de hachage

3

Définition 4. Soit X un ensemble. Un élément x G X est appelé message et sa longueur est le nombre de bits utilisés pour sa représentation binaire.

Définition 5. Soient X et M deux ensembles. Une fonction de hachage H : M —> X

est une fonction surjective qui transforme un message

en un message condensé h de longueur fixe (H(m) = h) et qui satisfait les propriétés suivantes :

m de longueur finie quelconque

1. H (m) doit être facile et rapide à calculer,

2. H doit être une fonction à sens unique,

3. H doit être sans collision.

Notons que, puisque l'ensemble des messages possibles est beaucoup plus grand que l'ensemble des messages condensés, il devrait toujours y avoir plusieurs exemples de messages m et m' tels que H (m) = H (m 1 ). On exige toutefois que cela soit difficile à résoudre. La première et la troisième condition se font en quelque sorte «compétition». En effet, si l'on n'exigeait pas d'une fonction de hachage qu'elle soit facile à calculer, il serait, en théorie, possible de s'assurer que la troisième condition soit toujours respectée. Il suffirait, par exemple, de ne pas restreindre la longueur du message condensé. Ainsi, la longueur du message condensé serait dépendante de la longueur du message en entrée. Toutefois, plus un message serait long et plus il nécessiterait de temps pour trouver son message condensé, ce qui ne serait pas utile. En pratique, il est souvent suffisant d'affaiblir la condition 3 en exigeant qu'il soit impossible, pour un message m G M donné, de trouver en temps polynomial un m' G M tel que m' ^ m et H (m') = H(m). Cette propriété demeure toutefois la plus difficile à obtenir lorsque l'on construit une fonction de hachage.

1.2 Le SHA-1

Parmi les fonctions de hachage les plus connues, on retrouve le Secure Hash Algo- rithm (SHA-1) et la famille de Message Digest (MD). Le premier algorithme MD à avoir été publié fut le MD2, conçu en 1989 par Ronald Rivest. Il a été suivi des versions améliorées MD4 et MD5. Le MD5, introduit en 1991 pour remplacer le MD4, produit un message condensé de 128 bits. Comme nous le verrons un peu plus loin dans ce chapitre, nous savons maintenant que cela n'est pas suffisant pour assurer une bonne sécurité. En 1996, une faille a été découverte dans le MD5, démontrant qu'il y avait une possibilité de trouver des collisions à la demande. Ainsi le MD5 a graduellement été retiré pour être remplacé par le SHA-1. En 2004, des collisions complètes ont été trou- vées, démontrant ainsi que le MD5 n'est plus sûr au sens cryptographique. Le SHA-1 a

Chapitre 1.

Les fonctions de hachage

4

été développé pas la National Security Agency (NSA) et soumis à la National Institute of Standards and Technology (NIST) [15], une agence du département du commerce aux États-Unis, dont le but est de promouvoir l'économie. La version originale, souvent appelée SHA-0, a été publiée en 1993. Toutefois, elle présentait des faiblesses qui ont été corrigées pour donner naissance au SHA-1 en 1995 qui, jusqu'à tout récemment, a été la version recommandée par la NIST.

L'algorithme SHA-1 produit un message haché de 160 bits. Le message m, de lon- gueur n, est divisé en blocs de longueur /, où le dernier bloc est complété, au besoin, par une séquence de bits, commençant par un 1 et suivi uniquement par des 0, jusqu'à ce que la longueur d u message atteigne une longueur de (512 [n/512] — 64) bits, où [•] est la fonction plafond. Pour compléter le nombre de bits jusqu'à un multiple de 512, on ajoute à la fin du message une séquence de bits correspondant à la représentation binaire de la longueur du message de départ (d'une longueur de 64 bits). Par exemple, pour un message de 2800 bits, on obtient un message de longueur 3008 = 6 x 512 — 64. Puisque 2800 = IOIOIIHOOOO2 en format binaire, on ajoute une séquence de 52 bits 0 suivie de la séquence 101011110000, de façon à obtenir un message de longueur 3072.

, m/)) et chaque

bloc nij est modifié suivant une série de transformations qui utilisent une fonction de compression h. On commence par une valeur initiale Xo et on définit Xj := h(Xj-i,m,j).

Le Xk final est le message haché. La fonction de compression est construite à partir d'une idée de base toute simple : le changement d'un seul bit du message de départ doit affecter le plus de bits possibles dans le message condensé. Une des principales différences entre le SHA-1 et la famille de fonctions MD est que, pour le premier, les bits du message de départ sont utilisés plus souvent dans la fonction de compression, ce qui rend le SHA-1 plus sécuritaire mais un peu moins rapide.

On divise ensuite le message en / blocs de 512 bits (m = (mi,m,2,

Avant de pouvoir décrire la fonction de compression h qui est utilisée dans le SHA-1, il faut introduire quelques notions.

Notatio n 6. Soient X = {XJS J et Y = {Vi/^i des séquences de 32 bits.

1. A Y

X

= {min{Xi, Y}, i =

1

. 32}

 

2. {max{Xi, Y { }, i = 1

X

V Y =

. 32}

3. {{X t + Yi)

X

© Y =

mod

2, i =

1

. 32}

4. =

^ X

{(Xi +

1)

mod

2, i =

1

. 32}

5. Y =

X +

(X +

Y)

mod 2 32

Chapitre 1.

Les fonctions de hachage

Définition

7. Soient 6, c, d trois séquences de 32 bits et

ft(b,c,d)

 

'

(b A c) V (­.6 A d)

si 0 <

t <

19,

 

6 © c © <i

si 20 <

t

< 39,

=

 

(b A c) V (b A d) V (c A d)

si 40 <

t

<

59,

6 © c © d

si 60 <

t <

79.

Maintenant, définissions les constantes Ko, K\, comme suit :

, K79, exprimées en hexadécimal,

K t

[

5A827999

si 0 <

t

<

19,

GED9EBA1

si 20 <

t

< 39,

SF1BBCDC

si 40 <

i <

59,

CA62C1D6

si 60 <

t <

79.

Notons que les constantes ci­dessus représentent des séquences de 32 bits.

Nous sommes maintenant en mesure de définir formellement chacune des étapes du

SHA­1

1.2.1 L'algorithme du SHA­1

Soit m un message de n

bits, où n

< 2 64 .

1. On ajoute des bits à la fin du message de façon à obtenir un message de lon­ gueur (512 [n/512 ] — 64) bits , où [•] est la fonction plafond. La séquence de bit s ajoutée commence par un 1 et est suivi uniquement par des 0. Par la suite, on ajoute à la fin de cette séquence la représentation binaire sur 64 bits du nombre n.

2. On divise maintenant le message en bloc de 512 bits : m = (m­i, m,2, ■ ■ ■, m{).

3. On pose H 0 = 67452301, Hx = EFCDAB89, H 2 = 98BADCFE, H 3 = 10325476

et Hi = C3D2E1F0, où Hi

4. Pour

i =

1,

,/,

est en hexadécimal pour i =

1, • • • ,4.

(a)

On écrit m* = (W 0 , Wi, W 2 ,

, W15), où

chaque Wj est composé de 32 bits.

(b)

Pour t =

16,

, 79, on pose W t

=

(W t _ 3

© Wt­s © W t ­u

© W t ­ U )

<­' L

(c)

Soit a =

H 0 , b =

Hi,

c =

H 2 ,

d =

H3 et

e =

H4.

Chapitre 1.

Les fonctions de hachage

6

(d)

Pour

t =

0,

,7

9

: T

=

(a

^

5) +

f t {b, c,d) +

e +

W t +

K t ,

e =

d,

d =

c,

c =

(b <—» 30), 6 =

a,

a =

T.

(e)

Pour j

=

0,

, 4, on attribue à i/j une nouvelle valeur de la façon suivante :

H 0

=

Ho +

a,

Hi =

Hi +

b, H 2 =

H 2 +c,

H 3 =

H 3 + d

et

H 4

=

H 4 +

e.

5. Le message condensé est H — (Ho,Hi,H 2 ,H 3 ,Hi).

Exempl e 8. Considérons le message «abc» qui

vante : 011000010110001001100011. La longueur du message est donc 24.

correspond à la séquence de bits sui-

1. On ajoute des bits de façon à obtenir une séquence de 512 [24/512] — 64 = 448 bits. On ajoute donc la série de bits commençant par le bit 1 suivi de 423 bits 0. Ensuite, on ajoute à cette séquence la représentation binaire du nombre 24 (écrit

64 bits

avec 64 bits), soit 00 • • • 0 11000, pour obtenir un message de 512 bits.

24

2. Il faut ensuite diviser la séquence de bits en blocs de 512 bits. Dans cet exemple, il y a un seul bloc : m = (mi).

3. On pose H 0 = 67452301, H x = EFCDABS9, H 2 = 98BADCFE, H 3 = 10325476 et Hi = C3D2E1F0.

4. , W 2 = 00000000, W 3 = 00000000, W A = 00000000, W 5 = 00000000, W 6 = 00000000, W 7 = 00000000, W 8 = 00000000, W 9 = 00000000, W 10 = 00000000, Wu = 00000000, W 12 = 00000000, W 13 = 00000000, W 14 = 00000000 et Wis = 00000018 sont écrits en hexadécimal.

=

(a)

On écrit mj

(W 0 , W u W 2 ,

W 15 ),

où W 0 = 61626380, W x = 00000000,

(b) Il faut ensuite trouver W t pour

W 16

=

(W t - 3 © W t -s

16 <

t <

79 :

© W t -u

© W t _i 6 )

<-- 1

= (^13©W8©^2©^0)^ 1

= 0000000 0 © 0000000 0 © 0000000 0 © 6162638 0 *-> 1

= 01100001011000100110001110000000 «-> 1

= C2C4C700.

Chapitre 1. Les fonctions de hachage

w„

=

(w u © w 9 © w 3 © w x ) *-1

= 00000000 © 00000000 © 00000000 © 00000000 «-- 1

= 00000000

Wis =

(Wis © W 10 © W4 © W 2 )<-1

= 00000018 © 00000000 © 00000000 © 00000000 <-> 1

= 00000000000000000000000000011000 <-- 1

= 00000030

W l9

W 20

W 2l

=

= C2C4C700 © 00000000 © 00000000 © 00000000 ^

= 11000010110001001100011100000000

= 85898£01

(W 16 © W n © W 5 © W 3 ) ~

1

^

1

1

=

= 00000000 © 00000000 © 00000000 © 00000000 «-- 1

= 00000000

(Wn © W12 ©

W 6 ©

W A )

*-> 1

=

(W 1S ®W 13 (BW 7 ®W 5 )^1

= 00000030 © 00000000 © 00000000 © 00000000 +- 1

= 00000000000000000000000000110000 <-> 1

= 00000060

W 22

=

= 85898E01 © 00000000 © 00000000 © 00000000 «-- 1

= 10000101100010011000111000000001

= 0B131C03

(W lt} © W 14 © W 6 © W 6 ) <-* 1

<-- 1

(c) Après avoir trouvé ainsi WIQ, =

^

EFCDAB89,

c

=

H 2

e = H 4 = C3D2E1F0.

 

, W79, on pose

a

=

=

98BADCFE,

d

=

// 0

H

=

3

67452301, b =

10325476 et

=

Chapitre 1.

Les fonctions de hachage

(d)

Pour t =

0 :

T

=

(67452301 *-* 5) + C3D2E1F 0 + 61626380 + 5A827999

 

+f 0 (EFCDAB89,98BADCFE, 10325476),

 

=

E8A4602C

 

+C3D2E1F0

+61626380

+5.4827999

+98BADCF8

 

=

0116FC2D,

 

e

=

10325476,

d

=

98BADCFE,

c

=

7BF36AE2,

b

=

67452301,

a

=

0116FC2D.

Pour connaître les valeurs obtenues pour t = 1,

, 79 voir [17, page 25].

Le message haché obtenu, en hexadécimal, est

,49993£364706816A£A3£25717850C26C9CD0D89D.

Même s'il n'a pas encore été prouvé que l'on pouvait trouver des collisions pour le SHA-1, en 2005, Wang, Yin et Yu [10] ont prédit que des collisions pouvaient être trouvées pour la fonction de hachage SHA-1 avec environ 2 69 opérations, ce qui est beaucoup mieux que ce que prédit l'attaque des anniversaires, comme nous le verrons un peu plus loin dans le chapitre, soit 2 80 .

En janvier 2007, la NIST a lancé une compétition ouverte au public, dans le but de développer une nouvelle fonction de hachage, qui sera connue sous le nom de (SHA-3) [16]. Les candidats devaient soumettre leur algorithme avant le 31 octobre 2008. En tout, 64 algorithmes ont été soumis à la NIST desquels seulement 51 ont été retenus pour la première ronde. Le 24 juillet 2009, la NIST annonçait les noms des 14 fonctions de hachage qui seraient évaluées en deuxième ronde. C'est en août 2010 que l'évaluation de deuxième ronde a eu lieu. Toutefois, les résultats ne sont toujours pas dévoilés.

Chapitre 1.

Les fonctions de hachage

9

1.3 Les principales applications

1.3.1 Signature électronique

Depuis de nombreuses années, les gens utilisent différents moyens pour associer leur identité à un objet ou un document. Au Moyen Âge, un noble imprégnait son insigne dans de la cire chaude pour sceller une enveloppe. Il était le seul à pouvoir reproduire son insigne, ce qui rendait la procédure sécuritaire. Vers le milieu du vingtième siècle, les cartes de crédits étaient signées au verso par le détenteur. Le vendeur qui se voyait présenter une carte de crédit n'avait qu'à comparer la signature pour s'assurer de l'iden- tité de l'acheteur. Toutefois, avec l'arrivée des technologies modernes et le commerce électronique, ces méthodes ne suffisent plus à assurer la sécurité.

De nos jours, plusieurs documents sont envoyés par courrier électronique. On ne peut toutefois pas se contenter de signer le document et envoyer une copie numérisée puisque n'importe qui aurait pu avoir accès au document signé et y avoir apporté des modifications. Par exemple, une personne mal intentionnée pourrait tout simplement découper une signature sur un document et l'apposer sur un autre document pour effectuer un retrait d'une grosse somme d'argent. Il faut donc s'assurer que la signature électronique ne puisse être séparée du document original.

Ainsi, les signatures électroniques ne doivent plus dépendre uniquement de l'expé- diteur mais aussi du document à envoyer. Il faut aussi que le receveur du document puisse vérifier facilement la signature. Les fonctions de hachage se révèlent être un ex- cellent outil pour assurer la sécurité de ces signatures. Puisque les documents envoyés sont souvent très gros, les fonctions de hachage permettent de produire une signature de taille indépendante de celle du document, sans toutefois négliger la sécurité. Au lieu d'envoyer la signature du message, on envoie plutôt la signature du message haché, permettant ainsi au receveur de pouvoir valider la signature rapidement.

Parmi les signatures électroniques recommandées par la NIST [18], on retrouve la signature RSA, le Digital Signature Algorithm (DSA) et le Elliptic Curve Digital Si- gnature Algorithm (ECDSA). La signature RSA a été introduite en 1977 par Ronald Rivest, Adi Shamir et Leonard Adleman. Le RSA est très utilisé pour le commerce élec- tronique. Depuis sa parution, le RSA a été soumis à de nombreuses études mettant en évidence sa vulnérabilité. Toutefois, aucune de ces études n'a permis un cassage total du RSA. Les études ont plutôt montré le danger d'une utilisation incorrecte du RSA [11, page 169]. Le ECDSA est similaire au DSA, mais il utilise la théorie des courbes elliptiques.

Chapitre 1.

Les fonctions de hachage

10

Le DSA

Le Digital Signature Algorithm (DSA) est un algorithme de signature électronique introduit en 1991 par la NIST. Il est, depuis 1994, la norme de signature électronique utilisée par le gouvernement américain. Comme nous l'avons mentionné précédemment, les signatures sont généralement appliquées au message haché. Dans la description du DSA qui suit, nous supposerons donc que le message m qu'Alice tente d'envoyer à Bob est une message haché de 160 bits, qui pourrait par exemple être obtenu avec le SHA-1.

Notatio n 9. Soient m, n G Z et die plus grand commun diviseur de m et n. Alors on écrit (m, n) = d.

1. L'ordre de a modulo m,

noté ord m (a) est

Définition

10.

Soient m

G N et

a

G Z tels que

(a,m)

=

le plus petit entier positif k tel que a k = 1 mod m.

Remarqu e

11. Si / est un entier tel que a 1 = 1 mod ra, alors l'ordre de a modulo m

divise Z.

Définition 4>(m) = #{ n

positifs inférieurs où égaux à ra qui sont copremiers à ra.

Définition

primitive modulo p si ord p (a) = (j)(p).

Lemm e

12. Soit ra G N. La fonction <j) d'Euler est définie par

<

13.

ra

: n

G N et

(n, ra) =

Soient p

G N et

a

1}, c'est à dire <f>(m) est le nombre d'entiers

(a,p)

=

1. Alors, a est appelé racine

G Z tels que

14. Soient p un nombre premier et a,b G Z p , le corps des entiers modulo p.

Si ordp(a) —m et ordp(b) = n, où (m,n) = 1, alors ordp(ab) =

ran.

Démonstration.

b n

Puisque ord p (a)

=

1 mod p. D'où

= ra et ord p (fe)

=

n,

on a a m

=

Soit

k tel que

(ab) mn = a mn b mn =

(a m ) n (b n ) m =

1 mod p.

 

(ab) k =

1 mod p. Alors,

 

(ab) k =

1 mod p

=>

(ab) km =

1 mod

p

 

=>

{a m ) k b km =

1 mod

p

=>

b km =

l

mod p

=>

n divise km

 

=>

n divise k.

1 mod p

et

De façon similaire, on trouve que ra divise k. Or, puisque (ra, n) = 1, on a nécessai-

D

rement que ran divise k. Ainsi, ran < k. Ce qui montre que ord p (ab) =

ran.

Chapitre 1.

Les fonctions de hachage

11

Lemme (mi, mf) =

15. Soient a\,a 2 ,

1, Vi ^

,a

n

G Z p tels que ordpiaî)

j

.

A/ors, ordp(aia 2 ■ ■ ■ a n ) = raim 2

=

m*, pour i

• • • m n .

=

l,

,

n

et

Démonstration. Nous prouverons le résultat par induction sur n. Le cas n = 2 a été démontré dans le lemme 14. Supposons le résultat vrai pour n — 1. Alors,

Puisque (raira 2 • • •

ord p (aia 2 • • • a n _i)

=

raim 2

■ • • m n _i.

ra n _i,ra n )

= 1, il découle du lemme 14 que

ord p ((aia 2 • • • a„_i)a„) =

(raira 2 • • ■ ra n _i) ra n .

D

Théorèm e 16. Pour tout nombre premier p, le corps Z p des nombres modulo p possède une racine primitive.

Démonstration.

que ordp(a) = p — 1. Soit p — 1 = p^p^ 2 ■ • ­p£ n la décomposition en facteurs premiers

de p —

qu'il existe aj G Z p tel que ord p (a;)

Z

avoir plus de (p — l)/p, racines. Soit a = &( p_1 )M' mod p. Alors, par le petit théorème

de Fermât, a p >* = 1 mod p. Donc ord p (a ) = p{ , où /

Puisque 4>(p) =

<

p

^

et

e t

p —

1, il suffit

i

=

1,

de montrer

qu'il existe un a

15, il suffit

b ^

G Z p

tel

1, où Pi

G N pour

=

, n. Par le lemme

1,

, n.

Soit

de montrer

pj*, pour i =

0 un élément de

p

tel que b (j '~ 1 ^ Pi

1 mod p.

Ceci est possible car le polynôme

x^ p_1 ^ Pi — 1 ne peut

< ej . Alors,

< e*. Supposons que /

p^

est un

diviseur

de

p; i _ 1 = p?/pi, impliquant que a p »*/ pi = b( p_1 )/ p « = 1 mod p, ce qui

contredit

le choix

de

b. Donc,

/

= e* et ainsi, ord p (a;) =

pf.

D

Nous pouvons maintenant décrire l'algorithme DSA.

1. Initialisation :

(a)

Alice choisit un nombre premier q de 160 bits et choisit un premier p tel que q est une diviseur de p— 1. (L,existence d'un tel nombre premier p découle du théorème de Dirichlet sur l'infitude des nombres premiers dans la progression arithmétique [12]).

(b)

Soit g une racine primitive modulo p et soit

a

=

g^>~ v >l q

mod p. Ainsi,

a q

=

1

mod p.

(c)

Alice

choisit un entier a tel que l<a< q

— l e t

calcule (3 = a a

mod p.

(d)

Alice rend public (p, q, a, P) et garde a secret.

 

Chapitre 1.

Les fonctions de hachage

12

(a)

Alice choisit un entier k, secret, tel que 0 < k < q — 1.

 

(b)

Elle calcule r = (a k mod p] le message à signer.

mod q et

s =

k~ l (m +

ar)

mod

q, où ra est

(c)

La signature d'Alice pour le message ra est sign(ra) = {r, s).

3. Vérification

:

(a)

Bob reçoit {r,s,m}.

(b)

Bob

télécharge les informations publiques d'Alice, soit (p,q,a,P) .

(c)

Il calcule u\ = s~ 1 m mod q et u 2 = s~ 1 r mod q.

(d)

Bob accepte la signature si et seulement si r = (a" 1 /?" 2 mod p) mod q.

Bien entendu, si quelqu'un venait à découvrir a, la procédure ne serait plus sécuri- taire. De plus, l'entier k ne doit pas être utilisé plus d'une fois pour envoyer un message car ceci permettrait de trouver a.

Supposons que Eve intercepte le message (m, sign(/i(ra))) qu'Alice envoie à Bob. Elle voudrait ajouter la signature d'Alice à un autre document ra'. Pour y parvenir, elle doit trouver un message ra' tel que sign(/i(ra')) = sign(/i(m)). Il suffit de trouver ra' tel que h(m') = h(m), ce qui est difficile étant donné que la fonction de hachage h est à sens unique. Toutefois, comme nous l'avons mentionné en début de chapitre, cela est difficile mais pas impossible. Néanmoins, même si Eve arrivait à trouver un tel message ra', il faudrait de surcroît que celui-ci ne soit pas seulement une suite illogique de caractères.

P G P

Le Pretty Good Privacy (PGP ou Open PGP) est un cryptosystème inventé par Philip Zimmerman au début des années 90 [20]. Son objectif était de créer un programme permettant de faire fonctionner RSA sur des ordinateurs personnels et accroître la sécurité des communications par e-mail. Cela lui a valu des procès pendant 3 ans [21] puisqu'il utilisait RSA sans l'accord de ses auteurs.

Le PGP est un système de cryptographie qui combine les fonctionnalités de la cryp- tographie à clé publique et de la cryptographie à clé secrète. Chaque utilisateur possède une quantité d'informations qu'il a lui-même signée, que l'on nomme certificat, et la confiance en ce certificat est garantie à différents degrés par les autres utilisateurs. Sup- posons qu'Alice connaît Bob et vérifie directement le certificat de Bob. Si celui-ci est

Chapitre 1.

Les fonctions de hachage

13

valide, Alice ajoute sa signature au certificat de Bob à l'aide de sa clé publique ( en utilisant RSA, DSA, etc). C'est à cette étape que les fonctions de hachage sont utilisées. Par ce geste, Alice démontre qu'elle a confiance en la validité du certificat de Bob. Supposons maintenant que Charles fait confiance à Alice et possède sa clé publique. Il peut alors vérifier que la signature sur le certificat de Bob est valide et ainsi faire confiance à la signature de Bob. Cela ne veut pas dire que Charles fait confiance aux certificats auxquels Bob ajoute sa signature, parce que celui-ci pourrait accepter de signer n'importe quoi, mais plutôt que Charles a confiance en la validité de la signature de Bob. C'est ce que l'on appelle une toile de confiance.

Chaque utilisateur, par exemple Alice, a une liste contenant le niveau de confiance (indéterminée, partielle, absolue ou aucune confiance) accordée à d'autres utilisateurs. Le programme PGP accepte les certificats provenant d'utilisateurs en qui Alice a confian- ce ou qui ont une combinaison suffisante de confiance partielle, en tenant compte des utilisateurs en qui Alice a confiance. Dans les autres cas, le programme demande à Alice si elle décide ou non d'accepter le certificat. C'est ce qui se produit lorsque l'on veut télécharger un fichier et qu'il apparaît une fenêtre à l'écran nous demandant si on fait confiance à celui-ci. Il est à noter que l'utilisateur a la responsabilité de ne pas accepter tous les certificats s'il n'en connaît pas véritablement l'origine. Ce n'est qu'une fois le certificat accepté que l'on peut commencer à envoyer des message codés par courrier électronique et ainsi s'assurer de la confidentialité du message.

PGP est aussi utilisé pour vérifier qu'il n'y a pas eu de corruption de données durant un téléchargement. Par exemple, si on veut télécharger SHA-1 et vérifier que le programme à été téléchargé correctement, on peut évaluer le message haché et si on obtient un résultat différent de celui fourni, c'est qu'il y a eu corruption des données.

SSL et

TSL

Lorsque l'on achète des articles sur internet, nos transactions sont, la plupart du temps, gardées secrètes grâce au Secure Sockets Layer (SSL) ou au Transport Layer Security (TLS). Le SSL a été développé en 1994 par Netscape pour permettre la com- munication HTTP (Hypertext Transfer Protocol) de façon sécuritaire. Le TSL est une version légèrement modifiée du SSL mise en marché par le Internet Engineering Task Force en 1999. Ces deux protocoles ont été créés pour permettre la communication entre les ordinateurs sans avoir de connaissance des capacités de chacune des machines. Ces deux protocoles utilisent les fonctions de hachage. Par exemple, SSL supporte MD5 et

SHA-1.

Chapitre 1.

Les fonctions de hachage

14

1.3.2 Contôle d'accès

Les fonctions de hachage sont utilisées pour des signatures électroniques, mais elles sont aussi très utiles pour sécuriser des accès informatiques. Dans plusieurs situations, nous devons nous identifier à l'aide d'un mot de passe pour accéder à une page informa- tique sécurisée ou simplement à un ordinateur. Le mot de passe saisi est transformé en un message haché par une fonction h. Ce sont ces messages hachés autorisant l'accès qui sont stockés dans la mémoire de l'ordinateur. Ainsi, lors de l'identification d'un utilisa- teur, l'ordinateur hache le mot de passe saisi et compare le message obtenu avec celui en mémoire. S'il y a correspondance, alors l'accès est autorisé. Cette méthode est sécu- ritaire puisqu'une fonction de hachage est à sens unique. Ainsi, même si une personne mal intentionnée mettait la main sur les messages hachés des mots de passe stockées sur l'ordinateur, il lui serait pratiquement impossible de retrouver le code d'accès.

Cette méthode possède une faille à laquelle on peut remédier. En effet, supposons que deux personnes ont le même mot de passe. Alors, leurs messages hachés seront également identiques. Si une personne mal intentionnée s'en apercevait, elle pourrait en conclure que le mot de passe n'est pas une suite aléatoire de symboles, mais plutôt un mot du dictionnaire. Ainsi, il pourrait trouver le moyen d'accéder à la page désirée en essayant tous les mots figurant dans le dictionnaire. Pour contrer ce type d'attaque, on ajoute une composante aléatoire, appelée sel, qui peut être par exemple l'heure d'attribution du mot de passe, qui est stockée en clair dans l'ordinateur. Le message haché est donc celui du mot de passe concaténé avec la composante aléatoire, créant ainsi deux messages hachés différents.

1.4 C ryp t analyse

Le désir d'envoyer des messages codés est survenu suite à une crainte qu'une tierce personne intercepte des informations que l'on souhaite conserver confidentielles. Cette tierce personne, que l'on appelle attaquant, utilise la cryptanalyse pour tenter de déchif- frer les messages codés sans en connaître la clé. S'il ne connaît pas la clé pour décoder le message, il peut posséder certaines informations qui pourraient peut-être lui permettre de décoder le message. On distingue essentiellement trois types d'attaques :

1. L'attaque à text e chiffré seul : l'attaquant possède uniquement un ou plusieurs messages codés.

Chapitre 1.

Les fonctions de hachage

15

et leur message codé correspondant. Cette attaque est très utilisée : si on possède plusieurs messages qui débutent ou finissent de la même façon (ex. formules de politesse), alors il peut être plus facile de déterminer la clé.

coder.

3. L'attaqu e à text e clair choisi : l'attaquant choisit lui-même le message à Cela peut arriver si un espion s'est infiltré dans un camp ennemi.

Une fois en possession de tous ces messages, il existe plusieurs techniques pour percer

le mystère. La plus simple de toutes est appelée Y attaque par force brute et consiste tout

simplement à essayer une à une toutes les possibilités.

1.4.1 Attaque des anniversaires

Supposons qu'il y a un groupe de 23 personnes dans une pièce. À tour de rôle, on

demande la date d'anniversaire aux personnes présentes. Ainsi, il y a une probabilité

de (1 — (i —

des personnes précédentes. Donc, la probabilité que les 23 personnes aient toutes une date d'anniversaire différente est

l)/365) que la i e personne ait une date d'anniversaire différente de celle

('-a)('-«)-( l -a)-~

Il en découle que la probabilité qu'au moins deux personnes aient la même date d'anni-

versaire est 1—0.493 = 0.507. Si on augmente le nombre de personnes à 30, la probabilité

augmente jusqu'à environ 70%. Cela semble surprenant à première vue. Ce problème est appelé paradoxe des anniversaires. C'est sur ce principe que se base l'attaque des anniversaires, un procédé cryptographique utilisé pour tenter de trouver des collisions pour une fonction.

De façon générale, supposons que l'on a N objets et r personnes, où N est un grand entier. Chaque personne doit piger un objet dans une boîte et l'y replacer par la suite. Alors, la probabilité qu'au moins deux personnes aient pigé le même objet est approximativement de 1 — e~ r / 2N [11, page 230].

On peut utiliser l'attaque des anniversaires pour trouver des collisions pour une

fonction de hachage h si la taille du message haché n'est pas trop grande. Supposons que h est une fonction de hachage produisant un message haché de n-bits. Alors, il y

a N = 2" possibilités de messages hachés. Pour trouver des collisions, il nous faudrait

trouver x\ ^ x 2 avec

même que de trouver deux personnes ayant la même date d'anniversaire dans un groupe de V~N, en supposant que le nombre de dates possibles est N. On construit une liste de

h(x\) = h(x 2 ). La probabilité de résoudre ce problème est donc la

Chapitre 1.

Les fonctions de hachage

16

r = ^/ r N = 2"/ 2 choix aléatoires de x. Ainsi, comme pour

le paradoxe des anniversaires, plus on augmente la valeur de r, plus on a de chance de trouver des collisions.

h(x) pour approximativement

Supposons que Eve souhaite faire signer un message à Alice. Elle choisit un message inoffensif qu'Alice acceptera certainement de signer. Elle fait alors 1,2\/N~ variantes du message (par exemple en ajoutant des ponctuations ou des erreurs de grammaire mineures) et trouve les messages hachés correspondants. Elle fait ensuite de même avec le message frauduleux. Ainsi, la probabilité qu'une des variantes du message inoffensif et une des variantes du message frauduleux aient le même résultat haché est supérieure à 1/2, selon le paradoxe des anniversaires. Ainsi, Eve peut faire signer cette variante du message inoffensif et utiliser la signature de ce message pour signer la variante du message frauduleux. En date d'aujourd'hui, on sait que pour éviter que cela se produise, il faut que les fonctions de hachage génèrent des messages hachés suffisamment grands [11, page 231].

Chapitre 2

Les exposants de Lyapunov

2.1 Introduction à la théorie du chaos

L'observation d'un phénomène physique qui évolue dans le temps fait intervenir

la notion de système dynamique. Par exemple, la trajectoire d'une balle de golf en

mouvement est un système dynamique. Il est possible de déterminer, à un instant précis,

la position de la balle dans l'espace. L'observation peut se faire en temps continu ou en

temps discret, mais nous nous intéresserons particulièrement à l'observation en temps discret.

Il y a trois sortes de systèmes dynamiques : aléatoires, déterministes et chaotiques. Les systèmes aléatoires évoluent dans le temps sans qu'aucune prévision ne soit pos­ sible. Ils ne sont pas régis par un modèle mathématique, contrairement aux systèmes

déterministes. Pour leur part, les systèmes chaotiques semblent être un étrange mélange de systèmes aléatoires et déterministes, ce qui rend presque impossible toute prévision

à long terme.

Notation : N 0 = {0,1,2,3,4,

}.

Définition

x

17. Soient X un ensemble et <>/

=

4>t( x ) =

: X —* X. Pour chaque condition initiale

On

dit

que

{<At}teN 0 e s t

u n

G X,

on écrit x t

<f>o <f>o ■ ■ ■ o <j)(x).

système

dynamique discret.

t

fois

La théorie du chaos a été introduite en 1961 par le métôrologue Edward Lorenz [13], alors qu'il expérimentait une méthode permettant de prévoir les phénomènes météo­

Chapitre 2.

Les exposants de Lyapunov

18

rologiques. Il a découvert qu'une minime modification des conditions initiales pouvait entraîner un changement considérable des résultats dans le temps. Il venait de découvrir des systèmes sensibles aux conditions initiales, que l'on appelle aujourd'hui systèmes chaotiques. Toutefois, si une condition initiale est parfaitement déterminée, alors l'évo- lution du système l'est aussi.

En 1892, Alexandre M. Lyapunov, un mathématicien russe, termina sa thèse de doctorat intitulée The general problem of the stability of motion [2]. Il fut le premier à avoir l'idée de mesurer l'écart entre deux trajectoires ayant des conditions initiales voisines dans un système dynamique chaotique. Ses travaux furent très précieux, vers les années 1960, pour un mathématicien russe du nom de Valéry Oseledec qui étudia la théorie du chaos [5].

La dérivée directionnelle étant un outil mathématique permettant de décrire les va- riations d'une fonction dans une direction donnée, il est tout à fait naturel de la faire intervenir dans l'étude du comportement chaotique. Ainsi, pour un système dynamique discret {4>t}teN Q , où (j) : [0, l] n —» [0, l] n , et deux conditions initiales x,y G X, nous nous intéresserons à la dérivée de (f) t dans la direction d'un vecteur dépendant de x et y.

Définition 18. Un homéomorphisme est une bijection continue entre deux espaces topologiques dont la réciproque est continue.

Définition 19. Soient x G U et <>j : U —» [0,1]" un homéomorphisme, où U est un sous-ensemble ouvert de [0,1]". Soient deux courbes 71 : (—1,1) —> [0, l] n et

72 : (—1,1) ► [0, l] n avec 71 (0) = 7 2 (0) = x et (po^ et (j>oy 2 differentiates en 0. Alors,

71

La classe d'équivalence est appelée vecteur tangent

Définitio n 20 . L'espace tangent à [0,1]" en x G [0, l] n , noté de tous les vecteurs tangents à [0,1]" en x.

Définitio n 2 1 . Le fibre tangent de [0, l] n est l'union disjointe

et 7 2 sont dites équivalentes en 0 si les dérivées de <p o j i

de

et <p o 72 en 0 coïncident.

[0, l] n en x.

T x [0, l] n , est l'ensemble

des espaces tangents de

[0,1]".

T[0,1]"=

(J

x6[0,l]"

7M0,l] n =

(J

i6[0,l] n

{*}xT x [0,l] n .

Remarqu e

22. Un élément de T[0,1]" peut être vu comme un couple (x,v), où x G

[0, l] 71 et v est un vecteur tangent à [0, l] n au point

x.

Considérons T 1 = d(j> t et u G T[0, l] n , où

d4t ■ T[0, l] n ­» T[0,1]"

d(j) t (x, u) =

(4> t (x), (d(f> t ) x u ) ,

Chapitre 2. Les exposants de Lyapunov

19

et Tl = (d<t> t ) x est la matrice Jacobienne de

(j> t . De plus, nous avons

Tl est la matrice identité pour tout x G [0,1]"

(d(f> s+t ) x = (d(<t> t o <p a )) x = (d<t> t ) Mx) {d<f>t) x

Pour comprendre un peu mieux comment ||(d0t) x u\\ varie dans le temps, considérons le cas où (d(f)) x est égale à une matrice constante A pour tout x G X. Alors,

(d4>t) x u = (d<^ t _ l(x) (d^)^_ 2(x) • ■ • (d(p) x u = A l u.

Supposons que p est une valeur propre de A et u est un vecteur propre associé à p. Alors, (d<f) t ) x u = p l u et ||(dt^t) x u|| = |p| É ||u||. Par conséquent, à chaque temps, le vecteur se dilate (ou se contracte) d'un facteur \p\. Toutefois, le taux d'expansion n'est pas nécessairement constant dans les directions autres que celles des vecteurs propres.

En général, (d(f>) x n'est pas constant pour tout x G X et ainsi il en est de même pour le taux d'expansion. On peut toutefois s'intéresser au taux de variation moyen à long terme. En utilisant la moyenne géométrique, on obtient

/iiw,"iiii(rffr),"ii

\\(dct> t ) x u\\ v»

v.

N I

\\(d4) x u\\ '"\\(d4t­i) s u\\)

~ \

/iiw^ r

NI

Définition 23. Soient {(j) t } un système dynamique discret, où (p ■' x G [0, l] n . Si

\u­­=}im o ­m\\(d<p t ) x u\\

[0, l] n —*

[0, l] n ,

existe, alors X u est appelé l'exposant

Remarqu e 24. La notation utilisée pour les exposants de Lyapunov ne fait intervenir que les paramètre u et x, bien qu'en fait ils dépendent également du système dynamique {0t}teN o ­ Toutefois, le système dynamique concerné sera toujours précisé, évitant ainsi toute confusion possible.

caractéristique de Lyapunov (LCE) du vecteur u.

et

Ainsi, les exposants de Lyapunov évaluent le logarithme de la moyenne géométrique du taux de variation. En effet,

lim In

t—>oo

(\\{d<t>t) x u\\

\

NI

lit

= limJ(ln||(d^) x u||­ln|H|

= limiln||(d&) x ii||.

Chapitre 2.

Les exposants de Lyapunov

20

On sait qu'un système dynamique est chaotique si le plus grand exposant de Lya- punov (LLE) est positif [28]. A priori, il n'y a aucune garantie que la limite existe. L'objectif de ce chapitre est de démontrer le théorème ergodique multiplicatif, qui nous assure que la limite existe presque partout, sous certaines conditions, et nous donne quelques informations sur celle-ci. Ainsi, nous verrons que l'on peut évaluer le LLE d'un système dynamique respectant ces conditions et ainsi pouvoir vérifier le caractère chaotique du système.

2.2 Algèbre linéaire

aurons besoin de quelques résul-

tats d'algèbre linéaire pour démontrer l'existence des exposants de Lyapunov. A priori, il peut sembler difficile de déterminer les exposants de Lyapunov. Toutefois, on mon- trera qu'il n'est pas nécessaire de déterminer la norme de la matrice (d(j)t) x , il suffit de déterminer les valeurs propres d'une matrice judicieuse.

Puisque (d4> t ) x est une matrice réelle n x n, nous

Notation : M n := {matrices réelles

n

x n}.

Définition 25. On note par A* la matrice adjointe de A G M n . Notons que dans le cas d'une matrice réelle, A* est simplement la transposée de A.

Définition

26. Une

matrice

A G

M n est dite auto-adjointe si

A — A*.

Définition ce cas, A* =

27. Une matrice A G M n est dite unitaire si A*A = AA* = I . Ainsi, dans A - 1 .

Définition 28. Une matrice A G M n est dite définie positive si toutes ses valeurs propres sont positives.

Définition

matrice unitaire U et une matrice diagonale D telles que A =

29. On dit que A G M n est unitairement diagonalisable s'il existe une

UDU - 1 .

Notation : Une matrice diagonale D G M n , dont les éléments sur la diagonale sont

di,

,dn,

est notée diag(d 1 ;

,d n ).

Proposition

diagonalisable, A = UDU' 1 , où la diagonale principale de D contient les valeurs propres

de A.

30. Soit A G M n une matrice auto-adjointe. Alors, A est unitairement

Chapitre 2.

Les exposants de Lyapunov

21

Démonstration.

diagonale donc le résultat est vrai. Supposons le résultat vrai pour n = k — 1. Soient

A G Mk, Ai une valeur propre de A et xi le vecteur propre associé, avec ||xi|| = 1. Par

le procédé de

de K fe . Alors, u*x\ =

Prouvons le résultat par induction sur n. Pour n = 1, la matrice A est

. ,Uk}, une base orthonormale

Gram­Schmidt [19], construisons {x\,u 2 ,

0 et ainsi

(Am)* xi = {u*A*) xi = u* (A*xi) = u* (Axi) = u* (A x xi) =

Aiu*xi = 0,

pour

matrice Ui :=

i — 2,

, k. De plus, x\ (Aui) = ((Aui)* xi)* = (A (u*xi))* = 0. Considérons la

[xi, u 2 , ■ ■ • ,Uk\. Alors U\ est unitaire

et

U*AUi

=

U* [Ax x , Au 2 , • ■ • , Au k \

=

XjAiXi u 2 (AiXj.)

u* k (Aixi)

x\Auk u 2 (Au k )

• •

u* k (Au k )

Uo

uk

J

[AiXi,Au 2 ,­­­

,Au k ]

Ainsi, les éléments de la première colonne et de la première ligne sont nuls sauf pour

le terme x^AiXi = Ai. Le reste de la matrice forme donc une matrice B de dimension

(k — 1) x (k — 1) qui est unitairement diagonalisable par hypothèse. En effet, puisque A* = A, on a (U*AUi)* = U{AU\. Ainsi, B* = B et on peut appliquer l'hypothèse

d'induction. Par conséquent, il existe

U 2 BU 2 = D 2 = diag(A 2 , A 3 ,

une matrice unitaire U 2 G

A 2 , A 3 ,

M k ­i telle que

,

A*), où

,

X k sont des valeurs propres de B.

Posons U := Ui

1

0

0

[/o

. Alors, U est une

matrice unitaire et

•AU

=

=

(

{

'

Ui

1

'

1

0

0

0 u * 2 .

0

U 2

V Jrr

A\Ux

)

\

'

(U{AU X )

1

0

' 1

, 0

0

U 2

0

(/j

\

J

'

= :

1

0

/

V

0

rç.

" 1

0

0

u* 2

'

Xi

0

,,

\

. 1 f

un A

V

'

0

B

'

" i

0

Ui

0

u 2

1

0

0

u 2

Ai

0

0

U£BU 2 \ "

[ Ai

[

0

0

D 2

Donc, les éléments de la diagonale sont des valeurs propres de A et les colonnes de U

les vecteurs propres associés.

D

Lemm e

31 . Soit A G M n . Alors, pour tout entier positif k, il existe une matrice

B

telle que B k = A*A. De plus, B est définie positive et auto­adjointe.

Chapitre 2.

Les exposants de Lyapunov

22

Démonstration.

u = (A*Av, v) = (Av, Av) > 0. Donc A*A est définie positive. De plus, (A*A)* = A*A

ce qui entraîne qu'elle est aussi auto-adjointe. Par la proposition 30, on sait qu'il existe

,d„) telles que

Soit u une valeur propre de A* A et v un vecteur propre associé. Alors,

une matrice unitaire U et une matrice diagonale D = diag(di,d 2 ,

A*A = UDU~ \ Posons E := diag(d} /fc ,d 2 A ,

(B) k

,d}J k ) et B := UEU~ \ Alors,

= A*A. De plus, E est définie positive et

B*

=

(UEU- 1 )* = (t/ -1 *) E*U* = (U*yE*U~ l = UEU' 1 = B,

donc B est auto-adjointe et définie positive.

D

Notation

: Si B k

=

A*A alors on écrit B =

(A*A) 1 ^ k . Dans le cas où k =

2, on note

\/AM.

Lemme 32. Soit A G M n . Alors, ||A|| est égale à la plus grande valeur propre de \/A*A, où ||A|| := sup ||Au||. Déplus, \\A\\ = \\y/Â*Â\\.

\\v\\=l

"

Démonstration.

et est auto-adjointe. Donc,

Soit v un vecteur dans R n . Par le lemme 31, on sait que y/A*A existe

||Ai;|| 2

=

= (VA*Av,VA*Av) = \\VA*Av\\

(Av, Av) = (A*Av, v) = (VATÂVATÂV , V)

.

Par conséquent,

||A|| =

sup ||Aw|| =

IMI=i

sup

IMI=i "

vÂM u

=

vÂ*Â

.

Par la proposition 30, on sait qu'il existe une matrice unitaire U et une matrice diagonale D, contenant les valeurs propres de \/A*A sur la diagonale, telles que VA*A = U~ l DU. De plus, puisque la multiplication d'un vecteur par une matrice

unitaire préserve la norme de celui-ci, on obtient

vA*Av

= ||Dv||. Donc,

||A|| =

sup || Du|| = max {A* : Ai est une valeur propre de VÂ*Â\ ,

Nl=i

l

'

ce qui termine la démonstration.

D

Ainsi, on sait qu'il nous suffit de trouver la plus grande valeur propre de la matrice J({d(j)t) x (d<f>t) x ) pour connaître la norme de (d<t> t ) x . Toutefois, puisque l'on cherche à déterminer la limite lorsque t tend vers l'infini, il nous faut montrer que les valeurs propres convergent, ce qui sera fait dans la prochaine section. Pour y arriver, nous devrons introduire la puissance extérieure d'une matrice.

Chapitre 2.

Les exposants de Lyapunov

23

Définition

33. La signature d'une permutation cr de ra éléments est définie par

sign W =

n

0J)€P

l

J

où V est l'ensemble des paires d'éléments distincts (il y en a m

2 '

1

'

) ­

aMzJ ^,

Définition 34. Soient A G M m x n et B G M pxg . On dit que la matrice P G M mpxnq est le produit tensoriel de A avec B si

 

P

=

et on écrit

P

=

A <g> B.

/

anfî

a 2 iB

\

a m iB

a i 2 B

a 2 2 B

a m 2 B

• ■

■ ■

■■

ain­B

a 2n B

o, m n B

\

)

Remarqu e 35. Notons

De plus, on a

(A (8) B)* =

que le produit tensoriel est associatif, A* ® B*.

mais pas

commutatif.

Définition

défini par le vecteur de

36. Soient

X\, x 2 , R n

,

x k

G R". Le produit extérieur de X\, x 2 ,

,

x k

est

xi A xi A • • • A x k

:=

( —j

J2sign(a)x (7 (i) ®

x a{2) ® ■ ■ ■ ® x^ k) ,

où o est une permutation de {1,2,

, k}.

Définition

çième p U i ssanc e extérieure de R n , que l'on dénote par A 9 R", est le sous­espace de R n "

37. Soient V

:=

{vi,••• ,v n }

une base de R n

et

1

<

q

<

n

. Alors,

la

engendré par

{v ix A • • • A v iq

: v^

G V, ti

<

• • • < i q }, qui sont des vecteurs linéairement

indépendants.

Définition

puissance extérieure de A, notée A M et de

les entrées sont définies par l'action de A Aq sur chacun des vecteurs de

38.

Soient A G M n ,

{v u ■■■ ,v n }

une base de R n

n. La q ieme

est une matrice réelle dont

et

1 <

q <

dimension ( n J,

{«ij A • • • A Vi

:v ij

G V, ii

<

■ ■■

<

i q }, la base de A 9 R n ,

comme suit :

A Aq (v h

A • • • A v iq )

=

Av h A • • • A Av iq .

Lemme 39. Soient

A,B

G M n ,

c G 1

e t l

<

q <

n.

^4/ors

Chapitre 2.

Les exposants de Lyapunov

2.

(A­ 1 )^

­

( A A q y \

3. {cA) Aq = c q A Aq .

24

Démonstration.

Soient (v^ A • • ■ /\v iq ) un vecteur élémentaire dans A 9 R n et A, B G M n .

Alors,

(AB) A q (v h

A • • • A v iq )

=

= (A) A q (B) A q ( Vil A­­­Av i q ),

ABv h

A ■ • ■ A ABv iq

=

A A q (Bv h

A • • • A Bv iq )

(cA) Aq (v ix

A • • • A v iq )

=

= c q A Aq .

cAv h

A • ■ ■ A cAv iq

De plus, (A­ 1 )*" = (A A «) _1

première propriété. Ainsi, le résultat est démontré.

Lemme 40. Soient A G M n une matrice inversible et

complet de vecteurs propres de A avec les valeurs propres associées U := {ui, ■ ■ ■ , u n },

pa s nécessairemen t distinctes . Alors , {v^

^=>

(A" 1 )**^ ' =

I Aq .

Or, cette égalité découle de la D

, v n } un ensemble

V := {v\,

: Uj,

G V, i i

A

• • • A Vi q

<

<

i q }

est un

ensemble complet de vecteurs propres pour A Aq avec les valeurs propres associées

{u h ■■■u i q : u i j €U,ii<

<

i q ).

Démonstration.

En utilisant le lemme 39, on obtient

A A q (v h

A • • •

A v iq )

=

 

=

Av ix

A • • • A Av iq

=

u h v i l

u i l ­­­u i q (vi 1 A­­­Av i q ) .

A • • • A u iq v iq

D

Lemm e

où Pi,

4 1 . Soient A G M„ inversible

et 1 <

q <

n.

Alors,

\\A Aq \\=0 n .­­0 n _ q+ i,

, (3 n sont les valeurs propres de V'A*A indicées de telle sorte que B\ < • • • < p\ .

Démonstration. Soient x\,

, x q des vecteurs dans R n . Alors,

(v / ÂM) A9 (v / ÂM) A9 [xiA­­­Ax g ]

=

(A*A) Aq [*, A • • ■ A

x j

=

y/(A*A) Aq ^(A*A) Aq [xiA­­­Ax q }.

Donc, (\/A*À)

= \J(A*A) Aq . Or, par le lemme 39, on sait que

y/(A*A) M = J(A*) Aq A Aq .

Chapitre 2.

Les exposants de Lyapunov

25

Par la remarque 35, on sait que (A*) Aq = (A Aq )*. De plus, puisque \\A Aq \\ est égale à

la plus grande valeur propre de \J(A*) Aq A Aq , alors

D

valeur propre de ^(A*A) Aq . Ainsi, par le lemme 40, on a ||A A «||

elle est aussi égale à la plus grande

=/?„••• B n _ q+l .

2.3 La grassmanienne

Tel que mentionné précédemment, pour un système dynamique donné, les exposants de Lyapunov d'un vecteur u G R" dépendent de sa direction. Puisqu'il y a une infinité de directions possibles pour un vecteur u, on pourrait être porté à croire qu'il y a une infinité d'exposants de Lyapunov pour un système dynamique discret. Or, comme nous le verrons plus loin dans le chapitre, le théorème ergodique multiplicatif nous permet de construire un nombre fini de sous-espcaces de R", pour lesquels les exposants de Lyapunov ont la même valeur, ainsi il y a un nombre fini de ces exposants.

Définition 42. La grassmanienne de dimension ra de R", notée GVJJ,, 0 < ra < n, est l'ensemble des sous-espaces vectoriels de R n de dimension ra.

Pour construire les sous-espaces désirés, nous devrons construire une suite de Cauchy de sous-espaces de GV™. En premier lieu, il nous faut construire une métrique sur GV™.

Définissons la fonction d comme suit :

d

: Gr n m

x

Gr n m -

R + ,

d(U,V) = max{|(u,y)| : u G U,y G V \

N I

=

||y|| =

l } •

Propositio n 43 . Pour tout U, V G Gr n m , on a d(U, V) =

d (<7\ V 1 ).

Démonstration.

il existe u

tel que cos(0) = (u, y).

Puisque Uu, y) G U x V 1 - : u G U, y G V L , ||u||

y G V ±

tels que

||u|| =

||y|| =

1 et

d(U, V)

=

G U et

=

||y|| = l j est compact,

(u,y). Soit

9 G [o, f]

Si 0 =

On a dim U L

montre que d(U^, V 1 ) = 1.

0, alors u =

:=

n — ra, dim V =

=

y, W

UÇ\V L

m

±

{0} et d(U,V) =

1. Aussi, U L Ç\V Q

dim U 1 - f| V >

W 1 . 1. Cela

et

dim W 1 - <

n, ce qui force

Chapitre 2.

Les exposants de Lyapunov

26

- Montrons qu'il existe x G U 1 unitaire tel que y = ucos9 + xsin#. Remarquons d'abord que y — ucos9 G U x . En effet, supposons le contraire, c'est-à-dire qu'on peut écrire y = ucos9 + au 0 + z, pour certains a > 0, n 0 G U et z G t/ 1 - tels que ||uo|| = 1. Alors,

f(t)

=

(y, tu +

uoVl -

t 2 ) =tcos9 + oVl

-

t 2

admet un maximum sur [0,1] qui est strictement supérieur à cos#, car /'(l ) —> —oo, ce qui contredit la maximalité de (u,y). Ainsi, il existe x G U x tel que y — ucos9 + x.

Puisque 9 ^ 0, on a x

\\x\\ et y = ucos9 ± xsiné?. En remplaçant x par —x au besoin, on peut supposer

que y =

7^ 0 et on pose x =

7—77. Alors, x G C/- 1 , ||x|| =

x

1

u cos 9 + x sin 0.

- Il existe v G V unitaire tel que n = y cos 9 + vsinO. Cela découle de la symétrie

entre u et

y.

On a

0 =

{y, v) =

(u, v) cos 9 +

(x, v) sin 0 =

sin 9 (cos 0 +

(x, v))

ce qui montre que d(U^, V 1 ) > (—x, v) = cos9 = d(U, V).

En appliquant cette inégalité à (C/ x , V 1 ) au lieu de (U, V), on d(U, V) > d(U L , V L ) et l'égalité est montrée.

trouve que

D

Définition

m et {vi,

notée Proj (u, V), est définie par Proj (u, V) = 2j{ui, u)vi.

44. Soient u un vecteur dans R n , V un sous-espace de R n de dimension

,v m } une base orthonormée de V. La projection orthogonale de u sur V,

m

i=i

Lemm e 45. Soient u un vecteur dans R" ei V, W des sous-espaces de R n . Alors,

HProj (n, WOH <

||Proj (u, V)|| +

|Proj (Proj (u, V 1 )

, w )

|

,

où ||Proj(u, V)|| =max{|(u,u)|, u G V, \\v\\ = 1}.

Démonstration.

Puisque V et V x sont orthogonaux, on a

u

=

Proj (M, V) +

Proj (u, V x )

.

Chapitre 2. Les exposants de Lyapunov

27

Par conséquent,

HProj (u, W) ||

=

||Proj (Proj (u, V) + Proj [u, V x ) , W

 

<

HProj

(Proj (u, V),W)\\ + ||Proj (Proj (u, V 1 ) ,

W

<

HProj

(u, V)\\ + |Proj (Proj (u, V x ) , W)\\.

 

D

Proposition 46. La fonction d est une métrique sur Gr^.

 

Démonstration. Soient U, V, W G Gr^. Si U — V, alors

 

d(U,V)

=

max{K«,v)|:uGf/,ueVMH | = ||v|| = l}>0 .

 

Si d(U, V) = 0, alors pour tout u G U et v G V 1 on a (u, v) = 0. Ainsi,

 
 

U

Ç (y x ) X

=

V

Toutefois, on sait que dim(U) = dim(V), donc U = V.

 

Par la proposition 43, on obtient

 

d(U,V)

=

d(U ± ,V ± )=maxl [ \(u,v)\:ueU ± ,vç(V ± ) ± ,\\u\ \

=

\\v\\ =

l }

=

max{\{v,u)\ :veV,ueU x ,\\v\ \ = \\u\\ = l} = d(V,f/).

Si A et B sont des sous-espaces de R" et a est un vecteur dans A, alors

 
 

[Proj (a,B 1 )J

=

max{Ka > 6>| > 6€BM|6|| = l}<||a||d(A > B),

 

et il existe un a unitaire pour lequel on a l'égalité. Soit u E U unitaire tel que llProj (u, W L ) Il = d(U, W). En utilisant le lemme 45, on obtient

d(U, W)

=

|Proj (u,

W L ) J < ||Proj

(u, V 1 )

\\ + |Proj (^Proj (u, (V^ )

, W ^

 

=

|Proj (u, V 1 ) f + |Proj (Proj(u, V), W 1 -) \\

 

<

d(U, V) + ||Proj( u , V)\\ d(V, W) < d{U, V) + d{V, W).

Ainsi, d est une métrique sur Gr^.

 
 

n

Chapitre 2.

Les exposants de Lyapunov

28

Lemme 47. Soit {A m } m > 0 une famille de matrices dans M n telles que

1. limsup — ln||A m || < 0,

2.

m—>oo

m

lim

— In ||(A m ) A9 || existe pour g = 1,

, n.

Soient

a $

<

• • ■

<

a

$

les valeurs propres de

la matrice ((A m )* A m ) 5 , où

A m :=

A m A m _iA m _ 2 • •

• A 2 Ai. Alors,

existe et est finie pour p =

1,

, n.

Démonstration.

valeurs propres sont positives. Par le lemme 41 on obtient l'égalité suivante, pour

Par le lemme 31, on sait que la matrice

((A m )* A m ) '

existe et ses

lln|(A^ |

=

En prenant q = 1, on en déduit que

iln(aWaL"­ 1 )

aL"­^))

.

lim

m­>oo

— hia ^

m

existe et est finie. De plus, puisque

on conclut que

lim — In of^" 1 ' existe et est finie. Par induction, on trouve que

m­>oo

m

existe et est finie pour p =

1,

X(p):=jm­lna^

, n.

D

Notation :

Introduisons quelques notations qui simplifieront l'écriture des prochains résultats.

Pour

{A m } m>0 , une famille de matrices dans M n , posons

1.

A m

■­ A m A m _iA m _ 2

• • A 2 Aj,

2.

a $

<

■ ■ ■

<

a $

les

valeurs propres de la matrice ((A m )* A m ) 5 ,

3 ­ X(p):=jm

^lnaW

pe{l,

,n},

4. < A< 2 ) <

A^

• • • <

A^

les valeurs distinctes de x(p), 1 < s <

n,

5. :=

L «

{p G {1,

,

n} : X (p)

=

A (r) },

r

G {1,

,s},

Chapitre 2.

Les exposants de Lyapunov

29

6. U $ { a ^

7. 0

U

t<r

l'espace engendré par les vecteurs propres associés aux valeurs propres

: p G L^} , et on note sa dimension par

n r ,

$

représente la somme directe des espaces U$,

,U$

.

Notons que la dimension de

l a définition de L^ r K De plus, le

p G {1,

, n}, sont finies.

par

lemme 47 nous assure que les valeurs de X(P)I P o u r

U $

est indépendante de m mais dépend de r

Lemme 48. Soient ô >

0

et {A m } m> o une famille de matrices dans M n telles que

1. limsup —In ||A m || < 0,

2.

m—KX

ra

lim

— In

m­>oo m—»oo rn. m

(A m ) A9

existe pour q = 1,

, n.

Alors, pour tous

1 <

r, r'

<

s,

il existe une constante K

>

0 telle que pour tout k >

0,

a

:= max{\(u,u')\:ueU£\u'eU% k ,\\u\ \ = \\u'\\ = l}

<

tfexp(­ra(|A (r,) ­A (r >|­(S)).

 

Démonstration.

Soient u

®

U $

et v k T , =

Proj (u, © t > r / f/^+ fc l.

Alors,

t<r

\\v k y \\ = max{|(u, «'>| : u' G 0

t>r'

U«? +k , \\u'\\ = 1}.

Si on arrive à trouver K > 0 tel que |v*J | < K||u||exp (­ra (|A (r,) ­ A (r) | ­ â)j, la démonstration sera terminée.

Sans perte de généralité, supposons que ô < {X^ — X^\ pour tout r' ^ r et posons

6* =

il existe une constante C > 0 telle que pour tout ra,

­, où s

est le nombre de valeurs distinctes de x(p) , 1 < P < «•• Par l'hypothèse 1,

ln||A m + i||< G +

ra­.

De plus, puisque jjj In a ^ obtient :

—► A ^ pour tout p G Z/ r ),

pour ra suffisamment grand on

­lna&>

<

A« + ?

et

m

4

oj»

<

exp(mlV > + £)) ,

Chapitre 2.

Les exposants de Lyapunov

30

pour tout p G L^ r \

Or, puisque A^ > A^

pour tout t < r, on obtient

aS?<«p(m(AW + Ç)) >

pour tout p G Ut<r L®.

De plus, les espaces propres U $ sont orthogonaux et les valeurs propres mesurent

l'élongation par {(A m )* A m Y d'une

propre. Ainsi, un vecteur subit une elongation au plus égale à la plus grande valeur

propre de ((A m )* A m )*. Si p G \Jt<r L {t) ', la plus grande valeur est au plus A^. Ainsi, on obtient

composante d'un vecteur appartenant à l'espace

propre de ((A m )* A m ) 5