Généralité sur la cryptographie
Les besoins de sécurité de la vie réelle restent toujours en augmentation. Pour Cette raison plusieurs personnes ont développé des systèmes cryptographiques pour réaliser ces besoins. Quand on parle de la cryptographie plusieurs interprétations se réveille.En générale la cryptographie a été dans la plupart des cas perçu comme une chimie noire qui est seulement utilisée par les états et les gouvernements reflétant la complexité et la difficulté et parfois l’impossibilité de la décrypter que par des mathématiciens brouillons. La cryptographie peut être utilise pour atteindre la flexibilité, la conformité et l’intimité des données qui est une exigence dans les systèmes d’aujourd’hui. Dans ce chapitre on présente les notions de base relié à la cryptographie telle que le chiffrement et ces déférents types.
Substitution poly-alphabétique :le principe consiste à remplacer chaque lettre du message en clair par une nouvelle lettre prisedans plusieurs alphabets aléatoires associés. Par exemple, on pourra utiliser n substitutionsmono-alphabétiques ; celle qui est utilisée dépend de la position du caractère à chiffrer dans le texteen clair. On choisit une clé qui sert d’entrée dans la grille poly alphabétique incluant autant desymboles qu’il y a de lettres différentes à chiffrer. Chaque caractère de la clé désigne une lettreparticulière dans la grille de codage. Pour coder un caractère, on doit lire le caractère correspondantdu texte en clair en utilisant la grille poly alphabétique et le mot clé associé dans l’ordre séquentiel (on répète la clé si la longueur de celle-ci est inférieure à celle du texte de départ). L’exemple leplus célèbre est l’algorithme de VIGENERE et de BEAUFORT. L’illustration la plus simple quicorresponde à ce principe est l’utilisation d’une fonction à base de ou exclusif (XOR).
Cryptage DES (Data Encryptions Standard)
Il s’agit d’un système de chiffrement symétrique 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 à avoir un nombre impair de ‘1’ dans l’octet à qui il appartient. La clé possède donc une longueur « utile » de 56 bits, ce qui signifie que seuls 56 bits servent réellement dans l’algorithme. L’algorithme consiste à effectuer 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). La combinaison entre substitutions et permutations est appelée code produit. La clé est codée sur 64 bits et formée de 16 blocs de 4 bits, généralement notés k1 à k16 Etant donné que « seuls » 56 bits servent effectivement à chiffrer, il peut exister 256 (soit 7.2*1016) clés différentes [2].
CryptageAES (Advanced Encryption Standard)
L’algorithme prend en entrée un bloc de 128 bits (16 octets), la clé fait 128, 192 ou 256 bits. Les 16 octets en entrée sont permutés selon une table définie au préalable. Ces octets sont ensuite placés dans une matrice de 4×4 éléments et ses lignes subissent une rotation vers la droite. L’incrément pour la rotation varie selon le numéro de la ligne. Une transformation linéaire est ensuite appliquée sur la matrice, elle consiste en la multiplication binaire de chaque élément de la matrice avec des polynômes issus d’une matrice auxiliaire, cette multiplication est soumise à des règles spéciales selon GF(28) (groupe de Galois ou corps fini). La transformation linéaire garantit une meilleure diffusion (propagation des bits dans la structure) sur plusieurs tours. Finalement, un XOR entre la matrice et une autre matrice permet d’obtenir une matrice intermédiaire. Ces différentes opérations sont répétées plusieurs fois et définissent un « tour ». Pour une clé de 128, 192 ou 256, AES nécessite respectivement 10, 12 ou 14 tours[2].
Méthode de cryptage RSA
La méthode RSA est asymétrique, cette méthode utilise une paire de clés (des nombres entiers) composé d’une clé publique pour chiffrer et d’une clé privée pour déchiffrer des données confidentielles. Les deux clés sont créées par une personne, souvent nommée par convention Alice, qui souhaite que lui soient envoyées des données confidentielles. Alice rend la clé publique accessible. Cette clé est utilisée par ses correspondants (Bob, etc.) pour chiffrer les données qui lui sont envoyées. La clé privée est quant à elle réservée à Alice, et lui permet de déchiffrer ces données. La clé privée peut aussi être utilisée par Alice pour signer une donnée qu’elle envoie, la clé publique permet à n’importe lequel de ses correspondants de vérifier la signature. Une condition indispensable est qu’il soit « calculatoire ment impossible » de déchiffrer à l’aide de la seule clé publique, en particulier de reconstituer la clé privée à partir de la clé publique, c’est-à-dire que les moyens de calcul disponibles et les méthodes connues au moment de l’échange (et le temps que le secret doit être conservé) ne le permettent pas. Le chiffrement RSA est souvent utilisé pour communiquer une clé de chiffrement symétrique, qui permet alors de poursuivre l’échange de façon confidentielle : Bob envoie à Alice une clé de chiffrement symétrique qui peut ensuite être utilisée par Alice et Bob pour échanger des données [2].
Cryptage par flot
Les algorithmes de cryptage par flot peuvent être définis comme étant des algorithmes de chiffrement par bloc, où chaque bloc est de dimension unitaire (1 bit, 1 octet, etc.) ou relativement petit. Leurs principaux avantages sont leur extrême rapidité et leur capacité à changer à chaque symbole du texte clair. Avec un algorithme de chiffrement par flot, il est possible de crypter séparément chaque caractère du message clair un par un, en utilisant une fonction de cryptage qui varie à chaque fois (ces algorithmes ont donc besoin de mémoires). Généralement, les algorithmes de chiffrement par flot sont composés de deux étapes : la génération d’une clef dynamique et la fonction de cryptage de sortie dépendant de la clef dynamique. Quand la clef dynamique est générée indépendamment du texte clair et du texte chiffré, l’algorithme de chiffrement par flot est dit synchrone. Avec un chiffrement par flot, l’émetteur et le récepteur doivent se synchroniser en utilisant la même clef et en l’utilisant à la même position. Les chiffrements par flot synchrone sont utilisés principalement dans des environnements où les erreurs sont fréquentes car ils ont l’avantage de ne pas propager les erreurs. Concernant les attaques actives comme l’insertion, la suppression et la copie de digits du texte chiffré par un adversaire actif, celles-ci produisent immédiatement une perte de synchronisation. Le processus de cryptage d’un chiffrement par flot synchrone est décrit (Figure I.4) où ?() est la fonction qui détermine l’état suivant, ?() est la fonction génératrice de la clef dynamique et ℎ() la fonction de sortie de cryptage :
Sensibilité aux conditions initiales
Quelques systèmes physiques se comportent de manière chaotique. Parmi ces systèmes, on peut citer l’atmosphère, un robinet qui goutte, un pendule excité dans un champ magnétique… Ces quelques systèmes se démarquent par leurs dimensions et l’origine de leurs mouvements. Ainsi, on remarque que le chaos peut surgir dans divers systèmes et est, de ce fait, assez répandu. Quelques caractéristiques permettent de comprendre qualitativement les points marquants de ces systèmes..[5] [6] Tout d’abord, ils sont extrêmement sensibles aux perturbations. On peut illustrer ce fait par l’effet papillon. Popularisé par le météorologue Edward Lorenz, cet effet papillon consiste en l’image suivante. On peut considérer que le simple battement d’aile d’un papillon en Australie peut entraîner une tempête sur côte américaine.
Ceci signifie qu’une perturbation en apparence mineure à l’échelle de l’atmosphère peut avoir de grandes répercutions. Plus précisément, il faudrait comprendre que si on considérait deux planètes Terre, placées presque dans les mêmes conditions, ne différant que par la présence d’un papillon, on constaterait que les deux planètes initialement dans des conditions très proches finiraient par se comporter de manières très différentes; l’une connaîtrait des tempêtes là où l’autre présenterait un soleil au beau fixe… Il faut néanmoins garder à l’esprit qu’il s’agit d’une image qui n’est pas tout à fait exacte car l’atmosphère n’est pas un système chaotique « parfait ». Le battement d’aile d’un papillon n’aurait en réalité pas une influence si grande car il existe des phénomènes limitant. Notons d’ailleurs que ces effets limitants sont plus importants qu’on ne l’avait pensé au début. Quoiqu’il en soit, l’image permet de comprendre le phénomène de sensibilité aux perturbations, plus souvent appelé « sensibilité aux conditions initiales ». Illustrons ce phénomène par une simulation numérique. On affecte à un système chaotique deux conditions initiales très proches, c’est-à-dire ne différant que très peu (« d’un papillon »…). Dans un premier temps, les deux systèmes évoluent de la même manière mais, très vite, leur comportement devient différent pour n’avoir plus grande chose à voir.
|
Table des matières
Table des matières
Introduction générale
Chapitre I : Généralité sur la cryptographie
I.Introduction
II.Terminologies
III. Les Objectifs de cryptographie
III.1 la confidentialité
III.2 l’authentification
III.3 l’intégrité
III.4 La non-répudiation
IV . Les déférentes algorithmes de cryptage et décryptage
IV.1 Methodes de cryptage Classique
IV.1.1. Cryptage par substitution
. Par Substitution monoalphabétique
. Par Substitution polyalphabétique
IV.1.2. Cryptage par transposition
IV.1.3. Cryptage par produit
IV.2 .Methodes Cryptage Moderne
IV.2.1.Cryptage symétrique
IV.2.2. Cryptage asymétrique
IV.2.3.Exemples algorithmes de cryptage Symétriques et asymétriques
IV.2.3.1 Cryptage DES (Data Encryptions Standard)
IV.2.3.2 Cryptage AES (Advanced Encryption Standard)
IV.2.3.3 Système par bloc asymétrique (RSA)
IV.2.3.4 Chiffrement par flot
IV.2.3.5 Fonction de hachage
IV.2.3.6 Scellement (MAC)
IV.2.3.7 Signature numérique
IV.2.3.8 Certificat électronique
Conclusion
Chapitre II : Introduction aux systems chaotiques
I. Introduction
II.Systèmes Dénamiques Chaotique
a) La non-linéarité
b) Le déterminisme
c) Sensibilité aux conditions initiales
II.1 la défference entre chaos et l’aléatoire
II.2 présentation des Attracteurs
II.2.1 Attracteur de Hénon
II.2.2 Attracteur de Lorenz
II.2.3 Attracteur de Rôssler
II.2.4 Pendule de Moon
II.2.5 Attracteur de Clifford
II.3 Communications Sécurisées par chaos
II.4 Comparaison entre chaos et cryptographie
Conclusion
Chapitre III : Cryptage chaotique basé sur l’attracteur de clifford
I.Introduction
II.Approche proposée pour le cryptage d’image
III.Définition de l’attracteur Clifford
IV.Caractéristiques de l’attracteur de Clifford
V.Développement de notre aplication de cryptage chaotique
V.1 Langage de développement
V.2 Résultat d’exécution
V.2.1 Cryptage/Décryptage image
V.2.2 Cryptage/Décryptage texte
Conclusion
Conclusion générale
Télécharger le rapport complet