シーザー暗号
古典的なシーザー暗号(シフト暗号)でテキストを暗号化・復号し、解読することもできます。1〜25の任意のシフト量を選んだり、ROT13・ROT5・ROT47に切り替えたり、解読モードで25通りのシフトをすべて試して最も可能性の高いものを自動検出したりできます。すべての処理はブラウザ上で実行されます。
シフト
上にテキストを入力すると、結果がここに表示されます。
アルファベット対応表
平文
暗号文
シーザー暗号 の使い方
- 1
暗号化・復号・解読を選ぶ
平文を暗号文に暗号化したり、暗号文を平文に復号したり、シフト量がわからないメッセージを解くときは解読に切り替えたりします。
- 2
シフト量またはプリセットを選ぶ
プラスとマイナスのボタンで1〜25の任意のシフト量を設定するか、プリセットをタップします。古典的な13文字シフトはROT13、数字はROT5、印字可能なすべての記号はROT47です。
- 3
テキストを入力する
メッセージを入力または貼り付けてください。入力すると同時に暗号が自動で適用され、各アルファベットを設定した分だけアルファベット順に移動させ、数字や記号はそのまま通過します。
- 4
キーなしでメッセージを解読する
解読モードで暗号文を貼り付けると、ツールが25通りのシフトすべてで復号し、文字頻度分析を使って最も可能性の高い平文を強調して表示します。
- 5
コピー・ダウンロード・共有する
結果をクリップボードにコピーしたり、テキストファイルとしてダウンロードしたり、入力したテキストと設定をそのまま再現するリンクで共有したりできます。
シーザー暗号を理解する
シーザー暗号とは何ですか?
シーザー暗号は、すべての文字をアルファベット順に決まった数だけずらすことでメッセージを暗号化する換字式暗号です。私的な書簡や軍事通信を守るためにシフト量3を用いたと伝えられるローマの将軍ユリウス・カエサルにちなんで名付けられました。各文字が常に同じ文字に置き換えられるため、シーザー暗号は古典暗号のうちで最も単純かつ最も広く教えられる例であり、暗号化の仕組みを学ぶ出発点として今なお最適です。
今日のシーザー暗号は、パズルや脱出ゲーム、CTFのチャレンジ、初心者向けのプログラミング演習に登場します。最も有名な変種であるROT13は、ネタバレやオチ、答えを見える場所に隠すために、今もウェブ全体で使われています。
シーザー暗号の暗号化の仕組み
暗号化するには、鍵と呼ばれるシフト量を1から25の間で選びます。するとメッセージの各文字がその数だけアルファベットを前へ進み、末尾を越えるとZから先頭のAへ回り込みます。復号はこの手順を逆にたどり、各文字を同じ数だけ後ろへずらします。スペースや数字、記号は通常そのまま残されるため、元のメッセージの形や長さが暗号文にそのまま現れます。
たとえばシフト量3では、文字AはDに、BはEになり、単語HELLOはKHOORになります。メッセージを読むには、受け取る側はたった一つのシフト量を知り、すべての文字を3つ後ろへ動かすだけで済みます。
実例: シフト量3
古典的な一文 ATTACK AT DAWN に、カエサル自身のシフト量3を当てはめてみましょう。AはDに、TはWに、CはFに、KはNに対応し、このように進めて暗号文 DWWDFN DW GDZQ が生まれます。スペースはそのままの位置に残り、同じ文字は常に同じ文字に暗号化されるため、ATTACKの連続した二つのTは二つのWになります。シフトを逆にたどれば、DWWDFN DW GDZQ はそのまま ATTACK AT DAWN へ戻ります。
シーザー暗号の計算式
数学的には、各文字は0から25までの数として扱われ、Aが0、Zが25です。暗号化は E(x) = (x + n) mod 26、復号は D(x) = (x - n) mod 26 と書き、xは文字の位置、nはシフト量です。mod 26 の演算がアルファベットを回り込ませるので、Yを3つずらすとアルファベットの末尾を越えずにBに着きます。
ROT13・ROT5・ROT47の解説
ROT13は、シフト量を13に固定したシーザー暗号です。13はちょうど26の半分なので、ROT13を2回適用すると元のテキストに戻り、一度の操作で符号化と復号の両方ができます。ROT5は同じ発想を0から9までの10個の数字に適用するため、数字を隠すのに便利で、ROT47は印字可能な94個のASCII文字すべてをまとめて回転させ、アルファベットと数字、記号を一度にかき混ぜます。これらはいずれも自己反転であり、まさにその点が、短いテキストをすばやく隠したり明かしたりするのにこれほど便利な理由です。
シーザー暗号を破る方法
シーザー暗号は可能な鍵が25通りしかないため、ごく簡単に破れます。最も直接的な方法は総当たり攻撃で、メッセージを1から25までのすべてのシフトで復号し、意味の通る結果を読み取るだけです。より賢い方法は頻度分析で、各候補の文字分布を英語の典型的な頻度と比較します。英語ではE、T、Aが最もよく現れる文字であり、その中から最も近いものを自動で選び出します。このツールの解読モードはその両方を行い、25通りの復号結果をすべて並べ、カイ二乗スコアを使って最も可能性の高い答えを強調して表示します。
シーザー暗号の短い歴史
この暗号はユリウス・カエサルにちなんで名付けられました。歴史家スエトニウスによれば、彼は紀元前50年頃、メッセージを秘密に保つために各文字を3つずらしたといいます。後継者のアウグストゥスは、シフト量1を用いる似た方式を使ったと伝えられます。何世紀もの間、単純な文字のずらしで十分に安全でしたが、それは主に、文字を読める人がごくわずかで、ましてや暗号化されたメッセージを分析できる人はさらに少なかったためです。その弱点は9世紀には理解されており、このときアラブの数学者アル・キンディーが頻度分析を記述しました。それこそが、今日この暗号を数秒で破る、まさにその手法なのです。
シーザー暗号は安全ですか?
いいえ。鍵が25通りしかないシーザー暗号は、手作業でも数分で、コンピューターなら一瞬で破れるため、本当に秘密にすべきものには何の保護も与えません。今日のその価値は、教育的かつ娯楽的なものです。平文、暗号文、鍵、暗号化、暗号解読といった暗号学の語彙を学ぶ理想的な方法であり、パズルやゲーム、コーディングのプロジェクトのための楽しい構成要素でもあります。本当の安全性のためには、代わりにAESのような現代のアルゴリズムが使われます。
シーザー暗号対照表: 25通りのシフトすべて
この対照表は、1から25までのすべてのシーザーシフトに対応する暗号文アルファベットを一覧にしたものです。左の列で目的のシフト量を見つけ、その行を横に読むと、平文のAからZがそれぞれ何に変わるかがわかります。強調された行はROT13で、暗号化と復号の両方を行うシフト量13です。
| シフト量 | 暗号文アルファベット (A to Z) |
|---|---|
| 1 | BCDEFGHIJKLMNOPQRSTUVWXYZA |
| 2 | CDEFGHIJKLMNOPQRSTUVWXYZAB |
| 3 | DEFGHIJKLMNOPQRSTUVWXYZABC |
| 4 | EFGHIJKLMNOPQRSTUVWXYZABCD |
| 5 | FGHIJKLMNOPQRSTUVWXYZABCDE |
| 6 | GHIJKLMNOPQRSTUVWXYZABCDEF |
| 7 | HIJKLMNOPQRSTUVWXYZABCDEFG |
| 8 | IJKLMNOPQRSTUVWXYZABCDEFGH |
| 9 | JKLMNOPQRSTUVWXYZABCDEFGHI |
| 10 | KLMNOPQRSTUVWXYZABCDEFGHIJ |
| 11 | LMNOPQRSTUVWXYZABCDEFGHIJK |
| 12 | MNOPQRSTUVWXYZABCDEFGHIJKL |
| 13 · ROT13 | NOPQRSTUVWXYZABCDEFGHIJKLM |
| 14 | OPQRSTUVWXYZABCDEFGHIJKLMN |
| 15 | PQRSTUVWXYZABCDEFGHIJKLMNO |
| 16 | QRSTUVWXYZABCDEFGHIJKLMNOP |
| 17 | RSTUVWXYZABCDEFGHIJKLMNOPQ |
| 18 | STUVWXYZABCDEFGHIJKLMNOPQR |
| 19 | TUVWXYZABCDEFGHIJKLMNOPQRS |
| 20 | UVWXYZABCDEFGHIJKLMNOPQRST |
| 21 | VWXYZABCDEFGHIJKLMNOPQRSTU |
| 22 | WXYZABCDEFGHIJKLMNOPQRSTUV |
| 23 | XYZABCDEFGHIJKLMNOPQRSTUVW |
| 24 | YZABCDEFGHIJKLMNOPQRSTUVWX |
| 25 | ZABCDEFGHIJKLMNOPQRSTUVWXY |
よくある質問
シーザー暗号とは何ですか?
ROT13とは何ですか?
ROT5とROT47とは何ですか?
シフト量がわからないときは、どうやってメッセージを復号しますか?
自動解読はどのように動作しますか?
数字やスペース、記号も変換されますか?
シーザー暗号の計算式は何ですか?
シフトは何通りあり、安全ですか?
ユリウス・カエサルはなぜシフト量3を使ったのですか?
入力したテキストはサーバーに送信されますか?
あるメッセージがシーザー暗号かどうかは、どうすればわかりますか?
シーザー暗号とROT13の違いは何ですか?
シーザー暗号とVigenère暗号の違いは何ですか?
答え付きのシーザー暗号の例を見せてもらえますか?
シーザー暗号にはほかにどんな呼び名がありますか?
シーザー暗号はコードでどう書きますか?
関連ツール
こちらの便利なツールもどうぞ