chapitre 7 Information et données 4 TD : Découverte de la cryptographie Seul un
chapitre 7 Information et données 4 TD : Découverte de la cryptographie Seul un ordinateur éteint, enfermé dans un coffre-fort et enterré six pieds sous terre dans un endroit tenu secret peut être considéré comme sécurisé, et encore. Bruce Schneier Bien sur, en cryptographie, tous les caractères non alphabétiques sont supprimés du texte à coder. Sans quoi, ils donnent des indices trop importants en permettant d’identifier le nombre de lettres des mots. On pourra donc réutiliser la fonction nettoye de l’exercice 13 Exercice 1 : Simple encodage Décodez le texte du fichier 7_TD_exo1.py, encodé en ISO-8859-1. Exercice 2 : cryptographie par le code binaire 1) a) Écrire une fonction retourne(chaine) qui renvoie la chaine en argument écrite à l’envers. b) Écrire une fonction inverse(chaine) dont l’argument est une chaîne constituée de 0 et de 1 et qui renvoie la chaine obtenue en remplaçant les 0 par des 1 et inversement 2) Écrire une fonction qui prend un texte et renvoie la chaîne binaire correspondant à son encodage en latin-1 (comme dans l’énoncé de l’exo 1) 3) Coder la méthode de cryptographie suivante : Le texte d’origine est nettoyé (cf exo 13) puis traduit en binaire à l’aide de la question 2. Ensuite, on modifie le code binaire à l’aide d’une des fonctions de la question 1. Enfin, on traduit le code binaire obtenu en un texte qu’on affiche. Exercice 3 : cryptographie par substitution de lettres Partie 1 : le code César Il s’agit d’une méthode de cryptographie qui consiste à remplacer une lettre de l’alphabet par une autre décalée de 3 (ou un autre décalage). Par exemple, CESAR est codé par FHVDU. 1) Écrire une fonction cesar_chiffre(chaine,cle) qui code la chaîne entrée avec un décalage de cle. On vérifiera assert(cesar_chiffre('CESAR',3)=='FHVDU') 2) Expliquer comment déchiffrer un texte dont on connait le décalage et écrire la fonction correspondante. 3) On vaut décoder le message 'KAJEXEXDBJENICAXDEN'. Combien y a-t-il de décalages possibles ? On va décrypter par une méthode brutale : écrire un script qui va tester tous les décalages possibles. Quel est le message d’origine ? Partie 2 : chiffrage par permutation On utilise un tableau pour coder les substitutions. Par exemple Lettre origine A B C D E F G H I J K L M Lettre codée D Y X T L J O E N B M R V Lettre origine N O P Q R S T U V W X Y Z Lettre codée F K C A H W Q S U Z I P G 1) a) Écrire une fonction crypte_lettre(tableau,lettre) qui prend une lettre et retourne la lettre obtenue avec le cryptage défini par le tableau. b) Écrire une fonction crypte_texte(tableau,texte) qui renvoie le texte ainsi crypté. Par exemple crypte_texte(tableau,"Bienvenue en NSI") donne 'YNLFULFSLLFFWN' 2) Combien y a-t-il de tableaux de cryptage différents ? En essayant 1000 possibilités par seconde, combien de temps faudrait-il pour décrypter par force brute un texte ainsi crypté ? Partie 3 : pour aller plus loin : Au choix : * réfléchir à une méthode pour décrypter le chiffrage de la partie 2 * Chercher des informations sur le chiffre de Vigenère et l’implémenter. 010000010111010001110100011001010110111001110100011010010110111101101110001011000010000001 100011011001010010000001101101011001010111001101110011011000010110011101100101001000000110 000100100000011001010110111000100000011001100110000101101001011101000010000011000011101010 010111010011000011101010010010000001100101011011100110001101101111011001001100001110101001 001000000110010101101110001000000101010101010100010001100010110100111000001000000010000100 001010000010100101010101101110001000000111000001100001011011100110011101110010011000010110 110101101101011001010010000000111010001000001100001010101011110000101010000001110110011011 110110100101111000001000000110000101101101011000100110100101100111011101011100001110101011 001000000110010000100111011101010110111000100000011000111100010110010011011101010111001000 100000011100010111010101101001001011000010000001100001011101010010000001111010110000111010 100101110000011010000111100101110010001011000010000001110000011100101100001110101001011001 101100001110101000011100100110010100100000011011000110010101110011001000000110101001100001 011101000111010001100101011100110010000001100100011001010010000001101011011010010111011101 101001011100111100001010100000110000101011101100101110000010100000101001000101011011100110 001101101111011001000110010101111010001000000110110001100001001000000111000001101000011100 100110000101110011011001010010000001100100001001110110100101101110011101000111001001101111 011001000111010101100011011101000110100101101111011011100010000001100100011001010010000001 100011011001010111010000100000011001010111100001100101011100100110001101101001011000110110 010100100000011001010110111000100000010101010101010001000110001011010011100000101110 uploads/S4/ 7-td-cryptographie.pdf
Documents similaires
-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 14, 2021
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.3621MB