SHA-256 (criptografía)

SHA-256
Información sobre la plantilla

Las siglas SHA-256 hacen mención a la función hash que ha sido elegida para el funcionamiento de muchas criptomonedas pues ofrece un alto nivel de seguridad, lo que la hace perfecta para la tarea de proteger y codificar de forma segura la información de las mismas.

Existen muchos sistemas para codificar la información y uno de ellos es el algoritmo SHA-256. Este es un algoritmo de hash que es usado por Bitcoin para garantizar la integridad de la información almacenada en un bloque, entre otras cosas.

Como casi todos los avances en materia de criptografía, los gobiernos del mundo han tenido un papel fundamental debido a las guerras. El algoritmo SHA o Secure Hash Algorithm (Algoritmo de Hash Seguro), es uno de estos avances. Este algoritmo criptográfico fue desarrollado por la Agencia de Seguridad Nacional de los Estados Unidos (NSA) y el National Institute of Standards and Technology (NIST). Su objetivo es generar hashes o códigos únicos en base a un estándar con el que se pudieran asegurar documentos o datos informáticos frente a cualquier agente externo que desee modificarlos. Este algoritmo fue y es un gran avance en el camino a garantizar la privacidad del contenido en el procesamiento de información.

En 1993 salió a la luz el primer protocolo SHA, también llamado coloquialmente SHA-0. Dos años más tarde, se publicó una variante mejorada más resistente, el SHA-1. Algunos años más tarde se lanzó SHA-2, que tiene cuatro variantes según el número de bits, como son SHA-224, SHA-256, SHA-384 y SHA-512.

Características del algoritmo SHA-256

Un algoritmo hash funciona en una sola dirección: esto quiere decir que de cualquier contenido podemos generar su hash (su “huella dáctilar digital”) pero de un hash no hay forma de generar el contenido asociado a él, salvo probando al azar hasta dar con el contenido.

Entre las diferentes formas de crear hashes, el algoritmo usado por SHA-256 es uno de los más usados por su equilibrio entre seguridad y coste computacional de generación, pues es un algoritmo muy eficiente para la alta resistencia de colisión que tiene.

Hash-criptografico.jpg

Otra de las particularidades del algoritmo de hash SHA-256 es que la longitud del hash resultante es siempre igual, no importa lo extenso que sea el contenido que uses para generar el hash: ya sea de una letra o todas las palabras del libro de Harry Potter entero, el resultado siempre es una cadena de 64 de letras y números (con una codificación de 256 bits, 32 bytes).

Objetivo del hash SHA-256

El objetivo del hash SHA-256 (y de toda función hash) es la de generar un resumen. Para entender de forma simple y más detallada todo esto, no te pierdas el capítulo dedicado a explicar las funciones hash.

En Bitcoin, el SHA-256 se utiliza para el proceso de minería (creación de bitcoins), pero también en el proceso de generar direcciones bitcoin. Esto es así por el gran nivel de seguridad que ofrece.

Dentro de la red blockchain todos los nodos tendrían una copia del hash de 64 caracteres que representa la información que representa, por ejemplo, a todo un bloque. Una vez esa información está validada por la red (o lo que es lo mismo, ya ha quedado registrada en la cadena) cualquier manipulación de esa información intentando modificar algún carácter del hash validado, sería detectada de forma inmediata y se descartaría.

Referencias

https://criptotario.com/sha-256
https://academy.bit2me.com/wp-content/uploads/2019/10/Criptography_SHA_256_es.pdf
https://academy.bit2me.com/sha256-algoritmo-bitcoin/