SSH Communications Security
Japanese site | Sitemap
Purchase Download Contact
Support
Product Support Documentation Downloads Testing Zone FAQ Cryptography A-Z Contact
Cryptography A-Z

Introduction to Cryptography
Algorithms
Public Key Cryptosystems
Secret Key Cryptosystems
Cryptographic Hash Functions
Random Number Generators
Protocols and Standards
References
Online Resources
Algorithms




Cryptographic Hash Functions

Cryptographic hash functions are used in various contexts, for example to compute the message digest when making a digital signature. A hash function compresses the bits of a message to a fixed-size hash value in a way that distributes the possible messages evenly among the possible hash values. A cryptographic hash function does this in
a way that makes it extremely difficult to come up with a message that would hash to a particular hash value. Some of the best known and most widely used hash functions are briefly described below.


  • SHA-1 (Secure Hash Algorithm) (also SHS, Secure Hash Standard): This is a cryptographic hash algorithm published by the United States Government. It produces an 160 bit hash value from an arbitrary length string. It is considered to be very good.

    The official standard text can be found here.

  • RIPEMD-160 is a hash algorithm designed to replace MD4 and MD5 (see below). It produces a digest of 20 bytes (160 bits, hence the name), reportedly runs at 40 Mb/s on a 90 MHz Pentium and has been placed in the public domain by its designers. The RIPEMD-160 homepage is at www.esat.kuleuven.ac.be/~bosselae/ripemd160.html


  • MD5 (Message Digest Algorithm 5) is a cryptographic hash algorithm developed at RSA Laboratories. It can be used to hash an arbitrary length byte string into a 128 bit value.


    MD5's ancestor, MD4 has been broken, and there are some concerns about the safety of MD5 as well. In 1996 a collision of the MD5 compression function was found by Hans Dobbertin. Although this result does not directly compromise its security, as a precaution the use of MD5 is not recommended in new applications.

  • Tiger is a recent hash algorithm developed by Anderson and Biham. It is available from ftp://ftp.funet.fi/pub/crypt/hash/tiger.


  • MD2, MD4: These are older hash algorithms from RSA Data Security. They have known flaws (Hans Dobbertin, FSE'96, LNCS 1039), and their use is not recommended.