求模逆的方法有好几种,这里介绍一个扩展欧几里德算法:
求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