# FreeOTFE

FreeOTFE is a discontinued open source computer program for on-the-fly disk encryption (OTFE). On Microsoft Windows, and Windows Mobile (using FreeOTFE4PDA), it can create a virtual drive within a file or partition, to which anything written is automatically encrypted before being stored on a computer's hard or USB drive. It is similar in function to other disk encryption programs including TrueCrypt and Microsoft's BitLocker.
The author, Sarah Dean, went absent as of 2011. The FreeOTFE website is unreachable as of June 2013 and the domain name is now registered by a domain squatter. The original program can be downloaded from a mirror at Sourceforge. In June 2014, a fork of the project now named LibreCrypt appeared on GitHub.

## Overview

FreeOTFE was initially released by Sarah Dean in 2004, and was the first open source code disk encryption system that provided a modular architecture allowing 3rd parties to implement additional algorithms if needed. Older FreeOTFE licensing required that any modification to the program be placed in the public domain. This does not conform technically to section 3 of the Open Source definition. Newer program licensing omits this condition. The FreeOTFE license has not been approved by the Open Source Initiative and is not certified to be labeled with the open-source certification mark.
This software is compatible with Linux encrypted volumes (e.g. LUKS, cryptoloop, dm-crypt), allowing data encrypted under Linux to be read (and written) freely. It was the first open source transparent disk encryption system to support Windows Vista and PDAs.
Optional two-factor authentication using smart cards and/or hardware security modules (HSMs, also termed security tokens) was introduced in v4.0, using the PKCS#11 (Cryptoki) standard developed by RSA Laboratories.
FreeOTFE also allows any number of "hidden volumes" to be created, giving plausible deniability and deniable encryption, and also has the option of encrypting full partitions or disks (but not the system partition).

## Portable use

FreeOTFE can be used in "portable" (or "traveller") mode, which allows it to be kept on a USB drive or other portable media, together with its encrypted data, and carried around. This allows it to be used under Microsoft Windows without installation of the complete program to "mount" and access the encrypted data through a virtual disk.
The use of this mode requires installing device drivers (at least temporarily) to create virtual disks, and as a consequence administrator rights are needed to start this traveller mode. As with most open source software that uses device drivers, the user must enable test signing when running Windows Vista x64 and Windows 7 x64 systems.

### Driverless operation

Packaged with FreeOTFE is another program called "FreeOTFE Explorer", which provides a driverless system that allows encrypted disks to be used without administrator rights.
This allows FreeOTFE encrypted data to be used on (for example) public computers found in libraries or computer kiosks (interactive kiosks), where administrator rights are unavailable.
Unlike FreeOTFE, FreeOTFE Explorer does not provide on-the-fly encryption through a virtual drive. Instead it lets files be stored and extracted from encrypted disk images, in a similar manner as ZIP and RAR archives, by using a Windows Explorer like interface.

## Algorithms implemented

Due to its architecture, FreeOTFE provides great flexibility to the user with its encryption options.

### Ciphers

FreeOTFE implements several ciphers, including:
* AES
* Blowfish
* CAST5 / CAST6
* DES / Triple DES
* MARS
* RC6
* Serpent
* Twofish
It includes all National Institute of Standards and Technology (NIST) Advanced Encryption Standard (AES) finalists, and all ciphers can be used with multiple different keylengths.

#### Cipher modes

FreeOTFE originally offered encryption using cipher-block chaining (CBC) with encrypted salt-sector initialization vector (ESSIV), though from v3.00 introduced LRW and also the more secure XTS mode, which supersedes LRW in the IEEE P1619 standard for disk encryption.

### Hashes

As with its cipher options, FreeOTFE offers many different hash algorithms:
* MD2
* MD4
* MD5
* RIPEMD-128
* RIPEMD-160
* RIPEMD-224
* RIPEMD-320
* SHA-1
* SHA-224
* SHA-256
* SHA-384
* SHA-512
* Tiger
* Whirlpool