シーザー暗号エンコーダー
シーザー暗号は、すべての文字を固定数だけずらす方式です。+3シフトならAはD、BはEになり、Zの次はAへ回り込みます。私信にシフト3を使ったとされるユリウス・カエサルにちなんで名付けられた、最も単純な換字式暗号です。今でもパズル、授業のデモ、古典的なROT13のUsenet慣習に役立ちます。テキストを貼り付け、シフトを選び、エンコードまたはデコードしてください。
シーザー暗号の仕組み
-
1
平文または暗号文を入力
任意の英語テキストを入力します。文字以外(数字、句読点、スペース)は変わりません。大文字小文字も保持されます。
-
2
シフト値を選ぶ
任意の整数を指定できます。復号には -3 のような負の値を使ってください。シフト13はROT13で、自分自身の逆変換です。古典的なシーザー暗号は3を使いました。
-
3
暗号化または復号
正のシフトで暗号化され、負のシフトで復号されます。シフトKでの復号は、シフト26-Kでの暗号化と同じです。
-
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で変換するとKHOOR。KHOORをシフト3で復号(またはシフト23でエンコード)するとHELLOに戻ります。
ROT13:自己逆変換のシフト
ROT13はシフト13を使います。2回適用すると元のテキストに戻ります: HELLO → URYYB → HELLO。そのため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文字以上)ではほぼ一意に決まりますが、ごく短い暗号文では複数のもっともらしいシフトがあり得ます。
関連ツール
Base64ファイルエンコーダー
あらゆるファイル(PDF、ZIP、画像、実行ファイル)をBase64テキストにエンコードし、JSON、メール、YAML、data URIへ埋め込めます。ブラウザ内でローカルに動作し、アップロードはありません。
Atbash暗号エンコーダー
A-ZをZ-Aに対応させるヘブライ系の換字式暗号、Atbashでテキストをエンコードまたはデコードできます。同じ操作で暗号化と復号ができます。
CSRジェネレーター
PEMエンコードされた証明書署名要求と対応するRSA秘密鍵を生成します。コモンネーム、組織の項目、鍵のサイズ(2048、3072、4096ビット)を指定できます。
Base58エンコーダー・デコーダー
UTF-8テキストや16進バイト列をエンコードし、Bitcoin、Ripple、Flickrの各アルファベットでBase58を安全にデコードします。
SSL証明書ジェネレーター
自己署名のSSL/TLS証明書とRSA秘密鍵をすべてブラウザ内で生成します。Common Name、SAN、有効期間をカスタマイズし、PEM形式で書き出します。
チェックサム検証
任意のテキストの MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 チェックサムを計算し、期待値と比較して一致・不一致を明確に判定します。
このツールは他の言語でも利用できます
- Bộ mã hóa mật mã Caesar [VI]
- Encoder Sandi Caesar [ID]
- เครื่องมือเข้ารหัสซีซาร์ [TH]
- Caesarchiffer-kodare [SV]
- Codificador de Cifrado César [ES]
- Caesar-Chiffre-Encoder [DE]
- Caesar-cijfer encoder [NL]
- 카이사르 암호 인코더 [KO]
- Koder szyfru Cezara [PL]
- Sezar Şifreleyici [TR]
- مشفّر قيصر [AR]
- Encodeur de César [FR]
- Codificador de Cifra de César [PT]
- 凯撒密码编码器 [ZH]
- Caesar Cipher Encoder [EN]
- Cifrario di Cesare [IT]
- Кодировщик шифра Цезаря [RU]