# 🔐 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.
```python
from Cryptorix.aes import encrypt, decrypt
encrypted = encrypt(data="your_data", aes_key="your_hex_key")
decrypted = decrypt(encrypted_data=encrypted, aes_key="your_hex_key")
```
---
### Fernet
Encrypt and decrypt Python dictionaries with Fernet encryption.
```python
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.
```python
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.
```python
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.
```python
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.
```python
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:
```bash
pip install Cryptorix
```
---
## ✅ AWS Permissions
Ensure the following IAM permissions:
* **KMS**
* `kms:Encrypt`
* `kms:Decrypt`
* **Secrets Manager**
* `secretsmanager:GetSecretValue`
---
## 🧰 Dependencies
* [`boto3`](https://pypi.org/project/boto3/)
* [`cryptography`](https://pypi.org/project/cryptography/)
* [`jwcrypto`](https://pypi.org/project/jwcrypto/)
* [`pycryptodome`](https://pypi.org/project/pycryptodome/)
---
## 📄 License
MIT License
---
## 🤝 Contributing
Contributions are welcome! Feel free to open issues or pull requests.
---
## 👤 Author
**M Santhosh Kumar**
📧 [santhoshse7en@gmail.com](mailto:santhoshse7en@gmail.com)
---
Raw data
{
"_id": null,
"home_page": null,
"name": "Cryptorix",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "AES, FERNET, JWE, Hybrid Encryption, KMS, Secrets Manager, Encryption, Decryption, AWS, Security, Cryptography",
"author": null,
"author_email": "M Santhosh Kumar <santhoshse7en@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/cd/39/fad21f882e59947761345c97e8df68ae22b1937015fc1fb7090519a7fe7e/cryptorix-1.1.0.tar.gz",
"platform": null,
"description": "# \ud83d\udd10 Cryptorix\n\n**Cryptorix** is a powerful Python package that makes it easy to securely encrypt and decrypt data\nusing:\n\n* **AES**, **FERNET**, **JWE**, and **Hybrid Encryption**\n* **AWS KMS** and **Secrets Manager** for secure key management\n\nIt supports both symmetric (AES) and asymmetric (RSA) encryption, and integrates directly with AWS\nservices to keep your secrets safe.\n\n## \ud83e\udde9 Overview\n\nCryptorix simplifies encryption workflows by offering modular support for:\n\n* AES and FERNET for secure data encryption\n* JWE for secure token exchange\n* Hybrid Encryption (AES + RSA)\n* AWS KMS for encrypting values\n* AWS Secrets Manager for retrieving and decrypting secrets\n\n---\n\n## \ud83d\ude80 Features\n\n### AES\n\nEncrypt and decrypt Python dictionaries with AES encryption.\n\n```python\nfrom Cryptorix.aes import encrypt, decrypt\n\nencrypted = encrypt(data=\"your_data\", aes_key=\"your_hex_key\")\ndecrypted = decrypt(encrypted_data=encrypted, aes_key=\"your_hex_key\")\n```\n\n---\n\n### Fernet\n\nEncrypt and decrypt Python dictionaries with Fernet encryption.\n\n```python\nfrom Cryptorix.fernet import encrypt, decrypt\n\nencrypted = encrypt(data=\"your_data\", key=b\"your_key\")\ndecrypted = decrypt(encrypted_data=encrypted, key=b\"your_key\")\n```\n\n---\n\n### JWE\n\nUse RSA + AES-GCM to encrypt and decrypt data in JWE format.\n\n```python\nfrom Cryptorix.jwe import encrypt, decrypt\n\njwe_token = encrypt(data={}, public_key_pem=\"your_public_key_pem\")\noriginal_data = decrypt(encrypted_data=jwe_token, private_key_pem=\"your_private_key_pem\")\n```\n\n---\n\n### Hybrid Encryption\n\nCombines AES for content and RSA for key encryption.\n\n```python\nfrom Cryptorix.hybrid import encrypt, decrypt\n\nresult = encrypt(data={}, public_key_pem=\"your_public_key_pem\")\noriginal = decrypt(\n encrypted_data=result[\"encryptedData\"],\n encrypted_key=result[\"encryptedKey\"],\n private_key_pem=\"your_private_key_pem\"\n)\n```\n\n---\n\n### AWS KMS\n\nEncrypt and decrypt plain strings using AWS Key Management Service.\n\n```python\nfrom Cryptorix.kms import encrypt, decrypt\n\nenc = encrypt(plaintext=\"hello\", kms_key_id=\"your_kms_key_id\")\ndec = decrypt(ciphertext_b64=enc)\n```\n\n---\n\n### AWS Secrets Manager\n\nFetch secrets securely from AWS.\n\n```python\nfrom Cryptorix.secrets import get_secret_dict, get_secret_value\n\nall_secrets = get_secret_dict(secret_name=\"your_secret_name\")\nplain = get_secret_value(secret_name=\"your_secret_name\", key=\"your_secret_key\")\n```\n\n---\n\n## \ud83d\udce6 Installation\n\nInstall via pip:\n\n```bash\npip install Cryptorix\n```\n\n---\n\n## \u2705 AWS Permissions\n\nEnsure the following IAM permissions:\n\n* **KMS**\n\n * `kms:Encrypt`\n * `kms:Decrypt`\n* **Secrets Manager**\n\n * `secretsmanager:GetSecretValue`\n\n---\n\n## \ud83e\uddf0 Dependencies\n\n* [`boto3`](https://pypi.org/project/boto3/)\n* [`cryptography`](https://pypi.org/project/cryptography/)\n* [`jwcrypto`](https://pypi.org/project/jwcrypto/)\n* [`pycryptodome`](https://pypi.org/project/pycryptodome/)\n\n---\n\n## \ud83d\udcc4 License\n\nMIT License\n\n---\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Feel free to open issues or pull requests.\n\n---\n\n## \ud83d\udc64 Author\n\n**M Santhosh Kumar**\n\ud83d\udce7 [santhoshse7en@gmail.com](mailto:santhoshse7en@gmail.com)\n\n---\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python package that provides robust encryption and decryption mechanisms, utilizing AES, FERNET, JWE, Hybrid Encryption, AWS KMS, and AWS Secrets Manager.",
"version": "1.1.0",
"project_urls": {
"Documentation": "https://github.com/santhoshse7en/cryptorix#readme",
"Source": "https://github.com/santhoshse7en/cryptorix",
"Tracker": "https://github.com/santhoshse7en/cryptorix/issues"
},
"split_keywords": [
"aes",
" fernet",
" jwe",
" hybrid encryption",
" kms",
" secrets manager",
" encryption",
" decryption",
" aws",
" security",
" cryptography"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "263626f1e0bcd4dab33593981286f8026e262f8b95fc62ce394e959c89e2540b",
"md5": "8227fdc134d63940eb1de2fd47ad6a2c",
"sha256": "884595e8c94d4bae579c84dc5db0c8187e096fa05250db88016c1f36d9777621"
},
"downloads": -1,
"filename": "cryptorix-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8227fdc134d63940eb1de2fd47ad6a2c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 11070,
"upload_time": "2025-09-04T06:30:50",
"upload_time_iso_8601": "2025-09-04T06:30:50.762547Z",
"url": "https://files.pythonhosted.org/packages/26/36/26f1e0bcd4dab33593981286f8026e262f8b95fc62ce394e959c89e2540b/cryptorix-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cd39fad21f882e59947761345c97e8df68ae22b1937015fc1fb7090519a7fe7e",
"md5": "43d5717652bf0801e77d1d82453024e1",
"sha256": "236d6a8a6758409e706a3c2a1482b1c0158b055b09ad5b624a080d66abfe16b1"
},
"downloads": -1,
"filename": "cryptorix-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "43d5717652bf0801e77d1d82453024e1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 8461,
"upload_time": "2025-09-04T06:30:53",
"upload_time_iso_8601": "2025-09-04T06:30:53.648371Z",
"url": "https://files.pythonhosted.org/packages/cd/39/fad21f882e59947761345c97e8df68ae22b1937015fc1fb7090519a7fe7e/cryptorix-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-04 06:30:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "santhoshse7en",
"github_project": "cryptorix#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "boto3",
"specs": []
},
{
"name": "botocore",
"specs": []
},
{
"name": "cryptography",
"specs": []
},
{
"name": "jwcrypto",
"specs": []
},
{
"name": "pycryptodome",
"specs": []
},
{
"name": "setuptools",
"specs": []
},
{
"name": "wheel",
"specs": []
}
],
"lcname": "cryptorix"
}