Você está na página 1de 3

Grobner Basis over Galois Field

Jinpeng Lv
Department of Electrical and Computer Engineering
University of Utah, Salt Lake City, UT
September 29, 2010

Our experiment is based on Mastrovito Multiplier over GF(2k ), here


which is GF(24 ). Primitive poynomial is X 4 + X 3 + 1;
Specification:
C(x) = A(x) B(x) %P (x)
(1)
where P (x) is given as an irreducible polynomial or primitive polynomial.
Implementation:
m0 + (1),
m1 + (0),
m2 + (0),
m3 + (1),
r0 + ((a0 b0 )),
r1 + ((a0 b1 ) + (a1 b0 )),
r2 + ((a0 b2 ) + (a1 b1 ) + (a2 b0 )),
r3 + ((a0 b3 ) + (a1 b2 ) + (a2 b1 ) + (a3 b0 )),
r4 + ((a1 b3 ) + (a2 b2 ) + (a3 b1 )),
r5 + ((a2 b3 ) + (a3 b2 )),
r6 + ((a3 b3 )), s40 + (m0 ),
t40 + ((r4 s40 ) + r0 ),
s41 + (m1 ),
t41 + ((r4 s41 ) + r1 ),
s42 + (m2 ),
t42 + ((r4 s42 ) + r2 ),
s43 + (m3 ),
t43 + ((r4 s43 ) + r3 ),
s50 + (s43 m0 ),
t50 + ((r5 s50 ) + t40 ),
1

s51 + ((s43 m1 ) + s40 ),


t51 + ((r5 s51 ) + t41 ),
s52 + ((s43 m2 ) + s41 ),
t52 + ((r5 s52 ) + t42 ),
s53 + ((s43 m3 ) + s42 ),
t53 + ((r5 s53 ) + t43 ),
s60 + (s53 m0 ),
t60 + ((r6 s60 ) + t50 ),
s61 + ((s53 m1 ) + s50 ),
t61 + ((r6 s61 ) + t51 ),
s62 + ((s53 m2 ) + s51 ),
t62 + ((r6 s62 ) + t52 ),
s63 + ((s53 m3 ) + s52 ),
t63 + ((r6 s63 ) + t53 ),
y0 + (t60 ),
y1 + (t61 ),
y2 + (t62 ),
y3 + (t63 ),
C + A B,
CC + y0 + y1 X + y2 X 2 + y3 X 3 ,
C + CC + 1;
Our singular file ready to compute GB of above expressions.
ringr = (2, X), (a0 , a1 , a2 , a3 , b0 , b1 , b2 , b3 ,
m0 , m1 , m2 , m3 ,
r0 , r1 , r2 , r3 , r4 , r5 , r6 ,
s40 , s41 , s42 , s43 , s50 , s51 , s52 , s53 , s60 , s61 , s62 , s63 ,
t40 , t41 , t42 , t43 , t50 , t51 , t52 , t53 , t60 , t61 , t62 , t63 ,
x0 , x1 , x2 , x3 , y0 , y1 , y2 , y3 , A, B, CC, C), dp;
minpoly = 1 + X 3 + X 4 ;
idealI = A + a0 X 0 + a1 X 1 + a2 X 2 + a3 X 3 ,
B + b0 X 0 + b1 X 1 + b2 X 2 + b3 X 3 ,
m0 + (1), m1 + (0), m2 + (0), m3 + (1),
r0 + ((a0 b0 )),
r1 + ((a0 b1 ) + (a1 b0 )),
r2 + ((a0 b2 ) + (a1 b1 ) + (a2 b0 )),
r3 + ((a0 b3 ) + (a1 b2 ) + (a2 b1 ) + (a3 b0 )),
r4 + ((a1 b3 ) + (a2 b2 ) + (a3 b1 )),
r5 + ((a2 b3 ) + (a3 b2 )),
r6 + ((a3 b3 )), s40 + (m0 ),
2

t40 + ((r4 s40 ) + r0 ),


s41 + (m1 ),
t41 + ((r4 s41 ) + r1 ),
s42 + (m2 ),
t42 + ((r4 s42 ) + r2 ),
s43 + (m3 ),
t43 + ((r4 s43 ) + r3 ),
s50 + (s43 m0 ),
t50 + ((r5 s50 ) + t40 ),
s51 + ((s43 m1 ) + s40 ),
t51 + ((r5 s51 ) + t41 ),
s52 + ((s43 m2 ) + s41 ),
t52 + ((r5 s52 ) + t42 ),
s53 + ((s43 m3 ) + s42 ),
t53 + ((r5 s53 ) + t43 ),
s60 + (s53 m0 ),
t60 + ((r6 s60 ) + t50 ),
s61 + ((s53 m1 ) + s50 ),
t61 + ((r6 s61 ) + t51 ),
s62 + ((s53 m2 ) + s51 ),
t62 + ((r6 s62 ) + t52 ),
s63 + ((s53 m3 ) + s52 ),
t63 + ((r6 s63 ) + t53 ),
y0 + (t60 ),
y1 + (t61 ),
y2 + (t62 ),
y3 + (t63 ),
C + A B,
CC + y0 + y1 X + y2 X 2 + y3 X 3 ,
C + CC + 1;
slimgb(I)
GB computation result:
Please run gbovergf4.sing.
Please notice that when the reduction result is X+1 which means a
constant number, then all the other polynomials in G are removed because
they are relatively prime with X+1. So right now the only element in G
becomes 1 and all computation is done.
Another interesting point is no variabless degree is greater than k, here
which is 4.

Você também pode gostar