✨ スキュタレー(紀元前7世紀、スパルタ)
スパルタ軍が使った世界最古級の軍事暗号のひとつ。特定の太さの棒(スキュタレー)に革紐を螺旋状に巻き付け、棒に巻いた状態で縦書きにメッセージを書く。紐をほどくと文字がばらばらになり、同じ太さの棒に巻き付けると読める。これは転置暗号の原型で、棒の太さが「鍵」に相当します。
🔸 シーザー暗号(紀元前1世紀)
ユリウス・カエサルが使った単純な換字暗号。文字を一定数(カエサルはシフト3)ずらして変換します。
💡 シフト3の例
平文:HELLO → 暗号:KHOOR
解読:KHOORを3文字戻す → HELLO
鍵の候補は25通りしかないため、全部試せば(全数探索)すぐ解読できます。後述の頻度分析にも完全に敗れます。

当時の人には難しかったの?

当時は文盲率が高く、そもそも文字が読める人が少なかったにゃ。「知識の格差」が安全性の源だった時代にゃ🐾 現代暗号は「アルゴリズムを公開しても安全」を目指す、全く異なる考え方だよ!
🔸 頻度分析(9世紀):アルキンディーの革命
9世紀のアラブの学者アル=キンディーが発見した革命的な解読法。どんな言語でも文字の出現頻度に偏りがあります。
- 英語:「e」が約13%と最多、次いで「t」約9%、「a」約8%…
- 日本語:「の」「は」「に」「を」「い」の順に出現頻度が高い
換字暗号では文字を置き換えても頻度の偏りが残るため、暗号文で最も多い文字が「e」に対応すると推測できます。この発見ですべての単純換字暗号が原理的に解読可能になりました。
🔸 ヴィジュネル暗号(16世紀):300年「解読不能」と呼ばれた多表式換字暗号
1553年に考案された多表式換字暗号。複数のシフト数を鍵語として使い、頻度の偏りを打ち消します。
鍵語:「KEY」(K=10, E=4, Y=24)
平文:HELLO WORLD
鍵 :KEYKE YKEYK(繰り返す)
暗号:RIJVS UYVJN(同じEでも異なる文字に)
「le chiffre indéchiffrable(解読不能の暗号)」と呼ばれ300年以上信頼されました。しかし1863年、プロイセンのカシスキーがカシスキー試験(繰り返しパターンから鍵長を特定する手法)を発見。鍵長がわかれば複数のシーザー暗号に分解でき、頻度分析で解読できます。
🔸 ワンタイムパッド(完全秘密性)
1882年にフランク・ミラーが考案し、1917年にバーナムが特許を取ったワンタイムパッド(One-Time Pad, OTP)は、情報理論的に「完全に安全な(解読不能な)」唯一の暗号方式です。
- メッセージと同じ長さの完全ランダムな鍵を使う
- 鍵はXOR演算でメッセージと結合する
- 鍵は一度しか使わない(使い捨て)
1949年にクロード・シャノンが数学的に「完全秘密性(Perfect Secrecy)」を証明しました。ただし「メッセージと同じ長さの鍵を事前共有する」という実用上の困難から、現在は外交・軍事の最高機密通信にのみ使われます。

「完璧だけど使いにくい」OTPの代わりに、「十分に安全かつ実用的」なAESが現代の主役になったんだにゃ🐾 実用性も安全性も、どちらも大事ってことにゃ!
📌 古代〜近代暗号の変遷まとめ
| 時代 | 暗号 | 解読方法 |
|---|---|---|
| 紀元前7世紀 | スキュタレー(転置暗号) | 同じ太さの棒で巻く |
| 紀元前1世紀 | シーザー暗号(換字暗号) | 全数探索・頻度分析 |
| 16世紀 | ヴィジュネル暗号(多表式) | カシスキー試験+頻度分析 |
| 19世紀 | ワンタイムパッド | 数学的に解読不能(実用困難) |