125
UNIVERSITE DORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT DINFORMATIQUE ThLme : Approche Cryptographique basée sur les algorithmes génétiques Pour la sécurité des réseaux Ad Hoc PrØsentØ par : BENHAOUA MOHAMED KAMEL Pour l’obtention du diplôme de Magistère en informatique Option : « Méthodes et modèle pour la sécurité des SI » Devant le jury : PrØsident : Benhamamouch Djilali Rapporteur : Mustapha kamel Rahmouni Co-Rapporteur : Bouabdellah Kechar Examinateur : Hafid Haffaf Examinateur : Larbi Sekhri REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LENSEIGNEMENT SUPERIEURE ET DE LA REC HERCHE SCIENTIFIQUE

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Embed Size (px)

Citation preview

Page 1: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

UNIVERSITE D’ORAN ES-SENIA FACULTE DES SCIENCES

DEPARTEMENT D’INFORMATIQUE

Thème : Approche Cryptographique basée sur les algorithmes génétiques

Pour la sécurité des réseaux Ad Hoc

Présenté par : BENHAOUA MOHAMED KAMEL

Pour l’obtention du diplôme de

Magistère en informatique

Option : « Méthodes et modèle pour la sécurité des SI »

Devant le jury :

Président : Benhamamouch Djilali

Rapporteur : Mustapha kamel Rahmouni

Co-Rapporteur : Bouabdellah Kechar

Examinateur : Hafid Haffaf

Examinateur : Larbi Sekhri

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L’ENSEIGNEMENT SUPERIEURE ET DE LA REC HERCHE

SCIENTIFIQUE

Page 2: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

TABLE DES MATIÈRES

Introduction générale 1

Chapitre I 5

Les Réseaux Ad Hoc et sécurité

I.1 Introduction .................................................................................................. ……………5

I.2 Mode de communication dans les réseaux mobiles ......................................... ……………5

I.3 Les classes de réseaux mobiles .................................................................... ……………. 6

I.3.1 Les réseaux avec infrastructure (cellulaires) ........................................ ……………. 6

I.3.2 Les réseaux sans infrastructure (Ad Hoc)….. ...................................... …………… 7

I.3.2.1 Définition d’un réseau ad hoc ..................................................... …………… 7

I.3.2.2 Les caractéristiques des réseaux ad hoc ...................................... …………… 8

I.3.2.3 Les applications des réseaux mobiles ad hoc .............................. …………… 8

I.4 Le routage dans les réseaux ad hoc ............................................................ ……………. 9

I.4.1 Définition du routage ......................................................................... ……………. 9

I.4.2 Difficulté de routage dans les réseaux ad hoc….. ................................ ……………. 9

I.5 Classification des protocoles de routages ..................................................... ……………. 9

I.6 Exigence de sécurité des réseaux sans fil Ad Hoc .................................... ……………..10

I.7 Conclusion ................................................................................................... ……………..14

Chapitre II 15

La cryptographie

II.1 Introduction ............................................................................................... ……………..15

II.2 Définitions : ................................................................................................ ……………..15

II.3 Cryptographie classique .............................................................................. ……………..16

II.3.1 Le code de César ................................................................................. ……………..16

II.3.2 Le carré de Polybe ............................................................................. ……………..16

II.3.3 Chiffrement de Delastelle .................................................................. ……………..17

II.3.4 le chiffre des templiers (ou de PigPen) ............................................... ……………..18

II.3.5 Le Chiffrement par décalage ............................................................ ……………..18

II.3.5.1 Arithmétique modulaire ............................................................. ……………..18

II.3.5.2 Application ................................................................................ ……………..19

II.3.6 Le chiffrement affine ......................................................................... ……………..19

II.3.7 Le chiffrement de Hill........................................................................ …………….. 20

II.3.8 Le chiffrement de Vigenère .............................................................. …………….. 22

II.3.9 Le chiffrement par transposition (par permutation) .......................... …………….. 23

II.3.10 Le chiffrement par substitution ....................................................... …………….. 24

II.3.11 Systèmes à clés jetables .................................................................... ……………...25

Page 3: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

II.4 Cryptographie moderne .............................................................................. ……………. 25 II.4.1 Cryptographie symétrique .................................................................. …………….. 26

II.4.1.1 DES ......................................................................................... …………….. 26

II.4.1.2 IDEA ....................................................................................... …………….. 33

II.4.1.3 AES ......................................................................................... …………….. 38

II.4.2 Cryptographie asymétrique ................................................................ …………….. 50

II.4.2.1 RSA .......................................................................................... …………….. 50

II.4.3 Cryptographie Hybride ...................................................................... ……………...53

II.4.3.1 Algorithme du PGP ................................................................... ……………...53

II.4.4 Cryptographie Quantique................................................................... ……………...53

IV.4.4.1 Introduction............................................................................. ……………...53

IV.4.4.2 Bases théoriques ...................................................................... ……………...54

IV.4.4.3 Description du protocole ......................................................... ……………...55

II.4.5 Cryptographie par courbe elliptique .................................................. ……………...55

IV.4.5.1 Addition de deux points ........................................................... ……………...56

IV.4.5.2 Multiplication d'un point par un nombre entier ..................... ……………...57

IV.4.5.3 Echange de clés ...................................................................... ……………...57

IV.4.5.4 Sécurité .................................................................................. ……………...58

IV.4.5.5 Inconvénients .......................................................................... ……………...58

II.5 Le hachage………………………………………………………………………………….. 58

II.6 Le certificat ................................................................................................ ……………...59

II.7 La signature digitale ................................................................................... ……………...60

II.8 Conclusion ................................................................................................. ……………...60

Chapitre III 61

La Cryptographie par Les Algorithmes Génétiques

Partie A : Présentation des algorithmes génétiques

III.1 Introduction .............................................................................................. ………………61

III.2 Algorithmes génétiques ............................................................................. ………………61

II.2.1 Définition et origine .......................................................................... ………………61

II.2.2 Corps d’un algorithme génétique ..................................................... ………………62

II.2.2.1 Codage ..................................................................................... ………………63

II.2.2.2 Construction de la population initiale ..................................... ………………63

II.2.2.3 Evaluation des individus ......................................................... ………………64

II.2.2.4 sélection ................................................................................... ………………64

II.2.2.5 Opérateurs génétiques ............................................................ ………………66

II.2.2.6 Critère d’arrêt .......................................................................... ………………67

III.3 Naissance des algorithmes génétiques ........................................................ ………………67

III.3.1 Les algorithmes génétiques parallèles ............................................. ………………67

III.3.2 Extension vers les problèmes d’optimisation ................................ ………………68

III.3.3 Extension vers les problèmes d’ordonnancement ............................. ………………68

III.3.3.1 Codage .................................................................................... ………………68

III.3.3.2 Opérateurs génétiques adaptés ............................................... ………………69

III.4 Recommandations ...................................................................................... ………………71

III.5 Applications .............................................................................................. ………………72

Page 4: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Partie B : Contribution

III.6 Introduction a la cryptographie par les algorithmes génétiques .............. ………………72

III.7 Description de l’algorithme de chiffrement .............................................. ……………… 73

III.8 Squelette de l’algorithme .......................................................................... ………………74

III.9 L’Algorithme par étapes .......................................................................... ………………74

III.10 les opérateurs classiques et le Bestof2 …………………………………………………….76

III.11 Exemple ……………………………..…………………………………………………….78

Partie C : Application dans les réseaux Ad hoc

III.12 Application pour les réseaux Ad hoc ……………………………………………………81

III.13 Conclusion..…………………………………………………………..……………….… 82

Chapitre IV 83

Implémentation et Evaluation

IV.1 Introduction …………………………………………………………………………………83

IV.2 Evaluation des choix méthodologiques ..................................................... ………………. 83

IV.2.1 Implémentation ...............................................................................………………. 83

IV.2.2 Evaluation .......................................................................................………………. 87

IV.2.2.1 Comparaison du bestof2 avec les opérateurs classiques ...........………………. 87

IV.2.2.2 Comparaison entre les méthodes Roulette et par Trie...............………………. 88

IV.3 Evaluation par comparaison avec d’autres méthodes ................................. ………………. 89

IV.3.1 Implémentation ...............................................................................………………. 89

IV.3.1.1 Implémentation de l’IDEA .......................................................………………. 89

IV.3.1.2 Implémentation de l’RSA .........................................................………………. 94

IV.3.1.3 Implémentation de PGP ............................................................………………. 97

IV.3.1.4 Implémentation de CAG ...........................................................………………. 99

IV.3.2 Evaluation .......................................................................................……………….105

IV.3.2.1 Evaluation par comparaison avec d’autres méthodes entre les algorithmes IDEA ,

RSA , PGP et CAG ................................................................................……………….105

IV.4 Conclusion ............................................................................................... ……………….109

Conclusion générale 110

Bibliographie

Page 5: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

TABLE DES FIGURES

Titre Page

Figure I.1 : Les différents modes de communication .................................................................. ………………… 5

Figure I.2 : Les réseaux cellulaires (GSM)............................................................................... …………………. 6

Figure I.3 : Un réseau ad hoc .................................................................................................. …………………. 7

Figure I.4 : Le changement de la topologie des réseaux ad hoc ........................................... …………………. 7

Figure II.1 : Le chiffrement de Pig Pen …………………………………………………………………………….18

Figure II.2 : Le cylindre de scytale .......................................................................................... ………………….23

Figure II.3 : Fréquences des lettres en français ...................................................................... …………………24

Figure II.4 : Principe de chiffrement symétrique .................................................................. ………………….26

Figure II.5 : La diversification des clés en DES ………………………………………………………………….. 28

Figure II.6 : Enchaînement des opérations de chiffrement dans le système DES ..................... ………………….30

Figure II.7 : Description de l’opération Dn=Gn-1 ⊕ F(Dn-1,Kn)........................................... ………………….32

Figure II.8 : fonctionnement de l’algorithme d’IDEA .......................................................... ………………….34

Figure II.9 : L’organigramme d’une itération ........................................................................ ………………….35

Figure II.10 : Détail de transformation .................................................................................. ………………….36

Figure II.11 : Schéma bloc d’AES ......................................................................................... ………………….39

Figure II.12 : Forme du texte clair et la clef pour AES-128 .................................................. ………………….40

Figure II.13 : L’opération Mix columns pour AES version 128 ........................................... ………………….45

Figure II.14 : Matrice utilisée dans l’extension des clés …………………………………………………………. 46

Figure II.15 : Principe de chiffrement symétrique .................................................................... ………………….50

Figure II.16 : Principe de RSA ................................................................................................. ………………….51

Figure II.17 : exemple de courbe elliptique .............................................................................. ………………….56

Figure III.1 Un algorithme génétique ....................................................................................... ………………….63

Figure III.2 : Croisement ‘1-point’ ........................................................................................... ………………….66

Figure III.3 : Croisement ‘2-point’ ........................................................................................... ………………….67

Figure III.4 : Croisement MPX .................................................................................................. ………………….70

Figure III.5 : Croisement OX................................................................................................... ………………….70

Figure III.6 : Mutation d’un individu ........................................................................................ ………………….71

Figure III.7 : La représentation du message à chiffrer................................................................... ………………….73

Figure III.8 : Les étapes de chiffrement ....................................................................................... ………………….76

Figure III.9 : Le croisement en 1 point ..................................................................................... ………………….77

Figure III.10 : Le croisement MPX ........................................................................................... ………………….77

Figure III.11 : Ségrégation des gènes........................................................................................ ………………….78

Figure III.12 : Croisement bestof2.............................................................................................. ………………….78

Figure III.13 : Application symétrique...................................................................................... ………………….81

Figure III.14 : Application hybryde ............................................................................................ ………………….82

Figure IV.1 : Représentation graphique de la convergence vers la meilleure solution ............ ………………….87

Figure IV.2 : Comparaison des temps d’exécutions des méthodes de croisement sur différentes tailles de fichiers

…………………………………………………………………………………………………………………..… 88

Figure IV.3 : Comparaison des temps d’exécution des méthodes de sélection sur différentes tailles de fichiers

…………………………………………………………………………………………………………………..… 88

Figure IV.4 : Interface d’IDEA dans le cas du cryptage d’un texte (4 k.o) ................................. ………………….92

Figure IV.5 : Interface d’IDEA dans le cas du cryptage d’une image (4 k.o) .............................. ………………….92

Figure IV.6 : Interface d’RSA dans le cas du cryptage d’un texte (4 k.o)…………………………………………. 96

Figure IV.7 : Interface PGP dans le cas du cryptage d’un texte (4 k.o)……………………………………………. 98

Figure IV.8 : Interface des fichiers CAG ……………………………………………………………………….. 103

Figure IV.9 : Interface des paramètres de l’AG de CAG ……………………………………………………….. 104

Figure IV.10 : Représentation graphique du délai de cryptage/décryptage [4k.o…. 20k.o] …………………… 107

Figure IV.11 : Représentation graphique du délai de cryptage/décryptage [20k.o…. 100k.o] …….......................108

Page 6: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Table II.1 : Le chiffrement de César ......................................................................................... …………………16

Table II.2 : La grille de Polybe .................................................................................................. …………………16

Table II.3 : Un chiffrement de Delastelle ............................................................................... …………………17

Table II.4 : Un chiffrement par décalage................................................................................... …………………19

Table II.5 : Un chiffrement affine ............................................................................................. …………………20

Table II.6 : Un déchiffrement affine ......................................................................................... …………………20

Table II.7 : Un chiffrement de Hill ........................................................................................... …………………21

Table II.8 : Un déchiffrement de Hill ........................................................................................ …………………22

Table II.9 : Un chiffrement de Vigenère ................................................................................... …………………22

Table II.10 : Les permutations CP1 et CP2 .............................................................................. …………………27

Table II.11 : La table des décalages à gauche LS ...................................................................... …………………28

Table II.12 :La permutation initiale: PI et son inverse PI-1

........................................................ …………………31

Table II.13 : les S-Boxes ........................................................................................................... …………………31

Table II.14 : la table d’expansion E et la permutation P .............................................................. …………………32

Table II.15: Forme de matrices de chaque version d’AES ........................................................ …………………40

Table II.16 : Représentation Hexadécimale .............................................................................. …………………40

Table II.17 : S-Box.................................................................................................................... …………………44

Table II.18: Inverse S-Box ....................................................................................................... …………………49

Table II.19 : Difficulté du calcul de logarithme discret ............................................................ …………………55

Table IV.1 : Résultat obtenu avec l’IDEA………………………………………………………………………. 93

Table IV.2 : Résultats obtenu avec l’RSA………………………………………………………………………….. 97

Table IV.3 : Résultat obtenu avec le PGP……………………………………………………………………….... 99

Table IV.4 : Résultat obtenu avec CAG………………………………………………………………………… 105

Table IV.5 : Délai de cryptage/décryptage [4k.o…. 20k.o] …………………………………………………… 106

Table IV.6 : Délai de cryptage/décryptage [20k.o…. 100k.o]…………………………………………………… 107

Page 7: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique
Page 8: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Introduction générale

1

Introduction générale

L’évolution dans le domaine de la communication sans fil et l’informatique

mobile gagne de plus en plus de popularité. Les unités mobiles deviennent de plus en plus

fréquente (PDA, laptops, handsets), ceci a permis l’apparition de réseaux locaux sans fil

dans les entreprises et même chez les particuliers.

La communication au sein de l’environnement mobile se base essentiellement sur la

transmission radio. Cet environnement mobile engendre de nouvelles caractéristiques

telles que : des ressources modestes, et des sources d’énergie limitées.

Les réseaux mobiles sans fil, peuvent être classés en deux grandes classes : les réseaux

avec infrastructure qui utilisent généralement le modèle de la communication cellulaire,

et les réseaux sans infrastructure appelés réseaux ad hoc. Plusieurs systèmes utilisent

déjà le modèle cellulaire et connaissent une très forte expansion à l'heure actuelle (ex : les

réseaux GSM) mais requièrent une importante infrastructure logistique et matérielle fixe.

La contrepartie des réseaux cellulaires sont les réseaux mobiles ad hoc. Un réseau ad

hoc peut être défini comme une collection d'entités mobiles interconnectées par une

technologie sans fil formant un réseau temporaire sans l'aide de toute administration ou

de tout support fixe. Aucune supposition ou limitation n'est faite sur la taille du réseau

cela veut dire qu'il est possible que le réseau ait une taille très importante.

Vu les caractéristiques et les limitations qu’engendre un réseau Ad hoc, plusieurs

problèmes ont été posés pour ce type de réseaux problème de routage et les besoins en

confidentialité a même d’influer sur le problème des sources d’énergies (taille des

batteries) .

Le présent travail aborde le domaine qui permet d'échanger des données tout en

préservant leur confidentialité c’est le domaine de la cryptographie.

Page 9: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Introduction générale

2

La cryptographie vient du grec kryptos qui veut dire cacher et de graphein qui signifie

écrire, étant donné qu'une lettre ou une communication peuvent être interceptées par un

individu mal intentionné, il est prudent de rendre le message incompréhensible.

La cryptographie est donc un ensemble de techniques permettant de protéger une

communication au moyen d'un code secret.

En dépit de son antiquité et de son importante évolution, de la cryptographie

classique (code de César et autres) à la cryptographie moderne (IDEA, AES, RSA,

PGP). En fait, les meilleurs systèmes de chiffrement sont comptés sur les bouts des

doigts, nous pouvons en citer quelques-uns :

■ DES, système de chiffrement symétrique, il chiffre par blocs en utilisant une

clé secrète ayant pour taille 64 bits. Cette taille si petite a favorisé son attaque

par recherche exhaustive.

■ IDEA, il est aussi un système de chiffrement symétrique (par blocs), sauf qu'il

dispose d'une clé secrète de taille plus grande soit ,128 bits .Il est aussi sujet

d’attaques.

■ AES, remplace actuellement le DES, grâce à la taille comparativement longue

de sa clé, allant jusqu'à 256 bits, il résiste toujours à la cryptanalyse

■ RSA, système de chiffrement asymétrique, basé sur l'arithmétique modulaire

et notamment sur le problème de factorisation. Il est actuellement loin d'être

sujet d'attaque ou de cryptanalyse. Mais l'avenir est incertain vu l'évolution

extrêmement rapide de la science et la technologie.

■ PGP, système hybride, combinant à la fois des algorithmes symétriques et

asymétriques. Il est pour le moment, le système le plus dominant.

Parallèlement, les domaines d’application des algorithmes génétiques n’ont cessé de

s’élargir grâce à leur grande efficacité (performance, rapidité,…).Leur succès a atteint

son apogée dans le domaine de l’intelligence artificielle et recherche opérationnelle pour

résoudre des problèmes d’optimisation et notamment les combinatoires qui sont en

général NP-complets ou NP-difficiles.. Certes, concevoir et réaliser un bon algorithme

génétique de chiffrement pour sécuriser des communications en mode ad hoc tout en

prenant en compte leurs limitations ne peut qu’être couronné de succès. C’est le but de

notre travail.

Page 10: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Introduction générale

3

La méthode génétique est une métaphore du principe de la sélection naturelle et de la

loi de survie du plus fort de Darwin. Elle utilise un ensemble de solutions (ou

population), la loi de sélection, et les opérateurs de transformation qui sont, entre

autres, le croisement et la mutation. Une solution au problème est codée en terme de

chromosome, appelé parfois aussi génotype. Les chromosomes sont croisés entre eux

ou mutés pour générer d'autres chromosomes.

Pour commencer, nous avons donné au problème de chiffrement une nouvelle

formalisation permettant de le ramener à un problème d'optimisation combinatoire.

En fait, nous avons représenté le message à chiffrer par un ensemble de listes

disjointes. Chaque liste est composée par les différentes positions dans le message du

caractère correspondant. L'objectif principal est de modifier au maximum les

fréquences d'apparition et les positions des caractères dans le message.

Notre étude consiste à répondre à la question suivante :

« Comment peut on sécuriser des communication dans les réseaux ad hoc tout en prenant

en compte la contrainte de consommation d’énergie»

Dans le cadre de notre travail, nous allons Exploiter la force des algorithmes génétiques

qui est basée sur l’aléatoire. Pour réaliser un algorithme cryptographique et sécuriser des

communications dans les réseaux ad hoc en produisant des clés de session jetables, tout

en définissant soigneusement dans chaque opérateur génétique (sélection , croisement ) la

méthode la plus adaptée au problèmes des réseaux ad hoc par une évaluation intra

proposition . L’opérateur de croisement est l’un des opérateurs les plus délicats pour les

algorithmes génétique. Nous montrons ainsi les limitations des opérateurs de croisement

classiques et nous présentons un nouvel opérateur de croisement inspiré de la génétique

moderne nommé « Bestof2 » qui est capable de générer toujours des solutions plus

adaptées a notre problème et d’une meilleure façon dans l’espace de recherche, dont le

but est de converger rapidement vers la solution optimale .Dans un deuxième temps nous

donnons une comparaison a base de simulation de l’approche génétique avec les autres

algorithmes cryptographiques les plus dominant actuellement (IDEA,RSA,PGP ) par une

Page 11: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Introduction générale

4

évaluation extra proposition pour conclure la position de l’approche para port au

contraintes des réseaux ad hoc

Organisation du mémoire :

Dans un premier temps, nous présentons dans le chapitre I les environnements sans fil, et

principalement, les réseaux mobiles ad hoc et sécurité. Dans un deuxième temps nous

donnons dans le chapitre II un état de l’art des quelques solutions proposées dans le

domaine de la cryptographie. Dans un troisième temps dans le chapitre III aborder une

introduction aux algorithmes génétiques et présentation de l’algorithme cryptographique

a base des algorithmes génétiques. Finalement, nous donnons une évaluation intra

proposition (choix méthodologiques) et une évaluation extra proposition (évaluation de

l’approche génétique avec d’autres algorithmes cryptographiques IDEA, RSA, PGP).

Nous achevons notre mémoire par une conclusion générale et présentons les différentes

perspectives.

Page 12: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I

LES RESEAUX AD HOC

I.1 Introduction

I.2 Mode de communication dans les réseaux mobiles

I.3 Les classes de réseaux mobiles

I.3.1 Les réseaux avec infrastructures (cellulaires)

I.3.2 Les réseaux sans infrastructures (réseaux Ad Hoc)

I.3.2.1 Définition d’un réseau Ad Hoc

I.3.2.2 Les caractéristiques des réseaux Ad hoc

I.3.2.3 Les applications des réseaux mobiles Ad Hoc

I.4 Le routage dans les réseaux ad hoc

I.4.1 Définition du routage

I.4.2 Difficulté de routage dans les réseaux Ad Hoc

I.5 Classification des protocoles de routage

I.6 Exigence de sécurité des réseaux sans fil Ad Hoc

I.7Conclusion

Page 13: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

5

I.1 Introduction

Les réseaux sans fil (Wireless LAN ou WLAN ou IEEE 802.11), offrent aujourd'hui de

nouvelles perspectives dans le domaine des télécommunications. C’est un système de

transmission des données conçu pour assurer une liaison indépendante de l'emplacement des

périphériques informatiques qui composent le réseau. Les réseaux sans fil sont principalement

employés lorsqu'il s'agit d'interconnecter des utilisateurs nomades (par exemple des portables)

entre eux.

Ce système ne pose aucune restriction sur la localisation des usagers. Il utilise des ondes radio

plutôt qu'une infrastructure câblée pour communiquer. Ce nouveau mode de communication

engendrent de nouvelles caractéristiques, propres à l’environnement mobile : un débit de

communication et des ressources modestes, et des sources d’énergie limitées.

Les réseaux mobiles peuvent être classés en deux grandes classes :

• Réseau sans fil avec infrastructure (comme le GSM).

• Réseau sans fil sans infrastructure (comme les réseau ad hoc).

Cette deuxième classe de réseaux sans fil constitue la base de notre sujet d’étude, et c’est ce

que l’on va développer dans ce présent chapitre.

Dans le but de bien comprendre les stratégies et les approches utilisées dans les réseaux ad

hoc. Il est donc utile de décrire les réseaux ad hoc et leurs principales caractéristiques. [1]

I.2 Modes de communication dans les réseaux mobile

La communication dans les réseaux mobiles Ad Hoc utilise plusieurs modes dont : la

communication « point à point » ou « Unicast », la communication « multipoint » ou «

Multicast », et la diffusion « Brodcast ». Ces trois modes de communication peuvent être

schématisés par la Figure I.1.

Figure I.1 : Les différents modes de communication

Page 14: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

6

I.3 Les classes de réseaux mobiles

Dans l’espace des réseaux mobiles, nous pouvons distinguer deux classes de réseaux, à savoir,

les réseaux mobiles basés sur une infrastructure de communication (modèle cellulaire), et les

réseaux mobiles sans infrastructure (modèle ad hoc).

I.3.1 Les réseaux avec infrastructure (cellulaires)

Dans ce mode, le réseau sans fil est composé de deux ensembles d'entités distinctes : les «

sites fixes » d'un réseau de communication filaire classique, et les « sites mobiles ». Certains

sites fixes, appelés stations de bases (SB) sont munis d'une interface de communication sans

fil pour la communication directe avec les sites ou les unités mobiles (UM) localisés dans une

zone géographique limitée, appelée cellule.

Chaque station de base délimite une cellule à partir de laquelle des unités mobiles peuvent

émettre et recevoir des messages. Alors que les sites fixes sont interconnectés entre eux à

travers un réseau de communication filaire, généralement fiable et d'un débit élevé. Les

liaisons sans fil ont une bande passante limitée qui réduit sévèrement le volume des

