仿射密碼

🕵️ 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 開發領域的線上工具。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。