シーザー暗号エンコーダー

シーザー暗号は、すべての文字を固定数だけずらす方式です。+3シフトならAはD、BはEになり、Zの次はAへ回り込みます。私信にシフト3を使ったとされるユリウス・カエサルにちなんで名付けられた、最も単純な換字式暗号です。今でもパズル、授業のデモ、古典的なROT13のUsenet慣習に役立ちます。テキストを貼り付け、シフトを選び、エンコードまたはデコードしてください。

シーザー暗号の仕組み

  1. 1

    平文または暗号文を入力

    任意の英語テキストを入力します。文字以外(数字、句読点、スペース)は変わりません。大文字小文字も保持されます。

  2. 2

    シフト値を選ぶ

    1-25の任意の整数を指定します。シフト13はROT13で、自分自身の逆変換です。古典的なシーザー暗号は3を使いました。

  3. 3

    方向を選ぶ

    エンコードは前方向にシフトし、デコードは後方向にシフトします。シフトKでの復号は、シフト26-Kでのエンコードと同じです。

  4. 4

    結果を確認

    暗号文(または復号された平文)がすぐに表示されます。ワンクリックでコピーできます。

シーザーシフトの見え方

アルファベットに3のシフトを適用した例:

Plain:      A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipher:     D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

例: HELLOをシフト3で変換するとKHOORKHOORをシフト3で復号(またはシフト23でエンコード)するとHELLOに戻ります。

ROT13 — 自己逆変換のシフト

ROT13はシフト13を使います。2回適用すると元のテキストに戻ります: HELLOURYYBHELLO。そのため1980年代のUsenet投稿でネタバレを隠すのに最適でした。1つの変換でエンコードもデコードもでき、覚える鍵もありません。

セキュリティ(ほぼない)

シーザー暗号は現代の分析に対して意図的に破れているようなものです。

  • 総当たり攻撃: 可能なシフトは25通りだけです。すべて試し、英語として読めるものを選べます。
  • 頻度分析: シフト後のテキストでも文字頻度は保たれます。英語ではEが最頻出なので、暗号文で最も多い文字はEをシフトしたものの可能性が高いです。
  • 既知平文攻撃: 元の文字を1つでも知っていれば、シフトがわかります。

守る必要があるものには使わないでください。教育用であって、実用的な暗号ではありません。

変種と拡張

  • ROT5: 数字(0-9)だけをシフトします。ROT18でROT13と併用されます。
  • ROT47: 表示可能なASCII 94文字をシフトします。ROT13と同じく自己逆変換です。
  • Vigenère: キーワードを使い、位置ごとに異なるシフトを使うシーザー暗号です。はるかに破りにくくなります。
  • Atbash: A↔Z、B↔Yという具合に入れ替えます。ヘブライ語での歴史的利用に対する固定シフトの親戚です。

授業での利用

シーザー暗号は暗号学入門の定番です。重い数学なしで、剰余演算、換字、頻度分析、鍵という概念を紹介できます。多くのCTFの「初級暗号」課題の答えにもなります。

よくある質問

スエトニウスは、カエサルが通信にシフト3を使ったと記録しています。アウグストゥスは資料によって異なりますが、シフト1(A → B、B → C、Z → AまたはAA)を使ったとされています。

いいえ。古典的なシーザー暗号は26文字のローマ字アルファベットで定義されます。アクセント付き文字(é、ñ、ü)は変わらず通過します。複数アルファベットの暗号には、現代的な換字方式が必要です。

便利だからです。ネタバレ、パズルの答え、軽い不適切語フィルターのようなテキストを気軽に隠せて、復号も非常に簡単です。セキュリティ目的ではなく、軽い難読化のためのものです。

はい、簡単です。25通りのシフトをすべて試し、読める英語を探します。長い暗号文(20文字以上)ではほぼ一意に決まりますが、ごく短い暗号文では複数のもっともらしいシフトがあり得ます。

関連ツール