Algorithms for cryptology implemented as part of a cryptology course.
You must have Python 3 installed on your machine.
- assets - images or other files that can be used to test some cipher algorithms.
- outputs - ciphered/deciphered assets
- src - functions and classes (math, cipher algorithms, helpers, ..)
- tests - unit tests
We had to implement 2 algorithms for the course's project:
- Threefish
- CramerShoup (with SHA-1 as hash function)
We've built a simple cli, using curses, that allows the user to easily play with these 2 cipher algorithms and SHA-1.
The script that launchs the cli is at the root of the project. So you just have to go inside the project's directory with a terminal, and execute the script with Python 3:
python3 cli.py
WARNING The Threefish decryption option in the cli is possessed by dark magic, and works only once in two. It may be a problem with stdin/stdout. So you can use cli.py for Threefish, but they may be some problems. We built another cli (less advanced, but this one works perfectly) for Threefish. To run it, go to the root of the project and execute this script with Python 3:
python3 cli_threefish.py
python3 -m unittest discover tests
This project is licensed under the MIT License - see the LICENSE.md file for details