¿Qué es la función hash criptográfica?

Principiante3/17/2024, 2:00:25 PM
Este artículo proporciona una descripción general completa de las funciones hash criptográficas, explorando su historia, características, aplicaciones en blockchain y principios de funcionamiento. Las funciones hash criptográficas desempeñan un papel crucial para garantizar la seguridad y la fiabilidad de la tecnología blockchain.

Historia de la función hash criptográfica

La función hash criptográfica (CHF) existe desde la década de 1980 y encuentra una utilidad generalizada en criptografía, verificación de la integridad de los datos, indexación de bases de datos y varios otros dominios.

Al calcular una función hash criptográfica, se introducen datos de longitud arbitraria y la función correspondiente los transforma en un valor de salida de longitud fija. Esta transformación implica la aplicación de varias operaciones a diferentes segmentos de los datos de entrada, comúnmente conocidos como Hash. La salida resultante se conoce como valor hash, y la operación en sí se denomina función hash.

Un ejemplo ilustrativo es el algoritmo MD5, utilizado con frecuencia en descargadores P2P, caracterizado por una longitud de 128 bits. Los usuarios pueden comparar el valor hash de un archivo descargado con el proporcionado por la fuente; Una coincidencia indica la integridad probable del archivo.

Otra aplicación frecuente es la autenticación de contraseñas en los sitios web. Para proteger las contraseñas de los usuarios, la mayoría de las plataformas almacenan contraseñas hash en lugar de entradas de texto sin formato. Cuando un usuario inicia sesión, el sistema calcula la función hash de la contraseña introducida y la compara con el valor almacenado asociado al nombre de usuario. La naturaleza irreversible de la función hash criptográfica protege contra el descifrado de contraseñas, incluso si los piratas informáticos obtienen valores hash de la base de datos.

Características de las funciones hash criptográficas

La búsqueda de 'SHA256 Generator' revela que diferentes sitios web que utilizan el mismo algoritmo generan constantemente valores hash idénticos para textos de entrada similares.

Además, la alteración de las mayúsculas y minúsculas del texto de entrada da como resultado valores hash de salida completamente distintos, lo que se conoce como efecto avalancha. Las siguientes características miden la seguridad de una función hash criptográfica:

  • Resistencia previa a la imagen: Recuperar el valor de entrada original del valor hash de salida es muy difícil debido a las propiedades de la función unidireccional.

En el ejemplo anterior, reconstruir la contraseña de un usuario a partir de valores hash robados plantea una dificultad significativa. Las operaciones complejas y la compresión de información dentro de las funciones hash criptográficas dificultan la ingeniería inversa, enfatizando su naturaleza unidireccional.

  • Segunda resistencia previa a la imagen: Identificar otro valor de entrada que produzca el mismo valor hash dada una entrada inicial es arduo. **Esta característica se denomina resistencia débil a las colisiones.

  • Resistencia a colisiones: Descubrir dos valores distintos que producen valores hash idénticos es un desafío y se denomina colisión hash criptográfica. Esta propiedad denota una fuerte resistencia a las colisiones.

Tomando el MD5 mencionado como ejemplo, ¿es posible que diferentes archivos generen el mismo valor hash? La respuesta es sí, pero la probabilidad es extremadamente baja. Este fenómeno se conoce como colisión de hash criptográfico, que puede ocurrir accidentalmente o a través de un ataque deliberado. La probabilidad de colisión estándar para el algoritmo MD5 es de aproximadamente 1/2¹²⁸, lo que hace que los accidentes sean muy poco probables. Sin embargo, MD5 se considera vulnerable a ataques de colisión deliberados, ya que producir el mismo valor hash para dos textos planos diferentes es relativamente fácil. Por lo tanto, aunque el algoritmo MD5 todavía se puede utilizar para tareas que no implican seguridad, ya no es adecuado para tareas de autenticación de seguridad (como la autenticación de claves o las firmas digitales).

Función hash criptográfica en Blockchain

Ethereum utiliza la función hash criptográfica KECCAK-256, que muchas personas identifican erróneamente como SHA-3 (incluso en la tesis doctoral del fundador de Celestia) porque esta función se escribió originalmente como 'sha3' en Solidity. Debido a la confusión, posteriormente se le cambió el nombre a Keccak256.

