You are on page 1of 21

Open Source for securing data

with Crypto-Steganography technology

Suhas Desai

6/23/2010 Confidential © Tech Mahindra 2008


Agenda

Crypto – Steganography Overview

Open Source and Cryptography

Crypto-Steganography Together? Why? How?

2
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.

3
Open Source and Cryptography

The GNU Privacy • Open source crypto engine http://www.gnupg.org/


Guard (GnuPG)

Cryptlib •Encryption toolkit


http://www.cs.auckland.ac.nz/~pgut001/cryptlib/

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


cryptographic schemes http://cryptopp.com/

•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.

4
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.“

Web: http://steghide.sourceforge.net/

5
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

Web: http://www.petitcolas.net/fabien/steganography/mp3stego/

6
Example - MP3Stego

7
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
image.

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

8
Crypto-Steganography Together? Why?

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
cryptography
cryptography.

If the hidden message is discovered by an eavesdropper, they still have the burden of
trying to decrypt the message.

9
Crypto-Steganography Together? How?

(Combine Cryptography and Steganography)

STEP I STEP II STEP III STEP IV

Steganography &
Software Requirement Steganography Encode/Decode
Cryptography

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
Stepic

10
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
python.

11
Image processing with Python

12
Data Hiding

13
Comparison: Original Image and Hidden Data Image

14
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.

15
Stegano - Image

16
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
image.

17
Demonstration

18
Summary

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

19
References

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. www.python.org
10. http://domnit.org/stepic/doc/
11. http://www.freenet.org.nz/ezPyCrypto/

20
Thank You !!