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"
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"
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"
System Architecture
The codebase adheres to the following engineering principles:
- Separation of Concerns (SoC): Cryptographic logic (mathematical functions) is strictly separated from the I/O logic (CLI/GUI).
- Modular Extensibility: New algorithms can be integrated by following the established directory structure without modifying the core suite.