EnigmaBox is a Python library for secure text encryption and decryption using AES-256 and Argon2id . It combines industry-standard cryptographic algorithms with a simple, intuitive interface, making it easy to protect sensitive data with strong encryption. Perfect for developers who need robust security without complexity.
Project description
EnigmaBox
EnigmaBox is a Python library designed to provide secure and straightforward encryption and decryption using AES-256 with Argon2id key derivation. It balances security and simplicity, making it easy to integrate into your projects while ensuring robust protection for your data.
Features
- AES-256 Encryption: Utilizes the Advanced Encryption Standard with a 256-bit key for strong encryption.
- Argon2id Key Derivation: Derives cryptographic keys from passwords using the secure Argon2id algorithm.
- Simple API: Easy-to-use methods for encryption and decryption.
- Secure Random Salt and IV: Ensures each encryption operation is unique and secure.
Installation
You can install EnigmaBox using pip:
pip install enigmabox
Usage
Here's how you can use EnigmaBox to encrypt and decrypt messages:
from EnigmaBox import EnigmaBox
# Encrypt a message
password = "your_secure_password"
message = "Your secret message"
encrypted_message = EnigmaBox.encrypt(password, message)
print("Encrypted Message:", encrypted_message)
# Decrypt the message
decrypted_message = EnigmaBox.decrypt(password, encrypted_message)
print("Decrypted Message:", decrypted_message)
API
encrypt(password: str, message: str) -> str
Encrypts a message using the provided password.
-
Parameters:
password(str): The password used for encryption.message(str): The message to be encrypted.
-
Returns:
str: The encrypted message as a base64-encoded string.
decrypt(password: str, encrypted_message: str) -> str
Decrypts an encrypted message using the provided password.
-
Parameters:
password(str): The password used for decryption.encrypted_message(str): The encrypted message to be decrypted.
-
Returns:
str: The decrypted message.
Security Considerations
- Key Derivation: EnigmaBox uses Argon2id for key derivation, which is resistant to side-channel attacks and provides strong security against brute-force attacks.
- Random Salt and IV: Each encryption operation uses a randomly generated salt and initialization vector (IV) to ensure that identical messages encrypted with the same password yield different ciphertexts.
- Error Handling: The library includes error handling to manage invalid inputs and decryption failures, enhancing usability and security.
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For questions or feedback, please open an issue on the GitHub repository.
EnigmaBox aims to provide a secure and user-friendly encryption solution. By balancing security and simplicity, it ensures that your data remains protected without compromising ease of use.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file enigmabox-1.1.0.tar.gz.
File metadata
- Download URL: enigmabox-1.1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
435dcff0cb0e4a7f813bf42655b19fe5973b4c1ae16720510102ee1d9849f6e8
|
|
| MD5 |
7d5a1e3198e9f7e3940fd4cbdcc9711a
|
|
| BLAKE2b-256 |
8f4050e0f3e43516bebe4a021eae0ae135108bb63b06849328a33cd2718f6e82
|
File details
Details for the file enigmabox-1.1.0-py3-none-any.whl.
File metadata
- Download URL: enigmabox-1.1.0-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e6da3ebd8dd2768f21b0c3c31010d9b59cb99ad278ec8ca8efab8cd48e8bce0
|
|
| MD5 |
e6930c27220bb4e5226a999f2fa02a57
|
|
| BLAKE2b-256 |
82fca26ff628d126f1e1a7ad8804e902d42ab8038a3b3949d1afdcab8405b496
|