Linux ProjectX

Encode / Decode a Message in an Image Using Stepic(Python Image Steganography)

Before I demonstrate how to use Stepic in order to encode /decode a hidden message in an image, let us first define Steganography. Steganography is the art of hiding a message / data within a data. Take for example a picture: I can hide/encode a secret message on it by using my Steganographic skills. But it should not be confused with Cryptography which is the art of writing secret codes just like the Caesar Cipher or ROT.

In this tutorial, I will tackle about using an open source tool which is Stepic. Stepic was coded by Lenny Domnitser and that you can download the tarball on this link. But if you are using Debian based distros like Ubuntu, BackBox, BackTrack, etc. then you just need to type sudo apt-get install python-stepic.

Stepic Basic Usage For This Tutorial ( stepic [options] )

-h = shows all the options for using stepic

—-version = shows the version of the program (mine is 0.3)

-d = option used for decoding / for showing the message

-e = option used for encoding an image

-i = image file for decoding / encoding (for example lol.png)

-o = image name after encoding

-t file to be encoded (for example .txt file)

Alright, let’s get it on then! In this scenario I have an image file of a fan sign named as fansign.png and that I want to make a new image file named as steganography.png with a hidden message that says, “You just pawned the image =) very LoLz” and its filename is text.txt; so what I need to type in my terminal is:

stepic -e -i fansign.png -t text.txt -o steganography.png


After that, I should have a new image file named as steganography.png. And so I decided to upload the steganographic image here for you to try out.


The image above looks the same with the original one which named as fansign.png (Image below)

The only difference between the two images, is that the first image contains a hidden message and is not visible to the human eye but a computer/ machine / tool can tell the difference between the two.

To find the hidden mickey..errr.. I mean to decode the message in the image file named as steganography.png, type this in the terminal:

stepic -d -i steganography.png

And you should be able to see the hidden message just like the image below.


Message : You just pawned the image =) very LoLz

Leave a Reply