Criptosistemul Gentry (de la numele de familie al creatorului Craig Gentry) este prima construcție posibilă pentru un criptosistem complet homomorf bazat pe criptografie în rețea . A fost propus pentru prima dată de Craig Gentry în 2009 [1] și a făcut obiectul tezei sale de doctorat. Schema Gentry acceptă operațiuni de adunare și multiplicare pe text cifrat, ceea ce vă permite să construiți inele pentru a implementa orice calcul arbitrar. Ulterior, a avut multe îmbunătățiri și modificări pentru a-și îmbunătăți performanța.
Schema folosește [2] rețele ideale J în lanțuri de polinoame modulo . Forma normală hermitiană a unei rețele ideale are forma [2] :
, unde și r este rădăcina pentru modulo d.
Generare cheie [2]
este inversul lui , adică unde este matricea de identitate.
Cheia publică va fi matricea dată de numerele r și d. Cheia privată va fi două polinoame .
Criptare [2]
Lăsați să fie necesar să criptați puțin
La intrare există bit b și cheia publică V. Se alege vectorul de zgomot , ale cărui componente iau valori 0,1,-1. Apoi se calculează vectorul , iar textul cifrat este calculat cu formula [2]
Aici, pentru o bază V a spațiului L și un vector dat c, expresia este folosită pentru a desemna un vector astfel încât [2]
Decriptare [2]
Intrarea are un vector C și matrice V și W. Bitul original b este obținut ca rezultat al operației:
Omomorfism [2]
Criptarea este omomorfă în ceea ce privește operațiile de adunare și înmulțire. Pentru a efectua adunarea sau înmulțirea textelor cifrate, este necesar să se efectueze aceste operații în baza V
Rezistenta [3]
Gentry a justificat securitatea schemei sale cu două probleme: problema complexității celui mai rău caz al criptografiei pe rețelele ideale și problema sumei submulților. Ambele probleme sunt -grele, astfel încât stabilitatea sistemului este redusă la o problemă -hard.
Defecte
Un dezavantaj semnificativ al acestei scheme este că executarea calculelor duce la acumularea de erori [4] și, după ce depășește , devine imposibilă decriptarea mesajului. Una dintre soluțiile la această problemă este recriptarea datelor după un anumit număr de operații, totuși, această opțiune reduce performanța calculelor și necesită acces constant la cheia secretă [3] .
Se consideră o schemă homomorfă numai în raport cu operația de adunare [4] .
Generarea cheilor
Criptare
Intrarea conține textul de criptat și cheia publică. Textul cifrat va fi suma unui număr arbitrar de elemente ale cheii publice și textul simplu.
decriptare
Intrarea conține un text cifrat și numere și . Restul împărțirii textului cifrat la și la este calculat secvenţial . Rezultatul va fi mesajul original.
homomorfism
Pentru a obține suma textelor și , este suficient să adăugați textele cifrate și să efectuați operația de decriptare. Într-adevăr:
Avantajul acestei scheme este ușurința de implementare și cerințele reduse de resurse. Dezavantajele includ un set finit de chei publice și doar homomorfism parțial.
Prima încercare de implementare a schemei Gentry a fost făcută în 2010 de către Smart și Werkauteren [5] . Pentru implementare, au ales o schemă care folosește rețele ideale pentru un determinant simplu. Astfel de structuri sunt reprezentate de două numere întregi (indiferent de mărimea lor). Smart și Wertkauteren au propus o metodă de decriptare în care cheia secretă este un singur întreg. Astfel, oamenii de știință au reușit să implementeze un circuit omogen omomorf, dar nu au putut implementa tehnica Gentry în cazul unor parametri suficient de mari și, prin urmare, nu au reușit să obțină un circuit încărcat și complet omomorf.
Principalul obstacol în această implementare a fost dificultatea de a genera chei pentru scheme omogene: în primul rând, schemele trebuie să genereze un număr foarte mare de „candidați” pentru găsirea unei chei pentru care determinantul este simplu - până la candidați atunci când se lucrează cu structuri de dimensiune. . În plus, chiar și după găsirea variantei optime, complexitatea calculării cheii secrete corespunzătoare acestei structuri este egală, cel puțin pentru rețelele de dimensiune . Din aceste motive, oamenii de știință nu au reușit să genereze chei dimensionale . În plus, Smart și Vercauteren au estimat că polinomul de decriptare va avea un grad de câteva sute, iar acest lucru necesită utilizarea unei rețele de cel puțin dimensiune pentru procedura cu parametrii lor , care depășește semnificativ capacitățile de calcul ale procedurii de generare a cheilor . 2] .
În 2011, Craig Gentry, împreună cu Shai Halevi, au prezentat [2] o implementare practică pentru o schemă de criptare complet homomorfă, similară cu cea folosită în lucrările anterioare de Smart și Wertcauteren. Optimizarea principală constă într-o metodă de generare a cheilor pentru criptarea de bază relativ homomorfă care nu necesită inversarea polinomială completă. Acest lucru reduce complexitatea asimptotică de la până la când lucrați cu rețele dimensionale (și în practică reduce timpul de calcul de la multe ore la câteva minute).