ETFFIN Finance >> Finanzas personales curso >  >> Criptomoneda >> Blockchain

Funciones hash criptográficas

¿Qué son las funciones hash criptográficas?

Una función hash criptográfica es una función matemática utilizada en criptografía. Las funciones hash típicas toman entradas de longitudes variables para devolver salidas de una longitud fija.

Una función hash criptográfica combina las capacidades de paso de mensajes de las funciones hash con propiedades de seguridad.

Conclusiones clave

  • Las funciones hash son funciones matemáticas que transforman o "mapean" un conjunto de datos dado en una cadena de bits de tamaño fijo, también conocido como "valor hash".
  • Las funciones hash se utilizan en criptografía y tienen niveles variables de complejidad y dificultad.
  • Las funciones hash se utilizan para criptomonedas, seguridad de contraseña, y seguridad de los mensajes.

Cómo funcionan las funciones de hash criptográfico

Las funciones hash son estructuras de datos de uso común en sistemas informáticos para tareas, como comprobar la integridad de los mensajes y autenticar la información. Si bien se consideran criptográficamente "débiles" porque se pueden resolver en tiempo polinomial, no son fáciles de descifrar.

Las funciones hash criptográficas agregan características de seguridad a las funciones hash típicas, lo que dificulta la detección del contenido de un mensaje o información sobre destinatarios y remitentes.

En particular, Las funciones hash criptográficas exhiben estas tres propiedades:

  • Están "libres de colisiones". Esto significa que no se deben asignar dos hashes de entrada al mismo hash de salida.
  • Pueden ocultarse. Debería ser difícil adivinar el valor de entrada de una función hash a partir de su salida.
  • Deben ser amigables con los rompecabezas. Debería ser difícil seleccionar una entrada que proporcione una salida predefinida. Por lo tanto, la entrada debe seleccionarse de una distribución que sea lo más amplia posible.

Las tres propiedades descritas anteriormente son deseables, pero no siempre se pueden implementar en la práctica. Por ejemplo, la disparidad en los espacios de muestra para valores hash de entrada y salidas asegura que las colisiones sean posibles. Por ejemplo, en 2017, la Iniciativa de Moneda Digital del MIT encontró vulnerabilidad de colisión en IOTA.

Ejemplos de funciones hash criptográficas

Las funciones de hash criptográficas se utilizan ampliamente en las criptomonedas para pasar información de transacciones de forma anónima. Por ejemplo, Bitcoin, la criptomoneda original y más grande, utiliza la función hash criptográfica SHA-256 en su algoritmo. Similar, IOTA, una plataforma para Internet de las cosas, tiene su propia función hash criptográfica, llamado Curl.

Sin embargo, los hashes tienen otras aplicaciones en el mundo real. Estas son algunas de las aplicaciones criptográficas más comunes:

Verificación de contraseña

Almacenar contraseñas en un archivo de texto normal es peligroso, por lo que casi todos los sitios almacenan contraseñas como hashes. Cuando un usuario ingresa su contraseña, tiene un hash y el resultado se compara con la lista de valores hash almacenados en los servidores de la empresa. Esta no es una práctica infalible, sin embargo, como el tesoro de la Colección # 1 de 21 millones de contraseñas robadas, descubierto en 2019, demuestra.

Generación y verificación de firmas

La verificación de firmas es un proceso matemático que se utiliza para verificar la autenticidad de documentos o mensajes digitales. Una firma digital válida, donde se cumplen los requisitos previos, le da a su receptor una prueba sólida de que el mensaje fue creado por un remitente conocido y que el mensaje no fue alterado en tránsito. Un esquema de firma digital generalmente consta de tres algoritmos:un algoritmo de generación de claves; un algoritmo de firma que, dado un mensaje y una clave privada, produce una firma; y un algoritmo de verificación de firmas. Árboles Merkle, una tecnología utilizada en criptomonedas, es una especie de firma digital.

Verificación de la integridad de los archivos y mensajes

Se pueden usar hashes para asegurarse de que los mensajes y archivos transmitidos del remitente al receptor no sean manipulados durante el tránsito. La práctica construye una "cadena de confianza". Por ejemplo, un usuario puede publicar una versión hash de sus datos y la clave para que los destinatarios puedan comparar el valor hash que calculan con el valor publicado para asegurarse de que se alinean.