polynomial chains in gentry szydlo algorithm se7ng
play

Polynomial Chains in Gentry- Szydlo Algorithm Se7ng R - PowerPoint PPT Presentation

Polynomial Chains in Gentry- Szydlo Algorithm Se7ng R ring of integers in m-th cyclotomic field K n degree of K v element of R


  1. Polynomial ¡Chains ¡in ¡Gentry-­‑ Szydlo ¡Algorithm ¡

  2. Se7ng ¡ • R ¡ring ¡of ¡integers ¡in ¡m-­‑th ¡cyclotomic ¡field ¡K ¡ • n ¡degree ¡of ¡K ¡ • v ¡element ¡of ¡R ¡ • <v> ¡ideal ¡generated ¡by ¡v ¡as ¡la7ce ¡in ¡HNF ¡ • ṽ ¡complex ¡conjugate ¡ • vṽ ¡-­‑ ¡norm ¡of ¡v ¡in ¡real ¡subfield ¡

  3. Short ¡MulJple ¡Lemma ¡ • “Implicit ¡La7ce ¡ReducJon” ¡ • For ¡vectors ¡v ¡in ¡R ¡ • Given ¡v ¡ṽ ¡ ¡and ¡HNF ¡of ¡v, ¡<v> ¡ • We ¡can ¡produce ¡a ¡mulJple ¡of ¡v ¡ – w= ¡v ¡a ¡ – a ¡is ¡‘LLL ¡short’ ¡= ¡norm ¡<= ¡2 (n-­‑1)/2 ¡sqrt(n) ¡ – Poly ¡Jme ¡in ¡bit ¡length ¡of ¡v ¡and ¡dim(R) ¡

  4. Congruence ¡Lemma ¡ • P ¡prime ¡=1 ¡mod ¡m ¡ • v ¡not ¡zero ¡divisor ¡of ¡R p ¡ • v P-­‑1 =1 ¡mod ¡P ¡in ¡R ¡ • For ¡elements ¡a ¡with ¡small ¡coefs,|a| ¡<P/2 ¡ ¡ • Knowledge ¡of: ¡a ¡v P-­‑1 ¡ mod ¡P ¡reveals ¡a ¡

  5. Small ¡Primes ¡Euclidean ¡Lemma ¡ ¡ • {p i } ¡bunch ¡of ¡small ¡primes ¡ • P ¡and ¡P’ ¡both ¡=1 ¡mod ¡2m ¡ ¡ • GCD ¡(P-­‑1, ¡P’-­‑1)=2m ¡ • Knowledge ¡of ¡v P-­‑1 ¡and ¡v P’-­‑1 ¡gives ¡v 2m ¡mod ¡{p i } ¡ • Suppose ¡product ¡of ¡primes ¡> ¡2 ¡|v 2m | ¡ ¡ • v 2m ¡ computable ¡exactly ¡in ¡R ¡

  6. 2m-­‑th ¡root ¡Lemma ¡ • Knowledge ¡of ¡v 2m ¡ gives ¡v ¡ • v ¡defined ¡up ¡to ¡2m-­‑th ¡root ¡of ¡1 ¡ ¡ • Describe ¡proof ¡later ¡ ¡ ¡

  7. Strategy ¡for ¡extracJng ¡v ¡ • Choose ¡big ¡primes ¡P ¡P’ ¡bigger ¡than ¡LLL ¡bound ¡ – =1 ¡mod ¡2m ¡and ¡GCD ¡(P-­‑1, ¡P’-­‑1)=2m ¡ – Avoid ¡P’s ¡where ¡v ¡zero ¡divisor ¡in ¡R p ¡ – CompuJng ¡v P-­‑1 ¡ is ¡fuJle ¡as ¡P ¡> ¡2 n ¡ ¡ • For ¡P, ¡P’ ¡create ¡special ¡chains ¡of ¡polynomials ¡ using ¡Short ¡MulJple ¡Lemma ¡ – Reasonable ¡sized ¡coefs ¡ • Calculate ¡v P-­‑1 ¡and ¡v P’-­‑1 ¡mod ¡{p i } ¡for ¡small ¡primes ¡ using ¡Congruence ¡Lemma ¡ • Calculate ¡v 2m ¡then ¡v ¡up ¡to ¡root ¡of ¡1 ¡

  8. Defining ¡Chains ¡for ¡P ¡ • Goal ¡allow ¡expressions ¡with ¡v P-­‑1 ¡ mod ¡small ¡primes ¡ – MoJvated ¡by ¡square ¡and ¡mulJply ¡ • Write ¡P-­‑1 ¡in ¡binary ¡as ¡k 0 ¡+ ¡2k 1 + ¡4k 2 …. ¡2 r k r ¡ • Each ¡term ¡will ¡encode ¡a ¡bit ¡k r-­‑i ¡ and ¡an ¡unknown ¡v i ¡ with ¡known ¡norm ¡v i ṽ i and ¡ideal ¡<v i > ¡ • These ¡v i ¡ build ¡up ¡informaJon ¡about ¡v P-­‑1 ¡ ¡ ¡ • ¡w 1 =v^(k r-­‑1 ) ¡v 2 ¡ ṽ 1 ¡ ¡comes ¡with ¡v 1 ṽ 1 and ¡<v 1 > ¡ • ¡w 2 =v^(k r-­‑2 ) ¡v 1 2 ¡ ṽ 2 ¡ ¡comes ¡with ¡v 2 ṽ 2 and ¡<v 2 > ¡ • ….. ¡ • ¡w r =v^(k 0 ) ¡v r-­‑1 2 ¡ ṽ r ¡ ¡comes ¡with ¡v r ṽ r and ¡<v r > ¡ ¡

  9. CompuJng ¡terms ¡ • First ¡term ¡needs ¡w 1 and ¡v 1 ṽ 1 and ¡<v 1 > ¡ • Use ¡known ¡ideal ¡<v> ¡and ¡vṽ ¡ • Create ¡<v^(k r-­‑1 +2) ¡> ¡and ¡v^(k r-­‑1 +2) ¡ṽ^(k r-­‑1 +2) ¡ • Short ¡MulJple ¡Lemma ¡gives ¡w 1 ¡in ¡R ¡ • w 1 =v^(k r-­‑1 ) ¡v 2 ¡ ṽ 1 ¡ where ¡ṽ 1 ¡ is ¡short-­‑ish ¡ – Try ¡again ¡if ¡ṽ 1 ¡ is ¡a ¡zero ¡divisor ¡in ¡R p ¡ • Divide ¡out ¡terms ¡of ¡w 1 w 1 ~ ¡to ¡get ¡v 1 ṽ 1 ¡ • Divide ¡out ¡ideal ¡terms ¡<w 1 > ¡to ¡get ¡<v 1 > ¡

  10. General ¡terms ¡ • i-­‑th ¡term ¡for ¡i>1 ¡needs ¡w i ¡ and ¡v i ṽ i and ¡<v i > ¡ • Use ¡known ¡ideal ¡<v i-­‑1 > ¡and ¡v i-­‑1 ṽ i-­‑1 ¡ • Create ¡<v i-­‑1 ^(k r-­‑i +2) ¡> ¡ ¡& ¡v i-­‑1 ^(k r-­‑i +2) ¡ṽ i-­‑1 ^(k r-­‑i +2) ¡ • Short ¡MulJple ¡Lemma ¡gives ¡w i ¡in ¡R ¡ • w i =v^(k r-­‑i ) ¡v 2 ¡ ṽ i ¡ where ¡ṽ i ¡ is ¡short ¡ • Divide ¡out ¡terms ¡of ¡w i w i ~ ¡to ¡get ¡v i ṽ i ¡ • Divide ¡out ¡ideal ¡terms ¡<w i > ¡to ¡get ¡<v i > ¡

  11. Using ¡Chain ¡ • Want ¡v P-­‑1 ¡ ¡ ṽ r ¡ ¡mod ¡P ¡( or ¡another ¡prime) ¡ • Set ¡x 1 =w 1 =v^(2+k r-­‑1 ) ¡ ¡ ṽ 1 ¡ ¡ (v ¡some ¡bits ¡Jmes ¡fudge) ¡ – Exponent ¡of ¡v ¡has ¡2 ¡most ¡significant ¡bits ¡of ¡P-­‑1 ¡ • Set ¡x 2 =x 1 2 w 2 ¡ /(v 1 ṽ 1 ) 2 ¡ ¡ ¡ ¡ mod ¡P ¡ • =(v^(2+k r-­‑1 ) ¡ ¡ ṽ 1 ) 2 ¡ ¡v^(k r-­‑2 ) ¡v 1 2 ¡ ṽ 2 ¡ ¡ / ¡(v 1 ṽ 1 ) 2 ¡ • = ¡v^(4+2k r-­‑1 +k r-­‑2 ) ¡ṽ 2 ¡ – Exponent ¡of ¡v ¡has ¡3 ¡most ¡significant ¡bits ¡of ¡P-­‑1 ¡ • ConJnue ¡so ¡x r =v P-­‑1 ¡ ¡ ṽ r ¡ ¡ mod ¡P ¡ • This ¡= ¡ṽ r ¡ ¡ mod ¡P. ¡ ¡ • Since ¡ṽ r ¡ ¡ is ¡snall ¡get ¡ ¡ ṽ r ¡ ¡exactly ¡in ¡R ¡ • Details ¡– ¡Make ¡sure ¡didn’t ¡divide ¡by ¡0 ¡

  12. Reuse ¡for ¡small ¡primes ¡ • Let ¡q ¡be ¡a ¡prime ¡where ¡no ¡v i ṽ i ¡ ¡are ¡zero ¡ divisors ¡in ¡R q ¡ • Same ¡chain ¡gives ¡v P-­‑1 ¡ ¡ ṽ r ¡ ¡ mod ¡q ¡ • Divide ¡by ¡known ¡ṽ r ¡ ¡ to ¡get ¡v P-­‑1 ¡ mod ¡q ¡ • Choose ¡many ¡primes ¡{p i } ¡with ¡product> ¡|v 2m | ¡ ¡ • Small ¡Primes ¡Euclidean ¡Lemma ¡gives ¡v 2m ¡ • 2m-­‑th ¡root ¡Lemma ¡gives ¡v ¡ • Done! ¡

  13. 2m-­‑th ¡root ¡Lemma ¡Details ¡ • v 2m ¡ ¡ defines ¡v ¡up ¡to ¡a ¡2m-­‑th ¡root ¡of ¡1 ¡ • Embedding ¡into ¡ C ¡at ¡a ¡root ¡defines ¡v ¡uniquely ¡ • Compute ¡raJos ¡v(s)/v(s b ) ¡efficiently. ¡ – Take ¡large ¡Q= ¡2mc-­‑b. ¡v(x) Q =v(x Q ) ¡in ¡R q ¡ – Compute ¡(v 2m ) c ¡ = ¡v Q v b ¡ =v(x -­‑b ) ¡v b ¡ ¡mod ¡Q ¡ – Since ¡Q ¡large ¡get ¡z -­‑b ¡=v(x -­‑b ) ¡v b ¡ in ¡R ¡ • Let ¡s ¡be ¡m-­‑th ¡root ¡of ¡1. ¡ ¡ • Take ¡v 2m (s) ¡and ¡take ¡an ¡m-­‑th ¡root ¡v(s) ¡in ¡Complex ¡ – v(s -­‑b )=z -­‑b (s)/v(s) b ¡ • Use ¡all ¡n ¡ ¡values ¡v(s b ) ¡to ¡find ¡coefs ¡of ¡v ¡using ¡ ¡ – Using ¡linear ¡algebra ¡

  14. Another ¡Look ¡at ¡GS ¡result ¡ • Oren ¡work ¡in ¡Z[X]/ ¡(X N -­‑1) ¡Ring ¡instead ¡of ¡R ¡ – N ¡prime ¡ ¡ – Decompose ¡as ¡R ¡ ¡+ ¡Z ¡ – Finding ¡f ¡from ¡ff~ ¡in ¡Z ¡is ¡easy! ¡ • Neglected ¡{a i } ¡(coordinate ¡embedding) ¡ – Unitary ¡Matrix ¡

  15. GS ¡focus ¡on ¡La7ce ¡ • GS ¡says ¡given ¡{a i ¡f} ¡and ¡ ¡f*f~ ¡you ¡can ¡recover ¡f ¡and ¡all ¡ the ¡a i 's ¡up ¡to ¡a ¡unit ¡u ¡|uu~ ¡=1 ¡ • Two ¡easily ¡derivable ¡quanJtes ¡ • 1. ¡Note ¡from ¡{a i ¡f} ¡and ¡ ¡f*f~ ¡we ¡easily ¡obtain ¡{a i ¡a j ~} ¡in ¡R ¡ • Const ¡term ¡ ¡-­‑ ¡CT(a i ¡a j ~)= ¡dot ¡product ¡<a i ¡, ¡a j > ¡ – That ¡is ¡Gram ¡Matrix ¡A ij ¡= ¡CT(a i ¡a j ~) ¡ – Threw ¡away ¡other ¡terms ¡of ¡a i ¡a j ~ ¡ • 2. ¡Since ¡we ¡have ¡polys ¡{a i ¡f}, ¡we ¡can ¡define ¡x ¡a i ¡ ¡ – Map ¡x: ¡a i ¡-­‑> ¡ ¡ ¡Sum ¡(g i,j ¡a i ), ¡define ¡g i,j ¡ ¡ – Take ¡x ¡a i ¡f ¡in ¡Ideal, ¡find ¡g i,j ¡ ¡so ¡it ¡equals ¡Sum ¡(g i ,j ¡a i ) ¡f ¡ • This ¡is ¡rest ¡of ¡informaJon ¡thrown ¡out ¡in ¡Gram ¡

Recommend


More recommend