informations échangées.

Dans ce modèle, une unité mobile ne peut être, à un instant donné, directement connectée qu'à

une seule station de base. Elle peut communiquer avec les autres sites à travers la station à

laquelle elle est directement rattachée. L'autonomie réduite de sa source d'énergie, lui

occasionne de fréquentes déconnexions du réseau; sa reconnexion peut alors se faire dans un

environnement nouveau voire dans une nouvelle localisation [1].

Figure I.2 : Le réseau cellulaire (GSM)

Page 15: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

7

A fin d’agrandir la surface de couverture, plusieurs points d'accès peuvent être installés pour

un même ‘groupe de travail’. Dans le cas d'utilisateurs mobiles, il y'a possibilité de passer

d'un point d'accès à un autre sans perte de lien réseau (comme pour un réseau GSM

schématiser dans la Figure I.2). Cette fonctionnalité s'appelle "Roaming".

I.3.2 Les réseaux sans infrastructure (AD HOC)

I.3.2.1 Définition d’un réseau ad hoc

Un réseau mobile Ad Hoc (Figure I.3), appelé généralement MANET (MobileAd hoc

NETwork), consiste en une grande population, relativement dense, d'unités mobiles qui se

déplacent dans un territoire quelconque. Le seul moyen de communication est l'utilisation «

des ondes radio » qui se propagent entre les différents noeuds mobiles, sans l'aide d'une

infrastructure préexistante ou administration centralisée.

Figure I.3 : un réseau Ad Hoc

La topologie du réseau peut changer à tout moment, elle est donc dynamique et imprévisible

ce qui fait que la déconnexion des unités soit très fréquente (Figure I.4).

Figure I.4 : Le changement de la topologie des réseaux Ad Hoc

Page 16: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

8

I.3.2.2 Les caractéristiques des réseaux Ad Hoc

Les réseaux sans fil ad hoc se caractérisent principalement par :

• Bande passante limitée : Une des caractéristiques primordiales des réseaux basés sur la

communication sans fil est l'utilisation d'un médium de communication partagé (ondes radio).

Ce partage fait que la bande passante réservée à un hôte soit modeste.

• Contraintes d'énergie : Les hôtes mobiles sont alimentés par des sources d'énergie autonomes

comme les batteries ou les autres sources consommables. Le paramètre d'énergie doit être pris

en considération dans tout contrôle fait par le système.

• Sécurité physique limitée : Les réseaux mobiles Ad Hoc sont plus touchés par le paramètre de

sécurité que les réseaux filaires classiques. Cela se justifie par les contraintes et limitations

physiques qui font que le contrôle des données transférées doit être minimisé.

• Erreur de transmission : Les erreurs de transmission radio sont plus fréquentes que dans les

réseaux filaires.

• Interférences : Les liens radios ne sont pas isolés, deux transmissions simultanées sur une

même fréquence ou, utilisant des fréquences proches peuvent interférer [1].

• Absence d'infrastructure : Les réseaux ad hoc se distinguent des autres réseaux mobiles par la

propriété d'absence d'infrastructures préexistante et de tout genre d'administration centralisée.

Les hôtes mobiles sont responsables d'établir et de maintenir la connectivité du réseau d'une

manière continue.

• Topologie dynamique : Les unités mobiles du réseau se déplacent d'une façon libre et

arbitraire. Par conséquent, la topologie du réseau peut changer à des instants imprévisibles,

d'une manière rapide et aléatoire.

I.3.2.3 Les applications des réseaux mobiles Ad Hoc :

Les applications ayant recours aux réseaux ad hoc couvrent un très large spectre, incluant les

applications militaires et de tactique, l’enseignement à distance, les opérations de

secours…etc.

D'une façon générale, les réseaux ad hoc sont utilisés dans toutes applications où le

déploiement d'une infrastructure réseau filaire est trop contraignant, soit parce qu’il est

difficile le mettre en place, soit parce que la durée d'exploitation du réseau ne justifie pas de

câblage à demeure [2].

Page 17: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

9

I.4 Le routage dans les réseaux ad hoc

Pour mieux comprendre les stratégies et les approches utilisées dans la conception des

protocoles permettant aux réseaux ad hoc de se relier à Internet, nous allons, tout d’abord,

parler du routage à l’intérieur des réseaux ad hoc. Dans ce qui suit nous allons présenter les

principes des protocoles de routages inter ad hoc les plus connus.

I.4.1 Définition du routage

Le routage est une méthode à travers laquelle on fait transiter une information donnée depuis

un certain émetteur vers un destinataire bien précis. Le problème du routage ne se résume pas

seulement à trouver un chemin entre les deux noeuds du réseau, mais encore à trouver un

acheminement optimal et de qualité des paquets de données.

I.4.2 Difficulté de routage dans les réseaux Ad Hoc

Afin de palier aux problèmes dues aux différents mouvements des nœuds mobiles qui

pourront modifier le trafic, un réseau ad hoc doit donc pouvoir s’ordonnancer

automatiquement de tel sorte à être déployable rapidement, et de pouvoir s’accommoder aux

conditions de propagation. Dans le cas où le noeud destinataire se trouve dans la portée du

noeud émetteur nous n’aurons pas besoin de routage proprement dit, malheureusement ce

n’est pas toujours le cas, en effet, chaque nœud sera donc susceptible de jouer un rôle dans

l’acheminement du paquet vers sa destination finale. Ce qui nous pousse à dire qu’il se peut

que plusieurs noeuds puisse participer au routage. Nous parlons alors d’un environnement dit

"multihop"3. Autrement dit, chaque noeud participera au processus de routage du paquet.

Vu les modestes capacités de calcul et de sauvegarde dont est caractérisé un réseau ad hoc, et

la taille du réseau, il est très important de signaler que les méthodes et les approches utilisés

pour l’acheminement des paquets dans le réseau sont évidemment différentes et plus

complexes à mettre en oeuvre par rapport à celles utilisées dans les réseaux classiques

(statique). Ce qui nous pousse à dire que la gestion du routage dans un environnement ad hoc

diffère de loin à celle utilisée dans les réseaux filaires. [2]

I.5 Classification des protocoles de routage

Le principal but de toute stratégie de routage est de mettre en oeuvre une bonne gestion

d’acheminement qui sot robuste et efficace. D’une manière générale, toute stratégie de

routage repose sur des méthodes et des mécanismes que l’on peu regrouper en trois grandes

classes :

a. Les protocoles de routage proactifs.

b. les protocoles de routage réactifs.

Page 18: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

10

c. les protocoles de routage hybrides.

I.6 Exigences de Sécurité des Réseaux sans fil Ad Hoc [16]

Contraintes :

Déterminer les exigences de sécurité d'un système nécessite d'appréhender l'ensemble des

contraintes qui pèsent sur ce système. Cette étape permet par la suite de quantifier les critères

de sécurité. Les spécificités des réseaux sans fil ad hoc sont multiples. On peut les répartir en

six grands thèmes traitant des caractéristiques des nœuds, de la gestion de l'énergie, des

caractéristiques du réseau, des technologies sans fil sous jacentes, de la mobilité et de la

configuration.

Caractéristiques des Nœuds :

• Les participants peuvent posséder des systèmes hétérogènes qui doivent s'interconnecter

facilement.

• Certains éléments peuvent avoir de faibles capacités de calculs.

Gestion de l'Energie :

• L'énergie doit être conservée au maximum pour éviter d'incessantes recharges du

système qui diminuent sa mobilité.

• Les nœuds chercheront donc à se mettre en veille le plus souvent possible, ce qui

provoquera alors une diminution de réactivité de l'ensemble du réseau.

Caractéristiques du réseau :

• La charge du réseau doit être distribuée équitablement entre les éléments en

tenant compte de leur capacité respective.

• Chaque élément d'un réseau ad hoc est autonome et possède à la fois les

fonctionnalités de relais et de point de communication. L'administration de ces

éléments reste interne au réseau.

• L'absence d'infrastructure centralisée sera une contrainte très forte pour la

gestion des accès aux ressources du réseau.

Technologie sans fil :

• Les perturbations dues à l'environnement radio peuvent entraîner des diminutions

de débit et bande passante.

• Les réseaux sans fil ad hoc héritent de l'architecture propre aux technologies

Page 19: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

11

WLAN et WPAN, et notamment des couches physique et liaison de données de

ces technologies.

Mobilité :

• Les éléments étant fortement mobiles, leur sécurité physique est moins assurée

que pour un poste de travail fixe, dans un bureau par exemple.

Leur valeur marchande peut être d'importance non négligeable.

• La topologie du réseau peut changer d'autant plus rapidement que les nœuds

sont mobiles.

• Des liens asymétriques peuvent se créer lorsqu'un élément muni d'un récepteur

particulièrement sensible est capable de capter les émissions d'un autre nœud qui est

hors de portée du premier élément.

Configuration :

• L'auto configuration permet aux nœuds de s'intégrer facilement dans un réseau.

Elle facilite la gestion du réseau car l'interconnexion des éléments ne nécessite

qu'un minimum d'intervention technique externe. Cette fonctionnalité est de plus

en plus nécessaire pour un déploiement à grande echelle des réseaux sans fil ad

hoc.

Authentification / Intégrité / Confidentialité / Disponibilité :

Coopérer au sein de tels réseaux présente un risque s'il n'y a aucun contrôle des

participants. L'authentification des parties apparaît donc comme la pierre angulaire d'un

réseau sans fil ad hoc sécurisé. En effet, comment assurer une quelconque confidentialité

et intégrité des messages échangés si, dès le départ, on n'est pas sûr de communiquer

avec la bonne entité ?

Contrairement au réseau filaire, il n'est pas nécessaire de pénétrer dans un local

physique pour accéder au réseau. Si l'authentification est mal gérée, un attaquant peut

s'attacher au réseau sans fil et injecter des messages erronés. L'intégrité des messages

échangés est donc une exigence importante pour ces réseaux. L'intégrité des nœuds est,

elle aussi, primordiale car les éléments d'un réseau ad hoc sont moins sujets à

surveillance. En effet, ils ne sont pas confinés dans un bureau mais transportés par leur

propriétaire et peuvent donc être momentanément égarés. Un attaquant peut subtiliser un

Page 20: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

12

appareil, le corrompre avec un cheval de Troie par exemple, avant de le restituer discrètement à

son propriétaire.

Une fois les parties authentifiées, la confidentialité reste un point important étant donné que

les communications transitent via les airs et sont donc potentiellement accessibles à tout

possesseur du récepteur adéquat.

La disponibilité est une propriété difficile à gérer dans les réseaux sans fil ad hoc étant donné

les contraintes qui pèsent sur ces réseaux :

• Topologie dynamique.

• Ressources limitées sur certains nœuds de transit.

• Communications sans fil pouvant être facilement brouillées ou perturbées.

Les applications sans fil en mode ad hoc ne devraient donc pas se focaliser sur

ce critère.

Anonymat / Protection de la Vie Privée :

Certaines applications peuvent nécessiter la discrétion sur l'identité des participants qui

collaborent au réseau sans fil ad hoc : par exemple un vote anonyme au cours d'une conférence.

De plus, les différents gadgets électroniques qui formeront les nœuds des réseaux ad hoc de

demain, auront en toute probabilité, la possibilité de garder la trace de nos préférences afin de

nous faciliter le quotidien et de nous offrir des services toujours plus appropriés. Cette tendance

va pourtant à l'encontre de la protection de la vie privée de tout un chacun. Qui a envie de voir

diffuser sur les ondes ses goûts et affinités ?

Vulnérabilités

La première vulnérabilité de ces réseaux est liée à la technologie sans fil sous-jacente.

Quiconque possédant le récepteur adéquat peut potentiellement écouter ou perturber les

messages échangés. Et ceci, même s'il se trouve dans un lieu public, à l'extérieur du bâtiment où

se déroulent les échanges.

Les nœuds eux-mêmes sont des points de vulnérabilités du réseau car un attaquant peut

compromettre un élément laissé sans surveillance.

L'absence d'infrastructure fixe pénalise l'ensemble du réseau dans la mesure où il faut faire

abstraction de toute entité centrale de gestion pour l'accès aux ressources.

Les mécanismes de routage sont d'autant plus critiques dans les réseaux ad hoc que chaque

entité participe à l'acheminement des paquets à travers le réseau. De plus, les messages de

routage transitent sur les ondes radio.

Page 21: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

13

Enfin, ces réseaux héritent de toutes les vulnérabilités propres aux technologies sans fil WLAN

et WPAN.

Menaces

On distingue les menaces de type passif, où l'attaquant est limité à l'écoute et l'analyse du

trafic échangé, des menaces de type actif. Dans ce dernier mode, l'attaquant se donnera les

moyens d'agir sur la gestion, la configuration et l'exploitation du réseau. Il peut injecter son

propre trafic, modifier le fonctionnement d'un nœud, usurper l'identité d'un élément valide,

rejouer des messages, modifier des messages transitant sur le réseau ou provoquer un déni de

service. L'attaque passive prive le réseau de la confidentialité des messages échangés.

Éventuellement, l'analyse du trafic représente un risque pour l'anonymat des participants et le

respect de leur vie privée.

Résultat de l'Analyse de Risque

Après l'étude des besoins et exigences des réseaux sans fil ad hoc en terme de sécurité, puis

corrélation avec les risques issus des vulnérabilités et menaces s'appliquant à ces réseaux nous

avons pu dresser une liste des attaques fortement probables ou faisables et qui constituent un

risque non négligeable en cas de réalisation.

Les dénis de services, denial of services (DoS), apparaissent comme les attaques les plus

faciles à réaliser par un attaquant. La criticité de telles attaques dépend fortement du contexte

d'utilisation mais n'est jamais complètement négligeable. Les modèles de dénis de services qui

suivent se dégagent plus particulièrement dans le cas de réseau sans fil ad hoc :

• Brouillage du canal radio pour empêcher toute communication.

• Tentative de débordement des tables de routages des nœuds servant de

relais.

• Non-coopération d'un nœud au bon fonctionnement du réseau dans le but de préserver son

énergie. L'égoïsme d'un nœud est une notion propre aux réseaux ad hoc. Un réseau ad hoc

s'appuie sur la collaboration sans condition de ses éléments. Un nœud refusant de jouer le

jeu peut mettre en péril

l'ensemble.

• Tentative de gaspillage de l'énergie de nœuds ayant une autonomie de batterie faible ou

cherchant à rester autonome (sans recharge) le plus longtemps possible. Ces nœuds se

caractérisent par leur propension à passer en mode veille le plus souvent possible. L'attaque

Page 22: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre I : Les Réseaux Ad Hoc

14

consiste à faire en sorte que le nœud soit obligé de rester en état d'activité et ainsi de lui

faire consommer toute son énergie.

• Dispersion et suppression du trafic en jouant sur les mécanismes de routage.

Les attaques passives d'écoute et d'analyse du trafic constituent une menace certaine pour la

confidentialité et l'anonymat.

L'usurpation de l'identité d'un nœud en leurrant les mécanismes de contrôle d'accès permet de

nombreuses attaques actives rendant particulièrement critiques la protection des mécanismes de

routage.

L'attaque physique d'un élément valide d'un réseau sans fil ad hoc, entraînant la

compromission du nœud, se révèle comme étant un point faible de ces réseaux.

I.7 Conclusion

L’étude effectuée sur les réseaux mobiles ad hoc nous a permis de connaître leurs différentes

caractéristiques, et ainsi constater que leur apparition a, certes, facilité la mise en oeuvre

d’applications mobiles et ne supportant pas d’infrastructure préexistante (telles que les

applications militaires), mais en revanche, a laissé émerger un bon nombre de problèmes dont

celui du routage, sécurité ...

Après avoir fait connaître brièvement les réseaux Ad’hoc et leurs différentes caractéristiques

et exigence de sécurité, nous allons aborder dans le prochain chapitre les tactiques de la

cryptographie.

Ces techniques s’avèrent être notre principale préoccupation dans le cadre de la sécurité et la

confidentialité des communication dans les réseaux ad hoc.

Page 23: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II

LA CRYPTOGRAPHIE

II.1 Introduction

II.2 Définitions

II.3 Cryptographie classique

II.3.1 Le code de César

II.3.2 Le carre de Polybe

II.3.3 Chiffrement de Delastelle

II.3.4 le chiffre des templiers (ou de PigPen)

II.3.5 Le Chiffrement par décalage

II.3.6 Le chiffrement affine

II.3.7 Le chiffrement de Hill

II.3.8 Le chiffrement de Vigenère

II.3.9 Le chiffrement par transposition (par permutation)

II.3.10 Les faiblesses de la méthode de substitution

II.3.11 Systèmes a clefs jetables

II.4 Cryptographie moderne

II.4.1 Chiffrement symétrique

II.4.1.1 DES

II.4.1.2 IDEA

II.4.1.3 AES

II.4.2 Chiffrement asymétrique

II.4.2.1 RSA

II.4.3 Cryptographie Hybride

II.4.3.1 Algorithme du PGP

II.4.4 Cryptographie Quantique

II.4.5 Cryptographie par courbe elliptique

II.5 Le hachage

II.6 Le certificat

II.7 La signature digitale

II.8 Conclusion

Page 24: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

15

II.1 Introduction

La cryptographie vient du grec kryptos qui veut dire cacher et de graphein qui signifie écrire,

étant donné qu'une lettre ou une communication peuvent être interceptées par un individu

mal intentionné, il est prudent de rendre le message incompréhensible.

La cryptographie est donc un ensemble de techniques permettant de protéger une

communication au moyen d'un code secret.

Depuis Jules César, qui a été sans doute le premier à l'utiliser pour communiquer avec ses

troupes, jusqu'à l'armée allemande qui s'est servie de machines électromécaniques lors de la

deuxième guerre mondiale, la cryptographie a fait d'énormes progrès avec l'arrivée de

l'informatique. Car la cryptographie se sert de la puissance des ordinateurs et des progrès

mathématiques pour rendre tout message incompréhensible par un tiers.

Qu’est ce qu’un bon système de chiffrement ? C’est un système permettant de rendre un

message indéchiffrable par toute personne a laquelle il n’est pas destine tout en pouvant être

facilement traduit par le destinataire officiel. Dans la mesure du possible, ce système doit

permettre de joindre une signature inviolable au message pour permettre au destinataire de

contrôler son authenticité.

II.2 Définitions :

La cryptologie est une science mathématique qui comporte deux branches : la cryptographie

et la cryptanalyse [17].

La cryptographie classique est l'étude des méthodes permettant de transmettre des données de

manière confidentielle. Afin de protéger un message, on lui applique une transformation

dépendante d’un paramètre appelle clé, afin de le rendre incompréhensible ; c'est ce qu'on

appelle le chiffrement, qui, a partir d'un texte en clair, donne un texte chiffré ou

cryptogramme. Inversement, le déchiffrement est l'action qui permet de reconstruire le texte

en clair à partir du texte chiffré.

La cryptographie moderne est la science de la sécurisation des données, elle nous permet de

stocker des informations sensibles ou de les transmettre à travers des réseaux non surs

(comme Internet).

La cryptanalyse, a l'inverse, est l'étude des procèdes cryptographiques dans le but de trouver des

faiblesses, permettant de retrouver de texte en clair sans connaître la clé de chiffrement [18]. Les

cryptanalyses sont aussi appelées attaquants.

Page 25: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

16

II.3 Cryptographie classique Dans la cryptographie classique, la méthode et la clé de chiffrement ainsi que celles de

déchiffrement sont connues par l’émetteur et le destinataire. L’émetteur et le destinataire

doivent se mettre préalablement d’accord sur la clé. Ce qui pose le problème de l’échange

des clés , par exemple, dans un réseau de N entités susceptibles de communiquer

secrètement, il faut distribuer 2

NC = N(N-1)/2 clés.

La plupart des méthodes de chiffrement classiques reposent sur deux principes essentiels: la

substitution et la transposition [19]. La substitution consiste à remplacer certaines lettres par

d'autres ou par des symboles. La transposition signifie qu'on permute les lettres du message

afin de le rendre inintelligible.

Au cours des siècles, de nombreux systèmes cryptographiques ont été mis au point, de plus

en plus perfectionnés et de plus en plus astucieux.

II.3.1 Le code de César Le code de César est la méthode de cryptographie la plus ancienne communément admise par

l'histoire [20]. Il consiste à substituer chaque lettre de l’alphabet par celle obtenue après un

décalage des lettres. Par exemple, si on remplace A par D, on remplace alors B par E, C par

F, D par G, etc. ...

Table II.1 : Le chiffrement de César.

Il n'y a que 26 façons différentes de chiffrer un message avec le code de César. Donc, il est

très facile de le casser, en testant de façon exhaustive toutes les possibilités.

II.3.2 Le carré de Polybe Polybe était un écrivain grec. C’est lui qui a invente le premier chiffre de substitution [21].

Le carre de Polybe est base sur une grille comme celle-ci :

Page 26: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

17

Table II.2 : La grille de polybe.

Chaque lettre est codée par 2 chiffres. Exemple : X=53. Les lettres I et J ne sont pas

différenciés. "BONJOUR" sera chiffre par "12343324344542"

II.3.3 Chiffrement de Delastelle Le chiffre de Delastelle est un mélange de codage par substitution et par transposition. On

commence par découper le message en des blocs de 5 lettres, puis on utilise le carre de

Polybe. On écrit verticalement pour chaque lettre la position dans le tableau. Par exemple, si

on souhaite coder "KAMELKECH", on procède comme suit :

Le groupe des 5 premières lettres :

Table II.3 : Un chiffrement de Delastelle.

(Remarquons que les lettres vides sont remplacées par un double 00).

Ensuite, on effectue la transposition qui consiste a regrouper les chiffres deux par deux, de la

gauche vers la droite, puis du haut vers le bas. On obtient alors :

21313512512112055330 . La dernière opération consiste à transformer le code précèdent en

message littéral, en utilisant a nouveau le carre de Polybe. Toutefois, il peut apparaître des

nombres du type 00 01 02 10 20 etc... Qu’on remplace par des lettres spéciales ou des

chiffres. Par exemple :

00 0 01 1 02 2 03 04 4 05 5 10 6 30 7 30 8 40 9 50 %

On trouve ici finalement le message chiffre : "FLPBVFB5X7"

K A M E L

2 1 3 1 3

5 1 2 5 1

K E C H

2 1 1 2 0

5 5 3 3 0

Page 27: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

18

II.3.4 le chiffre des templiers (ou de PigPen) Au lieu de remplacer chaque lettre par une autre, certains ont préféré remplacer les lettres par

des symboles pour diffuser leurs messages codés. C'est ainsi qu'ont procédé les francs-

maçons au XIXème

siècle avec le chiffre de PigPen. Ils remplaçaient chaque lettre par un

symbole, selon la substitution suivante :

Figure II.1 : Le chiffrement de PigPen.

Par exemple, si nous souhaitons coder "UN BON CRYPTANALYSTE", on obtient:

II.3.5 Le Chiffrement par décalage II.3.5.1 Arithmétique modulaire

Soient a, b et m des entiers avec m>0, on écrit a= b mod(m) « a est congru à b modulo m » si

m divise (b – a), cela équivalent aussi à : a et b ont même le reste de division par m.

On définit alors l’arithmétique modulo m : l’anneau Z//mZ/ symbolise l’ensemble :

{0, 1, 2, …, m-1} muni des opérations addition (+) et multiplication ( . )

Par exemple : Dans Z/ /26Z/, on calcule 11 x 13 = 143, on effectue une division euclidienne :

143 = 5 x 26 + 13. Donc 11. 13 = 13 mod(26).

On calcule 14 + 13 = 27 et puisque 27= 1x 26 + 1 alors 14 + 13 = 1 mod(26)

Page 28: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

19

II.3.5.2 Application

Le chiffrement par décalage [19] est basé sur l’arithmétique modulaire. On l’utilise dans

l’ensemble Z/ /26Z/, car on a 26 lettres dans l’alphabet. Il est représenté a l’aide de la

fonction f définie par : f(x) = x + k mod(26).

Exemple : On applique la formule avec k=5 pour le texte « message secret » on a :

Table II.4 : Un chiffrement par décalage.

Remarquer que pour k = 3 on obtient le chiffrement de César.

II.3.6 Le chiffrement affine

Ce chiffrement est réalisé a l’aide d’une fonction affine f(x) = ax + b mod (26).

On remarque que l’on retrouve le chiffrement par décalage dans le cas où a=1.

Pour que l’on puisse déchiffrer, il faut que l’opération inverse soit possible. C’est a dire que

l’équation : y =ax + b mod(26) ait une solution unique (cela revient a dire que la fonction f

doit être injective).

Théorème 1 [19] :

L’équation y=a.x + b mod(26) admet une solution unique x ∈Z/ /26Z/ pour tout b∈Z/ /26Z/

si pgcd(a, 26) = 1.

On a donc 12 possibilités pour choisir a (1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25). Par contre, b

peut être quelconque. On a donc 12x26=312 clés possibles pour le chiffrement affine. Ce

nombre va augmenter si on utilise tous les caractères ASCII.

Le déchiffrement

Considérons maintenant la fonction f de chiffrement avec m= 26. On suppose que

pgcd(a,26)=1. L’équation y = a.x + b mod(26) admet alors une solution, pour la déterminer il faut

faire appel a la notion d’inverse modulaire définie par :

Soit a ∈Z/ /26Z/ l’inverse de a est un élément a ∈−1

Z/ /26Z/ tel que :

a.a-1

= a-1

.a=1 mod(26).

Page 29: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

20

