Rendu du défi de la sae crypto
- 📝 Table of Contents
- 🧐 About
- Rapport
- 🏁 Getting Started
- 🎈 Plus d'informations sur la méthodologie
- ⛏️ Built Using
- ✍️ Authors
Rendu du défi 1 de la sae crypto de l'iut d'Orléans. Il permet de décypter des messages codé avec des anciennes méthodes
Pour tester le décryptages des textes, il faut lancer le fichier main.py avec python et suivre les instruction écrite dans le terminal. ATTENTION: Certains décryptage peuvent prendre du temps.
Pour tester diffie-hellman, il faut lancer le fichier diffie_hellman.py avec python et suivre les instruction écrite dans le terminal.
pip install math
Nous disposons des échanges textuels codés par l’empire de Kaota. Nous n’avons donc pas d’idée sur le type de cryptage utilisé, nous allons devoir étudier les fichiers afin de savoir quel type de cryptage est utilisé avant de le décrypter.
Pour décoder un texte automatiquement, nous cherchons l’indice de coïncidence pour déterminer le nombre d’alphabet utilisé (si c’est un cryptage mono ou poly alphabétique).
Nous obtenons des valeurs entre 0.4 et 0.5 sur certains texte, nous en déduisons qu’il s’agit d’un cryptage mono alphabétique. Dans ce cas, le codage a été fait avec : césar ou affine ou substitution.
Pour découvrir avec quel codage cela a été fait, nous allons essayé de décoder le texte avec cesar puis utiliser la fonction est_français()
pour voir si le texte est a plus de 70% en français. Si ce n’est pas le cas, nous essayons avec affine et enfin avec la substitution.
Pour les autres textes nous obtenons des valeurs entre 0.2 et 0.3, ce qui correspond à un alphabet polyalphabétique. Le codage a été fait avec: Hill ou vignère.
Pour découvrir avec quel codage cela a été fait, nous allons estimer la longeur probable de la clé avec la fonction longuerclev()
. Si la longueur est égale à 2, le codage est alors fait avec Hill. Sinon, il s’agit d’un codage vignère.
Une fois que nous connaissons avec quel codage le texte a été codé, nous pouvons décoder le texte avec la fonction adapté.
Pour chaque décodage, nous implémentons des théorèmes mathématiques vue en cours ou en TD ou sur internet.
- Python - dev
- Depot git - Depot github du projet
Projet fait par le groupe Erwan MANACH, Benjamin GUERRE et Paul JUPILLIAT