¿Qué tan rápido puede una computadora cuántica romper una contraseña en comparación con una computadora normal?

Te daré una respuesta teórica no práctica. Estas máquinas no existen hoy.

Bien, esta es la teoría: puede convertir una contraseña en un número muy grande. Con aproximadamente 8 bits por carácter ASCI y 14 caracteres (una contraseña segura) obtienes 5.192e + 33 números posibles.

Ahora, para cifrar lo que hace una computadora, multiplique los datos que desea proteger por este gran número. Dado que es enormemente costoso probar todos los valores posibles para ver cuál desbloquea la computadora, tiene una tarea imposible. (Esta complejidad de búsqueda fue la historia detrás de la ruptura de los códigos nazis en el juego de imitación. Eso solo funcionó porque los nazis fueron descuidados [dejando una entropía reducida en el mensaje fuente] y Turing tuvo suerte).

En la teoría de la complejidad computacional, a menudo hablamos de O (), como O (N), O (N log (N)), etc. Luego extrapolamos para determinar qué problemas son irremediablemente complejos y que nunca se pueden resolver en la práctica. Aquí es donde comienza la diversión.
Uno puede ver la multiplicación de números como un problema de convolución. Esto se debe a que multiplicar polinomios equivale a una convolución de coeficiente. Y podemos ver un número como un polinomio en la base del sistema numérico. (¡Intenta salir 173 veces 242, es divertido!). Pero sabemos que la Transformada de Fourier acelera la convolución al reemplazarla con multiplicación por puntos. En el caso de números grandes, la multiplicación por puntos es en bits, por lo que podemos usar la transformada de Fourier para multiplicar números grandes. Esto es lo que los teóricos del número han hecho durante décadas. La transformación rápida de Fourier (FFT) revolucionó la teoría de números al reducir la complejidad de calcular esta transformación de [matemática] N ^ 2 \ a \ N log (N) [/ matemática]. Las computadoras cuánticas pueden hacerlo mejor. (Lo siguiente es de una publicación anterior sobre algoritmos cuánticos)
La transformada de Fourier del punto [matemático] 2 ^ n [/ matemático] de una transformada de Fourier discreta del punto [matemático] 2 ^ n [/ matemático] se puede hacer usando la computación cuántica (vea Transformada cuántica de Fourier) con [matemático] O (n ^ 2) [/ math] registros de memoria (puertas), versos [math] O (n2 ^ n) [/ math] usando una computadora clásica. Por ejemplo, tomar el FFT de 1,000,000,000 de puntos de una secuencia de números de 1,000,000,000 de bits requiere 900 puertas, ¡30 mil millones de clásicas! Mucho más pequeño que 5e33 en la oración introductoria, pero ves la esencia.

Romper una contraseña es un problema para las computadoras convencionales porque entra en una clase de problemas que se sabe que no son polinomiales (NP).

Estos problemas son los que sabemos cómo resolver utilizando nuestros algoritmos actuales, pero en realidad no podemos resolverlos porque la cantidad de recursos (generalmente tiempo o memoria) es demasiado grande.

Al no ser polinomiales, generalmente se caracterizan por un tiempo de ejecución que es del orden de factorial n. Es decir, Texec = O (n!).

A modo de comparación, para ordenar una lista de palabras en orden alfabético tiene Texec = O (n.ln (n)) en el mejor caso, o Texec = O (n ^ 2) en el caso de un tipo simple de algoritmo de clasificación de burbujas .

En su caso, n podría ser la longitud de la contraseña, en bits. Por lo tanto, no hay problema en descifrar esto en computadoras convencionales para longitudes de contraseña lo suficientemente pequeñas. El usuario consciente de la seguridad, por lo tanto, solo debe intentar hacer que su contraseña sea lo suficientemente larga como para que O (n!) Sea mayor que la vida útil del planeta (por ejemplo) … que se alcanza, de hecho, a valores bastante razonables de norte. (Tenga en cuenta que aquí estoy simplificando deliberadamente … lo más preocupante es la longitud de las claves utilizadas por los sistemas de seguridad de Internet).

Ahora, según la aproximación de Stirling, O (n!) ~ O (exp (-n) .n ^ n).
Como señala Quora User, el objetivo de las computadoras cuánticas es poder convertir esta clase de algoritmo no polinomial (NP) en un polinomio simple, haciendo que la búsqueda, la clasificación y la exploración del espacio de diseño sean manejables, incluso para valores bastante grandes de norte.

Todavía necesita los recursos … que no tenemos en este momento … la computadora cuántica más grande hasta la fecha todavía está restringida en la cantidad de hardware (y la cantidad de qubits) que tiene.

En teoría, una computadora cuántica que puede hacer malabarismos con “n” bits cuánticos puede realizar 2 ^ n operaciones en paralelo. Yo creo que. Sin embargo, es REALMENTE difícil mantener n bits en el aire. Algo relacionado con la decoherencia, que mi limitado poder cerebral encuentra incoherentemente.

De todos modos, teóricamente, realmente pueden ir rápidamente, suponiendo que no haya una enorme lentitud constante por operación que el factor 2 ^ n no pueda superar. Verá que nuestras viejas computadoras no cuánticas pueden realizar miles de millones de operaciones por segundo, utilizando miles de millones de puertas. Una computadora cuántica tendría que ser igualmente rápida en las operaciones básicas y en la lectura de los resultados. Todo un reto.