GitHunt
SY

SyedShaheerHussain/Steganography-Hide-Data-in-Images-GUI-

This project hides secret text messages inside images using Least Significant Bit (LSB) steganography combined with AES-256 password-based encryption.

๐Ÿ” Image Steganography Tool (LSB + AES)

A secure image steganography tool that hides data using LSB encoding and encrypts it with AES.

Description

This project is a Python-based GUI application that enables image steganography, allowing users to hide and extract secret messages inside images.

Messages can be protected with a password using AES-256 encryption.

The hidden data is embedded into images using the LSB (Least Significant Bit) technique.

The GUI is modern and responsive, divided into two main tabs:

Hide Message Tab โ€“ Select an image, type a secret message, enter a password, and hide the message inside the image.

Extract Message Tab โ€“ Upload an encoded image, enter the correct password, and extract the hidden message.

This tool is fully functional and suitable for both beginners and professionals who want to learn or use secure communication and data hiding techniques.

๐Ÿ“ท Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

Screenshot 6

๐Ÿ“Œ Overview

This project hides secret text messages inside images using
Least Significant Bit (LSB) steganography combined with AES-256
password-based encryption.

The image looks visually unchanged while securely carrying encrypted data.

๐Ÿš€ Features

  • LSB Image Steganography
  • AES-256 Password Encryption
  • Hide messages in any RGB image (PNG, JPG, JPEG)
  • Extract hidden messages from images
  • Password protected messages using AES encryption
  • Image preview before hiding/extracting
  • Progress bar for encoding process
  • Multi-threaded operations for responsive UI
  • Works on Windows/Linux/Mac
  • Dark Mode GUI
  • Image Preview
  • Encode & Decode Messages
  • No Quality Loss
  • Python Tkinter GUI

๐Ÿ›  How It Works

  1. Hide Message Tab

  2. Select an image from your device.

  3. Type your secret message in the text box.

  4. Enter a password to encrypt the message.

  5. Click "Hide Message".

  6. Save the encoded image with a new name.

  7. Extract Message Tab

  8. Select the encoded image you just saved.

  9. Enter the same password used for hiding.

  10. Click "Extract Message".

  11. The hidden message will appear in the text box.

  12. Technical Details:

  13. LSB steganography hides message bits in the least significant bit of each RGB channel.

  14. AES encryption (via Python cryptography library) encrypts the message before hiding it.

  15. Only correct password can decrypt and reveal the message.

๐Ÿ›  Technologies Used

  • Python
  • Pillow (Image Processing)
  • Cryptography (AES Encryption)
  • Tkinter (GUI)

๐Ÿ–ฅ Installation

Requirements:

Python 3.10+

Libraries:

  • Pillow
  • Cryptography

Step 1: Install Python packages

pip install Pillow cryptography

Step 2: Clone or download this repository

git clone https://github.com/SyedShaheerHussain/Steganography-Hide-Data-in-Images-GUI-.git

cd Steganography Hide Data in Images

Step 3: Run the application

python mainapp.py

๐Ÿ“ Usage Steps

Hide a Message:

  1. Open the app.

  2. Go to Hide Message Tab.

  3. Click Select Image and choose an image.

  4. Type your secret message in the text box.

  5. Enter a password.

  6. Click Hide Message.

  7. Save the encoded image anywhere with a custom name.

Extract a Message:

  1. Go to Extract Message Tab.

  2. Upload the encoded image.

  3. Enter the same password used during hiding.

  4. Click Extract Message.

  5. The decrypted message will appear in the text box.

๐Ÿ–‡ Functions Overview

Function Description
generate_key(password) Creates an AES key from password.
encrypt_text(text, password) Encrypts a message using AES.
decrypt_text(text, password) Decrypts message using AES.
select_encode_image() Opens file dialog to choose image for encoding.
select_decode_image() Opens file dialog to choose image for decoding.
encode_message() Hides encrypted message in selected image.
decode_message() Extracts and decrypts message from image.
resize_for_preview(image) Resizes image for preview box while keeping aspect ratio.
show_image_on_canvas(image, canvas) Displays image on GUI canvas.

๐Ÿ’ก Notes

Note

Make sure the message size fits the image. Large messages may exceed capacity.
Use strong passwords for secure encryption.
Supports RGB images only.
Always save the encoded image with a different filename to avoid overwriting the original.

๐ŸŽฏ Conclusion

Important

This project provides a secure and user-friendly tool for hiding secret messages in images. With AES encryption + LSB steganography, it ensures both privacy and data concealment.

Perfect for:

  • Students learning steganography
  • Secure message sharing
  • Fun encryption projects

โญ Support & Engagement

If you find this repository useful or insightful, please consider:

  • โญ Starring the repository
  • ๐Ÿ” Sharing it within your network
  • ๐Ÿ‘ค Following my GitHub profile for future projects and updates

Your support helps drive continued innovation and open-source contributions.

โ€” Syed Shaheer Hussain

GitHub followers

Followers

Stars

Developed By ยฉ 2026 Syed Shaheer Hussain

SyedShaheerHussain/Steganography-Hide-Data-in-Images-GUI- | GitHunt