什麼是模反元素?
整數 a 對模數 m 的模乘法反元素,是指一個整數 x,使得 \((a \cdot x) \bmod m = 1\) 成立。它相當於模運算中的「除法」,在數論、RSA 加密系統以及許多編碼理論演算法中都扮演關鍵角色。本計算機透過擴展歐幾里得演算法(extended Euclidean algorithm)求出 x。
如何使用本計算機
輸入數字 a 與模數 m(m ≥ 2)。工具會回傳落在 0 ≤ x < m 範圍內、最小的非負反元素 x,並確認反元素是否存在,同時顯示 gcd(a, m)。若 gcd(a, m) ≠ 1,代表反元素不存在,結果會顯示為「無」。
公式說明
反元素只有在 \(\gcd(a, m) = 1\) 時才存在,也就是 a 與 m 互質。擴展歐幾里得演算法會找出滿足 \(a \cdot x + m \cdot y = \gcd(a, m)\) 的整數 x 與 y。當最大公因數為 1 時,把 x 對 m 取模即可得到反元素。若結果為負,再加上 m 即可正規化為正值。
$$\text{a} \cdot x \equiv 1 \pmod{\text{m}} \quad\Longrightarrow\quad x = \text{a}^{-1} \bmod \text{m}$$
實際範例
求 3 對模數 11 的反元素。我們要找出滿足 \(3x \equiv 1 \pmod{11}\) 的 x。試算一下,
$$3 \times 4 = 12 = 11 + 1 \quad\Longrightarrow\quad 12 \bmod 11 = 1$$因此 x = 4。擴展歐幾里得演算法也會得到相同結果,而 \(\gcd(3, 11) = 1\),證明反元素確實存在。
常見問題
什麼情況下反元素不存在?當 a 與 m 有大於 1 的公因數時——例如 4 對模數 6(gcd = 2)就沒有反元素。
m 一定要是質數嗎?不必。m 可以是任何 ≥ 2 的整數;重點只在於 a 與 m 是否互質。
答案會落在什麼範圍?反元素以最小的非負剩餘形式給出,介於 0 與 m − 1 之間。