Plně homomorfní šifrování je šifrování, které umožňuje danému šifrovanému textu π 1 ,…, π t komukoli (nejen držiteli klíče) získat šifrovaný text libovolné požadované funkce f( π 1 ,…, π t ) , pokud toto funkci lze efektivně vypočítat.
Myšlenka plně homomorfního šifrování byla poprvé navržena v roce 1978 vynálezci kryptografického algoritmu s veřejným klíčem RSA , Ronaldem Rivestem a Adi Shamirem , spolu s Michaelem Dertouzosem . [1] Avšak v počátečních fázích byly pokusy o vytvoření kryptosystému s takovým šifrováním neúspěšné. Po mnoho let nebylo jasné, zda je plně homomorfní šifrování vůbec možné, ačkoli pokusy o vytvoření takového systému byly činěny opakovaně. Takže například kryptosystém navržený v roce 1982 Shafi Goldwasserem a Silviem Micalim měl poměrně vysokou úroveň kryptografické síly, ale byl pouze částečně homomorfní (homomorfní pouze navíc) a mohl šifrovat pouze jeden bit. [2] Další aditivně homomorfní šifrovací systém navrhl v roce 1999 Pascal Peillet . [3] Průlom ve vývoji plně homomorfního šifrování přichází v roce 2009, kdy Craig Gentry poprvé navrhl variantu plně homomorfního kryptosystému založeného na mřížkové kryptografii. [4] Od té doby se objevilo velké množství prací, které navrhují úpravu kryptosystému Gentry za účelem zlepšení jeho výkonu.
Plně homomorfní šifrování je kryptografické primitivum, které je šifrovací funkcí, která splňuje další požadavek homomorfismu s ohledem na jakékoli operace s otevřeným textem. Šifrovací funkce , kde m je prostý text, k je šifrovací klíč, je homomorfní s ohledem na operace s holým textem, pokud existuje účinný algoritmus , který po obdržení libovolného páru kryptogramů formuláře jako vstupu vytvoří kryptogram. takový, že po dešifrování bude získán čistý text [5] . Homomorfismus s ohledem na operaci je definován podobně .
Zatímco částečně homomorfní kryptosystémy jsou homomorfní pouze pod jednou operací otevřeného textu (buď sčítání nebo násobení), plně homomorfní systémy podporují homomorfismus pod oběma operacemi (jak sčítání, tak násobení) [6] . To znamená, že jsou pro ně splněny následující podmínky:
Navíc homomorfismus s ohledem na operace sčítání a násobení stačí k tomu, aby byl systém zcela homomorfní. [6]
Kryptosystém vytvořený Craigem Gentrym založený na mřížkové kryptografii popsal první možnou konstrukci pro plně homomorfní systém. Gentryho schéma podporovalo operace sčítání a násobení přes šifrovaný text, což vám umožňuje vytvářet kruhy pro realizaci libovolného výpočtu.
Konstrukce začíná téměř homomorfním šifrovacím schématem, které je vhodné pouze pro výpočet polynomů malého stupně nad šifrovanými daty. (To je omezeno skutečností, že šifrový text obsahuje nějaký šum, který roste s operacemi sčítání a násobení na šifrovém textu, dokud šum neučiní výsledek nesrozumitelným.) Portál ukázal, jak upravit schéma a učinit jej flexibilním . To znamená, že pomocí přešifrování dokázal odstranit nahromaděný šum a provést se šifrovaným textem ještě minimálně jednu operaci.
To znamená, že schéma umožňuje vyhodnotit svůj dešifrovací algoritmus pro alespoň jednu další operaci. Koneckonců ukázal, že jakékoli flex schéma lze převést na plně homomorfní schéma rekurzivním samovkládáním.
U „hlučného“ Gentryho schématu postup pro úpravu „flexibilního“ schématu efektivně „aktualizuje“ šifrový text tím, že na něj aplikuje homomorfní dešifrovací proceduru, čímž se získá nový text, který zašifruje stejná data jako dříve, ale s menším šumem. Periodickou „aktualizací“ šifrového textu při dosažení vysoké hladiny šumu je možné s ním bez rušení provádět libovolný počet operací. Gentry odůvodnil bezpečnost svého schématu dvěma problémy: problémem složitosti kryptografie nejhoršího případu na ideálních svazech a problémem součtu podmnožin.
Gentryho doktorská práce [7] má podrobnější popis.
Navzdory svému výkonu zůstávají šifrové texty ve schématu Gentry kompaktní, protože jejich délky nezávisí na složitosti funkce, která se počítá pro zašifrovaná data. Toto schéma je však nepraktické kvůli dramatickému nárůstu velikosti šifrovaného textu a výpočetních nákladů v závislosti na úrovni ochrany. Damien Schechli a Ron Steinfeld představili řadu optimalizací a vylepšení, [8] a následně Nigel Smart s Fredericem Verkauterenem , [9] [10] a Craig Gentry se Shai Halevi , [11] [ 12] představil první funkční implementace plně homomorfního Gentryho šifrovacího schématu.
V roce 2010 Martin van Dijk , Craig Gentry , Shai Halevi a Weedon Vaikuntanahan představili druhý plně homomorfní systém [13] . Používal mnoho principů Gentryho kryptosystému, ale nevyžadoval dokonalé mřížky . Místo toho ukázali, že je možné nahradit homomorfní složku na ideálních svazech jednoduchým homomorfním schématem, které by používalo celá čísla. Toto schéma je koncepčně jednodušší než Gentryho schéma, ale má podobné parametry z hlediska homomorfismu a účinnosti.
Homomorfní složka v Dyckově práci je podobná šifrovacímu schématu, které představili Leviel a Naccaha v roce 2008 [14] , a podobné tomu, které představil Brahm Cohen v roce 1998 [15] . Cohenova metoda ale není homomorfní s ohledem na operaci sčítání. Schéma Leviela-Naccahi podporuje pouze operaci sčítání a lze jej upravit tak, aby podporovalo malý počet operací násobení. Mnoho vylepšení a optimalizací obvodů bylo prezentováno v řadě prací Jen-Sebastiana Corony , Tankrida Lepointeho , Avradipa Mandaly , Davida Nakkhiho a Mehdiho Tibuhiho [16] [17] [18] [19] .
Od roku 2011-2012 bylo vyvinuto několik nových technik Zvik Brakerski , Craig Gentry , Widon Vaikuntanahan a další. Tento vývoj vedl k řadě efektivnějších plně homomorfních kryptosystémů. Mezi nimi:
Bezpečnost většiny schémat je založena na obtížnosti řešení problému učení chyb . Pouze ve schématu LVT je ochrana implementována na variantě výpočetní úlohy NTRU . Všechny tyto systémy mají na rozdíl od dřívějších schémat pomalejší nárůst šumu při homomorfních výpočtech. V důsledku dodatečné optimalizace provedené Craigem Gentrym , Shai Haveli a Nigel Smart byl získán kryptosystém s téměř optimální asymptotickou složitostí : [25] [26] [27] Tyto optimalizace jsou založeny na technice Smart-Vercauteren, která umožňuje komprimovat sadu textových proměnných do jednoho šifrovaného textu a pracovat s těmito proměnnými v jednom proudu . [10] Mnoho pokroků z druhé generace plně homomorfních systémů bylo také použito v kryptosystémech na celých číslech. [18] [19]
Zvika Brakerski a Vidon Vaikuntanahan si všimli, že u řady schémat kryptosystém GSW vykazuje mírné zvýšení hladiny hluku, a tedy větší efektivitu a větší bezpečnost. [28] Jakob Alperin-Sheriff a Chris Peikert později popsali účinnou techniku cipher-to-flexible, která používá tento typ schématu. [29] Tento typ transformace však není kompatibilní s metodami komprese šifrového textu, a proto na něj nelze použít optimalizace Gentry-Sahai-Waters [25] .
Všechny kryptosystémy druhé generace zatím dodržují základy návrhu Gentryho schématu, jmenovitě používají téměř homomorfní kryptosystém s velkou úrovní nárůstu šumu a poté jej převádějí na plně homomorfní kryptosystém úpravou do flexibilního schématu.
První implementací plně homomorfního šifrování bylo Gentry-Haleviho schéma implementované na základě výše uvedeného Gentryho schématu. [12] Dokončení jednoduché bitové operace jí trvalo 30 minut. Po nástupu druhé generace kryptosystémů se tato implementace stala zastaralou.
V literatuře existuje mnoho implementací téměř homomorfních systémů druhé generace. Implementováno Gentry, Haveli a Smart (GHS) [27] variací kryptosystému BGV, [20] ukázalo výsledek za 36 hodin při výpočtu komplexního schématu (implementace AES šifrování). Pomocí technik komprese šifrovaného textu by tato implementace mohla přepočítat stejné schéma na 54 různých vstupech za stejných 36 hodin, a tak získat výsledek 40 minut na vstup. Výpočet obvodu AES byl zvolen jako vodítko pro několik následujících prací, [18] [30] [31] , kde bylo možné výrazně zkrátit dobu výpočtu na 4 hodiny při vynaložení 7 sekund na vstup.
Pro veřejné použití jsou k dispozici dvě implementace druhé generace kryptosystémů:
Obě knihovny jsou implementacemi plně homomorfního šifrování. HElib ukazuje výsledek za 5-10 minut pro převod komprimovaného šifrovaného textu z přibližně 1000 znaků na flexibilní. [34] FHEW převádí nekomprimovaný šifrovaný text na flexibilní šifrovaný text přibližně za 1/2 sekundy na bit. [35] Na konci roku 2014 aktualizovaná implementace HElib ukázala výsledek 4 minuty pro výpočet schématu AES pro 120 vstupních toků, čímž bylo dosaženo specifické rychlosti 2 sekund na tok. [32]
Plně homomorfní šifrovací schéma navržené Gentrym lze zvážit pomocí příkladu výpočtů v . [36]
Proces šifrování dat lze znázornit takto:
1. Je vybráno libovolné liché číslo , což je tajný parametr. Nechte _
2. Číslo je sestaveno tak, že , kde je libovolné číslo. To znamená, že .
3. V procesu šifrování je každému přiděleno číslo , kde je zvoleno libovolně. Tedy, . Je snadné vidět , a proto bude útočník schopen určit pouze paritu šifrovacího výstupu.
Nechte znát zašifrované číslo a tajemství . Poté by proces dešifrování dat měl obsahovat následující kroky:
1. Dešifrování pomocí tajného parametru : , kde se nazývá šum a .
2. Získání původního šifrovaného bitu :
Nechť jsou dva bity a je jim přiřazena dvojice čísel a . Nechť se vezme tajný parametr a data se zašifrují: a .
Součet těchto čísel se vypočítá:
Pro součet těchto čísel bude dešifrovaná zpráva součtem původních bitů .
Ale bez znalosti , není možné dešifrovat data: .
Operace násobení se kontroluje stejným způsobem:
Na získané výsledky je nutné použít postup dešifrování, jehož výsledkem je následující:
.
Použití tohoto zcela homomorfního šifrovacího schématu pro praktické účely není v současné době možné, protože v důsledku výpočtů akumulovaná chyba rychle dosáhne dostatečně velkých hodnot [36] . Je dokonce možné, že data nelze správně dešifrovat vůbec. K tomu dojde, pokud hodnota chyby překročí hodnotu . Ve snaze vyhnout se takovému problému vyvinul Gantry samoopravný mechanismus šifrovaného textu (bootstrapping), který kvůli své nepraktičnosti v důsledku příliš rychlého růstu objemu šifrovaného textu nenašel široké uplatnění. Tento problém je možné vyřešit, ale pro dosažení stanoveného úkolu je nutné vyvinout složitější výpočetní algoritmy, případně omezit počet operací s daty. [36]
Jednou z nejdůležitějších aplikací plně homomorfního šifrování je provádění různých matematických operací s daty uloženými na vzdáleném cloudovém úložišti . Použití takového šifrovacího schématu umožní vytvořit bezpečnou cloudovou službu schopnou provádět různé operace s uživatelskými daty, aniž by věděli, o jaký druh dat se jedná.
Nechť uživatel například zašifruje některá svá data a uloží je na vzdálené cloudové úložiště. Pokud má uživatel v úmyslu tato data nějak změnit, může buď serveru svěřit svůj tajný klíč, a tím získat přístup ke všem svým tajným informacím, nebo si zašifrovaná data stáhnout do svého počítače, dešifrovat je, provést potřebné výpočty a odeslat to zpět na server. Ale ani jeden, ani druhý způsob není optimální. V prvním případě nelze vyloučit pravděpodobný únik dat a jejich zpřístupnění třetím stranám, ve druhém případě může být čas strávený prováděním všech potřebných operací příliš vysoký. Klient navíc nemusí mít potřebné výpočetní zdroje k provádění výpočtů, které potřebuje. [6]
Také podle mezinárodní výzkumné společnosti IDC , která studuje globální trh informačních technologií a telekomunikací , mnoho společností nedůvěřuje cloudovým technologiím a spojuje s nimi především velké problémy s bezpečností uložených dat. A nezávislá výzkumná společnost Portio Research zveřejnila údaje, podle kterých takovým službám nedůvěřuje 68 % šéfů různých evropských IT firem. Takže například vedoucí laboratoří G Data Security Labs , Ralph Bentzmuller, hovořil o cloudových službách takto: „Pokud nechcete, aby se vaše data stala veřejnými, neukládejte je do cloudového úložiště.“ Proto je otázka vytvoření bezpečného cloudového úložiště pomocí zcela homomorfního schématu šifrování dat v současnosti poměrně akutní.. [37] .
Plně homomorfní šifrování se používá ve vyhledávačích, které vyžadují „soukromé vyhledávání“, tedy vyhledávání, při kterém server neví nic o obsahu vyhledávacího dotazu a vrátí výsledek uživateli v zašifrované podobě. Kromě již pokrytých oblastí lze u elektronických hlasovacích systémů použít plně homomorfní šifrovací schémata , například když se používají slepé podpisy . [6]