Skip to main content

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:Encrypt
    • kms: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


Download files

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

Source Distribution

cryptorix-1.0.9.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

cryptorix-1.0.9-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

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

Hashes for cryptorix-1.0.9.tar.gz
Algorithm Hash digest
SHA256 7b946b857919922d9a56644f275061338fcef123e5ab88058c1ce756b66e21f6
MD5 3b1826fabfbc3bd434a9b01d2753d6e3
BLAKE2b-256 55b29d16ecf11e96e2f155ed44d541e41bd60064c8c513f31f4002f43f2f9172

See more details on using hashes here.

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

Hashes for cryptorix-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 4f839ae381c3a1c610739cf364066a28cdd54c7783069d651014927cf5c85781
MD5 230cf5120da2720562b5c23b147e4d1a
BLAKE2b-256 96bd56c6a22facb83fe60de288b5af13ae25abc434247d73624d1053d322c49b

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