Implémentation simple mais configurable de la machine Enigma en OCaml, dans le cadre d'un devoir maison
  • OCaml 97.9%
  • Dune 2.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2024-03-11 21:29:56 +01:00
bin doc: added readme 2024-03-11 21:23:57 +01:00
lib doc: added readme 2024-03-11 21:23:57 +01:00
test Initial commit 2023-11-10 16:51:09 +01:00
.gitignore Initial commit 2023-11-10 16:51:09 +01:00
.ocamlformat Initial commit 2023-11-10 16:51:09 +01:00
dm01_enigma_en.pdf Initial commit 2023-11-10 16:51:09 +01:00
dm01_enigma_fr.pdf Initial commit 2023-11-10 16:51:09 +01:00
DMEnigma.opam Initial commit 2023-11-10 16:51:09 +01:00
dune Initial commit 2023-11-10 16:51:09 +01:00
dune-project Initial commit 2023-11-10 16:51:09 +01:00
README.md fix: fixed typo in readme 2024-03-11 21:29:56 +01:00

DM Enigma

Implémentation de la machine Enigma en OCaml, dans le cadre d'un DM.

Installation

Pour utiliser le projet, vous pouvez simplement le cloner, puis l'éxécuter:

$ git clone https://codeberg.org/mrbrownfr/enigma.git
$ cd dmenigma
$ dune exec DMEnigma

Les options disponibles sont:

  • -u [int] pour paramétrer le premier élément de la suite pseudo-aléatoire qui simule une sélection aléatoire de nombres
  • q9 pour éxécuter la question 9 (elle ne termine pour l'instant pas avant plus de 8h30 d'éxécution)

Tester le projet

Pour tester le projet avec des données certifiées, vous pouvez exécuter dune test.

Expérimentation

Le module contenant les fonctions utiles au DM est généré à partir de configurations pour la génération de la suite pseudo-aléatoire, ainsi que les roues de la machine. Un module Default est fourni, contenant une configuration saine, et liée à l'énoncé. Vous pouvez cependant fournir vos propres implémentations.