MetaMask utiliza varias funciones hash criptográficas en sus operaciones:

  • Un conjunto de 12 palabras de una combinación aleatoria de 2048 palabras de propuesta BIP39 forma palabras auxiliares.
  • Cada palabra corresponde a un valor, creando colectivamente enteros semilla.
  • MetaMask aplica la función SHA-256 al entero semilla, generando una clave privada para importar billeteras existentes. Esto es a veces lo que se requiere ingresar al importar una billetera existente en un nuevo dispositivo.
  • El algoritmo ECDSA procesa la clave privada para derivar una clave pública.
  • MetaMask genera un hash de la clave pública utilizando la función Keccak-256, tomando los últimos 20 bytes del hash (convertidos a hexadecimal, es decir, una longitud de 40 letras o números) y prefijándolo con un 0x, que se convierte en la dirección ETH.

Cómo funciona la función hash criptográfica en Blockchain

Bitcoin utiliza la función hash criptográfica SHA-256. Aquí, dilucidaremos el proceso a través del cual los mineros de Bitcoin se involucran con las funciones hash criptográficas durante las actividades mineras.

En la minería de Bitcoin, los mineros amalgaman los datos de las transacciones con un encabezado de bloque, que comprende los detalles de la transacción junto con metadatos como marcas de tiempo y números aleatorios. Los mineros se esfuerzan por producir un hash SHA-256 específico ajustando iterativamente los números aleatorios (denominados "nonce"), en el encabezado del bloque con el objetivo de cumplir con criterios específicos, generalmente comenzando con un número determinado de ceros iniciales. Dada la naturaleza de la función hash SHA-256, el único método para descubrir un hash compatible es a través de la experimentación continua con diferentes números aleatorios.

Al encontrar un hash que cumpla con los requisitos, los mineros pueden agregar el bloque a la cadena de bloques de la red Bitcoin y recibir una cantidad designada de Bitcoins como recompensa. Este proceso, conocido como "minería", implica la ejecución continua de funciones hash para identificar un valor hash que cumpla con los criterios especificados.

Más allá de la minería, las funciones hash criptográficas son fundamentales para establecer vínculos entre bloques y rastrear las alteraciones de las transacciones dentro de los sistemas blockchain. Los punteros hash sirven como estructuras de datos que facilitan la indexación, recuperación y verificación de modificaciones de datos. Cada transacción dentro de la cadena de bloques se somete a un hash antes de organizarse en bloques. Posteriormente, un puntero hash conecta cada bloque con su antecedente almacenando un hash de los datos del bloque anterior. La naturaleza interconectada de los bloques garantiza la inmutabilidad dentro de la cadena de bloques; Cualquier modificación de una transacción da como resultado un valor hash distinto, lo que altera los hashes de todos los bloques posteriores. Por ejemplo, considere una cadena de bloques que consta de dos bloques:

  • Bloque 1: abarca los hashes de las transacciones T1, T2 y T3.

  • Bloque 2: presenta hashes de las transacciones T4, T5 y T6, junto con el hash del Bloque 1.

Si un individuo intenta manipular la transacción T1 en el Bloque 1, deberá recalibrar el valor hash del Bloque 1 y actualizar el nuevo valor en el Bloque 2. Sin embargo, debido a la naturaleza unidireccional y de resistencia previa a la imagen de las funciones hash criptográficas, revertir la transacción T1 en el Bloque 1 en función del valor hash del Bloque 2 resulta un desafío.

Además, dado que el Bloque 2 incorpora el valor hash del Bloque 1, la manipulación del Bloque 1 alteraría en consecuencia el valor hash del Bloque 2. Esto requiere la manipulación simultánea de todos los bloques posteriores para cualquier modificación dentro de la cadena de bloques, una tarea formidable. En consecuencia, las funciones hash criptográficas mantienen eficazmente la coherencia y la integridad de los datos de la cadena de bloques.

En el ámbito de la cadena de bloques, la función hash criptográfica cumple varias funciones esenciales:

  • Vinculación de bloques: El encabezado de cada bloque contiene el valor hash del bloque anterior, lo que facilita una cadena de bloques conectada que garantiza una integridad a prueba de manipulaciones.

  • Validación de transacciones: Los datos de las transacciones se someten a hashing, con el valor hash resultante incluido en el bloque, lo que valida la autenticidad e integridad de la transacción.

  • Mecanismo de consenso: Dentro del mecanismo de consenso Proof of Work (PoW), los mineros deben identificar un valor nonce que cumpla con los requisitos de dificultad mediante la ejecución de funciones hash.

El futuro de las funciones hash criptográficas

El 2 de septiembre de 2022, Vitalik publicó una pregunta en Twitter (X), preguntando qué función hash criptográfica seguiría siendo segura si se inventara un ordenador cuántico que utilizara el algoritmo de Shor.

Fuente: Tweet de Vitalik

Indicó que una computadora cuántica capaz de utilizar el algoritmo de Shor podría romper RSA (un criptosistema de clave pública de larga data) o cualquier cosa basada en factorización, curvas elípticas y grupos de orden desconocido. Sin embargo, los valores hash (como SHA-256) funcionan bien en el contexto de la computación cuántica, aunque su seguridad se reduciría un poco, recomendando el uso de valores hash más largos.

Conclusión

¿Qué tan robustas son las funciones hash criptográficas, como SHA-256? El "256" en SHA-256 representa 2 elevado a la potencia de 256, una cifra tan vasta que es difícil de comprender concretamente.

Fuente: 3Blue1Brown

No obstante, 3Blue1Brown ha presentado una analogía vívida para ayudar a comprender la seguridad de las funciones hash criptográficas: imagine un escenario en el que 4 mil millones de personas en la Tierra posean cada una una computadora con capacidades informáticas excepcionales, equivalente a 1.000 veces la potencia de cálculo de Google en todo el mundo. Al mismo tiempo, imagina un cosmos con 4.000 millones de planetas y 4.000 millones de galaxias similares a la Vía Láctea. Incluso en estas condiciones extremas, se necesitarían más de 500.000 millones de años antes de que exista una probabilidad de 1 en 4.000 millones de adivinar con precisión "la entrada específica requerida para generar el valor hash de salida de SHA-256".

ผู้เขียน: Morris
นักแปล: Paine
ผู้ตรวจทาน: Wayne、Edward、Elisa、Ashley、Joyce
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย

¿Qué es la función hash criptográfica?

Principiante3/17/2024, 2:00:25 PM
Este artículo proporciona una descripción general completa de las funciones hash criptográficas, explorando su historia, características, aplicaciones en blockchain y principios de funcionamiento. Las funciones hash criptográficas desempeñan un papel crucial para garantizar la seguridad y la fiabilidad de la tecnología blockchain.

Historia de la función hash criptográfica

La función hash criptográfica (CHF) existe desde la década de 1980 y encuentra una utilidad generalizada en criptografía, verificación de la integridad de los datos, indexación de bases de datos y varios otros dominios.

Al calcular una función hash criptográfica, se introducen datos de longitud arbitraria y la función correspondiente los transforma en un valor de salida de longitud fija. Esta transformación implica la aplicación de varias operaciones a diferentes segmentos de los datos de entrada, comúnmente conocidos como Hash. La salida resultante se conoce como valor hash, y la operación en sí se denomina función hash.

Un ejemplo ilustrativo es el algoritmo MD5, utilizado con frecuencia en descargadores P2P, caracterizado por una longitud de 128 bits. Los usuarios pueden comparar el valor hash de un archivo descargado con el proporcionado por la fuente; Una coincidencia indica la integridad probable del archivo.

Otra aplicación frecuente es la autenticación de contraseñas en los sitios web. Para proteger las contraseñas de los usuarios, la mayoría de las plataformas almacenan contraseñas hash en lugar de entradas de texto sin formato. Cuando un usuario inicia sesión, el sistema calcula la función hash de la contraseña introducida y la compara con el valor almacenado asociado al nombre de usuario. La naturaleza irreversible de la función hash criptográfica protege contra el descifrado de contraseñas, incluso si los piratas informáticos obtienen valores hash de la base de datos.

Características de las funciones hash criptográficas

La búsqueda de 'SHA256 Generator' revela que diferentes sitios web que utilizan el mismo algoritmo generan constantemente valores hash idénticos para textos de entrada similares.

Además, la alteración de las mayúsculas y minúsculas del texto de entrada da como resultado valores hash de salida completamente distintos, lo que se conoce como efecto avalancha. Las siguientes características miden la seguridad de una función hash criptográfica:

  • Resistencia previa a la imagen: Recuperar el valor de entrada original del valor hash de salida es muy difícil debido a las propiedades de la función unidireccional.

En el ejemplo anterior, reconstruir la contraseña de un usuario a partir de valores hash robados plantea una dificultad significativa. Las operaciones complejas y la compresión de información dentro de las funciones hash criptográficas dificultan la ingeniería inversa, enfatizando su naturaleza unidireccional.

  • Segunda resistencia previa a la imagen: Identificar otro valor de entrada que produzca el mismo valor hash dada una entrada inicial es arduo. **Esta característica se denomina resistencia débil a las colisiones.

  • Resistencia a colisiones: Descubrir dos valores distintos que producen valores hash idénticos es un desafío y se denomina colisión hash criptográfica. Esta propiedad denota una fuerte resistencia a las colisiones.

Tomando el MD5 mencionado como ejemplo, ¿es posible que diferentes archivos generen el mismo valor hash? La respuesta es sí, pero la probabilidad es extremadamente baja. Este fenómeno se conoce como colisión de hash criptográfico, que puede ocurrir accidentalmente o a través de un ataque deliberado. La probabilidad de colisión estándar para el algoritmo MD5 es de aproximadamente 1/2¹²⁸, lo que hace que los accidentes sean muy poco probables. Sin embargo, MD5 se considera vulnerable a ataques de colisión deliberados, ya que producir el mismo valor hash para dos textos planos diferentes es relativamente fácil. Por lo tanto, aunque el algoritmo MD5 todavía se puede utilizar para tareas que no implican seguridad, ya no es adecuado para tareas de autenticación de seguridad (como la autenticación de claves o las firmas digitales).

Función hash criptográfica en Blockchain

Ethereum utiliza la función hash criptográfica KECCAK-256, que muchas personas identifican erróneamente como SHA-3 (incluso en la tesis doctoral del fundador de Celestia) porque esta función se escribió originalmente como 'sha3' en Solidity. Debido a la confusión, posteriormente se le cambió el nombre a Keccak256.

MetaMask utiliza varias funciones hash criptográficas en sus operaciones:

  • Un conjunto de 12 palabras de una combinación aleatoria de 2048 palabras de propuesta BIP39 forma palabras auxiliares.
  • Cada palabra corresponde a un valor, creando colectivamente enteros semilla.
  • MetaMask aplica la función SHA-256 al entero semilla, generando una clave privada para importar billeteras existentes. Esto es a veces lo que se requiere ingresar al importar una billetera existente en un nuevo dispositivo.
  • El algoritmo ECDSA procesa la clave privada para derivar una clave pública.
  • MetaMask genera un hash de la clave pública utilizando la función Keccak-256, tomando los últimos 20 bytes del hash (convertidos a hexadecimal, es decir, una longitud de 40 letras o números) y prefijándolo con un 0x, que se convierte en la dirección ETH.

Cómo funciona la función hash criptográfica en Blockchain

Bitcoin utiliza la función hash criptográfica SHA-256. Aquí, dilucidaremos el proceso a través del cual los mineros de Bitcoin se involucran con las funciones hash criptográficas durante las actividades mineras.

En la minería de Bitcoin, los mineros amalgaman los datos de las transacciones con un encabezado de bloque, que comprende los detalles de la transacción junto con metadatos como marcas de tiempo y números aleatorios. Los mineros se esfuerzan por producir un hash SHA-256 específico ajustando iterativamente los números aleatorios (denominados "nonce"), en el encabezado del bloque con el objetivo de cumplir con criterios específicos, generalmente comenzando con un número determinado de ceros iniciales. Dada la naturaleza de la función hash SHA-256, el único método para descubrir un hash compatible es a través de la experimentación continua con diferentes números aleatorios.

Al encontrar un hash que cumpla con los requisitos, los mineros pueden agregar el bloque a la cadena de bloques de la red Bitcoin y recibir una cantidad designada de Bitcoins como recompensa. Este proceso, conocido como "minería", implica la ejecución continua de funciones hash para identificar un valor hash que cumpla con los criterios especificados.

