Altro materiale introduttivo sulla crittografia omomorfa può essere trovato sulla pagina Wikipedia della crittografia omomorfa.
Base della crittografia omomorfa
La crittografia completamente omomorfa, o semplicemente la crittografia omomorfa, si riferisce a una classe di metodi di crittografia immaginati da Rivest, Adleman e Dertouzos già nel 1978, e costruiti per la prima volta da Craig Gentry nel 2009. La crittografia omomorfa differisce dai tipici metodi di crittografia in quanto permette di eseguire calcoli direttamente sui dati crittografati senza richiedere l’accesso ad una chiave segreta. Il risultato di tale calcolo rimane in forma criptata, e può essere rivelato in un secondo momento dal proprietario della chiave segreta.
applicazioni
Il cloud computing economico e il cloud storage hanno cambiato radicalmente il modo in cui le aziende e gli individui usano e gestiscono i loro dati. I metodi di crittografia tradizionali, come AES, sono estremamente veloci e permettono di memorizzare comodamente i dati in forma criptata. Tuttavia, per eseguire anche semplici analisi sui dati crittografati, o il server cloud ha bisogno di accedere alla chiave segreta, il che porta a problemi di sicurezza, o il proprietario dei dati deve scaricare, decifrare e operare sui dati localmente, il che può essere costoso e creare una sfida logistica. La crittografia omomorfica può essere utilizzata per semplificare notevolmente questo scenario, in quanto il cloud può operare direttamente sui dati crittografati e restituire solo il risultato crittografato al proprietario dei dati. Scenari applicativi più complessi possono coinvolgere più parti con dati privati su cui una terza parte può operare e restituire il risultato a uno o più dei partecipanti da decifrare.
Il concorso annuale iDASH sfida la comunità di ricerca a superare i limiti ed estendere la crittografia omomorfica a nuovi casi d’uso nel campo della privacy del genoma.
Sicurezza
La sicurezza degli schemi di crittografia omomorfica più pratici si basa sul problema Ring-Learning With Errors (RLWE), che è un difficile problema matematico relativo ai tralicci ad alta dimensione. Vale a dire, il presupposto di sicurezza di questi schemi di crittografia afferma che se lo schema può essere rotto in modo efficiente, allora il problema RLWE può essere risolto in modo efficiente. Una lunga serie di ricerche con revisione tra pari che confermano la durezza del problema RLWE ci dà fiducia che questi schemi sono effettivamente sicuri almeno quanto qualsiasi schema di crittografia standardizzato.
Come è stato menzionato sopra, il problema RLWE è strettamente correlato ai famosi problemi difficili dei reticoli che sono attualmente considerati sicuri contro i computer quantistici. Allo stesso modo, RLWE e successivamente la maggior parte degli schemi di crittografia omomorfica sono considerati sicuri contro i computer quantistici, rendendoli di fatto più sicuri dei sistemi basati sulla fattorizzazione e sui logaritmi discreti come RSA e molte forme di crittografia a curva ellittica. Infatti, il progetto di standardizzazione della crittografia post-quantistica organizzato dal NIST ha avuto diverse proposte basate su problemi di reticolo duro simili a quelli che usa la moderna crittografia omomorfa.
standardizzazione
Ci sono diverse ragioni per cui pensiamo che questo sia il momento giusto per standardizzare la crittografia omomorfa.
- C’è già un terribile bisogno di tecnologia di calcolo sicura facilmente disponibile, e questo bisogno sarà sempre più forte man mano che sempre più aziende e individui passeranno al cloud storage e computing. La crittografia omomorfa è già matura per l’uso mainstream, ma l’attuale mancanza di standardizzazione sta rendendo difficile iniziare ad usarla.
- In particolare, le attuali implementazioni non sono abbastanza facili da usare per i non esperti. Lo standard spingerà ad uniformare e semplificare le loro API, e ad educare gli sviluppatori di applicazioni ad usarle.
- Le proprietà di sicurezza degli schemi di crittografia omomorfica basati su RLWE possono essere difficili da capire. Lo standard presenterà le proprietà di sicurezza degli schemi standardizzati in una forma chiara e comprensibile.
disponibilità
Varie implementazioni open-source di schemi di crittografia omomorfica esistono oggi. Qui sotto c’è una lista incompleta. Se volete vedere la vostra implementazione aggiunta, contattateci a [email protected].
- Microsoft SEAL: una libreria open source ampiamente utilizzata da Microsoft che supporta gli schemi BFV e CKKS.
- PALISADE: una libreria open source ampiamente utilizzata da un consorzio di appaltatori della difesa finanziati da DARPA che supporta più schemi di crittografia omomorfica come BGV, BFV, CKKS, TFHE e FHEW, tra gli altri, con supporto multiparty.
- HELib: Una libreria precoce e ampiamente utilizzata da IBM che supporta lo schema CKKS e BGV e il bootstrapping.
- FHEW / TFHE: Supporta lo schema TFHE. TFHE è progettato da FHEW, che non è più attivamente sviluppato.
- HeaAn: Questa libreria implementa lo schema CKKS con supporto nativo per l’aritmetica approssimata a punto fisso.
- Λ ○ λ (pronunciato “L O L”): Questa è una libreria Haskell per la crittografia a reticolo basata sull’anello che supporta FHE.
- NFLlib: Questa libreria è una conseguenza del progetto europeo HEAT per esplorare la crittografia omomorfa ad alte prestazioni usando primitive di basso livello del processore.
- HEAT: Questa libreria si concentra su un’API che collega FV-NFLib e HeLIB.
- HEAT: Un’implementazione dell’acceleratore HW per FV-NFLlib.
- cuHE: Questa libreria esplora l’uso delle GPGPU per accelerare la crittografia omomorfa.
- Lattigo: Questa è una libreria crittografica basata su lattice scritta in Go.
- Concrete: Questa libreria supporta una variante personalizzata dello schema TFHE.