有限域上的逆运算

来源:互联网 发布:狸窝ppt转换器mac 编辑:程序博客网 时间:2024/06/01 08:51

有限域上的的逆运算有两种求取算法,一种是指数法,一种是扩展的欧几里德算法。

1、指数法

对于有限域GF(p)p为素数,对于该域上的非零元素g,则{g}的逆元为c=g1=gp2
而整数p1可以化为二进制表示e=p2=erer1...e1e0其中最高位er=1
那么求逆过程就转换成了有限域上的求指数的过程,而有限域上求指数的算法过程是:

x=gfor i=r-1:0    x=x*x    if ei==1    x=x*g    endend

输出x就是要求取的逆。

2、扩展的欧几里德算法

欧几里德算法又称之为辗转相除法,对于两个整数a,b,若a>b,求取其最大公约数gcd(a,b),有gcd(a,b)=gcd(b,amodb),如此辗转除下去就可以得到最大公约数。
扩展欧几里德算法指的是:对于不全为0的整数a,b,存在整数x,y,使得ax+by=gcd(a,b)
求取x,y的过程是:
根据欧几里德算法,ax+by=gcd(a,b)=gcd(b,amodb)=bx2+(amodb)y2
利用恒等定理则有:
x1=y2;y1=x2[a/b]y2
可以看出,当辗转相除停止时,可以递归求取x,y
利用此定理,在有限域GF(p)上,对于任意一个非零元g,则有
gx+py=gcd(g,p)=1,那么使得等式成立的x就是g的逆元,那么求解逆元的过程就转换成了求解x的过程。

0 0