Skip to content

rnshim/SecureText

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureText

A Web-Based Text Encryption and Decryption App

Course: CS166 - Information Security, Fall 2025
Instructor: Dr. Chao-Li Tarng
Team 8: Jaspreet Aujla, Akanksha Raghapur, Ryan Shim
San José State University

Overview

SecureText is an educational web application that demonstrates text encryption and decryption using classical and modern cryptographic algorithms.

Features

  • Caesar Cipher - Classical substitution cipher with configurable shift
  • Vigenère Cipher - Polyalphabetic substitution cipher with keyword
  • AES-256 - Modern symmetric encryption standard

Additional Features

  • Side-by-side algorithm comparison
  • Encryption visualization
  • Performance timing
  • Security level indicators

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)

Installation & Running Locally

macOS

# Clone the repository
git clone https://github.com/your-repo/SecureText.git
cd SecureText

# Create a virtual environment
python3 -m venv venv

# Activate the virtual environment
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the application
python app.py

Windows

# Clone the repository
git clone https://github.com/your-repo/SecureText.git
cd SecureText

# Create a virtual environment
python -m venv venv

# Activate the virtual environment
venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run the application
python app.py

Linux

# Clone the repository
git clone https://github.com/your-repo/SecureText.git
cd SecureText

# Create a virtual environment
python3 -m venv venv

# Activate the virtual environment
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the application
python app.py

Accessing the Application

Once the server is running, open your browser and navigate to:

http://127.0.0.1:5001

You should see the SecureText web interface.

Usage

  1. Select an algorithm - Choose from Caesar Cipher, Vigenère Cipher, or AES-256
  2. Enter your text - Type or paste the text you want to encrypt/decrypt
  3. Enter the key:
    • Caesar: A number from 0-25 (shift value)
    • Vigenère: A keyword (letters only, e.g., "SECRET")
    • AES: Any text string (will be used as the encryption key)
  4. Click Encrypt or Decrypt - View the result in the output box
  5. Compare algorithms - Click "Compare All Algorithms" to see a side-by-side comparison

Project Structure

SecureText/
├── app.py              # Flask backend with encryption logic
├── requirements.txt    # Python dependencies
├── README.md           # This file
├── templates/
│   └── index.html      # Main HTML template
└── static/
    ├── css/
    │   └── style.css   # Styling
    └── js/
        └── main.js     # Frontend JavaScript

Technologies

  • Frontend: HTML, CSS, JavaScript
  • Backend: Flask (Python)
  • Encryption: Custom implementations (Caesar, Vigenère) + pycryptodome (AES)

Troubleshooting

"command not found: python"

On macOS/Linux, use python3 instead of python.

"externally-managed-environment" error

Create a virtual environment as shown in the installation steps above.

Port 5000 access denied (macOS)

Port 5000 is used by AirPlay Receiver on macOS. The app runs on port 5001 instead.

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published