This Python application provides a comprehensive solution for secure file encryption, decryption, and digital signature verification using RSA encryption and SHA-256 hashing. It ensures data security and integrity through key functionalities such as RSA key pair generation, file encryption and decryption, and digital signing and verification.
- 🔑 RSA Key Pair Generation: Generates a pair of RSA keys (private and public) with a key size of 4096 bits. The private key is encrypted with a user-defined password for added security.
- 🗄️ File Encryption: Encrypts files using the recipient's public key, ensuring only the intended recipient can decrypt and access the file.
- 🔓 File Decryption: Decrypts files using the private key, protected by a password.
- ✒️ Digital Signing: Creates a digital signature for a file by hashing the file content using SHA-256 and encrypting the hash with the user's private key. The digital signature is stored in an XML file.
- ✔️ Signature Verification: Verifies the integrity and authenticity of a signed file by comparing the decrypted hash from the digital signature with a newly generated hash of the received file.
-
Ensure you have Conda installed. You can download it from Conda's official website.
-
Create a new environment using the provided
environment.yml
file:conda env create -f environment.yml
-
Activate the newly created environment:
conda activate BSK
- Must have public key
- No private key
- Pendrive with private key inserted: