Topics Blockchain
Bybit Learn
Bybit Learn
Advanced
Jun 2, 2022

¿Qué es el algoritmo SHA-256?

El algoritmo SHA-256 es uno de los muchos algoritmos disponibles para cifrar datos. La Agencia de Seguridad Nacional (NSA) y el Instituto Nacional de Estándares y Tecnología (NIST) crearon este método de cifrado en los Estados Unidos (NIST). Este algoritmo fue y sigue siendo un importante avance para garantizar la privacidad del contenido durante el procesamiento de la información.

¿Qué es SHA-256 y por qué es importante?

La función hash y la técnica de minería del protocolo Bitcoin es el algoritmo de hash seguro (SHA) -256, que se refiere a una función hash criptográfica que produce un valor de 256 bits. Controla la generación y gestión de direcciones, así como la verificación de transacciones. Bitcoin emplea doble SHA-256, lo que significa que las operaciones hash se realizan dos veces.

El algoritmo es una versión modificada del algoritmo SHA-2 (Secure Hash Method 2) (NSA) de la Agencia de Seguridad Nacional. SHA-256 también se usa en sistemas operativos de código abierto como Unix/Linux y protocolos de encriptación destacados como SSL, TLS y SSH.

La técnica hash es increíblemente segura y los detalles de cómo funciona no están disponibles para el público en general. El gobierno de los EE. UU. lo utiliza para proteger información confidencial, ya que puede autenticar el contenido de los datos sin revelarlo gracias al uso de firmas digitales. También se usa para la verificación de contraseñas porque elimina la necesidad de guardar contraseñas precisas porque los valores hash pueden almacenarse y compararse con la entrada del usuario para ver si es correcta.

Los datos iniciales son casi imposibles de deducir solo de un valor hash. Además, debido a la gran cantidad de combinaciones posibles, un ataque de fuerza bruta es muy difícil de lograr. Así mismo, dos valores de datos (conocidos como colisión) que tienen el mismo hash es extremadamente improbable.

Historia de la función hash SHA-256

Los orígenes de la función hash SHA-256 se remontan a los primeros años de la expansión global de Internet. En Internet, las comunicaciones digitales necesitan un método rápido y seguro para validar los numerosos flujos de datos que circulan por la red.

La función hash MD5 se usó originalmente para cumplir con este propósito. Esta fue una función realmente sencilla y de bajo costo para implementar. En 1996, sin embargo, MD5 fue etiquetado como una función vulnerable. El criptoanalista Hans Dobbertin encontró un problema de seguridad en la función ese año. Esta información permitió a cualquier hacker con los medios y habilidades necesarios decodificar el algoritmo, rompiendo la seguridad de las comunicaciones de Internet si hiciera esto.

En respuesta a este problema, la NSA (Agencia de Seguridad Nacional de los Estados Unidos) comenzó a desarrollar un conjunto de funciones hash para reemplazar MD5. El estudio se completó en 2001, cuando la NSA presentó el NIST con la familia de funciones SHA-2 (Instituto Nacional de Estándares y Tecnología de los Estados Unidos). Las funciones SHA-224, SHA-256, SHA-384 y SHA-512 forman parte de esta familia de funciones. FIPS PUB 180-4 identifica las funciones que finalmente formaron un Estándar federal de procesamiento de información (FIPS).

Desde entonces, SHA-256 ha ocupado una posición única en el mundo de las computadoras. Esto se debe a que SHA-256 fue diseñado para lograr un equilibrio entre seguridad y velocidad de cálculo, gracias a sus claves de 256 bits.

Particularidades del algoritmo SHA-256

Un algoritmo hash solo funciona en una dirección: podemos generar su hash (su "huella digital") a partir de cualquier contenido, pero no podemos generar el contenido asociado a él a partir de un hash, excepto intentándolo aleatoriamente hasta que lo encontremos. la materia

SHA-256 es uno de los algoritmos de hashing más utilizados debido a su equilibrio entre seguridad y costo computacional de generación, ya que es un método muy eficiente con una alta resistencia a la colisión.

Otra característica del método hash SHA-256 es que la longitud del hash resultante es constante, independientemente de la longitud del contenido utilizado para generarlo: ya sea una letra o todas las palabras del libro de Harry Potter, el resultado siempre es una cadena de 64 letras y dígitos (codificada como 256 bits, 32 bytes).

Bitcoin y otras criptomonedas emplean SHA-256 como algoritmo hash.

La seguridad de SHA-256 es atractiva para una variedad de aplicaciones, una de las cuales es Bitcoin y otras criptomonedas. La función SHA-256 se usó mucho cuando Satoshi Nakamoto publicó el código fuente de Bitcoin al mundo en 2009. En la práctica, este algoritmo hash es responsable de la seguridad de Bitcoin.

Bitcoin utiliza SHA-256 doblemente iterado, o SHA-256(SHA-256()), también conocido como sha256d en la mayoría de los listados de algoritmos. Por otra parte, Ethereum emplea otro tipo de algoritmo llamado Keccak-256 en un motor de consenso llamado Ethash. Keccak es una familia de funciones hash que finalmente se estandarizó a SHA-3 (SHA256 es parte de una familia de funciones hash llamada SHA-2). Ethereum la llamó Keccak en lugar de SHA-3, ya que tiene parámetros ligeramente diferentes a los del actual SHA-3.

Ahora veamos cómo Nakamoto y Bitcoin usaron el algoritmo hash SHA-256.

Funcionalidad de SHA-256

El hash SHA-256 (y cualquier otro algoritmo hash) está diseñado para proporcionar un resumen. El algoritmo SHA-256 se usa en Bitcoin tanto para la minería como para generar direcciones de bitcoin. Esto se debe al hecho de que proporciona un alto nivel de seguridad.

Cada nodo de la red blockchain tendrá una copia del hash de 64 caracteres que contiene la información que, por ejemplo, constituye un bloque completo. Cualquier manipulación de esa información que intente modificar cualquier carácter del hash validado sería inmediatamente descubierta y eliminada después de que haya sido validada por la red (o, de manera equivalente, una vez que ya haya sido registrada en la cadena).

* Descargo de responsabilidad: este artículo está destinado a ser utilizado únicamente con fines de referencia. Ninguna información proporcionada a través de Bybit constituye un consejo o una recomendación de que cualquier inversión o estrategia de trading sea adecuada para una persona específica. Estas previsiones se basan en las tendencias del sector, las circunstancias de los clientes y otros factores, y conllevan riesgos, variables e incertidumbres. No existe ninguna garantía presentada o implícita en cuanto a la exactitud de las previsiones, proyecciones o declaraciones predictivas específicas en este documento. Los usuarios de este artículo aceptan que Bybit no se hace responsable de ninguna de sus decisiones de inversión. Busca asesoramiento profesional antes de realizar trading.