Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cipherbench — IS Project

Project Structure

IS_project/
├── backend/
│   ├── caesar_cipher.py     ← Caesar Cipher logic
│   ├── aes_cipher.py        ← AES-256-GCM encrypt / decrypt
│   ├── sha256_hash.py       ← SHA-256 hashing
│   ├── steganography.py     ← LSB image steganography
│   ├── server.py            ← Flask API server (imports all 4 above)
│   ├── users.json           ← Created automatically on first register
│   └── requirements.txt
└── gui/
    ├── index.html           ← Main frontend (open in browser)
    ├── script.js            ← GUI logic — calls backend via fetch()
    ├── style.css
    └── bg.png

Setup & Run

1. Install Python dependencies

cd backend
pip install -r requirements.txt

2. Start the backend server

python server.py

You should see:

==================================================
  Cipherbench — IS Project Backend Server
  Running on http://127.0.0.1:5000
  Open gui/index.html in your browser
==================================================

3. Open the GUI

Open gui/index.html in your browser (double-click it or use Live Server in VS Code).


API Endpoints

Method Endpoint Description
POST /api/auth/register Register new user
POST /api/auth/login Login (returns username on success)
POST /api/caesar Caesar encrypt / decrypt
POST /api/aes/encrypt AES-256-GCM encrypt
POST /api/aes/decrypt AES-256-GCM decrypt
POST /api/hash SHA-256 hash
POST /api/stego/encode Hide message in image (multipart)
POST /api/stego/decode Extract message from image

Running Individual Module Tests

Each Python file can be run directly to verify it works:

python caesar_cipher.py
python aes_cipher.py
python sha256_hash.py
python steganography.py

About

Cipherbench is an interactive applied cryptography lab built to make classical and modern encryption techniques tangible rather than theoretical. Instead of reading about how a cipher works, you can type a message, adjust a parameter, and watch the transformation happen in real time powered by an actual Python backend, not a client-side simulation.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages