仿射密码

🕵️ Affine Cipher

📐 工作原理与说明
单表替换密码,用线性变换对每个字母做映射:加密 y = (a·x + b) mod 26。
  • 加密:y = (a·x + b) mod 26,x 为字母序号(A=0 … Z=25)。
  • 解密:x = a⁻¹·(y − b) mod 26,其中 a⁻¹ 是 a 模 26 的乘法逆元。
  • 可逆条件:a 必须与 26 互质(gcd(a,26)=1),合法 a 为 1,3,5,7,9,11,15,17,19,21,23,25。
  • 强度:密钥空间仅 12×26=312 种,可瞬间暴力枚举,仅用于教学。

Apply the Affine cipher (ax+b mod 26) in your browser — a simple monoalphabetic substitution for learning cryptography.

📖 映射表

📚 深度解析:仿射密码 (Affine Cipher)

💡 常见使用场景

  • 用 a·x+b (mod 26) 做单表替换,教学模运算与可逆条件。
  • 枚举破解演示:a 只有 12 个合法取值、b 有 26 个,共 312 种密钥,写个循环穷举即可在毫秒级还原明文,讲清「密钥空间太小等于没有密钥」。
加密 "A" (a=5,b=8)
E(x)=5·0+8=8 → `I`;要求 gcd(a,26)=1,a=5 合法(与 26 互质)。

❓ 常见问题(FAQ)

为什么 a 必须与 26 互质?
否则乘法逆元不存在,无法解密。
a=1 或 b=0 会怎样?
a=1、b=0 时退化为恒等变换(明文 = 密文);a=1、b≠0 时退化为凯撒密码。真正起作用的是 a 的乘法部分,所以 a 必须取与 26 互质的 1、3、5、7、9、11、15、17、19、21、23、25 之一。
⚠️ 使用说明与注意事项
📖关于「仿射密码」 ▼

📝工具简介

仿射密码是一款IT 开发领域的在线工具。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。