ajout TD sécu edit chiffrement

This commit is contained in:
2025-04-02 10:31:53 +02:00
parent a537b9ee58
commit 3067f58156

View File

@@ -5,9 +5,9 @@
"id": "ca34006a",
"metadata": {},
"source": [
" ## Méthodes de Cryptographie\n",
" ## Méthodes de Chiffrement\n",
"\n",
"> But du projet : Montrer différentes façons de crypter un message\n",
"> But du projet : Montrer différentes façons de chiffrer un message\n",
"\n",
"La cryptographie est une discipline très ancienne. Elle est utilisée depuis l'antiquité et utilise différentes techniques. \n",
"Je vous engage à lire la page wikipédia : https://fr.wikipedia.org/wiki/Histoire_de_la_cryptologie qui récapitule des exemples historiques dont certains sont plutôt surprenants. "
@@ -20,7 +20,7 @@
"source": [
"# Cahier des charges\n",
"\n",
"Vous devez réaliser des fonctions permettant de mettre en oeuvre les différentes méthodes de cryptographie. Essayer de respecter ce qu'il est proposé de faire. \n",
"Vous devez réaliser des fonctions permettant de mettre en oeuvre les différentes méthodes de chiffrement. Essayer de respecter ce qu'il est proposé de faire. \n",
"\n",
"### Dans vos programmes vous devez : \n",
"* **Expliquer chacune des fonctions créées** , c'est-à-dire écrire une documentation de la fonction (docstring). Cette documentation devra expliquer le principe de la transformation réalisée par votre code python. \n",
@@ -41,7 +41,7 @@
"metadata": {},
"source": [
"# Présentation du projet\n",
"Ci-dessous, je vous présente les techniques de cryptographie qu'il faudra mettre en oeuvre:"
"Ci-dessous, je vous présente les techniques de chiffrement qu'il faudra mettre en oeuvre:"
]
},
{
@@ -70,8 +70,8 @@
"* la possibilité de **choisir une valeur de décalage**\n",
"* le **chiffrement d'un caractère** en tenant compte de ce décalage. \n",
"* le **chiffrement d'une phrase complète** (tenir des caractères spéciaux : les espaces, les chiffres..) \n",
"* le **déchiffement d'une phrase cryptée en connaissant le décalage**. \n",
"* la possibilité de **déchiffrer une phrase cryptée sans connaitre le décalage initiale**."
"* le **déchiffement d'une phrase chiffrée en connaissant le décalage**. \n",
"* la possibilité de **déchiffrer une phrase chiffrée sans connaitre le décalage initiale**."
]
},
{
@@ -104,7 +104,7 @@
"**Il faudra proposer** : \n",
"* un **alphabet aléatoire** qui correspond à un **mélange de lettre** comme par exemple : `ykcodmfjgzaxrnbutqiphwesvl` \n",
"* le **chiffrement d'un caractère puis d'une phrase en tenant compte du mélange obtenue**. \n",
"* le **déchiffrement d'une phrase cryptée en connaissant le mélange de lettre**."
"* le **déchiffrement d'une phrase chiffrée en connaissant le mélange de lettre**."
]
},
{
@@ -136,7 +136,7 @@
"![img2.jpg](attachment:img2.jpg)\n",
"\n",
"On a intercepté un message, mais on ne connaît pas la substitution. \n",
"**Comment utiliser les statistiques pour décrypter le message ?** \n",
"**Comment utiliser les statistiques pour déchiffrer le message ?** \n",
"\n",
"Voici une méthode dattaque : dans le texte chiffré, on cherche la lettre qui apparaît le plus, et si le texte est assez long, cela devrait être le chiffrement du `E`, la lettre qui apparaît ensuite dans létude des fréquences devrait être le chiffrement du `S`, puis le chiffrement du `A, I, N, T`... \n",
"\n",
@@ -151,7 +151,7 @@
"\n",
" j : 7 \td : 5 \tm : 3 \tb, l, t, w : 2\n",
"\n",
"On suppose donc que le j crypte la lettre E, le d la lettre S, ce qui donne :\n",
"On suppose donc que le j chiffre la lettre E, le d la lettre S, ce qui donne :\n",
"\n",
" E* S* ** ESS***** * E**E *E**E*SES\n",
"\n",
@@ -167,11 +167,11 @@
"\n",
" ET S* ** ESS****T * ET*E *E**E*SES\n",
" \n",
"En cherchant où placer les lettres les plus fréquentes suivantes (`A, I, N`) puis les autres, avec un peu de patience et de bon sens, on décrypte le message :\n",
"En cherchant où placer les lettres les plus fréquentes suivantes (`A, I, N`) puis les autres, avec un peu de patience et de bon sens, on déchiffre le message :\n",
"\n",
" ET SI ON ESSAYAIT D ETRE HEUREUSES\n",
"\n",
"**Il faudra proposer cette méthode d'attaque statistique pour déchiffrer un message crypté par la méthode de chiffrement par substitution dont on ne connait pas le méménage des lettres ayant servi à crypter.**"
"**Il faudra proposer cette méthode d'attaque statistique pour déchiffrer un message chiffré par la méthode de chiffrement par substitution dont on ne connait pas le méménage des lettres ayant servi à chiffrer.**"
]
},
{
@@ -180,7 +180,7 @@
"metadata": {},
"source": [
"### Énigmes. \n",
"Essayer de décrypter les trois citations suivantes. Chacune a été chiffrée par une substitution différente.\n",
"Essayer de déchiffrer les trois citations suivantes. Chacune a été chiffrée par une substitution différente.\n",
"Les frères Goncourt : \n",
"\n",
" ay dmymndmnxlv vdm ay shvjnvhv fvd dznvgzvd ngvcyzmvd\n",
@@ -240,13 +240,19 @@
"**Il faudra proposer** :\n",
"* le **découpage d'une phrase en bloc** de n lettres\n",
"* la **création d'une clé** de n nombres de 0 à 25\n",
"* le **chiffrement de chaque lettre** d'un bloc par la clé pour aboutir à un message crypté.\n",
"* le **chiffrement de chaque lettre** d'un bloc par la clé pour aboutir à un message chiffré.\n",
"\n",
"Peut-être pouvez-vous proposer de décrypter un message ? Dans ce cas essayer de décrypter le message suivant (et trouvez son auteur) qui a été codé par un chiffrement de Vigenère avec une clé (inconnue !) de longueur 4.\n",
"Peut-être pouvez-vous proposer de dechiffrer un message ? Dans ce cas essayer de déchiffrer le message suivant (et trouvez son auteur) qui a été codé par un chiffrement de Vigenère avec une clé (inconnue !) de longueur 4.\n",
"\n",
" DL ZHGIVUEL OD UL LQK TYDVL OIL XEU DLC YEIOSASOI KVXJ KBBI WA PYWYC T WBH\n",
" QDVBI IBO BWZ QUFZ SDLLVBANODLZ CEFA OCHSSI VL NEMAOI\n"
]
},
{
"cell_type": "markdown",
"id": "35d5473d",
"metadata": {},
"source": []
}
],
"metadata": {