Puncte:2

De ce poarta AND este * pe Fully Homomorphic Encryption, schema BFV?

drapel ru

Conform Reprezentând o funcție ca circuit FHE, poarta AND pentru datele criptate FHE este doar A*B, în cazul în care textul simplu are doar 0 sau 1 coeficienți.

Amintiți-vă că pe schema BFV FHE, acesta criptează polinoamele și putem seta valoarea maximă a coeficienților polinomului. Deci, dacă setăm valoarea maximă la 1, atunci putem face porți binare cu ușurință.De exemplu:

  1 + 0x^1 + 1x^2 + 0x^3
+ 0 + 1x^1 + 1x^2 + 0x^3
  ______________________
  1 + 1x^1 + 0x^2 + 0x^3

Asa de + este în esență poarta SAU pentru polinoame. Dar mă chinui să înțeleg * ca fiind AND, mai ales pentru că înmulțirea acestor polinoame sunt mod x^n +1, Unde n este gradul polinoamelor. Deci nu este o simplă înmulțire.

De ce SI = *?

kelalaka avatar
drapel in
Depinde foarte mult de schema FHE. Dacă folosiți polinoame constante, atunci va fi egal. Cine a susținut că este o înmulțire? Răspunsul pe care l-ați legat vorbește despre unele specifice care sunt criptate pe un singur bit.
drapel ru
@kelalaka care ar fi un polinom constant? Și schema ar trebui să fie BFV. Dacă nu o înmulțire, ce este?
drapel cn
Înmulțirea numerelor care pot fi doar 0 și 1 are ca rezultat 1, dacă toate sunt 1. Ceea ce sună îngrozitor ca „și”.
drapel ru
@CodesInChaos, dar trebuie să fie în funcție de coeficienți și pe polinom, nu și pentru polinoamele în sine
Puncte:0
drapel ng

În primul rând, rețineți că BFV este exprimat în mod tradițional în termeni de aritmetic circuite, nu cele booleene. De exemplu, lucrarea inițială are un spațiu pentru mesaje din formular $R_t := \mathbb{Z}_t[x] / (\Phi_n(x))$, Unde $\Phi_n$ este $n$al-lea polinom ciclotomic (când $n$ este o putere a doi, aceasta este pur și simplu $x^n+1$). Acest lucru este relativ important, deoarece blocurile fundamentale ale circuitelor aritmetice sunt nu SAU și ȘI, dar (modul $p$ versiunea) XOR și AND, care este ușor diferită.

În ceea ce privește problemele dvs. cu înmulțirea BFV, cred că citiți ușor specificațiile BFV. De obicei (să spunem în hârtie inițială) spațiul mesajului este specificat ca fiind $R_t$, care, după cum am menționat anterior, este un inel polinomial (când $n$ este o putere de 2) $\bmod x^n+1$. Deci, pentru ca schema noastră de criptare să fie complet homomorfă, avem nevoie să putem efectua adunarea și înmulțirea a spațiului de mesaje pe texte cifrate. Această multiplicare a spațiului mesajului este $\bmod x^n+1$ (și $\bmod t$, dar orice), după cum ați subliniat. Aceasta înseamnă că ființa aritmetică $\bmod x^n+1$ este ceea ce este necesar din punct de vedere matematic pentru ca schema să fie complet homomorfă, deci produsul fiind de acea formă este de așteptat, și nu o preocupare.

Desigur, designerii de aplicații ar putea să nu dorească să folosească această „aritmetică amuzantă”. Acesta este un lucru pe care designerii de biblioteci trebuie să îl rezolve mai târziu. De exemplu, o modalitate de a „remedia” acest lucru (ceea ce este destul de naiv --- bănuiesc că există soluții mai bune) este să codificați mesajele numai în termeni constanti ai polinoamelor. Ar trebui să fie relativ simplu să vedem că această „înmulțire amuzantă” devine o înmulțire standard atunci când este limitată la polinoame constante.

Există și alte lucruri pe care le-ar putea face, de exemplu, s-ar putea permite polinoame de formă $m(x) = m_0+m_1x$ dacă știți că adâncimea multiplicativă a circuitului pe care îl evaluați este de cel mult $\log_2 n$, sau mai general $m(x) = \sum_{i =0}^p m_i x^i$ dacă adâncimea multiplicativă este de cel mult $\log_{1+p} n$. Acest lucru se datorează faptului că, cu această limită de adâncime, nu se poate produce un polinom de grad $\geq n$, deci faptul că înmulțirea s-ar putea „încheia” nu contează. Desigur, sunt sigur că există idei mai inteligente despre ce se poate face pentru a emula aritmetica „standard” cu aritmetica „amuzant” pe care o obține, dar asta este într-adevăr ortogonal la înțelegerea BFV.


