Un hash es el resultado de una función o algoritmo.
Se refiere a una función o método para generar claves o llaves que representen de manera casi iguales a un documento, registro, archivo, etc., resumir o identificar un dato a través de la probabilidad. Función hash • Una función de hash es una función para resumir o identificar probabilísticamente un gran conjunto de información, dando como resultado un conjunto imagen finito generalmente menor (un subconjunto de los números naturales por ejemplo). Varían en los conjuntos de partida y de llegada y en cómo afectan a la salida similitudes o patrones de la entrada. Una propiedad fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también lo son. Propiedades de hash
Una función de hash criptográfica tiene las
siguientes propiedades: • La entrada puede ser de cualquier longitud. • La salida tiene una longitud fija. • La función de hash es unidireccional y es irreversible. • Dos valores de entrada distintos casi nunca darán como resultado distintos valores hash. Algoritmos de hash
• Las funciones de hash son útiles para
asegurar que un usuario o un error de comunicación modifique los datos por accidente. Por ejemplo, es posible que un emisor desee asegurarse de que nadie modifique un mensaje en camino al destinatario. El dispositivo de envío introduce el mensaje en un algoritmo de hash y computa su compendio o huella digital de longitud fija. Algoritmos de hash modernos • Existen muchos algoritmos de hash modernos que se utilizan ampliamente en la actualidad. Dos de los más populares son MD5 y SHA. 1. Algoritmo de compendio del mensaje 5 (MD5) • Ron Rivest desarrolló el algoritmo de hash MD5 y varias aplicaciones de Internet lo utilizan en la actualidad. MD5 es una función unidireccional que facilita el cálculo de un hash de datos de entrada dados, pero dificulta el cálculo de los datos de entrada con un solo valor hash, MD5 produce un valor hash de 128 bits. 2. Algoritmo de hash seguro (SHA)
• Instituto Nacional de Normas y Tecnología (NIST) de los
Estados Unidos desarrolló SHA, el algoritmo especificado en el Estándar de hash seguro (SHS). NIST publicó SHA-1 en 1994. SHA-2 reemplazó a SHA-1 por cuatro funciones de hash adicionales para componer la familia SHA: • SHA-224 (224 bits) • SHA-256 (256 bits) • SHA-384 (384 bits) • SHA-512 (512 bits) SHA-2 es un algoritmo más sólido y reemplaza a MD5. SHA- 256, SHA-384 y SHA-512 son los algoritmos de próxima generación.