Sécurisation évolutionnaire du transfert d’images

Cryptographie

Le terme cryptographie vient en effet des deux mots grecs : Kruptus qu’on peut traduire comme secret et Graphein pour écriture. Ainsi la cryptographie est l’art de dissimuler une information écrite en clair (plain text) en cryptogramme (cipher text) pour qu’elle soit incompréhensible que par son destinataire légitime par le biais d’une clé appelé « clé de chiffrement » (processus de chiffrement). Pour rendre l’information à nouveau intelligible par le biais d’une clé appelé «clé de déchiffrement» le processus inverse est appliqué (processus de déchiffrement).
On distingue généralement deux types de clefs :
Les clés symétriques : il s’agit de clés utilisées pour le chiffrement ainsi que pour le déchiffrement. On parle alors de chiffrement symétrique ou de chiffrement à clé secrète.
Les clés asymétriques : il s’agit de clés utilisées dans le cas du chiffrement asymétrique (aussi appelé chiffrement à clé publique). Dans ce cas, une clé différente est utilisée pour le chiffrement et pour le déchiffrement.

Cryptanalyse

C’est l’art d’étude des crypto systèmes en cherchant leurs failles et leurs vulnérabilités afin de retrouver des messages clairs correspondant à des messages chiffrés sans avoir à connaître les clés utilisées dans le chiffrement. Lorsque tous les éléments de la méthode utilisée pour coder des messages sont repérés, on dit qu’on a cassé ou brisé le système cryptographique utilisé. Plus un système est difficile à briser, plus il est sûr.
La personne qui pratique la cryptanalyse est appelée : cryptanalyste. Il tente à décrypter le message chiffré pour découvrir son secret. On a distingué entre le verbe «décrypter» et «déchiffrer» puisque ce dernier est réservé pour le déchiffrement par le destinataire légitime. Types de cryptanalyse : On distingue plusieurs types d’attaques :
Attaque sur texte chiffré seul (ciphertext-only) : l’attaquant a seulement la possibilité d’intercepter un ou plusieurs messages chiffrés. La cryptanalyse est plus ardue de par le manque d’informations à disposition.
Attaque à texte clair connu (known-plaintext attack) : se base sur la connaissance d’une partie du texte en clair pour déduire le reste du message. La tâche est de retrouver la clef utilisée pour chiffrer ce message.
Attaque à texte clair choisi (chosen-plaintext attack) : se base sur la possibilité de choisir un texte clair et d’obtenir son chiffrement et en ayant la possibilité de générer les versions chiffrées de messages clair avec un algorithme considérer comme une boîte noire tel que les algorithmes à clé publique puisque l’algorithme est public.
Attaque à texte chiffré choisi (chosen-ciphertext attack) : le cryptanalyste possède des messages chiffrés et essaye de les déchiffrer de son choix. Sa tâche est de retrouver la clef.
Familles d’attaques cryptanalytiques : Il existe plusieurs familles d’attaques cryptanalytiques, les plus connues sont les suivantes :
L’analyse fréquentielle : examine les répétitions des lettres du message chiffré afin de trouver la clé. Cette technique est découverte par Al-Kindi au IXe siècle contre les chiffrements mono-alphabétiques. Elle est inefficace contre les chiffrements modernes tels que DES, RSA. Elle est basée sur le fait que, dans chaque langue, certaines lettres ou combinaisons de lettres apparaissent avec une certaine fréquence.
L’attaque par dictionnaire : le mot testé est pris dans une liste prédéfinis contenant les mots de passe les plus courants et aussi des variantes de ceux-ci. Ces listes sont généralement dans toutes les langues les plus utilisées, elles contiennent des mots existants ou des mots diminutifs (par exemple « powa » pour «power» ou « K7 » pour « cassette »). Elle est souvent couplée à l’attaque par force brute.
L’attaque par force brute : s’appuie sur le cassage d’un mot de passe en testant tous les mots de passe possibles. C’est le seul moyen de récupérer la clé dans les algorithmes les plus modernes et encore inviolés comme AES.
La cryptanalyse linéaire : c’est une attaque à texte clair inventée par le japonais Mitsuru Matsui . L’idée est de trouver des approximations linéaires entre les bits de sortie, les bits d’entrée et les bits de la clé. Si certaines de ces approximations apparaissent avec une probabilité suffisante, on a alors démontré que la correspondance entre entrée et sortie n’est pas purement aléatoire. Le nombre de clés à envisager pour déchiffrer le message est restreint.
La cryptanalyse différentielle : découverte par deux cryptologies israéliennes : Bihan et Shamir . Elle consiste à comparer les sorties de l’algorithme quand on lui met en entrée deux messages ayant une différence fixe. On étudie comme variant les sorties si les deux messages ne diffèrent que par un seul bit. Si en déplaçant ce bit à l’intérieur des messages, certains bits des sorties restent inchangés, on a alors trouvé une faille dans l’algorithme et celui-ci est attaquable.

