UTILS.
100% ブラウザ内で完結
✖️

アフィン暗号 エンコーダー / デコーダー

E(x)=(a·x+b) mod 26 を使う単一換字式暗号。鍵の検証(gcd(a,26)=1)とモジュラ逆元によるデコードに対応。文字を即座にエンコード・デコード。

鍵 a は 26 と互いに素でなければなりません: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25。

— ここに結果が表示されます —

このツールについて

アフィン暗号 エンコーダー / デコーダーは、モジュラ演算に基づく単一換字式暗号のための無料のブラウザ内ツールです。A〜Zは0〜25で番号付けされ、各文字は線形関数 E(x) = (a·x + b) mod 26 で変換されます。ここで a と b は2つの鍵の値です。デコードは D(y) = a⁻¹·(y − b) mod 26 でこれを逆にします。a⁻¹ は 26 を法とする a のモジュラ乗法逆元です。

暗号が可逆であるためには、乗数 a は 26 と互いに素、つまり gcd(a, 26) = 1 でなければなりません。有効な選択肢は12個で、1、3、5、7、9、11、15、17、19、21、23、25 です。それ以外の値は2つの異なる文字を同じ出力に写してしまい、デコードできないため、ツールは明確なメッセージで拒否します。加法鍵 b は0〜25の任意の値でかまいません。すべてはブラウザ内でローカルに計算されるため、入力した内容がデバイスから出ることはありません。

大文字・小文字は保持され、文字以外はそのまま通過します。アフィン暗号は、より単純な古典暗号を一般化します。a = 1 とするとシフト b のシーザー暗号に、a = 25、b = 25 とするとアトバシュ暗号になります。互いに素であることやモジュラ逆元の考え方を具体的にするため、離散数学や整数論の講座の定番であり、CTFパズルやCyberChefのようなツールにも頻繁に登場します。

よくある質問

アフィン暗号の公式は何ですか?
エンコードは E(x) = (a·x + b) mod 26、デコードは D(y) = a⁻¹·(y − b) mod 26 で、文字は0〜25で番号付けされます。ここで a⁻¹ は 26 を法とする a のモジュラ乗法逆元です。
a にはどの値が許されますか?
26 と互いに素な値、すなわち gcd(a, 26) = 1 のものだけです。つまり 1、3、5、7、9、11、15、17、19、21、23、25 です。それ以外の値は暗号を非可逆にするため、ツールは拒否します。
デコードはどのように行われますか?
26 を法とする a のモジュラ逆元 a⁻¹、つまり a·a⁻¹ ≡ 1 (mod 26) となる数が必要です。ツールが自動的にそれを求め、各文字に D(y) = a⁻¹·(y − b) mod 26 を適用します。
シーザー暗号やアトバシュ暗号とどう関係しますか?
両方を一般化します。a = 1 のときアフィン暗号はシフト b のシーザー暗号になり、a = 25、b = 25 のときアトバシュ暗号になります。単一換字式の線形形式です。

その他のツール