This project is an end-to-end cryptography application that combines hybrid encryption (AES-GCM + RSA-3072) and digital signatures to ensure data confidentiality and integrity. The user interface is built with Tkinter, and cryptographic operations are handled using the PyCryptodome library.
- Hybrid Encryption: Uses AES-GCM for data encryption and RSA-3072 for encrypting AES keys.
- Digital Signature: Generates and verifies digital signatures to ensure data integrity.
- Intuitive User Interface: Select files to encrypt or decrypt through a graphical interface.
- Metadata Management: Encrypted files include metadata to preserve the original file extension.
- Python 3.8 or higher
- PyCryptodome library
-
Clone this repository:
git clone [email protected]:Sharingan-Team/innov-digital-encryption.git cd innov-digital-encryption
-
Install the required dependencies:
pip install pycryptodome
-
Run the application:
python crypto_simulation.py
-
A graphical interface will open with the following options:
- Select File to Encrypt: Choose a file to encrypt.
- Select File to Decrypt: Choose an encrypted file to decrypt.
-
Follow the on-screen instructions to encrypt or decrypt your files.
crypto_simulation.py: Main entry point of the application.crypto_ui.py: User interface built with Tkinter.crypto_utils.py: Utility functions for encryption and digital signatures.README.md: Project documentation.
- RSA keys are dynamically generated for each session.
- Encrypted files include a digital signature to ensure their integrity.
- Metadata is securely encoded to preserve file extensions.
Contributions are welcome! Please submit a pull request or open an issue to report bugs or suggest improvements.
This project is licensed under the MIT License. See the LICENSE file for more details.