I computer quantistici potrebbero presentare alcuni vantaggi rispetto ai computer classici in alcuni casi. L'esempio più notevole è l'algoritmo di Shor che può fattorizzare un gran numero in tempo polinomiale (mentre classicamente, l' algoritmo più noto richiede tempo esponenziale). Questo rompe completamente schemi come RSA, basato sulla durezza della fattorizzazione.
Questo non è necessariamente il caso delle funzioni hash. Innanzitutto, dobbiamo definire cosa significa interrompere una funzione hash. Un modo per romperlo è chiamato attacco pre-immagine : mi dai il valore hash e devo trovare un messaggio tale che . Un altro attacco è l' attacco di collisione , in cui non mi dai nulla, e devo trovare due diversi messaggi con lo stesso hash . Questo è più facile che trovare un pre-immagine, poiché non sono legato a una specifica .vmhash( m ) = vm1, m2hash( m1) = hash( m2)v
Cosa possono fare i computer Quantum? Il risultato principale è l'algoritmo di ricerca di Grover : un metodo per un computer quantistico per cercare in un database non ordinato di dimensioni con tempo (mentre in genere ci vorrà un tempo previsto di ).NO ( N--√)N/ 2
Con l'algoritmo di Grover, trovare una pre-immagine di una funzione hash il cui output è -bits richiede tempo , anziché .KO ( 2k / 2)O ( 2K)
È un problema ? Non necessariamente. Le funzioni hash sono progettate in modo tale che il tempo sia considerato "sicuro" (in altre parole, i progettisti di hash raddoppiano sempre ). Ciò è dovuto al paradosso del compleanno con cui è possibile trovare una collisione con il tempo da un computer classico.2k / 2KO ( 2k / 2)
La cosa bella dell'algoritmo di Grover è che è ottimale: ogni altro algoritmo quantico per trovare un elemento in un database non ordinato verrà eseguito in time .Ω ( N--√)
I computer quantistici possono eseguire attacchi di collisione migliori ? In realtà non ne sono sicuro. L'algoritmo di Grover può essere esteso, in modo tale che se ci sono elementi (cioè preimmagini), il tempo per trovarne uno è ridotto a . Ma ciò non provoca alcuna collisione: l'esecuzione dell'algoritmo potrebbe restituire la stessa immagine precedente. D'altra parte, se scegliamo a caso e quindi utilizziamo l'algoritmo di Grover, è probabile che restituisca un messaggio diverso. Non sono sicuro che questo dia attacchi migliori.tO ( N/ t----√)m1
(questo risponde alla domanda più generale, senza limitare il computer a 20 qubit, che non sarà sufficiente per interrompere gli hash a 1024 bit correnti).