Les premiers algorithmes de chiffrement Par Lucas Pesenti (Lucas-84) www.opencl
Les premiers algorithmes de chiffrement Par Lucas Pesenti (Lucas-84) www.openclassrooms.com Licence Creative Commons 4 2.0 Dernière mise à jour le 26/07/2012 Sommaire 2 Sommaire ........................................................................................................................................... 3 Les premiers algorithmes de chiffrement ........................................................................................... 3 Vocabulaire et premières notions ...................................................................................................................................... 4 Exemples d'algorithmes de chiffrement ............................................................................................................................ 4 Chiffre de César .......................................................................................................................................................................................................... 5 Chiffre de Vigenère ..................................................................................................................................................................................................... 8 Le masque jetable (ou chiffre de Vernam) .................................................................................................................................................................. 9 Principales méthodes de cassage d'algorithmes .............................................................................................................. 9 Analyse fréquentielle des lettres ................................................................................................................................................................................. 10 Attaque par force brute .............................................................................................................................................................................................. 11 Q.C.M. ............................................................................................................................................................................. 12 Partager ..................................................................................................................................................................................................................... 2/13 www.openclassrooms.com Les premiers algorithmes de chiffrement Par Lucas Pesenti (Lucas-84) Mise à jour : 26/07/2012 Difficulté : Facile Durée d'étude : 45 minutes Bonjour à toutes et à tous ! Dans ce tutoriel, nous allons découvrir quelques bases de la cryptographie, en étudiant sa forme la plus simple : les anciennes méthodes de chiffrement. Trêve de bavardages, mettons-nous au travail ! Sommaire du tutoriel : V ocabulaire et premières notions Exemples d'algorithmes de chiffrement Principales méthodes de cassage d'algorithmes Q.C.M. Vocabulaire et premières notions On a toujours souhaité sécuriser ses communications, et ce désir est devenu d'actualité avec le développement du réseau Internet. Les transactions en ligne se sont multipliées, et la cryptographie est aujourd'hui inévitable, notamment pour les commerces en ligne, dans le but d'éviter que ces transactions soient interceptées. Étymologiquement, le mot « chiffrement » désigne, en cryptographie, le procédé par lequel on souhaite rendre la compréhension d'un document impossible à toute personne non autorisée à pouvoir le lire (source). Le contraire est nommé « déchiffrement ». Rappelons que la cryptologie désigne une science qui regroupe deux catégories : la cryptographie, c'est-à-dire l'ensemble des techniques permettant de chiffrer un message ; la cryptanalyse, dont nous parlerons un peu plus tard. Le message de départ est appelé texte clair (plaintext en anglais, prononcez [pleyntekst]) et le message chiffré texte chiffr é ou cryptogramme (ciphertext en anglais, prononcez [sahyfertekst]). Pour chiffrer un message, on utilise un algorithme, que l'on nomme « cryptosystème ». En français, le seul terme correct désignant le fait de chiffrer le message est « chiffrement ». On entend souvent parler de « cryptage » ou de « chiffrage », mais ces mots sont incorrects. Parallèlement, il est admis de parler de « décryptage », ou « décryptement » pour un déchiffrement effectué de manière illicite par une personne, grâce à une faille dans le cryptosystème (source). Aussi étonnant que cela puisse paraître à première vue, les algorithmes de chiffrement et de déchiffrement doivent toujours être publics. En effet, il ne sert à rien de tenter de les garder secret : on n'obtiendrait qu'une fausse impression de sécurité. Malgré de nombreuses alertes, il arrive que de très grosses entreprises, souvent mal informées, tentent de le faire : c'est la sécurité par l'obscurité, qui, je le répète, n'a aucune utilité. Mais alors, si les algorithmes sont publics, tout le monde peut décrypter les textes chiffrés, non ? Sommaire 3/13 www.openclassrooms.com V ous vous en doutez bien, cette affirmation est fausse. En réalité, le secret est conservé grâce aux paramètres des algorithmes, qu'on appelle les clés de chiffrement. Ce principe est appelé principe de Kerckhoffs, nommé ainsi en hommage au cryptologue néerlandais Auguste Kerckhoffs, qui a énoncé ce concept dans un article en deux parties La cryptographie militaire, paru dans le Journal des sciences militaires en janvier et février 1883 (vous pouvez par ailleurs en retrouver l'intégralité ici et là). De plus, cette notion s'étend au-delà de la cryptographie. Ré-énoncée par de grands noms de l'informatique comme Claude Shannon dans son très célèbre « L'adversaire connaît le système », elle est également un des arguments évoqués par les défenseurs des logiciels libres (source). Autrement dit, on peut représenter l'algorithme (de chiffrement ou de déchiffrement) comme une fonction qui prend deux paramètres : le texte clair (dans le cas d'un chiffrement) ou le texte chiffré (dans le cas d'un déchiffrement) et la clé de chiffrement ou de déchiffrement. La fonction est connue, le texte aussi, mais la clé manque à la personne lambda, qui ne peut ainsi pas résoudre le cryptogramme. Schématisation d'un chiffrement Exemples d'algorithmes de chiffrement Bien, la partie plus « théorique » est terminée, nous allons donc passer à quelques exemples d'algorithmes de chiffrement. Munissez-vous d'un papier et d'un crayon, cela sera plus simple. Chiffre de César Le chiffre de César (ou chiffrement par décalage) est un algorithme de chiffrement très simple que Jules César utilisait pour chiffrer certains messages qu'il envoyait (source). Il s'agit d'une substitution mono-alphabétique car il remplace chaque lettre par une autre lettre de l'alphabet, toujours la même. Principe de chiffrement Ce cryptosystème consiste à remplacer chaque lettre du texte clair, par une lettre différente, située lettres après dans l'alphabet, où est la valeur de la clé passée en argument. Si l'on considère que chaque lettre de l'alphabet est numérotée de 0 à 25 (A = 0, B = 1, etc.), cela revient à additionner la valeur de la lettre du texte clair avec la valeur de la clé. Ensuite, pour éviter que la valeur dépasse le 'Z', on fait modulo 26 sur le résultat précédent. Rappelons que le modulo est une opération mathématique permettant d'obtenir le reste d'une division. Si vous n'avez peut-être eu que peu d'occasions d'étudier celle-ci, l'ordinateur quant à lui la considère comme une opération de base, au même titre que l'addition, la soustraction, la multiplication et la division. Notez que faire un modulo 26 revient à soustraire le résultat de 26 lorsqu'il dépasse cette dernière valeur. Les premiers algorithmes de chiffrement 4/13 www.openclassrooms.com Par exemple, pour coder la première lettre de l'expression « J'adore les maths ! » (le 'J') avec une clé de 4, on fera : Code : Autre (J + 4) modulo 26 = (9 + 4) modulo 26 = 13 modulo 26 = 13 La valeur de 14 correspondant à la lettre 'N', on peut d'ores et déjà noter que la première lettre du texte chiffré sera un 'N'. Si l'on suit cette logique, à la fin du chiffrement vous devriez obtenir sur votre feuille de papier ce qui suit. Code : Autre J'ADORE LES MATHS ! N'EHSVI PIW QEXLW ! Le texte chiffré est donc : « N'EHSVI PIW QEXLW ! ». Principe de déchiffrement Le déchiffrement fonctionne sur le même principe que le chiffrement, on prend la lettre située quatre lettres avant dans notre exemple. Code : Autre N'EHSVI PIW QEXLW ! J'ADORE LES MATHS ! Chiffre de Vigenère Introduction Le chiffre de Vigenère est un algorithme de chiffrement établi par le cryptographe français Blaise de V igenère. Ce cryptosystème est de type poly-alphabétique, en opposition au mono-alphabétique que avons déjà vu, c'est-à-dire qu'il consiste à changer une lettre par une autre, mais cette dernière n'est pas toujours là même. Cela permet une plus grande sécurité. Cet algorithme utilise une clé, ici sous la forme d'un mot ou d'une phrase, que vous choisirez. Plus l'expression sera longue, plus le cryptogramme sera sécurisé. Un autre outil indispensable pour chiffrer un message avec cette méthode est la table de Vigenère : Les premiers algorithmes de chiffrement 5/13 www.openclassrooms.com Table de Vigenère Rassurez-vous, je ne vous demande pas de l'apprendre par cœur ! On trouve beaucoup d'images de cette table grâce à un simple moteur de recherche. Principe de chiffrement Le chiffrement se déroule en deux étapes. Dans un premier temps, on choisit un message, par exemple « Bonjour les zéros ! » et une clé, par exemple « Zozor ». Bref, commencez par écrire votre message sur le papier. Code : Autre BONJOUR LES ZÉROS ! En-dessous de chaque lettre, écrivez chaque lettre de la clé, et répétez le motif autant de fois que nécessaire. Ce qui donne, dans notre exemple : Code : Autre BONJOUR LES ZÉROS ! ZOZORZO ZOR ZOZOR ! Dans un second temps, sachez que le message correspond aux colonnes de la table, et la clé aux lignes. Pour chaque lettre du message, la lettre chiffrée correspond au croisement entre la colonne correspondant à la lettre du message et la ligne correspondant à la lettre de la clé. Par exemple, la lettre qui est au croisement entre la colonne 'B' et la ligne 'Z' est 'A'. La première lettre du message chiffrée est donc 'A'. Si l'on continue, cela donne au final : Code : Autre Les premiers algorithmes de chiffrement 6/13 www.openclassrooms.com BONJOUR LES ZÉROS ! ZOZORZO ZOR ZOZOR ! ACMXFTF KSJ YSQCJ ! Le message chiffré est donc « ACMXFTF KSJ YSQCJ ! ». Bien qu'à première vue le message semble sécurisé, il est évident que la clé « ZOZOR » est trop courte et, de manière générale, le chiffre de V igenère n'est pas un algorithme très sécurisé. Il est donc facile de casser le cryptogramme, du moins pour les personnes un peu expérimentées dans ce domaine. Principe de déchiffrement Pour déchiffrer le texte chiffré, on prend de nouveau un bout de papier, et on note le message codé, suivi du motif de la clé répété autant de uploads/Management/ les-premiers-algorithmes-de-chiffrement-pdf 1 .pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 24, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.4763MB