Spoločnosť Google zverejnila otvorený súbor knižníc a nástrojov s implementáciou systému úplného homomorfného šifrovania, ktorý umožňuje spracovávať dáta v zašifrovanej forme, pričom sa žiadny z krokov výpočtov nevykonáva v otvorenej forme. Nástroje umožňujú vytvárať programy pre dôverné výpočty, ktoré dokážu pracovať s dátami bez ich dešifrovania, vrátane vykonávania matematických a jednoduchých reťazcových operácií nad zašifrovanými dátami. Kód projektu je napísaný v jazyku C++ a je šírený pod licenciou Apache 2.0.
Na rozdiel od end-to-end šifrovania, homomorfné šifrovanie okrem ochrany prenosu dát poskytuje aj možnosť spracovania dát bez ich dešifrovania. Úplná homomorfnosť znamená schopnosť vykonávať operácie sčítania a násobenia zašifrovaných dát, pričom na ich základe je možné realizovať akékoľvek ľubovoľné výpočty. Na výstupe sa predkladá zašifrovaný výsledok, ktorý by bol ekvivalentný zašifrovaniu výsledku podobných operácií na pôvodných dátach.
Práca s dátami pri homomorfném šifrovaní spočíva v tom, že používateľ zašifruje dáta a bez odhalenia kľúčov ich predáva na spracovanie do externého servisu. Tento servis vykonáva požadované výpočty a formuluje zašifrovaný výsledok, pričom nemá možnosť určiť, s akými konkrétnymi dátami pracuje. Používateľ pomocou svojich kľúčov dešifruje vydané dáta a získava výsledok v otvorenej forme.

Medzi oblasti uplatnenia homomorfného šifrovania patrí vytváranie cloudových služieb pre dôverné výpočty, realizácia systémov elektronického hlasovania, vytváranie anonymizovaných protokolov smerovania, spracovanie požiadaviek nad zašifrovanými dátami v DBMS, dôverná tréning systémov strojového učenia.
Napríklad homomorfné šifrovanie sa ukáže byť užitočné v medicínskych aplikáciách, ktoré dokážu získavať dôverné informácie od pacientov v zašifrovanej forme a umožnia zdravotníckym pracovníkom vykonávať analýzu a identifikáciu odchýlok bez dešifrovania. Homomorfné šifrovanie môže tiež pomôcť pri výskumoch skúmajúcich spojenie medzi ochoreniami a určitými genetickými mutáciami, kde je potrebná analýza tisícov vzoriek genetických informácií.
Vyznačujúcou črtou publikovaného nástroja je možnosť vytvárať programy na spracovanie zašifrovaných údajov pomocou štandardných vývojových praktík v jazyku C++. Pomocou poskytovaného transpílera sa program v C++ prevedie do špeciálneho dialektu FHE-C++, ktorý je schopný pracovať so zašifrovanými údajmi.

Zdroj: opennet.ru
