有限域上的逆运算

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

1、指数法

对于有限域 GF(p) p 为素数,对于该域上的非零元素g,则{g}的逆元为 c=g1=gp2
而整数 p1 可以化为二进制表示 e=p2=erer1...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 <script type="math/tex" id="MathJax-Element-3446">x</script>的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值