# balue
Balue is a Python package that implements a multi-layered encryption algorithm for educational purposes. It combines substitution, permutation, and XOR encryption techniques to provide a basic encryption and decryption functionality.
## Features
- **Substitution Cipher**: Shifts each byte of the plaintext based on a key.
- **Permutation Cipher**: Shuffles the bytes of the text.
- **XOR Cipher**: XORs the shuffled bytes with the key.
## Installation
### Using Poetry
1. **Install Poetry** if not already installed:
```bash
curl -sSL https://install.python-poetry.org | python3 -
```
2. **Clone the repository**:
```bash
git clone git@github.com:aliezzahn/balue.git
cd balue
```
3. **Install the dependencies**:
```bash
poetry install
```
### Manual Installation
1. **Clone the repository**:
```bash
git clone git@github.com:aliezzahn/balue.git
cd balue
```
2. **Install the dependencies** using `pip`:
```bash
pip install -r requirements.txt
```
## Usage
### Encryption and Decryption Example
Here's how you can use the `ComplexEncryptor` class to encrypt and decrypt a message.
1. **Create an encryptor instance** with a secret key.
2. **Encrypt a plaintext message**.
3. **Decrypt the ciphertext** to get back the original message.
```python
from balue.encryptor import ComplexEncryptor
# Initialize the encryptor with a secret key
key = "super_secret_key"
encryptor = ComplexEncryptor(key)
# Define the plaintext to be encrypted
plaintext = "This is a very secret message!"
# Encrypt the plaintext
encrypted = encryptor.encrypt(plaintext)
print("Encrypted:", encrypted)
# Decrypt the ciphertext
decrypted = encryptor.decrypt(encrypted['ciphertext'], encrypted['indices'])
print("Decrypted:", decrypted)
```
### Running the Test Script
To test the encryption and decryption process, you can run the provided test script.
```bash
python tests/test_encryptor.py
```
## Project Structure
```
balue/
│
├── README.md
├── balue/
│ ├── __init__.py
│ └── encryptor.py
└── tests/
└── test_encryptor.py
├── pyproject.toml
```
## Security Considerations
This package is intended for educational purposes and should not be used for securing sensitive data in production environments. For real-world applications, rely on well-established cryptographic libraries and algorithms such as AES, RSA, and others provided by libraries like `cryptography`, `PyCrypto`, or `PyCryptodome`.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
## Acknowledgments
- Inspired by classical encryption techniques and the need to understand basic cryptographic principles.
Raw data
{
"_id": null,
"home_page": null,
"name": "balue",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "Balue, ComplexEncryptor, Encryption, Decryption, Substitution Cipher, Permutation Cipher, XOR Cipher, Cryptography, Encryption Algorithm, Data Security, Python Encryption, Multi-layer Encryption, Secure Communication, Python Cryptography, Hashing, SHA-256, Byte Shuffling, Cipher Techniques, Symmetric Encryption, Educational Cryptography, Encryption Example, Python Package, Poetry Package, Secure Key, Message Encryption, Custom Encryption, Encryption Project, Python Security, Encryption Techniques, Open Source Encryption",
"author": "aliezzahn",
"author_email": "alireza.h@laqira.io",
"download_url": "https://files.pythonhosted.org/packages/7e/20/71faa3f297ac01153c29ffa81046132d1c56a5008f6917733ae24fb5114e/balue-0.1.0.tar.gz",
"platform": null,
"description": "# balue\n\nBalue is a Python package that implements a multi-layered encryption algorithm for educational purposes. It combines substitution, permutation, and XOR encryption techniques to provide a basic encryption and decryption functionality.\n\n## Features\n\n- **Substitution Cipher**: Shifts each byte of the plaintext based on a key.\n- **Permutation Cipher**: Shuffles the bytes of the text.\n- **XOR Cipher**: XORs the shuffled bytes with the key.\n\n## Installation\n\n### Using Poetry\n\n1. **Install Poetry** if not already installed:\n\n ```bash\n curl -sSL https://install.python-poetry.org | python3 -\n ```\n\n2. **Clone the repository**:\n\n ```bash\n git clone git@github.com:aliezzahn/balue.git\n cd balue\n ```\n\n3. **Install the dependencies**:\n\n ```bash\n poetry install\n ```\n\n### Manual Installation\n\n1. **Clone the repository**:\n\n ```bash\n git clone git@github.com:aliezzahn/balue.git\n cd balue\n ```\n\n2. **Install the dependencies** using `pip`:\n\n ```bash\n pip install -r requirements.txt\n ```\n\n## Usage\n\n### Encryption and Decryption Example\n\nHere's how you can use the `ComplexEncryptor` class to encrypt and decrypt a message.\n\n1. **Create an encryptor instance** with a secret key.\n2. **Encrypt a plaintext message**.\n3. **Decrypt the ciphertext** to get back the original message.\n\n```python\nfrom balue.encryptor import ComplexEncryptor\n\n# Initialize the encryptor with a secret key\nkey = \"super_secret_key\"\nencryptor = ComplexEncryptor(key)\n\n# Define the plaintext to be encrypted\nplaintext = \"This is a very secret message!\"\n\n# Encrypt the plaintext\nencrypted = encryptor.encrypt(plaintext)\nprint(\"Encrypted:\", encrypted)\n\n# Decrypt the ciphertext\ndecrypted = encryptor.decrypt(encrypted['ciphertext'], encrypted['indices'])\nprint(\"Decrypted:\", decrypted)\n```\n\n### Running the Test Script\n\nTo test the encryption and decryption process, you can run the provided test script.\n\n```bash\npython tests/test_encryptor.py\n```\n\n## Project Structure\n\n```\nbalue/\n\u2502\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 balue/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2514\u2500\u2500 encryptor.py\n\u2514\u2500\u2500 tests/\n \u2514\u2500\u2500 test_encryptor.py\n\u251c\u2500\u2500 pyproject.toml\n```\n\n## Security Considerations\n\nThis package is intended for educational purposes and should not be used for securing sensitive data in production environments. For real-world applications, rely on well-established cryptographic libraries and algorithms such as AES, RSA, and others provided by libraries like `cryptography`, `PyCrypto`, or `PyCryptodome`.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request on GitHub.\n\n## Acknowledgments\n\n- Inspired by classical encryption techniques and the need to understand basic cryptographic principles.",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Explore the intricacies of cryptographic techniques with Balu, a Python library implementing a sophisticated multi-layer encryption system. Balu combines substitution, permutation, and XOR ciphers to offer a customizable and educational approach to data security.",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"balue",
" complexencryptor",
" encryption",
" decryption",
" substitution cipher",
" permutation cipher",
" xor cipher",
" cryptography",
" encryption algorithm",
" data security",
" python encryption",
" multi-layer encryption",
" secure communication",
" python cryptography",
" hashing",
" sha-256",
" byte shuffling",
" cipher techniques",
" symmetric encryption",
" educational cryptography",
" encryption example",
" python package",
" poetry package",
" secure key",
" message encryption",
" custom encryption",
" encryption project",
" python security",
" encryption techniques",
" open source encryption"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b971191a1942aec9433306c9a9767b0ab00453df0a0f362e373d94c77d9aa246",
"md5": "f3f3c4020278e2cd311ff07944ec4850",
"sha256": "1537292f3ee088a18909ec572d68de56e9c61a8961f8bab120d3eb4a3f800db1"
},
"downloads": -1,
"filename": "balue-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f3f3c4020278e2cd311ff07944ec4850",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 7448,
"upload_time": "2024-06-09T17:17:01",
"upload_time_iso_8601": "2024-06-09T17:17:01.842237Z",
"url": "https://files.pythonhosted.org/packages/b9/71/191a1942aec9433306c9a9767b0ab00453df0a0f362e373d94c77d9aa246/balue-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7e2071faa3f297ac01153c29ffa81046132d1c56a5008f6917733ae24fb5114e",
"md5": "1e3bfe91e7cea678305e61041df35238",
"sha256": "b40125ba2d7217e9ed94a4bc0c0639390106f7b6af2d6023298e9c362d7ea35e"
},
"downloads": -1,
"filename": "balue-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1e3bfe91e7cea678305e61041df35238",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 6937,
"upload_time": "2024-06-09T17:17:03",
"upload_time_iso_8601": "2024-06-09T17:17:03.609794Z",
"url": "https://files.pythonhosted.org/packages/7e/20/71faa3f297ac01153c29ffa81046132d1c56a5008f6917733ae24fb5114e/balue-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-09 17:17:03",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "balue"
}