Funciones hash: ¿Cuál es una explicación intuitiva de los diversos algoritmos SHA? ¿Cuáles son las mejoras clave entre cada familia?

La ardilla Douglas tiene un hábito alimenticio distintivo. Suele comer piñas

de abajo hacia arriba. Los conos parcialmente comidos pueden indicar la presencia de estos

ardillas si han sido atacadas desde el fondo primero. Si, en cambio, el cono tiene

comido desde el extremo superior hacia abajo, es más probable que haya sido un pinzón de pico cruzado

que ha estado haciendo la cena

Ardillas: un manual de vida silvestre, Kim Long

  • ¿Qué son las funciones hash?

Una función hash H acepta un bloque de datos de longitud variable como entrada y produce un valor hash de tamaño fijo . Una función hash “buena” tiene la propiedad de que los resultados de aplicar la función a un gran conjunto de entradas producirán salidas que están distribuidas uniformemente y aparentemente al azar. En términos generales, el objeto principal de una función hash es la integridad de los datos . Un cambio en cualquier bit o bits en los resultados, con alta probabilidad, en un cambio en el código hash .

  • APLICACIONES DE LAS FUNCIONES CRASHPTOGRAPHIC HASH
  1. Autenticación de mensaje

La autenticación de mensajes es un mecanismo o servicio utilizado para verificar la integridad de un mensaje. La autenticación de mensajes asegura que los datos recibidos son exactamente como se envían (es decir, no contienen modificación, inserción, eliminación o reproducción). Cuando se utiliza una función hash para proporcionar autenticación de mensajes, el valor de la función hash a menudo se denomina resumen de mensaje.

La autenticación de mensajes se logra utilizando un código de autenticación de mensajes (MAC), también conocido como función hash con clave. Por lo general, los MAC se usan entre dos partes que comparten una clave secreta para autenticar la información intercambiada entre esas partes. Una función MAC toma como entrada una clave secreta y un bloque de datos y produce un valor hash, denominado MAC. Esto se puede transmitir o almacenar con el mensaje protegido. Si es necesario verificar la integridad del mensaje, la función MAC se puede aplicar al mensaje y comparar el resultado con el valor MAC almacenado. Un atacante que altere el mensaje no podrá alterar el valor MAC sin conocer la clave secreta.

2. Firmas digitales

Otra aplicación importante, que es similar a la autenticación de mensajes.
aplicación, es la firma digital. En el caso de la firma digital, el valor hash de un mensaje se cifra con la clave privada de un usuario. Cualquiera que conozca la clave pública del usuario puede verificar la integridad del mensaje asociado con la firma digital. En este caso, un atacante que desee alterar el mensaje necesitaría conocer al usuario
llave privada.

ALGORITMO DE HASH SEGURO (SHA)

El algoritmo de hash seguro es una familia de funciones de hash criptográficas publicadas por el Instituto Nacional de Estándares y Tecnología (NIST) como un Estándar Federal de Procesamiento de Información (FIPS) de EE. UU. En los últimos años, la función hash más utilizada ha sido Secure Hash
Algoritmo (SHA).

  • SHA-0 : un retrónimo de la versión original de la función hash de 160 bits publicada en 1993 con el nombre “SHA”. Se retiró poco después de la publicación debido a un “defecto significativo” no revelado y se reemplazó por la versión ligeramente revisada SHA-1.
  • SHA-1 : una función hash de 160 bits que se asemeja al algoritmo MD5 anterior. Esto fue diseñado por la Agencia de Seguridad Nacional (NSA) para formar parte del algoritmo de firma digital. Se descubrieron debilidades criptográficas en SHA-1, y el estándar ya no se aprobó para la mayoría de los usos criptográficos después de 2010.
  • SHA-2 : una familia de dos funciones hash similares, con diferentes tamaños de bloque, conocidas como SHA-256 y SHA-512. Difieren en el tamaño de la palabra; SHA-256 usa palabras de 32 bits donde SHA-512 usa palabras de 64 bits. También hay versiones truncadas de cada estándar, conocidas como SHA-224 y SHA-384. Estos también fueron diseñados por la NSA.
  • SHA-3 : una función hash anteriormente llamada Keccak, elegida en 2012 después de una competencia pública entre diseñadores que no son de la NSA. Admite las mismas longitudes de hash que SHA-2, y su estructura interna difiere significativamente del resto de la familia SHA.

Documento oficial : http://csrc.nist.gov/publication…

Comparación: