Vous êtes sur la page 1sur 12

Les premiers algorithmes de chiffrement

Par Lucas Pesenti (Lucas-84)

www.openclassrooms.com

Licence Creative Commons 4 2.0 Dernire mise jour le 26/07/2012

2/13

Sommaire
Sommaire ........................................................................................................................................... 2 Les premiers algorithmes de chiffrement ........................................................................................... 3
Vocabulaire et premires notions ...................................................................................................................................... 3 Exemples d'algorithmes de chiffrement ............................................................................................................................ 4
Chiffre de Csar .......................................................................................................................................................................................................... 4 Chiffre de Vigenre ..................................................................................................................................................................................................... 5 Le masque jetable (ou chiffre de Vernam) .................................................................................................................................................................. 8

Principales mthodes de cassage d'algorithmes .............................................................................................................. 9


Analyse frquentielle des lettres ................................................................................................................................................................................. 9 Attaque par force brute .............................................................................................................................................................................................. 10

Q.C.M. ............................................................................................................................................................................. 11
Partager ..................................................................................................................................................................................................................... 12

www.openclassrooms.com

Sommaire

3/13

Les premiers algorithmes de chiffrement

Par

Lucas Pesenti (Lucas-84)

Mise jour : 26/07/2012 Difficult : Facile Dure d'tude : 45 minutes Bonjour toutes et tous ! Dans ce tutoriel, nous allons dcouvrir quelques bases de la cryptographie, en tudiant sa forme la plus simple : les anciennes mthodes de chiffrement. Trve de bavardages, mettons-nous au travail ! Sommaire du tutoriel :

V ocabulaire et premires notions Exemples d'algorithmes de chiffrement Principales mthodes de cassage d'algorithmes Q.C.M.

Vocabulaire et premires notions


On a toujours souhait scuriser ses communications, et ce dsir est devenu d'actualit avec le dveloppement du rseau Internet . Les transactions en ligne se sont multiplies, et la cryptographie est aujourd'hui invitable, notamment pour les commerces en ligne, dans le but d'viter que ces transactions soient interceptes. tymologiquement, le mot chiffrement dsigne, en cryptographie, le procd par lequel on souhaite rendre la comprhension d'un document impossible toute personne non autorise pouvoir le lire (source). Le contraire est nomm dchiffrement . Rappelons que la cryptologie dsigne une science qui regroupe deux catgories : 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 dpart 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 cryptosystme . En franais, le seul terme correct dsignant le fait de chiffrer le message est chiffrement . On entend souvent parler de cryptage ou de chiffrage , mais ces mots sont incorrects. Paralllement, il est admis de parler de dcryptage , ou dcryptement pour un dchiffrement effectu de manire illicite par une personne, grce une faille dans le cryptosystme (source).

Aussi tonnant que cela puisse paratre premire vue, les algorithmes de chiffrement et de dchiffrement doivent toujours tre publics. En effet, il ne sert rien de tenter de les garder secret : on n'obtiendrait qu'une fausse impression de scurit. Malgr de nombreuses alertes, il arrive que de trs grosses entreprises, souvent mal informes, tentent de le faire : c'est la scurit par l'obscurit, qui, je le rpte, n'a aucune utilit. Mais alors, si les algorithmes sont publics, tout le monde peut dcrypter les textes chiffrs, non ?

www.openclassrooms.com

Les premiers algorithmes de chiffrement

4/13

V ous vous en doutez bien, cette affirmation est fausse. En ralit, le secret est conserv grce aux paramtres des algorithmes, qu'on appelle les cls de chiffrement. Ce principe est appel principe de Kerckhoffs , nomm ainsi en hommage au cryptologue nerlandais 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 fvrier 1883 (vous pouvez par ailleurs en retrouver l'intgralit ici et l). De plus, cette notion s'tend au-del de la cryptographie. R-nonce par de grands noms de l'informatique comme Claude Shannon dans son trs clbre L'adversaire connat le systme , elle est galement un des arguments voqus par les dfenseurs des logiciels libres (source). Autrement dit, on peut reprsenter l'algorithme (de chiffrement ou de dchiffrement) comme une fonction qui prend deux paramtres : le texte clair (dans le cas d'un chiffrement) ou le texte chiffr (dans le cas d'un dchiffrement) et la cl de chiffrement ou de dchiffrement. La fonction est connue, le texte aussi, mais la cl manque la personne lambda, qui ne peut ainsi pas rsoudre le cryptogramme.