Dans Z/ /26Z/ , grâce a la table de multiplication on peut obtenir les inverses de tous les

nombres premiers avec 26 :

1-1

=1, 3-1

=9, 5-1

=21, 7-1

=15, 11-1

=19, 17-1

=23, 25-1

=25.

En effet, on a les égalités suivantes modulo 26 :

3x9 = 27 =1, 5x21 = 105 = 4x26+1 = 1, …, 25x25 = 625 = 1

Par exemple : pour une clé de chiffrement a=7 et b=3 on a alors la fonction de chiffrement :

y= 7.x + 3 et la fonction de déchiffrement sera x= 7-1

.(y-3) mod(26).

On note que 7-1

= 15 mod(26). D’où la formule finale : x= 15.y - 19 mod(26)

Application : sur le texte en clair "BONJOUR"

Table II.5 : Un chiffrement affine.

Ce qui donne le texte chiffre : "KXQOXNS"

Le déchiffrement sera a laide de la table :

Table II.6 : Un déchiffrement affine.

II.3.7 Le chiffrement de Hill

Le chiffrement de Hill, inventé en 1929 par Lester S. Hill, se rapproche beaucoup du

chiffrement affine. Il consiste à déterminer les caractères du texte chiffré par combinaison

linéaire de m caractères du texte en clair [19].

Exemple : Avec m=2 le texte clair est décomposé en bloc de deux caractères x1 et x2. Le

texte chiffré sera alors composé de blocs y1 et y2. Un exemple de combinaison pourrait être :

Page 30: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

21

y1= 11.x1 +3.x2

y2= 8x1 +7.x2

La clé de chiffrement sera alors une matrice carrée d’ordre 2 :

Dans le cas général, la clé est une matrice carrée d’ordre m. Dans notre exemple, nous

pouvons écrire de manière matricielle les deux équations :

Et plus généralement : Ou bien Y = K.X

Le déchiffrement d’un message sera possible à condition que la matrice K soit inversible et il

sera réalisé à l’aide de la matrice inverse K-1

puisque :

Y = K.X ⇔ X=k-1

.Y

Exemple :

Avec la clé k = le message "SECRET" sera chiffre en "CQVFXJ"

Table II.7 : Un chiffrement de Hill.

Le déchiffrement se fait a l’aide de K-1

qui est égale à

En effet det K = = 77 - 24 = 53 = 1 mod(26) et

Page 31: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

22

Table II.8 : Un déchiffrement de Hill.

II.3.8 Le chiffrement de Vigenère

Blaise de Vigenère a développe son Tracté des chiffres ou Secrètes manières d'écrire, qui

ressemble au chiffrement de César, à la différence près qu’il utilise un mot clé au lieu d’un

simple caractère [20].

Pour chiffrer un message, on choisit une clé qui sera un mot de longueur arbitraire. On écrit

ensuite cette clé sous le message à chiffrer, en la répétant aussi souvent que nécessaire pour

que sous chaque lettre du message a chiffrer, on trouve une lettre de la clé. Pour chiffrer, on

fait la somme modulo 26 de chaque caractère du message et du caractère de la clé

correspondant.

Exemple : On veut chiffrer le texte "CRYPTOGRAPHIE DE VIGENERE" avec la clé

"SECRET". On commence par écrire la clé sous le texte à chiffrer :

Table II.9 : Un chiffrement de Vigenère.

Bien que ce chiffrement soit beaucoup plus sûr que le chiffrement de César, il peut encore

être facilement cassé. En effet, lorsque les messages sont beaucoup plus longs que la clé, il

est possible de repérer la longueur de la clé et d’utiliser pour chaque séquence de la longueur

de la clé la méthode consistant a calculer la fréquence d’apparition des lettres, permettant de

déterminer un à un les caractères de la clé…

Pour éviter ce problème, une solution consiste à utiliser une clé dont la taille est proche de

celle du texte afin de rendre impossible une étude statistique du texte chiffré. Ce type de

système de chiffrement est appelé système a clé jetable.

Page 32: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

23

II.3.9 Le chiffrement par transposition (par permutation)

Matériellement : (Technique Assyrienne)

Cette technique de chiffrement est vraisemblablement la première preuve de l'utilisation de

moyens de chiffrement en Grèce dés 400 avant Jésus Christ pour dissimuler des messages

écrits sur des bandes de papyrus [17].

Figure II.2 : Le cylindre de Scytale. La technique consistait à:

- enrouler une bande de papyrus sur un cylindre appelé scytale

- écrire le texte longitudinalement sur la bandelette ainsi enroulée (le message dans l'exemple

ci-dessus est "KAMEL KECHAR")

Le message une fois déroule n'est plus compréhensible (dans l’exemple ci-dessus "KLCA

HMKAEER ").

Il suffit au destinataire d'avoir un cylindre de même rayon pour pouvoir déchiffrer le

message. En réalité un casseur (il existait des casseurs a l'époque...) peut déchiffrer le

message en essayant des cylindres de diamètre successifs différents, ce qui revient a dire que

la méthode peut être cassée statistiquement (il suffit de prendre les caractères un a un,

éloignés d'une certaine distance).

Formellement : On fixe un entier m≠0 et une permutation de {1, 2 …m} qui seront la clé de

chiffrement, par exemple avec m=5 et la permutation

Le message "CRYPTOGRAPHIE CLASSIQUE" sera chiffre en "TYCRPPROGACEHI

ISLAS EQU". En effet, le texte en clair est décomposé en blocs de cinq caractères chacun.

Chaque bloc est transformé en utilisant la permutation ci-dessus. Par exemple CRYPT et

OGRAP sont chiffrés respectivement en TYCRP et PROGA et ainsi de suite. La clé de

déchiffrement est le nombre 5 et la permutation inverse :

K A M E

L K E

C H A R

Page 33: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

24

II.3.10 Chiffrement par substitution

II.3.10.1 La méthode de substitution

Le chiffrement par substitution consiste à remplacer dans un message une ou plusieurs entités

(généralement des lettres) par une ou plusieurs autres entités [22].

On distingue plusieurs types de crypto systèmes par substitution :

· La substitution mono-alphabetique consiste a remplacer chaque lettre du message par une

autre lettre de l’alphabet. Comme le chiffrement par décalage.

· La substitution poly-alphabetique consiste a utiliser une suite de chiffres monoalphabetique

réutilisée périodiquement. Comme exemple le chiffrement de Vigenère.

· La substitution homophonique permet de faire correspondre a chaque lettre du message en

clair un ensemble possible d’autres caractères.

· La substitution de polygramme consiste a substituer un groupe de caractères (polygramme)

dans un message par un autre groupe de caractères.

- Au moyen d’une table (système de Playfair)

- Au moyen d’une transformation mathématique (système de Hill)

II.3.10.2 Les faiblesses de la méthode de substitution

Dans le chiffrement par substitution, la clé est simplement la permutation des 26 lettres

alphabétiques. Le nombre de clés est 26 ! Une recherche exhaustive de la clé est donc

impossible. Cependant, le chiffrement par substitution possède une grosse faiblesse

structurelle [23] : dans les langues, toutes les lettres n'ont pas la même fréquence

d'apparition. Dans un texte français, il y a presque toujours beaucoup plus de E que de W. Or,

le E est toujours remplace par la même lettre et le W aussi. Donc, si dans votre texte, la lettre

qui apparaît le plus fréquemment est un L, il y a de fortes chances que ce soit un E. En

revanche, si il n'y a presque pas de D, on peut se dire que c'est probablement un W, ou un K,

un X, etc ... Voici un exemple de l'analyse de la fréquence d'apparition des différentes lettres

dans une biographie :

Figure II.3 : Fréquences des lettres en Français.

Page 34: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

25

On voit clairement apparaître sur ce graphique plusieurs groupes de lettres qui ont la même

fréquence. Le E est de loin le plus fréquent. Il y a donc de fortes chances que la lettre la plus

fréquente du texte codé est en fait un E.

· Ensuite, les A, I, N, R, S, T.

· Puis les O, U, L, ...

Pour déterminer dans le deuxième groupe quelle lettre est un A, une méthode possible est

d'étudier les lettres qui apparaissent isolées (c'est-à-dire dans un mot à une seule lettre du

texte) : la lettre isolée la plus fréquente a de fortes chances d'être un A.

Ensuite, on étudie les groupes de 2 lettres. On peut étudier leur fréquence d'apparition dans le

texte, et comparer aux fréquences possibles du texte. Par exemple, les EN, NE, TE, SE sont

bien plus fréquents que les ST, NR, ...

II.3.11 Systèmes à clefs jetables

Pour éviter les attaques statiques il faut utiliser une substitution qui rend le texte chiffré non

analysable statiquement. D’ou l’apparition des systèmes a clefs jetables comme solution [24].

Cela consiste a générer une clé qui est une suite binaire parfaitement aléatoire (phénomène

physique aléatoire : le bruit électromagnétique). Pour chiffrer un message faire le ou

exclusive (XOR) du message et de la clé.

Si chaque clé ne sert qu’une fois, le chiffre est incassable. Mais il y a l’inconvénient de la

taille de la clé et le problème de synchronisation (si l’on perd une seule donnée on ne sait

plus déchiffrer).

II.4 La cryptographie moderne (symétrique, asymétrique) :

Si le but traditionnel de la cryptographie est d'élaborer des méthodes permettant de

transmettre des données de manière confidentielle, la cryptographie moderne s'attaque en fait

plus généralement aux problèmes de sécurité des communications. Pour cela, on utilise un

certain nombre de mécanismes basés sur des algorithmes cryptographiques.

La sécurité des données chiffrées dépend des éléments suivants :

• La robustesse de l’algorithme cryptographique (difficile à casser).

• La confidentialité de la clé.

Il existe deux grandes familles d'algorithmes cryptographiques à base de clés : les

algorithmes à clé privée ou algorithmes symétriques, et les algorithmes à clé publique ou

algorithmes asymétriques.

Page 35: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

26

II.4.1 Chiffrement symétrique ou à clé privée :

Dans la cryptographie conventionnelle, les clés de chiffrement et de déchiffrement sont

identiques : c'est la clé privée , qui doit être connue exclusivement par les

communicants. Le procédé de chiffrement est dit symétrique. On parle de cryptographie

symétrique lorsque deux ou plusieurs personnes utilisent une même clé pour crypter et

décrypter des messages (Figure II.4).

� Les inconvénients du chiffrement symétrique :

Le principal inconvénient de ce système est le partage de cette clé unique entre les différentes

personnes : Comment envoyer à tout le monde et de façon sécurisée cette clé unique qui

permet de crypter et décrypter ?

II.4.1.1 DES

Le 15 mai 1973 le NBS (National Bureau of Standards, aujourd'hui appelée NIST National

Institute of Standards and Technology) a lancé un appel dans le Fédéral Register (l'équivalent

aux Etats-Unis du Journal Officiel en France) pour la création d'un algorithme de chiffrement

répondant aux critères suivants:

- Ayant un haut niveau de sécurité lié à une clé de petite taille servant au chiffrement et au

déchiffrement

- Compréhensible

- Ne devant pas dépendre de la confidentialité de l'algorithme

- Adaptable et économique

Texte

en

clair

Texte

chiffré

Texte

chiffré

Texte

en

clair

+

+

Clé privée

Clé privée

Figure II.4 : Principe de chiffrement symétrique.

Page 36: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

27

- Efficace et exportable

Fin 1974, IBM propose Lucifer, qui, grâce a la NSA (National Security Agency), est modifié

le 23 novembre 1976 pour donner le DES (Data Encryption Standard). Le DES a finalement

été approuve en 1978 par le NBS. Le DES fut normalisé par l'ANSI (American National

Standard Institute) sous le nom de ANSI X3.92, plus connu sous la dénomination DEA (Data

Encryption Algorithm) [25].

C'est un système de chiffrement par blocs de 64 bits, dont 8 bits (un octet) servent de test de

parité (pour vérifier l'intégrité de la clé). Chaque bit de parité de la clé (1 tous les 8 bits) sert

à tester un des octets de la clé par parité impaire, c'est-à-dire que chacun des bits de parité est

ajusté de façon a avoir un nombre impair de '1' dans l'octet à qui il appartient. La clé a donc

une longueur "utile" de 56 bits, ce qui signifie que seuls 56 bits servent dans l'algorithme.

L'algorithme [22] consiste à faire des combinaisons, des substitutions et des permutations

entre le texte à chiffrer et la clé, en faisant en sorte que les opérations puissent se faire dans

les deux sens (pour le déchiffrement). On appelle code produit la combinaison entre

substitutions et permutations. La clé est codée sur 64 bits et formée de 16 blocs de 4 bits,

généralement notes k1 a k16. Etant donne que "seulement" 56 bits servent réellement a

chiffrer, il y a 256

(soit 7.2*1016

) possibilités de clés différentes

a) La génération des clés partielles :

La clé initiale K0 de 64 bits subit, dans un premier temps, une première permutation CP1

(une réduction de 8 bits les bits de parité de chaque octet). La chaîne de caractères résultante

de 56 bits est alors divisée en 2 blocs de 28 bits (L0 et R0). Chacun d'eux subira alors un

décalage a gauche. Les deux nouveaux blocs (L1 et R1) seront alors concaténés avant une

nouvelle permutation CP2 (une autre réduction de 8 bits). On obtient alors une clé partielle

K1 de 48 bits.

On réitérera ces opérations 15 fois pour générer les 15 clés (K2, K3,..., K16). La différence

résidera dans l'incrémentation des paramètres des deux permutations.

Table II.10 : Les permutations CP1 et CP2.

Page 37: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

28

Table II.11 : La table des décalages à gauches LS.

Figure II.5 : La diversification des clefs en DES.

Page 38: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

29

b) Le chiffrement :

Les grandes lignes de l'algorithme sont les suivantes:

- Fractionnement du texte en blocs de 64 bits (8 octets)

- Permutation initiale des blocs

- Découpage des blocs en deux parties: gauche et droite, nommées G et D

- Etapes de permutation et de substitution répétées 16 fois (appelées rondes)

- Recollement des parties gauche et droite puis permutation initiale inverse

Dans un premier temps, chaque bit d'un bloc est soumis à la permutation initiale, pouvant

être représentée par la matrice de permutation initiale (notée PI)

Cette matrice de permutation indique, en parcourant la matrice de gauche a droite puis de

haut en bas, que le 58ème

bit du bloc de texte de 64 bits se retrouve en première position, le

50ème

en seconde position et ainsi de suite.

Une fois la permutation initiale réalisée, le bloc de 64 bits est scindé en deux blocs de 32 bits,

notes respectivement G et D (pour gauche et droite, la notation anglo-saxonne étant L et R

pour Left and Right). On note G0 et D0 l'état initial de ces deux blocs. Ces derniers sont

soumis à un ensemble de transformations itératives appelées rondes et schématisées dans la

Figure II.5. On note Gn et Dn les blocs obtenus à la nème

ronde par le biais de la fonction F

schématisée dans la Figure II.6. Pour interpréter les opérations de cette figure, nous disons

que les 32 bits du bloc Dn sont étendus à 48 bits grâce a une matrice appelée table

d'expansion et notée E, dans laquelle les 48 bits sont mélangés et 16 d'entre eux sont

dupliqués, aboutissant a E(Dn).

L'algorithme DES procède ensuite a un OU exclusif entre la clé partielle Kn+1 et E(Dn).

Le résultat est un bloc de 48 bits que nous appellerons D’n et auquel nous appliquons les S-

boxes. Il y a huit boites différentes. Elles sont représentées dans la table 5 par des tableaux a

4 lignes (indexées par 0, 1, 2, 3) et 16 colonnes (indexées de 0 à 15).

Soit un sous bloc de 6 bits de D’n , on calcule une chaîne de quatre

bits Sj(B) = Les deux bits forment la représentation binaire de

l’indice d’une ligne h de Sj (0 ≤ h ≤ 3) et les quatre bits composent la

représentation binaire de l’indice d’une colonne k de Sj (0 ≤ k ≤ 15), C est alors la

représentation binaire sur quatre bits du terme Sj(h , k).

Le bloc obtenu D″n de longueur 32 bits est réordonné suivant une permutation fixée P.

Le résultat est combinée avec Gn par Ou exclusif pour donner Dn+1 . Ainsi Gn+1 prend la

valeur de Dn.

Page 39: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

30

Figure II.6 : Enchaînement des opérations de chiffrement dans le système DES

.

Page 40: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

31

Table II.12 : La permutation initiale : PI et son inverse PI-1

.

Table II.13 :Les S-Boxes.

Page 41: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

32

Table II.14 : La table d’expansion E et la permutation P.

Figure II.7 : Description de l’opération Dn=Gn-1 ⊕ F(Dn-1,Kn).

Page 42: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

33

c) Le déchiffrement :

Pour déchiffrer on utilise le même algorithme de chiffrement, mais cette fois-ci en inversant

l’ordre d’application des clés, c’est a dire on commence par la clé K16 et on termine avec la

clé K1.

d) Le triple DES :

En 1990 Eli Biham et Adi Shamir [26] ont mis au point la cryptanalyse différentielle. Elle

permet de casser des versions restreintes de DES, dans lesquels on diminue le nombre de

tours de la boucle principale. On peut ainsi facilement casser un DES a 8 ou a 10 tours. Le

DES complet a 16 tours est resté hors de portée de cette attaque. Ceci d’une part. D’autre

part, l’ordinateur baptise « DES cracker » contenant 1536 puces et pouvant chercher 88

milliards de clés par seconde, a réussi le concours des laboratoires RSA, en trouvant une clé

DES en 56 heures.

Cette méthode marche pour un nombre de rondes inférieur a 15, or l'algorithme Triple DES

(TDES) contient 16 rondes ce qui donne une solution a court terme. Le processus du TDES

consiste a enchaîner trois chiffrement DES a l'aide de deux clés de 56 bits (ce qui équivalant

a une clé de 112 bits) [17]. Le TDES permet d'augmenter significativement la sécurité du

DES, toutefois il a l'inconvénient majeur de demander également plus de ressources pour le

chiffrement et le déchiffrement.

II.4.1.2 Algorithme symétrique IDEA (International Data Encryption Algorithm)

� Principe :

IDEA est un algorithme de chiffrement qui utilise une clé privée de 128 bits, et qui s’exécute

sur 8 itérations. Cet algorithme n'utilise que trois opérations simples : le XOR, l'addition

modulo 2 16

et la multiplication modulo 2 16+1

.

Pour l’IDEA Le texte est découpé en blocs de 64 bits, qui sont à leur tours redivisés en

quatre blocs de 16 bits : X1, X2, X3, X4. La clé K de 128 bits est divisée en 8 blocs de 16 bits,

puis ces fragments sont décalés circulairement sur la gauche de 25 bits, et redivisés, et ainsi

de suite jusqu'à l’obtention de 52 clés. Ces clés formeront 8 groupes de 6 clés (un groupe par

ronde) : K1, K2, K3, K4, K5, K6, et un groupe de 4 clés supplémentaires pour la ronde finale :

K1, K2, K3, K4 (figure II.8) [5].

Page 43: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

34

Texte en clair

Lire bloc

Bloc de 64 bits

Divisé en 4 blocs

Clef de128 bits

Divisé en 6 blocs

K1 K2 K3 K4 K5 K6

i:=0;

Itération i

E1

S1

E2

Inc(i);

i<8

E1:=S1;

Oui

E3:=S1;

Transformation

Décaler la clef

De 25 bits

E3

Réassembler les

4 blocs

Bloc de 64 bits

#@&

Texte

chiffrer

Écrire

bloc

IDEA

X1 X2 X3 X4

S2

S2

X1 X2 X3 X4

Figure II.8 : Fonctionnement de l’algorithme d’IDEA

Page 44: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

35

La figure II.9 et figure II.10 montrent les différentes opérations combinant à l'aide de nos trois

opérateurs (le XOR, l'addition modulo 2 16

et la multiplication modulo 2 16

+ 1) les 4 blocs

de données aux blocs de la clé.

X1 X2 X4 X3

4 blocs d’entrée de 16 bits

x + + x

# #

+ x

x +

# #

# #

X1 X2 X4 X3

4 blocs de sortie de 16 bits

+

x

#

Addition 16 bits

Modulo 216

Multiplication 16 bits

Modulo 216 +1

Ou Exclusif sur 16 bits

FigureII.9 : L’organigramme d’une itération

K1 K2 K3 K4

K5

K6

Page 45: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

36

Chiffrement : Etapes des 8 rondes :

Code d’une itération :

• Etape1 = X1 * K1

• Etape2 = X2 * K2

• Etape3 = X3 * K3

• Etape4 = X4 * K4

• Etape5 = Etape1 XOR Etape3

• Etape6 = Etape2 XOR Etape4

• Etape7 = Etape5 * K5

• Etape8 = Etape6 + Etape7

• Etape9 = Etape8 * K6

• Etape10 = Etape7 + Etape9

• Etape11 = Etape1 XOR Etape9 => X1 de la ronde suivante

• Etape12 = Etape3 XOR Etape9 => X3 de la ronde suivante

• Etape13 = Etape2 XOR Etape10 => X2 de la ronde suivante

• Etape14 = Etape4 XOR Etape10 => X4 de la ronde suivante

Pour finir, on applique une étape supplémentaire après la huitième ronde :

X1 X2 X3 X4

4 blocs d’entrée de 16 bits

x + + x

X1 X2 X3 X4

4 blocs de sortie de 16 bits

K1 K2 K3 K4

Figure II.10 : Détail de transformation

Page 46: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

37

Code de transformation :

• C1 = X1 * K1

• C2 = X2 + K2

• C3 = X3 + K3

• C4 = X4 * K4

Les 4 blocs C1, C2, C3, C4, forment alors le message chiffré.

Déchiffrement :

Pour déchiffrer le texte, il faut d'abord inverser la dernière opération :

• C1 = C1 * K1-1

• C2 = C2 - K2

• C3 = C3 - K3

• C4 = C4 * K4-1

On applique alors les opérations suivantes selon 8 rondes, en utilisant les groupes de 6

clés en partant de la dernière à la première :

• Etape1 = C1 XOR C3 (Etape5 lors du cryptage)

• Etape2 = C2 XOR C4 (Etape6 lors du cryptage)

• Etape3 = Etape1 * K5 (Etape7 lors du cryptage)

• Etape4 = Etape2 + Etape3 (Etape8 lors du cryptage)

• Etape5 = Etape4 * K6 (Etape9 lors du cryptage)

• Etape6 = Etape3 + Etape5 (Etape10 lors du cryptage)

• Etape7 = C1 XOR Etape5 (Etape1 lors du cryptage)

• Etape8 = C3 XOR Etape5 (Etape3 lors du cryptage)

• Etape9 = C2 XOR Etape6 (Etape2 lors du cryptage)

Page 47: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

38

• Etape10 = C4 XOR Etape6 (Etape4 lors du cryptage)

• Etape11 = Etape7 * K1-1

=> C1 de la ronde suivante

• Etape12 = Etape8 - K3 => C3 de la ronde suivante

• Etape13 = Etape9 - K2 => C2 de la ronde suivante

• Etape14 = Etape10 * K4-1

=> C4 de la ronde suivante

Les 4 blocs C1, C2, C3, C4 obtenus après la dernière ronde forment alors le message en

clair.

L’IDEA est l’algorithme le plus sûr parmi les algorithmes de chiffrement symétrique.

II.4.1.3 AES (Advanced Encryption System)

Pour comprendre le fonctionnement interne d’AES, il paraît judicieux de commencer par

l'envisager dans son schéma bloc comme le montre la Figure II.7. Les différentes opérations

seront détaillées successivement par la suite. De plus, il existe trois variantes de cet

algorithme : 128, 192 et 256 bits, il convient donc de faire un choix [27].

C’est un algorithme itératif. Il est découpé en 3 blocs ; pour le processus de chiffrement

chaque bloc compte des opérations à faire ;

Bloc 1 : première étape (Initial Round), C'est la plus simple des étapes. Elle ne compte

qu'une seule opération: AddRoundKey

Bloc2 : deuxième étape (N Rounds), Cette étape est constituée de N itérations comportant

chacune les quatres opérations suivantes :

� Sub Bytes,

� Shift Row,

� Mix Columns,

� Add Round Key.

Le nombre d’itération varie en fonction de la taille de la clé utilisée.

128 bits N=9,

192 bits N=11,

256 bits N=13.

Bloc3 : troisième étape (Final Round), Cette étape est quasiment identique à l'une des N

itérations du deuxième bloc. La seule différence est qu'elle ne comporte pas l'opération « Mix

Columns »

Page 48: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

39

Pour le processus de déchiffrement de toutes les opérations réalisées lors du chiffrement sont

réversibles, à condition d’avoir la clé bien étendue car à chaque étape et pour chaque itération

une nouvelle clé sera déduite.

Figure II.11 : Schéma bloc d’AES

a) Notation et convention

Comme tout système cryptographique symétrique, AES dispose de deux entrées, à savoir le

texte clair à chiffrer (plaintext) et la clé de cryptage (Key).

La longueur de la clé est fixe (128, 192, 256 bits), ainsi, la longueur du texte clair est

variable d'une application à l'autre. Or AES étant un algorithme de bloc, il doit commencer

par découper le texte clair selon la longueur de la clé.

Page 49: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

40

Ensuite, le bloc de texte clair en cours de chiffrage ainsi que la clé sont mis sous forme

matricielle.

� S’il s’agit de la version 128 bits de l’algorithme, les matrices obtenues sont carrées c'est-

