Kryptosystém Gentry (z příjmení tvůrce Craiga Gentryho) je první možnou konstrukcí pro plně homomorfní kryptosystém založený na mřížkové kryptografii . Poprvé ji navrhl Craig Gentry v roce 2009 [1] a byla předmětem jeho doktorské disertační práce. Schéma Gentry podporuje operace sčítání a násobení na šifrovém textu, což vám umožňuje vytvářet kruhy pro implementaci libovolných výpočtů. Následně prošel mnoha vylepšeními a úpravami s cílem zlepšit jeho výkon.
Schéma využívá [2] ideální svazy J v řetězcích polynomů modulo . Hermitovská normální forma ideální mřížky má tvar [2] :
, kde a r je kořen pro modulo d.
Generování klíče [2]
je inverzní k , tj . kde je matice identity.
Veřejný klíč bude matice daná čísly r a d. Soukromý klíč budou dva polynomy .
Šifrování [2]
Nechť je potřeba trochu zašifrovat
Na vstupu je bit b a veřejný klíč V. Je zvolen šumový vektor , jehož složky nabývají hodnot 0,1,-1. Poté se vypočítá vektor a šifrový text se vypočítá podle vzorce [2]
Zde, pro bázi V prostoru L a daný vektor c, se výraz používá k označení vektoru tak, že [2]
Dešifrování [2]
Vstup má vektor C a matice V a W. Původní bit b se získá jako výsledek operace:
homomorfismus [2]
Šifrování je homomorfní s ohledem na operace sčítání a násobení. Aby bylo možné provádět sčítání nebo násobení šifrových textů, je nutné tyto operace provádět v základu V
Vytrvalost [3]
Gentry zdůvodnil bezpečnost svého schématu dvěma problémy: problémem složitosti nejhoršího případu kryptografie na ideálních svazech a problémem součtu podmnožin. Oba problémy jsou -těžké, takže stabilita systému je redukována na -těžký problém.
Nedostatky
Významnou nevýhodou tohoto schématu je, že provádění výpočtů vede k hromadění chyb [4] a po jejich překročení je nemožné zprávu dešifrovat. Jedním z řešení tohoto problému je opětovné zašifrování dat po určitém počtu operací, nicméně tato možnost snižuje výkon výpočtů a vyžaduje neustálý přístup k tajnému klíči [3] .
Schéma je považováno za homomorfní pouze s ohledem na operaci sčítání [4] .
Generování klíčů
Šifrování
Vstup obsahuje text, který má být zašifrován, a veřejný klíč. Šifrovaný text bude součtem libovolného počtu prvků veřejného klíče a otevřeného textu.
dešifrování
Vstup obsahuje šifrovaný text a čísla a . Zbytek dělení šifrového textu a by se vypočítává postupně . Výsledkem bude původní zpráva.
homomorfismus
Pro získání součtu textů a , stačí sečíst šifrované texty a provést operaci dešifrování. Opravdu:
Výhodou tohoto schématu je snadná implementace a nízké nároky na zdroje. Mezi nevýhody patří konečná množina veřejných klíčů a pouze částečný homomorfismus.
První pokus o implementaci Gentryho schématu provedli v roce 2010 Smart a Werkauteren [5] . Pro implementaci zvolili schéma využívající ideální svazy pro jednoduchý determinant. Takové struktury jsou reprezentovány dvěma celými čísly (bez ohledu na jejich velikost). Smart a Wertkauteren navrhli metodu dešifrování, ve které je tajný klíč jedno celé číslo. Vědcům se tedy podařilo implementovat homomorfní homogenní obvod, ale nedokázali implementovat Gentryho techniku v případě dostatečně velkých parametrů, a proto se jim nepodařilo získat zatížitelný a zcela homomorfní obvod.
Hlavní překážkou této implementace byla obtížnost generování klíčů pro homogenní schémata: schémata musí především generovat velmi velké množství „kandidátů“ na nalezení klíče, pro který je determinant jednoduchý – až po kandidáty při práci s dimenzemi . . Navíc i po nalezení optimální varianty je složitost výpočtu tajného klíče odpovídající této struktuře stejná, alespoň pro svazy dimenzí . Z těchto důvodů vědci nebyli schopni generovat rozměrové klíče . Smart a Vercauteren navíc odhadli, že dešifrovací polynom bude mít stupeň několik stovek, a to vyžaduje použití mřížky alespoň rozměrů pro proceduru s jejich parametry , což výrazně převyšuje výpočetní možnosti procedury generování klíče [ 2] .
V roce 2011 Craig Gentry spolu se Shai Halevi představil [2] praktickou implementaci pro plně homomorfní šifrovací schéma, podobné tomu, které bylo použito v dřívějších pracích Smarta a Wertcauterena. Hlavní optimalizace spočívá v metodě generování klíče pro základní relativně homomorfní šifrování, které nevyžaduje plnou polynomiální inverzi. To snižuje asymptotickou složitost z na při práci s dimenzionálními mřížemi (a v praxi snižuje dobu výpočtu z mnoha hodin na několik minut).