Open Source for securing data with Crypto-Steganography technology

Suhas Desai


Confidential © Tech Mahindra 2008


Crypto – Steganography Overview Open Source and Cryptography Crypto-Steganography Together? Why? How?


Crypto – Steganography Overview
Steganography and Cryptography are two important technologies used to secure data. It has gained major attention since Second World War. In Second World War it has been widely used to hide and send sensitive information of military operations.

Cryptography is art of writing secret code. Cryptography is combination of „Crypto‟ and „graphy‟ words. Crypto means „secret‟ and graphy means „art of‟.

Steganography is the art of hiding information in images. In Steganography, confidential data is hidden in images to protect it from unauthorized users. Steganography means “covered writing” in Greek.

Steganography differs from cryptography in the sense that where cryptography focuses on keeping the contents of a message secret, Steganography focuses on keeping the existence of message secret.


Open Source and Cryptography The GNU Privacy Guard (GnuPG)

• Open source crypto engine


•Encryption toolkit

Crypto++ Library

•Crypto++ Library is a free C++ class library of cryptographic schemes


•Encrypts/decrypts arbitrary-sized pieces of data like strings/files. Performs public/private key cryptography. Use any size public key. Import or export public and private keys also.


Open Source and Steganography
1. Steghide

Steghide is a Steganography program that is able to hide data in various kinds of image- and audio-files. To use Steghide to embed the file secret.txt into example.bmp, you'd use the following command: $ steghide embed -cf example.bmp -ef secret.txt Enter passphrase: Re-Enter passphrase: embedding "secret.txt" in "example.bmp.". Done  If you have received a cover file that contains a file that has been embedded with Steghide, use the extract command to reveal the hidden file with an -sf argument: $ steghide extract -sf example.bmp Enter passphrase: wrote extracted data to "secret.txt.“


Open Source and Steganography Contd..
2. MP3stego
 MP3Stego is another open source Steganography program that uses MP3 music files as a
preferred cover file format.

 MP3Stego is currently available only on the Windows platform.
 To embed the file secret.txt into stego.mp3 using stego.wav as input use the command:
encode -E secret.txt -P password stego.wav stego.mp3

 To decode the file, run:
decode -X -P password stego.mp3

 It is virtually impossible to find any differences in the audio of the normal file and the
same file with Steganography embedded


Example - MP3Stego


Open Source and Steganography Contd..

3. Stepic
Stepic is a new Python module and command line tool. It hides arbitrary data within images. Methods available in Stepic class are easy to implement Steganography. Stepic encodes or hides text inside image and also decodes/extracts hidden text from the

It allows storing the text or image data within an existing image without original image
being affected.

Stepic has very simple and easy implementation in python. Stepic doesn‟t perform any encryption or compression of
image. For that we need to use ezPyCrypto tool with Stepic.

data while hiding it inside


Crypto-Steganography Together? Why?

Cryptography focuses on keeping the contents of a message secret. Steganography focuses on keeping the existence of message secret but many times it is
plain text.

The strength of Steganography can thus be amplified by combining it with Cryptography. We If
will see how Steganography can be made far more useful by combining it with cryptography. cryptography the hidden message is discovered by an eavesdropper, they still have the burden of trying to decrypt the message.


Crypto-Steganography Together? How?
(Combine Cryptography and Steganography)

Software Requirement


Steganography & Cryptography


Python Image Library (PIL)

Data hiding in Images

Combine EzPyCrypto
with Stepic

EzPyCrypto Compare Original and Stegano Images Create Stegano Image having Encrypted Data

Display Extracted data with & without decryption



Python Image Library (PIL)‫‏‬

Provides extensive file format support.

Designed for fast access to data stored in a few basic pixel formats.
The PIL is ideal for image archival and batch processing applications. Useful to create thumbnails, convert between file formats and print images. Supports image resizing, rotation and arbitrary affine transforms. The PIL uses a plugin model that allows you to add your own decoders to the library, without
any changes to the library itself python.

 Python, xv and the PIL package are essential packages to perform image processing in


Image processing with Python


Data Hiding


Comparison: Original Image and Hidden Data Image


Combine ezPyCrypto with Stepic

Instead of hiding plain data inside images, if you encrypt that data with some key and then hide it inside image then that is more secure.  As stepic doesn‟t support encryption or compression of data while hiding it inside images, you can use ezPyCrypto tool of python along with stepic class for hiding encrypted data inside images to obtain more security.  EzPyCrypto is a more powerful tool that we can combine with stepic.  Stepic class hides data in ASCII format. So after encrypting data you have to convert it to ASCII format. You can use encStringToAscii () and encStringFromAscii() methods with stepic class to convert this data in ASCII format.


Stegano - Image


Display Extracted data with & without decryption

 Secret key cryptography been illustrated.


 Same key is used at receiver and sender side.  You can use public key cryptography using ezPyCrypto tool that is one common public key for encryption but different key for decryption.  EzPyCrypto is also useful to add digital signatures inside the image.





 Stepic provides additional security by hiding the message inside images.  You can encrypt the messages using ezPyCrypto tool and hide it inside image.  This will be additional layer of security for the confidential data.

 Enjoy the power of Stepic with ezPyCrypto!



1. Jain Ankit,” Steganography: A solution for data hiding”. 2. Robert Krenn,” Steganography Implementation & Detection” 3. Christian Cachin,” Digital Steganography” 4. James Madison,” An Overview of Steganography” 5. Neil F. Johnson,Sushil Jajodia, ”Exploring Steganography:Seeing the Unseen” 6. Max Weiss, “Principles of Steganography” 7. T. Morkel , J.H.P. Eloff , M.S. Olivier,” An Overview of Image Steganography” 8. Andreas Westfeld and Andreas Pfitzmann,” Attacks on Steganographic Systems” 9. 10. 11.


Thank You !!