模逆元计算器

输入一个数字和模,快速计算该数字在模下的逆元。

模逆元计算

结果

什么是模逆元

模逆元指的是在给定 \( m \) 下,一个数字 \( a \) 的乘法逆元,即找到一个数 \( b \),使得满足 \( a \cdot b \equiv 1 \pmod{m} \),模逆元在数论和密码学中有广泛应用。使用模逆元计算器,您可以轻松找到该数。

如何计算模逆元

假设给定数字 \( a \) 和模 \( m \),我们需要找到一个数字 \( b \),使得: \( a \cdot b \equiv 1 \pmod{m} \)

计算步骤

  1. 检查 \( a \) 和 \( m \) 是否互质最大公约数 gcd(a, m) 为 1)。如果互质,则 \( a \) 的模逆元存在;否则不存在。
  2. 使用扩展欧几里得算法来求解逆元。扩展欧几里得算法可以找到整数解 \( x \) 和 \( y \),满足贝祖等式: \( a \cdot x + m \cdot y = \text{gcd}(a, m) \) 当 gcd(a, m) = 1 时,解 \( x \) 就是 \( a \) 在模 \( m \) 下的逆元,即: \( b \equiv x \pmod{m} \)

示例

例子 1:已知数字为 7,模为 26,求它的模逆元。

解答:

1. 确认互质性:

gcd(7, 26) = 1,说明 7 和 26 是互质的,因此模逆元存在。

2. 欧几里得算法求 gcd:

用欧几里得算法计算 gcd(7, 26) 并记录每一步的系数:

  • \( 26 = 3 \times 7 + 5 \)
  • \( 7 = 1 \times 5 + 2 \)
  • \( 5 = 2 \times 2 + 1 \)
  • \( 2 = 2 \times 1 + 0 \)

最后一行得到的余数是 1,因此 gcd(7, 26) = 1。

3. 反向替换求系数:

从倒数第二行开始回代,逐步用前一步的结果替代,直到得到表示 gcd 的公式:

\( 1 = 5 - 2 \times 2 \)

将 \( 2 \) 替换为 \( 7 - 1 \times 5 \):

\( 1 = 5 - 2 \times (7 - 1 \times 5) = 3 \times 5 - 2 \times 7 \)

将 \( 5 \) 替换为 \( 26 - 3 \times 7 \):

\( 1 = 3 \times (26 - 3 \times 7) - 2 \times 7 = 3 \times 26 - 11 \times 7 \)

因此,得到 \( 1 = 3 \times 26 - 11 \times 7 \),即 \( -11 \) 是 7 的模 26 的逆元。

4. 结果归一化:

为了得到正整数,调整 \( -11 \) 在模 26 的等价类,得到 \( -11 \equiv 15 \pmod{26} \)。

最终结果:7 在模 26 下的逆元是 15。

例子 2:已知数字为 3,模为 11,求它的模逆元。

解答:

1. 确认互质性:

gcd(3, 11) = 1,说明 3 和 11 是互质的,因此模逆元存在。

2. 欧几里得算法求 gcd:

使用欧几里得算法计算 gcd(3, 11):

  • \( 11 = 3 \times 3 + 2 \)
  • \( 3 = 1 \times 2 + 1 \)
  • \( 2 = 2 \times 1 + 0 \)

最后一行得到的余数是 1,因此 gcd(3, 11) = 1。

3. 反向替换求系数:

从倒数第二行开始回代:

\( 1 = 3 - 1 \times 2 \)

将 \( 2 \) 替换为 \( 11 - 3 \times 3 \):

\( 1 = 3 - 1 \times (11 - 3 \times 3) = 4 \times 3 - 1 \times 11 \)

得到 \( 1 = 4 \times 3 - 1 \times 11 \),即 \( 4 \) 是 3 的模 11 下的逆元。

最终结果:3 在模 11 下的逆元是 4。