diff --git a/Cryptographie/0_cesar_MS.ipynb b/Cryptographie/0_cesar_MS.ipynb index d7bf105d636f551ed3211cc6be8e79a8650619e4..116bfbb9483f5edbc6119c4102b696002bd4e604 100644 --- a/Cryptographie/0_cesar_MS.ipynb +++ b/Cryptographie/0_cesar_MS.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "metadata": {}, + "metadata": {}, "source": "<div style=\"padding:20px;background-color:papayawhip;\" > \n<h3 style=\"color:chocolate\"> <i class=\"fa fa-info\" aria-hidden=\"true\"> </i> Remarque introductive <i class=\"fa fa-info\" aria-hidden=\"true\"></h3> \n<p> Ce fichier est fait pour être lu sur le site <a href=\"https://notebook.basthon.fr/\"><img src='https://notebook.basthon.fr/assets/efede5218c9087496f16.png' style=\"border: 0; display:inline; margin: 0 5px; height:30px\" alt=\"Basthon\"/></a>. <br>\n \nSi vous l'avez ouvert avec un autre programme, comme Jupyter notebook, vous riquez de rencontrer quelques bugs. <br>\nVeuillez cliquez sur <a href=\"https://notebook.basthon.fr/\">ce lien</a> et y charger ce fichier à l'aide du bouton \"Ouvrir\" <i class=\"fa fa-folder\" aria-hidden=\"true\"> </i>\n</p> </div> " }, { @@ -13,7 +13,7 @@ { "cell_type": "markdown", "metadata": {}, - "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> Exercice 1 </h3> \n\nOn fournit une fonction `decale_car(car, decal)`qui renvoie le caractère `car` décalé (à gauche) dans l'alphabet d'un décalage `decal`. \n\nUtilisez la fonction `decale_car` (voir les exemples dans le commentaire de la fonction) pour répondre aux questions suivantes: \n\n1) Quelle lettre obtient-on si on décale B de 3 caractère ?\n2) Quelle lettre obtient-on si on décale X de 10 caractère ?\n" + "source": "<h3 style=\"color:teal;background-color:azure;\" > <i class=\"fa fa-pencil\" aria-hidden=\"true\"> </i> Exercice 1 </h3> \n\nOn fournit une fonction `decale_car(car, decal)`qui renvoie le caractère `car` décalé (à gauche) dans l'alphabet d'un décalage `decal`. \n\nUtilisez la fonction `decale_car` (voir les exemples dans le commentaire de la fonction) pour répondre aux questions suivantes: \n\n1) Quelle lettre obtient-on si on décale B de 3 caractères ?\n2) Quelle lettre obtient-on si on décale X de 10 caractères ?\n" }, { "cell_type": "code", @@ -27,7 +27,7 @@ { "cell_type": "raw", "metadata": {}, - "source": "Quelle lettre obtient-on si on décale B de 3 caractère ?\n Ma réponse : \nQuelle lettre obtient-on si on décale X de 10 caractère ?\n Ma réponse : " + "source": "Quelle lettre obtient-on si on décale B de 3 caractères ?\n Ma réponse : \nQuelle lettre obtient-on si on décale X de 10 caractères ?\n Ma réponse : " }, { "cell_type": "markdown", @@ -47,7 +47,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": true + "trusted": false }, "outputs": [], "source": "def decale_car(car, decal):\n pos_a = ord(\"a\") # position du 'a' dans la table ASCII\n pos_car = ord(car.lower()) # position de car en minuscule dans la table ASCII\n caractere_decale = chr((pos_car - decal - pos_a) % 26 + pos_a)\n return caractere_decale\n\ndef dechiffre_cesar(msg_chiffre, cle):\n ''' \n Fonction qui permet de dechiffrer un message en utilisant le chiffre de cesar.\n \n Paramètres :\n msg_chiffre (str) : le message chiffre\n cle (int) : le décalage (la clé du chiffre)\n \n Valeur retournée (return) :\n msg_dechiffre (str) : le message dechiffré avec le décalage donné par le paramètre cle\n \n Exemples:\n >>> decale_car('cheuh', 3)\n 'zebre'\n '''\n \n msg_dechiffre = ''\n \n for caractere in msg_chiffre: # pour chaque caractère du message\n\n if caractere != ' ': # sauf les espaces\n caractere_decale = decale_car(caractere, cle) \n msg_dechiffre = msg_dechiffre + caractere_decale\n\n else:\n msg_dechiffre = msg_dechiffre + caractere\n \n return msg_dechiffre\n\n\n# Utilisation de la fonction\nmessage_chiffre = \"un bxunru karuun bda brbvxwmr\"\n\nprint(\"Message chiffré : \", message_chiffre)\n\ndecalage = 13 # VALEUR À CHANGER POUR TESTER\nprint(\"Valeur du décalage:\", decalage)\nmessage_dechiffre = dechiffre_cesar(message_chiffre, decalage)\nprint(\"Message déchiffré : \",message_dechiffre)\n" @@ -55,7 +55,7 @@ { "cell_type": "raw", "metadata": {}, - "source": "Quelle est la clé utilisée ?\n Ma réponse : \nQuel est le message déchifrée ?\n Ma réponse : " + "source": "Quelle est la clé utilisée ?\n Ma réponse : \nQuel est le message déchiffré ?\n Ma réponse : " }, { "cell_type": "markdown", @@ -76,15 +76,15 @@ "execution_count": null, "metadata": { "scrolled": true, - "trusted": true + "trusted": false }, "outputs": [], - "source": "def decale_car(car, decal):\n pos_a = ord(\"a\") # position du 'a' dans la table ASCII\n pos_car = ord(car.lower()) # position de car en minuscule dans la table ASCII\n caractere_decale = chr((pos_car - decal - pos_a) % 26 + pos_a)\n return caractere_decale\n\ndef dechiffre_cesar(msg_chiffre, cle):\n msg_dechiffre = '' \n for caractere in msg_chiffre: # pour chaque caractère du message\n if caractere != ' ': # sauf les espaces\n caractere_decale = decale_car(caractere, cle) \n msg_dechiffre = msg_dechiffre + caractere_decale\n else:\n msg_dechiffre = msg_dechiffre + caractere\n return msg_dechiffre\n\n################ PROGRAMME PRINCIPAL ####################\ndecalage = 0\nmessage_chiffre = \"et engx xlm iexbgx vxmmx gnbm\"\n\nprint(\"Message chiffré : \", message_chiffre)\n\nmessage_dechiffre = dechiffre_cesar(message_chiffre, decalage)\nprint(\"Valeur du décalage:\", decalage)\nprint(\"Message déchiffré : \", message_dechiffre)" + "source": "def decale_car(car, decal):\n pos_a = ord(\"a\") # position du 'a' dans la table ASCII\n pos_car = ord(car.lower()) # position de car en minuscule dans la table ASCII\n caractere_decale = chr((pos_car - decal - pos_a) % 26 + pos_a)\n return caractere_decale\n\ndef dechiffre_cesar(msg_chiffre, cle):\n msg_dechiffre = '' \n for caractere in msg_chiffre: # pour chaque caractère du message\n if caractere.isalpha(): # sauf les espaces\n caractere_decale = decale_car(caractere, cle) \n msg_dechiffre = msg_dechiffre + caractere_decale\n else:\n msg_dechiffre = msg_dechiffre + caractere\n return msg_dechiffre\n\n################ PROGRAMME PRINCIPAL ####################\ndecalage = 0\nmessage_chiffre = \"et engx xlm iexbgx vxmmx gnbm\"\n\nprint(\"Message chiffré : \", message_chiffre)\n\nmessage_dechiffre = dechiffre_cesar(message_chiffre, decalage)\nprint(\"Valeur du décalage:\", decalage)\nprint(\"Message déchiffré : \", message_dechiffre)" }, { "cell_type": "raw", "metadata": {}, - "source": "Quelle est la clé utilisée ?\n Ma réponse : \nQuel est le message déchifrée ?\n Ma réponse : " + "source": "Quelle est la clé utilisée ?\n Ma réponse : \nQuel est le message déchiffré ?\n Ma réponse : " }, { "cell_type": "markdown", @@ -104,7 +104,7 @@ "cell_type": "code", "execution_count": null, "metadata": { - "trusted": true + "trusted": false }, "outputs": [], "source": ""