Puncte:2

LWE - Criptarea/Decriptarea mesajelor mai mari de 1 bit

drapel in

Aș dori să știu dacă LWE (și variantele sale: RLWE și MLWE) poate cifra mesaje mai mari de 1 bit. Este posibil? Nu am gasit inca nicio referinta.Ați putea să mi-l explicați sau să dați câteva referințe bune despre el?

Mulțumesc anticipat.

ACTUALIZAȚI: Am citit câteva lucrări și poate întrebarea mea ar trebui să fie puțin diferită: Există scheme care folosesc LWE și variante care nu sunt FHE (cifrând mai mult de 1 bit de fiecare dată)? Având în vedere propunerile NIST de exemplu, nu am înțeles dacă sunt FHE sau nu. Am observat că textele cifrate sunt mult mai mari decât textele simple când folosesc Crystals-Kyber, de exemplu. Deci presupun că este FHE sau cifrează 1 bit de fiecare dată.

Puncte:1
drapel ng

Răspunsul este „da”, iar modificările sunt relativ simple de făcut pentru experți (de aceea este posibil să nu le vezi des). Există aproximativ trei clase de modificări, voi încerca să le menționez pe toate pe scurt.

Pe tot parcursul, mă voi referi la schema de criptare standard „de tip Regev”.

$$\mathsf{Enc}_s(m) = (A, As + e + (q/2)m),\qquad \mathsf{Dec}(A, b) = \lfloor b - As\rceil_2$$

unde functia $\lfloor x\rceil_p = p\lfloor x/p\rceil$ runde $x$ la cel mai apropiat multiplu întreg al $p$ (și $\letaj x\rceil$ este funcția standard „rotunjire la cel mai apropiat număr întreg”).

În primul rând, există o modalitate standard de a merge dintr-un spațiu de mesaje de $\mathbb{Z}/2\mathbb{Z}$ la $(\mathbb{Z}/2\mathbb{Z})^n$, și anume printr-o „schemă de criptare matrice”. Ideea este să ai $n$ chei independente $s_1, s_2,\dots, s_n$. Le puteți colecta într-o matrice $\mathbf{S} = [s_1,\dots,s_n]$, iar apoi criptarea cu

$$\mathsf{Enc}_{\mathbf{S}}(\vec m) = (A, A\mathbf{S} + \vec e + (q/2)\vec m)$$

Practic, „refolosim” $A$ peste $n$ criptări diferite. La fel de $A$ este cea mai mare parte (în ceea ce privește dimensiunea) a schemei, aceasta este o economii decentă. Cheile cresc cu un factor multiplicativ $n$ deşi. Cred că această optimizare este menționată în PVW08 ("Lossy Trapdoor Functions and their Applications" poate?), dar nu știu dacă aceasta a fost prima apariție a acesteia.

Un alt mod de a merge dintr-un spațiu de mesaje de $\mathbb{Z}/2\mathbb{Z}$ la $(\mathbb{Z}/2\mathbb{Z})^n$ este să folosiți inele mai generale, adică să folosiți RLWE. Acest lucru este oarecum netrivial din punct de vedere matematic, așa că voi oferi o imagine de ansamblu la nivel înalt. Textele cifrate sunt acum de forma $(a, ca + e + (q/2)m)$, unde acum $a, s, e, m$ sunt toti polinomiale de grad $n$. În special, se primește criptare pentru vectorii de biți $(\mathbb{Z}/2\mathbb{Z})^n$ „gratuit”, în special fără trebuind să mărească dimensiunea cheii secrete. Aceasta este una dintre cele mai performante modalități de a trece peste criptarea biților și este incredibil de populară în practică (de exemplu, fiecare soluție NIST utilizează o anumită versiune a acesteia, adică fie RLWE, MLWE, fie chestii NTRU non-întregi, cu excepția FrodoKEM, care nu o face în mod intenționat din motive de securitate).

Ce se întâmplă dacă nu-ți place aspectul $\mathbb{Z}/2\mathbb{Z}$ pretutindeni? Poveștile de mai sus pot fi toate generalizate pentru a avea spațiu pentru mesaje $\mathbb{Z}p/\mathbb{Z}$ (mai degrabă decât cazul specific al $p = 2$) prin schimbarea termenului $(q/2)m$ la $(q/p)m$ (unde, în primul caz, alegem $q$ astfel încât $2\mid q$. După generalizare, vrem $p\mid q$). Acest lucru produce criptare cu spațiu pentru mesaje $\mathbb{Z}/p\mathbb{Z}$, sau după cele două optimizări pe care le-am menționat $(\mathbb{Z}/p\mathbb{Z})^n$.

Rețineți că acest lucru nu vine gratuit --- în linii mari, termenul $(q/2)m$ este folosit pentru a asigura decriptarea corectă și funcționează în prezența unei erori $|e| < q/4$ în fiecare coordonată. Pentru general $p$, această legătură se strânge și trebuie să existe o eroare $|e| < q/2p$ în fiecare coordonată. Această eroare mai mică duce la scheme mai puțin sigure. Se poate ocoli acest lucru prin reparametrizarea lucrurilor, dar ideea este că trecerea de la $\mathbb{Z}/2\mathbb{Z}\mapsto \mathbb{Z}/p\mathbb{Z}$ nu vine „gratis”.


Pentru întrebarea dvs. actualizată, merită menționat că există scheme de criptare bazate pe LWE (chiar și FHE!!) cu factor de expansiune a textului cifrat (optim asimptotic), consultați

Felipe Rampazzo avatar
drapel in
Excelentă explicație, @Mark. Acesta este ceea ce căutam. Mersi!
Puncte:0
drapel au

Da, se poate din moment ce, de exemplu multi-biți folosește această abordare, de exemplu, dacă mesajul nostru este mai mare de 1 bit, puteți converti valorile pe care doriți să le criptați folosind un cheie secreta S care păstrează cheia noastră privată K, și putem crea și o cheie publică P care se bazează pe numere aleatorii și generează un set de numere N, precum și erori aleatorii E, cu funcția, de exemplu, $N_{i}=A_{i}S+E_{i} \text{ (mod q)}$. d Cu mulți biți, ne luăm valoarea și ne convertim în biți, iar după ce îi cifrăm pe fiecare.

Ca referință cu un cod, puteți citi https://medium.com/asecuritysite-when-bob-met-alice/multi-bit-public-key-encryption-with-learning-with-errors-lwe-e6c7cad02758

și o hârtie poate fi https://cims.nyu.edu/~regev/papers/lwesurvey.pdf

kelalaka avatar
drapel in
Cred că OP nu întreabă despre reprezentarea mesajului pe 4 biți și apoi criptare, mai degrabă consideră că spațiul de mesaj al LWE-Enc este mai mare decât $\mathbb F_2$. Articolul mediu eșuează la asta!.
Felipe Rampazzo avatar
drapel in
Salut baieti. Multumesc pentru raspunsurile tale. După cum a spus @kelalaka, prima mea idee a fost cifrarea mai mult de 1 bit de fiecare dată, dar nu știu dacă este posibil, având în vedere că am găsit doar referințe folosind mostre ale PK pentru a cifra 1 bit per probă. Nu am înțeles încă cum sunt definite mostrele și de ce nu este posibil să folosiți un bloc.

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.