📐 アフィン暗号

カスタムa、b鍵のアフィン暗号でテキストの暗号化・復号。E(x) = (a*x + b) mod 26。

アフィン暗号について

アフィン暗号は乗算と加算を組み合わせた単一アルファベット置換暗号です。各文字は関数 E(x) = (a*x + b) mod 26 で対応付けられ、x は文字の位置(A=0, B=1, ..., Z=25)です。復号には a の合同逆元を使用します:D(x) = a⁻¹ * (x - b) mod 26。このツールはすべてブラウザ内で完結——アップロードは一切ありません。

仕組み

  • 暗号化 —— 各文字を数字(A=0...Z=25)に変換し、(a*x + b) mod 26 を計算して文字に戻します。
  • 復号 —— a⁻¹ * (x - b) mod 26 を計算します。a⁻¹ は a を法とする 26 の合同逆元です。
  • a は 26 と互いに素(2 または 13 で割り切れない)必要があります。有効値:1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25。
  • b は 0〜25 の任意の整数です。
  • 大文字小文字は保持。非文字は変更されません。

ユースケース

  • 暗号学における合同演算と合同逆元の指導。
  • 単一アルファベット置換暗号が全単射に依存する仕組みのデモ。
  • 数学的風味のあるパズルや教育チャレンジの作成。
  • アフィン暗号が頻度分析で破られる理由の探求。

よくある質問

なぜ a は 26 と互いに素でなければならないのですか? a が 26 と公約数を持つと対応付けが一対一でなくなり、復号が不可能になります。有効値は 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25 です。

アフィン暗号は安全ですか? いいえ。鍵は 12 × 26 = 312 通りしかなく、総当たりや頻度分析で容易に破られます。

合同逆元とは何ですか? a を法とする 26 の合同逆元とは、(a × a⁻¹) mod 26 = 1 を満たす数 a⁻¹ です。例えば 5 mod 26 の逆元は 21 で、5 × 21 = 105 = 4 × 26 + 1 だからです。

テキストはアップロードされますか? いいえ。すべての暗号化・復号はローカルブラウザで行われます。