Histoire de la cryptographie moderne
Contrairement à ce que l’on peut penser, la cryptographie n’est pas seulement une technique moderne, ni un produit de l’ère informatique. En effet de tout temps, les hommes ont ressenti le besoin de cacher des informations confidentielles. La majeure partie des méthodes utilisées reposait sur deux principes fondamentaux : la substitution (remplacer certaines lettres par d’autres) et la transposition (permuter des lettres du message afin de le brouiller). Bien évidemment, depuis ses débuts, la cryptographie a grandement évolué. Au cours des siècles, de nombreux systèmes de chiffrement ont été inventés, tous de plus en plus perfectionnés, et il est vrai que l’informatique y a beaucoup contribué La liste suivante présente d’une façon non exhaustive les différents cryptosystèmes qui ont marqué l’histoire :
• 1970 : IBM développe Lucifer ;
• 1975 : conception de D.E.S., standard de chiffrement de données, adopté en 1977 ;
• 1976 : article de Diffie et Hellman introduisant l’idée de système à clé publique ;
• 1978 : invention de R.S.A. par Ronald L. Rivest, Adi Shamir et Leonard M. Adleman, le premier système concret de cryptographie à clé publique ;
• 1985 : invention du système cryptographique El Gamal ;
• 1987 : le RC4 est développé par R. L. Rivest pour la RSA Security et fut gardé secret jusqu’en 1994 ;
• 1990 : première publication des résultats expérimentaux de la cryptographie quantique par Charles H. Bennett et Gilles Brassard ;
• 1991 : Phil Zimmermann rend disponible sa première version de PGP et adoption du premier standard de signature, ISO 9796, basé sur RSA ;
• 1992 : l’IDEA est inventé en Suisse par Xuejia Lai et James Massey ;
• 1993 : Bruce Schneier conçoit Blowfish et Don Coppersmith crée SEAL ;
• 1994 : Ron Rivest, déjà auteur de RC2 et RC4, publie RC5, un standard régissant les signatures numériques voit le jour : le DSA (DSS) ;
• 1998 : Sarah Flannery conçoit le cryptosystème Cayley-Purser ;
• 2000 : Rijndael est devenu AES, le standard du chiffrement avancé.
Cryptanalyse différentielle – cryptanalyse linéaire
La cryptanalyse différentielle a été introduite par Biham et Shamir et ils ont étudié le cas de DES. C’est une attaque à messages clairs choisis. Elle permet de casser des versions restreintes de DES, dans lesquels on diminue le nombre de tours de la boucle principale. On peut ainsi casser assez facilement un DES à 8 ou à 10 tours. Le DES complet à 16 tours est resté hors de portée de cette attaque. La cryptanalyse linéaire a été introduite par H. Gilbert et par M. Matsui dans le cas du DES. C’est une attaque à messages clairs connus. Elle n’est aussi utilisable que pour un DES restreint à quelques tours. Le DES réel n’est pas menacé par cette attaque.
Evaluation de l’AES par rapport au 3DES
Plus pragmatiquement, nous nous intéressons ici aux apports de l’AES par rapport à son prédécesseur, le DES ou plus exactement sa version améliorée, à savoir le triple DES.
Sur le plan performance Si le triple DES est largement suffisant à l’heure actuelle en terme de sécurité grâce à une longueur de clef de 112 bits ou de 168 bits, il est malheureusement 3 fois plus lent que le simple DES. Sur le plan de la performance, l’AES est environ 2,7 fois plus rapide que le triple DES, ce qui lors de chiffrement de volume important ou de chiffrement en ligne constituera un critère décisif.
Taille des clefs A partir du schéma précédent, on décline deux versions du triple DES : une version 112 bits et une version 168 bits (3 clés k1, k2 et k3 distinctes). On parle également de 3-DES 128 bits et 192 bits si l’on tient compte des bits de parité de chacun des octets composant les clés DES. Dans la pratique, on utilise très souvent 2 clés distinctes car l’utilisation d’une troisième clé n’apporte pas plus de sécurité. Pour rappel, le chiffrement AES utilise des clés de longueur 128, 192 ou 256 bits. Comparée à une clé 192 bits, une clé de 256 bits représente plus de 18×1018 possibilités de valeurs.
Sur le plan des attaques L’attaque la plus courante sur le triple DES est l’attaque par force brute. Elle consiste à tester toutes les combinaisons possibles de clés. C’est en mode ECB (Electronic Code Book), le mode le plus utilisé, que le triple DES est sensible à ce type d’attaque. Le mode CBC (Cipher Block Chaining) sera plus sûr que le mode ECB. Dans ce mode, le résultat du chiffrement intervient dans le chiffrement du bloc suivant (chaînage). L’algorithme AES a été, quant à lui, étudié pour éviter d’être accéléré par des implémentations purement matérielles et par conséquent pour ne pas être sensible à de telles attaques. Sur la cryptanalyse linéaire et différentielle, l’AES est plus résistant que le 3DES.
Sur le plan implémentation La simplicité des deux algorithmes fait qu’ils peuvent être facilement implémentés l’un et l’autre sur des composants dédiés notamment sur des cartes à puce. C’était d’ailleurs un des objectifs poursuivis lors de la conception de l’AES.
Conclusion A l’heure actuelle l’utilisation du DES est simplement déconseillée du fait de la puissance de calcul offerte par les ordinateurs les plus récents. Toutefois le triple-DES, version améliorée du DES, permet de se prémunir des attaques les plus classiques et d’apporter un niveau de sécurité acceptable. Le choix de l’AES reste néanmoins le meilleur choix, dans l’attente d’un remplaçant ou d’une méthode d’attaque efficace qui précipiterait sa remise en cause.
Aide aux sourds et malentendants
Aujourd’hui, l’accès des sourds et malentendants à la télévision est limité par le faible nombre de programmes sous-titrés, ou utilisant le télétexte. Une solution proposée consiste à enfouir dans le signal vidéo l’information nécessaire à l’animation d’un clône tridimensionnel synthétique qu’un décodeur ad hoc viendrait superposer à l’image reçue dans un coin de l’écran. L’avantage de ce système est de ne requérir aucun changement de matériel chez les utilisateurs (ils gardent leur télévision), et ceux qui en ont besoin s’équipent du décodeur capable de séparer l’information cachée du signal vidéo, et d’animer le clône 3D. C’est l’objet du projet Artus.
|
Table des matières
INTRODUCTION GENERALE
CHAPITRE 1 : Cryptographie moderne
1.1. Généralités
1.1.1. Introduction
1.1.2. Définitions
1.1.3. Histoire de la cryptographie moderne
1.1.4. Les services offerts par la cryptographie moderne
1.2. Classification des algorithmes cryptographiques
1.3. Notion de sécurité
1.3.1. Sécurité parfaite
1.3.2. Sécurité calculatoire
1.3.3. Sécurité sémantique
1.4. Algorithmes de chiffrement et clefs
1.4.1. Chiffrement à clef secrète
1.4.1.1. Fonctions pseudo-aléatoires
1.4.1.2. Problèmes de gestion des clefs
1.4.2. Chiffrement à clef publique
1.4.3. Chiffrement hybride
1.4.4. Taille des clefs
1.5. Chiffrement par flot
1.5.1. Chiffrement de Vernam (One-Time Pad)
1.5.2. Chiffrement synchrone
1.5.2.1. Définition
1.5.2.2. Propriétés du chiffrement synchrone
1.5.3. Chiffrement asynchrone
1.6. Chiffrement par bloc
1.6.1. Réseau de Feistel
1.6.2. Modes d’opérations
1.6.2.1. ECB ou Electronic Code Book
1.6.2.2. Enchaînement des blocs
1.6.2.3. Chiffrement à rétroaction
1.6.2.4. Chiffrement à rétroaction de sortie
1.6.2.5. Chiffrement basé sur un compteur
1.7. Cryptanalyse
1.7.1. Cryptanalyse différentielle
1.7.2. Cryptanalyse linéaire
CHAPITRE 2 : Etudes comparatives de quelques cryptosystemes modernes
2.1. Cryptosystèmes à clef privée
2.1.1. Le cryptosystème DES et son successeur
2.1.1.1. Description de DES
2.1.1.2. Cryptanalyse de l’algorithme DES
2.1.1.3. Le cryptosystème 3DES
2.1.2. Le cryptosystème AES
2.1.2.1. Présentation générale
2.1.2.2. Caractéristiques et points forts de l’AES
2.1.2.3. Détails techniques
2.1.3. Evaluation de l’AES par rapport au 3DES
2.1.3.1. Sur le plan performance
2.1.3.2. Taille des clefs
2.1.3.3. Sur le plan des attaques
2.1.3.4. Sur le plan implémentation
2.1.3.5. Conclusion
2.2. Cryptosystèmes à clef publique
2.2.1. Le cryptosystème RSA
2.2.1.1. Description du principe de cryptage et de décryptage
2.2.1.2. Force de l’algorithme
2.2.2. Le cryptosystème Cayley Purser (CP)
2.2.2.1. Petite histoire
2.2.2.2. L’algorithme CP
2.2.2.3. Sécurité de l’algorithme CP
2.2.2.4. Attaques sur l’algorithme CP
2.2.3. Différences entre RSA et CP
2.2.3.1. Analyse des temps de chiffrement et de déchiffrement
2.2.3.2. Conclusion
CHAPITRE 3 : Concepts et techniques de dissimulation d’information
3.1. Généralités
3.1.1. Terminologies
3.1.2. Conditions requises
3.2. Les diverses techniques de dissimulation de données
3.2.1. Définitions et objectifs
3.2.2. Schéma général
3.2.3. Remarques
3.3. Relation entre la cryptographie et la stéganographie
CHAPITRE 4 : La stéganographie
4.1. Généralités
4.1.1. Définitions
4.1.2. Historique
4.2. Classification des schémas de stéganographie
4.2.1. La stéganographie pure
4.2.2. La stéganographie à clef secrète
4.2.3. La stéganographie à clef publique
4.3. Classification des techniques stéganographiques
4.3.1. Substitution
4.3.2. Transformation de domaines
4.3.3. Distorsion
4.3.4. Etalement de spectre
4.3.5. Modification statistique
4.3.6. Génération de support
4.4. Les types de supports
4.4.1. Les images
4.4.1.1. PSNR
4.4.1.2. Pondération perceptuelle
4.4.2. L’audio
4.4.3. La vidéo
4.5. Autres applications de la stéganographie
4.5.1. Stéganographie et contenus augmentés
4.5.1.1. Aide aux sourds et malentendants
4.5.1.2. Stockage de parole de chanson dans le son même
4.5.1.3. Transition tout-analogique vers tout-numérique
4.5.2. Les utilisations malveillantes
4.5.3. La protection des droits des citoyens
4.6. La stéganalyse
4.6.1. Définition
4.6.2. Méthodes classiques
4.6.3. Exemples de logiciels stéganographiques
4.6.4. Stéganalyse des images : méthodes LSB
CHAPITRE 5 : La stéganographie via le protocole SSH
5.1. Introduction : problématique d’un canal caché sur un réseau
5.1.1. Le modèle TCP/IP
5.1.1.1. Couche TCP/IP et encapsulation
5.1.2. Utilisation des en-têtes TCP/IP
5.1.3. Utilisation de données « délaissées »
5.1.4. Passage à la couche application
5.2. Présentation du protocole SSH
5.2.1. Messages SSH
5.2.2. Exemples de messages
5.3. Utilisation détournée du message SSH_MSG_IGNORE
5.3.1. Le message SSH_MSG_IGNORE
5.3.2. Canal stéganographique avec les messages SSH_MSG_IGNORE
5.4. Bourrage et canal caché
5.4.1. Comment utiliser le bourrage
5.4.2. Utilisation du bourrage par un pirate
5.4.3. Utilisation du bourrage par une entité authentifiée
5.5. Conclusion
CHAPITRE 6 : Simulation des techniques combinées de cryptage et de stéganographie
6.1. Cahier de charge
6.1.1. Médium : image
6.1.1.1. Définitions
6.1.1.2. Caractéristiques d’une image
6.1.2. Choix des algorithmes
6.1.2.1. Dissimulation/Extraction
6.1.2.2. Cryptage/Décryptage
6.1.3. Evaluation des cryptosystèmes implémentés
6.1.4. Présentation de l’interface graphique et application directe
6.1.4.1. Les menus
6.1.4.2. La barre d’outils
6.1.4.3. Les panneaux
CONCLUSION GENERALE
ANNEXE 1 : Quantité d’information et entropie
ANNEXE 2 : Rappels mathématiques
BIBLIOGRAPHIE
Télécharger le rapport complet