跳到主要内容
uencoder

Modular Arithmetic

模运算是整数运算后取模的算术,结果在 [0, n) 范围内,是数论与密码学的基础。

用途

使运算在有限范围内闭合,是 RSA、Diffie-Hellman 等密码学的基础。

机制

(a + b) mod n、(a × b) mod n 在模 n 下定义。模逆元 a^(-1) 使 a) mod n = 1,当 gcd(a,n)=1 时存在,用扩展欧几里得算法求。费马小定理:a^(p-1) ≡ 1 mod p(p 素数)。

用例

  • RSA 加密解密
  • Diffie-Hellman 密钥交换
  • 哈希取模分片
  • 校验和计算

示例

  • 输入
    (7 + 8) mod 5
    输出
    0

    15 mod 5 = 0

常见错误

Negative modulo behaves differently across languages
Know your language's behavior or normalize with ((a%n)+n)%n

相关词条

相关工具

参考链接