Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Hiding Images in Plain Site question
Index -> General Discussion
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
mirhagk




PostPosted: Wed Sep 12, 2012 4:39 pm   Post subject: Hiding Images in Plain Site question

Hey guys,

I've been curious about hiding things in plain sight in terms of security, and one thing I'm interested in experimenting with is hiding one image within another image format. For instance I think it'd be interesting to have a picture that has some basic alterations made to it in order to convert it to another picture. Using the BMP file format this seems like it might be possible to change a few key areas in order to completely alter the image.

I have 2 basic ideas. The first is using colour palettes, so basically you take 2 images and derive a colour palette for each. Then you assign indices from each pixel to each colour palette. There are 2 pictures, A and B, and each has it's own colour palette (a,b). Then each pixel is given an index to a colour in the palette such that when palette a is used, you'll get picture A, and when palette b is used, you'll get picture B. This method is intriguing in that it's possible to convert any image to any other image assuming your palette is big enough (because you'll have to duplicate many colours in the palette to account for this algorithm), however the image size will increase very quickly, and the palette would be the key, which isn't something that'd be small (but could be used in 2nd image, allowing the 2 pictures to be merged to get the original image back)

The 2nd idea is simply changing the bit mask, such that 1 bit mask would provide a single image, and the 2nd would provide a 2nd image. This would be a VERY difficult problem, and it wouldn't work for every image without alteration. It could convert a single image to noise very easily by simply changing the bit mask, but I don't think you could map 2 pictures together without altering at least one significantly (to the point where it'd be essentially noise). Perhaps this could be combined with the above colour palette idea, giving the picture some more freedom, but I'm not sure. The advantage of this however is that only 4 bytes of the picture change, which could produce an easy to remember password that the user could enter (when converted to something longer but readable, like base 64 encoding).

Something similar could also be done with the bit depth, although this may be even trickier.

So what do you guys think of this idea (obviously not as real encryption, that'd be dumb, but it'd be fine to hide one picture as another picture just for the sake of doing it). Is there another way to accomplish this within the confines of regular file formats (ie by making a quick change to the file itself, to convert it from being the secret picture to the public picture and vice versa, not requiring a specialized file reader, just requiring a conversion of the file).

My big question about BMP file format though is whether pictures with larger pixel depths than 8 can use the colour palette or just ones with 8 or less bits per pixel. Does anyone know?

Here's the format in case anyone's wondering.
http://en.wikipedia.org/wiki/BMP_file_format
[/url]
Sponsor
Sponsor
Sponsor
sponsor
Insectoid




PostPosted: Wed Sep 12, 2012 7:38 pm   Post subject: RE:Hiding Images in Plain Site question

Just encode it into the buffer bits. It's easy. You'd just need a really big image (or an awkwardly proportioned one) to store a smaller one.
Zren




PostPosted: Wed Sep 12, 2012 7:41 pm   Post subject: Re: Hiding Images in Plain Site question

Hmmm. I learned of a technique a while back. Let's see if you can figure it out.

Hint: It's not another image stored inside.

Posted Image, might have been reduced in size. Click Image to view fullscreen.

The stuff hidden in plain sight is enormous. Cell phones with GPS and camera's pretty tend to have GeoTagging enabled by default. Which can pretty much give away where you took the photo / where you live. http://www.makeuseof.com/dir/icanstalku-photo-geotagging/
mirhagk




PostPosted: Wed Sep 12, 2012 8:10 pm   Post subject: RE:Hiding Images in Plain Site question

@Insectoid yeah I could, but I think it'd be cool to take advantage of the image itself.
btiffin




PostPosted: Thu Sep 13, 2012 1:10 am   Post subject: RE:Hiding Images in Plain Site question

not quite completely off topic; hide (useless, esoteric) code in art. Piet programming.

http://www.dangermouse.net/esoteric/piet/samples.html

I am a huge fan of the Piet Pi program. Calculate and print pi, the bigger the red circle (image pixels), the more accurate the approximation.

on topic; For some starter googles; watermarking, digital, image, invisible, (warcraft) Wink

Cheers
Display posts from previous:   
   Index -> General Discussion
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 5 Posts ]
Jump to:   


Style:  
Search: