This project demonstrates image steganography using the Least Significant Bit (LSB) manipulation technique. The project is divided into two parts:
- Backend: A FastAPI server for encoding and decoding images.
- Frontend: A React-based client interface built with the Tailwind CSS framework.
- Encode hidden messages within images using LSB steganography.
- Decode hidden messages from the encoded images.
- Simple and clean interface to interact with the steganography features.
- Python: Main programming language.
- FastAPI: The backend framework for building APIs.
- Uvicorn: ASGI server to run the FastAPI application.
- Pillow: Python library for image processing.
- Python-Multipart: To handle file uploads.
- Vercel: Used for deploying the backend.
- React: JavaScript framework for building user interfaces.
- Tailwind CSS: Utility-first CSS framework for styling.
- Vercel: Deployed the frontend alongside the backend.
Traditionally, FastAPI is not often paired with React, but in this project, both the backend and frontend are seamlessly integrated and deployed using Vercel, which provides a smooth development and deployment experience.
- Encoding: The user uploads an image and enters a message. The LSB technique embeds the message into the least significant bits of the image pixels, producing a steganographic image.
- Decoding: The user uploads the encoded image, and the application retrieves the hidden message from the image using the reverse LSB technique.
- Clone the repository.
- Install dependencies:
pip install fastapi uvicorn pillow python-multipart
- Run the server:
uvicorn main:app --reload
- Navigate to the frontend directory.
- Install dependencies:
npm install
- Start the development server:
npm start
Both the backend and frontend are deployed using Vercel. Check out the deployed project here:
- Add support for different steganography techniques.
- Improve UI/UX for better user interaction.