à-dire la matrice est de Nc= 4 (Nc désigne le nombre de colonnes) et Nl=4 (Nl désigne le

nombre de lignes). Elle compte 16 éléments, chacun de ces éléments contient 1 byte.

� S’il s’agit de la version 192 bits de l’algorithme, les matrices obtenues sont à Nc= 6 et

Nl=4. Elle compte 24 éléments chacun de ces éléments contient 1 byte.

� S’il s’agit de la version 256 bits de l’algorithme, les matrices obtenues sont à Nc= 8 et

Nl=4. Elle compte 32 éléments chacun de ces éléments contient 1 byte.

Nombre de Lignes Nombre de Colonnes

AES-128 4 4

AES-192 4 6

AES-256 4 8

Pour d'évidentes raisons de taille, les valeurs binaires seront notées sous forme hexadécimale.

S0 S1 S2 S3

S4 S5 S6 S7

S8 S9 S10 S11

S12 S13 S14 S15

K0 K1 K2 K3

K4 K5 K6 K7

K8 K9 K10 K11

K12 K13 K14 K15

Bit binaire Caractère

0000 0

0001 1

0010 2

0011 3

Bit binaire Caractère

0100 4

0101 5

0110 6

0111 7

Bit binaire Caractère

1000 8

1001 9

1010 a

1011 b

Bit binaire Caractère

1100 C

1101 D

1110 E

1111 F

Texte clair: (State)

Clé originale : (Key)

Figure II.12 : Forme du texte clair et la clef pour AES-128

Table II.16 : Représentation Hexadécimale

Table II.15 : Forme des matrices de chaque version d’AES

Page 50: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

41

b) Fondement mathématique

Les bytes dans l’algorithme AES sont interprétés autant qu’éléments d’un corps fini, les

éléments d’un corps fini peuvent être additionné et multiplier, mais ces deux opérations sont

d’une forme différente à celle utiliser pour les autre corps. Dans ce qui suit nous introduisons

le concept de base de ces deux opérations.

Addition

L’addition de deux éléments dans un corps fini est réalisé par une addition des coefficients

des deux éléments, l’addition est représenté par l’opération XOR (dénoté⊕), c'est-à-dire

modulo 2, alors :1⊕1= 0, 1 ⊕ 0=1, 0 ⊕ 0= 0.

L’addition des éléments d’un corps fini peut être donc décrite par une addition modulo 2

d’une correspondance bits à bits d’un byte.

Alors pour deux byte {a7 a6 a5 a4 a3 a2 a1 a0} et {b7 b6 b5 b4 b3 b2 b1 b0} la somme est {c7 c6 c5 c4

c3 c2 c1 c0} avec : ci = ai ⊕bi (c'est-à-dire, c7 = a7⊕ b7 , c6 = a6⊕b6….........c0 = a0⊕b0 )

Multiplication

La multiplication est défini sur le Corps de Galois GF(28), deux méthodes permettent de

calculer les produits dans ce corps :

Application mathématique

Considérons le produit des deux byte {a7 a6 a5 a4 a3 a2 a1 a0} et {b7 b6 b5 b4 b3 b2 b1 b0},donc, il

faut voir ces deux bytes à multiplier comme deux polynômes du septième degré a(x),

respectivement b(x) dont les coefficients sont donnés par les 8 bits composant le byte.

Reprenons le calcul ci-dessus :

a(x) = a7x7 + a6 x

6 + a5x

5 + a4x

4 + a3x

3 + a2x

2 + a1x

1 + a0x

0

b(x) = b7x7

+ b6x6 + b5x

5 + b4x

4 + b3x

3 + b2x

2 + b1x

1 + b0x

0

Maintenant que a(x) et b(x) sont connus, il reste à les multiplier modulo le polynôme de

degré 8, m(x) = x8

+x4

+x3

+ x +1.

Ce polynôme est irréductible dans GF ( 28 ), il ne peut être divisé que par lui-même et par 1

a( x )b( x ) mod m(x ) = (a7x7

+ a6 x6

+ a5x5

+ a4x4 + a3x

3 + a2x

2 + a1x

1 + a0x

0 ) (b7x

7 + b6x

6 +

b5x5

+ b4x4

+ b3x3 + b2x

2 + b1x

1+ b0x

0 ) mod ( x

8 +x

4 +x

3+x +1 )

Le résultat de cette expression est le polynôme représentant le produit des deux bytes dans le

champ de Galois GF (28).

Cette première méthode était juste pour montrer le lien entre Rijndael et Les champs de

Galois.

Il ne présente pas de réel intérêt dans la mesure où la deuxième Méthode est non seulement

plus simple, mais aussi plus adaptée à l'implémentation dans des circuits programmables.

Page 51: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

42

Propriétés du calcul binaire

Dans le calcul binaire, certaines opérations sont particulièrement simples. C'est notamment le

cas de la multiplication par 2 qu'on réalise par un simple décalage des bits vers la gauche.

Soit N, un nombre binaire arbitraire et 2N, son double :

N = 10101110

2 N = 101011100

Cette propriété simplifie considérablement les multiplications dans le champ de Galois.Dans

l’algorithme AES nous avons deux matrices constantes, la première ne compte que 3

valeurs différentes : 01, 02 et 03, la deuxième compte les valeurs suivante : 09, 0B, 0D, 0E ,

donc toutes les multiplications définies par la suite seront l'une de ces valeurs. Elles sont

toutes faciles à réaliser en binaire, mais montrent tout de même quelques particularités liées

au Champ de Galois :

• Multiplication par 01 ( 00000001 en binaire) :

Le nombre reste inchangé

• Multiplication par 02 ( 00000010 en binaire ) :

Les bits du nombre sont décalés vers la gauche, prenons par exemple : N = 10101110 , la

multiplication de N par 2 se fait comme suite :

� Décalage vers la gauche : 2N = 101011100

� Puisque les opérations se font dans un nombre fini de valeurs (champ de Galois)

GF (28) de 256 valeurs), le MSB de 2N= 101011100 doit être omis, nous aurons le résultat

intermédiaire suivant :

2N = 01011100

• Si le MSB (que nous venons d'omettre) était un '0', alors 2N est le résultat final de la

multiplication : 2N = 01011100

• Si par contre le MSB (que nous venons d'omettre) était un '1', ce qui est le cas dans cet

exemple, alors il faut encore additionner (XOR) le nombre binaire 00011011 ( 1B ) à 2N

afin de compenser la perte du MSB occasionnée par le décalage :

2 N ⊕ 00011011 = 01011100 ⊕ 00011011 = 01000111

2N = 01000111 c’est le résultat final.

• Multiplication par 03 ( 00000011 en binaire ) :

La multiplication par 03 peut être vue comme une multiplication par 02 suivie d'une

addition modulo 2 du nombre multiplié. On peut illustrer ceci par :

N * 0x03 = N * ( 0x02 + 0x01 ) = (N* 0x02) + (N * 0x01)

MSB

Page 52: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

43

Dans le reste, la multiplication est réalisée par une multiplication de 02 suivis d’une addition

modulo 2 selon le nombre.

Multiplication par 09 ( 00001001 en binaire )

N * 0x09 = N* ( 0x08 + 0x01 ) = ( N * 0x02 * 0x02 * 0x02 ) + ( N * 0x01 )

• Multiplication par 0B ( 00001011 en binaire )

N * 0x0B = N * ( 0x08 + 0x02 + 0x01 )

= ( N * 0x02 * 0x02 * 0x02 ) + ( N * 0x02 ) + ( N * 0x01 )

• Multiplication par 0D ( 00001101 en binaire )

N * 0x0D = N * ( 0x08 + 0x04 + 0x01 )

= ( N * 0x08 ) + ( N * 0x04 ) + ( N * 0x01 )

= ( N * 0x02 * 0x02 * 0x02 ) + ( N* 0x02 * 0x02 ) + ( N * 0x01 )

• Multiplication par 0E ( 00001110 en binaire )

N * 0x0E = N * ( 0x08 + 0x04 + 0x02 )

= ( N * 0x02 * 0x02 * 0x02 ) + ( N * 0x02 * 0x02 ) + ( N * 0x02 )

Le chiffrement

Lorsque les matrices seront formées, le processus de chiffrement peut commencer :

Bloc1

Première étape – Round 0 :

Consiste à combiner la matrice du texte clair (State) (voir Figure II.16) avec la clé originale.

Cette opération s'appelle Add Round Key. Elle consiste à additionner modulo 2 (OU exclusif

ou XOR) chaque byte de la matrice du texte clair avec son homologue de la matrice de la clé

originale (Key) (voir Figure II.16). On obtient ainsi une nouvelle matrice appelé « Etat ».

Elle constitue la matrice d'entrée de l'étape suivante.

Bloc 2

Deuxième étape – Rounds 1-9 :

Cette partie du processus de chiffrement dépend de la taille de la clé utilisée. Comme il a été

déjà montrer la taille de la clé change le nombre d’itération « N » . Chacune de ces N

itérations effectue successivement les quatre opérations détaillées ci-dessous :

a Sub Bytes Cette opération consiste à remplacer chaque byte de la matrice Etat par une autre

valeur. La substitution se fait à l'aide d'une table appelée S-Box et concrétise le principe de

confusion de Shannon. Les bytes que cette table contient sont les bytes de remplacement.

Page 53: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

44

La substitution se fait de la manière suivante, pour chaque élément de cette matrice, procéder

comme suit :

● Le premier caractère hexadécimal de l'élément indique une ligne de la S-Box tandis que le

deuxième indique une colonne.

● Le byte se trouvant à l'intersection ligne-colonne dans la S-Box est celui qui doit être

substitué à celui de la matrice Etat.

b. Shift Rows

Cette opération consiste à décaler des lignes dans la matrice Etat. En ce sens, elle garantit le

Principe de diffusion de Shannon. De faibles changements dans le texte clair impliquent de

grands changements dans le texte chiffré. Les décalages ne modifient pas les valeurs des

bytes, mais changent leur ordre et on obtient une nouvelle matrice Etat

Les décalages se font comme suit :

● La première ligne n'est pas décalée.

● La deuxième ligne est décalée de 1 byte vers la gauche.

● La troisième ligne est décalée de 2 bytes vers la gauche.

● La quatrième ligne est décalée de 3 bytes vers la gauche.

c. Mix Columns

Cette opération participe également au principe de diffusion de Shannon. Elle consiste à

multiplier une matrice constante avec la matrice Etat.

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76

1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0

2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15

3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75

4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84

5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF

6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8

7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2

8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73

9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB

A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79

B E7 CB 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08

C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A

D 70 3E B5 66 48 03 F6 0E 61 35 57 B9 86 C1 1D 9E

E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF

F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16

Table IІ.17 : S-Box

Page 54: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

45

L'opération Mix Columns est particulièrement laborieuse puisque les Si-1 autres éléments de

la matrice doivent tous être calculés de cette manière (Si est le nombre d’élément de la

matrice Etat, pour AES-128, Si = 16 éléments, AES-192, Si = 24 éléments, AES-256, Si = 32

éléments)

Matrice constante matrice Etat matrice Résultat

d. Add Round Key

Lors du processus de chiffrement,AES transforme la clé (matrice Key). A chaque itération

(Round), une matrice clé différente est utilisée (RoundN Key). Ceci permet d'éliminer les

attaques liées à la clé en faisant disparaître la symétrie.

Pour obtenir les 10 nouvelles clés nécessaires AES procède à une opération appelée Key

Scheduling ou Key Expansion (cette opération sera expliquée au point suivant).

Si la clé change à chaque Round, l'opération Add Round Key reste simple. Elle consiste, tout

comme celle de la première étape, à additionner modulo 2 (XOR) la matrice Etat et la clé

itération en cours (RoundN Key).

Bloc 3 :

Troisième étape – Round 10 :

C’est une étape identique à l'un des N itérations de la deuxième étape. La seule différence

est que, dans cette dernière itération, l'opération Mix Columns n'est pas effectuée.

Extension de la clé (Key Expansion)

Il s'agit ici de voir comment AES opère pour déduire les N+1 clés secondaires dont il a

besoin pour aboutir au texte chiffré. On considère les deux matrices suivante Rcon ( elle est

donnée, et constante) et la Clé Originale (Key) avec la version 128,

02 03 01 01

01 02 03 01

01 01 02 03

03 01 01 02

S0 S1 S2 S3

S4 S5 S6 S7

S8 S9 S10 S11

S12 S13 S14 S15

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ?

Figure II.13 : L’opération Mix Columns pour AES version 128

Page 55: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

46

Clé original (key) Rcon (round constant word array)

Les quatre vecteurs composant la matrice Clé sont appelés Mots (Words, ce sont des mots de

32 bits). On commence par calculer le cinquième vecteur (Wi) :

Wi-4 Wi-1 Wi

K0 K1 K2 K3 ?

K4 K5 K6 K7 ?

K8 K9 K10 K11 ?

K12 K13 K14 K15 ?

On prend le vecteur Wi-1 auquel on applique une opération appelée RotWord qui consiste en

un simple décalage des quatre bytes du vecteur vers le haut. Au résultat on applique encore

l'opération Sub Bytes :

Wi-1 RotWord(Wi-1) SubBytes {RotWord(Wi-1)}

Le vecteur obtenu (Sub-Bytes {RotWord (Wi-1)}) doit encore être additionné modulo 2 avec

le vecteur Wi-4 ainsi que le premier vecteur de la matrice Rcon :

Wi-4 Rcon(colonne1) SubBytes{RotWord(Wi-1)} Wi

Le vecteur résultant de cette addition est Wi :

K0 K1 K2 K3

K4 K5 K6 K7

K8 K9 K10 K11

K12 K13 K14 K15

01 02 04 08 10 20 40 80 1b 36

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00

K’3

K’7

K’11

K’15

K3

K7

K11

K15

K15

K7

K11

K3

K’’3

K’’7

K’’11

K’’15

01

00

00

00

K0

K4

K8

K12

K’3

K’7

K’11

K’15

Figure IІ.14 : Matrice utilisée dans l’extension des clés

Page 56: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

47

Il constitue le premier des quatre vecteurs de la deuxième clé :

Le deuxième vecteur de la deuxième clé s'obtient plus simplement que le premier. En effet, il

est donné par Wi = Wi-4 ⊕ Wi-1 :

Wi-4 Wi-1 Wi

Le troisième vecteur de la deuxième clé s'obtient de la même manière que le deuxième. On a

donc à nouveau Wi = Wi-4 ⊕ Wi-1 :

Wi-4 Wi-1 Wi

Le quatrième et dernier vecteur de la deuxième clé s'obtient de la même manière que les

deuxième et troisième (Wi = Wi-4 ⊕ Wi-1) :

Wi-4 Wi-1 Wi

Les quatre vecteurs de la deuxième clé sont maintenant définis. La matrice Key a doublé de

taille. Elle contient pour l'instant les clés des Rounds 0 et 1 :

K0 K1 K2 K3 K’’3

K4 K5 K6 K7 K’’7

K8 K9 K10 K11 K’’11

K12 K13 K14 K15 K’’15

K0 K1 K2 K3 K’’3 ?

K4 K5 K6 K7 K’’7 ?

K8 K9 K10 K11 K’’11 ?

K12 K13 K14 K15 K’’15 ?

K0 K1 K2 K3 K’’3 K’’1

K4 K5 K6 K7 K’’7 K’’5

K8 K9 K10 K11 K’’11 K’’9

K12 K13 K14 K15 K’’15 K’’13

K0 K1 K2 K3 K’’3 K’’1 K’’2

K4 K5 K6 K7 K’’7 K’’5 K’’6

K8 K9 K10 K11 K’’11 K’’9 K’’10

K12 K13 K14 K15 K’’15 K’’13 K’’14

K0 K1 K2 K3 K’’3 K’’1 ?

K4 K5 K6 K7 K’’7 K’’5 ?

K8 K9 K10 K11 K’’11 K’’9 ?

K12 K13 K14 K15 K’’15 K’’13 ?

K0 K1 K2 K3 K’’3 K’’1 K’’2 ?

K4 K5 K6 K7 K’’7 K’’5 K’’6 ?

K8 K9 K10 K11 K’’11 K’’9 K’’10 ?

K12 K13 K14 K15 K’’15 K’’13 K’’14 ?

K0 K1 K2 K3 K’’3 K’’1 K’’2 K’’3

K4 K5 K6 K7 K’’7 K’’5 K’’6 K’’7

K8 K9 K10 K11 K’’11 K’’9 K’’10 K’’11

K12 K13 K14 K15 K’’15 K’’13 K’’14 K’’15

Page 57: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

48

Round0 Key Round1 Key

Il reste à faire 9 fois l'intégralité de cette démarche d'extension de la clé pour trouver les 9

autres clés secondaires.

Round0 Key Round1 Key Round2 Key ……….. Round10key

S’il s’agit de AES-192 Rcon sera:

S’il s’agit de AES-256 Rcon sera :

Le déchiffrement

Lors de processus de déchiffrement toutes les opérations déjà défini lors du chiffrement sont

réversibles, pour déchiffrer on doit procéder comme suit :

� Le récepteur procède à l'extension de la clé de la même manière que l’émetteur a fait

lors du chiffrement.

K0 K1 K2 K3

K4 K5 K6 K7

K8 K9 K10 K11

K12 K13 K14 K15

K’’3 K’’1 K’’2 K’’3

K’’7 K’’5 K’’6 K’’7

K’’11 K’’9 K’’10 K’’11

K’’15 K’’13 K’’14 K’’15

K0 K1 K2 K3 K’’3 K’’1 K’’2 K’’3 ? ? ? ?

K4 K5 K6 K7 K’’7 K’’5 K’’6 K’’7 ? ? ? ?

K8 K9 K10 K11 K’’11 K’’9 K’’10 K’’11 ? ? ? ?

K12 K13 K14 K15 K’’15 K’’13 K’’14 K’’15 ? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ?

01 02 04 08 10 20 40 80 1b 36 72 E4

00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00

01 02 04 08 10 20 40 80 1b 36 72 e4 1c8 390

00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00

Page 58: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

49

� Les additions modulo 2 (XOR) effectuées lors de l'opération Add Round Key sont

réversibles (en effet, (A ⊕ B) ⊕ B = A).

� L'opération Sub Bytes est inversée en utilisant la table Box inverse (Inverse S-Box).

Si par exemple la S-Box indique le byte F7 (ligne 2, colonne 6), alors la Inverse S-Box

restituera le byte 26 (ligne F, colonne 7).

0 1 2 3 4 5 6 7 8 9 a b c d e F

0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB

1 7C E3 39 82 9B 2F FF 87 34 8E 43 44 C4 DE E9 CB

2 54 7B 94 32 A6 C2 23 3D EE 4C 95 0B 42 FA C3 4E

3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25

4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92

5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84

6 90 D8 AB 00 8C BC D3 0A F7 E4 58 05 B8 B3 45 06

7 D0 2C 1E 8F CA 3F 0F 02 C1 AF BD 03 01 13 8A 6B

8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE F0 B4 E6 73

9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E

A 47 F1 1A 71 1D 29 C5 89 6F B7 62 0E AA 18 BE 1B

B FC 56 3E 4B C6 D2 79 20 9A DB C0 FE 78 CD 5A F4

C 1F DD A8 33 88 07 C7 31 B1 12 10 59 27 80 EC 5F

D 60 51 7F A9 19 B5 4A 0D 2D E5 7A 9F 93 C9 9C EF

E A0 E0 3B 4D AE 2A F5 B0 C8 EB BB 3C 83 53 99 61

F 17 2B 04 7E BA 77 D6 26 E1 69 14 63 55 21 0C 7D

� Les décalages de l'opération Shift Rows sont inversés, c'est-à-dire effectués vers la droite.

� La multiplication matricielle de l'opération Mix Columns nécessite une autre matrice

Constante que celle utiliser en chiffrement. Une fois la matrice inverse obtenue, la

manipulation est la même que pour l'opération Mix Columns faite lors du chiffrement.

Inverse matrice constante :

0E 0B 0D 09

09 0E 0B 0D

0D 09 0E 0B

0B 0D 09 0E

Table IІ.18 : Inverse S-Box

Page 59: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

50

AES est un algorithme sûr car l’utilisation de la S-Box constitue une réelle difficulté pour les

cryptanalyses. L’opération Mix Columns combinée avec Shift Rows fait que, après des

nombreuses itérations, tous les bits de sortie dépendent de tous les bits d’entrée. Ceci rend

aussi la cryptanalyse difficile. L’utilisation des clés secondaires construites par extension de

la clé originale complique les attaques liées à la clé.

II.4.2 Chiffrement asymétrique ou à clé publique

Dans ce type de cryptographie, chaque utilisateur utilise deux clés liées mathématiquement.

• La première est privée et différente pour chaque utilisateur qui doit être gardée secrète.

• La deuxième est publique et qui est connue par tous les utilisateurs.

Dans la pratique, la clé publique sert à crypter les messages, et la clé privée sert à les

décrypter. Une fois le message crypté, seul le destinataire est en mesure de le décrypter.

II.4.2.1 Algorithme asymétrique RSA (Ronald Rivest, Adi Shamir, et Leonard Adleman) :

� Principe :

Cette algorithme de chiffrement est une méthode à clé publique qui repose sur certains

concepts de la théorie des nombres. Il a été nommé à partir des noms de famille de ses

inventeurs (Ronald Rivest, Adi Shamir, et Leonard Adleman).

Les grandes lignes de l’algorithme RSA sont montrées dans la (Figure II.16). Le principe

est très simple et en voici les principales étapes [7]:

Figure II.15 : Principe du chiffrement symétrique

Texte

en

clair

Texte

chiffré

Texte

chiffré

Texte

en

clair

+

+

Clé publique

Clé privée

Page 60: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

51

Pour mieux comprendre voici un exemple simple qui décrit les étapes de cet algorithme

décrit ci-dessus :

Exemple :

Soient les deux nombres premiers suivants ( On commence par choisir deux nombres

premiers quelconques ) : p=79 , q=127

La Clé publique : est calculée de la façon suivante :

• n = p x q = 79 x 127 = 10033

• a = 97 tel que le PGCD (a,(p-1)*(q-1)) = 1

Trouver 2 nombres premiers p et q

(P,q) sont secrets

Calculer n=p*q (n clé public µ=(p-1)*(q-1))

Choisir a / PGCD (a, µ)=1 (a clé public)

Trouver b /a*b=1(mod µ) (b clé privée)

Message en clair M

N =Ma (mod n)

W=Nb (mod n)

Chiffrer avec clé Public (n,a)

Message

chiffré

Message

en clair

Déchiffrer avec clé Privé (b)

Figure II.16 : Principe R.S.A

Page 61: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

52

La clé privée : est calculée de la façon suivante :

• b = 25 tel que a*b = 1 (mod (p-1)*(q-1))

• (p-1)*(q-1) =78 * 126 = 9828.

Message en clair : B O N

02 15 14 = M

Bloc1 Bloc2

0002 1514 devisé M en blocs de 4 caractères de droite vers gauche (On ajoute des

0 si M est non multiple de 4 caractères)

151497

mod (10033) =2500

Chiffrer chaque bloc

000297

mod (10033) =9208

Message codé est : 9208 2500

� Les inconvénients de l’algorithme RSA :

La principale faiblesse de l’algorithme RSA provient des temps de calculs nécessaires au

cryptage.

Donc, on ne les emploiera que pour transmettre des données courtes (de quelques octets) tels

que les clés privées.

Les crypto systèmes à clés publiques tel RSA sont également moins performant au niveau du

cryptage proprement dit. Une clé publique de 512 bits (utilisé pour le chiffrage RSA) offre

approximativement le même niveau de sécurité qu’une clé de 40 bits utilisée pour un

algorithme à clé privé (type IDEA).

Position de

La lettre

dans

L'alphabet

Page 62: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

53

II.4.3 Algorithme hybride

II.4.3.1 Algorithme du PGP :

� Le principe:

PGP est un crypto système (système de chiffrement) inventé par Philip Zimmermann, un

analyste informaticien.

PGP est une combinaison des fonctionnalités de la cryptographie de clé publique et de la

cryptographie conventionnelle. PGP est donc un système de cryptographie hybride.

Lorsqu'un utilisateur chiffre un texte avec PGP, les données sont d’abord compressées. Cette

compression des données permet de réduire le temps de transmission par modem,

d'économiser l'espace disque et, surtout, de renforcer la sécurité cryptographique.

Ensuite, l'opération de chiffrement se fait principalement en deux étapes :

• PGP crée une clé secrète IDEA de manière aléatoire, et chiffre les données avec cette clé.

• PGP crypte la clé secrète IDEA et la transmet au moyen de la clé RSA publique du

destinataire.

De même, l'opération de décryptage se fait aussi en deux étapes :

• PGP déchiffre la clé secrète IDEA au moyen de la clé RSA privée.

• PGP déchiffre les données avec la clé secrète IDEA précédemment obtenue.

Cette méthode de chiffrement associe la facilité d'utilisation du cryptage de clé publique à la

vitesse du cryptage conventionnel. Le chiffrement conventionnel est environ 1 000 fois plus

rapide que le cryptage de clé publique. Le cryptage de clé publique résout le problème de la

distribution des clés. Utilisées conjointement, ces deux méthodes améliorent la performance

et la gestion des clés, sans pour autant compromettre la sécurité. Il est très rapide et sûr ce qui

le rend quasiment impossible à cryptanalyser [8].

II.4.4 Cryptographie Quantique

II.4.4.1 Introduction

Le chiffrement parfait existe: il s'agit du "One-Time Pad" de Vernam, dit aussi masque

jetable, utilise notamment pour chiffrer le téléphone rouge entre Moscou et Washington

pendant la guerre froide. Le problème principal de ce protocole est le transport des clés:

Celles- ci doivent être aussi grandes que le message, et la valise diplomatique n'est pas à la

portée du particulier. Les algorithmes à clé publique, développés auparavant, permettent de

Page 63: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

54

résoudre ce problème mais rien ne stipule qu'ils sont inviolables. Le protocole utilise ici

permet la création d'un canal d'échange de clé dont la sûreté repose sur des lois physiques

inviolables.

II.4.4.2 Bases théoriques

a) Des clés espionnées

