Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—οΈ Classical-Crypto-GUI-Toolkit

Classical Cryptography Desktop Toolkit

Classical-Crypto-GUI-Toolkit is a Python-based desktop application for experimenting with classical ciphers and cryptanalysis.

It is designed for students, security enthusiasts, and developers who want to learn or demonstrate classical encryption techniques using an intuitive graphical interface.

All operations are local, ensuring full offline use and privacy.


πŸ–₯️ CLI Alternative

For users who prefer terminal-based interaction:

πŸ‘‰ A CLI version provides similar functionality through command-line commands.

πŸ”— CLI Repository: Classical-Crypto-CLI-Toolkit


✨ Key Principles

  1. Learning-focused – ideal for beginners exploring cryptography
  2. GUI-centric – built using CustomTkinter for clarity and usability
  3. Modular architecture – separates cipher logic from interface layer

This toolkit is educational, yet fully functional, with each cipher and attack implemented independently.


🧩 Included Modules

πŸ” Classical Ciphers

  • Caesar Cipher – shift-based substitution
  • Playfair Cipher – digraph-based substitution
  • Rail Fence Cipher – zig-zag transposition cipher
  • Row Column Cipher – columnar transposition cipher

πŸ§ͺ Attacks

  • Caesar Brute Force Attack – tries all possible shifts
  • Rail Fence Brute Force Attack – tries multiple rail values

πŸ“ Project Structure

classical-crypto-gui-toolkit/
β”‚
β”œβ”€β”€ LICENSE
β”œβ”€β”€ main.py
β”œβ”€β”€ README.md
β”œβ”€β”€ requirements.txt
β”‚
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ utils.py
β”‚   β”œβ”€β”€ ciphers/
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”œβ”€β”€ caesar.py
β”‚   β”‚   β”œβ”€β”€ playfair.py
β”‚   β”‚   β”œβ”€β”€ rail_fence.py
β”‚   β”‚   └── row_column.py
β”‚   β”‚
β”‚   └── attacks/
β”‚       β”œβ”€β”€ __init__.py
β”‚       β”œβ”€β”€ caesar_brute.py
β”‚       └── rail_fence_brute.py
β”‚
└── gui/
    β”œβ”€β”€ __init__.py
    β”œβ”€β”€ app.py
    β”œβ”€β”€ main_window.py
    β”œβ”€β”€ theme.py
    β”œβ”€β”€ validators.py
    β”‚
    β”œβ”€β”€ components/
    β”‚   β”œβ”€β”€ __init__.py
    β”‚   β”œβ”€β”€ action_buttons.py
    β”‚   β”œβ”€β”€ base_attack_frame.py
    β”‚   β”œβ”€β”€ base_cipher_frame.py
    β”‚   β”œβ”€β”€ sidebar.py
    β”‚   └── text_area.py
    β”‚
    └── panels/
        β”œβ”€β”€ __init__.py
        β”œβ”€β”€ about_panel.py
        β”œβ”€β”€ attack_panel.py
        β”œβ”€β”€ cipher_panel.py
        β”‚
        β”œβ”€β”€ attacks/
        β”‚   β”œβ”€β”€ __init__.py
        β”‚   β”œβ”€β”€ caesar_attack_panel.py
        β”‚   └── railfence_attack_panel.py
        β”‚
        └── ciphers/
            β”œβ”€β”€ __init__.py
            β”œβ”€β”€ caesar_panel.py
            β”œβ”€β”€ playfair_panel.py
            β”œβ”€β”€ rail_fence_panel.py
            └── row_column_panel.py

Core cryptographic logic is strictly separated from the GUI layer for maintainability and clarity.


πŸš€ Getting Started

1️⃣ Clone Repository

git clone https://github.com/ShakalBhau0001/classical-crypto-gui-toolkit.git  
cd classical-crypto-gui-toolkit

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Run Application

python main.py

πŸ–ΌοΈ GUI Overview

The application provides:

  • Sidebar navigation between Cipher, Attack, and About panels
  • Dedicated panels for each cipher
  • Brute-force attack interfaces with result display
  • Clear separation between input and output text areas

Designed to be beginner-friendly and easy to extend.


πŸ“¦ requirements.txt

customtkinter
cryptography

⚠️ Security Disclaimer

This toolkit is educational and research-focused.
It uses classical ciphers and is not suitable for modern secure communication.


πŸ›£οΈ Roadmap

  • Additional classical cipher implementations
  • Frequency analysis tools
  • Export results functionality
  • Standalone executable packaging

πŸ“Έ Preview

A. Cipher Panel

Rich CLI Preview

1. Caesar Encryption

Rich CLI Preview

2. Caesar Decryption

Rich CLI Preview

3. Rail_Fence Encryption

Rich CLI Preview

4. Rail_Fence Decryption

Rich CLI Preview

5. Playfair Encryption

Rich CLI Preview

6. Playfair Decryption

Rich CLI Preview

7. Row_Column Encryption

Rich CLI Preview

8. Row_Column Decryption

Rich CLI Preview

B. Attack Panel

Rich CLI Preview

1. Caesar Brute Force

Rich CLI Preview

2. Rail_Fence Brute Force

Rich CLI Preview

C. About Panel

Rich CLI Preview


πŸͺͺ Author

Developer: Shakal Bhau

GitHub: ShakalBhau0001


β€œClassical ciphers teach discipline before modern encryption.”


⭐ Support

If you like this project, consider giving it a ⭐ on GitHub!


About

Python-based CustomTkinter GUI toolkit for learning classical cryptography. Implements Caesar, Playfair, Rail Fence, and Row-Column ciphers with brute-force attack modules. Educational, modular, and fully offline.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages