Google ha pubblicato un insieme aperto di librerie e strumenti con l'implementazione di un sistema di crittografia omomorfica completa, che consente di elaborare dati in forma crittografata, che non compaiono in forma aperta in nessuna fase dei calcoli. L'insieme di strumenti permette di creare programmi per elaborazioni riservate, in grado di lavorare con i dati senza decrittografia, incluse operazioni matematiche e operazioni di base sulle stringhe sui dati crittografati. Il codice del progetto è scritto in C++ e viene distribuito con licenza Apache 2.0.
A differenza della crittografia end-to-end, la crittografia omomorfica, oltre a proteggere la trasmissione dei dati, offre la possibilità di elaborare i dati senza decrittografia. Per completa omomorfismo si intende la possibilità di eseguire operazioni di somma e moltiplicazione su dati crittografati, partendo da cui è possibile realizzare qualsiasi calcolo arbitrario. In output viene fornito un risultato crittografato, che sarebbe analogo alla crittografia del risultato di operazioni simili sui dati originali.
Lavorare con i dati nella crittografia omomorfica significa che l'utente crittografa i dati e senza rivelare le chiavi li invia per l'elaborazione a un servizio esterno. Questo servizio esegue i calcoli richiesti e genera un risultato crittografato, senza avere la possibilità di determinare con quali dati esatti sta lavorando. L'utente, con le proprie chiavi, decripta i dati ricevuti e ottiene il risultato in forma aperta.

Tra le aree di applicazione della crittografia omomorfica si evidenziano la creazione di servizi cloud per elaborazioni riservate, l'implementazione di sistemi di voto elettronico, la creazione di protocolli di routing anonimi, l'elaborazione di richieste su dati crittografati nei database relazionali e l'addestramento riservato di sistemi di machine learning.
Ad esempio, la crittografia omomorfica si rivela utile nelle applicazioni mediche, che possono ricevere informazioni riservate dai pazienti in forma crittografata e fornire ai professionisti medici la possibilità di condurre analisi e rilevare anomalie senza decriptare. La crittografia omomorfica può anche aiutare nella conduzione di ricerche che studiano il legame tra malattie e determinate mutazioni genetiche, per le quali è necessaria l'analisi di migliaia di campioni di informazioni genetiche.
Una caratteristica distintiva dello strumento pubblicato è la possibilità di creare programmi per l'elaborazione di dati crittografati, utilizzando tecniche di sviluppo standard nel linguaggio C++. Con l'aiuto del transpiler fornito, il programma in C++ viene trasformato in un particolare dialetto FHE-C++, in grado di lavorare con dati crittografati.

Fonte: opennet.ru
