Algoritmos Hash
Algoritmos Hash
∙ Verificación de archivos;
∙ Almacenamiento de contraseñas;
∙ Búsqueda en bases de datos;
∙ Creación de una cadena de bloques.
2.- SHA
La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema
de funciones hash criptográficas relacionadas con la Agencia de Seguridad
Nacional de los Estados Unidos y publicadas por el National Institute of Standards
and Technology (NIST). El primer miembro de la familia fue publicado en 1993 es
oficialmente llamado SHA. Sin embargo, hoy día, no se llama oficialmente SHA-0
para evitar confusiones con sus sucesores. Dos años más tarde el primer sucesor
de SHA fue publicado con el nombre de SHA-1. Existen cuatro variantes más que
se han publicado desde entonces cuyas diferencias se basan en un diseño algo
modificado y rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y
SHA-512 (todos ellos son referencias como SHA-2 ).
En 1998, un ataque a SHA-0 fue encontrado, pero no fue reconocido para SHA-1,
se desconoce si fue la NSA quien lo descubrió, pero mejoró la seguridad del SHA-
1.
SHA-2 se utiliza en un gran número de herramientas de seguridad y protocolos.
Algunos de ellos son TLS, SSL, PGP, SSH, S/MIME, IPsec y Bitcoin.
En el protocolo Bitcoin, SHA-256 se utiliza en la creación de claves o direcciones
públicas y en la minería de Bitcoin
3.- MD5
MD5 (Message Digest Algorithm 5, Algoritmo de Ordenación de Mensajes 5) es un
algoritmo seguro desarrollado por RSA Data Security, Inc. MD5 es una función
hash de 128 bits, que toma como entrada un mensaje de tamaño arbitrario y
produce como salida un resumen del mensaje de 128 bits. El MD5 no sirve para
cifrar un mensaje ya que lo destruye completamente, la información no es
recuperable de ninguna manera ya que hay pérdida de información. El primer paso
es dividir el mensaje en bloques de 512 bits. El último bloque o si el mensaje
completo es menor a 512 bits, se formatea para tener un tamaño de 512 bits
mediante el agregado de bits 0 más la longitud del tamaño del mensaje. Además,
se tiene un búfer estado de 128 bits manejado como cuatro palabras de 32 bits. La
función compresión tiene cuatro rondas y en cada ronda el bloque de mensaje y el
búfer son combinados en el cálculo, mediante el uso de sumas modulares, XOR’s,
AND’s, OR’s y operaciones de rotaciones sobre palabras de 32 bits.
Los resúmenes MD5 se utilizan extensamente en el mundo del software para
proporcionar la seguridad de que un archivo descargado de Internet no se ha
alterado. Comparando una suma MD5 publicada con la suma de comprobación del
archivo descargado, un usuario puede tener la confianza suficiente de que el
archivo es igual que el publicado por los desarrolladores. Esto protege al usuario
contra los 'Caballos de Troya' o 'Troyanos' y virus que algún otro usuario malicioso
pudiera incluir en el software. La comprobación de un archivo descargado contra
su suma MD5 no detecta solamente los archivos alterados de una manera
maliciosa, también reconoce una descarga corrupta o incompleta.