Secrets Hidden in Images (Steganography) - Computerphile

1,262,189
0
Published 2015-08-04
Secret texts buried in a picture of your dog? Image Analyst Dr. Mike Pound explains the art of steganography in digital images.

The Problem with JPEG:    • The Problem with JPEG - Computerphile  
The Bayer Filter:    • Capturing Digital Images (The Bayer F...  
Super Computer & the Milky Way:    • Supercomputer and the Milky Way - Com...  
JPEG Discrete Cosine Transform (DCT):    • JPEG DCT, Discrete Cosine Transform (...  


www.facebook.com/computerphile
twitter.com/computer_phile

This video was filmed and edited by Sean Riley.

Computer Science at the University of Nottingham: bit.ly/nottscomputer

Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com/

All Comments (21)
  • If you download this video you'll discover that every single frame contains "I'm the editor working hours in the basement, please send help"
  • @CliveReyes
    Every time Dr. Pound makes a video he goes "oh I've written a program for this..." then they never show us the code! It would be fantastic if you guys could share Dr. Pound's work for learning purposes.
  • @samnub7912
    From now on, I'm going to watermark all my image work with the tragedy of darth plaguis the wise
  • @garethdean6382
    Truly this is a remarkable area of study. Why just the other day I was looking at what appeared at first to be a picture of a herd of braying donkeys. It was only with careful scrutiny of the image I realized that O was actually staring at a picture of parliament.
  • @TommiHimberg
    A very interesting video on how e.g. the entire works of Shakespeare can be hidden in one digital photo. Kudos to Dr Pound for yet another extremely clear and understandable explanation of a complex topic!
  • @Mysteryem
    A fairly good example of steganography that you may have come across without realising was the video game Spore. In it, you could drag the images of creatures/spaceships/buildings/etc. into the game's editor and it would then read the hidden data describing that creation from within the image and load it into the editor.
  • @lollelolle1
    I could listen to this guy for ages and never get bored. The topics he presents are so fascinating and he presents them very well. Nice work
  • @Svin4y
    I cant understand a word of what he is saying. But I cant stop listening...
  • you telling me that there are secret messages in the rarest of pepes?
  • @richard102879
    I must have watched a million Tech videos and read three times as many online articles before I found this guy here on computerphile and I have come to realize without question that this man is dangerous. Very few people possess this level of knowledge and the videos are by far the best on the internet. Keep up the good work!👍👍
  • @jody4210
    My professor didn't give us any detailed explanation on this topic but you gave a wonderful one. Thank you!
  • @MuddledMe
    Wikileaks had an strange email with a load of photos of Antarctica in. this guy needs to look at them....
  • @bambel4997
    I am very glad you didn’t just show us the image and have us take your word for it that the images were different!
  • @shanedk
    I played around with this a bit in the late '80s. I wrote a program that would take a TGA file and put the message in the two least significant bits of each channel, just as he describes in the video. I found that I could tell the point at which the message stops, because the image just gets a bit less noisy and more clean. This could be an indication to someone else that you were hiding a message, if they were familiar with the process.

    My solution was to generate random numbers and do the rest of the pixel data randomly. If your message is encrypted (which it should be; steganography is no substitute for sound encryption), then it should be indistinguishable from randomness anyway, so this should successfully hide the fact that you've hidden a message to begin with.

    Of course, this isn't going to work with lossy algorithms like JPG. Today, just use PNG.
  • @lukasdon0007
    Instead of trying to detect JSTEG, wouldn't it be possible to destroy the message by slightly altering the image? For instance, you could add a very slight blur, NR or USM which doesn't alter the image that much, but completely ruins any hidden message. Or add a small and complex distortion pattern, etc.

    In other words: if I upload a JSTEG image to facebook/whatsapp, and then the image gets recompressed/resized or noise reduction is applied, then it would be impossible for the receiving party to recover the message hidden inside.
  • @rich1051414
    Technically, you could modify the least significant bit of all three color channels to give you three bits per pixel. For a 1920x1080 picture, that would give you enough space to embed a message that is (1920*1080*3) / 8 bytes large, or 777, 600 bytes, and it would be imperceivable, as each color channel would only be one bit different, like the difference in 255 and 254, you would not notice it.

    This assumes the image format preserves three channels of pixel information, like PNG.
  • @TheJespeon
    I just remember feeling like some sort of turbo hacker for following a tutorial when I was like 13 to hide a rar archive in an image file.
  • @TheCreatorJames
    Every time I research and implement something, Computerphile releases a video within a week on the same topic. GG Computerphile.