
Imagina que tienes una receta secreta para hacer galletas: mezclas todos los ingredientes, los horneas, y el resultado son unas deliciosas galletas. Ahora bien, una vez que las galletas están hechas, no hay forma de mirar el resultado y "adivinar" exactamente qué cantidad de harina, azúcar o mantequilla usaste. Los hashes criptográficos funcionan de una manera similar: toman cualquier dato (como una contraseña o un archivo), lo procesan con una fórmula matemática especial y generan un código único que no se puede revertir.
Este código único es lo que llamamos un hash. Si vuelves a usar la misma receta (el mismo dato), siempre obtendrás el mismo hash. Pero si cambias algo, aunque sea un detalle minúsculo (como una letra en tu contraseña o un bit en un archivo), el hash resultante será completamente diferente.
¿Dónde se usan los hashes?
Contraseñas: Las páginas web no guardan tu contraseña real (o no deberían). En su lugar, guardan el hash. Así, incluso si alguien hackea la base de datos, lo único que verá será una serie de códigos que no puede revertir para averiguar las contraseñas originales.
Verificación de archivos: Los hashes permiten comprobar que un archivo no ha sido modificado. Por ejemplo, cuando descargas algo, puedes comparar el hash del archivo descargado con el proporcionado por el creador. Si coinciden, sabes que no fue alterado en el camino.
Firmas digitales: Se usan para garantizar que un documento o mensaje realmente proviene de quien dice enviarlo, y que no ha sido manipulado.
Blockchain: Aquí los hashes son los cimientos de todo el sistema. En una blockchain, cada bloque contiene un hash que representa las transacciones almacenadas en él. Además, ese hash se conecta con el hash del bloque anterior, creando una "cadena" de bloques segura. Si alguien intentara modificar un bloque, el hash cambiaría, rompiendo la cadena y revelando el intento de manipulación.
El punto es que los hashes son herramientas fundamentales en la seguridad digital. Pero, aunque no se pueden revertir, sí hay maneras de intentar romperlos, como los ataques por "fuerza bruta", donde alguien prueba millones de combinaciones hasta encontrar una que dé el mismo resultado.
Y aquí es donde entra la computación cuántica. Este nuevo tipo de tecnología no rompe los hashes directamente, pero puede hacer que algunos ataques sean mucho más rápidos y efectivos. ¿Estamos preparados para esto? Let's gooooo
Los riesgos de la computación cuántica para el hashing criptográfico
A día de hoy, los hashes criptográficos como SHA-256 o SHA-3 se consideran extremadamente seguros frente a ataques tradicionales, pero la computación cuántica está cambiando las reglas del juego. Aunque no es un peligro inmediato, ya sabemos que podrían amenazar algunos aspectos de los sistemas de hashing porque se realizarían los ataques de fuerza bruta de una manera mucho mas rápida.
Quizás te preguntes, ¿qué es un ataque de fuerza bruta?
La respuesta es muy sencilla, es un método que se usa para intentar adivinar contraseñas o claves. Este método prueba todas las combinaciones posibles hasta encontrar la correcta.
Es como si alguien tratara de abrir un candado probando todas las llaves que existen hasta que una encaja. Por ejemplo, si la contraseña es "1234", el ataque consistiría en probar:
0000
0001
0002
...
1234
Esto puede llevar mucho tiempo, pero con programas especializados y computadoras rápidas, pueden probar millones de combinaciones por segundo, especialmente si la contraseña es corta o sencilla.
Si volvemos al caso de los hash, este ataque tiene un objetivo similar. Si partimos de un hash conocido (la "huella digital"), el atacante intenta encontrar una entrada original que, al ser procesada con el algoritmo de hash, produzca ese mismo resultado.
Dado que los hashes no son reversibles (no puedes simplemente "deshacer" el proceso para descubrir la entrada), el atacante no tiene más opción que probar todas las posibles combinaciones de datos originales hasta encontrar una coincidencia.
Y...¿por qué son resistentes algoritmos como SHA-256 a los ataques de fuerza bruta? Pues porque la cantidad de combinaciones posibles para ir probando depende del tamaño del hash.
Un hash de n bits tiene 2^n posibles valores únicos.
Esto significa que, en promedio, el atacante necesitará probar la mitad de esas combinaciones 2^(n-1) para tener una probabilidad del 50% de éxito.
Por ejemplo:
En un hash de 256 bits (como SHA-256), hay 2^256 combinaciones posibles. Esto es un número astronómico: 115 cuatrillones de cuatrillones (1 seguido de 77 ceros). En resumen las computadoras más rápidas del mundo necesitarían miles de millones de años para realizar un ataque de fuerza bruta contra SHA-256.
El algoritmo de Grover cambiando las reglas del juego
Ahora bien, ¿y si existiera un método para buscar más rápido, no revisando cada una por una las posibilidades, sino saltando directamente a la respuesta mucho más rápido? Aquí es donde entra la computación cuántica y, específicamente, el algoritmo de Grover.
Grover no es un algoritmo mágico que “rompa” la criptografía, pero sí cambia las reglas de juego para ciertos problemas. Proporciona una manera de acelerar las búsquedas no estructuradas, reduciendo drásticamente el tiempo necesario para encontrar una respuesta. En el mundo de la criptografía, esto significa que ataques que antes eran impracticables, como encontrar una preimagen para un hash, ahora podrían volverse posibles en un futuro cuántico.
El algoritmo de Grover, desarrollado por Lov Grover en 1996, es una herramienta matemática que aprovecha las propiedades únicas de la computación cuántica para realizar búsquedas en bases de datos desordenadas. Su esencia es simple: si tienes N elementos en una lista desordenada y quieres encontrar uno en particular, Grover reduce el número de pasos necesarios para encontrarlo de N (búsqueda clásica) a aproximadamente N^(1/2)
Grover ft Ordenadores cuánticos
Para entender cómo funciona el algoritmo de Grover. Además, se utilizan dos conceptos fundamentales de la computación cuántica: la superposición y la amplificación de amplitud.
Representar los estados con mediante la superposición:
En una computadora clásica, los datos se procesan uno a uno. Pero en una computadora cuántica, gracias a la superposición, puedes representar todas las combinaciones posibles de datos al mismo tiempo dentro de un estado cuántico.
Por ejemplo, si tienes una base de datos con 4 elementos (∣00⟩,∣01⟩,∣10⟩,∣11⟩), una computadora cuántica puede explorar todas estas opciones simultáneamente.
Función objetivo (o función oracle)
Grover necesita saber cómo identificar la respuesta correcta. Esto se hace con una función que, dado un estado cuántico, devuelve si ese estado es el correcto o no.
Así que imagina que estás buscando la aguja en un pajar y tienes un detector que suena cuando encuentras la aguja, fácil ¿verdad?. Este detector es el "oracle".
Se destaca la solución correcta mediante la amplificación de amplitud
Aunque inicialmente Grover evalúa todos los estados al mismo tiempo, cada estado tiene una probabilidad igual de ser la respuesta correcta.
El truco del algoritmo es amplificar la probabilidad del estado correcto (como hacer que la aguja brille más que la paja) mientras reduce las probabilidades de los estados incorrectos. Esto se logra mediante una serie de operaciones cuánticas que refuerzan iterativamente el estado correcto.
Iterar e iterar
Grover necesita aproximadamente N^(1/2) iteraciones para amplificar suficientemente el estado correcto y que sea fácil de medir como la solución.
¿Por qué es relevante para la criptografía?
En el contexto de la criptografía de hashing, Grover representa una amenaza teórica porque los ataques de fuerza bruta son equivalentes a búsquedas no estructuradas:
El atacante tiene un hash objetivo y quiere encontrar una entrada que produzca ese hash.
En un sistema clásico, esto requiere 2^n intentos para un hash de n bits.
Con Grover, el atacante solo necesita 2^(n/2) intentos, reduciendo exponencialmente el esfuerzo.
Por ejemplo:
Para SHA-256 (256 bits), un ataque clásico necesitaría 2^256 operaciones, pero con Grover solo 2^128. Aunque esto sigue siendo inviable hoy, está mucho más cerca del rango de lo posible para computadoras cuánticas avanzadas.
Conclusión: Preparándonos para el futuro cuántico
Aunque la computación cuántica y el algoritmo de Grover todavía están lejos de ser una amenaza real para los sistemas de seguridad que utilizamos hoy en día, el futuro está cada vez más cerca. A medida que las investigaciones avanzan y las computadoras cuánticas se vuelven más potentes, el panorama de la seguridad digital cambiará radicalmente. Y lo que ahora es un desafío teórico, podría convertirse en una preocupación práctica en unos pocos años.
Así que, si bien hoy en día el algoritmo de Grover y los ataques cuánticos no representan una amenaza inminente, lo que es seguro es que el futuro de la criptografía será cuántico.
La revolución cuántica está a la vuelta de la esquina.
Comentarios