Quantum Computing o semplice fortuna? Il caso del computer quantistico che era solo un generatore di numeri casuali

Quantum Computing o semplice fortuna? Il caso del computer quantistico che era solo un generatore di numeri casuali

Se vi dicessero che la prossima rivoluzione crittografica è stata scoperta usando solo un generatore di numeri casuali su un vecchio laptop, ci credereste? Probabilmente no, perché siamo abituati a credere che quando si parla di Quantum, ci sia dietro una magia tecnologica che farà saltare in aria l’intera infrastruttura RSA del pianeta. E invece, sembra che qualcuno abbia scambiato un colpo di fortuna statistica per un attacco quantistico su larga scala.

Il punto è questo: è apparso un repository che sostiene di aver dimostrato un attacco quantistico al problema ECDLP (quello che tiene al sicuro le chiavi crittografiche) usando l’hardware di IBM. Roba da far tremare i polsi a ogni sysadmin. Però, un utente ha deciso di fare la cosa più da maker che esista: smontare il giocattolo per vedere se dentro c’è davvero del quantum o solo fuffa.

Con un piccolo patch di circa trenta righe di codice, ha sostituito il backend di IBM Quantum con /dev/urandom. Sì, avete letto bene. Ha tolto il processore quantistico e ha messo al suo posto un generatore di bit casuali del kernel Linux. Il risultato? La pipeline di estrazione, il verificatore e tutto il resto giravano esattamente allo stesso modo. Le chiavi private venivano recuperate con una frequenza identica. In pratica, il ‘miracolo’ quantistico era indistinguibile dal lancio di una moneta.

Perché succede? La spiegazione è meno sexy ma molto più razionale. L’autore del progetto originale usava curve crittografiche così piccole (poche bit!) che con un numero sufficiente di tentativi (i famosi ‘shots’), la probabilità di colpire la chiave corretta per puro caso è altissima. Se lanci abbastanza dadi, prima o poi esce il sei. L’autore stesso lo ammette nel README, ma poi lo usa per rivendicare un successo che, matematicamente, è solo statistica applicata a problemi triviali.

Da smanettone, trovo che la parte ingegneristica del codice sia comunque una figata atomica: implementare adder ripple-carry e mappe su topologie hardware non è roba da principianti. Però, c’è una differenza abissale tra ‘ho scritto un codice complesso che gira su un QPU’ e ‘ho usato un QPU per fare una cosa che un laptop fa meglio’. Il primo è ingegneria, il secondo è marketing spazzatura.

Per noi che amiamo mettere le mani nel metallo e nel codice, questa è una lezione fondamentale: non fatevi incantare dall’hype. Quando leggete di ‘attacchi quantistici’ che risolvono problemi che sembrano impossibili, cercate sempre di capire se c’è un vero salto di paradigma o se qualcuno sta solo cercando di gonfiare il valore del proprio progetto usando termini accattivanti. La prossima volta che vedete un titolo del genere, controllate se il risultato è replicabile con un semplice script Python e un po’ di `/dev/urandom`. Spesso, la risposta è proprio lì.

Source: Replace IBM Quantum back end with /dev/urandom

Lascia un commento