シーザー暗号とは|文字をずらす古典暗号の仕組み・ROT13・破り方をやさしく解説
シーザー暗号は、アルファベットを決まった数だけずらして文章を隠す、もっとも古くシンプルな暗号のひとつです。本記事では「シーザー暗号とは何か」から、暗号化と復号の手順、鍵(シフト量)とROT13、なぜ総当たりで簡単に破れてしまうのか、そして現代の暗号との違いと、学習や遊びでの楽しみ方までをやさしく解説します。
「HELLO」を3文字ずらすと「KHOOR」になる――こんなふうに、アルファベットを一定数だけスライドさせて文章を読めなくする方法を聞いたことはないでしょうか。これがシーザー暗号です。古代ローマの将軍ユリウス・カエサル(シーザー)が軍事連絡に使ったと伝えられることから、その名が付きました。仕組みは驚くほど単純ですが、暗号の基本的な考え方を学ぶうえで、これ以上ない入門教材になります。本記事では、シーザー暗号とは何か、どう暗号化・復号するのか、そしてなぜあっけなく破られてしまうのかを順を追って解説します。
シーザー暗号とは何か
シーザー暗号(Caesar cipher)とは、文章の各文字をアルファベット順で一定数だけずらして、別の文字に置き換える暗号方式です。たとえば「3文字ずらす」と決めれば、AはDに、BはEに、CはFに……と、すべての文字が同じルールで変換されます。元の文章(平文)を読めない文字列(暗号文)に変えることを暗号化、暗号文を元に戻すことを復号と呼びます。
シーザー暗号は、文字を別の文字に1対1で置き換える換字式暗号(かえじしきあんごう)の一種であり、しかもずらす量という単一のルールだけで全文字を変換する、もっともシンプルな部類に入ります。鍵となる「ずらす数」さえ分かっていれば、紙とペンだけで誰でも暗号化と復号ができます。この手軽さこそが、2000年以上にわたって暗号の入り口として語り継がれてきた理由です。
実際にどんな変換が起きるのかは、シーザー暗号ツールに好きな文章を入力し、ずらす数を変えながら結果を眺めてみるのが一番分かりやすいでしょう。数字を1つ変えるだけで、出てくる文字列がガラリと変わる様子を体感できます。
暗号化と復号の仕組み
シーザー暗号の手順は、たった2ステップで説明できます。アルファベットを円環(A・B・C…X・Y・Zときて、またAに戻る輪)として考えるのがコツです。
- 暗号化:平文の各文字を、決めた数だけ後ろにずらす。Zを超えたらAに戻る(巡回する)。
- 復号:暗号文の各文字を、暗号化と同じ数だけ前にずらす。Aより前に行ったらZに戻る。
たとえばずらす数を3として「DOG」を暗号化してみましょう。Dは3つ進んでG、Oは3つ進んでR、Gは3つ進んでJとなり、暗号文は「GRJ」になります。復号はこの逆で、GRJの各文字を3つ前に戻せば、元のDOGに戻ります。XやYのように末尾に近い文字は、Zを超えてAやBへと輪の先頭に巻き戻る点がポイントです。
記号や数字、日本語の文字をどう扱うかは実装によって異なります。多くの場合、アルファベット以外の文字(スペースや句読点など)はそのまま残し、大文字・小文字はそれぞれの範囲内でずらします。このあたりの細かな挙動は、シーザー暗号ツールで記号混じりの文章を入力してみると、どの文字が変換され、どの文字が残るのかがすぐに確認できます。
鍵(シフト量)とROT13
シーザー暗号における鍵(暗号を解くための秘密の情報)は、「何文字ずらすか」というシフト量そのものです。送り手と受け手が同じシフト量を共有していれば、暗号化と復号が成立します。アルファベットは26文字なので、シフト量は1から25までの25通りしかありません(0文字ずらしは元の文章のままなので意味がなく、26ずらすと一周して元に戻ります)。
このシフト量の中でも特に有名なのが、ROT13(ロットサーティーン)です。これは13文字ずらすシーザー暗号で、アルファベット26文字のちょうど半分にあたります。13ずらして、もう一度13ずらすと合計26、つまり一周して元に戻るため、暗号化と復号がまったく同じ操作になるという面白い性質を持ちます。同じ処理を2回かければ元の文章に戻るので、専用の復号ツールがいらず、扱いがとても簡単です。
ROT13は秘密を守る本格的な暗号としてではなく、掲示板などで「映画の結末」や「クイズの答え」といった、うっかり目に入らないようにしたい文章を隠す用途で古くから使われてきました。読みたい人だけがもう一度ROT13をかけて中身を確認する、という軽い目隠しとしての文化です。シーザー暗号ツールでシフト量を13に設定し、同じ文章に2回適用すると、確かに元へ戻ることを試してみてください。
なぜ簡単に破れるのか
シーザー暗号の最大の弱点は、鍵の候補がたった25通りしかないことです。暗号文を手に入れた第三者は、シフト量を1、2、3……と順番に試していくだけで、いずれ意味の通る文章にたどり着きます。この「考えられる鍵をすべて試す」攻撃を総当たり攻撃(ブルートフォース)と呼びます。25通りなら、人間が紙の上で試しても数分、コンピューターなら一瞬で終わってしまいます。
さらに、総当たりすら使わずに破る方法もあります。頻度分析と呼ばれる手法です。どの言語にも「よく使われる文字」があり、英語であればEやT、Aなどが頻出します。暗号文の中でもっとも多く登場する文字が、元の言語で頻出する文字に対応すると推測すれば、シフト量の見当がついてしまうのです。シーザー暗号はすべての文字を同じ数だけずらすため、こうした文字の出現パターン(クセ)がそっくり保存されてしまい、頻度分析にきわめて弱いという欠点があります。
- 鍵空間が狭い:候補が25通りしかなく、総当たりで全数探索できてしまう。
- パターンが残る:同じ平文字は常に同じ暗号文字になるため、文字の偏りから推測されやすい。
つまりシーザー暗号は、秘密を本気で守るための道具としては、現代ではまったく通用しません。あくまで「暗号とはどういうものか」を理解するための学習用・娯楽用と考えるのが正しい位置づけです。
現代暗号との違い
では、私たちが日々使っているインターネットの暗号は、シーザー暗号と何が違うのでしょうか。本質的な発想は「情報を変換して読めなくする」という点で共通していますが、安全性のレベルがまるで違います。
| シーザー暗号 | 現代暗号(AES等) | |
|---|---|---|
| 鍵の候補数 | 25通り | 天文学的(事実上探索不能) |
| 変換のルール | 全文字を同じ数ずらす | 複雑な計算を何重にも適用 |
| 頻度分析への耐性 | 非常に弱い | パターンが消され強い |
| 用途 | 学習・遊び | 通信・決済・保存データの保護 |
最大の違いは鍵の候補数(鍵空間)の広さです。現代暗号は鍵が非常に長く、総当たりで全部試すには現実的な時間ではとうてい終わらない規模になっています。加えて、同じ平文でも前後の文脈や鍵によって異なる暗号文になるよう設計されており、シーザー暗号のように文字の偏りがそのまま残ることはありません。だからこそ頻度分析が通用しないのです。
シーザー暗号は「鍵を秘密にする」という考え方や、「暗号化と復号は対になっている」という基本構造を、現代暗号と共有しています。仕組みが目で追えるシーザー暗号を理解しておくと、後で本格的な暗号技術を学ぶときに、その土台として大いに役立ちます。
学習・遊びでの使い方
実用的な機密保護には向かないシーザー暗号ですが、だからこそ気軽に楽しめる場面はたくさんあります。代表的な使い道を見てみましょう。
1. 暗号やプログラミングの学習
「文字を数に対応させ、計算でずらし、また文字に戻す」という流れは、プログラミングの入門課題として定番です。実際に手を動かしてシーザー暗号を作ってみると、文字コードの考え方や、Zを超えたらAに戻す「剰余(あまり)」の計算など、基礎的な概念が自然に身につきます。まずはシーザー暗号ツールで正解の動きを確かめてから、自分のコードと見比べると理解が深まります。
2. 謎解き・宝探し・遊びのメッセージ
謎解きイベントや子ども向けの宝探し、友達同士のちょっとした暗号メッセージなど、「解ける楽しさ」を味わう遊びにはぴったりです。ヒントとしてシフト量の一部だけを伝えたり、あえてROT13で隠したりと、工夫しだいで難易度を調整できます。点と線で文字を表すモールス信号ツールと組み合わせれば、二段構えの暗号にして遊びの幅をさらに広げることもできます。
シーザー暗号は、わずか「文字をずらす」というルールひとつで暗号化と復号を実現する、暗号の原点ともいえる存在です。安全性こそ現代の基準には及びませんが、その単純さゆえに、暗号の考え方を学び、解く楽しさを味わうには最適です。まずはシーザー暗号ツールに文章を入れてシフト量を動かし、変換のからくりを目で確かめてみてください。さらにモールス信号ツールで別の符号化も体験すれば、「情報を変換する」という発想がいっそう身近に感じられるはずです。
なお本記事は一般的な情報の提供を目的としたものです。シーザー暗号は学習・娯楽向けであり、重要な情報や個人情報の保護には決して使わないでください。実際に機密を守る必要がある場合は、最新の公式情報や信頼できる専門家の情報を確認したうえで、適切な暗号技術を利用してください。
よくある質問
シーザー暗号とは何ですか?
シーザー暗号とは、文章の各文字をアルファベット順に一定数だけずらして別の文字に置き換える、もっとも古典的でシンプルな暗号方式です。古代ローマのユリウス・カエサル(シーザー)が使ったと伝えられることが名前の由来です。たとえば3文字ずらすとAはD、BはEになります。ずらす数さえ分かれば紙とペンだけで暗号化も復号もできます。
ROT13とは何ですか?
ROT13は13文字ずらすシーザー暗号です。アルファベット26文字のちょうど半分にあたるため、13ずらして再び13ずらすと一周して元に戻ります。つまり暗号化と復号がまったく同じ操作になるのが特徴で、掲示板などで結末や答えを軽く隠す目隠しとして古くから使われてきました。
シーザー暗号はなぜ簡単に破られるのですか?
鍵の候補がアルファベット25通りしかないため、シフト量を1から順に全部試す総当たり攻撃で、人でも数分・コンピューターなら一瞬で解けてしまうからです。さらに、すべての文字を同じ数ずらす性質上、文字の出現パターンが残るため、よく使う文字を手がかりにする頻度分析にも非常に弱いという弱点があります。
シーザー暗号は実際の機密保護に使えますか?
使えません。鍵空間が狭く頻度分析にも弱いため、現代の基準では一瞬で破られてしまいます。重要な情報や個人情報の保護には、AESのような長い鍵と複雑な変換を用いる現代暗号を使ってください。シーザー暗号はあくまで暗号の仕組みを学ぶ学習用、または謎解きなどの遊び用と考えるのが正しい位置づけです。
シーザー暗号ツールで入力した文章はサーバーに送信されますか?
WAZA TOOLSのシーザー暗号ツールはすべてブラウザ内で処理され、入力した文章や変換結果がサーバーに送信・保存されることはありません。スマートフォンでも利用でき、何度でも無料で暗号化・復号を試せるので、安心してお使いいただけます。