テクニック

シーザー暗号の読み方と解き方|初心者の入門

更新: 真鍋 奏人
テクニック

シーザー暗号の読み方と解き方|初心者の入門

シーザー暗号は、ユリウス・カエサルの名で知られる単一換字式暗号で、平文の各文字をアルファベット上で一定数だけ後ろへずらして表す仕組みです。シフト3ならAはDに、BはEに変わり、Zの次でAに戻る巡回構造まで含めて理解すると、見た目よりずっと単純な暗号だと分かります。

シーザー暗号は、ユリウス・カエサルの名で知られる単一換字式暗号で、平文の各文字をアルファベット上で一定数だけ後ろへずらして表す仕組みです。
シフト3ならAはDに、BはEに変わり、Zの次でAに戻る巡回構造まで含めて理解すると、見た目よりずっと単純な暗号だと分かります。
名称は古代ローマのカエサルに由来し、ガリア戦争期の軍事連絡に使ったと伝えられているため、歴史の入口としても印象に残りやすいでしょう。
初参加の周遊型イベントでシフト3を見落としてROT1から総当たりした失敗は、まず3を疑う癖につながりました。

シーザー暗号とは|アルファベットをずらす単一換字式暗号

シーザー暗号は、平文の各文字をアルファベット上で一定数だけずらして別の文字に置き換える単一換字式暗号です。
しかも、ずらし方はすべての文字で同じなので、鍵になるシフト数が分かれば変換の規則をそのままたどれます。
初心者がまず安心するのはこの再現性で、1文字の対応が見えた瞬間に全体の見通しが立ちやすいところにあります。

平文・暗号文・鍵(シフト数)の3つの言葉

シーザー暗号を理解するうえでは、平文、暗号文、鍵の3つを分けて考えると混乱しません。
平文はまだ読める元の文章、暗号文はずらした結果の文字列、鍵は何文字ずらすかを決めるシフト数です。
鍵が1つの数字に集約されているからこそ、仕組みは単純でも、逆に言えばその数字さえ読めれば全体がほどけます。
謎解きで総当たりが効きやすいのも、この単純さが理由です。

シフト3でA→Dになる具体例

たとえばシフト3なら、AはD、BはE、CはFになります。
上から順に3つ後ろへ送るだけなので、見た目は派手でも手順は驚くほど素直です。
初心者向けワークショップで26マスのアルファベット表を2段に書いてもらい、上段をそのまま、下段を3つずらして埋めてもらうと、「ああ、ずらすだけか」と表情が変わることがよくあります。
対応表を自分の手で作ると、暗号が記号遊びではなく規則の置き換えだと腹落ちしやすいのです。

Zの次はAに戻る『巡回』の考え方

アルファベットは26文字しかないため、端まで行ったら先頭に戻ります。
Xの次はA、Yの次はB、Zの次はCと折り返すので、ここを巡回、あるいはローテーションとして捉えるとずらしすぎのミスを防げます。
実際、Z→Cでつまずく人は毎回いるため、表の右端にもう一度ABCを書き足して、輪っかになっていると見せることがあります。
この感覚が入ると、ROT3のような表記も読みやすくなり、ネット上のROT13の解説や解読ツールにもつながりやすくなります。

シーザー暗号の歴史|カエサルが使った世界初の換字式暗号

シーザー暗号は、古代ローマのユリウス・カエサルに由来する換字式暗号で、平文の文字を一定数ずらして別の文字に置き換える仕組みです。
なかでもシフト3は、ガリア戦争(紀元前58〜50年頃)の軍事連絡で使ったとされる逸話と結びついて広まりました。
暗号入門で最初に触れる題材として覚えやすいのは、歴史上の人物名と操作方法がそのまま結びついているからです。

カエサルとガリア戦争の軍事連絡

ユリウス・カエサルは、ガリア戦争(紀元前58〜50年頃)の軍事連絡でシフト3の暗号を使ったとされます。
AをDへ、BをEへと3文字ずらすだけの単純な方法ですが、当時の実務では十分に意味がありました。
戦場では「読まれないこと」よりも「すぐに伝わること」と「相手に少しだけ手間をかけさせること」が効きます。
だからこそ、記録に残る世界初の換字式暗号として扱われてきたのです。

謎解きや学習の場でシフト3が定番になりやすいのも、この「カエサルが3を使った」という物語があるからでしょう。
謎検対策の勉強会で「なぜシフト3が多いか」と聞かれたとき、この逸話を添えるだけで納得感がぐっと増しました。
数字をただ覚えるのではなく、歴史の背景ごと覚えるほうが定着しやすいのです。

スエトニウスが残した記録という出典

