78
Hash Algorithms
In the Volume Creation Wizard, in the
password change dialog window, and in the Keyfile
Generator dialog window, you can select a hash algorithm. A user-selected hash algorithm is used
by the TrueCrypt Random Number Generator as a pseudorandom “mixing” function, and by the
header key derivation function (HMAC based
on a hash function, as specified in PKCS #5 v2.0) as
a pseudorandom function. When creating a new volume, the Random Number Generator
generates the master key, secondary key (XTS mode), and salt.
For more information, please see
the section
Random Number Generator
and section
Header Key Derivation, Salt, and Iteration
Count
.
RIPEMD-160
RIPEMD-160, published in 1996, is a hash algorithm designed by Hans Dobbertin, Antoon
Bosselaers, and Bart Preneel in an open academic community. The size of the output of RIPEMD-
160 is 160 bits. RIPEMD-160 is a strengthened version of the RIPEMD hash
algorithm that was
developed in the framework of the European Union’s project RIPE (
RACE Integrity Primitives
Evaluation
), 1988-1992. RIPEMD-160 was adopted by the International Organization for
Standardization (ISO) and the IEC in the ISO/IEC 10118-3:2004 international standard [21].
SHA-512
SHA-512 is a hash algorithm designed by the NSA and published by NIST in FIPS PUB 180-2 [14]
in 2002 (the first draft was published in 2001). The size of the output of this algorithm is 512 bits.
Whirlpool
The Whirlpool hash algorithm was designed by Vincent Rijmen (co-designer of the AES encryption
algorithm) and Paulo S. L. M. Barreto. The size of the output of this algorithm is 512 bits. The first
version of Whirlpool, now called Whirlpool-0, was published in November 2000. The second
version,
now called Whirlpool-T, was selected for the NESSIE (
New European Schemes for
Signatures, Integrity and Encryption
) portfolio of cryptographic primitives (a project organized by
the European Union, similar to the AES competition). TrueCrypt uses the third (final) version of
Whirlpool, which was adopted by the International Organization for Standardization (ISO) and the
IEC in the ISO/IEC 10118-3:2004 international standard [21].