Společnost Google zveřejnila otevřenou sadu knihoven a nástrojů s implementací systému úplného homomorfního šifrování, který umožňuje zpracovávat data v zašifrované podobě, která se během žádných výpočtů neobjevují v otevřené podobě. Nástroj poskytuje možnost vytvářet programy pro důvěrné výpočty, které mohou pracovat s daty bez dešifrování, včetně provádění matematických a jednoduchých řetězcových operací nad zašifrovanými daty. Kód projektu je napsán v jazyce C++ a šíří se pod licencí Apache 2.0.
Na rozdíl od end-to-end šifrování, homomorfní šifrování kromě ochrany přenosu dat umožňuje zpracování dat bez jejich dešifrování. Úplná homomorfnost znamená možnost vykonávat operace sčítání a násobení nad zašifrovanými daty, na jejichž základě lze realizovat jakékoli libovolné výpočty. Výstupem je zašifrovaný výsledek, který by byl analogický šifrování výsledku podobných operací nad původními daty.
Práce s daty při homomorfním šifrování spočívá v tom, že uživatel zašifruje data a bez odhalení klíčů je předává k zpracování do třetího servisu. Tento servis vykonává požadované výpočty a vytváří zašifrovaný výsledek, aniž by měl možnost zjistit, s jakými konkrétními daty pracuje. Uživatel pomocí svých klíčů dešifruje vydaná data a získává výsledek v otevřené podobě.

Mezi oblasti použití homomorfního šifrování patří vytváření cloudových služeb pro důvěrné výpočty, realizace systémů elektronického hlasování, vytváření anonymizovaných protokolů pro směrování, zpracování požadavků nad zašifrovanými daty v databázových systémech, důvěrné trénování systémů strojového učení.
Například homomorfní šifrování bude užitečné v lékařských aplikacích, které budou moci přijímat důvěrné informace od pacientů zašifrované a poskytnout zdravotnickým pracovníkům možnost provádět analýzu a odhalovat odchylky bez dešifrování. Homomorfní šifrování také může pomoci při výzkumech zkoumá-jících vztah mezi nemocemi a určitými genetickými mutacemi, kde je nutná analýza tisíců vzorků genetických informací.
Hlavním rysem publikovaných nástrojů je možnost vytvářet programy pro zpracování zašifrovaných dat pomocí standardních praktik vývoje v jazyce C++. Pomocí dodávaného transpileru se program v C++ přetváří na speciální dialekt FHE-C++, schopný pracovat se zašifrovanými daty.

Zdroj: opennet.ru
