Che cos'è la crittografia omomorfa?
Il concetto noto come crittografia omomorfa, in cui il testo cifrato può essere manipolato e lavorato senza essere decrittografato, è stato presentato per la prima volta alla comunità scientifica nel 1978 da Ronald Rivest, Leonard Adleman e Michael Dertouzos come omomorfismo della privacy. Uno schema di crittografia omomorfa semanticamente sicuro è stato sviluppato e proposto da Shafi Goldwasser e Silvio Micali nel 1982. Nel 2009, Craig Gentry ha dimostrato che è possibile uno schema di crittografia completamente omomorfo.
Rivest, Aldeman e Dertouzos hanno sviluppato la loro teoria sul fatto che i sistemi di sicurezza e crittografia esistenti limitano fortemente la capacità di fare qualsiasi cosa con i dati dopo che sono stati crittografati e trasformati in testo cifrato. Senza lo sviluppo di una soluzione omomorfa, l'invio e la ricezione di dati è essenzialmente l'unica funzione che può essere eseguita con dati crittografati. Le preoccupazioni maggiori riguardavano il livello di elaborazione necessario per elaborare la richiesta crittografata sui dati crittografati e se uno schema di crittografia di questo tipo potesse essere abbastanza sicuro per un uso pratico.
Con l'avvento e la continua espansione del cloud computing, è fondamentale trovare un metodo di crittografia omomorfa praticabile. In caso contrario, il rischio è troppo elevato per affidare i dati a un provider di cloud computing quando tali dati devono rimanere sicuri. Se il provider ha accesso in qualche modo ai dati nella loro forma decifrata, i dati possono essere facilmente compromessi. Gentry ha dimostrato che si tratta di una teoria fattibile, sebbene la quantità di tempo che impiegano i calcoli e la potenziale facilità con cui la crittografia può essere violata sono preoccupazioni.
Il sistema di Gentry delinea come creare uno schema di crittografia che consenta di archiviare i dati in modo sicuro in un ambiente cloud in cui il proprietario dei dati può utilizzare la potenza computazionale del provider cloud per eseguire funzioni sui dati crittografati in modo persistente. Lo fa in un processo in tre fasi. Viene creato uno schema di crittografia "avviabile" o costituito da uno schema di crittografia un po 'omomorfo in grado di funzionare con il proprio circuito di decrittografia. Successivamente, viene creato uno schema di crittografia a chiave pubblica quasi avviabile utilizzando reticoli ideali. Infine, gli schemi vengono modificati per essere più semplicistici, consentendo loro di essere avviabili mantenendo la profondità.
Questo metodo crea uno schema di crittografia completamente omomorfo, ma rimane relativamente poco pratico. La crittografia omomorfa si è evoluta per essere per lo più protetta dagli attacchi di testo in chiaro scelti, ma la protezione dagli attacchi di testo cifrato scelti rimane un problema. Oltre al problema della sicurezza, gli schemi completamente omomorfi sono così grandi e complessi che il fattore tempo ne ha impedito l'uso nella maggior parte delle applicazioni. In qualche modo sono stati sviluppati sistemi di crittografia omomorfa per indirizzare almeno il fattore tempo, usando solo le parti più efficienti di uno schema di crittografia completamente omomorfo.