仿射密码
仿射密码 (Affine Cipher)
🕵️ 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 之一。
⚠️ 使用说明与注意事项
- 本工具纯前端运行,数据不会上传到服务器
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
- 计算结果仅供参考,请以实际应用场景为准
▼
工具简介
仿射密码是一款IT 开发领域的在线工具。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。