Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enigmabox-1.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

enigmabox-1.1.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

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

Hashes for enigmabox-1.1.0.tar.gz
Algorithm Hash digest
SHA256 435dcff0cb0e4a7f813bf42655b19fe5973b4c1ae16720510102ee1d9849f6e8
MD5 7d5a1e3198e9f7e3940fd4cbdcc9711a
BLAKE2b-256 8f4050e0f3e43516bebe4a021eae0ae135108bb63b06849328a33cd2718f6e82

See more details on using hashes here.

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

Hashes for enigmabox-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e6da3ebd8dd2768f21b0c3c31010d9b59cb99ad278ec8ca8efab8cd48e8bce0
MD5 e6930c27220bb4e5226a999f2fa02a57
BLAKE2b-256 82fca26ff628d126f1e1a7ad8804e902d42ab8038a3b3949d1afdcab8405b496

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page