TrueCrypt Installation on RasPi

Important note: The development of TrueCrypt was ended in May 2014 according to the TrueCrypt project page. The TrueCrypt developers issued a warning that using TrueCrypt is not secure. The latest TrueCrypt version 7.2 is meant for supporting migration to other enryption software.

If you still want to use all of its features, you should stay with version 7.1a which has been mirrored on http://cyberside.net.ee/truecrypt/.

Meanwhile a Swiss project started a fork of TrueCrypt with the aim to continue its development as open source software. Old versions of the software are available through github.

TrueCrypt Installation on RasPi

If you’re a user of the TorOnionPi router, you’re probably also interested in Truecrypt. Unfortunately, there is no pre-compiled binary for ARM in the Debian repo, thus one has to to compile from source. Although already discussed in the forum on Raspberry.org, here’s a short HowTo for compilation of Truecrypt on a Raspberry Pi.

First of all, download the source code from truecrypt.org

$ wget http://www.truecrypt.org/downloads/transient/0d82764e6c/TrueCrypt{c7f7cb1468c0d02af358b3ce02b96b7aadc0ce32ccb53258bc8958c0e25c05c4}207.1a{c7f7cb1468c0d02af358b3ce02b96b7aadc0ce32ccb53258bc8958c0e25c05c4}20Source.tar.gz

If you want to download truecrypt with your browser, goto http://www.truecrypt.org/downloads2  and pick the tarball “Mac OS X / Linux (.tar.gz)”.

For compilation of Truecrypt, the WXWidget library is required, get it from SourceForge with:

$ wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.gz

Next, install lib-fuse using aptitude.

$ sudo aptitude install libfuse-dev

And finally, download the header files of the RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 2.20 into the folder ~/pkcs-header-dir/.

$ cd ~/pkcs-header-dir/ && wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h

Now, you’re ready to compile TrueCrypt. In your /home/pi directory, do:

$ tar-xf TrueCrypt\ 7.1a\ Source.tar.gz && tar -xf wxWidgets-2.8.12.tar.gz

For compilation, export the path of pcks header files:

$ export PKCS11_INC=/home/pi/pkcs-header-dir/

Now, start the compilation process, first for WXWidget:

$ cd truecrypt-7.1a-source/
$ make NOGUI=1 WX_ROOT=/home/pi/wxWidgets-2.8.12 wxbuild

Take a cup of coffee and wait for 15-20 minutes, overclocked RasPis may perform faster 😉 .
Next, compile TrueCrypt. This will take up to an hour.

$ make NOGUI=1 WXSTATIC=1

Then, move the binary to:

$ sudo cp -v media/truecrypt /usr/local/bin/

Run the program with:

$ truecrypt -t -k "" --protect-hidden=no /tmp/test.truecrypt /media/truecrypt1/ -v -m=nokernelcrypto

You probably have to adjust the path to yout container or disk drive, depending where its mounted. Command line options can be displayed doing:

$ truecrypt --help