El sistema criptográfico de la función hash

Utiliza un sistema criptográfico de una función hash para verificar la autenticidad de los datos

Una función hash criptográfica es un algoritmo que se puede ejecutar con datos tales como un archivo individual o una contraseña para producir un valor llamado suma de comprobación.

El uso principal de un sistema criptográfico de la función de cifrado hash es verificar la autenticidad de un conjunto de datos. Se puede suponer que dos archivos son idénticos solamente si las sumas de verificación generadas desde cada archivo, utilizando la misma función hash del sistema criptográfico son idénticas.

Algunas funciones hash criptográficas de uso común incluyen MD5 y SHA-1, aunque también existen muchas otras variantes.

Las funciones hash normalmente se denominan ‘funciones hash’, pero eso no es técnicamente correcto. Una función hash es un término genérico que abarca funciones hash criptográficas junto con otros tipos de algoritmos, como las comprobaciones cíclicas de redundancia.

sistema criptografico


El sistema criptográfico de las funciones hash: casos de uso

Supongamos que descargas la última versión del navegador Firefox. Por alguna razón, necesitabas descargarlo de un sitio que no sea de Mozilla. Debido a que no está alojado en el sitio correspondiente de confianza, te gustaría asegurarte de que el archivo de instalación que acabas de descargar sea exactamente el mismo que el que te ofrece el sitio web oficial de Mozilla.

Al utilizar una calculadora de suma de comprobación, calculas una suma de comprobación utilizando el sistema criptográfico de una función hash, como SHA-2, y luego la comparas con la publicada en el sitio de Mozilla. Si son iguales, puedes estar razonablemente seguro de que la descarga que has realizado es la que Mozilla pretendía que tuvieras.

¿Se pueden invertir las funciones hash criptográficas?

Las funciones hash criptográficas están diseñadas para evitar la capacidad de revertir las sumas de comprobación que crean de nuevo a los textos originales. Sin embargo, a pesar de que son prácticamente imposibles de revertir, no están garantizadas al 100% para proteger los datos.

Los hackers pueden utilizar una tabla arcoiris para descubrir el texto sin formato de una suma de comprobación. Esta clase de tablas son diccionarios que enumeran miles, millones o incluso miles de millones de sumas de comprobación junto con su correspondiente valor de texto sin formato.

Si bien esto no revierte técnicamente el sistema criptográfico del algoritmo hash, podría serlo, dado que es tan simple de realizar. En realidad, dado que ninguna tabla arcoiris puede enumerar todas las sumas de comprobación posibles, generalmente solo son útiles para frases simples como contraseñas débiles.

Aquí hay una versión simplificada de una tabla arcoiris para mostrar cómo se puede trabajar al utilizar la función de hash criptográfica SHA-1:

Texto planoSuma de comprobación SHA-1
123458cb2237d0679ca88db6464eac60da96345513964
password1e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydoga25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny4007d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Un pirata informático debe saber qué algoritmo hash criptográfico se utilizó para generar las sumas de comprobación para poder determinar los valores.

Para mayor protección, algunos sitios web que almacenan contraseñas de usuarios realizan funciones adicionales con el sistema criptográfico del algoritmo hash después de que se genera el valor pero antes de que se almacene. Este proceso produce un nuevo valor que solo el servidor web entiende y que no coincide con la suma de comprobación original.

Por ejemplo, una vez que se ingresa una contraseña y se genera la suma de verificación, se puede separar en varias partes y reorganizar antes de que se almacene en la base de datos de contraseñas, o ciertos caracteres pueden intercambiarse con otros. Al intentar autenticarse la próxima vez que el usuario inicia sesión, el servidor web invierte esta función adicional y la suma de comprobación original se genera nuevamente para verificar que la contraseña de un usuario sea válida.

Llevar a cabo estos pasos limita la utilidad de un truco donde se roban todas las sumas de comprobación. La idea es realizar una función que se desconozca, por lo que si el hacker conoce el algoritmo hash criptográfico pero no el personalizado, entonces conocer las sumas de verificación de la contraseña no le será útil.

Contraseñas y funciones hash criptográficas

Una base de datos guarda las contraseñas de los usuarios de una manera similar a una tabla arcoiris. Cuando se ingresa tu contraseña, se genera la suma de verificación y se compara con la que está en el registro con tu nombre de usuario. A continuación, se te otorga acceso si los dos datos son idénticos.

Dado que una función de cifrado hash produce una suma de comprobación irreversible, ¿Es seguro para ti hacer que tu contraseña sea tan simple como 12345, en lugar de 12@34$5, simplemente porque las sumas de comprobación no pueden entenderse? No, y aquí está el porqué.