este de asemenea merită menționat că comentariul tău

dar trebuie să fie în funcție de coeficienți și pe polinom, nu și pentru polinoamele în sine

se pare că s-ar putea să cauți ideea încorporare canonică. Mai exact, s-a observat în urmă cu aproximativ un deceniu că dacă vrem un tip de date asemănător matricei $[a_0,\dots,a_n]$ pe care se poate efectua aritmetică (în funcție de slot), atunci coeficienții polinoamelor sunt într-adevăr o alegere destul de proastă. Aceasta deoarece (printre altele) operația naturală de înmulțire pe polinoame nu duce la înmulțirea coeficienților de bază, ci convoluţie dintre ei. În special, unul are asta

$$(a_0+a_1x+a_2x^2)(b_0+b_1x+b_2x^2) = a_0b_0+(a_0b_1+b_0a_1)x + (a_0b_2+a_1b_1+a_2b_0)x^2+(a_1b_2+a_2+a_1b_2+a_2_2_2) ^4$$

În special, nu se recuperează produsul $a_1b_1$. Se poate rezolva acest lucru făcând (în esență) apel la o versiune a transformării Fourier, deoarece o transformată Fourier poate fi scrisă de obicei ca un izomorfism.

$$\mathcal{F} : (R, +,\times)\la (R, +,\ast)$$

de exemplu. se „schimbă” convoluția cu înmulțirea (în funcție de coeficienți). Aceasta înseamnă că, dacă în schimb codificăm un mesaj în „încorporarea canonică” (sau echivalent, codificăm „transformarea Fourier” a mesajului), atunci convoluțiile vor deveni o multiplicare în funcție de elemente (în spațiul nostru de mesaje).

Nu cred că lucrarea inițială BFV face acest lucru, ceea ce, în funcție de ceea ce citiți pentru o specificație a BFV, poate duce la confuzie. Dar cred că este o optimizare relativ comună și ar trebui să poată fi văzută ca „doar” o codificare diferită a mesajelor (există și alte beneficii în utilizarea încorporarii canonice, astfel încât să doriți să reanalizați protocolul în termeni).

drapel ru
îmi poți indica o lucrare cu informații despre această încorporare canonică pe BFV?
Mark avatar
drapel ng
@GuerlandoOCs Se pare că [acest lucrare](https://eprint.iacr.org/2015/889.pdf) include analiza BFV (pe care ei o numesc pur și simplu FV) în ceea ce privește încorporarea canonică, dar poate că nu este la fel de cuprinzător, pe cât s-ar putea spera.BFV este destul de similar cu BGV, care are o expunere mult mai clară disponibilă prin Halevi și Shoup [The Design and Implementation of Helib] (https://eprint.iacr.org/2020/1481.pdf), ceea ce face ca „SIMD-like” „structură destul de evidentă (inclusiv informații despre mai mult decât despre modul în care se obține operațiuni la nivel de componente, ci despre cum să „schimbăm” datele între diferite „sloturi”)
Puncte:0
drapel ru

Poarta AND reprezintă înmulțirea în câmpul coeficienților, care în acest caz este câmpul binar a două elemente 0 și 1. În mod similar pentru acest câmp, adăugarea acționează la fel ca și poarta XOR.

Dacă știm să facem adunarea și înmulțirea cu coeficienți, putem extinde acest lucru la adunarea și înmulțirea polinoamelor folosind proprietățile aritmeticii. În cazul adunării, aceasta implică doar potrivirea coeficienților și adăugarea. În cazul înmulțirii, trebuie să folosim legea distributivă. În exemplul dvs., scriind # pentru XOR și & pentru AND, trebuie să împerechem coeficienți ale căror monomii ale căror puteri se adună la aceeași valoare

(1 + 0x^1 + 1x^2 + 0x^3)*(0 + 1x^1 + 1x^2 +0 x^3)

= (1&0) + (1&1 # 0&0)x^1 + (1&1 # 0&1 # 1&0)x^2 + (1&0 # 0&1 # 1&1 # 0&0)x^3 +

+ (0&0 # 1&1 # 0&1)x^4 + (1&0 # 0&1)x^5 + (0&0)x^6

= 0 + 1x^1 + 1x^2 + 1x^3 + 1x^4 + 0x^5 + 0x^6

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.