Skip to content

Python Implementation of Pixel Value Differencing based Steganography (LSB) - PNG Cover Images

License

Notifications You must be signed in to change notification settings

tony-josi/pvd_steganography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Implementation of Pixel Value Differencing based Steganography

LSB substitution and PVD are applied. In PVD, adaptive non-overlapping 3x3 pixel blocks or a combination of 3x3 and 2x2 blocks are used in raster fashion.

The file test_main.py is an example usage of the pvd_lib.py PVD library.

For encoding, the following data are required:

  1. Reference PNG image
  2. Secret message as .txt file
  3. Path/name of the PVD embedded image

For decoding, the following data are required:

  1. Reference PNG image
  2. Secret message file/path as .txt file which will be written with the secret data read from the PVD embedded image
  3. Path/name of the PVD embedded image

Only PNG Image files should be used as cover image and final output image.

Getting Started

Clone repository and enter the repository folder.

Prerequisites

Requires,

  • python3
  • Python Image Library (PIL)

Install the dependancies using:

pip install -r requirements.txt

Usage:

To use the example test_main.py file:

Embedding

Usage: python3 test_main.py e reference_png_input_image_path secret_input_file_path embedded_png_output_image_path

Eg: python test_main.py E mario.png dsts.txt t.png

Extraction

Usage: python test_main.py d reference_png_input_image_path secret_output_file_path embedded_png_input_image_path

Eg: python test_main.py D mario.png op.txt t.png

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Report error:

Contact info: https://tony-josi.github.io

About

Python Implementation of Pixel Value Differencing based Steganography (LSB) - PNG Cover Images

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages