Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mithileshk11/steganography-app-aicte-internship-cybersecurity-edunet-foundation

Secure Image Steganography App : This Streamlit-based Steganography App lets you securely encrypt and decrypt messages in images using the Least Significant Bit (LSB) technique. Messages remain invisible unless unlocked with the correct password.
https://github.com/mithileshk11/steganography-app-aicte-internship-cybersecurity-edunet-foundation

hashlib numpy opencv3 python streamlit-webapp

Last synced: 4 days ago
JSON representation

Secure Image Steganography App : This Streamlit-based Steganography App lets you securely encrypt and decrypt messages in images using the Least Significant Bit (LSB) technique. Messages remain invisible unless unlocked with the correct password.

Awesome Lists containing this project

README

        

# 🛡️ Secure Image Steganography App

## 📌 Overview
This is a **password-protected image steganography app** built using **Streamlit** and **OpenCV**. It allows you to **hide secret messages inside images** and retrieve them only with the correct password.

## 🔐 Try it for yourself
https://image-steganography.streamlit.app/

## 🚀 Features
- **Encrypt Secret Messages** into images without visible changes.
- **Decrypt Messages Securely** using a password.
- **If the wrong password is entered, the image appears normal** (prevents detection).
- **Download Encrypted Images** after embedding messages.

## 🏗️ Technologies Used
- **Python** (Backend Logic)
- **Streamlit** (User Interface)
- **OpenCV** (Image Processing)
- **NumPy** (Efficient Data Handling)
- **Hashlib** (Password Hashing for Security)

## 📥 Installation Guide
### 🔹 1️⃣ Install Dependencies
```bash
pip install streamlit opencv-python numpy
```

### 🔹 2️⃣ Run the Application
```bash
streamlit run app.py
```

## 🛠️ Usage Guide
### **🔐 Encrypting a Message**
1. Open the app.
2. Select **Encrypt Message** from the sidebar.
3. Upload an image (`.jpg` or `.png`).
4. Enter a secret message.
5. Set an **encryption password**.
6. Click **Encrypt** to hide the message in the image.
7. Download the encrypted image.

### **🔓 Decrypting a Message**
1. Open the app.
2. Select **Decrypt Message** from the sidebar.
3. Upload the encrypted image.
4. Enter the **correct decryption password**.
5. Click **Decrypt** to reveal the hidden message.

## 🔍 How It Works
1. **Encoding Process:**
- The message is converted into binary.
- A **password hash** is added for authentication.
- The binary data is hidden in the **least significant bit (LSB)** of the image.

2. **Decoding Process:**
- Extracts binary data from the image.
- Verifies the password before revealing the hidden message.
- If the password is wrong, the image appears as a normal image.

## 🔐 Security Measures
- **Password Protection:** Messages can only be decrypted with the correct password.
- **Stealth Mode:** Without the correct password, the image looks normal.
- **End Marker:** Prevents over-reading of hidden data.

## 📜 License
This project is open-source.
---
Enjoy Secure Messaging! 🔒