La physique classique (à notre échelle) permet la mesure de toutes les propriétés physiques.

L’information est codée à l'aide de propriétés physique mesurables d'un objet ou d'un signal

(papier, bande magnétique, signal radio...), un espion pourrait mesurer ces propriétés sans

qu'il soit possible de s'en rendre compte.

Dans le monde quantique (a très petite échelle), cette possibilité disparaît. Les effets

quantiques se manifestent pour des objets microscopiques, comme les atomes ou les photons

("particules" de lumière), ou l'acte de mesurer n'est alors pas uniquement un processus passif.

Il est alors possible de concevoir un canal quantique - qui transporte des signaux bases sur

des phénomènes quantiques - ou l'écoute même de ces signaux perturbe irrémédiablement ces

derniers, ce qui rend impossible de lire deux fois L’information [23]. C'est une des

conséquences du principe de Verner Heisenberg.

b) Photons et polarisation

La plus petite unité de la lumière, le photon, peut être assimilée à un minuscule champs

électrique oscillant. La direction de l'oscillation est la polarisation du photon. La lumière

naturelle est composé de photons dont les polarisations sont quelconques, cependant, en

faisant passer cette lumière dans un filtre polariseur, il est possible de ne garder que les

photons dont la polarisation est parallèle au filtre.

Nous sommes donc capables d'émettre des photons ayant une polarisation de 0°, 45°, 90°, et

135°. On peut détecter d'une façon certaine grâce a un cristal de calcite placé a 0° la

polarisation de photons polarises a 0° ou 90°.

Si le photon possède une polarisation de 45° ou de 135° avec un cristal toujours a 0°, le

résultat sera aléatoire, il donnera 0° ou 90°. Maintenant, si le cristal est place a 45°, il permet

de détecter de façon certaine les polarisations diagonales mais de manière aléatoire les

polarisations rectilignes (0° ou 90°). De plus, il est impossible de lire la polarisation sans la

modifier (principe d'incertitude de Heisenberg), on ne peut donc pas effectuer plusieurs

mesures sur un même photon, et donc connaître de façon certaine la polarisation de n'importe

quel photon. Voici les bases avec lesquelles nous allons construire un protocole parfaitement

sur. Dans la suite, pour simplifier le fonctionnement du cristal, on le considérera comme un

filtre (et on le nommera ainsi) laissant ou non passer le photon suivant sa polarité. D’un objet

ou d'un signal sans que ces propriétés ne soient perturbées.

Page 64: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

55

II.4.4.3 Description du protocole

Voici un exemple de protocole permettant de transmettre une clé composée de bits d'Alice a

Bob. Ils possèdent deux canaux: un quantique avec lequel ils peuvent échanger des photons

polarises et un canal classique non sécurise ou ils peuvent discuter. Ils conviennent que les

photons polarisés à 0° ou 45° représentent 0, et ceux polarisés à 90° ou 135° représentent 1.

Alice émet, sur le canal quantique, une suite de photons polarisés au hasard parmi 0°, 45°,

90° et 135°. A l'autre bout, Bob reçoit les photons et mesure aléatoirement soit leur

polarisation rectiligne (filtre placé à 0°), soit leur polarisation diagonale (filtre placé a 45°).

Si le photon traverse le filtre, Bob note 0, sinon il note 1.

Bien sûr, certaines mesures de Bob (en moyenne, une sur deux) n'ont pas d'intérêt : il a pu

essayer de mesurer la polarisation rectiligne d'un photon polarisé à 45°, ce qui n'a pas de sens

et donne un résultat aléatoire (par exemple, le photon a été bloque par le filtre, Bob note donc

1 alors qu'Alice avait envoyé 0). Pour éliminer ces bits sans sens, il indique à Alice, par le

canal radio, quelle type de mesure (rectiligne ou diagonale) il a fait pour chaque photon. Par

le même canal radio, Alice lui indique quelles sont les mesures correctes (photon polarisé à

0° ou 90° avec filtre rectiligne, photon a 45° ou 135° avec filtre diagonal).

Il faut encore vérifier que ce protocole est sur. Si caroline écoute le canal quantique, elle peut

faire la même chose que Bob, c'est à dire intercepter les photons en plaçant un filtre

polarisant tantôt rectiligne, tantôt diagonal. Pour que Bob ne se doute de rien, elle doit

remettre un photon polarisé. Elle va essayer d'envoyer le même photon qu'Alice, mais

comme elle a une chance sur deux d'avoir choisi le mauvais filtre, elle a une chance sur deux

de se tromper. Quand Bob reçoit le photon, s'il est mal polarisé par Caroline, il a une chance

sur deux d'avoir un résultat différent d'avec le photon original, et finalement, pour chaque

photon intercepté par Caroline, il y a une chance sur 4 que Bob reçoive une information

erronée.

Alice et Bob décident alors de "sacrifier" une partie de leur clé commune. Parmi tous les bits

qu'ils ont en commun, ils en choisissent quelques-uns au hasard, et les compare publiquement

par le canal radio : s'ils sont différents, ils ont une preuve qu'ils ont été écoutés, et ils oublient

vite cette clé. En comparant suffisamment de bits, ils ont une garantie presque absolue de ne

pas avoir écouté.

II.4.5 Cryptographie par courbe elliptique

Les spécialistes en cryptographie font de plus en plus appel à une technique qui s'appuie sur

des courbes elliptiques, proposée indépendamment par Victor Miller et Neal Koblitz en 1985

[23]. La théorie des courbes elliptiques en général est un domaine riche et a donné de

nombreux résultats, dont la preuve du dernier théorème de Fermat par Andrew Wiles.

Page 65: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

56

Une courbe elliptique est un objet très simple mais qui a des propriétés tout a fait

surprenantes. Elles ont normalement la forme suivante:

y2+ 1a xy+ 3a y=x

3+ 2a x

2+ 4a x+ 6a

Pour leur usage en cryptographie, 1a , 2a et 3a doivent être égaux à 0. Comme les

cryptographes ont l'habitude de renommer 4a =a et 6a =b, on obtient y2=x

3+ax+b

Un exemple typique de courbe elliptique est donne sur la figure ci-dessous. Son équation est

y2=x

3-5x

2+3.

Figure II.17 : exemple de courbe elliptique

II.4.5.1 Addition de deux points

Prenons deux points A et B sur cette courbe. En général, la courbe passant par A et B

recoupe la courbe en un troisième point de coordonnées (x, y). Son symétrique (x, -y) est lui

aussi sur la courbe et on le désigne par A+B pour signifier qu'il est construit a l'aide de A et

B. La chose surprenante est que cette opération "+" possède toutes les propriétés de l'addition

des nombres. C'est-à-dire que l'on peut faire tous les calculs de type addition, soustraction et

division avec un reste entier que nous faisons sur la droite des nombres réels sur cet objet

tordu que constitue une courbe elliptique. Il est possible, comme l'ont démontre Miller et

Koblitz, de coder avec cette opération bizarre au lieu de travailler avec l'addition usuelle. Il

en résulte une plus grande complexité des calculs qui fait dire aux spécialistes que le

chiffrement par la méthode des courbes elliptiques avec une clé de 192 bits assure le même

niveau de sécurité qu'une clé de 1024 bits pour la méthode RSA. Il est donc probable que

cette méthode sera de plus en plus utilisée pour transmettre les clés.

Page 66: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

57

Règles de l'addition

Soit la courbe elliptique cryptographique y2 = (x

3 + ax + b) mod p. On reconnaît l'équation

déjà vue ci-dessus, sauf que l'on travaille modulo p. Le nombre p doit être un nombre

premier.

Lors des calculs, il arrive parfois que l'on doive faire une division par 0. Quand cela arrive, le

point résultat sera appelé "infini".

infini+infini = infini

( 1x , 1y ) + infini = ( 1x , 1y )

( 1x , 1y )+( 1x ,- 1y )= infini

Si 21 xx ≠ , ( 1x , 1y )+( 2x , 2y )=( 3x , 3y )avec

3x =(k2- 1x - 2x ) mod p

3y = (k( 1x - 3x )- 1y ) mod p

où k = ( 2y - 1y ) . ( 2x - 1x )-1

mod p

Si 1y ≠ 0, ( 1x , 1y ) + ( 1x , 1y )= 2( 1x , 1y )=( 3x , 3y ), avec

3x = (k2-2 1x ) mod p

3y = (k( 1x - 3x )- 1y ) mod p

où k = (3 1x2+a) . (2 1y )

-1 mod p

On remarque que pour calculer k, on doit trouver l'inverse d'un nombre modulo p. Pour

trouver cet inverse, on utilise l'algorithme d'Euclide étendu.

II.4.5.2 Multiplication d'un point par un nombre entier

On remplace la multiplication par une série d'additions. Prenons un exemple.

Soit la courbe y2 = (x

3 + x + 2) mod 11.

Calculons d.P, avec d=3 et P=(4, 2). On peut vérifier que le point P appartient bien à la

courbe elliptique. On peut remplacer 3.P par P + P + P.

Calculons d'abord P+P. D'après la règle 5, P+P = (4, 2) + (4, 2) = (8, 4) = 2.P.

D'après la règle 4, 2.P + P = (8, 4) + (4, 2) = (2, 10) = 3.P.

II.4.5.3 Echange de clés

Alice et Bob se mettent d'accord (publiquement) sur une courbe elliptique E(a,b,p), c'est-à-

dire qu'ils choisissent une courbe elliptique y2 = (x

3+ax

2+b) mod p. Ils se mettent aussi

d'accord, publiquement, sur un point P situé sur la courbe.

Secrètement, Alice choisit un entierA

d , et Bob un entier B

d . Alice envoie à Bob le point

Ad P, et Bob envoie a Alice

Bd P. Chacun de son cote, ils sont capables de calculer

Ad

Page 67: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

58

(B

d P)= B

d (A

d P)=( A

dB

d )P, qui est un point de la courbe, et constitue leur clé secrète

commune.

II.4.5.4 Sécurité

Si Steve a espionné leurs échanges, elle connaît E(a,b,p), P, A

d P et B

d P. Pour pouvoir

calculer A

dB

d P, il faut pouvoir calculer A

d connaissant P et A

d P. C'est ce que l'on appelle

résoudre le logarithme discret sur une courbe elliptique. Or, actuellement, si les nombres sont

suffisamment grands, on ne connaît pas de méthode efficace pour résoudre ce problème en

un temps raisonnable.

II.4.5.5 Inconvénients

La théorie des fonctions elliptiques est complexe, et encore relativement récente. Il n'est pas

exclu que des trappes permettent de contourner le problème du logarithme discret.

La technologie de cryptographie par courbe elliptique a fait l'objet du dépôt de nombreux

brevets a travers le monde. Cela peut rendre son utilisation très coûteuse!

II.5 Le hachage

Une bonne cryptographie doit pouvoir offrir une garantie de l'intégrité des informations. En

effet, il ne doit pas être possible de pouvoir modifier des informations cryptées de façon

totalement transparente. Un processus de vérification de l'intégrité du message (crypté et en

clair) doit être mis en place. Ce processus est réalisé par une fonction de hachage.

Une fonction de hachage (parfois appelée fonction de condensation) est une fonction

permettant d'obtenir un condensé (appelé aussi haché) d'un texte, c'est-à-dire une suite de

caractères assez courte représentant le texte qu'il condense.

Les algorithmes de hachage les plus utilisés actuellement sont :

• MD5 (MD signifiant Message Digest),

• SHA-1 (Secure Hash Algorithm 1),

• SHA-2 (Secure Hash Algorithm 2).

• RIPEMD-160 (Ripe Message Digest)

En expédiant un message accompagné de son haché, il est possible de garantir l'intégrité

d'un message, c'est-à-dire que le destinataire peut vérifier que le message n'a pas été altéré

(intentionnellement ou de manière fortuite) durant la communication.

Page 68: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

59

Lors de la réception du message, il suffit au destinataire de calculer le haché du message reçu

et de le comparer avec le haché accompagnant le document. Si le message (ou le haché) a été

falsifié durant la communication, les deux empreintes ne correspondront pas [4].

II.6 Le certificat

C'est un document électronique qui fait correspondre une clé à une entité (personne,

entreprise, ordinateur...). Cette correspondance est validée par une autorité de certification

(Certificate Authority : CA). Ces certificats sont utilisés pour identifier une entité. Ce

certificat est normalisé (norme X.509). Concrètement, les données utilisateur (identité du

propriétaire de la clé, la clé publique et l'usage de la clé) sont elles mêmes signées par

l'autorité de certification, en y incluant certaines données propres (période de validité du

certificat, l'algorithme de cryptage utilisé, numéro de série, etc...).

Les certificats sont des petits fichiers divisés en deux parties :

• La partie contenant les informations

• La partie contenant la signature de l'autorité de certification

La structure des certificats est normalisée par le standard X.509 qui définit les informations

contenues dans le certificat :

• Le nom de l'autorité de certification

• Le nom du propriétaire du certificat

• La date de validité du certificat

• L’algorithme de chiffrement utilisé

• La clé publique du propriétaire

L'ensemble de ces informations est signé par l'autorité de certification, cela signifie qu'une

fonction de hachage crée une empreinte de ces informations, puis ce condensé est chiffré à

l'aide de la clé publique de l'autorité de certification, clé publique ayant été préalablement

largement diffusée ou elle-même signée par une autorité de niveau supérieur.

Lorsqu'un utilisateur désire communiquer avec une autre personne, il lui suffit de se procurer

le certificat du destinataire. Ce certificat contient le nom du destinataire, ainsi que sa clé

publique et est signé par l'autorité de certification. Il est donc possible de vérifier la validité

du message en appliquant d'une part la fonction de hachage aux informations contenues dans

Page 69: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre II La cryptographie

60

le certificat, en déchiffrant d'autre part la signature de l'autorité de certification avec la clé

publique de cette dernière et en comparant ces deux résultats.

II.7 La signature digitale

C'est un code électronique unique qui permet de signer un message codé. Cette signature

permet d'identifier l'origine du message : elle a la même fonction qu'une signature "à la

main". C'est la clé privée qui permet de signer, et la clé publique qui permet de vérifier cette

signature.

II.8 Conclusion

La cryptographie a donc connu une rapide évolution en s’enrichissant de nouvelles

techniques de chiffrement et c’est en partie du à deux facteurs essentiels [12] :

1. L’irruption des mathématiques et de l’informatique.

2. le développement des moyens de télécommunication.

Qui a eu pour effet de multiplier ses activités .Avant elle n’avait pour rôle que de protéger un

texte écrit ; maintenant elle s’étend dans différents domaines, pour cela il faut que la

cryptographie avance, c'est à dire qu'il faut toujours chercher de nouveaux algorithmes plus

puissants même si ceux utilisés aujourd'hui sont fiables. Et dans ce cadre de recherche des

méthodes cryptographique plus puissant, on va exploiter le mécanisme de la génétique pour

proposer un algorithme cryptographique performant pour sécuriser des communications en

mode ad hoc.

Page 70: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III

LA CRYPTOGAPHIE PAR ALGORITHMES GENETIQUES

III.1 Introduction

III.2 Algorithmes génétiques

III.2.1 Définition et origine

III.2.2 Corps d'un algorithme génétique

III.2.3 Evaluation des individus

III.3 Naissance des algorithmes génétiques

III.3.1 Les algorithmes génétiques parallèles

III.3.2 Extension vers les problèmes d'optimisation

III.3.3 Extension vers les problèmes d'ordonnancement

III.4 Recommandation

III.5 Applications

III.6 Introduction à la cryptographie par algorithmes génétiques

III.7 Description de l’algorithme de chiffrement

III.8 Squelette de l’algorithme

III.9 L’Algorithme par étapes

III.10 Conclusion

Page 71: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les algorithmes génétiques

61

Partie A : Présentation des algorithmes génétiques

Vu les travaux de recherche récente qui utilise les algorithmes génétiques dans le domaine de la

cryptographie (‘’Genetic Algorithm in Crptography by Bethany Delman Rocher institute of

technology 2004 ‘’ , ‘’ A New Encryption and Decryption Algorithm combining the feautures of

genetic algorithm and cryptography’’ , ‘’Artificial intelligence Genetic Algorithm in

Cryptography … ) nous donnons dans cette partie une présentation détaillé du fonctionnement

des algorithmes génétiques .

III.1 Introduction

Le succès des méthodes basées sur les algorithmes évolutionnistes n'a cessé de grandir

depuis leurs apparitions, notamment dans le domaine de la recherche opérationnelle et

l'intelligence artificielle. Cependant, leurs applications à certains problèmes comme les

problèmes d'ordonnancement sont limités, par conséquent des extensions ont été développées

[28] ce qui a donné naissance aux algorithmes génétiques.

III.2 Algorithmes génétiques

III.2.1 Définition et origine

Les algorithmes génétiques s'inspirent de l'évolution darwinienne des populations biologiques,

pour définir leurs mécanismes. Les principes de cette évolution sont tels que, dans une

population d'individus ce sont les plus forts, c'est à dire les mieux adaptés au milieu, qui

survivront et pourront donner une descendance ou une bonne progéniture.

C'est en 1950 que les algorithmes génétiques ont vu le jour par des biologistes utilisant des

ordinateurs pour simuler l'évolution des organismes.

Vers 1960, John Holland et son équipe adaptaient ces algorithmes pour la recherche de

solutions à des problèmes d'optimisation [29], en développant une analogie entre un individu

dans une population et une solution d'un problème dans un ensemble de solutions.

En effet, un individu dans une population est caractérisé par son empreinte génétique

autrement dit un ensemble de chromosomes issue de la recombinaison des empreintes de ses

deux parents, obtenue par croisement (en anglais : "Crossover") ou modifiée par mutation. Le

croisement correspond à la reproduction sexuée des individus dans une population en

respectant les phénomènes d'hérédité. Ainsi, lorsque deux individus considérés comme assez

forts s'accouplent, ils vont créer un nouvel individu, membre de la génération suivante, qui

aura lui-même de bonnes chances d'être assez fort et de résister à la sélection naturelle, ce

qui n'est pas le cas d'individus plus faibles. La mutation représente les modifications de l'empreinte

Page 72: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les algorithmes génétiques

62

génétique qui peuvent se produire sur les individus d'une génération à l'autre et qui évitent la

dégénérescence de la population. Par analogie, dans un AG, un individu ou une solution est

caractérisé par une structure de données qui représente son empreinte génétique. La force

d'un individu, encore appelée son "fitness", peut être mesurée par la valeur de la fonction

d'évaluation correspondante. Les opérateurs génétiques de croisement et de mutation agissent

sur les structures de données associées aux individus et permettent de parcourir l'espace

des solutions du problème. Le renouvellement de la population c'est à dire de l'ensemble de

solutions courantes, autrement dit la création d'une nouvelle génération, est obtenu par

itération de l'AG qui va créer de nouveaux individus et en déduire d'autres, c'et équivalent au

mécanisme de sélection naturelle. L'exécution d'un tel algorithme doit contenir, à partir d'une

population initiale, après de nombreuses générations, à une population initiale où les individus

sont tous très forts, en d'autres termes, à un ensemble de meilleures solutions au problème

considéré.

Donc : Qu’est ce qu’un algorithme génétique ? Un algorithme génétique est une méthode de

recherche itératif, dont le but est d’optimiser une fonction de coût (ou fitness) [27]. Il utilise à la

fois les principes de la survie des structures les mieux adaptées et les échanges d’informations

pseudo aléatoires, pour former un algorithme d’exploration qui possède certaines caractéristiques

de l’exploration humaine [9].

En résumé, pour mettre en œuvre un AG, il est nécessaire de disposer :

- D'une représentation génétique du problème, c'est à dire d'un codage

approprié des solutions sous la forme de chromosomes.

- D'un moyen de créer la population initiale.

- D'une fonction d'évaluation ou fonction objective pour mesurer la force

de chaque chromosome.

- D'un mode de sélection des chromosomes à reproduire.

- D'opérateurs génétiques adaptés au problème.

- De valeurs pour les paramètres qu'utilisent l'algorithme : la taille de la

population, la probabilité d'appliquer tel ou tel opérateur.

III.2.2 Corps d'un algorithme génétique

Page 73: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les algorithmes génétiques

63

Etape 0 : Définir un codage du problème

Etape 1 : Créer une population initiale P0 de q individus {X1, X2 ,., Xq}

i := 0 ;

Etape 2 : Evaluation des individus.

Soit F la fonction d'évaluation. Calculer F (Xi) pour chaque individu Xi de Pi

Etape 3 : Sélection

Sélectionner les meilleurs individus (au sens de F) et les grouper par paire.

Etape 4 : Application des opérateurs génétiques

1-Coisement : Appliquer l'opération de croisement aux paires sélectionnées

2-Mutation : Appliquer la mutation aux individus issus du croisement

Ranger les nouveaux individus obtenus (de 1 et 2) dans une nouvelle génération Pi+1

Répéter les étapes 2, 3 et 4 jusqu'à l'obtention du niveau de performance souhaité

Figure III.1 : Un algorithme génétique

Nous détaillons dans les paragraphes suivants les cinq étapes de l'AG.

III.2.2.1 Codage

Le premier pas dans l'implantation des algorithmes génétiques est de créer une

population d'individus initiaux. Par analogie avec la biologie chaque individu de la

population est codé par un chromosome ou un génotype [29].

Une population est donc un ensemble de chromosomes. Chaque chromosome code un point

de l'espace de recherche. L'efficacité de l'algorithme génétique va donc dépendre du choix du

codage d'un chromosome. Il faut retenir que non seulement le codage dépend de la nature de

la solution mais aussi de la fonction à optimiser. Dans le cas des AG, c'est le codage binaire qui

est le plus utilisé. Le chromosome est alors un vecteur dont les éléments ou les gènes

appartiennent à {0,1}. Nous verrons plus loin que dans l'extension des AG, d'autres types de

codage sont utilisés.

III.2.2.2 Construction de la population initiale

La population initiale est générée d'une manière aléatoire. Cependant, il est très recommandé

de disposer d'un mécanisme permettant de générer une population non homogène qui servira

de base pour les générations futures. Ce choix conditionne la rapidité de la convergence vers

Page 74: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les algorithmes génétiques

64

l'optimum. Cela dit, dans le cas où l'on ne connaît rien du problème à résoudre, il est essentiel

que la population initiale soit répartie sur l'espace de recherche.

III.2.2.3 Evaluation des individus

Evaluer un individu ou un chromosome consiste à calculer sa force. Cette évaluation permettra

aux individus les plus forts d'être retenus lors de la sélection. Le but de l'AG est de

maximiser la force des individus de la population. Soit C(x) la valeur du critère à optimiser pour

l'individu x. Si ce critère doit être maximisé, il peut servir directement de mesure de la force.

Dans le cas où l'on désire minimiser ce critère, il est nécessaire de le complémenter pour se

ramener à un cas de maximisation. Goldberg [30] propose donc de calculer la force F(x) d'un

individu x de la façon suivante :

où Cmax peut être un coefficient fixé ou la plus grande valeur observée de C(x) soit dans une

population, soit depuis le début de l'algorithme.

Aucune condition n'est requise pour la fonction objective. Il suffit simplement que cette

fonction retourne des valeurs numériques comparables. La performance de l'AG peut être

sensible au choix de cette fonction.

III.2.2.4 Sélection

La sélection consiste à choisir les individus à partir desquels on va créer la génération suivante.

Comme dans la sélection naturelle, un caractère stochastique est introduit dans la probabilité

de sélection qui est souvent basée sur la fonction d'évaluation. Les individus sélectionnés

sont placés dans un bassin de reproduction dans lequel auront lieu des opérations de

croisement et de mutation. Plusieurs procédures de sélections existent. On peut citer la

sélection proportionnelle basée sur le principe de la roulette [30]. par rang de classement

dans la population [31], par tournoi et par élitisme.

Sélection de la roulette (Roulette Wheel Selection)

C'est la plus classique et la plus utilisée. Nous décrivons son processus ci-dessous :

On affecte à chaque individu xi une probabilité d'apparition p(xi), appelée encore force

relative :

Cmax-C(x) Si C{x) > 0

F{x)=

0 Sinon

Page 75: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les algorithmes génétiques

65

La sélection d'un individu se fait de la manière suivante.

Soit qi= la ∑=

i

k

kxP1

)( probabilité d'apparition cumulée d'un individu Xi et soit r un nombre

aléatoire compris entre 0 et 1, l'individu retenu est:

X1 si q1 ≤ r Ou

.Xi si ii

qrq ≤<−1 pour 2<i<q

q étant le nombre d'individu dans la population.

Ce processus est répété q fois. Avec ce principe, un individu fort peut être sélectionné plusieurs

fois. Par contre un individu faible a moins de chance d'être sélectionné.

Sélection par rang de classement

Dans ce schéma de sélection, les individus d'une population sont classés dans une liste selon

l'ordre croissant de leur évaluation, ensuite la sélection est proportionnelle à leur rang dans la

liste de la population [31]. Cette méthode est utilisée pour une fonction d'évaluation dont les

valeurs sont très proches.

Le classement permet de calculer la nouvelle fonction d'évaluation basée sur le rang :

F = MAX - (rang - 1) * (MAX - MIN)/(q - 1) Avec q est la taille de la population,

1.0 < MAX < 2.0 et MIN=2 – MAX et rang G {1, 2, 3, ..., q}

Avec cette nouvelle fonction d'évaluation, les meilleurs ont toujours plus de chance d'être

choisis, mais moins souvent que la roulette et les moins bons individus auront plus de

chance de participer au bassin de reproduction.

Sélection par tournoi

Sur une population de q chromosomes, on forme q paires de chromosomes. Dans les

paramètres de l'AG, on détermine une probabilité de victoire du plus fort. Cette probabilité

représente la chance qu'a le meilleur chromosome de chaque paire d'être sélectionné. Cette

Page 76: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les algorithmes génétiques

66

probabilité doit être grande (entre 70% et 100%). A partir de q paires, on détermine ainsi q

individus pour la reproduction.

Sélection par Elitisme

A la création d'une nouvelle population, il y a de grandes chances que les meilleurs

chromosomes soient perdus après les opérations de croisement et de mutation. Pour éviter

cela, on utilise la méthode d'élitisme. Elle consiste à copier un ou plusieurs des meilleurs

chromosomes dans la nouvelle génération. Ensuite, on génère le reste de la population selon

l'algorithme de reproduction usuel . Cette méthode améliore considérablement les algorithmes

génétiques, car elle permet de ne pas perdre les meilleurs solutions.

III.2.2.5 Opérateurs génétiques

Les parents sélectionnés sont introduits dans le bassin de reproduction où ils seront de

nouveaux choisis aléatoirement pour voir leurs chromosomes subir des transformations par

les opérateurs génétiques. Le croisement réalise une opération binaire ou sexuée, et nécessite

deux parents. La mutation est une opération unaire ou asexuée, utilisée pour introduire une

faible variation dans la solution ou changer la direction de la recherche.

a) Opérateur de croisement

