仿射密码解码器与计算器
专业的在线仿射密码加密和解密工具,附带数学公式计算器和分步求解器。
🚀 快速示例 - 试试这些:
带计算器的仿射密码工具
📝 输入文本
📤 输出文本
斜率参数 (a)
5
截距参数 (b)
8
自定义字母表和选项
分析选项
带解答的仿射密码示例
示例1:基本加密
Plaintext: "HELLO" | Key: a = 5, b = 8
H → 7: E(7) = (5×7 + 8) mod 26 = 43 mod 26 = 17 → R
E → 4: E(4) = (5×4 + 8) mod 26 = 28 mod 26 = 2 → C
L → 11: E(11) = (5×11 + 8) mod 26 = 63 mod 26 = 11 → L
L → 11: E(11) = (5×11 + 8) mod 26 = 63 mod 26 = 11 → L
O → 14: E(14) = (5×14 + 8) mod 26 = 78 mod 26 = 0 → A
Ciphertext: "RCLLA"
示例2:解密过程
Ciphertext: "MJQTO" | Key: a = 5, b = 8 (Inverse: a⁻¹ = 21)
M → 12: D(12) = 21×(12-8) mod 26 = 21×4 mod 26 = 84 mod 26 = 6 → G
J → 9: D(9) = 21×(9-8) mod 26 = 21×1 mod 26 = 21 → V
Q → 16: D(16) = 21×(16-8) mod 26 = 21×8 mod 26 = 168 mod 26 = 12 → M
T → 19: D(19) = 21×(19-8) mod 26 = 21×11 mod 26 = 231 mod 26 = 23 → X
O → 14: D(14) = 21×(14-8) mod 26 = 21×6 mod 26 = 126 mod 26 = 22 → W
Plaintext: "GVMXW"
示例3:从已知明文中寻找密钥
Known: A→D, T→F
A(0) → D(3): 3 = (a×0 + b) mod 26 → b = 3
T(19) → F(5): 5 = (a×19 + 3) mod 26
2 = 19a mod 26 → a = 16
Key found: a = 16, b = 3
仿射密码完全指南
🧮 数学基础
仿射密码使用线性代数进行加密和解密:
Encryption: E(x) = (ax + b) mod n
Decryption: D(x) = a⁻¹(x - b) mod n
Decryption: D(x) = a⁻¹(x - b) mod n
其中'a'必须与n互质(gcd(a,n) = 1),以确保密码是可逆的。
🔑 密钥空间分析
- Valid 'a' values: 12 (numbers coprime to 26)
- Valid 'b' values: 26 (any integer 0-25)
- Total keys: 12 × 26 = 312 possible combinations
- Security: Vulnerable to frequency analysis and brute force
⚡ 密码分析方法
- Brute Force: Try all 312 possible keys
- Frequency Analysis: Use letter frequency patterns
- Known Plaintext: Use two known letter pairs to solve for a and b
🛡️ 安全性考量
- Weakness: Preserves letter frequency patterns, making it insecure for modern use.
- Vulnerability: Only 312 keys, easily breakable by computers.
- Modern Use: Primarily for educational purposes and puzzles.
📈 历史背景
- Development: An extension of the Caesar cipher, adding multiplication.
- Innovation: Introduced more complex mathematical concepts to classical ciphers.
- Legacy: A key teaching tool for modular arithmetic in cryptography.
🎯 实际应用
- Education: Teaching modular arithmetic and basic cryptographic principles.
- Puzzles: Used in escape rooms and cryptographic challenges.
- Programming: A good exercise for implementing algorithms.
常见问题解答
什么是仿射密码,它是如何工作的?
+
仿射密码是一种使用函数 E(x) = (ax + b) mod 26 的数学替换密码。它结合了乘法('a')和加法('b')来转换字母。
在不知道密钥的情况下如何解密仿射密码?
+
您可以使用暴力破解(尝试所有312个密钥)、频率分析,或使用两个已知的明文-密文对来求解密钥'a'和'b'。
为什么斜率值'a'必须与26互质?
+
这样加密函数才是可逆的。如果'a'和26有公因子,多个字母会加密成同一个字母,使得唯一解密成为不可能。
仿射密码和凯撒密码有什么区别?
+
凯撒密码是a=1的仿射密码。仿射密码增加了一个乘法步骤,将密钥空间从25个增加到312个。
如何找到用于解密的乘法逆元?
+
模26下的逆元 a⁻¹ 是一个数字,当与'a'相乘模26时结果为1。例如,5模26的逆元是21,因为 5 * 21 = 105 ≡ 1 (mod 26)。
我可以使用自定义字母表来应用仿射密码吗?
+
可以!我们的工具支持自定义字母表。模数和有效的斜率值将根据字母表的长度自动调整。
仿射密码在现代使用中安全吗?
+
不安全。由于只有312个密钥且易受频率分析攻击,它很容易被破解。它主要用于教育目的。
仿射密码在实践中有哪些例子?
+
用(a=5, b=8)加密“HELLO”得到“RCLLA”。它常用于密码学课程、编程练习和密室逃脱等益智游戏。