You are on page 1of 21

Open Source for securing data

with Crypto-Steganography technology

Suhas Desai

6/23/2010 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 • Open source crypto engine

Guard (GnuPG)

Cryptlib •Encryption toolkit

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

cryptographic schemes

•Encrypts/decrypts arbitrary-sized pieces of data

EzPyCrypto 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 data while hiding it inside
image. For that we need to use ezPyCrypto tool with Stepic.

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 will see how Steganography can be made far more useful by combining it with

If 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)


Steganography &
Software Requirement Steganography Encode/Decode

Python Image Library

(PIL) Combine EzPyCrypto
Data hiding in Images with Stepic

Display Extracted
EzPyCrypto data with &
without decryption
Create Stegano
Compare Original Image having
and Stegano Images Encrypted Data

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, 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 has

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



 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”

Thank You !!