古典暗号のビジュアル解読法 ー生成AIツールで挑む暗号文の謎解きー

1.9K Views

August 23, 25

スライド概要

2025年8月23日 第122回ゆるいハッキング大会 in Tokyo
発表者 IPUSIRON

発表体験記
https://akademeia.info/?p=43255

profile-image

Security Akademeiaの中の人。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

古典暗号のビジュアル解読法 生成AIツールで挑む暗号文の謎解き 2025年8月23日 第122回ゆるいハッキング大会 in Tokyo 発表者 IPUSIRON

2.

本日のテーマ 古典暗号の基礎と解読法を解説する 【本日のゴール】 ①「転置」と「置換」の概念で古典暗号を整理する ②古典暗号について、よくある疑問を解決する ③古典暗号の解読の困難さを知る ④ヴィジュネル暗号文の解読を体験する 2

3.

50分で暗号解読の概要を解説する • 興味がなくても、今から50分間だけ時間をください。 • 古典暗号とその解読法の全体像をつかめる。 • 全体像を理解するだけでも、一生役立つ知識になる。 • 数学、コンピューター・サイエンス、プログラミングが苦手でもOK。 • 今回のスライドはブログでも公開するので、基本的にはメモ不要。 • 書かれていないこともしゃべるので、それは適時メモしてください。 • 質問があれば、休憩時間や懇親会で気軽に声を掛けてください。 3

4.

目次 •自己紹介 •古典暗号を速習する •転置を理解する •置換を理解する •古典暗号文の解読の背景 •古典暗号文の解読 <理論編> •古典暗号文の解読 <実践編> •お知らせ 4

5.

自己紹介 5

6.

IPUSIRONの生態 IPUSIRON (イプシロン) • 福島県相馬市在住 • 本業はコンピューター書籍の文筆家(執筆業) • 副業は同人サークル活動、その他いろいろ • 生きがいは読書(雑食) • 今の関心事は、古典暗号、錠前や鍵 6

7.

本業はコンピューター書籍の執筆 • 大学時代に初書籍。 • それ以降、20年以上執筆を継続。 • 関わった本は40冊近い。 • 翻訳・監訳などもたまにやる。 • 守備範囲はセキュリティ全般(興味のあるものだけ) • 情報セキュリティ…サーバー侵入、遠隔操作 • 物理的セキュリティ…防犯・防災、鍵開け、物理的 侵入 • 人的セキュリティ…ソーシャルエンジニアリング 7 高さ91cmに到達

8.

近年の出版物(著作・翻訳本・監訳本) 大きな書店のコンピューター書籍コーナーを探してみてください。Am zonでも買えます。 a 8

9.

(関与した)暗号本たち 9

10.

【X】@ipusiron https://x.com/ipusiron Security Akademeia https://akademeia.info/ IT技術書を執筆して、FIRE生活を実現するまで。 30冊以上の本を書いて見えてきた「自分らしい生き方」 https:// ndy-code.io/engineer-lab/ipusiron fi 10

11.

古典暗号を速習する

12.

古典暗号のイメージ • ①種類が多い • ②仕組みが複雑 • ③未解読暗号文はもう少ない • ④コンピューターを使えば解読は簡単 • ⑤儲からない • ⑥現在ではやる価値がない 12

13.

そもそも暗号とは • 第三者に秘密が漏れないようにメッセージを送る技術のこと。 • 例えば、ハガキの場合 • 配達員、郵便受けを覗いた人、宛先の家族にメッセージが読まれてしまう。 • 封書(封筒に入れた手紙)の場合 • 封筒を開けない限り、誰も読めない。 • 封筒を盗まれて、勝手に開けられたら、読まれてしまう。 • 暗号はメッセージそのものを送信者と受信者しかわからないようにするもの。 • ハガキに暗号文を書けば、読まれても伝えようとするメッセージはわからない。 13

14.

コード変換は暗号ではない 通信や対話には、暗号ぽいが暗号ではないものも活用されています。 • 符号化…コード変換の一種。コンピューターが扱いやすいように変換すること。 • エンコード…一定の規則で他の表現に変換すること。 • デコード…元の表現に戻すこと。 • 符号化の主な例 • ASCIIコード • モールス信号 14

15.

ASCIIコード 各文字(英数字、記号、制御文字など、128種類の文字)を数字(7ビット値)に対応させたもの “ABC” エンコード デコード 「65, 66, 67」(10進数) 「100 0001, 100 0010, 100 0011」(2進数) 15

16.

