Lezione 6 · calcolo quantistico
Algoritmi quantistici: che cosa diventa facile
Pochi: . Gli NP-completi restano (si crede) difficili; Grover dimezza l'esponente della forza bruta, Shor fattorizza e rompe RSA.
Qubit, macchina di Turing quantistica e la classe BQP sono nella scheda Quantistiche delle classi, con la mappa.
Speedup quantistici
I tre speedup delle slide: Fourier, Shor, Grovernon chiesto all'esame
In breve
Uno speedup è un'accelerazione rispetto al miglior algoritmo classico noto. Le slide citano tre algoritmi quantistici, che danno la risposta con errore limitato, non con certezza:
- la trasformata di Fourier, che scompone un segnale nelle sue frequenze, su spazi di dimensione : da a . Lo speedup è esponenziale, ma su un problema già in P; è il mattone dell'algoritmo di Shor;
- la fattorizzazione degli interi con l'algoritmo di Shor: classicamente non si conosce un algoritmo polinomiale, Shor lo è. Il problema sta in NP, probabilmente non è NP-completo, e non si sa se sta in P;
- la ricerca non ordinata con l'algoritmo di Grover: dati un insieme e una funzione che vale 0 o 1 e costa tempo , trovare un con . A forza bruta si prova un elemento dopo l'altro, in tempo , dove è il numero di elementi; Grover impiega . Lo speedup è quadratico.
Esempio
In un elenco telefonico non ordinato di un milione di nomi servono fino a un milione di controlli; con Grover ne bastano dell'ordine di .
Negli appunti: §9
Grover sui problemi NP: l'esponente si dimezza
In breve
La ricerca di Grover ha proprio la forma di un problema di NP: è l'insieme dei possibili certificati, che sono esponenzialmente tanti; ogni certificato è corto; è la verifica, che costa tempo polinomiale. Se la forza bruta classica costa passi, Grover la porta a circa : l'esponente si dimezza. Il problema resta esponenziale, ma a parità di tempo si risolvono istanze circa due volte più grandi. Più il problema è difficile, meno si guadagna: se il classico costa , la taglia risolubile nello stesso tempo cresce solo di un fattore .
Esempio
KNAPSACK (Lezione 8, §6): dati oggetti con pesi e valori, esiste un sottoinsieme con peso totale al più e valore totale almeno ? Grover cerca tra i sottoinsiemi, e controllarne uno costa . Il costo, scritto come nelle slide, è : confrontato con il classico scritto nella stessa base, , è la radice quadrata. Con i tempi delle slide, in circa 3 ore e 20 minuti il classico arriva a 70 oggetti e Grover a 140. Le istanze reali, però, hanno decine di migliaia di oggetti: restano fuori portata anche con Grover.
Definizione e formule
Proposizione: ogni problema in NP si risolve quantisticamente, con errore limitato, in tempo per qualche e .
Negli appunti: §9
Quando conviene il calcolo quantisticonon chiesto all'esame
In breve
È una questione di rapporto tra costo e prestazioni. Le slide propongono quattro domande da porsi, in ordine, per ogni problema:
- È facile (in P)? Il calcolo classico è molto competitivo e costa decisamente meno: classico.
- È difficile, ma la taglia è gestibile con algoritmi classici? Il classico può convenire, a seconda di quanto accelera il quantistico.
- Altrimenti, la taglia è gestibile con un algoritmo quantistico (per gli NP-completi, circa il doppio)? Allora conviene il quantistico.
- Altrimenti serve una soluzione approssimata, che di solito richiede tempo polinomiale: lì il classico torna competitivo, perché per ora non ci sono risultati sull'approssimazione quantistica.
Esempio
SORT (ordinare una lista) è in P: caso 1, si usa il classico. KNAPSACK è NP-completo: dipende dalla taglia, quindi caso 2, 3 o 4.
Negli appunti: §9
Prova: Grover contro una chiave simmetrica
Classico · chiave iniziale
Ordine dei tentativi di ricerca
Grover · chiave di 128 bit
Ordine delle interrogazioni quantistiche
Il vantaggio è quadratico: . La ricerca resta esponenziale. Modello teorico di ricerca non strutturata usato all'esame.
Crittografia e Shor
Crittografia simmetrica e asimmetricanon chiesto all'esame
In breve
La crittografia simmetrica usa una sola chiave, sia per cifrare sia per decifrare: i due interlocutori devono prima scambiarsela, e lo scambio è rischioso. La crittografia asimmetrica, o a chiave pubblica, usa due chiavi. Funziona come una cassetta delle lettere: chiunque può imbucare, cioè cifrare con la chiave pubblica, ma solo il proprietario può aprire, cioè decifrare con la chiave privata. Per la firma digitale si cifra con la chiave privata. La sicurezza dei cifrari asimmetrici è computazionale: non è impossibile romperli, è che nessuno conosce un algoritmo polinomiale per farlo.
Esempio
AES è un cifrario simmetrico; RSA e Diffie-Hellman sono asimmetrici.
Definizione e formule
Se cifrare e decifrare sono operazioni "pratiche" (in P), attaccare il cifrario sta al più in NP: si indovina la chiave e si verifica in tempo polinomiale se è giusta.
Negli appunti: §10
RSAnon chiesto all'esame
In breve
Moltiplicare due numeri primi grandi è facile; risalire ai due primi partendo dal prodotto è, per i computer classici, difficilissimo. RSA mette il prodotto nella chiave pubblica e tiene segreti i due primi. Chi conosce i primi fa tutte le operazioni in tempo polinomiale; chi non li conosce dovrebbe fattorizzare. Nei conti, "" è il resto della divisione di per .
Esempio
Primi e : e . Si sceglie , che non ha fattori in comune con 20, e si trova , perché diviso 20 dà resto 1. Chiave pubblica , chiave privata . Il messaggio si cifra in e si decifra con .
Definizione e formule
Con e (la funzione toziente di Eulero): , cifratura , decifratura . RSA è sicuro perché non si conoscono algoritmi classici polinomiali né per la fattorizzazione (dato , trovare e ), né per il logaritmo discreto (dati , e , trovare ), né per il calcolo di a partire da , che è difficile quanto fattorizzare.
Negli appunti: §10
L'impatto di Shornon chiesto all'esame
In breve
Shor risolve in tempo polinomiale, su un computer quantistico, sia la fattorizzazione sia il logaritmo discreto: entrambi stanno in BQP. Quindi la crittografia asimmetrica (RSA, Diffie-Hellman) diventa violabile, perché non si basa su problemi NP-completi ma su problemi che Shor risolve. Sono a rischio SSL/TLS, HTTPS e le firme digitali. Le alternative sono cifrari basati su problemi NP-completi e la crittografia quantistica. La crittografia simmetrica invece sembra immune: Grover accelera l'attacco a forza bruta (provare tutte le chiavi), ma il costo resta esponenziale, e per tornare al livello di sicurezza di prima basta raddoppiare la lunghezza della chiave.
Esempio
Con una chiave da 128 bit la forza bruta classica prova circa chiavi, Grover circa . Con una chiave da 256 bit Grover torna a , e cifrare e decifrare diventano solo un po' più lenti. Nei protocolli reali la chiave pubblica serve solo all'inizio (handshake), per scambiarsi una chiave simmetrica di sessione: è quella fase, insieme alle firme digitali, che va ripensata.
Negli appunti: §10
Conclusioni
Le conclusioni: niente bacchetta magica
In breve
Il messaggio finale ha tre punti. Primo: il computer quantistico non è una bacchetta magica. I problemi difficili, dagli NP-completi in su, restano plausibilmente difficili (è una congettura); quelli da 2-EXP in su restano sicuramente difficili. Secondo: i benefici ci sono. Con Grover si risolvono istanze circa doppie dei problemi NP-completi, e qualche problema che si ritiene né NP-completo né in P, come la fattorizzazione, può diventare facile. Terzo: quando i problemi tecnologici saranno risolti, gli attuali cifrari asimmetrici potranno essere violati in fretta, e bisognerà ripensare le firme digitali e lo scambio iniziale delle chiavi.
Esempio
Domanda tipo: "SAT sta in PP?". Sì: SAT sta in NP, e NP sta dentro PP. Domanda tipo: "ciò che risolve un computer quantistico richiede solo spazio polinomiale su un computer classico?". Sì: BQP sta dentro PSPACE.
Definizione e formule
La catena da sapere è
E le tre classi della lezione a confronto:
| Classe | Si accetta se | Errore sotto una soglia fissata in tempo polinomiale? |
|---|---|---|
| PP | più della metà dei run dice "yes" | non si sa (il vantaggio può essere esponenzialmente piccolo) |
| BPP | almeno 3/4 dei run dà la risposta giusta | sì |
| BQP | la QTM dà la risposta giusta con probabilità almeno 2/3 | sì |
Negli appunti: §11
Esercizi
Conviene risolvere SORT con un computer quantistico?
Conviene risolvere SORT con un computer quantistico?
No. SORT è in P (): il calcolo classico è già efficiente e costa molto meno. Non c'è margine per uno speedup esponenziale: ordinando per confronti servono almeno circa confronti anche con un algoritmo quantistico. È il caso 1 della lista "Quando conviene il calcolo quantistico".
Conviene risolvere KNAPSACK con un computer quantistico?
Conviene risolvere KNAPSACK con un computer quantistico?
Dipende dalla taglia. KNAPSACK è NP-completo: si congettura che non stia in BQP, quindi niente soluzione polinomiale. Grover dà uno speedup quadratico (): conviene quando l'istanza è troppo grande per il classico ma rientra nella taglia circa doppia gestibile da Grover. Per istanze enormi (migliaia di oggetti) servono algoritmi approssimati, polinomiali, dove il classico torna competitivo.
Conviene sviluppare algoritmi quantistici di crittografia?
Conviene sviluppare algoritmi quantistici di crittografia?
Sì. Shor rende violabili in tempo polinomiale i cifrari asimmetrici (RSA, Diffie-Hellman), quindi l'handshake di TLS/HTTPS e le firme digitali. Servono alternative: crittografia quantistica (es. distribuzione quantistica delle chiavi) oppure cifrari classici basati su problemi ritenuti difficili anche per BQP (es. NP-completi). La crittografia simmetrica invece basta allungarla (chiavi lunghe il doppio contro Grover).
Collegamenti con l'esame
Gli argomenti di questa lezione compaiono all'esame come domande SÌ / NO / altro, da motivare in poche righe. Cosa saper fare:
- Grover. Lo speedup è quadratico: diventa . Contro la forza bruta sulle chiavi simmetriche basta quindi raddoppiarne la lunghezza.
Prova nelle tracce · 4 domande
Fonte: appunti della Lezione 6 · Algoritmi probabilistici e calcolo quantistico (slide lezione-6.pdf, Bonatti; Papadimitriou cap. 11). La dispensa non ha un capitolo dedicato.