# 🔐 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", hex_key="your_hex_key")
decrypted = decrypt(encrypted_data=encrypted, hex_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/fc/31/6e68ef91b9fc7e955bf9c4974bc5ef52347aafc1d4ab237f9862692a2f93/cryptorix-1.0.8.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\", hex_key=\"your_hex_key\")\ndecrypted = decrypt(encrypted_data=encrypted, hex_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.0.8",
"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": "c1e33daccd9f9b849d20a98238180d612fbd8679f4610df6f15fdf2a5fea56b7",
"md5": "2c496484aaf208e86ad6def5dea70c61",
"sha256": "517fa1c0c88bfe692cf8c67e014ed61089b692cd4e0fcf35d818a7efc5f3238a"
},
"downloads": -1,
"filename": "cryptorix-1.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2c496484aaf208e86ad6def5dea70c61",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10796,
"upload_time": "2025-08-05T14:46:27",
"upload_time_iso_8601": "2025-08-05T14:46:27.121941Z",
"url": "https://files.pythonhosted.org/packages/c1/e3/3daccd9f9b849d20a98238180d612fbd8679f4610df6f15fdf2a5fea56b7/cryptorix-1.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fc316e68ef91b9fc7e955bf9c4974bc5ef52347aafc1d4ab237f9862692a2f93",
"md5": "66e05aadcf95108da176016d64169a16",
"sha256": "7607df6e3eb6116a2cfcda395566d4fd2e202f6a1325092eba33e249f5854b2f"
},
"downloads": -1,
"filename": "cryptorix-1.0.8.tar.gz",
"has_sig": false,
"md5_digest": "66e05aadcf95108da176016d64169a16",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 8190,
"upload_time": "2025-08-05T14:46:28",
"upload_time_iso_8601": "2025-08-05T14:46:28.109782Z",
"url": "https://files.pythonhosted.org/packages/fc/31/6e68ef91b9fc7e955bf9c4974bc5ef52347aafc1d4ab237f9862692a2f93/cryptorix-1.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-05 14:46:28",
"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"
}