Le croisement le plus simple fonctionne de la manière suivante. Soient deux chromosomes

X et Y devant subir le croisement, un nombre aléatoire entier p tiré entre 1 et m, m étant le

nombre de gènes d'un chromosome. Le nombre p indique la position de coupure dans les

chromosomes :

Figure III.2 : Croisement '1-point'.

Ce processus est appliqué à chaque paire de chromosomes sélectionnés avec une certaine

probabilité Pcross. Les paires de chromosomes sont recopiées sans modification dans la

génération suivante avec la probabilité 1-Pcross. Ce croisement est appelé croisement '1-point'

car un seul point de coupe est effectué dans le chromosome. Cette notion est généralisée

au croisement 'k-points' où k points de coupe sont effectués dans le chromosome, générant

Page 77: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les algorithmes génétiques

67

k+1 sous chromosomes qui sont re-combinés pour créer deux chromosomes fils. Le premier

chromosome fils est alors la concaténation des sous- chromosomes de numéro pair du

premier parent et des sous-chromosomes de numéro impair du deuxième parent. Le deuxième

fils est obtenu de manière symétrique.

Reprenons les deux chromosomes X et Y auxquels on applique un croisement '2_points' :

Figure III.3 : Croisement '2-points'

b) Opérateur de mutation

L'opérateur de mutation est appliqué, avec une certaine probabilité Pmut, aux individus issus du

croisement. La mutation la plus classique consiste à sélectionner aléatoirement un gène

du chromosome d'un individu et à modifier sa valeur.

III.2.2.6 Critère d'arrêt

Le critère d'arrêt peut être arbitraire, par exemple le nombre maximal de générations, ou basé

sur le critère de convergence.

III.3 Naissance des algorithmes génétiques

Les AG ainsi introduits, ont retenu l'attention de nombreux chercheurs et praticiens de l'optimisation,

en raison de leurs qualités particulières. Cependant, le codage binaire des solutions constitue un frein

majeur à l'utilisation des AG. En effet, ce type de codage s'est révélé insuffisamment adapté à des

problèmes d'optimisation avec des variables réelles, à des problèmes nécessitant la représentation de

permutations, ou d'autres problèmes complexes. Des extensions des AG utilisant d'autres types de

codages et d'autres opérateurs génétiques, tout en conservant l'esprit des AG ont été proposées.

Parmi les principales extensions des AG nous en citons :

111.3.1 Les algorithmes génétiques parallèles

Dans cette classe d'algorithmes, on cherche à améliorer parallèlement chaque individu par

la méthode du Hill-Climbing , puis chaque individu s'accouple avec un autre individu de son

voisinage. Il n'y a donc plus de sélection comme dans les algorithmes génétiques classiques.

Page 78: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

68

Les individus évoluent en parallèle, sans contrôle central. Un exemple d'AG parallèle est décrit

par Mühlenbein H. [32].

111.3.2 Extension vers les problèmes d'optimisation

Dans un AG, quand on est devant un problème à n variables réelles, on pourra le représenter par

un chromosome codé sous la forme d'un vecteur composé de n réels. En fait, la représentation

binaire a quelques inconvénients lorsqu'elle est appliquée à des problèmes de plusieurs variables

avec une grande précision numérique.

A titre d'exemple, pour un problème à 100 variables comprises dans un intervalle réel [-500 ,

500] et pour une précision requise de six chiffres après la virgule, la taille du chromosome est

3000 [28]. Un tel chromosome engendre un espace de taille 101000. C.Z. Janikow et

Z.Michalewicz ont confirmé par des expérimentations que le codage réel augmente la rapidité

de l'algorithme et apporte la précision dans les résultats ainsi ils ont montré que les résultats

sont uniformes d'un essai à l'autre [33].

Des opérateurs de croisement et de mutation adaptés à ce genre de codage ont été proposés tels

que : le croisement arithmétique [28] défini comme combinaison linéaire de deux vecteurs ou

chromosomes, la mutation uniforme [32] et non uniforme [33].

111.3.3 Extension vers les problèmes d'ordonnancement

III.3.3.1 Codage

Dans le cas de problèmes d'ordonnancement, on utilise le codage de permutation dans lequel

les gènes d'un chromosome représentent des opérations et l'ordre des gènes dans le

chromosome indique la séquence de ces opérations. Dans ce cas le croisement simple des AG

n'est plus applicable car il risque de donner des solutions non admissibles. En fait, si on considère

deux chromosomes possibles représentés par les chromosomes :

C1 = A B C D et C2 = D A B C.

Supposons que le point de croisement est au centre des chromosomes, on obtient alors deux

chromosomes fils aberrants F1 = A B B C et F2 = D A D C, car une même opération apparaît

plusieurs fois. Ce problème nécessite d'améliorer le codage des permutations et de concevoir

des opérateurs génétiques qui préservent chaque gène mais qui modifient leur ordre. Dans ce

contexte un codage binaire pour les permutations a été conçu de la manière suivante :

Page 79: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

69

Etant donné une permutation de n éléments, on peut considérer la permutation comme étant

la suite des entiers 1,2, . . . n, on obtient facilement une représentation en binaire équivalente, il

suffit de prendre la partie triangulaire supérieure stricte (sans aucun terme de la diagonale) de la

matrice de précédence associée M telle que :

Mij = 1 si et seulement si i est avant j dans la permutation et

Mii = 1 par convention.

Cette matrice M est transitive et antisymétrique. Elle a également la propriété de n'avoir

qu'une et une seule ligne comportant exactement k valeurs 1 pour k variant de 1 à n et qu'une et

une seule colonne comportant exactement k valeurs 0 pour k variant de 0 à n-1. Cette matrice

est de taille n2.

Parmi les meilleurs exemples de problèmes où le codage de permutation a donné de très bons

résultats est le problème du voyageur du commerce en anglais "Travelling Salesman problem"

(TSP). Dans ce codage, chaque chromosome est une chaîne de nombres.

Exemple : Un vendeur doit distribuer ou livrer des marchandises à 9 villes. Il faut trouver un ordre de

parcours des villes permettant de réduire au minimum la distance parcourue.

C1= 1 5 3 2 6 4 7 9 8

C 2= 8 5 6 7 2 3 1 4 9

C1 et C2 sont deux chromosomes distincts. Chacun d'eux indique l'ordre des villes dans lesquelles le

vendeur les visitera.

III.3.3.2 Opérateurs génétiques adaptés

Croisement

Des différents croisements ont été définis pour les types précédents de codage. A titre d'exemples

nous citons : le croisement de Nakano &Yamada [35], le croisement simple binaire de permutation , le

croisement uniforme de permutation [36] pour le codage de permutation binaire et le croisement PMX

conçu par Goldberg & Lingle [30] pour résoudre le problème du voyageur de commerce. Nous en

présentons ci-dessous, trois autres types fréquemment utilisés.

- Croisement MPX (Maximal Préservative X)

Ce croisement a été proposé par Mülhenbein [32] et [37] pour le problème du voyageur de

commerce. L'idée de cet opérateur est d'insérer une partie du chromosome d'un parent dans le

Page 80: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

70

chromosome de l'autre parent de telle façon que le croisement résultant soit le plus proche possible

de ses parents. C'est un croisement à deux points. Les deux fils sont obtenus de manière symétrique.

Par un exemple nous illustrons le fonctionnement.

Exemple :

Figure III.4: Croisement MPX

La zone de croisement est comprise entre les positions 5 et 9 . La première étape consiste à

recopier la zone de croisement du parent 1 sur le fils 1. Ensuite, les gènes du fils qui ne sont pas

dans la zone de croisement sont complétés de la façon suivante: Le ième

gène du parent2 est

recopié sur le ième

gène du fils 1 si cette recopie respecte les contraintes (ne crée pas une

tournée incohérente). Sinon, le ième gène du parent1 est recopié sur le ième

gène du fils 1 si

cette recopie ne crée pas de doublons.. Si les deux cas précédents ne peuvent pas s'appliquer, le

ième

gène du fils 1 reçoit un gène de la zone de croisement du parent 2 qui respecte les contraintes

(premier non pris). Ce croisement est appliqué aux individus sélectionnés avec un taux bien

précis. Le meilleur taux est de l'ordre de 60% à 100% [37] .

-Croisement d'ordre à deux points OX

Ce croisement a d'abord été proposé par Davis [31], puis modifié par Starkweather T. et

al. [38]. C'est un croisement à deux points. La zone interne du parent 2 est utilisée pour le fils 1

et la zone interne du parent 1 est utilisée pour le fils 2. Ensuite, en commençant par la troisième

zone et en poursuivant par la première, les valeurs manquantes de fils 1 sont copiés dans l'ordre

du parent 1 (pour fils 2, on prend l'ordre de parent 2).

Figure III.5 : Croisement OX

Page 81: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

71

-Croisement d'ordre à deux points linéaires ou croisement LOX

Il a été proposé par Falkenauer et Bouffouix [39] comme une amélioration du croisement OX pour la

résolution du problème d'ordonnancement de type « job-shop ». Le début est similaire à OX, mais on

termine autrement : en commençant par la première zone et en poursuivant par la troisième, les valeurs

manquantes de fils 1 sont copiés dans l'ordre du parent 1 (pour fils 2, on prend l'ordre du parent 2).

Mutation

Les individus de la population issue du croisement vont ensuite subir un processus de mutation

avec une probabilité Pmut. Comme pour les croisements, de nombreuses méthodes de mutation

ont été développées dans la littérature du domaine. Nous présentons ici le plus simple qui

consiste à inverser les gènes de deux chromosomes choisis aléatoirement. Cette méthode est

illustrée sur la figure ci-dessous.

Figure III.6 : Mutation d'un individu

III.4 Recommandations

Pour en finir, nous citons quelques recommandations concernant le choix des valeurs des

paramètres. En effet, d'après Grefenstette [40] les valeurs des paramètres doivent être choisies

avec les considérations suivantes :

• Taille de la population

Elle doit être judicieusement choisie en fonction de la taille du problème et du code.

- Trop faible : l'AG n'a pas assez d'échantillons de l'espace de recherche.

- Elevée:l'AG est plus informé.Une taille élevée prévient contre la convergence prématurée.

- Trop élevée : le nombre élevé d'évaluations de la fonction objective par génération ralentit la

convergence.

• Taux de croisement

Plus le taux de croisement Pcros est élevé, plus il y aura de nouvelles structures qui

apparaissent dans la population.

- Trop élevé : les bons individus risquent de pas être cassés trop vite par rapport à

l'amélioration que peut apporter la sélection.

- Trop faible : la recherche risque de stagner.Le taux habituel est choisi entre 60% et 100%.

• Taux de Mutation

La mutation est un opérateur secondaire pour introduire la diversité dans la population. Son taux

d'application Pmut est choisi entre 0.1% et 5%.

Page 82: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

72

- Trop élevé : le taux de mutation rend la recherche trop aléatoire ;

- Trop faible : la recherche risque de stagner.

Si la taille de la population est faible, un taux de croisement faible doit être combiné avec un taux

de mutation élevé. Mais sur cette étude de l'influence des paramètres, Grefenstette suggère

que la performance d'un AG dépend plus du codage et de la fonction d'évaluation que de

l'optimisation de ses paramètres [40].

III.5 Applications

Les domaines d’applications sont multiples :

• optimisation de fonctions numériques difficiles (discontinues…)

• traitement d’image (alignement de photos satellites, reconnaissance de suspects…)

• optimisation d’emplois du temps.

• optimisation de design.

• contrôle de systèmes industriels.

• apprentissage des réseaux de neurones.

Partie B : Contribution

Après la présentation des algorithmes génétiques nous abordons dans cette partie :

- l’idée détaillé d’utiliser les algorithmes génétiques pour réaliser un algorithme cryptographique

- Notre proposition d’un nouveaux opérateurs génétiques nommé bestof2 qui est plus adapté a notre

problème.

III.6 Introduction a la cryptographie par algorithmes génétiques

De nos jours, la cryptographie s’est imposée dans la vie courante notamment pour la protection (Ou

Sécurité) des transactions. Malgré son antiquité (plus de 3000 ans) elle est toujours à l’état

embryonnaire. En effet, les vrais algorithmes de chiffrement sont comptés sur les bouts des doigts

(AES, DES, IDEA (1977), RSA (1970) …). Et actuellement, le cryptosystéme dominant est le PGP

(1992). Parallèlement, les domaines d’application des algorithmes génétique n’ont cessé de s’élargir

grâce à leur grande efficacité (performance, rapidité,…).Leur succès a atteint son apogée dans le

domaine de L’intelligence artificielle et recherche opérationnelle pour résoudre des problèmes

d’optimisation. Certes, concevoir et réaliser un bon algorithme évolutionniste pour chiffrement peut

avoir un grand Succès.

Vu le grand succès des algorithmes évolutionnistes dans les problèmes d'optimisations, nous les

exploitons dans la phase principale de la cryptographie soit: le chiffrement. Dans ce chapitre nous

allons voir un algorithme de chiffrement basé sur les Algorithmes génétiques [11]. Pour

commencer, il faut coder le problème de chiffrement en le simulant (ou rapprochant) à un problème

Page 83: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

73

d'ordonnancement (notamment permutations). Après, on crée un codage adapté pour les

chromosomes. Ensuite en définit la fonction d'évaluation adéquate, pour appliquer les opérateurs

génétiques.

III.7 Description de L’algorithme de chiffrement

Soit B le message à chiffrer. B est une suite de N caractères. Soit C une clé secrète formée de p

caractères. Après un brouillage initial (ce brouillage peut être effectué par combinaison de plusieurs

méthodes simples comme les substitutions ou les transpositions matricielles .... à ce stade, nous

devons disposer de clés secrètes symétriques.) permettant de masquer les caractères de M.

� Schématisation du problème

Soit B le message à chiffrer (de taille n). a1, a2, ..., al les différents caractères de B (l<=255).

Désignons par Li (1≤i ≤l) la liste des différentes positions du caractère (ai) dans B avant le

chiffrement et par (occu) le nombre des occurrences de ai dans B. le bloc B peut être représenté

par le tableau ci-dessous (FigureIII.7) :

P1/^L Occu1 ^ L

Occu2

Occu3

Occu4

Occu5

Occu255

Occu6

Occu253

Occu254

^ L

^ L

^ L

^ L

^ L

^ L

^ L

^ L

1

2

3

4

5

6

253

254

255

P1/^L

P1/^L

P1/^L

P1/^L

P1/^L

P1/^L

P1/^L

P1/^L

P1/^L

P1/^L

P1/^L

Figure III.7 : La représentation du message à chiffrer (structures de données utilisées)

Page 84: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

74

Désignons par :

- l’indic i de M-tab : le code ASCII de caractères ai de M .

- Li : la liste des positions du caractère ai dans M.

- occu i : le nombre des occurrences de ai dans M.

Le but de L’algorithme est de créer le maximum de désordre dans les positions des caractères de B.

de telle manière que la différence entre le cardinal de la nouvelle liste affectée à chaque caractère ai

et le cardinal de la liste Li d’origine soit maximale. Nous sommes donc devant un problème

d’optimisation.

III.8 Squelette de l’algorithme

• Définir un codage du problème.

• Créer une population initiale P0 de q individus{X1, X2, …, Xq}

• Evaluation des individus.

Soit F la fonction d’évaluation. Calculer F(Xi) pour chaque individu Xi de la population Pi

• Sélection

Sélectionner les meilleurs individus (au sens de F(Xi)) et les grouper par paire.

• Application des opérateurs génétiques

1. Croisement : Appliquer l’opération de croisement aux paires sélectionnées.

2. Mutation : Appliquer la mutation aux individus issus du croisement .

Ranger les nouveaux individus obtenus dans une nouvelle génération Pi+1.

Répéter les étapes 2,3 et 4 jusqu’à l’obtention du niveau de performance souhaité.

III.9 l’algorithme par étapes :

� Le chiffrement

1. Le codage

Un individu (chromosome) : est une chaîne de caractère de taille l (l<=255) dont les gènes

sont les caractères de M.

Ch- initial : chromosome initial dont les gènes sont (avec respect d’ordre) : a1, a2,

....................., al Le i ème caractère d’un individu remplace Le i ème caractère de Ch-

initial.

Page 85: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

75

2. Créer une population initial P0 de q individus {X1,X2,………Xq}

Nous appliquons q bonnes permutation sur Ch-initial afin d’obtenir q individus distincts

formant ainsi la population initiale constituée de q solutions potentielles du problème.

3. La fonction d’évaluation

Soit Xk un individu de Pi (la taille maximale de la population est 30 individus) dont les

gènes sont ak1, ak2 ,…,akl . Désignons par Card (aki) le nombre d’occurrence de

caractère aki telle que :

Card (aki) = M_tab [pos (aki)].occu

Pos : fonction qui donne le code ASCII d’un caractère.

F la fonction d’évaluation sur l’ensemble Xk

F (Xk) =∑ card (aki) – card (ai)

4. Le mécanisme de sélection

Nous utilisons la méthode classique de la roulette, permettant de retenir les individus

les plus forts.

5. Les opérateurs génétiques

a- Croisement : La probabilité du crossover est de 60% à 100%.

b- Mutation : permuter aléatoirement deux gènes d’un chromosome. La probabilité de

la mutation est de 0.1% à 5%.

On applique le processus génétique jusqu'à l’obtention d’un niveau de performance

souhaité.

6. La phase finale de l’algorithme

A partir de la meilleure solution Ch-final obtenue par L’algorithme nous constituons le

bloc chiffré correspondant. Ensuite nous concaténons ces blocs chiffrés. Ceci nous

donne le message chiffré M' du message initial M. Le schéma de la (FigureIV.8)

montre les différents étapes effectués par l’algorithme de chiffrement.

Page 86: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

76

� Le déchiffrement :

Le déchiffrement est effectué sans appliquer les AG, il suffit de déchiffrer le message avec la

clé de session.

1. Déchiffrement d’un bloc

Une fois la meilleure solution Ch- final est donnée par l’algorithme, nous identifions alors la

permutation qui, partant de Ch- initial aboutit à Ch-final. Cette permutation servira de clé de

session pour obtenir le chromosome initial Ch- initial. Ainsi à la fin de l’algorithme nous

ajoutons une fonction dont le rôle est d’établir cette identification.

III.10 Les opérateurs de croisement classiques et Bestof2

Dans cette partie nous allons présenter les croisements classique 1-point et MPX (2-point) [4]

et [5], tout en montrant leur inconvénient et introduire une nouvelle méthode de croisement

nommer Bestof2 plus efficace et qui est aussi inspirer de la nature et nous allons faire une

comparaison indiquant la puissance de notre croisement par rapport aux autres.

Créer une Population

Ch -initiale

Population parent

Population

fils

Affectation

Evaluation Génération

niveau de

performance

souhaité

Ch- finale

oui

non

Figure III.8 : Les étapes de chiffrement

Page 87: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

77

Les opérateurs de croisement classiques

Dans cette partie en va mettre en évidence le fonctionnement des deux opérateurs classiques 1-

point et MPX, qui visent à améliorer les performances de la population en découpant les

individus en deux ou plusieurs morceaux et en les échangeant. En effet, les caractéristiques des

enfants devraient être le fruit d’un mélange de celles des parents, ce qui fait les enfants

résultants comportent les mauvais et les meilleurs gènes ce mélange pouvant se révéler

bénéfique comme négatif du point de vue de la fitness comme le montre les Figures III.9 et

III.10.

Figure III.9 : Le Croisement en 1point

Figure III.10 : Le Croisement MPX

Donc on a besoin de mettre au point un opérateur de croisement de telle sorte que les enfants

aient de bonnes chances de combiner les avantages des parents, c’est la raison pour laquelle

que nous avons proposé le croisement bestof2.

Le croisement « Bestof2 »

Dans la nature, toute espèce hérite deux gènes. Pour chaque caractère, un en provenance de sa

mère et l’autre en provenance de son père. Si les deux diffèrent, l'un deux, le gène dominant

s'exprime pleinement dans l'apparence du caractère, l'autre, le gène récessif, n'a pas d'effet

notable sur son apparence. Il y a donc une ségrégation des deux gènes de chaque caractère au

cours de la formation des caractères, c’est le même mécanisme qu’on a utilisé dans le «

Bestof2 » [6].

De quoi s’inspire le croisement « Bestof2 » ?

Notre idée est inspirée du concept de la première loi élaborée par le biologiste ‘Mendel’ [8],

Celui-ci installe un jardin expérimental dans la cour et met sur pied le pois comme plan

d’expérience visant à expliquer les lois de l’origine et de la formation des hybrides. Il montre

que les caractéristiques des espèces sont données par leurs gènes dominants au profit des autres

récessifs. Ce concept est expliqué dans la Figure III.11 ci dessous:

Page 88: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

78

Figure III.11 : Ségrégation des gènes

En quoi consiste le croisement « Bestof2 » ?

Le croisement « Bestof2 » consiste à créer un enfant à partir de deux parents, de façon à ce que

l’enfant résultant comporte seulement les meilleurs gènes, c’est à dire le iéme gène de l’enfant

correspond au meilleur des iéme gènes parents. Pour cela on a mis en place une fonction GF

pour les évaluer et nous donner le meilleur, ce qui fait qu’elle a comme paramètre deux gènes

parents l’une du parent1 et l’autre du parent2. Cette règle normale qui fait ressortir que le choix

de la fonction dépend du domaine qu’on est entrain d’optimiser.

Soit A, B deux parents et C leur fils dont les gènes sont respectivement : {A1, A2, ..., AN},

{B1, B2, ..., BN } et {C1, C2, ..., CN }. Nous définissons le croisement par :

Pour i de 1 à N : Ci :=GF (Ai, Bi).

Donc on obtient un individu qui hérite les meilleurs gènes de ses parents, c’est exactement ce

qui ce passe dans la nature, comme le montre la Figure III.12 :

Figure III.12 : Croisement bestof2

III.11 Exemple :

Dans l’exemple suivant en va dérouler l’algorithme de l’approche génétique pour crypté le message

‘’croisement bestof2’’.

Page 89: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

79

1- Codage : c r o i s e m e n t b e s t o f 2

2- Creation d’une population:

3- Evaluation des chromosomes: F (Xk) =∑ card (aki) – card (ai)

F(Ch1) = 8 F(Ch2) =8 F(Ch3) =6 F(Ch4) =7

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 position des caractère dans le texte

C 1

R 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

1 nil

2

1

1

3

16 nil

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

R 1

O 2

I 1

R 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

R 1

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

R 1

O 2

Chromosome Initial qui représente le message a crypté

Chromosome1 Chromosome2 Chromosome3 Chromosome4

Page 90: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

80

4- Sélection : sélectionné les chromosomes les plus fort

Les meilleurs chromosomes sont Ch1 et Ch2

5- Opérateurs de croisement:

- croisement en 1-point :

Evaluation des chromosomes: F (Xk) =∑ card (aki) – card (ai)

F(Fils1) = 8 , F(Fils2) = 8

- croisement en Bestof2 :

Evaluation des chromosomes: F (Xk) =∑ card (aki) – card (ai) F(Fils1’) = 10

O 2

I 1

S 2

E 3

M 1

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

R 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

R 1

R 1

O 2

I 1

S 2

E 3

N 1

T 2

B 1

F 1

2 1

1

C 1

R 1

Parent 1 Parent2 Fils 1 Fils 2

Choisir un

Point

Aléatoire Croisement en

1-point

R 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

C 1

R 1

O 1

O 2

S 1

E 2

E 3

M 1

T 2

T 1

B 1

F 1

2 1

1

C 1

Parent 1’ Parent2’ Fils 1’

Croisement

bestof2