この逸話を後世に伝えたのは歴史家スエトニウスです。
おおよそ69〜122年の人物で、執筆は西暦121年頃とされる『ローマ皇帝伝(皇帝伝)』にカエサルの暗号法が記されました。
つまり、現在シーザー暗号と呼ぶシフト3の仕組みは、単なる伝説ではなく、最古の文献根拠を持つ話として受け止められています。

暗号の歴史を入口から見ると、ここが意外に重要です。
シーザー暗号は「たまたま有名になった古い遊び」ではなく、古代ローマの実務と伝記文学が重なって残った知識なのだと分かります。
著者が勉強会でこの部分を話すと、参加者は暗号を記号の操作ではなく、使われ方の歴史として捉え始めることが多い。
そこが面白いところです。

シフト1を使ったアウグストゥスとの違い

後継者アウグストゥスは、AをBにずらすシフト1の暗号を好んだと伝わります。
カエサルのシフト3と比べると、同じ仕組みでもずらす数は人や用途で自由に変えられることがはっきりします。
ここで見えてくるのは、シーザー暗号の本質が「3」そのものではなく、「ずらす数を鍵にする」発想にあるという点です。

歴史トリビアとしてアウグストゥスのシフト1を紹介すると、「じゃあ自分でも好きな数で作れる」と発想が切り替わる瞬間があります。
制作側の目で見ると、この気づきはとても大きい。
ROT3が定番なら、別の数字でも同じ原理で動くと分かれば、暗号は一気に身近になります。
シーザー暗号を覚えるなら、カエサルの逸話とアウグストゥスの違いを対で押さえてみてください。

シーザー暗号の解き方①|シフト数が分かっているとき

シーザー暗号の復号は、暗号化した向きと逆に前へずらすだけです。
シフト3で暗号化された文なら、DをA、EをB、FをCに戻すように3文字分さかのぼれば平文に復元できます。
手順そのものは単純ですが、途中で見失わないための工夫を入れると、長い文字列でも安定して解けるようになります。

復号は逆向きにずらすだけ

復号の基本は、与えられたシフト数をそのまま逆向きに使うことです。
シフト3なら、暗号文の文字を3つ前に戻すだけでよく、まずは1文字ずつ機械的に戻していく姿勢がいちばん確実でしょう。
解き慣れないうちは意味を推測しようとするより、位置を戻す作業に集中したほうが、取りこぼしが減ります。

アルファベット対応表の作り方

ミスを減らす最大のコツは、アルファベット26文字を1段目に平文、2段目に暗号文として書き切ることです。
対応表を一度作れば、見比べながら該当文字に線を引いていけるので、飛ばし読みが起きにくくなります。
鉛筆で表の該当文字に線を引きながら進めると、長文でも取りこぼしが激減しやすいです。
実際、ROT24のような大きいシフトで全員が手こずった回に、「26から引いて逆向きに2だけずらせばいい」と伝えたら、解答速度が一気に上がりました。

平文ABCDEF
暗号文DEFGHI

このように対応を固定してしまえば、毎回ゼロから考える必要がありません。シフト3ならD→A、E→B、F→Cと、対応表をたどるだけで復号できます。

巡回(A↔Z)でつまずかないコツ

前へずらすときは、Z↔Aの巡回を必ず意識してください。
Aの3つ前はXではなく、いったんZをまたいで戻る感覚になります。
ここを取り違えると、1文字だけずれたまま進んでしまい、答え全体が崩れる原因になります。
巡回は暗号のルールそのものなので、例外ではなく最初から組み込んでおくのが安全です。

シフト数が大きい場合は、後ろに20ずらすより前に6ずらすと考えるほうが速いです。
ROT20は26−20で6に置き換えられるので、実質的には6文字戻す操作になります。
巡回の性質を逆手に取った時短なので、まずは26から引く癖をつけてみてください。
こうした整理を先にしておくと、暗号文が長くなっても落ち着いて処理できます。

シーザー暗号の解き方②|シフト数が分からないときの総当たり

シーザー暗号は、鍵が分からなくても手順さえ決めれば解ける暗号です。
シフト数は0〜25の26通りしかなく、ROT0は変化なしなので、実質25通りを順に試せば必ず正解にたどり着けます。
迷ったらまず先頭の短い単語から当たりをつけ、見えた候補を全文に広げていきましょう。

鍵は実質25通りという安心材料

シーザー暗号で鍵が不明でも、怖がる必要はありません。
ずらし方は0〜25の26通りですが、ROT0は元の文字列と同じなので、解く側が実際に確認するのは25通りです。
しかもこの25通りは抜け漏れなく試せるため、運任せではなく、順番に潰していけば必ず答えに届くのが強みです。
謎解きで焦る局面でも、ここが分かっているだけで手が止まりにくくなります。

