Puncte:0

Ce este o schemă de criptare sigură, modernă, parțial homomorfă?

drapel co

Citeam această hârtie de Philippe Golle despre utilizarea proprietăților homomorfe ale criptării ElGamal pentru a juca un joc de poker mental (adică poker criptografic sigur fără un dealer terț de încredere). Am decis că ar fi un proiect bun să încerc să implementez o versiune de bază, dar m-am confruntat rapid cu unele probleme.

Se pare că ElGamal (și RSA, de altfel) sunt considerați în general nesiguri, iar sfatul predominant pare să fie de a le evita. Astfel, cele două mari opțiuni pentru căderea homomorfismului parțial nu sunt disponibile pentru jocurile cu mize suficient de mari. În plus, nu am putut găsi cu adevărat alte criptosisteme standardizate care să aibă această proprietate și să funcționeze pe valori discrete și nu pe aproximări (necesare pentru implementarea algoritmului prezentat în lucrare). Oare imi scapa ceva evident?

Bănuiesc că întrebarea mea este: dacă Golle ar fi scris această lucrare în 2022, ce ar fi propus el în locul lui ElGamal pentru jocurile de poker cu mize suficient de mari?

Puncte:3
drapel ng

ElGamal și RSA „sunt considerate în general nesigure” DACĂ se presupune Calculatoare cuantice relevante din punct de vedere criptografic. Dar acestea rămân extrem de ipotetice. Lumea (internet, banking, mobil..) rulează în prezent pe criptosisteme care, atunci când sunt asimetrice, sunt teoretic vulnerabile la aceste CRQC ipotetice: RSA, ECDSA, EdDSA, ECIES...

Criptosistemul lui Paillier merită luată în considerare atunci când se ignoră ipoteza CRQC. Este simplu¹, furnizează criptarea aditiv homomorfă a numerelor întregi (eventual semnate) cu o restricție mică și clară², are eficiență într-un mic factor constant de decriptare RSA (deci suportabilă în multe aplicații), este fără brevet, se poate reduce la o problemă matematică larg considerat a fi super-polinom pentru computerele clasice și este considerat la fel de sigur ca RSA pentru aceeași dimensiune primă.

Principalul motiv pentru care criptosistemul lui Paillier nu este foarte folosit în practică este, cred, că criptarea homomorfă în general nu este la mare căutare.

Adăugare: Criptarea Paillier nu este vulnerabilă la atacul de umplutură oracol sau la alegerea slabă a umpluturii, deoarece (spre deosebire de RSA) nu are nevoie de umplutură. Este vulnerabil la atacurile asupra implementării cam așa cum este RSA, inclusiv exploatarea generatoarelor de numere aleatoare slabe la generarea sau utilizarea cheii, canale secundare și atacuri de eroare. Asemănarea cu RSA este o veste bună, deoarece contramăsurile eficiente împotriva atacurilor sunt cunoscute pentru RSA și pot fi adaptate în mare parte la Paillier.


¹ Mai ales cu restricția comună a $n$ produsul a două numere prime de mărime egală și $g=n+1$.

² Text simplu care depășește $n$ se reduce modulo $n$, cu $n$ parametri publici suficient de mari pentru a nu constitui o problemă pentru nimic care poate fi numărat, inclusiv pentru orice fracțiune semnificativă de monedă, chiar și pentru atomi. Va contrasta cu varianta aditiv homomorfă a lui ElGamal, care are restricții severe cu privire la numerele întregi pe care le poate adăuga.

user3450456 avatar
drapel co
Mulțumesc, mă voi uita la Paillier, deoarece nu sunt deosebit de îngrijorat de securitatea cuantică. Eu spunând că ElGamal și RSA ar putea fi considerate nesigure nu provine din îngrijorarea cu privire la securitatea cuantică, ci din cauza grijilor legate de generația principală, atacurile pe canale laterale și, în special, atacurile prin oracole de umplutură, deoarece algoritmul din hârtie să funcționeze, pot" nu tastați textul simplu înainte de criptare.
Mark avatar
drapel ng
@user3450456 dacă sunteți îngrijorat de diversele canale laterale, acesta este un beneficiu (relativ) al schemelor bazate pe zăbrele. Există rezultate relativ puternice privind rezistența la scurgeri despre scurgerile de biți secrete (comparativ cu lucrurile de tip RSA, unde metoda lui Coppersmith este destul de puternică). În plus, cea mai mare parte a generației (secrete) ale aleatoriei realizate este destul de simplă. singura excepție este „Eroarea LWE $e$”, deși pentru criptare chiar și aceasta se poate face într-un mod simplu, alegând-o dintr-o „distribuție binomială centrată”.
Mark avatar
drapel ng
există *nu* atacuri de tip oracol de umplutură (cel puțin despre care știu eu) împotriva schemelor bazate pe zăbrele, deși există și alte atacuri de tip IND-CCA, așa că poate că este o spălare aici.
Puncte:3
drapel ng

Sunt două lucruri evidente de menționat. În primul rând, cu avertismentul că am răsfoit doar pe scurt hârtia pe care ați legat-o, văd că secțiunea 3 afirmă că schema de criptare utilizată are nevoie de 3 proprietăți, și anume

  1. homomorfism aditiv,

  2. „comparație modulară în text clar”, de ex. verificând dacă $Enc(c)$ este o criptare de 0,

  3. un protocol distribuit de generare a cheilor.