Page 91: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

81

Nous remarquons que la méthodes de croisement bestof2 donne un score meilleur par rapport a 1-

point donc la solution final est le chromosome Fils1’ .

Le message ‘’croisement bestof2’’ sera crypté par : ‘’ooseemtmtbcfmebs2 ‘’

Partie C : Application pour les réseaux Ad hoc

III.12 Application pour les réseaux Ad hoc :

Etant donné que le domaine des réseaux Ad hoc est un nouvel axe de recherche, notre problématique

essentielle est les limitations des travaux de recherche dans le domaine de la sécurité des

communications dans les réseaux Ad hoc. Pour cela nous avons essayé de proposer notre approche

génétique améliorée et l’adaptée a se type de réseaux pour générer des clés des sessions au sein d’un

nœud du réseau .Pour bien situer notre travail deux cas se présentent:

1-Si la clé peut être acheminée à travers un canal sûr alors nous avons établi un algorithme de

chiffrement symétrique.

Figure III.13 : Application Symétrique

donné

CAG

&#@

Clé privée

&#@

CAG

donné

Nœud A Nœud B

Clé privée

C 1

R 1

O 2

I 1

S 2

E 3

M 1

N 1

T 2

B 1

F 1

2 1

1

Chromosome Initial

O 1

O 2

S 1

E 2

E 3

M 1

T 2

T 1

B 1

F 1

2 1

1

C 1

Chromosome Final

C O

R O

O S

I E

S E

E M

M T

N T

T B

B F

F 2

2

C

Clé de session

Canal de communication

Page 92: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre III La cryptographie par les Les algorithmes génétiques

82

2-Si la clé de session est chiffrée par un algorithme asymétrique ensuite envoyée accompagnée du

message chiffré nous pouvons dire que nous avons établi un système de chiffrement hybride.

Figure III.14 : Application Hybride

III.13 Conclusion :

Les domaines d'application des algorithmes génétiques s'étendent de plus en plus et l'avenir est à

eux. Mais en dépit de leur simplicité, les algorithmes génétiques ne sont pas évidents dans leurs

applications.

En fait, concevoir et réaliser un bon algorithme génétique demande une bonne connaissance du

problème, une bonne compréhension des mécanismes évolutionnistes et beaucoup de créativité.

Etant donné que la plupart des processus utilisés dans les algorithmes génétiques sont aléatoires, ceci

donne de la résistance à l’algorithme de chiffrement. En effet, l'aléatoire est un ennemi des

cryptanalystes. D'autant plus, nous avons exploité ces processus pour déduire la clé de session en

plus de clés secrètes symétriques utilisées initialement. Ces dernières renforcent la sécurité

davantage. Cela dit, l’algorithme jouit de tous les avantages d'un algorithme évolutionniste, à savoir:

simplicité, rapidité, coût faible des opérateurs génétiques et performance. Il suffit de choisir des

paramètres (taux de population, taux des opérateurs,…) adaptés.

donné

CAG

&#@ &#@

CAG

donné

Nœud A Nœud B

Clé de session

Clé publiquedestinataire

Clé de session

Clé publiquedestinataire

RSA

RSA

Clé de session

Canal de communication

Page 93: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV

IMPLEMENTATION & EVALUATION

IV.1 Introduction

IV.2 Evaluation des choix méthodologiques

IV.2.1 Implémentation

IV.2.2 Evaluation

IV.2.2.1Comparaison de bestof2 avec les opérateurs classiques

IV.2.2.2 Comparaison entre les méthodes roulette et par trie

IV.3 Evaluation par comparaison avec d’autres méthodes

IV.3.1 Implémentation

IV.3.1.1 Implémentation de L’IDEA

IV.3.1.2 Implémentation de L’RSA

IV.3.1.3 Implémentation de PGP

IV.3.1.4 Implémentation de CAG

IV.3.2 Evaluation

IV.3.2.1 Evaluation par comparaison avec d’autres méthodes entre les

algorithmes IDEA, RSA, PGP et CAG

IV.4 Conclusion

Page 94: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

83

IV.1 Introduction:

Dans cette partie nous allons présenter l’implémentation des principales procédures utilisées

lors du cryptage (cryptographie par algorithme génétique) pour l’application intra proposition

(Evaluation des choix méthodologiques). Ainsi que les résultats obtenus après plusieurs

essais. Le fonctionnement de l’application développé lors de ce travail est montrer dans les

annexes 1 et 2. Cette application est réalisée sous l’environnement Windows avec le langage

de programmation C++.

IV.2 Evaluation des choix méthodologiques:

IV.2.1 Implémentation :

Les structures de données utilisées sont les suivantes :

Structure Pos

Emplacement : entier

Suivant : pointeur

Fin

Structure élément

Car : Char

Occur : entier

Liste : Pos

Fin

Type Chromosome = tableau [255] d’élément

Structure individu

MyChromosome : Chromosome

F : entier

Proba : réel

Cumule : réel

Fin

Type Individus = Tableau [20] d’individu

Structure Clé

Char_Origine : char

Char_Crypté : char

Fin Type Clé Session = tableau [255] de clé

Page 95: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

84

Les procédures de la cryptographie par algorithme génétique sont les suivantes :

La procédure Insérer Liste : la procédure Insérer Liste permet l’insertion de la structure de

donnés liste

La procédure Lire Message : la procédure Lire Message permet a partir du message en clair

de créer le chromosome initial (le codage du problème).

Procédure Insérer Liste (Liste : Pos, Emp : entier)

Début

P, Q:Pos

P=New (Pos)

P^.emplacement=Emp

P^.suivant = NULL

Si (liste=null) alors

liste=P

Sinon Q=liste

Tant que (Q^.suivant !=Null)

Faire Q=Q^.suivant

Fait Q^.suivant=P

FSI Fin

Procédure Lire Message (Chi : Chromosome, MSG : Text)

Début

c char

Tant que not (fin (MSG))

Faire Lire(c, MSG)

chi [ord(c)].car=c

chi[ord(c)].occur= chi[ord(c)].occur+1

insérer Liste (chi[ord(c)].Liste ,Pos)

Fait Fin

Page 96: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

85

La procédure Désordre : La procédure Désordre permet la création d’une population parent à

partir du chromosome initial. La procédure évaluer : La fonction évaluer calcule la valeur d’adaptation de l’individu qui est

le score qui prendra l’individu.

Les opérateurs de croisement sont programmés afin d’explorer l’espace de recherche du

problème

La procédure Croisement : La procédure croisement prend comme paramètre deux parents et

donne naissance à deux fils (croisement en 1 point)

La procédure MPX : La procédure MPX permet de créer 2 fils a partir de deux parents mais

avec un repère de deux points.

Procédure Désordre (chi,ch :Chromosome)

Début

Insérer les éléments du chi dans ch dans un nouvel ordre (aléatoire)

Fin

Procédure évaluer (chi, ch : Chromosome)

Début F, i: entier

Pour i=1 à 255

Faire F=F+ABS ((Chi[i].occur)-chi[i].occur))

Fait Fin

Procédure Croisement (chi,chk:Chromosome)

Début

générer un nombre aléatoire Point_Crois=[1..255]

Permuter (chi,chk,Point_Croisement)

Fin

Page 97: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

86

La procédure Mutation : la procédure Mutation effectue une permutation aléatoire entre deux

gènes fils. La procédure Sélection Par trie : La procédure Sélection Par Trie permet de sélectionner les

meilleurs individus en les trient.

La procédure Sélection Par Aléatoire : La procédure Sélection Par Aléatoire permet de

sélectionner les meilleurs individus par leurs fréquence cumulé.

Procédure MPX (chi,chk :Chromosome)

Début

générer deux nombres aléatoires dans [1..255] : R1 et R2

Permuter (chi,chk,R1,R2)

Fin

Procédure Sélection Par trie (indiv : Population, chf : chromosome)

Début

trier les individus de la population selon F(décroissant)

chf=indiv[1].MyChromosome

Fin

Procédure Sélection Par Aléatoire (indiv : population ,chf :chromosome)

Début

générer un nombre aléatoire

Sélectionner le chromosome chf correspondant à cette probabilité

Fin

Procédure Mutation (chi,chk :chromosome)

Début

générer un nombre aléatoire i = [1..255]

Permuter(ch[i],chk[i])

Fin

Page 98: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

87

La procédure Clé Session : La procédure Clé Session permet d’établir le lien de changement

entre les caractère du message initial est le message crypté.

IV.2.2 Evaluation : IV.2.2.1 Comparaison de « bestof2 » avec les opérateurs classiques

Nous avons remarqué ces dernières années une croissance très rapide des travaux utilisant les

algorithmes génétiques (AG) grâce à leurs grandes efficacités. Cette tendance peut être

observée dans tous les domaines, la cryptographie est l’un d’eux. Nous avons choisis

d’appliquer la cryptographie par algorithme génétique pour sécuriser des communications en

mode ad hoc [7] où on a appliqué notre croisement « Bestof2 ».

Dans cette partie nous avons entamé une comparaison entre le « Bestof2 » et les opérateurs

classiques, la figure suivante (Figure IV.1) est une représentation graphique de la convergence

vers la meilleure solution par les trois méthodes de croisement :

Figure IV.1 : Représentation graphique de la convergence vers la meilleure solution

Nous pouvons dire que le croisement « bestof2 » favorise une exploration rapide de l’espace

de recherche du problème et donne des résultats meilleurs que celle du croisement classique.

En plus de la comparaison entre les différentes méthodes de croisement (y compris notre

approche en terme de convergence vers la meilleure solution par rapport à la fonction

d’adaptabilité), nous avons effectué des simulations au niveau de chaque méthode pour

Procédure Clé Session (chf : chromosome, MyCle : Clé de session)

Début i : entier

Pour i=1 à 255

Faire Mycle[i].Char_Origine=Chf[i].car

Mycle[i].Char_Crypté=Chr(i)

Fait Fin

0 0

Page 99: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

88

mesurer les temps de calcul consommés par chacune. La figure suivante montre la position de

notre approche comparativement aux autres.

20 25 30 35 40 45 500

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Taille du fichier (Ko)

Tem

ps

d'e

xéc

utio

n (m

illi sec

ond

e)

1point

bestof2

MPX

Figure IV.2 :Comparaison des temps d’exécutions des méthodes de croisement sur différentes tailles de fichiers

IV.2.2.2 Comparaison entre les méthodes de sélection Roulette et Par Trie Puisque notre problème essentiel dans les réseaux ad hoc est la contrainte de consommation

d’énergie, nous avons donc effectué des simulations au niveau des méthodes de sélection pour

arriver à conclure la méthode la plus adaptée à notre problème d’optimisations des temps de

calculs. La figure qui suit montre les tps d’exécution des deux méthodes de sélection Roulette

et Par Trie sur différentes taille de fichiers.

20 25 30 35 40 45 500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Taille du fichier (Ko)

Tem

ps d

'exécutio

n (

Mill

i seconde)

Trié

Aléatoire

Figure IV.3 : Comparaison des temps d’exécution des méthodes de sélection sur différentes tailles de fichiers

Pour bien positionner l’approche de la cryptographie par algorithme génétique avec les

meilleurs paramètres retenu par l’étude de simulation, l’algorithme itératif utilise la méthode

de la roulette (aléatoire) pour l’opérateur de sélection ainsi que le bestof2 pour l’opérateur de

croisement. Après études de simulation au niveau interne de l’approche nous avons pu faire

ressortir les meilleurs paramètres compromis sur la base de comparaison par simulation, par la

suite nous avons fait une évaluation extra proposition (évaluation par comparaison avec

d’autres méthodes) de l’approche avec les algorithmes cryptographiques IDEA, RSA, PGP.

Page 100: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

89

IV.3 Evaluation par comparaison avec d’autres méthodes

IV.3.1 Implémentation :

Dans cette partie nous allons présenter l’implémentation des principales procédures utilisées

lors du cryptage (IDEA, RSA, PGP, CAG), et le fonctionnement du logiciel développé lors

de ce travail.Ainsi que les résultats obtenus après plusieurs essais.Ce logiciel est réalisé

sous l’environnement Windows avec le langage de programmation Delphi.

IV.3.1.1 Implémentation de l’IDEA : Les procédures de l’IDEA sont les suivantes :

shr25bit, generZ, transformation, iteration, crypte_bloc.

La procédure shr25bit réalise le décalage circulaire de 25 bits de la clé.

Puis la clé est divisée en 8 sous-clés de 16 bits , décalées circulairement sur la gauche de 25

bits à l’aide de la procédure generZ. cette procédure est exécutée à chaque itération jusqu'à

l’obtention 52 sous-clés c’est-à-dire 8 groupes de 6 sous-clés (un groupe par itération) : Z1,

Z2, Z3, Z4, Z5, Z6, et un groupe de 4 sous-clés pour la transformation finale : Z1, Z2, Z3, Z4.

Procedure shr25bit (var cle :tableau byte; var debutcle: byte);

var test1,test2:byte;

count2: integerr;

debut debutcle:=(debutcle+3)mod 16 ; // le nombre de carctére de

// la clé

test1:=tableau1[15] et 1;

count2:=0;

tant que count2<=15 faire

debut test2:=tableau1[count2] et 1;

tableau1[count2]:=tableau1[count2] shr 1;

si (test1=1) alors

tableau1[count2]:=tableau1[count2]+ 128;

test1:=test2;

inc(count2);

fin;

fin;

Page 101: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

90

L’ensemble de ces sous clés seront combinées avec le bloc de données(X1,X2,X3,X4) à

l’aide des deux procédures suivantes :

procedure transformation (var X,Z:tableau Word );

var round: integer;

debut X[1] := (X[1]+Z[1]) mod n2E16;

X[2] := (X[2]+Z[2]) mod n2E16;

X[3] := (X[3]+Z[3]) mod n2E16;

X[4] := (X[4]+Z[4]) mod n2E16;

fin;

procedure generZ (var cle :tableau de byte; var debutcle;

parcourcle:

byte);

var round1:integer;

bytevarlo, bytevarlo:byte;

wordvar:word;

procedure concat_2bytetoword;

asm

mov ah,bytevarlo;

mov al,bytevarhi;

mov wordvar,ax;

fin;

debut pour round1:=0 a max faire

debut bytevarhi:=t2[parcourcle];varr1:=( parcourcle +1) mod

16;

bytevarlo:=t2[parcourcle];varr1:=( parcourcle +1) mod

16;

concat_2bytetoword;

t1[round1]:=wordvar;

si varr1=varr2 alors

debut shr25bit (cle, debutcle);

parcourcle:= debutcle;

fin;

fin

Page 102: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

91

La procédure crypte_bloc effectue le cryptage d’un bloc de données de 64 bits .

procedure crypte_bloc (var X:tableau Word ; var cle:tableau de

byte);

var round: integer;

debut

generZ (Z,cle);

pour round:=1 a 8 faire

debut Iteration (X, Z);

generZ (Z,cle);

fin;

transformation(X, Z);

end;

procedure iteration (var X:tableau Word ; var cle:tableau byte);

var Etape :tableau[1..10] de Word;

debut

Etape[1] := (X[1]+Z[1])mod n2E16;

Etape[2] := (X[2]+Z[2])mod n2E16;

Etape[3] := (X[3]+Z[3])mod n2E16;

Etape[4] := (X[4]+Z[4])mod n2E16;

Etape[5] := Etape[1] XOR Etape[3];

Etape[6] := Etape[2] XOR Etape[4];

Etape[7] := (Etape[5] + Z[5])mod n2E16;

Etape[8] := (Etape[6] + Etape[7])mod n2E16;

Etape[9] := (Etape[8] + Z[6])mod n2E16;

Etape[10]:= (Etape[7] + Etape[9])mod n2E16;

X[1] := Etape[1] XOR Etape[9];

X[3] := Etape[3] XOR Etape[9];

X[2] := Etape[2] XOR Etape[10];

X[4] := Etape[4] XOR Etape[10];

fin;

Page 103: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

92

Présentation de l’interface d’IDEA :

Figure IV.4 : Interface d’IDEA dans le cas du cryptage d’un texte (4 ko)

Figure IV.5 : Interface d’IDEA dans le cas de cryptage d’image (48 ko)

Page 104: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

93

Fonctionnement d’IDEA :

• Pour crypter :

Premièrement il faut que l’utilisateur choisis le mode de cryptage texte ou image

(menu/Typefichier ) avant d’ouvrir le fichier adéquat et taper la clef (de 16 caractère

de long) et pour lancer l’opération de cryptage il faut cliquer sur le bouton crypter.

• Pour décrypter :

La personne voulant décrypter le fichier codé n’a pas besoin de taper la clé de session

par ce qu’elle a été insérée dans ce fichier lors du cryptage (c’est notre idée afin

d’acheminer la clé au destinataire d’une façon sécurisée), donc il suffit de cliquer sur

le bouton décrypter où le programme va premièrement récupérer la clé et en suite

décrypter les données.

Résultats Expérimentaux :

� Texte :

Nous allons crypter le texte clair : “ there is only one God and Mohamed his prophet“ .

avec les clés : ‘ benhaoua__kechar’ , ’ benhaouarahmouni’ et ’benhaoua__haffaf ’.

Tableau IV.1 : Résultats obtenues avec l’IDEA

Nous remarquons que le changements des clés donne des résultats différents par contre le

temps de cryptage reste constant.

Clé secrète Texte crypté