Fonctions de la cryptographie

La cryptographie est traditionnellement utilisée pour dissimuler des messages clairs aux yeux de certains utilisateurs pour assurer leur fiabilité et confidentialité au travers d’un canal peu sûr (téléphone, réseau informatique ou autre). Désormais, les fonctions de la cryptographie se sont étendues pour englober de nouvelles fonctions en plus de la fiabilité et la confidentialité. Il s’agit de garantir l’intégrité et l’authenticité des données échangées. Les postulats de sécurité associés à la cryptographie sont :
Intégrité : Vérifier l’intégrité des données consiste à déterminer si les données, ressources, traitements ou services n’ont pas été altérées durant la communication de manière fortuite ou intentionnelle.
Confidentialité : La confidentialité est le maintien du secret des informations. Elle consiste à rendre l’information discrète ou inintelligible à d’autres personnes que les seuls acteurs de la transaction. La confidentialité peut être vue comme la «protection des données contre une divulgation non autorisée». Authentification : L’authentification consiste à assurer l’identité d’un utilisateur c.à.d. de garantir à chacun de correspondant que son partenaire est bien celui qu’il croit être.
On distingue deux types d’authentification :
Le contrôle d’accès : C’est l’opération permettant d’être certain de l’identité d’une personne utilisateur pour permettre l’accès à des ressources uniquement pour la personne autorisée (par exemple l’utilisation d’un mot de passe pour un disque dur).
Authentification de l’origine des données : Elle sert à prouver que les données reçues ont bien été émises par l’émetteur déclaré. Dans ce cas, l’authentification désigne souvent la combinaison de deux services, l’authentification et l’intégrité.
La non répudiation (traçabilité) : La non répudiation de l’information est la garantie qu’aucun des correspondants ne pourra nier la transaction ; l’expéditeur ne peut nier le dépôt d’information, le réceptionneur ne peut nier la remise d’information.

Algorithmes cryptographiques

Au cours d’un échange visant à communiquer de façon secrète deux protagonistes, appelé ici l’émetteur et le récepteur à travers un canal peu sûr, l’information à transmettre sera donc chiffrée par un procédé de chiffrement en utilisant une clé prédéterminée. Le destinataire est le seul qui peut retrouver l’information originale suite à une opération de déchiffrement de en utilisant une clé de déchiffrement sans laquelle son procédé est impossible.
Le processus de chiffrement ou de déchiffrement utilise une fonction mathématique : algorithme cryptographique (ou chiffre). La sécurité des données chiffrées est entièrement dépendante de deux facteurs : la force de l’algorithme cryptographique et le secret de la clé.
Un algorithme cryptographique, plus toutes les clés possibles et tous les protocoles qui le font fonctionner constituent un cryptosystème.
Le principe de Kerckhoffs : Pour briser un cryptosystème, un opposant cherche à obtenir deux éléments d’information : Quel est le type de système de codage utilisé ? et, Quelle est la clé d’encodage utilisée ? Bien entendu, son travail est simplifié (mais certainement pas terminé) s’il connait le type de système utilisé. Avec le temps cette information finit par circuler. Cette hypothèse de travail est appelée le principe de Kerckhoffs. Ce principe consiste à affirmer que la sécurité d’un système de chiffrement ne devrait pas être fondée sur le secret de la procédure utilisée, mais essentiellement sur le secret de la clé.
Auguste Kerckhoffs écrit en janvier 1883 dans le « Journal des sciences militaires » un article intitulé « La cryptographie militaire », où il disait [Kerc, 1883] : «Il faut bien distinguer entre un système d’écriture chiffrée, imaginé pour un échange momentané de lettres entre quelques personnes isolées, et une méthode de cryptographie destinée à régler pour un temps illimité la correspondance des différents chefs d’armée entre eux. Ceux-ci, en effet, ne peuvent, à leur gré et à un moment donné, modifier leurs conventions; de plus, ils ne doivent jamais garder sur eux aucun objet ou écrit qui soit de nature à éclairer l’ennemi sur le sens des dépêches secrètes qui pourraient tomber entre ses mains.
Un grand nombre de combinaisons ingénieuses peuvent répondre au but qu’on veut atteindre dans le premier cas; dans le second, il faut un système remplissant certaines conditions exceptionnelles, conditions que je résumerai sous les six chefs suivants:
le système doit être matériellement, sinon mathématiquement, indéchiffrable. il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénients tomber entre les mains de l’ennemi. la clé doit pouvoir en être communiquée et retenue sans le secours de notes écrites, et être changée ou modifiée au gré des correspondants. il faut qu’il soit applicable à la correspondance télégraphique. il faut qu’il soit portatif, et que son maniement ou son fonctionnement n’exige pas le concours de plusieurs personnes.
enfin, il est nécessaire, vu les circonstances qui en commandent l’application, que le système soit d’un usage facile, ne demandant ni tension d’esprit, ni la connaissance d’une longue série de règles à observer».

