求模逆运算

求模逆的方法有好几种,这里介绍一个扩展欧几里德算法:

求A关于N的逆元B,即要找出整数B,使A * B mod N = 1 。如:17关于3120的模逆元素求解。

  • 首先对余数进行辗转相除。

3120 = 17 × 183 + 9

17 = 9 × 1 + 8

9 = 8 * 1 + 1

8 = 1 * 8 + 0

  • 对辗转相除的商数进行逆向排序,记作行I。(余数为0的行除外)

  • 对于行II,第一个数为1,第二个数为上一行第一个数, 从第三个数开始,第n个数x = a(左)*b(上)+c(左左)

若行I的个数为 奇数个,则结果为 n -final,偶数则为final

 

posted @ 2019-12-31 11:10  hunterDing  阅读(565)  评论(1编辑  收藏