仿射密码计算器
计算密钥、模逆元,并生成仿射密码的替换表
替换表a = 5, b = 8
| 明文 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| 密文 | I | N | S | X | C | H | M | R | W | B | G | L | Q | V | A | F | K | P | U | Z | E | J | O | T | Y | D |
关于仿射密码的常见问题
什么是仿射密码?
仿射密码是一种单字母替换密码,使用数学公式对字母进行加密。它结合乘法和加法位移,通过 E(x) = (ax + b) mod 26 变换每个字母,其中 'a' 和 'b' 是整数密钥。与简单位移密码不同,仿射密码使用两个密钥来创建更复杂的字母映射,是代数密码学的基础示例。
仿射密码公式是如何工作的?
公式 E(x) = (ax + b) mod 26 将每个字母转换为数字(A=0,B=1,...,Z=25),乘以密钥 'a',加上密钥 'b',然后取除以 26 的余数。解密时,公式 D(y) = a⁻¹(y - b) mod 26 使用 'a' 的模乘逆运算来逆推过程。例如,a=5 且 b=8 时,字母 A(0)加密为 (5*0+8) mod 26 = 8,即字母 I。
仿射密码的有效密钥值有哪些?
乘法密钥 'a' 必须与 26 互质,即 gcd(a, 26) = 1。'a' 的 12 个有效值为:1、3、5、7、9、11、15、17、19、21、23 和 25。加法密钥 'b' 可以是 0 到 25 之间的任意整数。共有 12 x 26 = 312 种唯一密钥组合。若 'a' 与 26 不互质,多个明文字母会映射到同一密文字母,导致无法解密。
如何解密仿射密码?
解密使用公式 D(y) = a⁻¹(y - b) mod 26,其中 a⁻¹ 是 'a' 模 26 的模乘逆元。首先从密文字母的数值中减去 'b',再乘以 a⁻¹ 并取 mod 26。例如,若 a=7,则 a⁻¹=15,因为 (7 x 15) = 105,而 105 mod 26 = 1。若不知道密钥,可以尝试对全部 312 种组合进行暴力破解,或使用频率分析。
仿射密码中的模运算是什么?
模运算是一种循环数学,当数字达到设定值时会绕回。在仿射密码中,mod 26 确保结果保持在 26 个字母的范围内。计算 (ax + b) 后,mod 26 运算返回除以 26 的余数,将结果映射回有效的字母位置(0-25)。这种循环特性使密码能够无缝遍历整个字母表。
仿射密码与凯撒密码有什么关系?
凯撒密码是仿射密码 a=1 时的特例。当 a=1 时,仿射公式 E(x) = (1*x + b) mod 26 简化为 E(x) = (x + b) mod 26,正好就是凯撒位移公式。仿射密码通过添加乘法分量对凯撒密码进行了推广,将密钥空间从 26 扩展到 312 种可能的密钥,并创建了非均匀字母映射。
仿射密码安全吗?
不,仿射密码不适用于现代安全用途。其仅有 312 种组合的密钥空间可被计算机在毫秒内暴力破解。作为单字母密码,它还容易受到频率分析攻击,因为每个明文字母始终映射到同一密文字母。但它作为教学工具仍很有价值,可用于讲授模运算、数论以及现代密码学的数学基础。
仿射密码中的模逆是什么?
模逆(a⁻¹)是指与 'a' 相乘后除以 26 余 1 的数,对解密至关重要。例如,5 mod 26 的逆是 21,因为 (5 × 21) = 105,而 105 mod 26 = 1。模逆只有在 'a' 与 26 互质时才存在,这也是 'a' 的有效值被限制为 1、3、5、7、9、11、15、17、19、21、23 和 25 的原因。
仿射密码有多少种可能的密钥?
仿射密码共有 312 种可能的密钥组合。这来自乘法密钥 'a' 的 12 个有效值(与 26 互质的数)乘以加法密钥 'b' 的 26 种可能值(0 到 25)。如此小的密钥空间意味着计算机可以在毫秒内测试每种组合,使暴力破解攻击轻而易举。
不知道密钥也能破解仿射密码吗?
可以,不知道密钥也能通过两种主要方法破解仿射密码。暴力破解可测试全部 312 种密钥组合,并使用英文字母频率分析对每种结果评分。另外,如果能识别出两对已知的明文-密文字母对,可以联立两个方程组用代数方法同时恢复两个密钥。我们的解码工具自动执行带智能评分的暴力破解。
什么是仿射密码?
仿射密码(Affine Cipher)是一种单表替换密码,使用数学函数对消息进行加密和解密。与更简单的凯撒密码不同,仿射密码将乘法和加法运算结合在一起,在保持相对易于理解的同时提供了更高的安全性。
仿射密码是在移位密码的基础上发展而来的,通过增加乘法成分来扩大密钥空间。这种经典加密方法在密码学教育中被广泛使用,用于讲授模运算和数论的基本概念。
仿射密码公式
仿射密码使用两个密钥:a(乘法密钥)和 b(加法密钥)。加密和解密公式如下:
加密: E(x) = (ax + b) mod 26
解密: D(y) = a⁻¹(y - b) mod 26
其中:
- x 是明文字母的数值(A=0,B=1,……Z=25)
- y 是密文字母的数值
- a 必须与26互质(有效值:1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25)
- b 可以是0到25之间的任意整数
- a⁻¹ 是 a 的模乘逆元
如何使用本仿射密码工具
我们的在线仿射密码编码器让加密和解密变得简单:
- 在输入框中输入文本
- 从下拉菜单选择密钥 A(只显示有效的互质值)
- 使用滑块调整密钥 B(0-25)
- 选择模式:加密或解密
- 一键复制结果
工具会自动验证您的密钥选择,并提供实时转换。您还可以查看所选密钥生成的完整替换字母表。
本仿射密码工具的功能特点
- 实时加密和解密 — 边输入边看结果
- 智能密钥验证 — 只有有效的 A 值(与26互质)可供选择
- 替换表显示 — 查看完整的字母映射关系
- 复制到剪贴板 — 一键复制结果
- 保留大小写和间距 — 非字母字符直接传递不变
- 移动端适配 — 在所有设备上均可使用
常见问题
仿射密码有什么用途?
仿射密码主要用于教育目的,讲授密码学基础知识,包括模运算、乘法逆元和密码分析技术。虽然不适合现代应用的安全需求,但它是数学加密入门的绝佳工具。
仿射密码有多少种可能的密钥?
仿射密码有312种可能的密钥组合(A 的12个有效值乘以 B 的26个值)。这比凯撒密码的26个密钥要多,但数量仍然少到容易受到暴力破解攻击。
为什么密钥 A 必须与26互质?
密钥 A 必须与26互质(即 gcd(A, 26) = 1),以确保每个明文字母映射到唯一的密文字母。如果 A 与26有公因数,多个字母会加密为相同的结果,使解密变为不可能。
密钥 A 的有效值有哪些?
密钥 A 的有效值为:1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 和 25。这些是小于26且与26互质的所有整数。
如何在不知道密钥的情况下解密仿射密码?
您可以使用频率分析或暴力破解方法来解密没有已知密钥的仿射密码。我们的解码工具会自动测试所有312种密钥组合,并根据英文字母频率规律对结果进行可能性排序。
仿射密码安全吗?
不,仿射密码不适合现代使用。由于只有312种可能的密钥,它很容易被暴力破解或频率分析攻破。它最适合用于教育目的和理解密码学概念。
如何破解仿射密码
破解仿射密码(有时也写作"affine cypher")有两种主要方法:
暴力破解法
由于仿射密码只有312种可能的密钥组合,您可以尝试所有组合并检查哪个能产生可读的英文。我们的仿射密码解码器通过频率分析评分自动完成这一过程。
已知明文攻击
如果您知道(或能猜出)两对明文-密文字母对,可以建立两个联立方程并用代数方法求解两个密钥。例如,如果您知道明文"e"对应密文"L",明文"t"对应密文"H",可以写出:
- (a × 4 + b) mod 26 = 11
- (a × 19 + b) mod 26 = 7
求解该方程组即可得到 a 和 b 的值。
仿射密码与凯撒密码的比较
凯撒密码实际上是仿射密码的特例,其中乘法密钥 a = 1。这意味着凯撒密码公式 E(x) = (x + b) mod 26 只是仿射公式 E(x) = (ax + b) mod 26 的简化版本。
| 特性 | 凯撒密码 | 仿射密码 |
|---|---|---|
| 公式 | E(x) = (x + b) mod 26 | E(x) = (ax + b) mod 26 |
| 密钥空间 | 26个密钥 | 312个密钥 |
| 密钥类型 | 单一移位值 | 两个值(a, b) |
| 字母映射 | 均匀移位 | 非均匀映射 |
| 安全性 | 极易破解 | 仍然较弱,但更难 |