シーザー暗号の仕組み:なぜ簡単に解読されてしまうのか

シーザー暗号は知られている中で最も古い暗号方式の一つです。手作業でも実行できるほどシンプルですが、それゆえに数秒で解読されてしまいます。

全ての文字を同じ数だけずらすだけ

あらかじめ決めた「ずらし数(鍵)」の分だけ、各文字をアルファベット順でその先の文字に置き換える。Zを超えた場合はAに戻ってループする。例えばずらし数3ならA→D、B→Eとなる。

実は合同算術(mod)の仕組み

正式には「暗号化後の文字位置 = (元の文字位置 + ずらし数) mod 26」という式で表され、この「mod 26」こそがZを超えると再びAに戻る仕組みを作っている。

ROT13はずらし数13のシーザー暗号

26の半分がちょうど13であるため、ROT13は2回適用すると元のテキストに戻るという特徴があり、暗号化と復号が全く同じ操作になる。ネット上でネタバレやオチを隠す目的で使われてきたが、本格的なセキュリティ用途ではない。

ユリウス・カエサルの名前に由来

ローマの歴史家スエトニウスの記録によれば、カエサルは軍事的な通信でずらし数3の暗号を実際に使っていたとされる。

たった25通りの鍵しかないため容易に破られる

アルファベットに対して考えられるずらし数はゼロを除いて25通りしかなく、全て手作業で試すか、簡単な頻度分析を使うだけで数秒で解読できてしまう。現代の暗号は総当たりでは到底試しきれないほど巨大な鍵空間を使っている。

現代の基準で「破られている」とされる理由

総当たり(わずか25通り)に加え、英語であれば「e」が最も頻繁に使われるといった言語ごとの文字出現頻度を利用した頻度分析によって、比較的長い暗号文であればほぼ即座にずらし数が特定されてしまいます。そのため現代では実質的なセキュリティはほぼゼロで、パズルや暗号学の基礎学習、あるいはROT13のようなちょっとしたネタバレ防止など、カジュアルな用途にとどめられています。

シーザー暗号から現代の暗号技術へ

シーザー暗号は「換字式暗号」の一種であり、暗号学の概念的なルーツの一つです。鍵に基づく変換や暗号化・復号の対称性といった、今も通用する基本概念を体験的に学べる一方、AESなどの現代の暗号方式ははるかに巨大な鍵空間と複雑な非線形変換を用い、統計的な攻撃に耐えるよう設計されています。シーザー暗号は実用的な保護手段というより、暗号学を学ぶ「最初の一歩」として理解するのが適切です。

よくある質問

ROT13は安全な暗号ですか?

全く安全ではありません。そもそも鍵という概念がなく、ROT13だと知っている人であれば誰でも即座に復号できます。何かを本気で隠したい相手から守るためではなく、ネタバレやパズルの答えなどを最初の一目で見えないようにするための「お約束」として使われているだけです。

シーザー暗号と一般的な換字式暗号はどう違いますか?

シーザー暗号は全ての文字を同じ数だけずらすため、アルファベットの並び順自体は保たれます。一般的な換字式暗号は各文字を任意の別の文字に個別に対応させる(アルファベットをシャッフルする)ため、鍵の組み合わせが26の階乗というはるかに多い数になり、総当たりでは破りにくくなります。ただし頻度分析を使えば依然として解読は可能です。