This program is a cryptography application developed by Merbouche Mouloud. It showcases the implementation of various cryptography algorithms including RSA, Elliptic Curve Cryptography (ECC), Fernet encryption, Quantum Key Distribution, and the Vigenère Cipher.
The project was awarded a final grade of 19/20.
To run this application, you will need Python along with the following libraries:
tkinterfor the graphical user interfacecryptographyfor cryptographic operationsPillowfor image processing tasksrandomfor generating random numbers, essential for cryptographic algorithmsosfor operating system interaction
These dependencies can be installed using pip:
pip install tk cryptography PillowPlease read the user manual carefully before launching the application. To start the application:
- Execute
Main.pyby typingpython Main.pyin your terminal. - Use the GUI to select and simulate different cryptographic algorithms.
- RSA Algorithm: Facilitates key generation, and the encryption and decryption of messages.
- Elliptic Curve Cryptography (ECC): Supports key generation, encryption, and decryption using ECC.
- Fernet Encryption: Implements symmetric key cryptography for encryption and decryption tasks.
- Quantum Key Distribution: Simulates quantum key distribution to demonstrate potential quantum cryptography methods.
- Vigenère Cipher: Encrypts text using a form of polyalphabetic substitution.
Main.py: The main file to run the application.ANIMATEDRSA.py: Contains the RSA encryption and decryption functionalities.- Additional modules for each cryptographic method are included.
Contributions are welcome! Feel free to fork this project and submit pull requests to help improve the functionality of the cryptographic simulations.
- Make sure to check the exact file names and paths when you include them in the documentation.
- Replace "user manual" with the actual name and possibly a link to the user manual if it is available online.
- Adjust the language and details according to the actual functionality and implementation specifics of your project.