ブルートフォースによるシーザー暗号の解読

25通りのすべてのシフトを試すブルートフォースでシーザー暗号を解読する方法を学びます。これがシーザー暗号を実際のセキュリティに不適切にする理由を理解しましょう。

Caesar Cipher Variants

詳細な説明

シーザー暗号へのブルートフォース攻撃

シーザー暗号へのブルートフォース攻撃は、可能な鍵が25個(シフト1から25)しかないため、非常に簡単です。攻撃者は各シフトを試して結果を読むだけです。

仕組み

暗号文"KHOOR"に対して、すべてのシフトを試します:

シフト 1: JGNNQ
シフト 2: IFMMP
シフト 3: HELLO  ← 読める英語!
シフト 4: GDKKN
シフト 5: FCJJM
...
シフト25: LIPPS

シフト3で"HELLO"が得られ、平文が即座に判明します。

なぜ25通りしかないのか?

シーザー暗号の鍵空間は非常に小さいです:

  • アルファベット26文字
  • シフト0 = 暗号化なし(恒等)
  • シフト1〜25 = 有効な鍵のみ
  • 合計:25通りの鍵

比較として、現代のAES-256暗号は2²⁵⁶通りの鍵を持ちます。これは宇宙の熱的死まで世界中のすべてのコンピュータを動かしてもブルートフォースできないほど大きな数です。

セキュリティの教訓

シーザー暗号は重要なセキュリティ原則を実証しています:小さな鍵空間の暗号は、アルゴリズムがどうであれ安全ではない。現代の暗号化には、ブルートフォースを計算上不可能にするのに十分な大きさの鍵空間が必要です。

ユースケース

シーザー暗号へのブルートフォース攻撃は、すべての入門暗号学コースとセキュリティ認定プログラムで実演されます。鍵空間サイズが重要である理由と、シーザー暗号を機密情報の保護に決して使用すべきでない理由を示します。

試してみる — ROT13 / Caesar Cipher

フルツールを開く