Table des matières

Introduction générale
Chapitre I : CRYPTOGRAHIE
I.1. Introduction 
I.2. Les Fondements de la Cryptographie 
I.2.1. Terminologie
I.2.1.1. Cryptographie
I.2.1.2. Cryptanalyse
I.2.1.3. Cryptologie
I.2.1.4. Fonction de hachage
I.2.1.5. Signature numérique
I.2.1.6. Les certificats
I.2.2. Fonctions de la cryptographie
I.2.3. Problèmes de la cryptographie
I.3. Algorithmes cryptographiques 
I.3.1. Le principe de Kerckhoffs
I.3.2. Description formelle d’un algorithme cryptographique
I.3.3. Classes de cryptographie
I.3.3.1. La cryptographie classique
I.3.3.2. La cryptographie moderne
I.3.3.3. Cryptographie quantique
I.3.3.4. Algorithme de chiffrement évolutionniste OTL
I.4. Conclusion 
Chapitre II : METAHEURISTIQUES
II.1. Introduction
II.2. Principes
II.3. Organisation d’une métaheuristique 
II.3.1. Le Voisinage
II.3.2. Diversification, intensification et apprentissage
II.4. Méthodes générales et méthodes spécifiques 
II.5. Classification des métaheuristiques 
II.5.1. Les métaheuristiques inspirées et non inspirées d’un phénomène naturel
II.5.2 Les métaheuristiques avec fonction objectif statique ou dynamique
II.5.3. Les métaheuristiques avec une ou plusieurs structures de voisinage
II.5.4. Les métaheuristiques avec et sans mémoire
II.5.5. Les métaheuristiques implicite, explicite, directe
II.5.6. Les métaheuristiques évolutionnaires et non évolutionnaires
II.5.7. Les métaheuristiques à base de population et les métaheuristiques à trajectoire
II.5.7.1. Les métaheuristiques à trajectoire (à solution unique)
II.5.7.2. Les métaheuristiques à population
II.6. Quelle métaheuristique à utiliser ? 
II.7. Conclusion 
Chapitre III : CRYPTAGE EVOLUTIONNAIRE DES DONNEES TEXTES ET IMAGES
III.1. Introduction
III.2. Motivations 
III.3. Formulation du problème de chiffrement 
III.4. Algorithmes proposés 
III.4.1. Chiffrement à base de positions
III.4.1.1. Description de PosESecL1
III.4.1.2. Description de PosESecL2
III.4.2. Chiffrement à base d’occurrences
III.4.2.1. Formalisation du problème
III.4.2.2. Description d’OEEA (Occurrences based Evolutionary Encryption Algorithm)
III.5. Discussion et évaluation des résultats 
III.5.1 Vitesse de l’algorithme
III.5.2 Niveau de confusion
III.5.3 Attaque statistique
III.5.4 Attaque différentielle
III.5.5 Attaque exhaustive
III.5.6 Analyse de l’espace des clés
III.6. Conclusion
Chapitre IV : CRYPTAGE PAR COLONIES DE FOURMIS DES DONNEES TEXTES ET IMAGES
IV.1. Introduction
IV.2. Motivation 
IV.3. Algorithme proposé 
IV.3.1. Codage adopté
IV.3.2. Création de la solution initiale
IV.3.3. Construction de solutions
IV.3.4. Evaluation
IV.3.5. Sélection
IV.3.6. Manipulation de phéromone
IV.3.6.1. Incrémentation de phéromone
IV.3.6.2. Évaporation de phéromone
IV.3.7. Critère d’arrêt
IV.3.8. Déchiffrement
IV.3.9. Réglage des paramètres et résultats
IV.3.9.1. Réglage des paramètres
IV.3.9.2. Résultats
IV.4. Discussion et évaluation des résultats 
IV.5. Conclusion 
Chapitre V : CRYPTAGE TABOU DES DONNEES TEXTES ET IMAGES
V.1. Introduction 
V.2. Motivation 
V.3. Algorithme proposé
V.3.1. Création de la solution initiale
V.3.2. Choix des éléments à déplacer
V.3.3. Génération de voisinage
V.3.4. Mise à jour de la liste taboue
V.3.5. Calcul de solutions
V.3.6. Mise à jour de la table de hachage et évaluation des solutions
V.3.7. Critère d’arrêt
V.3.8. Mécanismes avancés en recherche tabou
V.3.8.1. Intensification / Exploitation
V.3.8.2. Diversification / Exploration
V.3.8.3. Critère d’aspiration
V.3.9. Déchiffrement
V.3.10. Réglage des paramètres et résultats
V.3.10.1. Réglage des paramètres
V.3.10.2. Résultats
V.4. Discussion et évaluation des résultats 
V.5. Conclusion 
Conclusion et perspectives 
Annexe
Références bibliographiques 

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *