Skip to content

sha-wrks/Cipher

Multi-Algorithm Cipher Suite

A comprehensive cryptographic toolkit implemented in Python 3.12. This suite provides high-performance implementations of classical and modern symmetric/asymmetric encryption algorithms, featuring both headless CLI interfaces and interactive GUI wrappers.

Technical Specifications

  • Runtime: Python 3.12.0+
  • Data Store: Tkinter (GUI), Argparse (CLI)
  • Orchestration: Modular Provider Pattern (Logic separation from Interface)
  • Security: Implementation of cryptographic primitives with a focus on educational transparency and algorithmic integrity.

Directory Structure

The project follows a decoupled architecture where each cryptographic algorithm resides in its own isolated module:

  • CLI Version: Optimized for automated pipelines and shell interactions.
  • GUI Version: Designed for end-user accessibility with real-time feedback.

Environment Setup

Ensure you have the required runtime and dependencies installed:

# Clone the repository
git clone https://github.com/sha-wrks/Cipher.git

# Navigate to the project directory
cd Cipher

# (Optional) Create a virtual environment
python -m venv venv #Windows
source venv/bin/activate  # Linux/macOS

Execution Documentation

The CLI implementation utilizes a standardized argument parsing strategy for seamless integration into scripts.

1. Command Line Interface (CLI)

The CLI implementation utilizes a standardized argument parsing strategy for seamless integration into scripts.

Command: python "Affine Cipher/CLI Version.py"

image

2. Graphical User Interface (GUI)

The GUI versions provide a stateful interaction layer for users who prefer visual input management.

Command: python "Vigenère Cipher/GUI Version.py"

image

3. RSA Implementation Details

The RSA module includes specific scripts for key generation and drawback analysis of small prime factors.

Command: python "RSA Encryption/app.py"

image

System Architecture

The codebase adheres to the following engineering principles:

  1. Separation of Concerns (SoC): Cryptographic logic (mathematical functions) is strictly separated from the I/O logic (CLI/GUI).
  2. Modular Extensibility: New algorithms can be integrated by following the established directory structure without modifying the core suite.
  3. Defensive Programming: Extensive input validation ensures that keys (e.g., in Affine Cipher) satisfy mathematical requirements such as being coprime to the alphabet size.
  4. Performance: Matrix operations in the Hill Cipher are optimized for minimal time complexity $O(n^3)$ during the modular inverse calculation.

System Architecture

This project is intended for educational and research purposes only. While the implementations are mathematically accurate, they are not intended to replace industry-standard libraries (like OpenSSL or PyCryptodome) for production-grade data protection.

About

Cipher Algorithms Collection. A collection of classic encryption and decryption algorithms, including Caesar, Vigenère, Playfair, Hill, and RSA. Designed for learning basic cryptography and data security.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Contributors

Languages