求模逆的方法有好幾種,這里介紹一個擴展歐幾里德算法:
求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