Schmatisation d'un chiffrement

Exemples d'algorithmes de chiffrement


Bien, la partie plus thorique est termine, 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 Csar
Le chiffre de Csar (ou chiffrement par dcalage) est un algorithme de chiffrement trs simple que Jules Csar utilisait pour chiffrer certains messages qu'il envoyait (source). Il s'agit d'une substitution mono-alphabtique car il remplace chaque lettre par une autre lettre de l'alphabet, toujours la mme.

Principe de chiffrement
Ce cryptosystme consiste remplacer chaque lettre du texte clair, par une lettre diffrente, situe lettres aprs dans l'alphabet, o est la valeur de la cl passe en argument. Si l'on considre que chaque lettre de l'alphabet est numrote 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 dpasse le 'Z', on fait modulo 26 sur le rsultat prcdent. Rappelons que le modulo est une opration mathmatique 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 considre comme une opration de base, au mme titre que l'addition, la soustraction, la multiplication et la division. Notez que faire un modulo 26 revient soustraire le rsultat de 26 lorsqu'il dpasse cette dernire valeur.

www.openclassrooms.com

Les premiers algorithmes de chiffrement

5/13

Par exemple, pour coder la premire 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 dj noter que la premire 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 dchiffrement
Le dchiffrement fonctionne sur le mme principe que le chiffrement, on prend la lettre situe quatre lettres avant dans notre exemple. Code : Autre N'EHSVI PIW QEXLW ! J'ADORE LES MATHS !

Chiffre de Vigenre
Introduction
Le chiffre de Vigenre est un algorithme de chiffrement tabli par le cryptographe franais Blaise de Vigenre. Ce cryptosystme est de type poly-alphabtique, en opposition au mono-alphabtique que avons dj vu, c'est--dire qu'il consiste changer une lettre par une autre, mais cette dernire n'est pas toujours l mme. Cela permet une plus grande scurit. 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 scuris. Un autre outil indispensable pour chiffrer un message avec cette mthode est la table de Vigenre :

www.openclassrooms.com

Les premiers algorithmes de chiffrement

6/13

Table de Vigenre Rassurez-vous, je ne vous demande pas de l'apprendre par cur ! On trouve beaucoup d'images de cette table grce un simple moteur de recherche.

Principe de chiffrement
Le chiffrement se droule en deux tapes. Dans un premier temps, on choisit un message, par exemple Bonjour les zros ! et une cl, par exemple Zozor . Bref, commencez par crire votre message sur le papier. Code : Autre BONJOUR LES ZROS !

En-dessous de chaque lettre, crivez chaque lettre de la cl, et rptez le motif autant de fois que ncessaire. Ce qui donne, dans notre exemple : Code : Autre BONJOUR LES ZROS ! 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 chiffre 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 premire lettre du message chiffre est donc 'A'. Si l'on continue, cela donne au final : Code : Autre

www.openclassrooms.com

Les premiers algorithmes de chiffrement


BONJOUR LES ZROS ! ZOZORZO ZOR ZOZOR ! ACMXFTF KSJ YSQCJ !

7/13

Le message chiffr est donc ACMXFTF KSJ YSQCJ ! . Bien qu' premire vue le message semble scuris, il est vident que la cl ZOZOR est trop courte et, de manire gnrale, le chiffre de Vigenre n'est pas un algorithme trs scuris. Il est donc facile de casser le cryptogramme, du moins pour les personnes un peu exprimentes dans ce domaine.

Principe de dchiffrement
Pour dchiffrer le texte chiffr, on prend de nouveau un bout de papier, et on note le message cod, suivi du motif de la cl rpt autant de fois que ncessaire, ce qui donne : Code : Autre ACMXFTF KSJ YSQCJ ! ZOZORZO ZOR ZOZOR !

