有限域上的逆运算

来源:互联网 发布:大数据可视化工具 编辑:程序博客网 时间:2024/05/17 22:27

有限域上的逆运算

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

1、指数法

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

x=g
for i=r-1:0
x=x*x
if ei==1
x=x*g
end
end

输出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的过程。

原创粉丝点击