La Cryptologie Peut-On Réellement Cacher Des Informations ?
Total Page:16
File Type:pdf, Size:1020Kb
Athénée Royal de Waterloo Travail de fin d’études La cryptologie Peut-on réellement cacher des informations ? Auteur : Professeur guide : Mr. Quentin Stiévenart Suain Année scolaire 2008 - 2009 Table des matières Table des matières ii 1 Introduction1 1.1 Présentation du travail............................. 1 1.2 Mes motivations pour ce travail........................ 1 1.3 À propos de ce document............................ 1 1.4 Présentation de la cryptologie......................... 2 2 La cryptographie à travers l’histoire3 2.1 L’apparition de la cryptographie........................ 3 2.2 L’évolution de la cryptographie ........................ 4 2.3 La cryptographie pendant la Première Guerre mondiale........... 7 2.4 La cryptographie pendant la Seconde Guerre mondiale ........... 8 2.5 La cryptographie moderne........................... 10 3 Les différentes techniques de chiffrement 11 3.1 Les chiffres de substitution........................... 11 3.1.a Les substitutions monoalphabétiques................. 11 3.1.b Les substitutions polyalphabétiques.................. 13 3.1.c Autres types de substitutions ..................... 14 3.2 Les chiffres de transposition .......................... 16 3.3 Le chiffrement symétrique ........................... 17 3.3.a Le principe de Kerckhoffs ....................... 18 3.3.b Chiffrement par bloc et par flot.................... 18 3.4 Le chiffrement asymétrique........................... 19 3.5 Les fonctions de hachage............................ 20 4 La cryptanalyse 22 4.1 Les niveaux d’attaques............................. 22 4.2 Les différentes attaques............................. 22 4.2.a L’analyse des fréquences........................ 22 4.2.b L’indice de coïncidence......................... 23 4.2.c L’attaque par mot probable ...................... 25 4.2.d L’attaque par force brute........................ 25 4.2.e L’attaque par dictionnaire....................... 26 4.2.f Le paradoxe des anniversaires..................... 26 4.2.g Cryptanalyse différentielle....................... 27 4.2.h Autres attaques............................. 27 5 L’importance de la cryptologie de nos jours 29 5.1 L’authentification................................ 29 5.1.a Les mots de passe............................ 29 5.1.b Les mots de passe à usage unique (OTP)............... 30 ii TABLE DES MATIÈRES iii 5.1.c Certificats................................ 30 5.1.d Biométrie ................................ 31 5.2 Intégrité et signature.............................. 31 5.3 L’utilisation de la cryptographie dans la vie quotidienne........... 31 5.3.a Login système.............................. 31 5.3.b TLS/SSL ................................ 32 5.3.c SSH ................................... 33 6 Conclusion 34 A Mise en place d’un XOR en C 35 B Cryptanalyse d’un cryptogramme simple 37 C La cryptographie en pratique via GPG 39 C.1 Chiffrement symétrique............................. 39 C.2 Chiffrement asymétrique............................ 40 C.2.a Gestion des clés............................. 40 C.2.b Chiffrement............................... 41 C.2.c Signatures................................ 41 Bibliographie 42 Chapitre 1 Introduction 1.1 Présentation du travail La cryptographie fait aujourd’hui partie de la vie de tous les jours, on l’utilise sans le savoir, principalement en naviguant sur internet (via les connexions sécurisées, les envois de mails chiffrés. .). Mais qu’est-ce que la cryptographie ? Comment cela fonctionne-t-il ? Son utilisation se limite-t-elle à l’informatique ? Depuis quand existe la cryptographie ? C’est à ces questions que nous allons essayer de répondre durant ce travail, et plus principalement à celle-ci : « Peut-on réellement cacher des informations ? » Nous essayerons donc de savoir si l’on peut, et comment on peut envoyer sans risque une information, un message, des données. .à quelqu’un, sans qu’une personne extérieure puisse le lire. Pour répondre à ces questions, nous allons tout d’abord parler de l’utilisation de la cryptographie à travers l’histoire, pour présenter ensuite les différentes techniques exis- tantes. Nous parlerons aussi du moyen de « contrer » la cryptographie, avec la cryptana- lyse. Nous verrons enfin ce qu’il en est de la cryptographie de nos jours. 1.2 Mes motivations pour ce travail J’ai choisi de faire un travail de fin d’études sur la cryptographie car j’ai toujours été intéressé par les mathématiques et surtout par l’informatique (plus le fonctionnement de l’ordinateur et sa programmation, que l’aspect « jeux et divertissements » de l’infor- matique, ainsi que la sécurité informatique) ; la cryptographie fait partie intégrante des systèmes informatiques d’aujourd’hui et est basée sur des principes mathématiques. Je compte d’ailleurs faire des études polytechniques l’année prochaine. L’idée de ce travail m’est venue petit à petit. Après la lecture d’un article sur la crypto- graphie sur internet, j’ai commencé à m’y intéresser un peu, mais sans plus. Ce travail me permet donc d’approfondir le sujet. 1.3 À propos de ce document Pour des raisons personnelles et dans un esprit de liberté de l’information, ce docu- ment est placé sous licence Creative Commons BY-SA 1, ce qui signifie que vous pouvez le modifier et le redistribuer librement à condition de préciser le nom de l’auteur, et de garder cette même licence. Toujours pour les mêmes raisons, ce document a été préparé 1. http://creativecommons.org/licenses/by-sa/2.0/fr/ CHAPITRE 1. INTRODUCTION 2 à l’aide d’outils entièrement libres. Pour plus d’informations sur les logiciels libres et la culture libre, référez-vous à http://www.gnu.org/philosophy/philosophy.fr.html. Ce document, ses sources (les fichiers TEX, les graphiques, et les codes sources des annexes), ainsi que des informations supplémentaires sont disponibles sur internet via l’adresse http://acieroid.tuxfamily.org/crypto. 1.4 Présentation de la cryptologie Étymologiquement, la cryptologie est la « science du secret » ; Elle consiste à cacher une information, un message ou de quelconques données via la cryptographie. Nous étudierons son histoire dans le chapitre2. La cryptographie comprend des méthodes très variées (des systèmes de chiffrement pour rendre les messages chiffrés), certaines méthodes étant plus efficaces que les autres. Nous examinerons ces méthodes dans le chapitre3. La cryptologie comprend aussi la cryptanalyse, qui consiste à retrouver le message d’origine à partir d’un message chiffré sans en connaître la clé ou le secret utilisé pour chiffrer le message. Nous verrons cet aspect dans le chapitre4. Au cours de ce travail, nous utiliserons de nombreux termes se référant à la cryptologie. Définissons-en quelques uns : – le chiffrement est la démarche effectuée afin de rendre le message clair illisible, chiffré. On utilise parfois le terme « cryptage », qui est un anglicisme ; nous éviterons donc de l’utiliser ; – le déchiffrement est la démarche inverse du chiffrement, qui retrouve le message clair à partir du message chiffré en ayant connaissance de la clé, du secret ou de l’algorithme utilisé (contrairement à la cryptanalyse). Le mot décryptage peut aussi être utilisé ; – la cryptanalyse vise à retrouver le message clair à partir du message chiffré sans avoir connaissance de la clé ou du secret ; – la stéganographie est une discipline semblable à la cryptographie mais qui consiste à cacher un message (dans une image. .) et non pas à la rendre inintelligible. Nous ne développerons donc pas ce sujet ici ; – la clé de chiffrement est une donnée (mot, suite d’opération, nombre. .) utilisée pendant le chiffrement afin de rendre le déchiffrement plus difficile sans la connais- sance de celle-ci. Il existe plusieurs types de clés : certaines qui doivent être gardées secrètes (clés privées) et d’autres qui peuvent être diffusées (clés publiques) ; – les données claires sont les données dans leur forme initiale, non chiffrées. Ces données peuvent être du texte (un message) ou d’autres données informatiques (un fichier,. .) ; – les données chiffrées sont les données qui sont chiffrées via un certain algorithme de chiffrement ; – un cryptogramme est un message chiffré dans le but d’être déchiffré par des ama- teurs de cryptographie (on en retrouve par exemple dans les journaux). Ils sont la plupart du temps assez simples. Chapitre 2 La cryptographie à travers l’histoire Avant de décrire la cryptographie en soi, passons en revue son histoire, son apparition et son évolution au fil du temps ; les aspects techniques brièvement présentés dans ce chapitre seront expliqués au cours des chapitres suivants. 2.1 L’apparition de la cryptographie La cryptographie serait apparue pour la première fois il y a 4000 ans, au bord du Nil : un scribe aurait tracé d’une façon particulière des hiéroglyphes sur la tombe de son maître. Le but n’était néanmoins pas de rendre le texte illisible, mais de le rendre plus solennel. La seconde trace de cryptographie date du XVIe siècle av. J.-C.. Il s’agit d’une ta- blette d’argile sur laquelle un potier aurait écrit sa recette en enlevant les consonnes et en changeant l’orthographe de certains mots. À cette époque-là, les seuls moyens utilisés pour cacher les messages ressemblaient plus à de la stéganographie qu’à de la cryptographie ; les messages ne sont pas rendus illisibles, mais sont cachés. Par exemple, durant le VIIe siècle av. J.-C., Nabuchodonosor rasa le crâne d’un esclave, écrivit un message dessus et une fois que les cheveux eurent repoussé, envoya l’esclave chez le destinataire du message, qui à son tour rasa les cheveux pour le lire. Un autre exemple est celui d’Harpage, qui avait été chargé de tuer Cyrus, le petit-fils du roi de Mèdes, mais qui ne le fit pas. Par la suite, quand Cyrus eut grandi, pour communiquer avec lui, Harpage cachait les lettres dans le ventre de lièvres, qu’il recousait ensuite. De cette façon, les messages passaient inaperçus. Les premières « vraies » techniques de cryptographie apparurent, quant à elles, à partir du VIe siècle av. J.-C., avec une méthode de substitution, nommée atbash. Celle-ci consiste à remplacer les lettres par la lettre « opposée », c’est-à-dire que A sera remplacé par Z, B par Y, et ainsi de suite. (a) La scytale des Spartiates. (b) Le fonctionnement du chiffre de César.