96Crypt provides a selection between 10 different HASH function algorithms.
The user will make his choice based on his own preferences between:.
MD5, RMD-128, RMD-160, TIGER, HAVAL-5, SHA1, SHA256, SHA384, SHA512 or
96Crypt which is a combined process using HAVAL-5 & SHA256 XORed with SHA512.
A HASH function is a cryptographic algorithm that accepts input, arbitrary in length
and renders a fixed-length output. In 96Crypt, HASH functions are applied to the
user-selected password in order to transform any password using variable size letters
and numbers into a fixed-length string which is called the hash value or "key".
However, this "compression" that maps an arbitrary finite bitlength message (file) to
a fixed bitlength output is a one-way irreversible function.
The length of the result "key" is totally independent of the number of letters/numbers
contained in the user-provided secret password. This result "key", derived from the
user-provided secret password, has a fixed length defined ONLY by the selected HASH
function. This result "key" represents the "fingerprint" of the user-provided secret
password.
The result "key" is very similar to a "fingerprint". It is UNIQUE. The longer the
key-length is, the lower (<< 10^-128) the mathematical probability is to find another
identical result "key". This is the main reason why long-key HASH functions are more
secure than short or medium size HASH result keys. [SHA512 (512-bit) vs MD5 (128-bit)]
In cases where the selected HASH provides a shorter key length than what is required
by the chosen cipher, like selecting MD5 (128-bit result) with Blowfish (448-bit required),
96Crypt will pad the "key" to bring it to the required length before feeding it to the
block cipher to complete the process.
In any case, even when the HASH function returns the right key length as required by the
selected cipher, 96Crypt will still use a HASH cascading function with multiple HASH/SALT
rounds to provide a result key that meets the highest level of security.
As a matter of fact, cascading HASH functions h(x) = h1(x) || h2(x) || .. || hn(x) delivers
a sure collision resistant HASH function h, if either h1, h2 or hn are collision resistant.
96Crypt HASH cascading implementation may be represented by the following simplified scheme:
The user selected HASH function from the HASH select menu is always considered as h1, and
96Crypt systematically attributes SHA256 to h2 during one round, then SHA384 in the following
round and finally SHA512 in the last round. This increased strength is worth the little loss in
speed, yet largely compensated by the usage of pure assembly language code.
As SHA256, SHA384 and SHA512 are considered (so far) very secure and collision-free, therefore,
even when the user selected HASH function is MD5 (for h1), 96Crypt still provides a collision-free
key to feed the block cipher.
- 1. 96Crypt Multi-Combined
This is the default selection. It is a combined process using HAVAL-5 & SHA256 XORed with SHA512.
- 2. MD5
MD5 was developed by Professor Ronald L. Rivest of MIT, It produces a
128-bit output
"fingerprint / message digest" of any variable length input. Copyrighted (C) 1991-92
RSA Data Security Inc.
As the MD5 HASH funcion produces a 128-bit key, 96Crypt auto-appends the key length
supplied by MD5, with additional multiple HASH/SALT rounds using a HASH cascading
routine, to extend the key length as needed by the selected cipher.
- 3. RMD-128
RipeMD-128 is a 128-bit cryptographic hash function,
designed by Hans Dobbertin,
Antoon Bosselaers & Bart Preneel and developed in the framework of project RIPE
1988-1992 (RACE Integrity Primitives Evaluation). It produces a 128-bit output
"fingerprint / message digest". The authors do not hold any patents on this algorithm.
As the RMD-128 HASH funcion produces a 128-bit key, 96Crypt auto-appends the key length
supplied by RMD-128, with additional multiple HASH/SALT rounds using a HASH cascading
routine, to extend the key length as needed by the selected cipher.
- 4. RMD-160
RipeMD-160 is a 160-bit cryptographic hash function,
designed by Hans Dobbertin,
Antoon Bosselaers & Bart Preneel and developed in the framework of project RIPE
1988-1992 (RACE Integrity Primitives Evaluation). It produces a 160-bit output
"fingerprint / message digest". The authors do not hold any patents on this algorithm.
As the RMD-160 HASH funcion produces a 160-bit key, 96Crypt auto-appends the key length
supplied by RMD-160, with additional multiple HASH/SALT rounds using a HASH cascading
routine, to extend the key length as needed by the selected cipher.
- 5. TIGER
Tiger is a fast new hash function, designed by Ross Anderson & Eli Biham to run
quickly on 64-bit processors and produce a 192-bit
hash output. Tiger has no
usage restrictions nor patents.
96Crypt auto-appends the 192-bit key length supplied by TIGER, with additional multiple
HASH/SALT rounds using a HASH cascading routine, to provide a collision resistant key.
- 6. HAVAL-5
HAVAL (Hashing Algorithm with Variable Length) was designed in 1993 by Yuliang Zheng,
Josef Pieprzyk and Jennifer Seberry, University of Wollongong, Australia.
HAVAL produces a variable length hash digest of 128, 160 192, 224 & 256-bit.
HAVAL can process the input in 3, 4 or 5 passes. The implementation of HAVAL-5
in 96Crypt produces only the 256-bit key.
96Crypt pads the 256-bit key length supplied by HAVAL-5, with additional multiple
HASH/SALT rounds using a HASH cascading routine, to provide a collision resistant key.
- 7. SHA-1
The Secure Hash Algorithm (SHA) was developed by NIST along with the NSA in 1993.
SHA1 can produce a 160-bit
"message digest" and seems to provide higher security level
than MD5. The Hash function is one-way and collision-free.
As the SHA-1 HASH funcion produces a 160-bit key, 96Crypt auto-appends the key length
supplied by SHA-1, with additional multiple HASH/SALT rounds using a HASH cascading
routine, to extend the key length as needed by the selected cipher.
- 8. SHA256
SHA256 is a newer secure hash standard announced by NIST on October 12, 2000.
It was approved by NIST on August 26, 2002. It produces a 256-bit
"message digest".
96Crypt pads the 256-bit key length supplied by SHA256, with additional multiple
HASH/SALT rounds using a HASH cascading routine, to provide a collision-free key.
- 9. SHA384
SHA384 is a newer secure 384-bit
key hash standard announced by NIST on
October 12, 2000. Although the relative number of rounds with the SHA384 seems
lower than for SHA-1, however, SHA384 still provides higher security level than
preceding hash functions.
96Crypt pads the 384-bit key length supplied by SHA384, with additional multiple
HASH/SALT rounds using a HASH cascading routine, to provide a collision-free key.
- 10. SHA512
Like the SHA384, SHA512 is a newer secure 512-bit
key hash standard announced
by NIST on October 12, 2000. Although the relative number of rounds with the SHA512
seems lower than for SHA-1, however, SHA512 provides today the highest security level
than any preceding hash functions.
96Crypt pads the 512-bit key length supplied by SHA512, with additional multiple
HASH/SALT rounds using a HASH cascading routine, to provide a collision-free key.
The HASH functions implemented in 96Crypt are listed below:
Algorithm Name
|
Rendered Key length
|
MD5 |
128-bit |
RMD-128 |
128-bit |
RMD-160 |
160-bit |
SHA-1 |
160-bit |
TIGER |
192-bit |
HAVAL-5 |
256-bit |
SHA256 |
256-bit |
SHA384 |
384-bit |
SHA512 |
512-bit |
Note 2:
NIST is the National Institute of Standards and Technology.
Note 3:
When opening 96Crypt, it will auto-position on the last HASH selection that
was saved the last time 96Crypt was closed.
EnCrypt / DeCrypt files & FOLDERs
Copyright 2002 -
© eRightSoft