Google zveřejnil otevřenou sadu knihoven a utilit, které implementují úplný homomorfní šifrovací systém, který umožňuje zpracovávat data v zašifrované podobě, která se neobjeví v otevřené podobě v žádné fázi výpočtu. Sada nástrojů umožňuje 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 operací s řetězci na zašifrovaných datech. Kód projektu je napsán v C++ a distribuován pod licencí Apache 2.0.
Na rozdíl od end-to-end šifrování poskytuje homomorfní šifrování kromě ochrany přenosu dat možnost zpracovávat data bez jejich dešifrování. Plná homomorfie znamená schopnost provádět operace sčítání a násobení na zašifrovaných datech, na základě kterých můžete implementovat libovolné libovolné výpočty. Výstup vytváří zašifrovaný výsledek, který by byl podobný šifrování výsledku podobných operací s původními daty.
Práce s daty s homomorfním šifrováním spočívá v tom, že uživatel data zašifruje a bez zveřejnění klíčů je přenese ke zpracování do služby třetí strany. Tato služba provádí uvedené výpočty a generuje zašifrovaný výsledek, aniž by dokázala určit, s jakými daty pracuje. Uživatel pomocí svých klíčů dešifruje vydaná data a výsledek obdrží v čistém textu.
Oblasti použití homomorfního šifrování zahrnují vytváření cloudových služeb pro důvěrné výpočty, implementaci elektronických hlasovacích systémů, vytváření anonymizovaných směrovacích protokolů, zpracování dotazů na šifrovaná data v DBMS a důvěrné školení systémů strojového učení.
Například homomorfní šifrování bude užitečné v lékařských aplikacích, které mohou přijímat citlivé informace od pacientů v zašifrované podobě a poskytují zdravotníkům možnost provádět analýzy a identifikovat anomálie bez dešifrování. Homomorfní šifrování může také pomoci při studiích zkoumajících vztah mezi nemocemi a specifickými genetickými mutacemi, které vyžadují analýzu tisíců vzorků genetické informace.
Charakteristickým rysem publikovaných nástrojů je možnost vytvářet programy pro zpracování šifrovaných dat pomocí standardních vývojových technik v C++. Pomocí dodaného transpileru je program C++ převeden na speciální dialekt FHE-C++ schopný pracovat se zašifrovanými daty.
Zdroj: opennet.ru