benhaoua__kechar �I G ùo§ �€be%¨H Íýãø›˜†& Úê- �nhê µæ•Ž(æ´TF¥ºÚ&e½6£ûvP

benhaouarahmouni r—ªk•hŒ-be— �Ę! TR � �¦ëú>Ñ nh˜1\ � �Òæ¯ 5 R FkÑ �€v žÓ râ

benhaoua__haffaf ID¡frz:¯ beÝgBo ÛŒ2VQ@Ó‘§@nh BõÎõ¸M½²ãu´Å¸…¦Ò<;E`…

Page 105: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

94

IV.3.1.2 Implémentation de l’RSA : Les procédures et fonctions constituant l’RSA sont :

premier ,premiersuiv, cleprive, clepublic, puissance, cryptemsg .

La fonction premier : tester si le nombre nbr est premier ou non .

La fonction suivante donne le nombre premier qui suit le nombre nbr .

La fonction clepriv sert à calculer la clé privée dans le but de l’utiliser dans

l’algorithme de chiffrement.

fonction premier(nbr:int64):boolean;

var notexiste:boolean;

nbrimper:integer;

debut

notexiste:=true;

nbrimper:=3;

tant que (notexiste et (nbr div 3>= nbrimper)) faire

si (nbr mod nbrimper) =0 alors notexiste:=false

sinon nbrimper:= nbrimper+2;

result:=notexiste;

fin;

fonction premier(nbr:int64):boolean;

var notexiste:boolean;

nbrimper:integer;

debut

notexiste:=true;

nbrimper:=3;

tant que (notexiste et (nbr div 3>= nbrimper)) faire

si (nbr mod nbrimper) =0 alors notexiste:=false

sinon nbrimper:= nbrimper+2;

result:=notexiste;

fin;

fonction cleprive(v1,v2:int64):int64;

var r,x,x1,x2,a,b:int64;

debut

x:=1; x1:=0;

a:=v1; b:=v2;

tant que b>0 faire

debut

r:=a mod b;

x2:= x -(a div b)*x1;

x:=x1;

x1:=x2;

a:=b;

b:=r;

fin;

cleprive:=x;

fin;

Page 106: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

95

La fonction clepublic comme son nom l’indique sert à calculer la clé publique [13].

La fonction suivante sert à calculer la puissance d’un nombre ,à l’aide de

l’exponentiation modulo Nvar par algorithme dichotomique, cette fonction est utilisée

pour le cryptage et le décryptage [13].

On crypte les messages à l’aide de la procedure suivante :

fonction clepublic(nbr:int64):int64;

var keyE:int64;

debut keyE:=nbr div 4;

repeter premiersuiv(keyE);

jusqu’a (nbr mod keyE<>0);

clepublic:=keyE;

fin;

fonction puissance( msg2,a1, Nvar:int64):int64;

var boucle,msgvar,mul:int64;

debut msgvar:=1;

mul:=msg2;

boucle:=a1;

tant que boucle<>0 faire

si (boucle mod 2)<>0 alors

debut boucle:=boucle-1;

msgvar:=msgvar*mul mod Nvar;

fin

sinon

debut

boucle:=boucle div 2;

mul:=mul*mul mod Nvar;

fin;

puissance:=msgvar;

fin;

procedure cryptemsg(var msg:int64);

debut msg:=puissance(msg,e);

fin;

Page 107: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

96

Présentation de l’interface d’RSA :

Fonctionnement d’RSA :

Tout d’abord il faut choisir deux nombres premiers différents p et q à l’aide du bouton suivant

qui nous permet de choisir un nombre premier puis appuyer sur le bouton ‘calculer’ pour

générer les clés de (dé)codage (privée/ publique) et le groupage c à d le nombre de lettres à

coder à chaque passage (le groupage est inférieur au nombre de chiffre de p*q ) .Dans ce cas ,

la personne voulant décrypter le message doit posséder les deux clés alors que les autres ne

connaissent que la clé publique.

• Pour crypter :

Il suffit de taper la clé publique (fixée par la personne qui veut décrypter ) cliquer ensuite

sur le bouton ‘ crypter ‘.

• Pour décrypter :

Taper la clé publique et la clé privée , placer le texte crypté dans le champ ‘ textenclaire ’

, et appuyer ensuite sur le bouton décrypter.

Figure IV.6 : Interface d’RSA dans le cas du cryptage d’un texte (10 ko)

Page 108: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

97

Résultats Expérimentaux :

Nous allons crypter le même texte en claire employé avec l’IDEA , à chaque essai on utilise

un couple ( privée/ publique ) différent :

Tableau IV.2 : Résultats obtenues avec l’RSA

IV.3.1.3 Implémentation du PGP :

PGP est un système de chiffrement à clé publique qui combine les avantages de l’IDEA de

RSA : IDEA est 1000 fois plus rapide que RSA et il est pratiquement impossible de percer la

clé secrète RSA. Touts les procédures utilisées par l’IDEA et l’RSA sont exploitées par le

PGP.

Les Nbrs premier

Clé Privée

Clé publique

Groupage Tps

d’exe Texte crypté

P=103

q=13

N=1339

E=311 D=551 1 5 ms

0493010402770680027708430547

0396084312500739127110630843

1250073902770843090812501199

0843025807391199084310131250

0104025804630277119908430104

0547039608431266068012501266010402770493027702770493

P= 1087 q=1361

N=1479407 E=369247

D= 263743 2 7 ms

1252971031753303257500550315

0077592065770908938200343967

03257500436347030187204753990301872055101409077500449040

0301872037948907529500764163

0995416058344009715290249765

P=104327

q=13591

N=1417908

257

E=35444758

9

D=265835689 3 10 ms

1043912300060106345708089660

5402383742870234897607006525

6773009414657009526789511077

1430500390595259124060618601

7018162113094085351157449377

03524459430538912535

Page 109: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

98

Présentation de l’interface de PGP :

Fonctionnement du PGP:

Pour les clés (privée/publique) utilisées par le PGP ,on les génére de la même façon que

l’RSA , tel que la clé de session d’IDEA est donnée par l’utilisateur .

• Pour crypter :

Lorsque vous utilisez PGP pour coder des données (texte ou image) il faut tout d’abord entrer

la clé publique (dans le champs RSA ) donnée par le destinataire et taper la clé de session

(dans le champs IDEA). une fois vous cliquez sur le bouton crypter les étapes suivantes sont

automatiquement déclenchées :

a. PGP utilise l'algorithme IDEA pour chiffrer les données avec la clé de session.

b. Il emploie l'algorithme RSA pour chiffrer la clé de session avec la clé publique du

destinataire.

c. Il sauvegarde, la clé de session chiffrée et les données chiffrées dans le même fichier.

• Pour décrypter : le processus de décodage se déroulera comme suite :

a. PGP emploie RSA pour déchiffrer la clé de session avec la clé privée de destinataire.

b. Il utilise de nouveau IDEA pour déchiffrer enfin le message avec la clé de session.

Figure IV.7 : Interface PGP dans le cas du cryptage d’un texte (10 ko)

Page 110: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

99

Résultats Expérimentaux :

L’exemple suivant montre le contenu du fichier crypté par PGP. on a utilisé le même texte

employé auparavant par l’IDEA et RSA :

Tableau IV.3 : Résultats obtenues avec le PGP

On remarque que le texte crypté commence par les trois lettres ‘PGP’ pour indiquer que ce

dernier a été crypté par PGP , ensuite on trouve les chiffres qui représentent la clé de session ,

suivie par les données cryptées par l’IDEA.

IV.3.1.4 Implémentation de CAG :

L’ensemble des procédures et fonctions utilisées par le CAG sont les suivantes : select,

Fonctadapt, crossover, Generation, algorithm_genetique et cryptage.

La fonction select donne l’index qui correspond à l’individu sélectionné dans la population

« pop ». L’algorithme utilisé pour la sélection est celui de la roue de lottrie [8].

Clé privée Clé publique clé de session Texte crypté

D=307 N=1339

E=307 benhaoua__kechar

pgp0201010100070104133302140117133300950095010

�701010408010413330114I G ùo§ �€%¨H Íýãø›˜†& Úê-

�ê µæ•Ž(æ´TF¥ºÚ&e½6£ûvPÇ

fonction select(pop:Tpopulation):byte;

var rand,partsom:real;

comp:byte;

c:integer;

debut

partsom:=0; c:=0;

rand:=random*somfadapt;

repeter c:=c+1;

partsom:=partsom+pop[c].Fadapt;

jusqu’a ((c>=tailpop)ou(rand<=partsom));

select:=c;

fin;

Page 111: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

100

La fonction Fonctadapt calcule la valeur d’adaptation de l’individu indiv qui est le score

qui prendra l’individu.

Les opérateurs de croisement (crossover et mutation) sont programmés afin d’explorer

l’espace de recherche du problème ,ces operateurs utilisent la fonction flip[8] (la pièce

biaisée) pour décider s’il faut faire l’exploration ou non, cette fonction prend comme

paramètre d’entrées les probabilités (pcross,pmut) et les considère comme face.

La procedure crossover prend comme paramètre deux parents par1,par2 et donne naissance

à deux fils ,fils1,fils2 (crossover en 1 point) ;

procedure crossover (var par1,par2,fils1,fils2:Tinvidu ; pcross:real);

var pointc,compt, pointcross:byte;

debut

si flip(pcross) alors

debut tailchrom:=length(pa1);

repeter pointc:=random(tailchrom)+1; jusqu’a pointc>1;

pointcross:=pointc;

fils1:=copy(par1,1,pointc-1);

fils2:=copy(par2,1,pointc-1);

pour compt:=pointc a length(par1) faire

debut si pos(par2[compt],fils1)<=0 alors

fils1:=fils1+par2[compt]

sinon si pos(par1[compt],fils1)<=0 alors ar1[compt]

sinon

fils1:=fils1+par1[poszonecros(fils1,par1,pointc)];

si pos(par1[compt],fils2)<=0 alors

fils2:=fils2+par1[compt]

sinon

si pos(par2[compt],fils2)<=0 alors

fils2:=fils2+par2[compt]

sinon fils2:=fils2+par2[poszonecros(fils2,par2,pointc)];

fin;

fin si

debut

fils1:=par1;

fils2:=par2;

fin;

fin;

fonction Fonctadapt(indiv:Tindivedu):integer;

var count: byte ;

som: integer;

debut

som:=0;

pour count:=1 a length(indiv) faire

som:=som+abs(ch_init[ord(str[count])].occu-

ch_init[ord(indiv_init[count])].occu);

Fonctadapt:=som;

fin

Page 112: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

101

la procedure mutation effectue une permutation aléatoire des deux gènes d’un fils .

La procédure ‘Generation’ permet la création d’une population popfils1 à partir de la

population popparent1 en utilisant les opérateurs de croisement et mutation .

procedure mutation(var indiv:Tindividu;pmut:real);

var pointm1,pointm2,nbr:byte;

permut: char;

debut

si flip(pmut) alors

debut

nbr:=length(indiv);

pointm1:=random(nbr)+1;

repeter pointm2:=random(nbr)+1; jusqu’a pointm1<>pointm2;

permut:= indiv [pointm1];

indiv [pointm1]:= indiv [pointm2];

indiv [pointm2]:= permut;

fin;

fin;

procedure Generation(var popfils1, popparent1 :Tpopulation);

var sature,par1,par2,dotcross:byte;

p1,p2,f1,f2:string;

debut sature:=1;

repeter par1:=select(popparent1); par2:=select(popparent1);

p1:=pop1[par1].chrom; p2:=pop1[par2].chrom;

//* croisement des parents sélectionnée p1,p2 *//

crossover(p1,p2,f1,f2, pcross);

//* mutation des fils f1,f2 *//

mutation(f1,pmut); mutation(f2,pmut);

pour 1 à popfils1 [sature] faire

debut chrom:=f1; part1:=par1; part2:=par2; fin;

pour popfils1 [sature+1] à n faire

debut chrom:=f2; part1:=par1; part2:=par2; fin;

sature:=sature+2;

jusqu’a (sature>=tailpop);

fin;

Page 113: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

102

Avec la procédure ‘Evaluation’ on évalue l’adaptation de chacun des individus de la

population pop, et on calcule la variable somfadapt qui est utilisée dans la roue de lottrie et

dans d’autres statistiques telle que la convergence de l’adaptation des individus .

La procédure ‘algo_gene’ sélectionne à partir d’une population initiale une population

de solutions, cette procédure se répète jusqu'à ce que la compteur de génération

dépasse un maximum maxgen dont le but est de trouver la meilleure solution.

procedure Evaluation(var pop:Tpopulation;tailpop1:byte;var

som,max,bestmax:integer;var meil:byte);

var count:byte;

debut max:=0; som:=0;

pour count:=1 à tailpop1 faire

debut

pop[count].Fadapt:=Fonctadapt(pop[count].chrom);

som:=som+pop[count].Fadapt;

si max <pop[count].Fadapt alors

debut

max:=pop[count].Fadapt;

meil:=count;

fin;

fin;

si bestmax<max alors bestmax:=max;

fin;

procedure algo_gene (var indiv_init, indiv_fin:Tindividu; popfils,

popparent :Tpopulation);

var gen :byte ;

debut bestmaxfadapt :=0 ;

creation_popparent(indiv_init,popparent);

Evaluation(popparent,tailpop,somfadapt,maxfadapt,

bestmaxfadapt,meilleur);

gen:=0;

repeter

Generation(popparent,popfils);

Evaluation(popfils,tailpop,somfadapt,maxfadapt,bestmaxfadapt,

meilleur);

popparent:=popfils ;

inc(gen);

jusqu’a gen>=maxgene;.

indiv_fin2:=popfils[meilleur].chrom;

fin;

Page 114: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

103

La procédure de chiffrement cryptevolutionnist, concatène touts les caractères constituant le

texte à crypter pour former l’ indiv_init puis fait appel au AG pour trouver l’indiv_fin, qui

représente la solution qu’on cherche. La concaténation de ces individus constitue la clé de

session à utiliser lors de décryptage, enfin chaque caractère de l’ indiv_init sera substitué par

leur correspondant dans l’ indiv_fin .

Présentation de l’interface CAG :

procedure cryptage(var buffer:array of char;var cle_session:string);

debut indiv_init

charsfile (indiv_init);

resltat de la

algo_gene (indiv_init,indiv_fin);

cle_session:=indiv_fin+indiv_init;

cryptfile;

fin;

Figure IV.8 : Interface des fichiers de CAG

Page 115: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

104

Fonctionnement :

Avec les algorithmes qu’on a vu, avant le cryptage l’utilisateur fait entrer la clé au

programme, mais dans le cas de CAG l’opération est inversée c’est le programme qui génère

la clé de session après le cryptage pour l’utiliser lors de décryptage.

• Pour crypter :

Il suffit de fixer les valeurs des paramètres de l’algorithme génétique comme la taille de la

population sizepop et le nombre de génération nbrgen et de choisir le type de croissement

1point ou bestof2 (notons que le croissement bestof2 est notre propre idée), Le cryptage sera

lancé par un simple clic sur le bouton crypter et les informations suivantes sont affichées :

1. les individus de chaque population avec leurs fonctions d’adaptation et l’indice

du meilleur individu.

2. les individus indiv_init et indiv_fin.

3. le graphe de convergence d’adaptation des individus et le temps de

(dé)cryptage.

• Pour décrypter :

La clé de session est insérée dans le fichier crypté donc il suffit de cliquer sur le bouton

décrypter pour que le programme récupère la clé et lance le décryptage.

Figure V.9 : Interface des paramètres de l’AG de CAG

0 0

Page 116: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

105

Résultats Expérimentaux :

L’exemple suivant montre le cryptage du texte précédent avec CAG.

Tableau IV.4 : Résultats obtenues avec CAG

Le fichier crypté débute toujours par ‘AG’ pour dire que ce dernier est crypté à l’aide des

algorithmes génétiques , suivi par la clé de session et le texte.

IV.3.2 Evaluation :

Dans le but d’achever l’évaluation de notre travail, nous allons présenter les différentes

comparaisons du chiffrement CAG aux systèmes les plus dominants actuellement IDEA, RSA

et PGP. Ces comparaisons se basent sur le délai moyen de chiffrement et du déchiffrement

IV.3.2.1 Evaluation par comparaison avec d’autres méthodes entre les algorithmes IDEA , RSA , PGP et CAG

Les paramètres utilisés pour chaque algorithme :

IDEA : n’a aucun paramètre qui influe sur le tps du calcul.

RSA : le paramètre qui influe sur le tps du calcul est la valeur des nombres premiers p et q (le

tps augmente suivant la valeur de p et q).

On a pris q= 103, p= 13 .

PGP : les même paramètres que RSA .

CAG : les paramètres qui influent sur le tps du calcul sont le nombre de génération et la taille

de la population.

On a choisit taillepop =10 , nbrgene=10 .

Le Tableau IV.5 montre les délais de cryptage/décryptage en microsecondes des différents

algorithmes sur différentes tailles de fichiers [4 k, 5…. ,20 k]

Paramètres AG

clé de session Texte crypté

size pop Nbrgen

10 5 ytsrmlihgeda

ponadeghilmnoprsty

�AG ytsrmlihgeda pon

adeghilmnoprstyolr

yipydehnyderymdsytesygdltgrsylipya

dalrol

Page 117: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

106

IDEA RSA PGP CAG

4 k.o 10 m.s 125 m.s 16 m.s 15 m.s

5 k.o 15 m.s 165 m.s 21 m.s 20 m.s

6 k.o 15 m.s 220 m.s 25 m.s 20 m.s

7 k.o 25 m.s 235 m.s 26 m.s 25 m.s

8 k.o 25 m.s 265 m.s 35 m.s 30 m.s

9 k.o 30 m.s 310 m.s 36 m.s 35 m.s

10 k.o 30 m.s 310 m.s 41 m.s 40 m.s

11 k.o 40 m.s 335 m.s 45 m.s 50 m.s

12 k.o 40 m.s 370 m.s 50 m.s 55 m.s

13 k.o 40 m.s 370 m.s 50 m.s 60 m.s

14 k.o 45 m.s 395 m.s 55 m.s 75 m.s

15 k.o 50 m.s 425 m.s 55 m.s 95 m.s

16 k.o 55 m.s 450 m.s 60 m.s 95 m.s

17 k.o 55 m.s 465 m.s 60 m.s 105 m.s

18 k.o 60 m.s 485 m.s 70 m.s 120 m.s

19 k.o 60 m.s 505 m.s 70 m.s 140 m.s

20 k.o 65 m.s 525 m.s 70 m.s 140 m.s

Tableau IV.5 : Délai de cryptage et décryptage [4k, 5…. ,20k]

Le Tableau IV.6 montre les délais de cryptage/décryptage en microsecondes des différents

algorithmes sur différentes tailles de fichiers [20k, 30…. ,100 k]

Page 118: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

107

IDEA RSA PGP CAG

20 k.o 10 m.s 125 m.s 16 m.s 15 m.s

30 k.o 15 m.s 165 m.s 21 m.s 20 m.s

40 k.o 15 m.s 220 m.s 25 m.s 20 m.s

50 k.o 25 m.s 235 m.s 26 m.s 25 m.s

60 k.o 25 m.s 265 m.s 35 m.s 30 m.s

70 k.o 30 m.s 310 m.s 36 m.s 35 m.s

80 k.o 30 m.s 310 m.s 41 m.s 40 m.s

90 k.o 40 m.s 335 m.s 45 m.s 50 m.s

100 k.o 40 m.s 370 m.s 50 m.s 55 m.s

Tableau IV.6 : Délai de cryptage et décryptage [20k, 30…. ,100k]

4 6 8 10 12 14 16 18 200

100

200

300

400

500

600

Taille du fichier (Ko)

lai

de

cty

pta

ge

/dé

cry

pta

ge

(M

icro

se

co

nd

e)

IDEA

RSA

PGP

CAG

Figure IV.10 : Représentation graphique du Délai de cryptage /décryptage [4k, 5…. ,20k]

Page 119: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

108

20 30 40 50 60 70 80 90 1000

2000

4000

6000

8000

10000

12000

Taille du fichier (Ko)

Déla

i m

oyen d

e c

rypta

ge/d

écry

pta

ge (M

ico s

econde)

IDEA

RSA

PGP

CAG

Discussions : On a vu que :

a. L’IDEA a un délai de cryptage/décryptage très rapide par rapport aux trois autres

algorithmes mais l’inconvénient qui reste dans les algorithmes symétriques est comment

faire circuler la clé privée de manière sûr et confidentielle. c’est un algorithme performant

et difficile à casser.

b. RSA a le plus long délai de cryptage/décryptage par rapport aux trois autres algorithmes

on peut le considérer comme un inconvénient, mais c’est un algorithme robuste sa clé

privée est difficile à casser.

c. PGP à un délai de cryptage /décryptage très proche de L’IDEA .c’est un algorithme a clés

de session qui combine entre les avantages de IDEA et RSA.

d. CAG a un délai de cryptage/décryptage moyen par rapport au délai de l’IDEA et PGP

jusqu'à une taille de fichier de 10 k.o (Figure IV.10).le délai cryptage décryptage de CAG

dépasse le délai de l’IDEA et PGP a partir d’une taille de fichier de 10 k.o(Figure IV.10). le

délai cryptage /décryptage de CAG est inférieurs au délai du RSA jusqu'à une taille de

fichier de 50 k.o .

Après les comparaisons qu’on a effectuer de l’approche CAG avec les méthodes IDEA,RSA

et PGP en terme de délai de cryp/decr, et comme l’approche est une proposition pour

sécuriser des communication en mode ad hoc où la contrainte de consommation d’énergie est

un facteur important , en propose cette approche pour sécurisé des communication en mode ad

hoc pour un échange de données qui peut aller jusqu'à 10 k.o

Figure IV.11 : Représentation graphique du Délai de cryptage /décryptage [20k, 30…. ,100k]

Page 120: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Chapitre IV Implémentation & Evaluation

109

V.3 Conclusion

Etant donné que la plupart des processus utilisés dans les algorithmes génétique sont

aléatoires, ceci donne de la résistance à l’algorithme de chiffrement. En effet, l'aléatoire est un

ennemi des cryptanalystes. D'autant plus, nous avons exploité ces processus pour déduire la

clef de session. L’algorithme a tous les avantages d'un algorithme évolutionniste, à savoir:

simplicité, rapidité, coût faible des opérateurs génétiques et performance. Il suffit de choisir

des paramètres (taux de population, taux des opérateurs,…) adaptés.

Etant donné que la plupart des méthodes cryptographiques utilisées dans les réseaux ad hoc

sont symétriques, notre approche a dans ce cadre été basée sur des études de simulations sur la

contraintes essentielles des réseaux ad hoc qui est la consommation d’énergie . Les résultats

obtenus font ressortir que l’approche par algorithme génétique a tous les avantages d’un

crypto systèmes utilisé dans les réseaux ad hoc pour un échange de données qui peut aller

jusqu'à 10 k. Comme perspectives de notre travail, il nous reste à étudier la robustesse de cette

approche qui relève du domaine de la cryptanalystes.

Malgré la puissance des algorithmes génétiques dans les problèmes d’optimisation, ils ont des

limitations qu’il faut toujours penser a améliorer et c’est la raison pour laquelle nous avons

proposé dans cet article un nouvel opérateur de croisement que nous croyons aussi efficace

dans d’autres domaines. Ce nouvel opérateur est inspiré de la nature et que de nouvelles

expériences sont nécessaires pour le prouver.

procedure

generZ

(var

cle :tablea

u de byte;

Page 121: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

110

Conclusion générale

Par le biais de cette thèse, nous avons pu réaliser un travail d'innovation à savoir :

1- Proposition d’une approche cryptographique basée sur les algorithmes génétiques.

2- Proposition d’un nouvel opérateur génétique adapté au problème.

Notre outil de base est : les algorithmes génétiques. Le premier obstacle franchis pour la

réalisation de ce travail, était la formalisation du problème de chiffrement de façon à le ramener à

un problème d'optimisation combinatoire. Le deuxième obstacle franchis était l'établissement des

éléments de base de l'algorithme génétique à savoir : codage des chromosomes, définition de la

fonction d'évaluation, choix des opérateurs génétiques. Enfin, la génération de la clé de session du

chiffrement par l'algorithme évolutionniste en était l’ultime.

Ainsi, après la construction d'un système de chiffrement évolutionniste dont des applications

sur différents messages ont été réalisées, illustrant le bon fonctionnement de ce système.

Comme domaine d’application, nous avons choisis les réseaux Ad hoc, qui constitue un nouvel

axe de recherche où les travaux portant sur la sécurité de ce type de réseaux sont peu, dont on a

pris en compte leurs contraintes .Des discussions évaluatives ont eu lieu, permettant ainsi

d'illustrer les avantages et les qualités du systèmes proposé comparativement aux autres existants

actuellement. Cependant, montrer qu'un système de chiffrement est sûr n'est pas une tâche facile.

Nous rejoignons nos collègues cryptologues en disant que tous les systèmes de chiffrement sont

cassables à long terme, mais l'essentiel c'est que la durée de vie souhaitée pour le texte chiffré soit

inférieure à celle mise par le cryptanayste désirant casser ce système.

Comme perspective dans une prochaine publication, nous présenterons notre technique de

Chiffrement, appliqué pour les réseaux de capteurs sans fils.

Page 122: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

BIBLIOGRAPHIE

[1] Thèse Doctorat « Unicast et Multicast dans les réseaux Ad Hoc ». Par LAOUITI Anis, Juillet 2002.

[2] Mini projet « Le Routage dans les Réseaux Mobiles Ad Hoc ». Par LEMLOUMA Tayeb,

Septembre 2000.

[3] http://www.dmi.ens.fr/equipes/grecc/crypto/intro/intro.html .

[4] http://www.securiteinfo.com .

[5] http://www.menard.bourgogne.net.com/tipe98/algom/IDEA.htm#idea.

[6] Thèse d’ingéniorat AES et ECC

[7] http://www.carefour.usherbrooke.ca/resultats2004/rsa_berube+5/rsa/rsa/introduction.html.

[8] http://www.commentcamarche.com.

[9] David Goldberg .(1994).Les algorithms genetiques .Edition Wesley.

[10]Vincent Magnin.Algorithmes Evolutionnaires et Algorithmes Génétiques.

[11] Omary.F, Lbekkouri.A et Tragha.A"Extension des applications des algorithmes évolutionistes ".

Rapport interne N° 7 / 01/ 2004 .Département de mathématiques et informatique Faculté des

sciences -Rabat.

[12] A.ALI PACHA ‘’ Sécurité des donnée par l’IDEA ‘’. Deuxième journées d’Informatique pour

l’Entreprise .

[13] Emeric Jioan .Introduction à la cryptographie. Université de la réunion .

[14] Christian Paquin.Les codes correcteurs quantique et leurs applications cryptographique.

Faculté des arts et des sciences / Département d'informatique et recherche opérationnelle.

[15] Valérie gayrand loutfi Nuayni francis Dupont , sylvain goubault et Bruno ‘’ la sécurité dans les

réseaux ad hoc sans fil ‘’

[16] PGP (1998) personal privacy ; traduction française news.misc-cryptologie , NAI.

[17] Florin G. et Natkin S., les techniques de la cryptographie. CNAM 2002.

[18] Dubertret G. Initiation à la cryptographie. Edition Vuibert, 1998.

[19] Douglas Stinson, D. Cryptographie Théorie et pratique. Traduction de Serge Vaudenay,

Gildas Avoine et Pascal Junod. (2ième édition). Paris Vuibert Informatique, 2003.

[20] Beckett B., Introduction aux méthodes de la cryptologie. Edition Masson 1990.

Page 123: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

[21] B. Schneier, Cryptographie appliquée. Seconde édition (John Wiley & Sons, 1996).

[22] Menezes A.J., Oorschot P.C. van et Vanstone S.A., Handbook of Applied Cryptography. (CRC Press,

1997).

[23] Giry D. et Durand S. Travaux d'études et de recheche Cryptographie. Octobre 2001.

http://www.cryptologie.com/W eb_Ter

[24] Labouret G. (2001). Introduction à la cryptographie. http://www.hsc.fr/ressources/

cours/crypto/index.html.fr

[25] Didier Müller, Ars Cryptographica. 2003. http: / /www.apprendre-en-ligne.net/crypto /

[26] Biham E. and Shamir A., Differential Cryptanalysis of the Data Encryption Standard. Springer-Verlag,

1993.

[27] Mémoire ‘’problème du voyageur de commerce a l’aide des algorithmes génétiques’’

[28] Michalewicz Z., Genetic Algorithms +Data= Evolution Program. Springer- Verglas, 1992.

[29] Holland J.H., Adaptation in Natural and Artificial Systems. Cambridge, Mas s: MIT pres s, 1975.

[30] Goldberg D.E, GeneticAlgorithms in Search, Optimisation & Machine Learning. Addison-Wesley

Publishing Company, Inc,1989.

[31] L. Davis , The genetic Algorithm Handbook. Ed. New-York: Van Nostrand Reinhold, ch.17, 1991.

[32] Mühlenbein H.,Evolutionary Algorithms: Theory and applications. (Wiley) 1993.

[33] Janikow C.Z, and Michalewicz Z., An experimental Comparison of Binary and Floating Point

representation in Genetic Algorithms. Proceedings of the Fourth International Conference on

Genetic Algorithms, 1991,pp 31-36.

[34]Michalewicz Z., Evolutionary Computation techniques for non linear Programming. International

Transactions on Operational Research, 1(2), 1994, pp 223-240.

[35] Nakano R., and Yamadat, Conventional Genetic Algorithm for Job S hop Problems. Proc. Fourth Int.

Conf.on Genetic Algorithms, ed. Morgan Kaufman, San Mateo , California, 1991, pp 474-479.

[36] Djerid L. Portmann M.C. and Villon P., Performance Analysis of Previous and New Proposed Cross-Over

Genetic Operators Designed for Permutation Scheduling Problems. International Conference on

Industrian Engineering and Production Management, Marrakech, April 4-7, 1995.

[37] Mühlenbein H., and Schlierkamp-Voosen D. Predictive Models for the Breeder Genetic Algorithm-I,

Continuous Parameter Optimisation. Evolutionary Computation (1), 1993. pp 25-49.

[38] Starkweather T. , Mc Daniel S., Mathias K, Whittley C, and Whittley D, A Comparison of Genetic

Sequencing Operators. Proc. Fourth Int. Conf. On genetic Algorithms ed. Morgan Kaufman, San

Mateo, California, 1991, pp 69-76.

[39] Falkenauer E. and Bouffouix S., A Genetic Algorithm for job S hop. Proceedings of the IEEE

international Conference on Robotics and Automation, 1991.pp 824-829.

Page 124: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

[40] Grefenstette J.J,Optimization of Control Parameters for Genetic Algorithms. IEEE Trans. On SMC,

Vol. 16, n°1, Jan/Feb. 1986, pp. 122-128.

[41] John A Clark. Invited Paper . Nature-Inspired Cryptography: Past, Present and Future. Department

of computer Science, university of York, York, YO10 5DD, UK, 1991. Email:

[email protected]

[42] Goldberg D.E, and Lingle R., Alleles, Loci, and the TSP. Proceedings of the First International

Conference on Genetic Algorithms, 1985, pp 154-159.

Page 125: REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET …theses.univ-oran1.dz/document/TH2895.pdf · UNIVERSITE D ORAN ES-SENIA FACULTE DES SCIENCES DEPARTEMENT D INFORMATIQUE Thème : Approche Cryptographique

Résumé

L’exploitation de la force des algorithmes génétiques est basée sur l’aléatoire. Pour réaliser un

algorithme cryptographique et sécuriser des communications dans les réseaux ad hoc en

produisant des clés de session jetables, tout en définissant soigneusement dans chaque

opérateur génétique (sélection , croisement ) la méthode la plus adaptée au problèmes des

réseaux ad hoc par une évaluation intra proposition . L’opérateur de croisement est l’un des

opérateurs les plus délicats pour les algorithmes génétique. Nous montrons ainsi les

limitations des opérateurs de croisement classiques et nous présentons un nouvel opérateur de

croisement inspiré de la génétique moderne nommé « Bestof2 » qui est capable de générer

toujours des solutions plus adaptées a notre problème et d’une meilleure façon dans l’espace

de recherche, dont le but est de converger rapidement vers la meilleur solution .Dans un

deuxième temps nous donnons une comparaison a base de simulation de l’approche génétique

avec les autres algorithmes cryptographiques les plus dominant actuellement

(IDEA,RSA,PGP ) par une évaluation extra proposition pour conclure la position de

l’approche para port au contraintes des réseaux ad hoc.

Mots-clés : algorithme génétique, croisement : 1-point, MPX, Bestof2, cryptographie, ad

hoc.

Abstract

Exploitation of the genetic algorithms witch is based on the random. To realise a

cryptographic algorithm and to make safe communications in the ad hoc networks by

producing disposable keys of session, while defining carefully in each genetic operator

(selection, crossing) the method most adapted to the problems of the ad hoc networks by an

evaluation intra proposal. The operator of crossing is one of the most delicate operators for

the algorithms genetics. We thus show the limitations of the traditional operators of crossing

and we introduce a new operator of crossing inspired by the modern genetics named

"Bestof2" which is able to always generate more adapted solutions has our problem and in a

better way in space of research, of which the goal is to converge quickly towards the solution

optimal the second time we give a comparison containing simulation of the genetic approach

with the other cryptographic algorithms more currently dominating (IDEA, RSA, PGP) by an

evaluation extra proposal to conclude the position from the approach Para port to the

constraints of the ad hoc networks.

Key words: genetic algorithm, crossing: 1-point, MPX, Bestof2, cryptography, ad hoc.