A Python library for reversible and irreversible encryption tools.
Project description
Atom Encryption Library
Atom Encryption is a comprehensive Python library that provides tools for both reversible and irreversible encryption methods, as well as error detection mechanisms. It includes support for algorithms like AES, Twofish, RSA, ECC, and more.
Features
- Error Detection Tools: Implementations of BCC, CRC, Parity Check, and LRC for data integrity checks.
- Irreversible Encryption: Secure hashing algorithms like SHA-256, SHA-512, and bcrypt.
- Reversible Encryption: Symmetric and asymmetric encryption algorithms including AES, Twofish, RSA, and ECC.
Installation
You can install Atom Encryption from PyPI:
pip install atom-encryption
Or clone the repository and install it locally:
git clone https://github.com/yourusername/atom-encryption.git
cd atom-encryption
pip install .
Usage
Error Detection Tools
from atom_encryption.error_detection_tools import ErrorDetectionTools
# Example: BCC
bcc = ErrorDetectionTools.BCC.generate(b"123456789")
print("BCC:", bcc)
Irreversible Encryption Tools
from atom_encryption.irreversible_encryption_tools import IrreversibleEncryptionTools
# Example: SHA-256 Hashing
hashed_data = IrreversibleEncryptionTools.Hash.hash_data("HelloWorld", algorithm="sha256")
print("SHA-256 Hash:", hashed_data)
Reversible Encryption Tools
from atom_encryption.reversible_encryption_tools import ReversibleEncryptionTools
# Example: AES Encryption
aes_tool = ReversibleEncryptionTools.AES()
aes_tool.generate_key()
key = aes_tool.load_key()
encrypted = aes_tool.encrypt_data("Hello AES", key)
decrypted = aes_tool.decrypt_data(encrypted, key)
print("Decrypted:", decrypted)
Development
Requirements
Before you begin, ensure you have the following installed:
- Python 3.8 or higher
- pip
Install the dependencies:
pip install -r requirements.txt
Running Tests
To run unit tests, use:
python -m unittest discover test
Building and Uploading to PyPI
Step 1: Install Build Tools
Make sure you have the required tools for building and uploading:
pip install build twine
Step 2: Build the Package
Build the source distribution and wheel:
python -m build
This will generate the dist/ folder containing .tar.gz and .whl files.
Step 3: Upload to PyPI
Upload the package to PyPI using Twine:
twine upload dist/*
You will be prompted to enter your PyPI credentials. Once done, your package will be live on PyPI.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! If you have ideas for improvements or new features, feel free to fork the repository and submit a pull request.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atom_encryption-1.1.1.tar.gz.
File metadata
- Download URL: atom_encryption-1.1.1.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8677a0179ba338ad0d8cedcb0d3cf793ee5b5573c98221678cf93e9a2174576
|
|
| MD5 |
19a75a514625ea5b0f073ac828a95a37
|
|
| BLAKE2b-256 |
769de115a088e50a3dd84e814b329d4316f4ea4481dde33cc6941bae4191eb0b
|
File details
Details for the file atom_encryption-1.1.1-py3-none-any.whl.
File metadata
- Download URL: atom_encryption-1.1.1-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
214622c8221c287620e5eb6c6cd051fda0a2917ade760aaca62a27aa3a4617fe
|
|
| MD5 |
1305c3a55be1b5b98c6cc00399046164
|
|
| BLAKE2b-256 |
6751bcc4c8404e2740c47bc5595ae3b01e7e77644fe5306ba498766dd75cd876
|