A Python package that provides robust encryption and decryption mechanisms, utilizing AES, FERNET, JWE, Hybrid Encryption, AWS KMS, and AWS Secrets Manager.
Project description
🔐 Cryptorix
Cryptorix is a powerful Python package that makes it easy to securely encrypt and decrypt data using:
- AES, FERNET, JWE, and Hybrid Encryption
- AWS KMS and Secrets Manager for secure key management
It supports both symmetric (AES) and asymmetric (RSA) encryption, and integrates directly with AWS services to keep your secrets safe.
🧩 Overview
Cryptorix simplifies encryption workflows by offering modular support for:
- AES and FERNET for secure data encryption
- JWE for secure token exchange
- Hybrid Encryption (AES + RSA)
- AWS KMS for encrypting values
- AWS Secrets Manager for retrieving and decrypting secrets
🚀 Features
AES
Encrypt and decrypt Python dictionaries with AES encryption.
from Cryptorix.aes import encrypt, decrypt
encrypted = encrypt(data="your_data", hex_key="your_hex_key")
decrypted = decrypt(encrypted_data=encrypted, hex_key="your_hex_key")
Fernet
Encrypt and decrypt Python dictionaries with Fernet encryption.
from Cryptorix.fernet import encrypt, decrypt
encrypted = encrypt(data="your_data", key=b"your_key")
decrypted = decrypt(encrypted_data=encrypted, key=b"your_key")
JWE
Use RSA + AES-GCM to encrypt and decrypt data in JWE format.
from Cryptorix.jwe import encrypt, decrypt
jwe_token = encrypt(data={}, public_key_pem="your_public_key_pem")
original_data = decrypt(encrypted_data=jwe_token, private_key_pem="your_private_key_pem")
Hybrid Encryption
Combines AES for content and RSA for key encryption.
from Cryptorix.hybrid import encrypt, decrypt
result = encrypt(data={}, public_key_pem="your_public_key_pem")
original = decrypt(
encrypted_data=result["encryptedData"],
encrypted_key=result["encryptedKey"],
private_key_pem="your_private_key_pem"
)
AWS KMS
Encrypt and decrypt plain strings using AWS Key Management Service.
from Cryptorix.kms import encrypt, decrypt
enc = encrypt(plaintext="hello", kms_key_id="your_kms_key_id")
dec = decrypt(ciphertext_b64=enc)
AWS Secrets Manager
Fetch secrets securely from AWS.
from Cryptorix.secrets import get_secret_dict, get_secret_value
all_secrets = get_secret_dict(secret_name="your_secret_name")
plain = get_secret_value(secret_name="your_secret_name", key="your_secret_key")
📦 Installation
Install via pip:
pip install Cryptorix
✅ AWS Permissions
Ensure the following IAM permissions:
-
KMS
kms:Encryptkms:Decrypt
-
Secrets Manager
secretsmanager:GetSecretValue
🧰 Dependencies
📄 License
MIT License
🤝 Contributing
Contributions are welcome! Feel free to open issues or pull requests.
👤 Author
M Santhosh Kumar 📧 santhoshse7en@gmail.com
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 cryptorix-1.0.9.tar.gz.
File metadata
- Download URL: cryptorix-1.0.9.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b946b857919922d9a56644f275061338fcef123e5ab88058c1ce756b66e21f6
|
|
| MD5 |
3b1826fabfbc3bd434a9b01d2753d6e3
|
|
| BLAKE2b-256 |
55b29d16ecf11e96e2f155ed44d541e41bd60064c8c513f31f4002f43f2f9172
|
File details
Details for the file cryptorix-1.0.9-py3-none-any.whl.
File metadata
- Download URL: cryptorix-1.0.9-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f839ae381c3a1c610739cf364066a28cdd54c7783069d651014927cf5c85781
|
|
| MD5 |
230cf5120da2720562b5c23b147e4d1a
|
|
| BLAKE2b-256 |
96bd56c6a22facb83fe60de288b5af13ae25abc434247d73624d1053d322c49b
|