Next: , Up: Hashing


7.1 Available hash algorithms

GCRY_MD_NONE
This is not a real algorithm but used by some functions as an error return value. This constant is guaranteed to have the value 0.
GCRY_MD_SHA1
This is the SHA-1 algorithm which yields a message digest of 20 bytes. Note that SHA-1 begins to show some weaknesses and it is suggested to fade out its use if strong cryptographic properties are required.
GCRY_MD_RMD160
This is the 160 bit version of the RIPE message digest (RIPE-MD-160). Like SHA-1 it also yields a digest of 20 bytes. This algorithm share a lot of design properties with SHA-1 and thus it is advisable not to use it for new protocols.
GCRY_MD_MD5
This is the well known MD5 algorithm, which yields a message digest of 16 bytes. Note that the MD5 algorithm has severe weaknesses, for example it is easy to compute two messages yielding the same hash (collision attack). The use of this algorithm is only justified for non-cryptographic application.
GCRY_MD_MD4
This is the MD4 algorithm, which yields a message digest of 16 bytes. This algorithms ha severe weaknesses and should not be used.
GCRY_MD_MD2
This is an reserved identifier for MD-2; there is no implementation yet. This algorithm has severe weaknesses and should not be used.
GCRY_MD_TIGER
This is the TIGER/192 algorithm which yields a message digest of 24 bytes. Actually this is a variant of TIGER with a different output print order as used by GnuPG up to version 1.3.2.
GCRY_MD_TIGER1
This is the TIGER variant as used by the NESSIE project. It uses the most commonly used output print order.
GCRY_MD_TIGER2
This is another variant of TIGER with a different padding scheme.
GCRY_MD_HAVAL
This is an reserved value for the HAVAL algorithm with 5 passes and 160 bit. It yields a message digest of 20 bytes. Note that there is no implementation yet available.
GCRY_MD_SHA224
This is the SHA-224 algorithm which yields a message digest of 28 bytes. See Change Notice 1 for FIPS 180-2 for the specification.
GCRY_MD_SHA256
This is the SHA-256 algorithm which yields a message digest of 32 bytes. See FIPS 180-2 for the specification.
GCRY_MD_SHA384
This is the SHA-384 algorithm which yields a message digest of 48 bytes. See FIPS 180-2 for the specification.
GCRY_MD_SHA512
This is the SHA-384 algorithm which yields a message digest of 64 bytes. See FIPS 180-2 for the specification.
GCRY_MD_CRC32
This is the ISO 3309 and ITU-T V.42 cyclic redundancy check. It yields an output of 4 bytes. Note that this is not a hash algorithm in the cryptographic sense.
GCRY_MD_CRC32_RFC1510
This is the above cyclic redundancy check function, as modified by RFC 1510. It yields an output of 4 bytes. Note that this is not a hash algorithm in the cryptographic sense.
GCRY_MD_CRC24_RFC2440
This is the OpenPGP cyclic redundancy check function. It yields an output of 3 bytes. Note that this is not a hash algorithm in the cryptographic sense.
GCRY_MD_WHIRLPOOL
This is the Whirlpool algorithm which yields a message digest of 64 bytes.