筆者は累計300回以上イベントに参加してきましたが、シフト数不明のシーザー暗号は、先頭の1語だけに絞って総当たりするだけで体感3分以内に解けることが増えました。
全体をいきなり読むより、まず入口を狭くするほうが、確認の手戻りを減らせて速く進めます。
特にチームで解くなら、ROT1〜5担当とROT6〜10担当のように分けて動くと、25通りの確認が一気に前に進みます。
司令塔は候補が当たった瞬間に全体へ展開し、無駄な重複を減らしましょう。

1文字ずつずらして総当たりする手順

基本の解き方は、暗号文の先頭にある短い1語を見て、ROT1から順に1文字ずつずらしていく方法です。
意味の通る単語が現れたシフト数が見つかれば、そのずれを全文にそのまま適用します。
これが全数探索、つまりブルートフォース/総当たりです。
再現性100%の方法なので、偶然のひらめきに頼らず処理できるのが実戦向きです。

たとえば最初の3文字が読める単語になった時点で、ほぼ当たりだと見てよいでしょう。
そこからは残り全体に同じシフト数を当てれば、一気に文章がほどけます。
暗号文全体を毎回読み直す必要はありません。
先頭数文字で仮説を立て、早めに候補を固定するのが時短のコツです。
実際、この進め方なら紙とペンでも十分回せますし、会場でも流れを止めにくいはずです。

頻度や短い単語で当たりを絞るコツ

英文なら、E・T・Aのような出現頻度の高い文字に目を向けると、当たりのシフト数を絞り込みやすくなります。
よく出る短い単語、たとえば THE や AND の形が見えた時は特に有力です。
25通りを順に確認する前に、文字の並びから「英語らしさ」を拾うと、候補の数をかなり減らせます。
頻度分析は地味ですが、総当たりの手数を減らす実用的な補助線です。

紙で25通りを回すのが面倒なら、ネット上のシーザー暗号デコーダーやROT早見表を使う手もあります。
ショートカットは便利ですが、謎解きでは自分の手で崩していく過程そのものが楽しいので、まずは数通りだけでも動かしてみてください。
おすすめです。
慣れてきたら、頻度分析と総当たりを組み合わせて、まず当たりを絞り、残りはツールで確認する回し方にすると、かなり安定して解けるようになります。

謎解きでのシフト数の見抜き方|問題文に隠れたヒント

シーザー暗号では、シフト数が問題文のどこかに埋め込まれていることが多く、そこを拾えるかどうかで解きやすさが大きく変わります。
たとえば不自然に目立つ数字、3という数、西暦や年号、問題番号は、まずシフト数の候補として疑ってみると早いです。
筆者も周遊型イベントで、地図上の「3丁目」という何気ない表記がシフト3の合図だった仕掛けに出会ってから、文中の数字を片っ端から見る癖がつきました。

数字・年号・問題番号はシフト数の候補

カエサルが使ったシフト3にちなみ、制作側はROT3を定番として仕込むことがあります。
初心者向け公演ではほぼROT3にしている、という制作者側の話を聞いたこともあり、迷ったらまず3を試すのはかなり実用的です。
数字が複数出てくる問題でも、装飾に見えるものと手がかりに見えるものは別ですから、問題番号や西暦、年号のように視線を引く数字を優先して当ててみましょう。
そこから意味の通る文字列が立ち上がれば、同じシフトを全体に広げていけばいいのです。

矢印やイラストが示す『ずらす方向』

シフト数がわかっても、前にずらすのか後ろにずらすのかを取り違えると復号は噛み合いません。
矢印、イラスト、「3つ進む」といった表現は、数そのものよりも方向を指示している場合があり、ここを読み落とすと逆回転しただけで終わってしまいます。
つまり、数字を見つけたら次に見るべきは向きです。
右向きの矢印なのか、登場人物の視線がどちらを向いているのかまで拾うと、問題文の設計意図が見えやすくなります。

一部を解いて仮説検証する進め方

見抜き方の仕上げは検算です。
先頭の数文字だけを仮のシフト数で試し、意味が通るかを確かめてから、残り全体に同じ数を当てると速く進めます。
逆に、数文字だけ直しても文章が不自然なら、その候補は外れです。
仮説を立てて、少し試して、外れたら切り替える。
このループを回せば、シフト数の手がかりが隠れていても落ち着いて詰められるでしょう。

ROT13・ヴィジュネル暗号との違い|派生と発展

項目 要点
ROT13 シフト13に固定したシーザー暗号の特殊形で、2回かけると元に戻る自己復号タイプです。
ヴィジュネル暗号 キーワードに沿って複数のシフト量を切り替える多表式換字暗号で、単一シフトより頻度分析に強い仕組みです。
シーザー暗号 単一のシフトで成り立つため、25通りの総当たりや頻度分析に弱く、現代では実用暗号ではありません。

