Python 20 Cryptage Cryptage de Vigenère Blaise de Vigenère (1523-1596), diploma

Python 20 Cryptage Cryptage de Vigenère Blaise de Vigenère (1523-1596), diplomate français, se familiarisa avec les écrits d’Alberti, Trithème et Porta à Rome, où, âgé de vingt-six ans, il passa deux années en mission diplomatique. Au début, son intérêt pour la cryptographie était purement pratique et lié à son activité diplomatique. Une dizaine d’années plus tard, vers 1560, Vigenère considéra qu’il avait mis de côté assez d’argent pour abandonner sa carrière et se consacrer à l’étude. C’est seulement à ce moment-là qu’il examina en détail les idées de ses prédécesseurs, tramant grâce à elles un nouveau chiffre, cohérent et puissant. Bien qu’Alberti, Trithème, Bellaso et Porta en aient fourni les bases, c’est du nom de Vigenère que ce nouveau chiffre fut baptisé, en l’honneur de l’homme qui lui donna sa forme finale. Le chiffre de Vigenère est une amélioration décisive du chiffre de César. Sa force réside dans l’utilisation non pas d’un, mais de 26 alphabets décalés pour chiffrer un message. On peut résumer ces décalages avec un carré de Vigenère. Ce chiffre utilise une clé qui définit le décalage pour chaque lettre du message (A : décalage de 0 cran, B : 1 cran, C : 2 crans, ..., Z : 25 crans). Méthode Pour chiffrer, prendre la première lettre du message et la première lettre de la clé, et ajouter leurs valeurs (les lettres ont une valeur en fonction de leur rang dans l’alphabet en partant de 0). Le résultat de l’addition modulo 26 (26 étant le nombre de lettres dans l’alphabet) donne le rang de la lettre chiffrée. On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on recom- mence au début de celle ci. Chiffrement de Vigenère avec un tableau Pour chiffrer avec la méthode de Vigenère via un tableau à deux entrées (appelé carré de Vigenère), on utilise la grille dont on va donner une représentation, dans le cas où l’alphabet est composé des caractères suivants : ABCDEFGHIJKLMNOPQRSTUVWXYZ. On repère la première lettre du message en clair en haut du tableau et la première lettre de la clé sur la colonne de gauche. La lettre chiffrée se trouve à l’intersection. On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on recommence au début de celle ci. Cours Info - Jacques Delfaud - Page 1 sur 5 Python 20 Cryptage Exemple : chiffrons le texte "CHIFFRE DE VIGENERE" avec la clef "BACHELIER" (cette clef est éventuel- lement répétée plusieurs fois pour être aussi longue que le texte clair). Clair C H I F F R E D E V I G E N E R E Clef B A C H E L I E R B A C H E L I E Décalage 1 0 2 7 4 11 8 4 17 1 0 2 7 4 11 8 4 Chiffré D H K M J C M H V W I I L R P Z I Comment décoder par Vigenère ? (Principe de déchiffrement) Pour déchiffrer, prendre la première lettre du message et la première lettre de la clé, et soustraire leurs valeurs (les lettres ont une valeur en fonction de leur rang dans l’alphabet en partant de 0). Si le résultat est négatif, ajouter 26 (26 étant le nombre de lettres dans l’alphabet), le résultat donne le rang de la lettre claire. On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on recom- mence au début de celle ci. Déchiffrement Vigenère avec un tableau On repère la première lettre de la clé sur la colonne de gauche et on parcourt la ligne jusqu’à trouver la première lettre du message chiffré. Alors on remonte la colonne pour lire la lettre claire correspondante (tout en haut). On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on recom- mence au début de celle ci. Cours Info - Jacques Delfaud - Page 2 sur 5 Python 20 Cryptage Avantages du chiffre de Vigenère par rapport au code César ? César est en fait l’équivalent d’un code de Vigenère à une lettre. Le code de Vigenère utilise donc des clés plus longues et ainsi chaque lettre peut alors être codée de plusieurs façons. L’analyse des fréquences ne peut pas être utilisée directement. La grande force du chiffre de Vigenère est que la même lettre sera chiffrée de différentes manières. Par exemple le E du texte clair ci-dessus a été chiffré successivement M V L P I, ce qui rend inutilisable l’analyse des fréquences classique. Comparons les fréquences des lettres d’une fable de la Fontaine (Le chat, la belette et le petit lapin) chiffrée avec une substitution simple et celles de la même fable chiffrée avec le chiffre de Vigenère : On voit bien que l’histogramme n’a plus rien à voir avec celui d’une substitution simple : il est beaucoup plus "plat". Ce chiffre, qui a résisté trois siècles aux cryptanalystes, est pourtant relativement facile à casser, grâce à une méthode mise au point indépendamment par Babagge et Kasiski. Une autre méthode complètement différente a été encore mise au point plus tard par le commandant Bazeries. Comment déchiffrer Vigenère sans connaitre la clé ? Les techniques les plus courantes utilisent des méthodes statistiques qui permettent de retrouver la longueur de la clé, puis une analyse des fréquences permet de retrouver la clé. Test de Kasiski Le test de Kasiski consiste à repérer des répétitions de lettres dans le texte chiffré. ABC apparait trois fois dans le message ABCXYZABCKLMNOPQRSABC Le fait qu’il existe une répétition signifie soit qu’une même suite de lettres du texte clair a été chiffrée avec une même partie de la clef, soit que différentes suites de lettres du texte en clair se chiffrent de la même façon. Cette seconde possibilité n’a qu’une faible probabilité d’arriver. En analysant les écarts entre deux redondances de séquences identiques, on peut déterminer un multiple de la longueur de la clé. En analysant pour chaque écart, les diviseurs possibles, on peut déduire avec une grande probabilité la longueur de la clé. Les positions de ABC sont 0, 6 et 18, les écarts sont donc de 6, 12 et 18, les diviseurs les plus courants de ces nombres sont 2, 3 et 6, la clé a donc une forte probabilité d’être de longueur 2, 3 ou 6. Cours Info - Jacques Delfaud - Page 3 sur 5 Python 20 Cryptage ”Test de l’indice de coïncidence” Le test de l’indice de coïncidence consiste à prendre une lettre sur n dans le message, et de mesurer l’indice de coïncidence. Plus il est élevé, plus la probabilité que n soit la longueur de la clé est grande. En effet, prendre une lettre sur n, lorsque n est la longueur de la clé, revient à prendre une série de lettre chiffrée toujours chiffrée avec le même décalage, l’indice de coïncidence est donc égal à celui du texte clair. Vigenère sans clef secrète commune Le chiffre de Vigenère tel que décrit ci-dessus exige, comme presque la totalité des systèmes de chiffrement, que les deux correspondants connaissent une clef secrète commune. Il est cependant possible, moyennant trois envois de message au lieu d’un, de se passer de clef commune : 1. A envoie le message après l’avoir crypté avec sa clé A. 2. B renvoie le message en ajoutant un cryptage avec sa clé B. 3. A renvoie le message en enlevant le cryptage de sa clé A. 4. B n’a plus qu’à décrypter le message avec sa clé B. Quelles sont les variantes du chiffre Vigenère ? Il existe plusieurs variantes, comme le chiffre de Beaufort, le chiffre de Vigenère-Autoclave, ou le chiffre de Vernam. Qu’est ce que le code de Vernam ? Le code de Vernam est le cas particulier ou la longueur de la clé est la même que celle du texte. Il est impossible à décrypter si la clé est composée de caractères aléatoires. En effet, si elle est porteuse d’un sens (une phrase par exemple) alors une attaque par mots probable peut aider au déchiffrement. Réglette de Saint-Cyr La réglette de Saint-Cyr est un instrument en forme de règle qui facilite le chiffrement et le déchiffrement manuels d’un message encodé avec Vigenère. Sa partie fixe est constituée de l’alphabet, et sa partie mobile Cours Info - Jacques Delfaud - Page 4 sur 5 Python 20 Cryptage coulissante est un double alphabet. Pour chiffrer une lettre, on déplace le coulisseau de manière à ce que le A de la partie fixe corresponde à la lettre de la clé. Il suffit alors de regarder la lettre de la partie mobile directement en dessous de la lettre du message clair écrite sur la partie fixe. Cet instrument doit son nom à l’académie militaire française où, entre 1880 et le début du 20ème uploads/Litterature/ python-20-cryptage.pdf

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