Cryptorix


NameCryptorix JSON
Version 1.0.3 PyPI version JSON
download
home_pageNone
SummaryA Python package that provides robust encryption and decryption mechanisms, utilizing JSON Web Encryption (JWE), Hybrid Encryption, AWS KMS, and AWS Secrets Manager. Ensure the confidentiality and integrity of your data, with secure management of encryption keys.
upload_time2024-12-11 14:10:16
maintainerNone
docs_urlNone
authorM Santhosh Kumar
requires_python>=3.9
licenseNone
keywords hybrid encryption jwe kms secret manager encryption decryption aws security
VCS
bugtrack_url
requirements boto3 jwcrypto pycryptodome setuptools
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Cryptorix

**Cryptorix** is a Python package that provides robust encryption and decryption mechanisms
using JSON Web Encryption (JWE), Hybrid Encryption, AWS KMS, and AWS Secrets Manager.
It leverages both symmetric (AES) and asymmetric (RSA) encryption techniques to ensure the
confidentiality and integrity of your data. The package also integrates with
AWS KMS and Secrets Manager to manage encryption keys securely.

## Table of Contents

* [Overview](#overview)
* [Modules](#modules)
    * [JWE (JSON Web Encryption)](#jwe-json-web-encryption)
    * [Hybrid Encryption](#hybrid-encryption)
    * [KMS (Key Management System)](#kms-key-management-system)
    * [Secrets Manager](#secrets-manager)
* [Installation](#installation)
* [Usage](#usage)
* [Exceptions](#exceptions)
* [AWS Permissions](#aws-permissions)
* [Dependencies](#dependencies)
* [License](#license)
* [Contributing](#contributing)
* [Authors](#authors)

## Overview

Cryptorix allows you to encrypt and decrypt data using industry-standard encryption algorithms,
focusing on JWE for secure token exchange, Hybrid Encryption for data security, and
AWS services (KMS and Secrets Manager) for key management. The package ensures seamless integration
with AWS services for encryption at rest and in transit.

## Modules

### JWE (JSON Web Encryption)

This module facilitates the encryption and decryption of data using the JWE standard,
combining RSA encryption for key management and AES-GCM encryption for content.

**Functions:**

* `encrypt(api_response, secret_name, secret_key, kms_id)`: Encrypts a dictionary into a JWE token
  using RSA encryption for the AES key and AES-GCM for the content.
* `decrypt(jwe_payload, secret_name, secret_key, kms_id)`: Decrypts a JWE token into its original
  dictionary form using the RSA private key.

### Hybrid Encryption

This module provides hybrid encryption functionality using AES for encrypting data and RSA for
encrypting the AES session key. The encrypted data is Base64-encoded to ensure secure and safe
transmission across communication channels.

**Functions:**

* `encrypt_data(api_response, secret_name, secret_key, kms_id, rsa_padding)`: Encrypts the provided
  data using a hybrid encryption scheme. AES (in either GCM or CBC mode) is used for data
  encryption, while RSA encrypts the AES session key. The data is then Base64-encoded for
  secure transmission.
* `decrypt_data(encrypted_data, encrypted_key, secret_name, secret_key, kms_id, rsa_padding)`:
  Decrypts the provided Base64-encoded encrypted data using RSA to retrieve the AES session key
  and AES-GCM/CBC for decrypting the actual data.

### KMS (Key Management System)

This module provides AWS KMS-based encryption and decryption of data.
It integrates with AWS KMS to securely manage encryption keys.

**Functions:**

* `encrypt(plaintext, kms_id)`: Encrypts a plaintext string using AWS KMS and returns the encrypted
  value as a base64 string.
* `decrypt(encrypted_value, kms_id)`: Decrypts a KMS-encrypted,
  base64-encoded string.

### Secrets Manager

This module interacts with AWS Secrets Manager to retrieve and decrypt secrets,
ensuring that sensitive information is handled securely.

**Functions:**

* `retrieve_decrypted_secret_key(secret_name, secret_key, kms_id)`: Retrieves and decrypts the
  key from AWS Secrets Manager using KMS.
* `retrieve_secret_key(secret_name, secret_key)`: Retrieves a specific key from a secrets stored in
  AWS Secrets Manager.
* `get_secrets(ciphertext, kms_id)`: Retrieves a specific secrets stored from AWS Secrets Manager.

## Installation

To install the Cryptorix package, use pip:

```bash
pip install Cryptorix
```

You also need to install dependencies such as boto3, pycryptodome, and jwcrypto.
You can install them with:

```bash
pip install boto3 pycryptodome jwcrypto
```

## Usage

Here is a basic example of how to use the package:

### Encrypting Data (JWE):

This function encrypts a dictionary payload using RSA to encrypt the AES key and AES-GCM for content
encryption.

```python
from Cryptorix.jwe import encrypt

# Input data
api_response = {"user": "John Doe", "transaction_id": "123456", "status": "completed"}
secret_name = "your_secret_name"
secret_key = "your_secret_key"
kms_id = "your_kms_key_id"

try:
    # Call to encrypt to create the JWE token
    jwe_token = encrypt(api_response, secret_name, secret_key, kms_id)
    print("Generated JWE Token:", jwe_token)
except Exception as e:
    print(f"Error during encryption: {e}")
```

### Decrypting Data (JWE):

This function decrypts the JWE payload back into its original dictionary form using RSA decryption.

```python
from Cryptorix.jwe import decrypt

# JWE token to decrypt
jwe_token = "your-encrypted-jwe-token"

secret_name = "your-secret-name"  # AWS Secrets Manager secret name
secret_key = "private-key"  # Key name in the secret (private key)
kms_id = "your-kms-key-id"  # AWS KMS key ID

# Decrypt data using JWE
decrypted_payload = decrypt(jwe_token, secret_name, secret_key, kms_id)
print("Decrypted Payload:", decrypted_payload)
```

### Encrypting Data (Hybrid Encryption):

You can use the encrypt_data function to encrypt your sensitive data.

```python
from Cryptorix.hybrid_encryption import encrypt

# Input data to encrypt
api_response = {"username": "admin", "password": "secure_password"}
secret_name = "your_secret_name"
secret_key = "your_secret_key"
kms_id = "your_kms_key_id"
rsa_padding = "your_padding_type"

try:
    # Encrypt the data
    result = encrypt(api_response, secret_name, secret_key, kms_id, rsa_padding)
    print("Encrypted Data:", result["encryptedData"])
    print("Encrypted Key:", result["encryptedKey"])
except Exception as e:
    print(f"Error during encryption: {e}")
```

### Decrypting Data (Hybrid Encryption):

You can use the decrypt_data function to decrypt the previously encrypted data.

```python
from Cryptorix.hybrid_encryption import decrypt

# Input data to decrypt
encrypted_data = "your_base64_encoded_encrypted_data"
encrypted_key = "your_base64_encoded_encrypted_key"
secret_name = "your_secret_name"
secret_key = "your_secret_key"
kms_id = "your_kms_key_id"
rsa_padding = "your_padding_type"

try:
    # Decrypt the data
    decrypted_response = decrypt(encrypted_data, encrypted_key, secret_name, secret_key, kms_id,
                                 rsa_padding)
    print("Decrypted Response:", decrypted_response)
except Exception as e:
    print(f"Error during decryption: {e}")
```

### Encrypting Data (KMS):

This function encrypts a plaintext string using AWS KMS and returns the encrypted value encoded as a
Base64 string.

```python
from Cryptorix.kms import encrypt

# Input data
plaintext = "your-sensitive-data"
kms_id = "your_kms_key_id"

try:
    # Call to encrypt the plaintext
    encrypted_value = encrypt(plaintext, kms_id)
    print("Encrypted value (base64 encoded):", encrypted_value)
except Exception as e:
    print(f"Error during encryption: {e}")
```

### Decrypting Data (KMS):

This function decrypts a KMS-encrypted base64-encoded string back to its original plaintext form.

```python
from Cryptorix.kms import decrypt

# Input data
encrypted_value = "your_base64_encoded_encrypted_value_here"
kms_id = "your_kms_key_id"

try:
    # Call to decrypt the KMS-encrypted value
    decrypted_value = decrypt(encrypted_value, kms_id)
    print("Decrypted value:", decrypted_value)
except Exception as e:
    print(f"Error during decryption: {e}")
```

### Retrieve RSA Key:

This function Retrieves and decrypts the specific key from AWS Secrets Manager using KMS.

```python
from Cryptorix.secrets import retrieve_decrypted_secret_key

# Input data
secret_name = "your_secret_name"
secret_key = "your_secret_key"
kms_id = "your_kms_key_id"

try:
    # Call to retrieve_decrypted_secret_key to retrieve and decrypt the key
    rsa_key = retrieve_decrypted_secret_key(secret_name, secret_key, kms_id)
    print("Decrypted RSA key:", rsa_key)
except Exception as e:
    print(f"Error while fetching RSA key: {e}")
```

### Retrieve RSA Key:

This function retrieves a specific key from a secrets stored in AWS Secrets Manager.

```python
from Cryptorix.secrets import retrieve_secret_key

# Input data
secret_name = "your_secret_name"
secret_key = "your_secret_key"

try:
    # Call to retrieve_secret_key to retrieve the key
    rsa_key = retrieve_secret_key(secret_name, secret_key)
    print("Decrypted RSA key:", rsa_key)
except Exception as e:
    print(f"Error while fetching RSA key: {e}")
```

### Retrieve Secrets:

This function retrieves specific secrets from AWS Secrets Manager.

```python
from Cryptorix.secrets import get_secrets

# Input data
secret_name = "your_secret_name"
secret_key = "your_secret_key"

try:
    # Call to get_secrets to fetch only the specific secrets
    secret_data = get_secrets(secret_name, secret_key)
    print("Secret data retrieved:", secret_data)
except Exception as e:
    print(f"Error while retrieving secrets: {e}")
```

### Exceptions

Cryptorix provides custom exceptions for error handling:

* **HybridEncryptionError**: Raised during hybrid encryption/decryption failures.
* **JWEError**: Raised during JWE encryption/decryption failures.
* **KMSDecryptionError**: Raised if decryption via AWS KMS fails.
* **KMSEncryptionError**: Raised if encryption via AWS KMS fails.
* **SecretRetrievalError**: Raised if secrets cannot be retrieved or decrypted from AWS Secrets
  Manager.

This will capture all error-level logs related to encryption and decryption operations.

## AWS Permissions

Ensure the following permissions are assigned to your AWS IAM role or user:

* KMS Permissions:
    * `kms:Encrypt`
    * `kms:Decrypt`
* Secrets Manager Permissions:
    * `secretsmanager:GetSecretValue`

## Dependencies

The package requires the following dependencies:

* [`jwcrypto`](https://pypi.org/project/jwcrypto/): Implementation of JOSE Web standards.
* [`pycryptodome`](https://pypi.org/project/pycryptodome/): Cryptographic library for Python.
* [`boto3`](https://pypi.org/project/boto3/): AWS SDK for Python.

## License

This project is licensed under the MIT License.

## Contributing

Contributions are welcome! Submit issues or pull requests to enhance the package. For major changes,
please open a discussion first.

## Authors

M Santhosh Kumar
Initial work
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": "Hybrid Encryption, JWE, KMS, Secret Manager, Encryption, Decryption, AWS, Security",
    "author": "M Santhosh Kumar",
    "author_email": "santhoshse7en@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/9e/e8/f5e2018c661a15c799bfa3423b1e5061fb28ed12c4b1b3f562bfe33e88fd/cryptorix-1.0.3.tar.gz",
    "platform": null,
    "description": "# Cryptorix\n\n**Cryptorix** is a Python package that provides robust encryption and decryption mechanisms\nusing JSON Web Encryption (JWE), Hybrid Encryption, AWS KMS, and AWS Secrets Manager.\nIt leverages both symmetric (AES) and asymmetric (RSA) encryption techniques to ensure the\nconfidentiality and integrity of your data. The package also integrates with\nAWS KMS and Secrets Manager to manage encryption keys securely.\n\n## Table of Contents\n\n* [Overview](#overview)\n* [Modules](#modules)\n    * [JWE (JSON Web Encryption)](#jwe-json-web-encryption)\n    * [Hybrid Encryption](#hybrid-encryption)\n    * [KMS (Key Management System)](#kms-key-management-system)\n    * [Secrets Manager](#secrets-manager)\n* [Installation](#installation)\n* [Usage](#usage)\n* [Exceptions](#exceptions)\n* [AWS Permissions](#aws-permissions)\n* [Dependencies](#dependencies)\n* [License](#license)\n* [Contributing](#contributing)\n* [Authors](#authors)\n\n## Overview\n\nCryptorix allows you to encrypt and decrypt data using industry-standard encryption algorithms,\nfocusing on JWE for secure token exchange, Hybrid Encryption for data security, and\nAWS services (KMS and Secrets Manager) for key management. The package ensures seamless integration\nwith AWS services for encryption at rest and in transit.\n\n## Modules\n\n### JWE (JSON Web Encryption)\n\nThis module facilitates the encryption and decryption of data using the JWE standard,\ncombining RSA encryption for key management and AES-GCM encryption for content.\n\n**Functions:**\n\n* `encrypt(api_response, secret_name, secret_key, kms_id)`: Encrypts a dictionary into a JWE token\n  using RSA encryption for the AES key and AES-GCM for the content.\n* `decrypt(jwe_payload, secret_name, secret_key, kms_id)`: Decrypts a JWE token into its original\n  dictionary form using the RSA private key.\n\n### Hybrid Encryption\n\nThis module provides hybrid encryption functionality using AES for encrypting data and RSA for\nencrypting the AES session key. The encrypted data is Base64-encoded to ensure secure and safe\ntransmission across communication channels.\n\n**Functions:**\n\n* `encrypt_data(api_response, secret_name, secret_key, kms_id, rsa_padding)`: Encrypts the provided\n  data using a hybrid encryption scheme. AES (in either GCM or CBC mode) is used for data\n  encryption, while RSA encrypts the AES session key. The data is then Base64-encoded for\n  secure transmission.\n* `decrypt_data(encrypted_data, encrypted_key, secret_name, secret_key, kms_id, rsa_padding)`:\n  Decrypts the provided Base64-encoded encrypted data using RSA to retrieve the AES session key\n  and AES-GCM/CBC for decrypting the actual data.\n\n### KMS (Key Management System)\n\nThis module provides AWS KMS-based encryption and decryption of data.\nIt integrates with AWS KMS to securely manage encryption keys.\n\n**Functions:**\n\n* `encrypt(plaintext, kms_id)`: Encrypts a plaintext string using AWS KMS and returns the encrypted\n  value as a base64 string.\n* `decrypt(encrypted_value, kms_id)`: Decrypts a KMS-encrypted,\n  base64-encoded string.\n\n### Secrets Manager\n\nThis module interacts with AWS Secrets Manager to retrieve and decrypt secrets,\nensuring that sensitive information is handled securely.\n\n**Functions:**\n\n* `retrieve_decrypted_secret_key(secret_name, secret_key, kms_id)`: Retrieves and decrypts the\n  key from AWS Secrets Manager using KMS.\n* `retrieve_secret_key(secret_name, secret_key)`: Retrieves a specific key from a secrets stored in\n  AWS Secrets Manager.\n* `get_secrets(ciphertext, kms_id)`: Retrieves a specific secrets stored from AWS Secrets Manager.\n\n## Installation\n\nTo install the Cryptorix package, use pip:\n\n```bash\npip install Cryptorix\n```\n\nYou also need to install dependencies such as boto3, pycryptodome, and jwcrypto.\nYou can install them with:\n\n```bash\npip install boto3 pycryptodome jwcrypto\n```\n\n## Usage\n\nHere is a basic example of how to use the package:\n\n### Encrypting Data (JWE):\n\nThis function encrypts a dictionary payload using RSA to encrypt the AES key and AES-GCM for content\nencryption.\n\n```python\nfrom Cryptorix.jwe import encrypt\n\n# Input data\napi_response = {\"user\": \"John Doe\", \"transaction_id\": \"123456\", \"status\": \"completed\"}\nsecret_name = \"your_secret_name\"\nsecret_key = \"your_secret_key\"\nkms_id = \"your_kms_key_id\"\n\ntry:\n    # Call to encrypt to create the JWE token\n    jwe_token = encrypt(api_response, secret_name, secret_key, kms_id)\n    print(\"Generated JWE Token:\", jwe_token)\nexcept Exception as e:\n    print(f\"Error during encryption: {e}\")\n```\n\n### Decrypting Data (JWE):\n\nThis function decrypts the JWE payload back into its original dictionary form using RSA decryption.\n\n```python\nfrom Cryptorix.jwe import decrypt\n\n# JWE token to decrypt\njwe_token = \"your-encrypted-jwe-token\"\n\nsecret_name = \"your-secret-name\"  # AWS Secrets Manager secret name\nsecret_key = \"private-key\"  # Key name in the secret (private key)\nkms_id = \"your-kms-key-id\"  # AWS KMS key ID\n\n# Decrypt data using JWE\ndecrypted_payload = decrypt(jwe_token, secret_name, secret_key, kms_id)\nprint(\"Decrypted Payload:\", decrypted_payload)\n```\n\n### Encrypting Data (Hybrid Encryption):\n\nYou can use the encrypt_data function to encrypt your sensitive data.\n\n```python\nfrom Cryptorix.hybrid_encryption import encrypt\n\n# Input data to encrypt\napi_response = {\"username\": \"admin\", \"password\": \"secure_password\"}\nsecret_name = \"your_secret_name\"\nsecret_key = \"your_secret_key\"\nkms_id = \"your_kms_key_id\"\nrsa_padding = \"your_padding_type\"\n\ntry:\n    # Encrypt the data\n    result = encrypt(api_response, secret_name, secret_key, kms_id, rsa_padding)\n    print(\"Encrypted Data:\", result[\"encryptedData\"])\n    print(\"Encrypted Key:\", result[\"encryptedKey\"])\nexcept Exception as e:\n    print(f\"Error during encryption: {e}\")\n```\n\n### Decrypting Data (Hybrid Encryption):\n\nYou can use the decrypt_data function to decrypt the previously encrypted data.\n\n```python\nfrom Cryptorix.hybrid_encryption import decrypt\n\n# Input data to decrypt\nencrypted_data = \"your_base64_encoded_encrypted_data\"\nencrypted_key = \"your_base64_encoded_encrypted_key\"\nsecret_name = \"your_secret_name\"\nsecret_key = \"your_secret_key\"\nkms_id = \"your_kms_key_id\"\nrsa_padding = \"your_padding_type\"\n\ntry:\n    # Decrypt the data\n    decrypted_response = decrypt(encrypted_data, encrypted_key, secret_name, secret_key, kms_id,\n                                 rsa_padding)\n    print(\"Decrypted Response:\", decrypted_response)\nexcept Exception as e:\n    print(f\"Error during decryption: {e}\")\n```\n\n### Encrypting Data (KMS):\n\nThis function encrypts a plaintext string using AWS KMS and returns the encrypted value encoded as a\nBase64 string.\n\n```python\nfrom Cryptorix.kms import encrypt\n\n# Input data\nplaintext = \"your-sensitive-data\"\nkms_id = \"your_kms_key_id\"\n\ntry:\n    # Call to encrypt the plaintext\n    encrypted_value = encrypt(plaintext, kms_id)\n    print(\"Encrypted value (base64 encoded):\", encrypted_value)\nexcept Exception as e:\n    print(f\"Error during encryption: {e}\")\n```\n\n### Decrypting Data (KMS):\n\nThis function decrypts a KMS-encrypted base64-encoded string back to its original plaintext form.\n\n```python\nfrom Cryptorix.kms import decrypt\n\n# Input data\nencrypted_value = \"your_base64_encoded_encrypted_value_here\"\nkms_id = \"your_kms_key_id\"\n\ntry:\n    # Call to decrypt the KMS-encrypted value\n    decrypted_value = decrypt(encrypted_value, kms_id)\n    print(\"Decrypted value:\", decrypted_value)\nexcept Exception as e:\n    print(f\"Error during decryption: {e}\")\n```\n\n### Retrieve RSA Key:\n\nThis function Retrieves and decrypts the specific key from AWS Secrets Manager using KMS.\n\n```python\nfrom Cryptorix.secrets import retrieve_decrypted_secret_key\n\n# Input data\nsecret_name = \"your_secret_name\"\nsecret_key = \"your_secret_key\"\nkms_id = \"your_kms_key_id\"\n\ntry:\n    # Call to retrieve_decrypted_secret_key to retrieve and decrypt the key\n    rsa_key = retrieve_decrypted_secret_key(secret_name, secret_key, kms_id)\n    print(\"Decrypted RSA key:\", rsa_key)\nexcept Exception as e:\n    print(f\"Error while fetching RSA key: {e}\")\n```\n\n### Retrieve RSA Key:\n\nThis function retrieves a specific key from a secrets stored in AWS Secrets Manager.\n\n```python\nfrom Cryptorix.secrets import retrieve_secret_key\n\n# Input data\nsecret_name = \"your_secret_name\"\nsecret_key = \"your_secret_key\"\n\ntry:\n    # Call to retrieve_secret_key to retrieve the key\n    rsa_key = retrieve_secret_key(secret_name, secret_key)\n    print(\"Decrypted RSA key:\", rsa_key)\nexcept Exception as e:\n    print(f\"Error while fetching RSA key: {e}\")\n```\n\n### Retrieve Secrets:\n\nThis function retrieves specific secrets from AWS Secrets Manager.\n\n```python\nfrom Cryptorix.secrets import get_secrets\n\n# Input data\nsecret_name = \"your_secret_name\"\nsecret_key = \"your_secret_key\"\n\ntry:\n    # Call to get_secrets to fetch only the specific secrets\n    secret_data = get_secrets(secret_name, secret_key)\n    print(\"Secret data retrieved:\", secret_data)\nexcept Exception as e:\n    print(f\"Error while retrieving secrets: {e}\")\n```\n\n### Exceptions\n\nCryptorix provides custom exceptions for error handling:\n\n* **HybridEncryptionError**: Raised during hybrid encryption/decryption failures.\n* **JWEError**: Raised during JWE encryption/decryption failures.\n* **KMSDecryptionError**: Raised if decryption via AWS KMS fails.\n* **KMSEncryptionError**: Raised if encryption via AWS KMS fails.\n* **SecretRetrievalError**: Raised if secrets cannot be retrieved or decrypted from AWS Secrets\n  Manager.\n\nThis will capture all error-level logs related to encryption and decryption operations.\n\n## AWS Permissions\n\nEnsure the following permissions are assigned to your AWS IAM role or user:\n\n* KMS Permissions:\n    * `kms:Encrypt`\n    * `kms:Decrypt`\n* Secrets Manager Permissions:\n    * `secretsmanager:GetSecretValue`\n\n## Dependencies\n\nThe package requires the following dependencies:\n\n* [`jwcrypto`](https://pypi.org/project/jwcrypto/): Implementation of JOSE Web standards.\n* [`pycryptodome`](https://pypi.org/project/pycryptodome/): Cryptographic library for Python.\n* [`boto3`](https://pypi.org/project/boto3/): AWS SDK for Python.\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Contributing\n\nContributions are welcome! Submit issues or pull requests to enhance the package. For major changes,\nplease open a discussion first.\n\n## Authors\n\nM Santhosh Kumar\nInitial work\nsanthoshse7en@gmail.com\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python package that provides robust encryption and decryption mechanisms, utilizing JSON Web Encryption (JWE), Hybrid Encryption, AWS KMS, and AWS Secrets Manager. Ensure the confidentiality and integrity of your data, with secure management of encryption keys.",
    "version": "1.0.3",
    "project_urls": {
        "Documentation": "https://github.com/santhoshse7en/cryptorix#readme",
        "Source": "https://github.com/santhoshse7en/cryptorix",
        "Tracker": "https://github.com/santhoshse7en/cryptorix/issues"
    },
    "split_keywords": [
        "hybrid encryption",
        " jwe",
        " kms",
        " secret manager",
        " encryption",
        " decryption",
        " aws",
        " security"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e39d9d224c2c06876174015bdc2659d61e0990755201414737e5506bd715b43",
                "md5": "67776878db5e717750a37034f9e83b12",
                "sha256": "0dad122a86a22f50335d8c3e358586a21c943572fc0b0e635129798416b19153"
            },
            "downloads": -1,
            "filename": "Cryptorix-1.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "67776878db5e717750a37034f9e83b12",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 15848,
            "upload_time": "2024-12-11T14:10:15",
            "upload_time_iso_8601": "2024-12-11T14:10:15.178123Z",
            "url": "https://files.pythonhosted.org/packages/7e/39/d9d224c2c06876174015bdc2659d61e0990755201414737e5506bd715b43/Cryptorix-1.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ee8f5e2018c661a15c799bfa3423b1e5061fb28ed12c4b1b3f562bfe33e88fd",
                "md5": "d0f97c88018d0caa6df77069ca5aa604",
                "sha256": "502f14599b8a0bc658353cce45e7b67ff3bba479a7e3cc5faed311a4c9815fc6"
            },
            "downloads": -1,
            "filename": "cryptorix-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "d0f97c88018d0caa6df77069ca5aa604",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11219,
            "upload_time": "2024-12-11T14:10:16",
            "upload_time_iso_8601": "2024-12-11T14:10:16.506011Z",
            "url": "https://files.pythonhosted.org/packages/9e/e8/f5e2018c661a15c799bfa3423b1e5061fb28ed12c4b1b3f562bfe33e88fd/cryptorix-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-11 14:10:16",
    "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": "jwcrypto",
            "specs": []
        },
        {
            "name": "pycryptodome",
            "specs": []
        },
        {
            "name": "setuptools",
            "specs": []
        }
    ],
    "lcname": "cryptorix"
}
        
Elapsed time: 0.37558s