Estas dos contraseñas son imposibles de descifrar con solo observar las sumas de comprobación:

MD5 para 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 para 12@34$5: a4d3cc004f487b18b2ccd4853053818b

A primera vista, puedes pensar que está bien utilizar cualquiera de estas contraseñas. Esto es cierto si un atacante ha intentado descifrar tu contraseña adivinando la suma de comprobación MD5, lo que nadie hace, pero no es cierto si se realiza una fuerza bruta o un ataque de diccionario que es una táctica común.

Se produce un ataque de fuerza bruta cuando se llevan a cabo múltiples intentos al azar para adivinar una contraseña. En este caso, sería fácil adivinar 12345, pero es bastante difícil descubrir la otra al azar. Un ataque de diccionario es similar en el sentido de que el atacante puede probar cada palabra, número o frase de una lista de contraseñas comunes (y no tan comunes), y 12345 es una de esas contraseñas comunes.

Aunque las funciones hash criptográficas producen sumas de comprobaciones difíciles o imposibles de adivinar, deberás seguir utilizando una contraseña compleja para todas tus cuentas de usuario online y locales.

NinjaBet

Más información sobre las funciones hash criptográficas

Podría parecer que las funciones hash del sistema criptográfico están relacionadas con el cifrado, pero las dos funcionan de diferentes maneras.

El cifrado es un proceso bidireccional en el que algo se cifra para que no se pueda leer y luego se descifra para usarlo normalmente de nuevo. Puedes encriptar los archivos que has almacenado para que cualquiera que los acceda no pueda utilizarlos, o puedes utilizar el cifrado de transferencia de archivos para cifrar archivos que se mueven a través de una red, como los que cargas o descargas online por Internet.

Las funciones hash criptográficas funcionan de distinta forma, ya que las sumas de comprobaciones no están destinadas a revertirse con una contraseña de deshabilitación especial. El único propósito de las funciones hash criptográficas es comparar dos datos, como descargar archivos, almacenar contraseñas y extraer datos de una base de datos.

Es posible que una función hash del sistema criptográfico produzca la misma suma de comprobación para diferentes datos. Cuando esto sucede, se denomina colisión, lo cual es un gran problema considerando que el objetivo de una función hash es crear sumas de comprobaciones únicas para cada entrada de datos.

Las colisiones pueden ocurrir porque cada función hash produce un valor de una longitud fija independientemente de los datos de entrada. Por ejemplo, la función hash criptográfica MD5 genera 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 y e10adc3949ba59abbe56e057f20f883e para tres bloques de datos totalmente distintos.

La primera suma de comprobación es de 12345. La segunda se generó a partir de más de 700 letras y números, y la tercera es de 123456. Las tres entradas son de distintas longitudes, pero los resultados son siempre de apenas 32 caracteres desde que se utilizó MD5.

No hay límite para la cantidad de sumas de comprobaciones que se pueden crear porque se supone que cada pequeño cambio en la entrada produce una suma de comprobación completamente distinta en la salida. Debido a que existe un límite en la cantidad de sumas de comprobaciones que un sistema criptográfico de una función hash puede producir, siempre existe la posibilidad de que se encuentre con una colisión.

Esta es la razón por la que se han creado otras funciones hash criptográficas. Mientras que MD5 genera un valor de 32 caracteres, SHA-1 genera 40 caracteres y SHA-2 genera 128. Cuanto mayor es el número de caracteres que tiene la suma de comprobación, es menos probable que se produzca una colisión.

Si te ha interesado este artículo acerca del sistema criptográfico de una función hash, comenta o vota para mejorar la experiencia de usuario. ¡Muchas Gracias!

¿Te Ha Resultado Interesante Este Contenido? ¡Vota Para Mejorarlo!
[Votos: 0 Promedio: 0]

¡Dale comenta, tu opinión es importante!

  Acepto la política de privacidad

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Responsable: Rodolfo Vilar.
Objetivo: Administración y moderación de comentarios.
Legitimidad: Consentimiento del interesado.
Destinatarios: Proveedor de hosting de la web Hostgator en Estados Unidos, por la cual sus niveles de seguridad son adecuados. Ver política de privacidad de Hostgator.
Derechos: Acceder, rectificar, limitar y eliminar tus datos.
Si no completas los datos personales que se detallan en el formulario como obligatorios, no podré atender a tu solicitud.
Podrás ejercer tus derechos de acceso, rectificación, limitación y eliminación de los datos en info(arroba)tecnologiabitcoin.com así como el derecho a presentar un reclamo ante una autoridad reguladora.
Puedes consultar información adicional y detallada en el sitio web: tecnologiabitcoin.com, así como consultar la política de privacidad.