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 guardada 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 Instituto Nacional de Estándares y Tecnología (NIST). Su objetivo es generar hashes o códigos únicos en base a un estándar con el que se podrían 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 para garantizar la privacidad del contenido en el procesamiento de la 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.
Otra de las particularidades del algoritmo de hash SHA-256 es que la longitud del hash resulta 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 letras y números (con una codificación de 256 bits, 32 bytes).
¿Cuál es el 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 cadena de bloques roja, todos los nodos tendrán una copia del hash de 64 caracteres que representa la información que representa, por ejemplo, a todo un bloque. Una vez que 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.
Para aumentar la información técnica sobre esta función hash criptográfica, te recomendamos descargar y leer el artículo en español “Criptografía: Función SHA-256” de Javier Domínguez Gómez, ingeniero de software español y hacktivista en Free Software Foundation y Electronic Frontier Foundation.
Si quieres hacer pruebas puedes acceder a esta página de generación de contraseñas basadas en SHA-256, haciendo clic aquí.