Skip to content

DevPatel1106/SecureStego

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureStego 🔒🎥🖼️🎵

Python License

SecureStego is a robust and user-friendly steganography suite that allows you to securely embed and extract secret messages within video, image, and audio files.
It employs AES-GCM encryption for confidentiality and offers both a Command-Line Interface (CLI) and a Graphical User Interface (GUI) for ease of use.


Features ✨

  • Multi-Media Support: Hide/extract messages in
    • .wav audio files
    • .png, .bmp image files
    • .mp4, .avi, .mkv video files
  • Strong Encryption: Uses PBKDF2HMAC + AES-GCM for secure password-based encryption.
  • Command-Line Interface (CLI): Scriptable and automation-friendly.
  • Graphical User Interface (GUI): Built with Streamlit, intuitive for all users.
  • Least Significant Bit (LSB) Steganography: Embeds data by modifying the least significant bits of media content.
  • Technologies used: Python, Streamlit, OpenCV, PyDub, NumPy

How It Works ⚙️

  1. Encryption: Secret message is encrypted with a user-provided password.
  2. Conversion: Encrypted data converted to binary + delimiter 1111111111111110.
  3. Embedding: Binary string hidden inside media’s least significant bits (pixels for images/videos, samples for audio).
  4. Extraction: Reverse process to reconstruct and decrypt the hidden message.

Installation 🛠️

Prerequisites

  • Python 3.x

Setup

  1. Clone the repository:
git clone https://github.com/DevPatel1106/SecureStego.git
cd SecureStego
  1. Install dependencies:
pip install -r requirements.txt

Usage 🚀

  1. Command-Line Interface (CLI) a. Embed a message:
python stego_cli.py embed --input <input_file> --output <output_file> --message <secret_message> --password <your_password>
  • Example:
python stego_cli.py embed --input cover_image.png --output stego_image.png --message "This is a secret message" --password mypassword123

b. Extract a message:

python stego_cli.py extract --input <stego_file> --password <your_password>
  • Example:
python stego_cli.py extract --input stego_image.png --password mypassword123
  1. Graphical User Interface (GUI)
  • Run the Streamlit app:
streamlit run stego_gui.py

This will open a browser window where you can interact with the application.

Project Structure 📁

  • audio_stego.py – Embed/extract data from WAV audio.

  • image_stego.py – LSB steganography for PNG & BMP images.

  • video_stego.py – Embedding & extraction for video files.

  • encryption.py – AES-GCM encryption/decryption.

  • stego_cli.py – Command-line interface.

  • stego_gui.py – Streamlit-based graphical UI.

  • requirements.txt – Python dependencies.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages