Hide encrypted files inside videos

I read an really interesting post the other day. It was about Steganography which is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message.

What really caught my eye was that in this case, you could hide a complete encrypted and secure TrueCrypt volume inside a video. The video still plays the way it should and the only difference is the filesize. It’s almost impossible to to find the encrypted volume but I assume you can check the bit rate of the video and calculate how big it should be.

And the best part, it’s easy to do and you can mount your encrypted volume and add/remove files anytime you want without any hassle.

Step by step

Step 1

Download a .mp4 video of any size. If you want a 1GB encrypted volume, you should probably have a vieo file of at least 4GB.

Step 2

Downlad tcsteg2.py and save it to disc.

Step 3

Open TrueCrypt and create a hidden volume. You can choose any password for the outer container since it will be removed. Choose a strong password for the inner volume. Save the container as whatever.mp4.

Truecrypt Hidden Volume

Step 4

Open the terminal and run the command python /path/to/tcsteg2.py /path/to/video.mp4 /path/to/whatever.mp4

That’s it!

You can watch whatever.mp4 without noticing anything suspect and from TrueCrypt you can mount the file as an encrypted volume. Perfect for USB-sticks! Note that some videos gets a bit distorted in the beginning, choose another one if that happens. See the demo below for a distorted one.


Check this video out, and try to mount it in TrueCrypt (password: oskarhane): whatever.mp4

[Source http://keyj.emphy.de/real-steganography-with-truecrypt/]