tech mahindra - suhas desai -open source _cry-steganography 1.0
DESCRIPTION
OSS for securing data with Crypto-Steganography technologyTRANSCRIPT
Open Source for securing data
with Crypto-Steganography technology
Suhas Desai
6/23/2010 Confidential © Tech Mahindra 2008
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
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.
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
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
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
Example - MP3Stego
7
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
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
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
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
Image processing with Python
12
Data Hiding
13
Comparison: Original Image and Hidden Data Image
14
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
Stegano - Image
16
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
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.
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
Thank You !!