免费模逆计算器

输入 a 和 m 计算模逆

模逆计算器是一款免费在线工具,可同时处理乘法逆元和加法逆元。无论您是需要用于密码学作业的模乘法逆元,还是数论问题的加法逆元,该计算器都能通过扩展欧几里得算法快速得出结果。它完全免费,服务于所有从事模运算工作的学生、教育工作者和专业人士。

模同余——基础

在定义模逆之前,必须理解同余的概念。设 nn 为非零自然数。如果两个整数 aa 和 bb 除以 nn 后余数相同,则称它们模 nn 同余。等价地,差值 a−ba-b 是 nn 的倍数。该关系表示为:

a≡b(modn).a \equiv b \pmod{n}.

以下两个例子可以澄清这一概念:

  • 例 1: 1414 和 9999 模 55 同余,因为 99−14=8599-14 = 85(是 55 的倍数)。两数除以 55 的余数均为 44。 14≡99(mod5)14 \equiv 99 \pmod{5}。

  • 例 2: 1414 和 9999 模 77 不同余,因为 8585 不是 77 的倍数。它们的余数分别为 00 和 11。 14≢99(mod7)14 \not\equiv 99 \pmod{7}。

扎实掌握同余概念对于处理模逆至关重要。

加法逆元

对于加法,单位元是 00。如果整数 xx 满足 a+x≡0(modm)a + x \equiv 0 \pmod{m},则称 xx 为 aa 模 mm 的 加法逆元。

加法逆元始终存在。手动求法:从 −a-a 开始,反复加或减 mm,直到结果落在集合 {0,1,…,m−1}\{0,1,\dots,m-1\} 中。

例 1: 求 44 模 3030 的加法逆元。 形如 −4+30k-4 + 30k 的数为 …,−4,26,56,…\dots, -4, 26, 56, \dots。 介于 00 到 2929 之间的数值是 2626。 因此 −4≡26(mod30)-4 \equiv 26 \pmod{30}。

例 2: 求 4444 模 1313 的加法逆元。 序列 −44+13k-44 + 13k 给出 …,−44,−31,−18,−5,8,22,…\dots, -44, -31, -18, -5, 8, 22, \dots。 落在 {0,…,12}\{0,\dots,12\} 内的结果是 88。

乘法逆元

对于乘法,单位元是 11。当整数 xx 满足 a×x≡1(modm)a \times x \equiv 1 \pmod{m} 时,称 xx 为 aa 模 mm 的 乘法逆元(或模乘法逆元)。

不同于加法逆元,乘法逆元 不 总是存在。它存在的条件是 aa 和 mm 互质(最大公约数为 11)。例如,22 模 66 没有乘法逆元,因为对于每个 x∈{1,2,3,4,5}x \in \{1,2,3,4,5\},乘积 2x mod 62x \bmod 6 都不等于 11。

乘法逆元广泛应用于密码学,最著名的是 RSA 算法,用于保护敏感数据。

计算乘法逆元的三种方法

存在多种方法,选择取决于模数大小和可用工具。

暴力(朴素)方法

尝试 {1,…,m−1}\{1,\dots,m-1\} 中的每个 xx,直到 a×x mod m=1a \times x \bmod m = 1。该方法适用于小模数,但对于大数不实用。

扩展欧几里得算法

Bézout 恒等式指出,对于任意整数 aa 和 mm,存在整数 xx 和 yy,使得

ax+my=gcd⁡(a,m).a x + m y = \gcd(a,m).

如果 gcd⁡(a,m)=1\gcd(a,m)=1(这是乘法逆元存在的条件),则等式变为 ax+my=1a x + m y = 1。两边模 mm 化简得

ax≡1(modm),a x \equiv 1 \pmod{m},

因此从扩展欧几里得算法得到的系数 xx 即为所需的乘法逆元。该方法高效,适用于任意模数,也是模逆计算器所采用的算法。

费马小定理

当模数 mm 为质数且 aa 不是 mm 的倍数时,费马小定理表明

am−1≡1(modm).a^{m-1} \equiv 1 \pmod{m}.

两边同时除以 aa(因为 aa 在模质数下可逆)得到

am−2≡a−1(modm).a^{m-2} \equiv a^{-1} \pmod{m}.

因此 am−2 mod ma^{m-2} \bmod m 即为乘法逆元。该方法很快,但仅适用于质数模数。

如何使用免费模逆计算器

使用此在线模逆计算器很简单:

  1. 选择所需的逆元类型:乘法或加法。
  2. 输入整数 aa 和模数 mm。
  3. 点击计算按钮。

工具立即返回标准范围 {0,1,…,m−1}\{0,1,\dots,m-1\} 内的模逆(对于乘法逆元,排除了 00,因为 00 没有乘法逆元)。还显示计算过程的简要说明,帮助您理解结果如何得出。

无论您是学习同余关系、实现加密算法,还是只需快速计算,这款免费在线模逆计算器都能提供可靠高效的解决方案。

常见问题

1. 如何判断给定的 a 和 m 是否存在乘法模逆元?

a 模 m 的乘法逆元存在当且仅当 a 和 m 互质,即它们的最大公约数(GCD)为 1。如果 GCD 大于 1,则逆元不存在。

2. 模 m 下的加法逆元和乘法逆元有什么区别?

加法逆元始终存在,可以通过将 -a 加减 m 的倍数调整到 {0,...,m-1} 范围内找到。乘法逆元仅当 a 和 m 互质时才存在,需要借助扩展欧几里得算法或费马小定理等方法。

3. 为什么使用扩展欧几里得算法来计算模乘法逆元?

扩展欧几里得算法可以找到满足 a·x + m·y = gcd(a,m) 的整数 x 和 y。当 gcd(a,m)=1 时,等式模 m 化简为 a·x ≡ 1 (mod m);因此 x (mod m) 即为乘法逆元。该方法适用于任何模数,即使对大数也很高效。

4. 何时可以使用费马小定理求模逆元?

费马小定理仅适用于模数 m 为质数且 a 不能被 m 整除的情况。此时逆元为 a^{m-2} mod m,可通过模幂快速计算。

5. 这个计算器能处理大数吗?

可以,因为它使用扩展欧几里得算法,该算法对于大模数的性能扩展良好。此工具设计用于处理密码学和数论中常见的大整数。

使用方法

  1. 选择要计算的模逆类型:乘法逆元或加法逆元。
  2. 在输入框中输入数字 a。
  3. 输入模数 m(必须为正整数)。结果将自动更新。