Las computadoras cuánticas parecen utilizar resultados aleatorios. ¿Cómo se obtiene un resultado final optimizado?

Primero, un acercamiento simplificado a la computación cuántica:

Hay muchos problemas difíciles en ciencias de la computación y criptografía donde uno quiere encontrar el inverso de una función [math] f [/ math] o un valor [math] x [/ math] tal que $ [math] f (x) [/ math] $ tiene ciertas propiedades (que son básicamente lo mismo al final …) o donde uno quiere verificar globalmente una propiedad de [math] f [/ math]. Además, se supone que se puede construir una versión cuántica de [math] f [/ math]. Por una versión cuántica de [math] f [/ math] me refiero a una que hace [math] f (| 00101..1010> + | 11001..1101>) = f (| 00101..1010>) + f ( | 11001..1101>) [/ math], y un par de propiedades técnicas más relacionadas con el enredo. (Esta propiedad que anoté, en términos no matemáticos, simplemente dice que si tengo una superposición de números y calculo la función en esa superposición, el resultado es la superposición de los resultados individuales)

La idea básica del “truco cuántico” es aplicar [math] f [/ math] a una superposición de todas las entradas posibles de [math] f [/ math], y luego encontrar una manera de seleccionar la entrada deseada de [ math] f [/ math] teniendo las propiedades deseadas. Este último paso es en realidad el muy difícil, debido al principio de incertidumbre, y el que agrega ruido y hace que todo no sea extremadamente mágico y simplemente muy mágico.

Entonces, ¿qué hay del alboroto con respecto a la ruptura de código real?

Hay una cosa llamada “cifrado de clave pública”, que es lo que la gente usa para comunicarse a través de Internet. La idea de este tipo de cifrado es que no necesita un código secreto previamente compartido entre las dos personas que desean comunicarse de antemano. Es decir … crean el código ‘al vuelo’, y públicamente. Dado que todo lo que dicen es público, cualquier persona que escuche su conversación debería, en principio, poder recrear el código secreto simplemente escuchando lo que está de acuerdo … ¿porque aún no han dicho ningún secreto? Bueno … hay una trampa. Permítame presentarle el cifrado de clave pública de Elgamal (que es la idea básica detrás de muchos esquemas de cifrado de clave pública).

Primero, los dos socios (Alice y Bob de ahora en adelante) tienen que acordar un conjunto de claves (el conjunto de todas las claves posibles), y darle lo que se llama una “estructura de grupo”. La forma habitual de hacerlo es elegir una cantidad principal de teclas [math] (1,2, …, p-1) [/ math], y utilizar el producto habitual como teclas. Luego deben elegir un elemento del grupo ([math] x [/ math]) para realizar los cálculos con. Todo esto se hace en público, por lo que cualquier intruso (Eva de ahora en adelante) conoce las claves posibles y a. Luego, cada uno de Alice y Bob elige un número aleatorio ([math] a [/ math] y [math] b [/ math]) y lo mantiene en secreto. Entonces cada uno de ellos hace una declaración pública:

  • Alice hace público [math] \ alpha = x ^ a [/ math]
  • Bob hace público [math] \ beta = x ^ b [/ math]

ahora, Alice puede calcular [math] k = x ^ {a \ dot b} = \ beta ^ a [/ math], y Bob también puede calcularlo como [math] k = x ^ {a \ dot b} = \ alfa ^ b [/ math]. Luego usarán [math] k [/ math] como clave.

Que hay de eva ¿Podrá ella encontrar la llave también? Ella podría, si pudiera encontrar un tal que [math] x ^ a = \ alpha [/ math]. Resulta que hacerlo (encontrar el logaritmo discreto) es, de hecho, una tarea computacionalmente difícil de realizar, al menos en las computadoras clásicas. ¡Pero si Eve tiene una computadora cuántica, puede usar el truco cuántico de arriba para encontrar una! (Su función f anterior es la exponenciación). Los detalles en realidad se vuelven bastante más complicados, pero esta es la idea básica … pero la intuición está ahí.