Ensuite, on fait l'inverse que lors du chiffrement. On va vers la ligne correspondant la lettre actuelle de la cl, et on cherche la lettre actuelle du texte chiffr dans cette ligne. La lettre en clair correspond la colonne correspondante. Ce qui donne, dans notre cas : Code : Autre ACMXFTF KSJ YSQCJ ! ZOZORZO ZOR ZOZOR ! BONJOUR LES ZEROS !

On retrouve donc notre message de dpart !

Bonus mathmatique
Je vous propose un petit supplment mathmatique. En effet, il est possible de calculer la lettre chiffre correspondant une lettre claire grce la lettre de la cl. Si l'on suppose que est la lettre de la cl, la lettre du texte chiffr et la lettre du texte clair, en voici la formule : modulo (source)

Par exemple, reprenons notre BONJOUR LES ZEROS et notre cl ZOZOR . Pour calculer la premire lettre chiffre : modulo modulo modulo

La lettre chiffre est donc bien 'A'. De mme, on peut dchiffrer un message mathmatiquement, grce aux formules suivantes. On suppose que cl, la lettre du texte chiffr et la lettre du texte clair. Si Sinon : : est la lettre de la

www.openclassrooms.com

Les premiers algorithmes de chiffrement


(source) Reprenons notre ACMXFTF KSJ YSQCJ ! et notre cl ZOZOR . La premire lettre est : , donc :

8/13

La premire lettre du message clair est bien 'B'.

Le masque jetable (ou chiffre de Vernam)


Le masque jetable est un cryptosystme tabli par l'ingnieur Gilbert Vernam. En thorie, cet algorithme de chiffrement est rput comme tant le seul tre impossible casser.

Principe de chiffrement
Pour chiffrer un message, on doit prendre une cl, qui doit avoir les caractristiques suivantes : la cl doit avoir un nombre de caractres suprieur ou gal celui du message ; les caractres de la cl doivent avoir t choisis de manire alatoire ; chaque cl ne doit tre utilise qu'une seule fois. Toutes ces proprits dans le but final de garantir une scurit optimale. Si elles sont respectes la lettre, la scurit garantie est absolue. Bien, on passe un exemple concret. Pour ne pas mettre trop de temps chiffrer le message, nous allons en prendre un de quatre lettres : ZERO . Nous tirons ensuite une chane de quatre lettres au hasard. Le rsultat : JRVG . Ceci est la cl. On attribue ensuite une valeur diffrente chaque lettre de l'alphabet. Pour faire simple, nous choisissons le mme principe que pour le chiffre de Csar : 'A' vaut 0, 'B' vaut 1, 'C' vaut 2, etc. La suite est semblable au calcul du chiffre de Vigenre : on additionne la valeur de chaque lettre du message avec la valeur de la lettre de la cl correspondante, puis on fait modulo 26. Armez-vous de votre papier et de votre crayon, pour obtenir, normalement, ces rsultats : Code : Autre Z E R O + + + + J R V G = = = = 25 + 9 = 34 - 26 = 8 = I 4 + 17 = 21 = V 17 + 21 = 38 - 26 = 12 = M 14 + 6 = 20 = U

Ce qui nous donne au final, le cryptogramme suivant : IVMU .

Principe de dchiffrement
Le dchiffrement s'effectue peu prs de la mme manire, mis part que, cette fois-ci, on soustrait la valeur de la lettre de la cl la valeur de la lettre du cryptogramme correspondante et que l'on ajoute 26 lorsque le rsultat est ngatif. Cela nous donne : Code : Autre I V M U J R V G = = = = 8 - 9 = -1 + 26 = 25 = Z 21 - 17 = 4 = E 12 - 21 = -9 + 26 = 17 = R 20 - 6 = 14 = O

www.openclassrooms.com

Les premiers algorithmes de chiffrement

9/13

Et on retrouve bien le message ZERO de dpart. Pour la petite histoire, ce cryptosystme a marqu l'histoire, car Che Guevara l'a utilis pour chiffrer ses messages qu'il envoyait Fidel Castro (source). C'est galement cet algorithme qui a permis de scuriser la ligne du trs clbre tlphone rouge entre Moscou et Washington (source).

