Vayel Dominus Carn... La cryptographie asymétrique avec RSA 12 août 2019 Table

Vayel Dominus Carn... La cryptographie asymétrique avec RSA 12 août 2019 Table des matières 1. Un peu d’histoire et beaucoup de mathématiques 3 1.1. Rendons à César ce qui est à César . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Faire du neuf… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1. Petite pause vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2. Revenons à nos moutons électriques . . . . . . . . . . . . . . . . . . . . 6 1.3. …avec du vieux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1. Nombres premiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2. Congruences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.3. Nombres premiers entre eux . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.4. Petit théorème de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2. L’algorithme proprement dit 11 2.1. Une grosse paire de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2. Ainchi ffrons, ffrons, ffrons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3. Eh bien, déchiffrez, maintenant ! . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.1. Longue introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4. La démonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Parmi tous les systèmes cryptographiques disponibles à l’heure actuelle, RSA est considéré comme un des plus solides, si ce n’est le plus solide. Après presque trente ans de vie et d’attaques nombreuses mettant en jeu ce que la technologie fait de meilleur, il est encore jugé assez robuste pour protéger les échanges bancaires et autres données critiques du monde civil. Alors, qu’est-ce qui fait sa force ? Avec vous, je vais aborder les théories mathématiques et cryptographiques qui constituent les fondements de ce système cryptographique et l’ont rendu possible. Il me sera alors possible de vous présenter l’algorithme en lui-même, comment on chiffre et comment on déchiffre. Mais cela ne suffit pas : aussi chaud que soit un manteau, vous mourrez de froid si vous le posez sur votre tête. C’est pourquoi je vous expliquerai comment il faut s’y prendre pour bien utiliser le système cryptographique RSA et bénéficier de toute sa robustesse. Enfin, pour nos amis programmeurs, un dernier chapitre permettra de voir, sans entrer dans les détails, comment on peut implémenter RSA pour l’utiliser dans un logiciel. Pour suivre ce tutoriel, il vous faudra les outils suivants : — des connaissances mathématiques de seconde environ : toutes les notions plus complexes seront expliquées de manière aussi détaillée que possible ; — un papier et d’un crayon pour réaliser les quelques exercices présentés au long du tuto. Une calculette peut aider les plus flemmards ; — absolument aucune connaissance en informatique, si vous ne souhaitez pas lire le dernier chapitre. Sinon, de simples connaissances théoriques sont suffisantes, puisque l’on parle d’algorithmique et non d’un langage en particulier ; 1 Table des matières — un cerveau qui vous appartient, pas de zombi ici, ouste ! i Prérequis Connaissances de seconde en mathématiques, en particulier, bien maîtriser les fonctions . Prérequis optionnel Maîtriser les bases de la programmation est nécessaire pour le dernier chapitre. Objectifs Faire comprendre le fonctionnement de la cryptographie asymétrique. Présenter le fonctionnement du système cryptographique RSA. Montrer les failles liées à une mauvaise utilisation de RSA, et comment s’en prémunir. Découvrir comment RSA peut être mis en place dans un programme informatique. 2 1. Un peu d’histoire et beaucoup de mathématiques Ce que l’on appelle RSA est un algorithme de chiffrement et déchiffrement. Et la cryptographie, c’est avant tout des maths, beaucoup de maths. Dans cette partie, nous allons voir les fondements théoriques et mathématiques qui ont permis la création de l’algorithme RSA. N’ayez crainte : si nous allons être bien obligés d’utiliser des termes barbares, comme « chiffrement asymétrique » ou « PGCD », nous ferons en sorte de les expliquer le plus simplement possible. 1.1. Rendons à César ce qui est à César Le système cryptographique RSA a été inventé en 1977, et publié en 1978, par trois mathémati- ciens qui travaillaient alors au MIT : Ronald Rivest, Adi Shamir et Leonard Adleman. Comme vous pouvez le constater, le nom de l’algorithme est simplement tiré des initiales de leurs noms de famille. La grande réussite de leur travail en commun est sans doute due au fait que leurs compétences se complètent. Rivest est un grand spécialiste de la cryptographie, la discipline qui cherche à protéger les messages d’une lecture inopportune : il est notamment à l’origine de l’algorithme MD5 , dont vous avez sans doute entendu parler. Shamir est au contraire un spécialiste de la cryptanalyse, dont le but est de casser les protections mises en place par la cryptographie : il est notamment connu pour avoir cassé en 1982 le cryptosystème de Merkle-Hellman, un algorithme proche de RSA mais reposant sur une base mathématique un peu différente. Adleman, quant à lui, représentait le grain de folie du groupe : il travaillait à l’époque sur la bio-informatique, en gros, des ordinateurs utilisant de l’ADN pour faire leurs calculs. Ça vous place le personnage. 3 1. Un peu d’histoire et beaucoup de mathématiques Figure : Voici une photo des trois mathématiciens en question. Le système cryptographique auquel ils ont abouti n’est pas sorti de leur cerveau à partir de rien, telle une Athéna moderne : il repose sur les dernières avancées de l’époque en matière de cryptographie, auxquelles ils ont adjoint un outil mathématique déjà fort ancien. C’est ce que nous allons voir à présent. 1.2. Faire du neuf… Si je vous parle de codes secrets et de messages chiffrés, vous allez penser immédiatement « cryptographie symétrique ». ? Non. Jamais entendu ce mot-là. La formulation vous est, en effet, sans doute inconnue, mais vous connaissez parfaitement le concept. Un système cryptographique est dit symétrique si toute la solidité du chiffrement repose sur un secret — on l’appelle généralement « clé » — qui doit être connu à la fois de l’envoyeur et du récipiendaire. Par exemple, le chiffre dit « de César » est un système symétrique. Il s’agit de décaler chaque lettre du message d’un certain nombre de rangs dans l’alphabet : avec un décalage de trois rangs, A devient D, B devient E, Z devient C, etc. Ainsi, le message « trololo » devient « wuroror ». Il suffit au récipiendaire de décaler les lettres du message chiffré de trois rangs dans l’autre sens pour retrouver le message d’origine. Et dans l’affaire, la clé n’est autre que le nombre de rangs 4 1. Un peu d’histoire et beaucoup de mathématiques dont il faut décaler les lettres : cette information doit être connue des seuls interlocuteurs, mais les deux interlocuteurs doivent la connaître. 1.2.1. Petite pause vocabulaire Il y a des concepts qui reviennent souvent quand on parle de cryptographie, et on a fini par se mettre d’accord sur un vocabulaire commun pour en parler. Afin de pouvoir l’utiliser dans la suite du tutoriel, il me faut vous le présenter. Un algorithme de chiffrement est un ensemble d’opérations, généralement mathématiques, à effectuer sur le message que l’on veut protéger, afin de le rendre en théorie incompréhensible par ceux uploads/Philosophie/ la-cryptographie-asymetrique-avec-rsa.pdf

  • 79
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager