PDA

Click to See Complete Forum and Search --> : Steganography


Mystery Man
June 2nd, 2006, 10:18 AM
Hi

I am completely new to this field. I want to implement an entry level project to understand the process of image encryption better. I would like to hide text or if easily possible an image into another one.

I have looked up on some random google searches and found LSB algorithm which uses to store one bit data in each of the 3 bits used for storing colors.

Queries
1) Is the lsb alg ogood enough to be implemented as a first project into field?
2) What is the structure of an jpeg image with headers and pixel bit positions?
3) How can i convert a jpeg to binary and find values for pixel colors and position to insert data in case of LSB algo?
4) Is the implementation feasible in VB.Net?

Thanx

nihil
June 2nd, 2006, 11:42 AM
OK MM I know this is not what you were asking, but sometimes it is helpful to look at things from the other aspect, that is, detection?

This tool and the information on this site might better help your understanding?

http://www.outguess.org/detection.php

Cheers ;)

thehorse13
June 2nd, 2006, 12:27 PM
The CDC (cult of the dead cow) used to have an excellent paper on this. They even had a browser called camera shy that would display stego images that were hidden within normal pages. I'm sure that someone has the archives hosted out there.

LSB will be fine to start with. There are far more complex methods used in steganography. Eric Cole has a book out on this subject called hiding in plain sight. You may want to check it out.

--TH13

brokencrow
June 2nd, 2006, 03:11 PM
I used to play with steganography. S-Tools was my favorite app although it's a bit dated now (10 years old). The encryption schemes for S-Tools are IDEA, DES, Triple-DES and MDC. DES is easily cracked from what I understand. I also experimented with the Camera-Shy webbrowser for a time but found it quite ineffective picking up the DES-encrypted jpg's I used on a test site. I might have a copy of it somewhere but it would take some digging around.

Wikipedia has a nice overview:

http://en.wikipedia.org/wiki/Steganography

Mystery Man
June 2nd, 2006, 03:46 PM
Hello and thanx for all the replies.

I am currently unable to find an answer to the ques 2 and 3 i posted above. On searching i have come across websites that offer to convert image for me to ascii or binary but i want an algo to do that embedded inside the applicaton that i create. Although i searched a lot but still i am unable to find an algo for conversion.

Please specify an algo for the conversion and some info about the format of the jpeg.
The wiki link was a good one.

Thanx

hexadecimal
June 3rd, 2006, 12:23 AM
http://www.svrops.com/svrops/downloads/zipfiles/CameraShy.0.2.23.1.exe

camera shy browser <-- in google... 3rd or 4th link

enjoy :D

Christina
June 3rd, 2006, 01:21 AM
http://www.informit.com/guides/content.asp?g=security&seqNum=103&rl=1

This should give you plenty of information to get you started.

As the paper by Niels Provos and Peter Honeyman entitled, "Detecting Steganographic Content on the Internet (http://www.citi.umich.edu/techreports/reports/citi-tr-01-11.pdf) " states, "The JPEG image format uses a discrete cosine transform (DCT) to transform successive 8_8-pixel blocks of the image into 64 DCT coefficients each. The least significant bits (LSB) of the quantized DCT coefficients are used as redundant bits into which the hidden message is embedded." In other words, each pixel block in a jpeg contains a small area that is basically worthless with regards to the image quality; however, this bit does provide a steganographer an excellent place to store data.

It also references you to here: http://www.guillermito2.net/index-tmp.html which is one of my favorite sites.

If you gain a basic understanding on how LSBs are manupulated in steganography software, you should easily be able to come up with an algorithm to do it yourself. Play around with some of the basic programs as well and try and see what it's actually doing.

JPEG headers:
http://www.obrador.com/essentialjpeg/headerinfo.htm
http://www.media.mit.edu/pia/Research/deepview/exif.html

This may help you as well:
http://www.guillermito2.net/stegano/tools/index.html

Watch how it is done in C#:
http://www.codeproject.com/csharp/steganodotnet.asp
(There are a series of these articles on different aspects as well)

And steganography in .NET:
http://www.devx.com/dotnet/Article/22667