このツールについて
シーザー暗号 エンコーダー / デコーダーは、最も古く有名な換字式暗号のための無料のブラウザ内ツールです。各文字はアルファベットに沿って一定数だけシフトされます。エンコードは位置 x の文字を (x + shift) mod 26 に写し、デコードは (x − shift + 26) mod 26 でそれを逆にします。大文字と小文字の帯は独立してシフトされ、文字以外(スペース、数字、句読点)はそのまま通過します。シフト3はユリウス・カエサル自身が使ったとされるシフトで、シフト13は自己逆元のROT13です。
すべてがブラウザ内でローカルに実行されるため、入力した内容がアップロードされたり保存されたりすることはありません。エンコードまたはデコードを選び、シフトを0から25で設定するか、総当たりモードに切り替えて26通りすべての復号結果を一度に確認できます。自明でない鍵は25通りしかないため、シーザー暗号はすべて試すことで簡単に破ることができます。これがまさに総当たりモードの動作です。
スキャンの手間を省くため、総当たりモードは標準的な英語の文字頻度に対するカイ二乗検定で各候補を採点し、最も可能性の高い平文に星(★)を付けます。カイ二乗値が低いほど文字分布が通常の英語に近いため、星の付いた行が通常は正しい復号結果です。これにより、鍵を事前に知らなくてもCTFチャレンジ、脱出ゲーム、教室の暗号学習に便利なツールとなります。
よくある質問
シーザー暗号の公式は何ですか?
エンコードは E(x) = (x + shift) mod 26、デコードは D(y) = (y − shift + 26) mod 26 で、各文字は0〜25で番号付けされます。シフト3はAをDに変え、シフト13は自己逆元のROT13です。
総当たりモードはどうやって解読しますか?
テキストの26通りすべてのシフトを一度に表示します。実際の鍵は25通りしかないため、必ずどれか1行が平文です。ツールは文字頻度のカイ二乗スコアを使って、最も英語らしい行に星を付けます。
スペースや句読点は保持されますか?
はい。A〜Zとa〜zだけが、それぞれの大小の中でシフトされます。スペース、数字、句読点はそのまま通過するため、メッセージの形が保たれます。
ROT13とは何ですか?
ROT13はシフト13のシーザー暗号です。13はちょうど26の半分なので、2回適用すると元のテキストに戻り、同じ操作でエンコードとデコードの両方ができます。シフトを13に設定して使用します。