{"cells":[{"metadata":{},"cell_type":"markdown","source":"![En tête general](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/En_tete_general.png)\n\n\n© Copyright Franck CHEVRIER 2019-2022 https://www.python-lycee.com.
\nLes activités partagées sur Capytale sont sous licence Creative Commons.\n\n Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n"},{"metadata":{},"cell_type":"markdown","source":"# Chiffrement RSA\n\n### Activité sur le chiffrement n°3\n##### (prérequis: congruences, équations diophantiennes, nombres premiers, théorème de Gauss, petit théorème de Fermat)\n\n![Illustration_detectives](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/Chiffrement_RSA.png)"},{"metadata":{},"cell_type":"markdown","source":"Cette activité propose, sous forme simplifiée, d'étudier le principe du chiffrement RSA.
\n\n### Sommaire\n\n1. Principe du chiffrement RSA
\n2. Échanges sécurisés de message
\n3. Principe d'authentification
\n4. Compléments arithmétiques
"},{"metadata":{},"cell_type":"markdown","source":"## 1. Principe du chiffrement RSA"},{"metadata":{},"cell_type":"markdown","source":"Archibald, chef d'une agence de détectives, souhaite que tous ses associés cryptent les messages qu'ils lui envoient. Il souhaite donc leur donner à tous la même méthode de chiffrement, mais -méfiant- souhaite aussi s'asssurer d'être le seul à pouvoir décoder les messages qui lui parviennent, au cas où un espion intercepterait un de ces messages.

\nDans les activités de chiffrement précédentes, la connaissance de la clé de chiffrement permettait directement de déterminer la clé de déchiffrement, ce qui ne convient pas à Archibald.

\nPour réaliser son chiffrement, Archibald :\n