Skip to content
This repository has been archived by the owner on Nov 9, 2018. It is now read-only.
/ busysteg Public archive

👻 Hide information content into busy areas of images, optimally

Notifications You must be signed in to change notification settings

jaybosamiya/busysteg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BusySteg

Hide information content into busy areas of images, optimally

Basic Idea

Some parts of the image (for example, tree foliage) are busier than others (for example, the sky). It is possible to hide upto even 4 bits per 8 bit pixel in such areas, with no perceptible change to the image. Additionally, such modifications are virtually impossible to detect using common steganalysis techniques.

The original idea for this is taken from a paper titled "Keyless dynamic optimal multi-bit image steganography using energetic pixels" by Goutam Paul et. al..

The implemented technique is resistant against:

  1. Visual attacks
  2. Analysis though quality metrics
  3. Structural attacks
  4. Statistical attacks

Example

Original Image

original image

Image with text hidden

Encoded image

In the above image, the text hidden is

Beauty lies in the eye of the beholder

Quite a fitting caption actually.

Bitplane analysis

A bitplane analysis on the image shows no visible artefacts.

Bitplane Analysis

Usage

The code requires OpenCV 2.x, and CMake installed.

Compile using:

mkdir bin
cd bin
cmake ..
make

Hide data into an image using:

./busysteg h <image path> <data path> <output image path>

Extract data from the image using:

./busysteg x <image path> <output data path>

License

MIT License

About

👻 Hide information content into busy areas of images, optimally

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published