- 198
- 0
- 约 8页
- 2017-02-08 发布于河南
- 举报
辗转相除法求模的逆元
辗转相除法求模的逆元 问题:求A关于模N的逆元B,即要找出整数B,使A×B mod N=1(或A×B=x×N+1),这里要求A和N互素。 方法:辗转相除法(即欧几里德算法) 该算法原用于求两个数的最大公约数,经过变形可用于求模逆元 辗转相除法求模的逆元 首先对余数进行辗转相除: N = A × a0 + r0 A = r0 × a1 + r1 r0= r1 × a2 + r2 r1= r2 × a3 + r3 …… rn-2= rn-1 × an + rn rn-1= rn-2× an+1+ 0 辗转相除法求模的逆元 对上面的商数逆向排列(不含余数为0的商数): 其中: b-1=1 b0=an bi=an-i×bi-1+bi-2 如果n为奇数(即商数个数为偶数),则bn即为所求的逆元B; 如果n为偶数(即商数个数为奇数),则N-bn即为所求的逆元B。 辗转相除法求模的逆元 例1:求61关于模105的逆,先对余数辗转相除: 105=61×1+44 61 =44×1+17 44 =17×2+10 17 =10×1+7 10 =7 ×1+3 7 =3 ×2+1 3 =3 ×1+0 辗转相除法求模的逆元 将商数逆序排列: 由于商数个数为偶数,因此31即为61关于模1
原创力文档

文档评论(0)