点字はコード変換であり暗号ではない 視覚に障害のある人が指先で触れて読み書きする文字(あるいは文字体系) • 縦長の長方形に、点がある位置は3行2 列ある。 • 6点の凸があるかどうかの組み合わ せ • 例:文字列「おさけ」に対応する点字 • お=②(2の点)+④(4の点) • さ=①+⑤+⑥ • け=①+②+④+⑥ 1 4 2 5 3 6 プルタブの近くに「おさけ」と点字で打ってある(*) *サントリーの「お客様センター」ページから引用 (https://www.suntory.co.jp/customer/faq/001705.html) 16

17.

コード変換を暗号のように使う • 書籍暗号、辞書暗号 • コードトーカー…敵が理解できない言語を暗号に 利用した際の翻訳者 • 聖書を使ったコード • 「50-7-3」という3数字の組 • 50ページ目、7行目、前から3番目の英単語 • 電信とコードは相性がよかった • 通信文を短くできる 通信コストを下げられる 17 ナバホ族のコードトーカー

18.

ステガノグラフィー 通信文の存在を隠す • ステガノグラフィーの例 • あぶり出し、不可視インク • マイクロドット • 画像ファイルにテキスト情報を埋め込む • フランシス・ベーコン曰く、優れた暗号とは.. • ①書くのが簡単で骨が折れない • ②安全 • ③疑念を抱かせない...ステガノグラフィーに近い概念 18 届いたハガキにブラックライトをあてると...

19.

古典暗号と現代暗号 大雑把にはインターネット誕生の前後で区別できる • 暗号には、古典暗号と現代暗号がある。 • 古典暗号 • 歴史的な手法から発展した暗号 • 例:シーザー暗号、スキュタレー暗号、エニグ マ暗号など • 現代暗号 • コンピューター技術の進化に伴う暗号 • 例:RSA暗号、AES、量子暗号、耐量子暗号 19

20.

古典暗号の用途 • 軍事…軍事作戦、補給、爆弾や鉄砲などの資源、スパイとの通信 • 外交…同盟国との通信、大使館と母国間の通信、交渉戦略 • 商業…取引の秘密 • 暗号ミステリー…小説や映画などで謎解き要素 • 私的なやり取り…恋文、日記 • 宗教・文化的通信…特定のコミュニティ内での秘密 • その他…殺人犯が残した暗号文(らしいメッセージ)、財宝の在処を隠した暗号文、 スパイが母国の家族に向けた個人的なメッセージ 20

21.

古典暗号の特徴 ここでは仕組みと安全性に着目する • 仕組み • 「転置」と「置換」が本質 • たくさんある暗号は、これらのどちらか、あるいはその組み合わせ • 転置 転置式暗号 • 置換(=換字) 換字式暗号 • 例外もある。 • 分置式、コード、ステガノグラフィー • 安全性 • 鍵数が少ない暗号は、暗号化の仕組みを隠すことが安全に直結する(隠蔽による安全) • 機械式が登場することで、膨大な鍵が使えるようになる。 21

22.

転置を理解する

23.

転置はシャッフルそのもの • 転置(transposition)=シャッフル=文字の入れ替え • 暗号文は平文をシャッフル • 平文全体をランダムにシャッフルできるが現実的ではない。 • 便利な転置の規則を定義する。 • 通常は平文をブロックに分けてその中でシャッフルすることが多い。 • 鍵=転置のルール=シャッフルの仕方 23

24.

転置暗号の例 • 逆順 • アナグラム • スキュタレー暗号 • 縦列転置暗号 • 回転グリル暗号 24

25.

スキュタレー暗号 棒(や筒)に帯状の用紙を巻き付けて、棒が伸びる方向に平文を書く • 通信媒体=細い布 or 紙 • そのまま平文を書いてしまうと秘密でなくなるので、工夫して平文を書く。 • ベルトなどにすれば存在を隠せる ステガノグラフィー • 仕組み • ①棒に布をまいてから、横に平文を書く。 • ②残りの余白は適当な文字で埋める。 • 鍵=棒そのもの=棒の太さ • 飛び飛びの位置(等間隔)に平文文字がある。 • スキュタレー暗号=縦読み(文頭のみを抽出して読む)の進化形 • Scytale Cipher Visualizer • https://ipusiron.github.io/scytale-cipher-visualizer/ 25 スキュタレー暗号の例

27.

レールフェンス暗号 レールの上に斜め(あるいはジグザク)に並べて並び順を変えることで暗号化する • 並べ方には2つの方式がある • ①斜めに並べる • ②ジグザクに並べる • 鍵=レールの数 • RailFence CipherLab • https://ipusiron.github.io/railfence-cipherlab/ 27

29.

回転グリル暗号 グリル(穴あきの型紙)を一定回転ごとに順に文字を埋めていくことで暗号文を作成する • 回転グリル暗号の暗号化の手順 • ①3×3マトリクスから6×6のグリルを作る • ②グリルを0°で配置 → 平文の1/4を穴に配置 • ③グリルを90°回転 → 平文の2/4を穴に配置 • ④グリルを180°回転 → 平文の3/4を穴に配置 • ⑤グリルを270°回転 → 平文の4/4を穴に配置 • ⑥行順に読んで暗号文とする • 鍵=3×3マトリクスそのもの=3×3マトリクスに埋められた1 4の配置 • Grille CipherLab • https://ipusiron.github.io/grille-cipherlab/ ~ 29

30.

平文は"HAPPY HOLIDAYS FROM THE HUNTINGTON FAMILY" ※空白は無視して処理 グリルを0°で配置 グリルを90°で配置 グリルを180°回転 グリルを270°回転 暗号文は"TDHOAAPYHPEHUNFYASMFNROHOLTIIINLMGYT" 30

31.

暗号文の文字頻度は平文と変わらない 平文 • 転置式=シャッフル=文字の位置が変わるだけ • 文字そのものは変化していない • 「暗号文の文字頻度」と「平文の文字頻度」は一致 • 平文が英文であれば、転置式暗号文の文字頻度は英文と 同じになる • シャッフルの仕方によっては、埋字やダミー文字が補助的 に使われる。 • それでも、その変化はほんの少しだけ。 • 暗号文と平文の文字頻度はほぼ同じ。 31 暗号文 平文 暗号文 h 1 1 e 1 1 l 2 2 o 1 1 その他 0 0 平文と暗号文の文字頻度

32.

分布が完全一致 • 頻度分布=文字頻度の分布 • 「暗号文の頻度分布」と「平文の頻度 分布」が同一 • (頻度による)ソート不要。 "hello"の頻度分布(ChatGPT作成) 32

33.

置換を理解する

34.

置換は別の文字に変換すること • 置換(substitution) • =文字(あるいは文字列)の置き換え • =換字 • 「かんじ」だと「漢字」と同じ読みで紛らわしいので、暗号界隈 では「かえじ」と読む慣わしがあるらしい。 • (通常は)重複しないように変換。そうしないと一意に復号できない。 • 置き換えルール=「置換表」と呼ぶ対応表。 • エリザベス・フリードマンのアナロジー ※『コードブレイカー』P.160 • 「ミス・トランスポジション(転置)は、服をぐるりと回転させるだ け」 • 「ミス・サブスティテューション(換字)は新しい服に着替える」 34 平文 暗号文 置換表

35.

換字式暗号の例 1文字(あるいは2連字)を別の文字・シンボルに置き換える。 • シーザー暗号、シフト暗号、アフィン暗号 • 単一換字式暗号 • 小説に登場する暗号…ドイルの「踊る人形」、乱歩の「二銭銅貨」、ポーの「黄金虫」 • ピッグペン暗号=フリーメイソンの暗号 • ダイグラフ置換暗号 • プレイフェア暗号 • ヴィジュネル暗号 • 多換字式暗号、多表式暗号 • ワンタイムパッド暗号 35

36.

シーザー暗号 • シーザー暗号(ROT3)…3文字ずらし • シフト暗号…n文字ずらし • ROT13…13文字シフト。2回暗号化すると元に戻る。 • 鍵=置換表そのもの • シフト暗号の鍵=シフトする数 • シフトという特性上、数をアルファベット1文字に置 シーザー暗号 『暗号技術のすべて』P.34より き換えられる • 3文字ずらし 「シフト暗号の鍵=1文字」 hello • Caesar Cipher Wheel Tool • https://ipusiron.github.io/caesar-cipher-wheel/ 36 KHOOR

38.

ROT13 / ROT47 インボリューション(2回暗号化すると元に戻る)するシフト暗号 • ROT13 • アルファベット26文字を対象に13文字分ずらす。 • ROT13 Encoder • https://ipusiron.github.io/rot13-encoder/ • ROT47 • ASCII可視文字(33〜126)を対象に47文字分ずらす。 • QuickROT47 • https://ipusiron.github.io/quick-rot47/ 38

41.

ダイグラフ置換暗号 • ダイグラフ=2連字 • 平文の2文字 暗号文の1文字 • 鍵=26×26のマトリックス • 暗号文シンボル(文字では足りない)は676種類 • =26×26 • 例:ジャンバッティスタ・デッラ・ポルタ (Giambattista della Porta)の方式 • 彼が使った文字体系は20文字 • 暗号文シンボルは400種類(=20文字×20文字) 41 Giambattista della Portaの方式の置換表 『基礎暗号学』表紙より

42.

ヴィジュネル暗号 シーザー暗号の進化形=複数の置換表を使う • 多換字式暗号の鍵=複数の置換表 • ヴィジュネル暗号…多換字式暗号の代表例 • 複数のシフト暗号の組み合わせ • 複数の置換表 • ヴィジュネル暗号の鍵=キーワード=数文字の単語 • Vigenere Cipher Tool • https://ipusiron.github.io/vigenere-cipher-tool/ 42

44.

文字は変わるが頻度だけは変化しない • 置換=別の文字への置き換え • 暗号文において、各文字の頻度は変わる。 • 平文の'e'の頻度は1 • 暗号文の'e'の頻度は0 • 暗号文に珍しい文字'z'が出現。 • しかし、頻度そのものは変わらない。 • 平文では、頻度2が1つ、頻度1が3つ 平文 暗号文 b 0 2 e h i l o p z 1 1 0 2 1 0 0 0 0 0 1 0 0 1 1 0 その他 • 平文では、頻度2が1つ、頻度1が3つ 平文と暗号文の文字頻度 44

45.

ソート後の分布が変わらない • 平文と暗号文の分布は一致しないが… • 頻度順でソートすると、平文と暗号文で分布が同一。 • (単一換字式なら)暗号文文字の頻度から、置換表を推測できる。 • 暗号文での頻出文字は、英文の頻出文字と一致するはずだから。 • 平文が英文なら、英文の特徴が現れているという背景がある。 45

46.

平文"hello"の頻度分布【再掲】 暗号文"izbbp"の頻度分布 頻度(縦軸) でソート 46 頻度でソートした頻度分布 頻度でソートした頻度分布

47.

単一換字式暗号 vs. 多換字式暗号 • シーザー暗号 • 鍵=ROT3=キーワード文字'D' 全文字に'D'の置換表 • 1つの置換表 hello • ヴィジュネル暗号 • 鍵=キーワード"DOG"の場合 KHOOR 1文字目、4文字目は'D'の置換表 2文字目、5文字目は'O'の置換表 • 3つの置換表 3文字目は'G'の置換表 • ヴィジュネル暗号はより安全 • 単一換字式暗号…同じ平文文字は同じ暗号文文字になる。 • 多換字式暗号…そうとは限らない。 47 hello KSROC

48.

古典暗号文の解読の背景

49.

暗号解読チャレンジ • 霊界からのメッセージ送信実験 • 超心理学者でもあるRobert Thoulessによる実験。 • 実験の前に解読されてしまう。 • NSAマンデーチャレンジ • NSAが2015年5月にXに投稿した4つの暗号チャレンジ。 • 刑務所からのメッセージ • 刑務所内での囚人暗号 • 現代でも使われる • CTF、ナゾトキに出るかも 49

50.

未解決暗号文 • 世界四大未解決暗号文 • ビール暗号 • ゾディアック・メッセージのZ340 • ヴォイニッチ手稿 • クリプトスのK4 • その他の未解決暗号文 • タバコケース暗号 • ドラベラ暗号 • 他にも無数にある。 50

51.

世界四大未解決暗号文「ビール暗号」 • アメリカで1822年頃に書かれたとされる真偽不明の暗号文。 • 1885年発行の小冊子「ビール・ペーパー」によって世間に知られるようになっ た。 • 3枚の紙。 • 各々に財宝の在処、財宝の詳細、相続人が書かれているとされる。 • 2枚目は、鍵が米国独立宣伝だった。 • 1枚目と3枚目は未解読。 • 財宝は推定60億円。 • バージニア州法によれば、トレジャーハンターが私有地で発掘しても取得でき る。 • トレジャーハンターと現地との間で、トラブル大発生。 • デマの可能性もある。 51 1枚目(未解読)

52.

世界四大未解決暗号文「ゾディアック・メッセージのZ340」 • ゾディアック事件 • 1968年から1969年にカリフォルニア州サンフランシスコ市内で起きた未解決 連続殺人事件。少なくとも5人が殺害された。 • 1974年には、犯人から37人殺害したことを示唆する手紙が届いている。 • 犯人不明。 • 映画『ゾディアック』…原作はノン・フィックション小説2冊。 • 原作者の主張する犯人とは、異なる説が現在も論じられている。 • ゾディアック・キラーの暗号文は4つある。 • Z408…1969年解読済み。 • Z340…2020年解読済み。 • Z13、Z32…未解決。暗号文が短すぎて解読困難。 52

53.

世界四大未解決暗号文「ヴォイニッチ手稿」 • 1912年イタリアで発見された古文書。 • 放射線炭素分析によって15世紀初頭と判明。 • 謎の文字(約25の文字体系)、奇妙かつ架空な生物画などが描かれている。 • 約240ページ。ただし、少なくとも28ページが欠落。 • 未解読。 • 誰が書いたのか、その目的、平文の言語、そもそも暗号なのかさえ不明。 • 挿絵には、特定の場所、時代、宗教、イデオロギーとの明確な関係を示す ものは一切なし。 • 少なくとも60件の解答(自称)が発表されている。 • 偽造や詐欺、薬草・錬金術の書物、宗教書、薬用軟膏の販売カタログという 説もある。 53 ヴォイニッチ手稿

54.

世界四大未解決暗号文「クリプトスのK4」 • クリプトス=Kryptos • CIA本部内に作られた彫刻クリプトス • 1990年に地元の芸術家Jim Sanbornによって制作された。 • 暗号化された碑文が刻まれている。 • 4つの暗号文 • K1、K2、K3…解読済み • K4…未解読 • 彫刻家が後にK4のヒントをいくつか出している。 54 クリプトス

55.

未解決暗号文の実例 昔の絵はがきや文献が発掘されるたびに、増える。 • HCPortal • =Portal of Historical Ciphers=歴史的暗号のポータルサイト • https://hcportal.eu • 歴史的暗号の世界への入り口。 • 暗号文データベース、便利なツール、そして多くのリソースを提供している。 • 未解決暗号文データベース • https://www.cryptograms.hcportal.eu/web/#/home • 1,000以上の未解決暗号文が収録 • 新しい暗号文が見つかれば増えるし、解読されれば減る。 55

57.

未解決暗号文の例 ピッグペン暗号(フリーメイソンの暗号)、ポストカード、AD 1907、North Americ ※https://www.cryptograms.hcportal.eu/web/#/ciphers/1214 a 57

58.

古典暗号文の解読 <理論編>

59.

古典暗号が解読されやすくなった理由 • 昔はペンと紙で解読していた • 時間、根気、情熱が必要。 • 機械式暗号に対応するために、解読器が開発される。 • コンピューター普及以後は、古典暗号が解読しやすい環境となる • PCの存在 個人が暗号解読できる。高性能化したおかげで高速処理が可能。 • 既存ツール or 自作プログラム 原則どんな解読もできるはず。 • インターネットやSNS 全世界に研究者や愛好家たちと情報交換できる。 • 【新】生成AIの誕生 AIが解読 or 補助する、AIでツールが作りやすい(愛好家が自作プ ログラムを作れる) 59

60.

それでも暗号解読されていないものがある理由 • コンピューターやインターネットといった強力な道具は揃っている。 • それでも解かれていない暗号文がたくさんあるという事実 • 解き方やコツをわかっていないと解けない。 • さらに別の問題もある... • 本当に暗号文なのか? • 正確に暗号文が作られているか? • 通信の途中、記録する過程で誤字脱字の可能性はないか? • 正しい暗号文であっても、情報が足りていない可能性がある。 • このギャップをAIが解決してくれるか?? 60

61.

解読できたとしてもいつどう使うのか? 贅沢な悩みでもあるが、ものすごい重要なテーマ • 解読済みの暗号で通信を続ける者は「金の卵を産むガチョウ」 • 卵を収穫し続けたいなら、ガチョウをびっくりさせてはいけない。 • 解読できた事実を使えば有利に動けるが、相手に解読されたかもしれないと怪しまれてしまえば、鍵 や仕組みを変更されてしまう可能性がある。 • 【残酷な選択】「将来何十万人もの命を救うかもしれない秘密を当面の間保持するのか、それとも、 たった今もっと少ない命を守るために使うのか。ただし使ってしまうと敵に露呈する恐れがある」 • ウィリアム・フリードマンは、このジレンマを「暗号学的分裂症」と称した。 • 決断・意志決定をするのは人間 • 通信解読班も人間。 • 解読結果を知る立場にあり、自分の家族が危険にさらされるという事実を知った場合、冷静でい られるか。 61

62.

解読のための戦略 その1 • 適用された暗号の種類を特定する • 平文の言語を特定する • 英語の統計的特徴 • 英語の頻出6文字…ETAOIN • 頻出のダイグラフ(連字)…"th"、"he"、"an"、"in"、… • 頻出のトリグラフ(3連字)…"the"、"and"、"tha"、"ent"、… • 接頭文字・接尾文字の頻度分析 • 頻出の2文字単語…"of "、"to"、"in"、"it"、… • 頻出の3文字単語…"the"、"and"、"for"、"are"、… • 1文字単語…'I'、'a' 62

63.

解読のための戦略 その2 • 空白の有無 • 単語、文の切れ目 • 暗号文の中の繰り返し • あらゆるミス…些細に思えるが、暗号解読を困難にする大きな要因の1つ。 • 平文のスペルミス • 暗号化の際の操作ミス • 暗号文の欠落、読み取りミス • 冗字、ヌル文字の特定・除去 63

64.

解読のための戦略 その3 • 総当たり攻撃 • 辞書攻撃 • 一致指数 • カシスキー法 • ヒル・クライミング法 • 通信状況分析 64

65.

通信状況分析 通信の外部情報を分析することで価値ある情報を得る技術 • 通信を傍受した際、通信情報を外部情報と内部情報に分類できる。 • 外部情報…いつ、どこからどこに、どの程度の通信が行われたか • 送信周波数、変調、使われている暗号化の種類、信号のタイミング、送信機・受信機の 位置など。 • 内部情報…通信文そのもの。 • 変調によって伝達される情報(音声、画像、データなど)。 • 暗号文の可能性あり。 65

66.

通信状況分析×暗号解読 • 暗号文の場合、その内容が解読できなくても、外部情報から何らかの情報は漏れてい る。 • 古典暗号における外部情報 • 送信元・送信先、無線なら発信源や電波が届く範囲、言語、人、通信タイミングや 量 • タイミングについての補足…こちらが敵にちょっかいを出すアクション後に、そこ から暗号文が発せられれば、そのアクションに関する内容を含んでいると推測でき る。 • 外部情報のカモフラージュという面白いテーマもあるが、今回は省略。 66

67.

古典暗号文の解読 <実践編>

68.

今回の解読アプローチ • 生成AIのプロンプトで直接解読させるのは(現在では)難しい。 • 古典暗号の知識を駆使して、適切な指示ができるなら、解読まで到達できる可能性 はある。 • しかし、その指示ができるなら、その指示を実施するツールを作ったほうがよさそ う(使い回せるし、正確)。 • 今回は、生成AIに解読支援ツールを作ってもらい、それらを活用して暗号解読する。 68

69.

ターゲット暗号文 今回の解読対象はこの暗号文 • AHKYMRTNPGSUXDISFNFQENKGIRTYTXFEIZQISTPGISYLVCFUCSREVPSTLKESHIYDSPVKEL IPUWMXIILPFATOWAHONLLABPGSNTPGXEJELIMCTXLATZXLEXLRHTULWWUSPEQOTRXL EVZAIRYZJXHKPEVTNDITAXLXIATOIUUGWWXAZTSRTUHLMCNELILGHWSFTLXYRKLRHO LYEXUXPWKOJPRXIZWIXHKXEHEIPRXRKDTICZESXHKZTMNOZRWOLXERKOYHVEWFMVE YELETZSICSNZYPDJPGPAXPXLEILYWEYHLMCNTQTERELIMZZXLEYPTERGEMSNCPLSLJEL ISKEVYTNDXSBKDIPFKGMHETEXLAZLPPMKYEVEICIETKOIUUGWXLAZELIYGCIINJZAIDHJX LEOCGVEGESVCKCXEITFRELOPREBRPVMGNEWXHGEEQOTRXLEYPEVERTJILOMIVTELRH TNPTYRYFMXOLSETPOYIWSZSEXTULPPMKYKSVKCRQETEWERKTRWTOEYXEJLQSNMXIR DKCMZITRXLEOCNYSZASAEXDJVOSELICUYWINZZJXHKRSZEXYIHTNLXAHKYIZEXLRCFUC QSFMZZIRTXIRTHPGSMKDHISZCYGTOGISFZSIWEKYHWIZTWXHKCMKHZZJXHKAISPRPXS AREIVOXEEFORTWLIZLRHTUTRWTOEYXETPAKOBPVRMKYXPAETRKIZDJSUTOEXIUYSRSA NLTROYGMPRPWENJZVKATTDMNMTXWPUHIVSOYWYCNQSVMGDXSTNPQWHGWPEPVPE VMUDXPIQPPCTUPJJEIEXLEOCWEFKECENJAPIAYFVIPXFHINIPMRDKPHAIRWHMCZLXI 69

70.

ターゲット暗号文を観察する 目視で観察できることは何か? • アルファベットの羅列 • 数字や記号なし、その他特殊なシンボルなし • 空白なし • 866文字 • 超短いわけではないが、長文というわけでもない。 • 偶数 70

71.

暗号化の特定を目指す 暗号文の一致指数(IC)を調べて、暗号化を推測する • 使われている暗号化が推測できなければ、解読に進めない。 • どうやって推定するのか? • 一致指数=IC(Index of Coincidence)が手がかりの1つになる。 71

72.

IC(一致指数)とは ICの定義を直感的に理解する • 【ICの基本的定義】あるテキストからランダムに2文字を選んだとき、それらが同じ文字である確率を 表す統計量 • 【ICの別表現】テキストを適当な幅で折り返して配置したとき、上下の行で同じ位置に同じ文字が現 れる頻度 • The quick brown fox jumps over the lazy dog and the rain in Spain stays mainly in the plain wh... • どの言語の文章でも、このような「dの上にd」「wの上にw」といった一致が一定の頻度で発生す る。 • IC Learning Visualizer - 一致指数をビジュアル理解するツール • https://ipusiron.github.io/ic-learning-visualizer/ 72

75.

暗号文のICから暗号化を推測する ターゲット暗号文の暗号化を推測してみよう • Cipher Clairvoyance - 暗号化方式推定ツール • https://ipusiron.github.io/cipher-clairvoyance/ • ターゲット暗号文=上記ツールのサンプル「ヴィジュネル暗号2」そのもの 75

77.

ヴィジュネル暗号だと判明したら • ヴィジュネル暗号と推測できる • ヴィジュネル暗号の鍵=キーワード • 鍵キーワードの可能性としては… • 英単語 • 英単語の組み合わせ • パスフレーズ、あるいはその頭文字 • ランダム文字列 • 解読チャレンジの場合、鍵キーワードが複雑すぎることはないだろう。 • 英単語かも 77

78.

鍵長を特定したい カシスキー法で鍵長の候補を絞り込む • 暗号文から規則性のあるところ(ここでは繰り返しの文字列)を発見する。 • 繰り返し文字列が見つかったら、その間隔を計算。 • 間隔の数の公約数が、鍵長の候補になる。 • 例:6の公約数は、1, 2, 3, 6 • 他の繰り返し文字列が見つかれば、その間隔の公約数も候補になる。 • 重複する公約数、ある程度の大きさ(3 20)の公約数は鍵の最大候補。 ~ 78

79.

カシスキー法で鍵長の候補を特定する • RepeatSeq Analyzer - 反復文字列の特定ツール • https://ipusiron.github.io/repeatseq-analyzer/ • 鍵長の候補から、短すぎる2、長すぎる20以上を除外 • ビジュネル暗号の鍵キーワードが2文字というのは小さすぎる。違和感あり。 • 20以上の鍵長は、機械やコンピューターを使わない限り手間がかかる。 • 残った鍵候補のうちで、大きい鍵長の方が、正解の可能性が高い。 79

81.

鍵長で列分割して頻度分析 • m=m1||m2||m3||m4||m5||m6||m7||… • key=C||A||T||C||A||T||C||… • 鍵キーワードが"CAT"なら、"CATCATCAT…"になる。 • c:=c1||c2||c3||c4||c5||c6||c7||… • c1=shift(m1, 'C')、c2=shift(m2, 'A')、c3=shift(m3, 'T') • c4=shift(m4, 'C')、c5=shift(m5, 'A')、c6=shift(m6, 'T') • 平文の1列目、4列目、7列目、…は、同じ鍵文字でシフトされている! 81

82.

ツールで列分割して、頻度分析する • ここまでで知っていることと推測結果を整理してみよう • 暗号文c:最初に与えられたから知っている • 暗号化方式:ヴィジュネル暗号 • 鍵key:5文字の可能性大 • Modular Text Divider - テキスト列分割ツール • https://ipusiron.github.io/modular-text-divider/ • Frequency Analyzer - 頻度分析ツール • https://ipusiron.github.io/frequency-analyzer/ 82

85.

列分割後の頻度分析結果 • Column 1(1,4,7,…列目)の文字列 • I(22回)、X(18)、S(16)の順で多い。 • 以下、同様にすると... • Column 2 E(28)、T(19) • Column 3 K(28) • Column 4 P(29)、E(23) • Column 5 X(23)、I(21) Column 1の頻度分析 85

86.

各列の頻度から「平文文字 暗号文文字」の対応を推測 • 英語の頻出文字はETAOIN • Column 1 I(22回)、X(18)、S(16) • 「平文文字E 暗号文文字I or X or S」という対応が考えられる。 • 以下同様にすると、 • Column2:「平文文字E 暗号文文字E or T」 • Column3:「平文文字E 暗号文文字K」 • Column4:「平文文字E 暗号文文字P or E」 • Column5:「平文文字E 暗号文文字X or I」 • 列分割することで、「ヴィジュネル暗号文の解読 シーザー暗号文の解読」になった。 • ただし、そのシーザー暗号文の復号結果は、平文を飛び飛びに抽出した文字列なので、復号結果が英文 らしいかどうかという単純なアプローチでは解読できない。 86

87.

平文文字と暗号文文字から鍵文字を計算する ヴィジュネル表を使えば自然に実現できる • 次は、各列の鍵文字を知りたい。 • ヴィジュネル表を使って、平文文字と暗号文文字から、鍵文字の候補を特定できる。 • Vigenère Cipher Tool - ヴィジュネル暗号ツール • https://ipusiron.github.io/vigenere-cipher-tool/ • 「タブラレクタ研究」タブで、平文文字と暗号文文字から鍵文字を計算する。 • これができるのは、シフト暗号の置換表だから。 • そうでなければ、平文文字と暗号文文字から鍵文字を特定することはできない。 87

89.

各列の鍵文字の候補が得られた 各列について鍵文字の候補が揃う 列 平文文字Eに対応する暗号文文字 鍵文字候補 Column1 I, X, S E, T, O Column2 E, T A, P Colmun3 K G Column4 P, E L, A Column5 X, I T, E 鍵文字の候補を組み合わせて、鍵キーワードが見えてきましたか? 89

90.

鍵文字候補の組み合わせから鍵キーワードを特定 • 鍵文字の全組み合わせパターン • そのうち1つが鍵キーワード • 候補が多すぎる場合は、辞書を使って英単語の鍵キーワードを抽出 • AlphaLoom - 文字組み合わせ&生成文字列分析ツール • https://ipusiron.github.io/alphaloom/ 90

92.

鍵キーワードで復号してみる • 復号ツールして答え合わせしてみる • key’=EAGLE • Vigenère Cipher Tool - ヴィジュネル暗号ツール c key' Dec • https://ipusiron.github.io/vigenere-cipher-tool/ m' 一番英文ぽいものが元の平文だろう そのkey'が正解の鍵keyそのもの 92

94.

復号結果 • WHENINTHECOURSEOFHUMANEVENTSITBECOMESNECESSARYFORONEPEOPLETODISSOL VETHEPOLITICALBANDSWHICHHAVECONNECTEDTHEMWITHANOTHERANDTOASSUMEAM ONGTHEPOWERSOFTHEEARTHSEPARATEANDEQUALSTATIONTOWHICHTHELAWSOFNATU REANDOFNATURESGODENTITLETHEMADECENTRESPECTTOTHEOPINIONSOFMANKINDRE QUIRESTHATTHEYSHOULDDECLARETHECAUSESWHICHIMPELTHEMTOTHESEPARATIONW EHOLDTHESETRUTHSTOBESELFEVIDENTTHATALLMENARECREATEDEQUALTHATTHEYARE ENDOWEDBYTHEIRCREATORCERTAINUNALIENABLERIGHTSTHATAMONGTHESEARELIFELI BERTYANDTHEPURSUITOFHAPPINESSTHATTOALLMENGOVERNMENTSAREINSTITUTEDAM ONGMENDERIVINGTHEIRJUSTPOWERSFROMTHECONSENTOFTHEGOVERNEDTHATWHENE VERANYFORMOFGOVERNMENTBECOMESDESTRUCTIVEOFTHESEENDSITISTHERIGHTOFT HEPEOPLETOALTERORTABOLISHITANDTOINSTITUTENEWGOVERNMENTLAYINGITSFOUND ATIONONSUCHPRINCIPLESANDORGANIZINGITSPOWERSINSUCHFORMASTOTHEMSHALLAP PEARMOSTLIKELYTOEFFECTTHEIRSAFETYANDPLEASUREPRUDENCEINDEEDWILLDICTATE 94

95.

復号結果を読んでみる • 空白を入れると… • WHEN IN THE COURSE OF HUMAN EVENTS IT BECOMES NECESSARY FOR ONE PEOPLE TO... • 復号結果の英文をGoogle検索する • アメリカ独立宣言のスクリプトがヒットした • https://www.archives.gov/founding-docs/declaration-transcript • 解読成功! • 平文はアメリカ独立宣言だった • 鍵は”EAGLE”(「鷲」) わし 95

97.

古典暗号のイメージ1【結論】 • ①仕組みが複雑 • No 置換(換字)と転置の概念で整理できる。 • ②種類が多い • Yes 全部覚える必要ない。換字式と転置式で代表的なものを 知っておけばよい。 • ③未解読暗号文はもう少ない • No 減ったり増えたりしている。 97

98.

古典暗号のイメージ2【結論】 • ④コンピューターを使えば解読は簡単 • No 未解決暗号文がまだ存在する すべてが簡単ではないことを間接的に意 味する。 • ⑤儲からない • Yes 古典暗号に関する仕事はあまりない。若者が現代暗号と古典暗号の選択 で悩むなら、現代暗号を選んだほうがよい。 • ⑥現在ではやる価値がない • No 未解決暗号文を解決すれば世界的名声が得られる。歴史をひもとくこと に貢献できる。一攫千金的なチャンスもあるかも。 98

99.

お知らせ (告知・宣伝)

100.

暗号解読 実践ガイド 久しぶりの翻訳本(2冊目) • 今回のゆるハック会場の受付で売っているはず • あまり反響がないので、是非Xでのポスト、写真投 稿、Amazonレビューなど大歓迎 • Xで未解決暗号文を解いたという連絡がきた。 • 私と、原著者に対して@つけて訴え。 • しばらくしたらそのツイート消えていたけど... 100

101.

『ハッキング・ラボの冒険 初心者のサーバー侵入チャレンジ』 ミジンコの冒険が始まった • 技術書典18オフライン(2025年6月1日)で頒布 • 「完全版」では16台の脆弱マシンを攻略したが、本作は2台 の脆弱マシンを攻略する。 • 物理本は売れすぎて、余分な分が手元に残っていない。 • 国会図書館には1冊しか送れていない。 • 表紙が成功したので、冒険シリーズとして第2弾が出す。 • PDF版なら、BOOTHや技術書典ページから買えるので、よ ろしくお願いします。 • https://hack.booth.pm/items/6833516 101

102.

『安全な暗号をどう実装するか 暗号技術の新設計思想』 前書『暗号技術 実践活用ガイド』の改訂増補版 • 『Serious Cryptography: A Practical Introduction to Modern Encryption, 2nd edition』の翻訳書 • 5月発売 • マイナビ出版 • https://book.mynavi.jp/ec/products/detail/ id=147364 • Smokyさんが翻訳、藤田さんと私が監訳を担当。 102

103.

『Caesar Cipher Breaking – A Concise Edition』 『シーザー暗号の解読法 簡易版』の英語版 • 『シーザー暗号の解読法』…思い入れのある一冊。 • • 『シーザー暗号の解読法 簡易版』 その英語版が本書 • フルバージョンの英語版は作業量が大きいため、あえて簡易版を作り、それを踏み 台にして英語版にした。 • 最終目標はKDP(Kindle Direct Publishing) • GitHubにPDFをフリーで出したが、Amazonにプライスマッチ申請出したがNG を喰らう • 楽天Koboでゼロ円で出版 • 楽天Koboを参考ページとして、Amazonにプライスマッチの再申請 • ようやく通ってKDPでゼロ円公開 103

104.

『世界で闘うサイバーセキュリティ力を鍛える本』 サイバーセキュリティ職の面接特化の本 • 9月18日頃発売 • マイナビ出版 • https://book.mynavi.jp/ec/products/detail/ id=148414 • Smokyさんが翻訳、私は監訳(いつもどおり) • 内容はサイバーセキュリティ職の面接特化 104

105.

技術書典19で新刊(同人誌)を出す予定 生成AI本を出します • 技術書典19オフラインイベントは11月16日 • 応募している 当選すればオフライン参加 • 本発表では生成AIを使ってツールをたくさん紹介した。 表紙未定 • 実はもっとたくさんツール存在する。現在50ちょい。折り返し 地点まできた。あとは淡々と進めて書くだけ。 • 100ツールの集大成として、同人誌にする予定 • 前回の反映を活かして、物理本の刷り部数は少しだけ増やすかも。 • 生成AIは流行り物だけど、タイミング次第では強いテーマになり うるから。 105

106.

2026年1月頃に新刊(商業誌)が出る(かも) 「情報・物理的・人的セキュリティ→未来」をカバーする本 • 初校ゲラ手元にあるが、ほとんど着手していない。 • 順調に進めば、2026年1月頃に発売。 • その2ヶ月ぐらい前に予約開始。 • 400ページぐらい • 値段は3k前半予定? • ゆるハックでハッキング・ハードウェアの撮影協力して くれた方ありがとうございます。 • 本に協力者のHNが入る予定です。 106

107.

ご清聴 ありがとうございました