21
Open Source for securing data with Crypto-Steganography technology Suhas Desai 6/23/2010 Confidential © Tech Mahindra 2008

Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Embed Size (px)

DESCRIPTION

OSS for securing data with Crypto-Steganography technology

Citation preview

Page 1: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Open Source for securing data

with Crypto-Steganography technology

Suhas Desai

6/23/2010 Confidential © Tech Mahindra 2008

Page 2: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Agenda

Crypto – Steganography Overview Crypto – Steganography Overview

Open Source and CryptographyOpen Source and Cryptography

Crypto-Steganography Together? Why? How?Crypto-Steganography Together? Why? How?

2

Page 3: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Crypto – Steganography Overview

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

3

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

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

Steganography ItSteganography and Cryptography are two important technologies used to secure data. Ithas gained major attention since Second World War. In Second World War it has beenwidely used to hide and send sensitive information of military operations.

Page 4: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Open Source and Cryptography

••Open source crypto engine http://www.gnupg.org/The GNU Privacy Guard (GnuPG)

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

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

Cryptlib

•Crypto++ Library is a free C++ class library of cryptographic schemes http://cryptopp.com/

•Crypto++ Library is a free C++ class library of cryptographic schemes http://cryptopp.com/

Crypto++ Library

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

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

EzPyCrypto

4

Page 5: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Open Source and Steganography

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/

1. Steghide

5

Page 6: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

MP3Stego is another open source Steganography program that uses MP3 music files as a

encode

decode

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/

Open Source and Steganography Contd..

2. MP3stego

6

Page 7: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Example - MP3Stego

7

Page 8: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Open Source and Steganography Contd..

the

image

inside

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.

3. Stepic 3. Stepic

8

Page 9: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Crypto-Steganography Together? Why?

isplain

withcryptography

oftrying

Cryptography focuses on keeping the contents of a message secret.

Steganography focuses on keeping the existence of message secret but many times it isplain 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 withcryptography.

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

Why?

9

Page 10: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Crypto-Steganography Together? How?

STEP I STEP II STEP III STEP IV

Software RequirementSoftware Requirement

Python Image Library (PIL)

Python Image Library (PIL)

EzPyCryptoEzPyCrypto

StepicStepic

SteganographySteganography

Data hiding in ImagesData hiding in Images

Compare Original and Stegano ImagesCompare Original and Stegano Images

Steganography & Cryptography

Steganography & Cryptography

Combine EzPyCrypto with Stepic

Combine EzPyCrypto with Stepic

Create Stegano Image having

Encrypted Data

Create Stegano Image having

Encrypted Data

Encode/DecodeEncode/Decode

Display Extracted data with &

without decryption

Display Extracted data with &

without decryption

(Combine Cryptography and Steganography)

10

Page 11: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Python Image Library (PIL)‏

The PIL uses a plugin model that allows you to add your own decoders to the library, without

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

Page 12: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Image processing with Python

12

Page 13: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Data Hiding

13

Page 14: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Comparison: Original Image and Hidden Data Image

14

Page 15: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Combine ezPyCrypto with Stepic

some

images,data

towith

Instead of hiding plain data inside images, if you encrypt that data with somekey 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 datainside 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 toASCII format. You can use encStringToAscii () and encStringFromAscii() methods withstepic class to convert this data in ASCII format.

15

Page 16: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Stegano - Image

16

Page 17: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Display Extracted data with & without decryption

has

and

keyezPyCrypto

publicdifferent

addthe

Secret key cryptography hasbeen illustrated.

Same key is used at receiver andsender side.

You can use public keycryptography using ezPyCryptotool that is one common publickey for encryption but differentkey for decryption.

EzPyCrypto is also useful to adddigital signatures inside theimage.

17

Page 18: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Demonstration

18

Page 19: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

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

Page 20: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

References

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

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

Page 21: Tech Mahindra - Suhas Desai -Open Source _Cry-Steganography 1.0

Thank You !!