仿射密码解码器与计算器

专业的在线仿射密码加密和解密工具,附带数学公式计算器和分步求解器。

🚀 快速示例 - 试试这些:

带计算器的仿射密码工具

📝 输入文本
📤 输出文本
斜率参数 (a) 5
Must be coprime to 26. Valid: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25
截距参数 (b) 8
Range: 0-25 (shift amount in alphabet)
自定义字母表和选项
分析选项

带解答的仿射密码示例

示例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

其中'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”。它常用于密码学课程、编程练习和密室逃脱等益智游戏。