Skip to main content

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

atom_encryption-1.0.1.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atom_encryption-1.0.1-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file atom_encryption-1.0.1.tar.gz.

File metadata

  • Download URL: atom_encryption-1.0.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

Hashes for atom_encryption-1.0.1.tar.gz
Algorithm Hash digest
SHA256 409c1c2f1692081370abd0bbff3df2b8f354e6f07731a2f7eeebabf927e8a73f
MD5 0ba631627205892ee953169a4d593b49
BLAKE2b-256 fef95e8dffa4a2afef9f211c7d64ef8fba76120afe361326cf7466b31da2649e

See more details on using hashes here.

File details

Details for the file atom_encryption-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for atom_encryption-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5192f6ae49bbdae57e7a650c8f721830efcb1db53b62141a6539aeaf7a5e1915
MD5 a13d892d2e5db98cc220145d17dbbd16
BLAKE2b-256 8be1da484b4737cee8a93d0b356d233ed59755ddd8fe9eee67d09e54dbcd62f7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page