ROT13は、シーザー暗号を13ずらしで固定しただけの、きわめて単純な派生形です。
26文字のちょうど半分だけ動かすので、同じ処理を2回行えば元に戻り、暗号化と復号が同じ手順になるところに面白さがあります。
ヴィジュネル暗号はそこからさらに発想を進め、複数のシフトをキーワードで切り替えることで、見た目の規則性を崩しました。
単一シフトのシーザー暗号が今日の安全な暗号としては使えないのは、この差がそのまま弱点になるからです。

ROT13は13ずらしの自己復号タイプ

ROT13はシフト数を13に固定したシーザー暗号の特殊形で、26文字の半分だけ移動する設計です。
アルファベットは26文字しかないので、13ずらしをもう一度かけると必ず元の位置に戻ります。
つまり、暗号化と復号がまったく同じ処理になるわけです。
手順が覚えやすく、見かけの複雑さに対して中身はとても素直だと分かります。

この性質は、クイズの答えやネタバレを「うっかり見えないように隠す」用途と相性がよいです。
筆者がネット掲示板でROT13の解答を初めて見たときも、シーザー暗号の知識だけで一発で読めて、学んだ内容がそのまま現実で通じる快感がありました。
暗号というより、ちょっとした目隠しに近い使い方だと捉えると理解しやすいでしょう。

ヴィジュネル暗号は複数シフトの多表式

ヴィジュネル暗号は、キーワードに合わせてシフト量を次々に切り替える多表式換字暗号です。
同じ文字でも出る位置によって変換先が変わるため、1つの文字がいつも同じ置換先になるシーザー暗号より、規則が見えにくくなります。
だからこそ単純な頻度分析が効きにくく、19世紀まで解読困難とされました。
見た目は似ていても、守りの硬さは別物です。

ワークショップでこの仕組みを軽く見せると、参加者が「シーザー暗号を何個も重ねた感じ」と直感的に理解する場面がよくあります。
ここが重要で、暗号の強さは難しい式ではなく、同じ文字列に同じ変換を返さない工夫から生まれるのだと体感できます。
ROT13やシーザー暗号を知っているほど、ヴィジュネル暗号の発想は飲み込みやすくなります。

頻度分析に弱いシーザー暗号の限界

シーザー暗号は単一のシフトしか使わないため、解読側から見ると25通り総当たりで試せますし、文字の出現傾向を手がかりにする頻度分析にも弱いです。
つまり、秘密を守るための道具としては単純すぎるのです。
現代では実用的な暗号としては使われませんが、そのぶん仕組みは見通しがよく、変換の規則を学ぶ入口としてはこれ以上ない題材になります。

実際、暗号入門や謎解きでは、この「弱いのに分かりやすい」性質が強みになります。
25通りを順に試せば読める、文字のずれ方を観察すれば発想がつかめる、という手触りがあるからです。
まずシーザー暗号で基本の考え方をつかみ、次にROT13で自己復号の感覚を知り、最後にヴィジュネル暗号で多表式へ進む。
こう並べて学ぶと、暗号の地図が一気に広がります。

シェア

真鍋 奏人

謎解きイベント参加歴8年、累計300回以上の参加経験を持つ謎解きマニア。謎検1級取得。攻略テクニックの体系化をライフワークとしています。

関連記事

テクニック

ヴィジュネル暗号は、鍵の文字数ぶんだけ異なるずれを使い分ける多表式暗号であり、シーザー暗号がずれ1種類なのに対して最大26種類のずれを順番に適用します。つまり、同じ平文の文字でも位置によって別の暗号文字に変わる仕組みで、見た目は難しくても「シーザー暗号の合わせ技」と考えるとぐっと掴みやすくなるはずです。

テクニック

数字暗号は、数字を文字へ当てはめる換字式と、表の座標や何文字目かを指す位置参照式に大別できる暗号です。謎解きイベントで数字列に10分ほど詰まったときも、桁数と最大値を声に出して確かめた瞬間に型が割れ、解き筋が一気に見えました。

テクニック

顔文字暗号は、謎解きで使われる換字式暗号の応用であり、文字や数字の暗号は解けるのにここだけ手が止まる人へ向けて、ひらめき任せをやめて再現できる手順に落とし込むための記事です。

テクニック

16進数は、0〜9とA〜Fの16個の記号で数を表す記数法で、謎解きでは41 42 43のような羅列として出てきます。見た目は難しそうでも、まず2桁ごとに区切って単位をつかめば、紙とペンだけで十分に読み解けるのがこの暗号の面白さです。