¿Qué es SHA256? | Función de hash criptológico

SHA256 es una variante de la función de hash criptológico Secure Hash Algorithm, versión 2. Las funciones de hash se utilizan principalmente en la tecnología de la información para garantizar la integridad de los datos. Son especialmente adecuados para esto, ya que el valor de salida de los registros de datos de cualquier longitud siempre tiene el mismo tamaño compacto. Un cambio a solo un bit, por otro lado, da como resultado un valor hash completamente diferente. Como resultado, no es posible sacar ninguna conclusión sobre la longitud y el contenido de los datos transmitidos.

Algunos detalles sobre funciones hash como SHA256

Una función hash realiza un cálculo con las partes constituyentes del contenido. Similar a una suma de comprobación. En su forma más simple, esto podría ser un cálculo de suma de comprobación. Esto podría llevarse a cabo hasta que el resultado siempre tenga un cierto número de dígitos. A pesar de las diferentes cifras iniciales, habría una gran superposición en el resultado.

Estos se denominan colisiones hash. Por lo tanto, una operación aritmética tan simple no es adecuada para este propósito. Por el contrario, se utilizan algoritmos complejos. Además del requisito de que no debe haber colisiones, se debe utilizar un buen algoritmo hash cumplir más requisitos.

También te puede interesar: ¿Qué es Bourne Again shell (Bash)?

Uno es la eficiencia del cálculo, otro es el efecto de avalancha. Esto significa que los cambios más pequeños en el valor de entrada deberían causar los cambios más grandes posibles en el valor de salida. Particularmente importante es la irreversibilidad. Debe ser imposible calcular el valor de entrada a partir del valor de salida. Esto se llama hash unidireccional. Otro factor importante es que los datos subyacentes son irreconocibles. Si toma la traducción del término inglés “to hash” literalmente, estos se “cortan” después de que se hayan realizado los cálculos.

La historia

La primera versión del SHA (SHA-0) fue desarrollada por el Instituto Nacional de Estándares y Tecnología (NIST) y la Agencia de Seguridad Nacional (NSA) y presentada en 1993. Debido a una debilidad en el algoritmo, el sucesor SHA-1 se presentó en 1995. Esto, a su vez, ya no se considera seguro desde 2005.

Los investigadores lograron reducir el esfuerzo computacional requerido para generar colisiones hasta tal punto que un cálculo parecía posible en un período de tiempo finito. Por eso se desarrolló SHA-2. Está disponible en las variantes SHA224, SHA256, SHA384 y SHA512. El número describe la longitud de la secuencia de bits en la salida. La representación suele estar en notación hexadecimal. Esto es más compacto y los cambios en la salida son más fáciles de ver para los humanos.

SHA-3 se lanzó desde 2015, pero aún no está muy extendido. Esto se basa en un algoritmo de cálculo completamente diferente. Sin embargo, SHA-2, con una longitud de salida suficiente, puede considerarse seguro.

¿Cómo funciona SHA-2?

Cómo funciona SHA-2
Cómo funciona SHA-2

El valor de entrada se divide en elementos de igual longitud. Estos se llaman bloques. Dado que se requiere un múltiplo de la longitud del bloque, generalmente es necesario completar los datos, es decir, expandirlos. El valor acolchado es el acolchado. Luego, el procesamiento se realiza en bloques. Los bloques se ejecutan y se utilizan como clave para cálculos intermedios sobre los datos que se codificarán posteriormente. El conjunto de datos se ejecuta en 64 rondas (SHA224 y SHA256) o 80 rondas (SHA384 y SHA512). El resultado del último cálculo es el valor de salida, es decir, el hash.

Aplicaciones de SHA256

El valor hash de un archivo a menudo se proporciona en relación con su descarga. SHA256 es ahora una de las variantes más comunes. Después de la descarga completa, el usuario puede calcular el valor hash de su archivo localmente y compararlo con el valor en el lado del proveedor. Si coincide, hay absoluta certeza de que se transfirió el archivo correcto sin errores. En este contexto, también se habla de la huella digital de un archivo. Se pueden utilizar programas gratuitos como HashCalc para calcular el valor hash.

Aplicación de algoritmos de búsqueda

La huella digital, que es mucho más corta que el contenido, también se puede utilizar para indexar archivos, por ejemplo, en bases de datos. Aquí es común que los metadatos, como el nombre del archivo y la ruta, se guarden por separado del contenido real. Por un lado, no tiene que buscar todo el contenido. Por otro lado, los valores hash resultantes de los archivos se pueden ordenar, lo que simplifica el uso de algoritmos de búsqueda.

SHA256 se puede utilizar de forma similar para certificados digitales. El procedimiento se utiliza para la creación de certificados TLS / SSL. También se utiliza para crear firmas para los métodos de cifrado S / MIME y PGP. También IPSec, el protocolo para establecer una conexión segura a Internet, usa SHA256 para autenticarse en conexión con el método HMAC (código de autenticación de mensajes basado en hash).

SHA256 al crear blockchains

Además, SHA256 puede formar parte de la creación de blockchains. Este principio se ha dado a conocer principalmente en el curso de la difusión de Bitcoins. Pero también se puede transferir a otras áreas. Usando un algoritmo de hash seguro, es posible administrar transacciones de manera descentralizada. Cada transacción consta de un encabezado y una parte de datos y se registra en un bloque. Estos bloques están ahora indisolublemente unidos.

El valor hash SHA256 del encabezado anterior y la parte de datos propios se registran en el encabezado de una transacción. Una vez finalizada la transacción, la cadena de bloques se transfiere de nuevo a varias ubicaciones de almacenamiento redundantes (nodos). Por tanto, una manipulación es imposible. Si se elimina o cambia una transacción, los valores hash de las siguientes transacciones ya no son correctos. Además, todos los sistemas involucrados pueden calcular la integridad de la cadena de bloques en función de los valores hash.

Deja un comentario