Giter VIP home page Giter VIP logo

image-steganography-with-rsa-algorithm's Introduction

Image Steganography with RSA Algorithm

User interface of the app

This repository contains the source code and documentation for our course project on Image Steganography with RSA Algorithm. The project was developed as part of the course "Introduction to Cryptography" in the semester 2021.2.

Introduction

Image steganography is the practice of concealing secret information within an image, making it appear as a regular image to an observer. Our project focuses on implementing image steganography techniques along with the RSA algorithm for encryption. By combining these two methods, we enable users to exchange secret messages securely using images.

Features

  • Image Steganography: The application allows users to hide secret messages within images using steganography techniques.
  • RSA Encryption: The secret messages are encrypted using the RSA algorithm, providing an additional layer of security.
  • User-friendly Interface: The app provides an intuitive and user-friendly interface for easy interaction.

Requirements

To run the application locally, you need to have the following requirements installed on your machine:

You can install the required dependencies using the following command:

pip install -r requirements.txt

Getting Started

Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes:

  1. Clone the repository:

    git clone https://github.com/khanhluong34/Image-Steganography-with-RSA-algorithm
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Generate the public and secret keys:

    python generate_keys.py

    This will generate a pair of public keys and secret keys. The public key is meant to be shared with the friend you want to exchange messages with, and you should also ask your friend to share their public keys with you.

  4. Run the application:

    python app.py

Usage

The application supports two main use cases: encrypting messages and decrypting messages.

Encrypting Messages

  1. Launch the application by running app.py.
  2. Select an image to hide a secret message.
  3. Select the public key file of your intended recipient.
  4. Enter the desired secret message in the provided input field.
  5. Select where you want to save the resulting image.
  6. Click the "Encode" button.

The application will generate a new image containing the hidden message and save it to the specified location.

Decrypting Messages

  1. Launch the application by running app.py.
  2. Select the image containing the hidden message that you received from your friend.
  3. Click the "Decode" button.

The application will extract the hidden message from the image and decrypt it using RSA. The decrypted message will be displayed in the application.

Note: To successfully decrypt a message, you need to have the corresponding private key that matches the public key used for encryption.

Remember to securely store your private keys and only share the public keys with trusted recipients.

Team Members

License

This project is licensed under the MIT License.

Acknowledgments

We would like to express our gratitude to our instructor Nguyen Phi Le for her guidance and support throughout the course. Her valuable insights and feedback have greatly contributed to the success of this project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.