CipherShed Video Steganography

CipherShed, the encryption utility formerly known as TrueCrypt, performs on-the-fly filesystem encryption, either onto real block devices or container files, providing encrypted storage volumes.

It also supports hidden volumes inside these outer volumees. It doesn't support hiding these inside other types of file. However, with a little outside help, it is possible to embed a hidden CipherShed volume within a payable MP4 video file.

You will need the following:

  • An MP4 video of any size, but at least four times bigger than the volume that you want to embed. If you want a 1GB encrypted volume, you should use a video file that is at least 4GB.
  • The embedding script, get it here.

Create the CipherShed volume

Open CipherShed and create a new encrypted file container with a hidden volume inside. Set the size of the outer container to be around a quarter of the size of the video file.

The password or any attributes of the outer container are irrelevant because it will be destroyed: only the inner volume is important. For the size of the inner volume, take the reported size (e.g. 78.7MB would be 78.7 * 1024 = 80588KB) and use that.

If you want to maximise the size of the inner volume (you might as well because the outer one won't be accessible) just increase the entered value until it's too big (the Next button greys out when this happens).

As an example, an 80MB outer volume allows 78.7MB for the inner volume. This equates to 80588.8KB and the largest value that that can be entered is 80596 KB.

Embed the volume into the video

To embed the volume, the command-line is

$ ./ original_video.mp4 ciphershed_volume

This modifes the ciphershed_volume and, if necessary, appends the suffix. The resulting ciphershed_volume.mp4 is a playable video with an embedded hidden CipherShed volume.