Las Funciones criptográficas de Hash son usadas en vario contextos, por ejemplo para calcular el resúmen del mensaje al firmar digitalmente un documento. Una función Hash "comprime" los bits del mensaje a un valor Hash de tamaño fijo, de manera de distribuir uniformemente los posibles mensajes en los posibles valores Hash. Una función criptográfica de Hash hace esto de manera tal que se hace extremadamente difícil conocer el mensaje a partir del valor Hash.
Las funciones Hash criptográficas típicamente producen valores Hash de 128 bits o más. El número de valores Hash diferentes que se obtienen, 2^128, es mucho mas amplio que el número de mensajes diferentes que se pueden intercambiar en todo el mundo. La razón para requerir mas de 128 bits se basa en la paradoja cumpleaños. Esta paradoja afirma que dada una función Hash que mapea cualquier mensaje a un compendio de 128 bits, podemos prever que el mismo compendio será calculado dos veces cuando un mensaje seleccionado de 2^64 generado al azar ha sido obtenido. Como los chips de memoria para la computadora están disponibles se puede volver necesario requerir compendios de mas de 128 bit (tales como 160 bit que se han convertido en el estándar recientemente).
SHA-1 (Secure Hash Algorithm - Algoritmo seguro de Hash: también SHS - Secure Hash Standard - Estándar Seguro de Hash; es un algoritmo criptográfico de Hash publicado por el gobierno de los Estados Unidos. Genera un valor Hash de 160 bit a partir de una secuencia de longitud arbitraria. SHA-1 es considerado lo suficientemente seguro para aplicaciones prácticas, pero hay disponibles versiones mas robustas, SHA-256, SHA-384 y SHA-512 que generan valores Hash de 256, 384 y 512 bits respectivamente, estas versiones reemplazaran a SHA-1 mientras se siga trabajando sobre ellas. El texto oficial estándar puede encontrarse en FIPS PUB 180-1.
MD5 (Message Digest Algorithm - Algoritmo de resumen de mensaje): es un algoritmo criptográfico de Hash desarrollado en RSA Laboratories. Puede ser usado para crear un valor Hash de una secuencia de bytes de longitud arbitraria a una de 128 bit.
RIPEMD-160: es un algoritmo de Hash diseñado para reemplazar a MD4 y MD5. Genera un Hash de 20 bytes (160 bits, de ahí su nombre) y fue liberado por sus diseñadores. El sitio oficial de este algoritmo puede ser visto en www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
Los ancestros de MD5, MD2, MD4 y SHA-1 fueron rotos y hay algunas preocupaciones al respecto de la seguridad de MD5. En 1996 Hans Dobbertin encontró una colisión en la función de compresión de MD5. A pesar de esto dicha colisión no compromete directamente su seguridad, como precaución no se recomienda el uso de MD5 en nuevas aplicaciones.
SHA-1 es muy utilizado todavía, aunque su contraparte mas fuerte, SHA-256, SHA-384, y SHA-512 son sus probables sucesores en el futuro.