Home » Data Management

TrueCrypt Virtual Disk Encryption

Posted 1 Dec 2005 | Comments Off on TrueCrypt Virtual Disk Encryption | 1,766 views

TrueCrypt creates virtual encrypted disks on Microsoft Windows and Linux. It is based on a project called Encryption for the Massess (E4M). TrueCrypt provides “on-the-fly” encryption to automatically encrypt files as they are save to the virtual volume. TrueCrypt can be used to securely transfer data between computers USB drives. The application provides a variety of well know encryption and hashing functions. It is also open source software.


TrueCrypt is available as a free download from their website. The Windows version includes a standard installer, and it can also be run in “traveller mode” without installation. The Linux version is available as either in DEB or RPM format. The source code is also available for those that want to inspect the code or compile TrueCrypt themselves. For my tests, we installed TrueCrypt on Windows XP, Fedora Core 4, and OpenSuSE 10.0.

I chose the defaults for all choices on the Windows installation. The installation does not require a reboot so I was able to start using the program right away. On the two Linux systems, I installed the RPM package.

Exploring The Application

The Windows GUI is very intuitive, and I was able to create an encrypted volume in about a minute. I started by creating a standard encrypted volume on a USB drive that I had handy. For my initial tests, I chose the default encryption and hash algorythms. Once the volume was created and formatted with a FAT file system, I mounted the volume. The encrypted volume appeared as a standard drive in the My Computer window.

Using standard drag-n-drop, I copied over a few files to the new virtual drive. One of the typical concerns when using encrypted volumes is data corruption when moving files between unencrypted and encrypted space. A few quick MD5 calculations revealed that all of the files survived the transfers intact. Read and write speeds to the encrypted file system seemed typical. I was able to create a new OpenOffice document and save it directly to the TrueCrypt volume without any issues. Unmounting and remounting the volume was very smooth.

After testing a while on the Windows system, I moved the USB drive over to the Fedora computer. When running on Linux, TrueCrypt makes use of the LVM mapper utility. The Linux version does not have a GUI so everything must be done from the command line. This should not discourage anyone from using TrueCrypt on Linux since the man page on the TrueCrypt website is very well written. In fact, the first example in the man page is just enough of a hint to mount the Windows-created volume under Linux. The Linux version does not have the capability to create the volume file; however, it is planned for a future release. The functionality under Linux is very similar to cryptsetup-luks.

After mounting the Windows volume on the Fedora system, I again compared MD5 checksums just to make sure the files survived the move. All of the files matched up fine, so a deleted a few files and added a few more, and then umounted and moved the USB drive back to the Windows system. This round of files also survived the move.

Convinced the application was stable, I moved on to testing the security of the data. TrueCrypt uses well known and tested encryption and hashing algorythms, and they are available for use by themselves or cascaded together. The TrueCrypt website provides a very well written user guide in PDF format that details the functionality of the application. Since I knew the content of the files currently in the volume, I attempted to discern parts of the files in the encrypted volume. None of the file contents showed up using simple strings and grep tests. As I stated earlier, the source code is available for those that want to inspect it. Rather than try to decrypt the volume using other tools, I took a quick peak at the code. The comments within the code are relatively light; however, the code is very readable and easy to understand. It is easy to trace how passwords are handled and when dmsetup is called to map the devices. TrueCrypt does not store the password or a password hash within the volume.

Overall Assessment

TrueCrypt is a very stable and functional application for securely storing important data. The documentation provided on the website is very complete and helpful. The planned GUI and volume creation on the Linux side will make it even more appealing. The website also mentions that support for more platforms is planned. Hopefully OS X and a few BSD variants are in the works.

Comments are closed.