Más allá de la minería, las funciones hash criptográficas son fundamentales para establecer vínculos entre bloques y rastrear las alteraciones de las transacciones dentro de los sistemas blockchain. Los punteros hash sirven como estructuras de datos que facilitan la indexación, recuperación y verificación de modificaciones de datos. Cada transacción dentro de la cadena de bloques se somete a un hash antes de organizarse en bloques. Posteriormente, un puntero hash conecta cada bloque con su antecedente almacenando un hash de los datos del bloque anterior. La naturaleza interconectada de los bloques garantiza la inmutabilidad dentro de la cadena de bloques; Cualquier modificación de una transacción da como resultado un valor hash distinto, lo que altera los hashes de todos los bloques posteriores. Por ejemplo, considere una cadena de bloques que consta de dos bloques:

  • Bloque 1: abarca los hashes de las transacciones T1, T2 y T3.

  • Bloque 2: presenta hashes de las transacciones T4, T5 y T6, junto con el hash del Bloque 1.

Si un individuo intenta manipular la transacción T1 en el Bloque 1, deberá recalibrar el valor hash del Bloque 1 y actualizar el nuevo valor en el Bloque 2. Sin embargo, debido a la naturaleza unidireccional y de resistencia previa a la imagen de las funciones hash criptográficas, revertir la transacción T1 en el Bloque 1 en función del valor hash del Bloque 2 resulta un desafío.

Además, dado que el Bloque 2 incorpora el valor hash del Bloque 1, la manipulación del Bloque 1 alteraría en consecuencia el valor hash del Bloque 2. Esto requiere la manipulación simultánea de todos los bloques posteriores para cualquier modificación dentro de la cadena de bloques, una tarea formidable. En consecuencia, las funciones hash criptográficas mantienen eficazmente la coherencia y la integridad de los datos de la cadena de bloques.

En el ámbito de la cadena de bloques, la función hash criptográfica cumple varias funciones esenciales:

  • Vinculación de bloques: El encabezado de cada bloque contiene el valor hash del bloque anterior, lo que facilita una cadena de bloques conectada que garantiza una integridad a prueba de manipulaciones.

  • Validación de transacciones: Los datos de las transacciones se someten a hashing, con el valor hash resultante incluido en el bloque, lo que valida la autenticidad e integridad de la transacción.

  • Mecanismo de consenso: Dentro del mecanismo de consenso Proof of Work (PoW), los mineros deben identificar un valor nonce que cumpla con los requisitos de dificultad mediante la ejecución de funciones hash.

El futuro de las funciones hash criptográficas

El 2 de septiembre de 2022, Vitalik publicó una pregunta en Twitter (X), preguntando qué función hash criptográfica seguiría siendo segura si se inventara un ordenador cuántico que utilizara el algoritmo de Shor.

Fuente: Tweet de Vitalik

Indicó que una computadora cuántica capaz de utilizar el algoritmo de Shor podría romper RSA (un criptosistema de clave pública de larga data) o cualquier cosa basada en factorización, curvas elípticas y grupos de orden desconocido. Sin embargo, los valores hash (como SHA-256) funcionan bien en el contexto de la computación cuántica, aunque su seguridad se reduciría un poco, recomendando el uso de valores hash más largos.

Conclusión

¿Qué tan robustas son las funciones hash criptográficas, como SHA-256? El "256" en SHA-256 representa 2 elevado a la potencia de 256, una cifra tan vasta que es difícil de comprender concretamente.

Fuente: 3Blue1Brown

No obstante, 3Blue1Brown ha presentado una analogía vívida para ayudar a comprender la seguridad de las funciones hash criptográficas: imagine un escenario en el que 4 mil millones de personas en la Tierra posean cada una una computadora con capacidades informáticas excepcionales, equivalente a 1.000 veces la potencia de cálculo de Google en todo el mundo. Al mismo tiempo, imagina un cosmos con 4.000 millones de planetas y 4.000 millones de galaxias similares a la Vía Láctea. Incluso en estas condiciones extremas, se necesitarían más de 500.000 millones de años antes de que exista una probabilidad de 1 en 4.000 millones de adivinar con precisión "la entrada específica requerida para generar el valor hash de salida de SHA-256".

ผู้เขียน: Morris
นักแปล: Paine
ผู้ตรวจทาน: Wayne、Edward、Elisa、Ashley、Joyce
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย
เริ่มตอนนี้
สมัครและรับรางวัล
$100