ar fi mai ușor să răspunzi la această întrebare dacă ai putea oficializa cu exactitate operațiunile/proprietățile de care ai nevoie.

Pe bază de zăbrele

Acestea fiind spuse toate, de departe cel mai comun tip de schemă de criptare parțial homomorfă în prezent sunt variantele de criptare R(LWE). Totuși, aceasta satisface o variantă „zgomotoasă” a homomorfismului aditiv, ceea ce înseamnă că se poate evalua doar o parte a priori mărginit numărul de homomorfisme aditive. Dacă aveți nevoie de adăugiri arbitrare, acest lucru se poate face și, de exemplu, schemele FHEW/TFHE sunt probabil potrivite pentru aceasta (rețineți că acestea sunt complet homomorf scheme de criptare, deși sunt deosebit de eficiente). Este plauzibil/probabil că acest lucru este în regulă în cazul dvs.

Pentru celelalte două puncte, ar trebui să citesc/cunoaștem cu mai multă atenție cerințele precise ale schemei. Totuși, mi se pare plauzibil că schemele de criptare bazate pe RLWE ar putea funcționa pentru situația dvs., dar nu mă obosesc să încerc să completez detalii pentru că...

Bazat în El-Gamal:

Deși aveți dreptate că El-Gamal „clasic” (să zicem bazat pe câmp finit Diffie Hellman) este oarecum învechit, poate sa utilizați El-Gamal pe baza grupurilor de curbe eliptice. Acesta este „modern” (deși încă slab față de computerele cuantice, dacă aceasta este preocuparea dvs.), și probabil mai ușor pentru scopurile dvs. decât să aflați detaliile despre cum să utilizați o schemă bazată pe zăbrele. Rețineți că pentru criptare generală există puține motive pentru a folosi variante de curbă eliptică ale lui El Gamal (vezi aici pentru detalii), dar deoarece doriți în mod special să utilizați homomorfismul aditiv, folosirea El Gamal are sens.

Dacă sunteți împotriva utilizării Eliptic Curve El Gamal dintr-un motiv oarecare, principalele opțiuni rămase sunt schemele bazate pe zăbrele. Acest lucru va necesita mai multă muncă pentru a afla detaliile, ceea ce va fi mai ușor pentru cei de pe acest site web să vă ajute dacă puteți spune cu exactitate ce cerințe aveți pentru schema de criptare de bază.

fgrieu avatar
drapel ng
Nu toate aplicațiile izomorfismului aditiv sunt posibile cu ElGamal. Dacă vrem să ne ocupăm de numere întregi de până la $m$, costul decriptării crește cu $\sqrt m$, iar aceasta este adesea o limitare. Cred că există și unele limitări la RLWE, dar nu știu exact care sunt acestea.
user3450456 avatar
drapel co
Multumesc pentru raspuns. Cred că schemele bazate pe zăbrele sunt poate puțin prea complexe pentru ceea ce încerc să obțin, dar le voi analiza și ele. Puteți oferi un pic de context de ce este mai bine să faceți ElGamal pe grupuri eliptice decât să o faceți pe Diffie Hellman cu câmp finit? Înțeleg că nu am fost deosebit de precis în întrebarea mea, dar asta pentru că sunt foarte nou în criptografie.
Mark avatar
drapel ng
@fgrieu pentru RLWE trebuie să alegeți parametri mai mari pentru a permite mai multe adăugiri, astfel încât costurile de decriptare (un fel de) cresc implicit prin parametrii mai mari, dar creșterea ar trebui să fie logaritmică. Se pot ignora toate acestea folosind TFHE/FHEW, care este FHE care „pornește după fiecare operație”. În ciuda faptului că este FHE, este relativ performant, de exemplu ~.1 s/op acum câțiva ani (și probabil mai bine acum). Acest lucru este atât de rău în comparație cu procesoarele de ~3 GHz și am impresia că OP are nevoie de ~60 de operațiuni, așa că poate fi rezonabil.
Mark avatar
drapel ng
@user3450456 Atacurile împotriva Diffie-Hellman cu câmp finit sunt mai puternice, așa că trebuie să alegeți parametri mai mari pentru niveluri similare de securitate. În funcție de relațiile particulare dintre parametri, aceștia pot fi gigantici (caracteristica 2 diffie hellman este total ruptă --- academicienii au rezolvat DLOG de ~30k biți), până la mult mai mari (DLOG-urile de ~850 de biți sunt la îndemâna academicilor). Din acest motiv, o implementare „modernă” Finite-Field Diffie hellman ar trebui probabil să utilizeze dimensiuni între 2k-4k de biți pentru parametri. Acest lucru este comparat cu protocoalele de grup Eliptic-Curve, care se află în ...
Mark avatar
drapel ng
interval de câteva sute de biți.Desigur, dimensiunea biților nu controlează în totalitate complexitatea, dar este încă un parametru destul de relevant, iar lucrurile trebuie să fie cu un ordin de mărime mai mari atunci când lucrați cu câmpuri finite. Acest lucru ignoră, de asemenea, că gândirea curentă este că, dintre cele două, atacurile asupra câmpurilor finite sunt mai probabil să se îmbunătățească --- îmbunătățirea atacurilor grupurilor de curbe eliptice ar necesita să se arate că sunt „non-generice” --- în timp ce logaritmii discreti cu câmp finit ar putea fi plauzibil. *dramatic* îmbunătățit prin adaptarea lucrărilor din ~2012 privind sita câmpului de funcție la câmpuri finite (cred, dar nu știu detalii)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.