Dfauts
Chouette, alors ! Ce cryptosystme est parfait : simple et incassable ! Nous pouvons donc l'utiliser tout le temps ?

On ne peut nier qu'il a l'avantage d'tre simple, mais il n'est incassable qu'en thorie. En effet, il faut que le chiffrement ait t ralis dans des circonstances parfaites : D'une part, la cl choisie doit tre absolument alatoire. Si elle ne l'est pas, le cassage peut tre ralis beaucoup plus facilement. Seulement, gnrer une cl de manire parfaitement alatoire est trs difficile mettre en uvre, c'est pourquoi beaucoup d'utilisateurs de ce cryptosystme passent par des moyens moins scuriss (source). D'autre part, pour que le chiffrement et le dchiffrement puissent tre raliss, il faut que les deux utilisateurs aient en leur possession la mme cl, d'o la ncessit d'une communication ultra-scurise. Une des solutions peut tre d'organiser un contact physique, mais cela n'est pas toujours possible (et, de plus, cela enlve l'utilit principale du chiffrement : pourquoi chiffrer des messages si on peut les communiquer voix haute ? ). Par consquent, l'utilisateur est de nouveau tent par l'utilisation d'un canal moins scuris.

Principales mthodes de cassage d'algorithmes


Quand on rsout un cryptogramme, de manire plus ou moins lgale , on dit que l'on casse le chiffrement. Dchiffrer un message sans en connatre la cl de chiffrement est le principe de la cryptanalyse, une des deux branches constituant la cryptologie. Maintenant que nous avons vu diffrents algorithmes de chiffrement, plus ou moins scuriss, nous allons dcouvrir les principales mthodes auxquelles ont recourt les cryptanalystes pour casser divers chiffrements. V ous trouverez une liste plus exhaustive des mthodes de cassage d'algorithme ici.

Analyse frquentielle des lettres


L'analyse frquentielle des lettres est la mthode la plus utilise pour casser un chiffrement. Elle consiste, en partant des statistiques d'utilisation des lettres en franais (si le message est en franais, bien sr), examiner la frquence d'apparition des lettres dans le message chiffr. Pour cela, je vous offre les statistiques d'apparition des lettres en franais (source) : 1. e : 17,115% 2. a : 8,122% 3. s : 7,948% 4. i : 7,580% 5. t : 7,244% 6. n : 7,095% 7. r : 6,553% 8. u : 6,369% 9. l : 5,456% 10. o : 5,378%

www.openclassrooms.com

Les premiers algorithmes de chiffrement


11. d : 3,669% 12. c : 3,345% 13. p : 3,021% 14. m : 2,968% 15. v : 1,628% 16. q : 1,362% 17. f : 1,066% 18. b : 0,901% 19. g : 0,866% 20. h : 0,737% 21. j : 0,545% 22. x : 0,387% 23. y : 0,308% 24. z : 0,136% 25. w : 0,114% 26. k : 0,049%

10/13

Bien, prenons un exemple : un message que j'ai chiffr grce l'algorithme du chiffre de Csar : Code : Autre NG UKVG FW BGTQ GUV IGPKCN, N'CWVGWT FG EG VWVQTKGN CWUUK !

Ce qu'il faut chercher, c'est la cl. Pour cela, on va faire les statistiques d'apparition des lettres dans ce cryptogramme, et notamment la lettre la plus prsente (il serait donc possible que ce soit un 'E'). On peut donc assez vite constater que la lettre la plus prsente ici est le 'G', avec neuf occurrences (soit 20%). Supposons donc que le 'G' chiffre le 'E'. Sachant que le chiffre de Csar est utilis, on peut supposer que la cl soit : Code : Autre G - E = 6 - 4 = 2

Toujours de faon conditionnelle, la cl pourrait tre gale 2. On fait donc un test, en dchiffrant l'aide du chiffre de Csar avec une cl de 2. Code : Autre NG UKVG FW BGTQ GUV IGPKCN, N'CWVGWT FG EG VWVQTKGN CWUUK ! LE SITE DU ZRO EST GNIAL, L'AUTEUR DE CE TUTORIEL AUSSI !

La phrase dcrypte est donc : LE SITE DU ZRO EST GNIAL, L'AUTEUR DE CE TUTORIEL AUSSI ! , ce qui a un sens. Flicitations ! V ous venez de casser votre premier algorithme. Je vous fais confiance pour ne pas communiquer nos mthodes aux services secrets !

Attaque par force brute


La seconde mthode de cassage d'algorithme est l'attaque par force brute. C'est la mthode bourrin qui consiste tester toutes les possibilits de cl. Cela peut paratre assez fou, mais, en sachant qu'un ordinateur peut tester plusieurs milliers de cls par seconde, et condition que la cl ne soit pas trop grande, le cassage est possible. Notez que cette mthode est galement utilise pour casser les mots de passe, mais cela est souvent utilis des fins

www.openclassrooms.com

Les premiers algorithmes de chiffrement


illgales. Je vous fais confiance pour ne pas utiliser ces techniques des fins illicites...

11/13

De manire plus concrte, voici quelques chiffres reprsentant le nombre maximum d'essais ncessaires pour trouver la cl en fonction du nombre de caractres la constituant (source) : Type Minuscules Minuscules et majuscules Minuscules, majuscules et chiffres Trois caractres Quatre caractres = 17 576 = 140 608 = 238 328 = 456 976 = 7 311 616 = 14 776 336 Cinq caractres = 11 881 376 = 380 204 032 = 916 132 832

Q.C.M.
Le premier QCM de ce cours vous est offert en libre accs. Pour accder aux suivants Connectez-vous Inscrivez-vous Comment appelle-t-on, en cryptographie, le message de dpart ?
Le cryptogramme Le texte chiffr Le texte clair

Quel est le mot anglais dsignant le texte chiffr ?


ciphertext cryptography plaintext

Qu'est-ce qu'un dcryptage ?


Un dchiffrement Un dchiffrement illicite Rien du tout, ce mot n'est pas correct

Comment s'appelle le principe qui consiste garder l'algorithme secret ?


Le principe de Kerckhoffs La scurit par obscurit Le principe de Huygens-Fresnel

Quel est le nom donn au principe contraire ?


Le principe de Kerckhoffs La scurit par obscurit Le principe de Huygens-Fresnel

De quel type d'algorithme est le chiffre de Csar ?


Substitution mono-numrique Substitution mono-alphabtique Substitution poly-numrique Substitution poly-alphabtique

De quel type d'algorithme est le chiffre de Vigenre ?


Substitution mono-numrique Substitution mono-alphabtique Substitution poly-numrique

www.openclassrooms.com

Les premiers algorithmes de chiffrement


Substitution poly-alphabtique

12/13

Quel algorithme utilisait Che Guevara pour communiquer avec Fidel Castro ?
Chiffre de Csar Chiffre de Vernam Chiffre de Vigenre

Grce aux mthodes que nous avons apprises, essayez de casser ce chiffrement que j'ai chiffr grce au chiffre de Vernam : Code : Autre FHEU OIERS KDIPFZ !

V ous tes idiots ! C'est trs simple ! Joker !

Correction !
Statistiques de rponses au Q CM

Eh bien voil, ce mini-tutoriel sur les premiers algorithmes de chiffrement s'arrte ici. Je suis ouvert toute remarque ou critique constructive : n'hsitez pas donner votre avis sur le sujet du forum consacr ce tutoriel (ici) ou dans ses commentaires ; faites moi part de vos suggestions par MP en dbutant le titre de votre message par [CRYPTOGRAPHIE 1] ; s'l y a une notion que vous ne comprenez pas bien, posez votre question sur le forum.

GTSSJ HTSYNSZFYNTS XZW QJ XNYJ IZ EJWT ! JY JSHTWJ, O'FZWFNX UZ HMNKKWJW YTZY QJ YZYTWNJQ ! Bon, allez, un petit indice : j'ai chiffr ces phrases grce au chiffre de Csar...

Partager

www.openclassrooms.com