Ero su Wikipedia nell'elenco dei problemi irrisolti dell'informatica e ho scoperto questo: è possibile la crittografia a chiave pubblica?
Pensavo che la crittografia RSA fosse una forma di crittografia a chiave pubblica? Perché questo è un problema?
Ero su Wikipedia nell'elenco dei problemi irrisolti dell'informatica e ho scoperto questo: è possibile la crittografia a chiave pubblica?
Pensavo che la crittografia RSA fosse una forma di crittografia a chiave pubblica? Perché questo è un problema?
Risposte:
Non sappiamo per certo che RSA è sicuro. È possibile che RSA possa essere interrotto in tempi polinomiali, ad esempio se il factoring può essere eseguito in modo efficiente. Ciò che è aperto è l'esistenza di un sistema crittografico a chiave pubblica estremamente sicuro . Non sappiamo per certo che un tale sistema crittografico esiste affatto; per quanto ne sappiamo, ogni sistema crittografico potrebbe essere rotto in modo efficiente.
Un problema diverso e non correlato con RSA è che può essere risolto dai computer quantistici. Questo è un problema non correlato poiché la definizione di un crittosistema sicuro a chiave pubblica richiede solo che il crittosistema non sia fragile dai computer classici (non quantici).
In pratica, tuttavia, RSA sembra sicuro e viene utilizzato tutto il tempo. Ciò è dovuto al divario tra teoria e pratica. Sebbene teoricamente non sappiamo con certezza che RSA sia sicuro, in pratica dobbiamo usare alcuni sistemi crittografici a chiave pubblica e RSA è una buona scelta poiché le persone hanno tentato di romperlo e non ci sono riusciti. In generale, un noto sistema crittografico di cui le persone si preoccupano è più sicuro di un oscuro, poiché ha resistito ai tentativi dei crittografi. Ciò non costituisce una prova della sua sicurezza - potrebbe non esserlo - ma è il massimo che possiamo fare.
Ecco alcuni altri angoli / dettagli su questa domanda, più specifici e in generale. Come scrive YF in un commento, nonostante le apparenze, RSA non ha dimostrato di essere difficile almeno quanto il factoring. La rottura di RSA comporta il problema di log discreto che ovviamente è strettamente correlato al factoring in complessità, ma non si è dimostrato che abbia la stessa complessità. Ma (come sottolineato) nemmeno il factoring è stato dimostrato difficile.
YF menziona anche il calcolo quantistico. Come gli addetti ai lavori sono ben consapevoli, RSA non è sicuro contro il calcolo quantistico che si è dimostrato in grado di fattorizzare il tempo P usando l'algoritmo Shors . Al momento l'algoritmo di Shors era considerato una svolta. E un'altra svolta da menzionare in un'area "vicina" è l' algoritmo di primalità AKS che ha dimostrato che il test di primalità è in P. Le scoperte teoriche nella teoria della complessità sono rare ma non inaudite.
YF non menziona, ma è sempre in agguato sullo sfondo di queste domande, la "grande domanda" di P =? NP è ancora aperta. Si pensa generalmente che "la crittografia algoritmica potrebbe essere impossibile" (tranne che per i pad una tantum) se P = NP, che non è generalmente creduto dagli esperti.
Un modo eccellente per concettualizzare scientificamente ciò è Impagliazzos 5 mondi , panoramica di Kabanets . straordinariamente, i teorici della complessità non sanno "in quale dei 5 mondi in cui viviamo" anche se ci sono prove circostanziali che si avvicinano in qualche modo. In quale mondo viviamo dipende dalle congetture della teoria della complessità aperta. Si riferiscono anche a problemi aperti sulle esistenze di funzioni botola e funzioni a senso unico . (RSA è congetturato per essere entrambe le cose.) C'era una conferenza del 2009 la ricerca su mondi Impagliazzos con le più recenti teorie segnalato.
Una cosa che deve essere definita qui è la definizione di possibile. Ci sono due modi per rispondere a questa domanda. Il primo è: un sistema crittografico a chiave pubblica può essere considerato teoricamente sicuro? In senso lato ciò richiede che l'algoritmo sia sicuro anche quando sottoposto ad un attacco che coinvolge una potenza di calcolo infinita. C'è un sistema noto che ha raggiunto questo obiettivo, il time pad, tuttavia questo è solo in teoria poiché non possiamo creare i numeri veramente casuali richiesti ed è una chiave privata. Il secondo modo in cui è possibile visualizzare la domanda è: un sistema crittografico a chiave pubblica può essere considerato incondizionatamente sicuro? Questa seconda definizione è più libera. Nel caso di RSA, se qualcuno dovesse dimostrare che la fattorizzazione dei numeri interi è stata così difficile come pensiamo attualmente, e dimostrare che non c'erano altri presupposti o difetti nel sistema, allora RSA sarebbe incondizionatamente sicuro. La sicurezza incondizionata rimuove il requisito della potenza di calcolo infinita e la rilassa all'impossibile nell'universo fisico. Poiché i nostri algoritmi a chiave pubblica si basano tutti su enormi ipotesi sulla computabilità, non soddisfano la seconda definizione.