Cryptorix


NameCryptorix JSON
Version 1.0.8 PyPI version JSON
download
home_pageNone
SummaryA Python package that provides robust encryption and decryption mechanisms, utilizing AES, FERNET, JWE, Hybrid Encryption, AWS KMS, and AWS Secrets Manager.
upload_time2025-08-05 14:46:28
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords aes fernet jwe hybrid encryption kms secrets manager encryption decryption aws security cryptography
VCS
bugtrack_url
requirements boto3 botocore cryptography jwcrypto pycryptodome setuptools wheel
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🔐 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"
}
        
Elapsed time: 1.35715s