{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![En tête general](img/En_tete_general.png)\n",
"\n",
"\n",
"*(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/*\n",
"\n",
" Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"# chiffrement affine \n",
"\n",
"### Activité sur le chiffrement n°1\n",
"##### (prérecquis: congruences, théorème de Bézout, théorème de Gauss, équations diophantiennes)\n",
"\n",
"![Illustration_detectives](img/Chiffrement_affine.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Coder et décoder un message"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Archibald et Balthazar, deux détectives maladroits, souhaitent coder les messages qu'ils doivent échanger afin qu'ils ne soient pas déchiffrables s'ils tombaient en de mauvaises mains.
\n",
"
\n",
"Ils commencent par associer chaque lettre de l'alphabet à un nombre entier comme l'indique le tableau ci-dessous.\n",
"
\n",
"\n",
"| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | \n",
"|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|\n",
"| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25|\n",
"\n",
"Ils décident ensuite de coder leurs messages avec le chiffrement affine suivant :
\n",
"\n",
"
\n",
"Si la lettre à coder correspond à $x$ (avec $0 \\leqslant x \\leqslant 25$), alors on calcule le reste de la division euclidienne de $11x+8$ par $26$, noté $y$.
\n",
"Comme $0 \\leqslant y \\leqslant 25$ , on peut associer une lettre à cette valeur $y$ : Cette lettre est le codage de la lettre initiale.
\n",
"Le couple $(11;8)$ est la clé de chiffrement.\n",
"