Cryptography Reference
In-Depth Information
Step 1: initial interpolation. Compute the polynomial A = (x 1 )(x
2 )(x n ) 2 F q m [x]; the unique polynomial V 2 F q m [x] with deg V < n
satisfying V ( 1 ) = v 1 = 1 , V ( 2 ) = v 2 = 2 , and so on through V ( n ) = v n = n ;
and the unique polynomial B 2 F q m [x] with deg B < n satisfying B( 1 ) =
1= q 1 , B( 2 ) = 1= q 2 , and so on through B( n ) = 1= q n .
Step 2: lattice-basis construction. Define X = x nt1 ; F = Xy V 2
F q m [x;y]; and E = F q FB. Compute the ` polynomials M 0 ;M 1 ;:::;M `1 2
F q m [x;y] shown in Figure 4.1. Observe that each of M 0 ;M 1 ;:::;M `1 includes
A, E, and F to a total power of at least k; that each of M 0 ;M 1 ;:::;M `1
includes A and E to a total power of at least j; and that Mi i has y-degree i.
The simplest strategy is to begin by computing E;E 2 ;:::;E j ; A;A 2 ;:::;A k ;
and F;F 2 ;:::;F maxfkj+q1;`qj1g . Each M i is then a product of three known
polynomials. Overall this procedure uses O(`) polynomial products in F q m [x;y],
each of product degree ` 1 in y and O(`n) in x. Kronecker substitution
x 7!y ` reduces these products to O(` 2 n)-coecient products in F q m [y], each of
which costs ` 2 n(lg ` 2 n) 1+o(1) , for a total cost of ` 3 n(lg `n) 1+o(1) .
Step 3: lattice-basis reduction. The matrix of coecients of M 0 ;:::;M `1
has determinant
A (kj)(k+j+1)=2+qj(j+1)=2 X `(`1)=2 = A k(k+1)=2+(q1)j(j+1)=2 X `(`1)=2
of degree nk(k+ 1)=2 +n(q1)j(j + 1)=2 + (nt1)`(`1)=2. Inside the lattice
F q m [x]M 0 + + F q m [x]M `1 F q m [x;y] nd a nonzero polynomial Q having
x-degree at most (nk(k + 1)=2 + n(q 1)j(j + 1)=2 + (nt 1)`(` 1)=2)=`,
and therefore x-degree below k(nw) + jw.
Step 4: factorization. Compute all f 2 F q m [x] such that Q(x;f=X) = 0; i.e.,
compute all factors of Q having the form y f=X with f 2 F q m [x]. For each
polynomial f 2 F q m [x] such that Q(x;f=X) = 0 and deg f < nt: Compute
c = ( 1 f( 1 );:::; n f( n )) 2 F q m . Output c if c2 F q and jcvj w.
Why the algorithm works. Consider any c 2 C with jcvj w. There is a
polynomial f 2 F q m [x] with deg f < nt such that c = ( 1 f( 1 );:::; n f( n )).
The goal, as in the previous section, is to show that the algorithm finds f in
Step 4.
As before consider the map y 7! f=X from F q m [x;Xy] to F q m [x]. This map
takes A;F;E to A;f V; (f V ) q (f V )B respectively.
There are exactly njcvj indices i for which c i = v i , i.e., for which f(αi) i ) =
V ( i ). Each of these indices has x−αi i dividing fV , A, and (fV ) q (fV )B,
so (x i ) k divides the images of M 0 ;M 1 ;:::;M `1 .
There are also exactly jc vj indices i for which c i 6= v i , i.e., for which
i f( i ) 6= i V ( i ). Both i f( i ) and i V ( i ) are in F q , so the difference
i f( i ) i V ( i ) is a nonzero element of F q ; i.e., q i (f(αi)− i )V ( i )) q1 = 1;
i.e., (f(αi)− i )V ( i )) q1 = B( i ). Each of these indices has x−αi i dividing both
(fV ) q (fV )B and A, so (x i ) j divides the images of M 0 ;M 1 ;:::;M `1 .
The image of Q is thus divisible by Q i:ci i =v i (x i ) k Q i:ci i 6=v i (x i ) j , which
has degree k(njcvj) + jjcvj = kn (k j)jcvj kn (k j)w =
 
Search WWH ::




Custom Search