La línea de preguntas está inspirada en el truco elegido en la Sección 4 de la versión en PDF del documento Quantum Attacks on Classical Proof Systems - The Hardness of Quantum Rewinding (Ambainis et al. , 2014) . Diapositivas disponibles aquí . No sigo completamente el argumento allí, así que tal vez me perdí algo importante, pero aquí está mi interpretación de su truco.
Considere una función hash clásica que es resistente a la colisión, es decir, es computacionalmente difícil de encontrar H (x) = H (x ') \ land x \ neq x' . Deseamos codificar un compromiso de un mensaje usando esta función hash. Es decir, tomo un mensaje my concateno algo de aleatoriedad u al final de modo que genere un compromiso c = H (m \ Vert u) . Cuando se me pide que demuestre mi compromiso, no puedo encontrar un par diferente (m ', u') tal que c = H (m '\ Vert u') debido a la naturaleza libre de colisiones de los hashes. Mi única opción es abrir el compromiso con (m, u) .x → H ( x )
Ahora, atacamos este protocolo con un circuito cuántico de la función hash.
Tome una superposición sobre todas las entradas posibles x i
xi y consulte la función hash con este estado para obtener el estado El | Psi ⟩ = Σ i | x i ⟩ | H ( x i ) ⟩|ψ⟩=∑i|xi⟩|H(xi)⟩ .Mida el segundo registro para obtener un compromiso aleatorio. La medición selecciona aleatoriamente c = H ( x i )
c=H(xi) para algunos yoi . El primer registro tiene entonces El | phi ⟩ = Σ j | x j ⟩|ϕ⟩=∑j|xj⟩ tal que ∀ j , c = H ( x j )∀j,c=H(xj) .Me gustaría abrir el compromiso con algunos m ′
m′ que me da el oponente. Use la búsqueda de Grover en el primer registro para encontrar una x solxsol del estado El | varphi ⟩ =Σ j | x j ⟩|ϕ⟩=∑j|xj⟩ que satisfaga alguna propiedad especial. Específicamente, la propiedad especial es que la primera El | m ′ ||m′| bits de x solxsol son m ′m′ . Es decir, buscaré para encontrar x sol = m ′ ‖ u ′xsol=m′∥u′ .
El uso de las diapositivas publicado anteriormente (Diapositiva 8) y su terminología, es eficiente para encontrar un valor de la intersección de dos conjuntos y . Aquí es el conjunto de todas tal que y es el conjunto de todas donde la primeralos bits de son exactamente .x
Mis preguntas sobre este ataque son las siguientes:
¿Tengo la idea básica del ataque correcta? Si está equivocado, ¡ignora el resto de la publicación!
¿Cuántos elementos hay en la superposición después de comprometernos con una cierta ? Para poder abrir el compromiso con cualquier mensaje, parece que debería tener elementos (el tamaño del rango de la función hash). Pero esto es demasiado grande.El | varphi ⟩
|ϕ⟩ cc O ( N )O(N) La velocidad de la búsqueda de Grover, esto está relacionado con el punto anterior, es la otra cosa. ¿No sería la complejidad computacional de buscar en una superposición tan grande como tratar de adivinar una preimagen para una salida dada de la función hash ya que uno tiene que buscar en todo el ? En este caso, ¿dónde está la ventaja?El | phi ⟩
|ϕ⟩ uu
Estoy buscando la intuición más que las pruebas matemáticas, por lo que cualquier ayuda es muy apreciada.