公立はこだて未来大学 2011 年度 システム情報科学実習 グループ報告書 Future University Hakodate 2011 System Information Science Practice Group Report プロジェクト名 暗号解読の可視化 Project Name Visualization of Code-Breaking グループ名 頻度分析グループ Group Name Frequency analysis Group プロジェクト番号/Project No. 13-A プロジェクトリーダ/Project Leader 1009087 Takahiro Okubo 大久保貴裕 グループリーダ/Group Leader 1009071 坂本浩樹 Hiroki Sakamoto グループメンバ/Group Member 1009071 坂本浩樹 Hiroki Sakamoto 1009074 田中雄太 Yuta Tanaka 1009079 宮川良平 Ryohei Miyakawa 1009082 渡辺貴仁 Takahito Watanabe 1009110 小林由莉香 Yurika Kobayashi 指導教員 白勢政明 小西修 Advisor Masaaki Shirase Osamu Konishi 提出日 2012 年 1 月 18 日 Date of Submission Janualy 18, 2012 概要 本プロジェクトでは暗号解読の可視化をすることで一見親しみのない暗号に関心を持ってもら うことを目標としている.頻度分析グループ,RSA 暗号グループ,実装グループの 3 つのグ ループに分かれ,iPad での実装という一つの目標に向かって作業する.中間発表では RSA 暗 号や楕円曲線暗号について説明する.仕組みが難しいため,発表を聞いているひとにどれだけ 理解してもらうかが重要となる.後期は頻度分析を用いた暗号解読を見える化し,暗号に興味 のない人にもわかりやすいよう iPad での実装をすることにした.本グループは iPad の実装 にむけ頻度分析の学習をし,実装で使うことのできる頻度分析のプログラムを作成する.また, 暗号を取り巻く時代背景についても学習した. キーワード 暗号, 頻度分析, RSA 暗号, 可視化, iPad (※文責: 小林由莉香) -i- Abstract The purpose of this project is to make persons who one not familiar with cryptography have interests of cryptography by visualization of the breaking. This project is divided into three groups;frequency analysis group,RSA cryptography group and implementation group.They are working towards one goal in the implementation of iPad.Presentation of the first semester attach overriding importance to clarity.Because elliptic curve cryptography and RSA cryptography are difficult.In the second semester,decryptography is visualized by frequency analysis.We decided to implement in the iPad.This group is a learning frequency analysis towards the implementation of the iPad,to create a program that can be used in the implementation of frequency analysis.In addition,we learned historical background of cryptography. Keyword cryptography, frequency analysis, RSA cryptography, visualization, iPad (※文責: 小林由莉香) - ii - 目次 第1章 背景 1 1.1 前年度の成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 本プロジェクトの課題概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 到達目標 3 第2章 2.1 本プロジェクトにおける目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 プロジェクトで行う利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 グループ分けについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 第3章 2.3.1 前期のグループ分け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3.2 後期のグループ分け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 主な活動スケジュール 5 3.1 プロジェクト全体での月別活動スケジュール . . . . . . . . . . . . . . . . . . . . 5 3.2 個人の月別活動スケジュール . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.1 坂本浩樹の月別活動スケジュール . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.2 田中雄太の月別活動スケジュール . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.3 宮川良平の月別活動スケジュール . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.4 渡辺貴仁の月別活動スケジュール . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.5 小林由莉香の月別活動スケジュール . . . . . . . . . . . . . . . . . . . . . 8 第4章 頻度分析グループについて 9 4.1 目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2 目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3 4.2.1 前期の目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2.2 後期の目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3.1 前期の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3.2 後期の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 課題解決のプロセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 インターワーキング 12 5.1 坂本浩樹の役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2 田中雄太の役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.3 宮川良平の役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.4 渡辺貴仁の役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.5 小林由莉香の役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.4 第5章 第6章 6.1 暗号解読の歴史 15 暗号解読の基礎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 - iii - 第7章 6.1.1 スキュタレー暗号(BC5 世紀頃) . . . . . . . . . . . . . . . . . . . . . . 16 6.1.2 ポリュビオス暗号(BC2 世紀頃) . . . . . . . . . . . . . . . . . . . . . . 16 6.1.3 シーザー暗号(BC58 年頃) . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.1.4 アルベルティの暗号(1460 年代) . . . . . . . . . . . . . . . . . . . . . . 16 6.1.5 ヴィジュネル暗号(1586 年) . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.1.6 頻度対応型換字式暗号ホモフォニック(16 世紀半ば∼17 世紀頃) . . . . . 17 6.1.7 忍びいろは(16 世紀頃) . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.1.8 宇佐美定行の字変四八(16 世紀半ば頃) . . . . . . . . . . . . . . . . . . . 18 近代戦争と暗号についての関係性 19 7.1 日露戦争の暗号(1903∼) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.2 日本海海戦と暗号(1905 年) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7.3 第一次世界大戦と暗号(1914 年∼) . . . . . . . . . . . . . . . . . . . . . . . . 21 7.4 暗号機エニグマの登場(1918 年) . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.5 第二次世界大戦と暗号機エニグマの運命(1939 年∼) . . . . . . . . . . . . . . . 25 7.6 歴史のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 頻度分析プログラム作成の概要 28 8.1 頻度分析の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 8.2 プログラム開発∼暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 8.3 プログラム開発過程∼文字の出現頻度計算 . . . . . . . . . . . . . . . . . . . . . 29 8.4 プログラム開発過程∼文字の変換 . . . . . . . . . . . . . . . . . . . . . . . . . . 30 8.5 前期の活動と後期の活動の結びつき . . . . . . . . . . . . . . . . . . . . . . . . . 30 8.6 アプリケーションへの引継ぎ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 第8章 第9章 プログラム試験運用 32 9.1 実験の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.2 実験手続き . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.3 実験内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.4 実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 9.5 実験成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 9.6 実験を終えて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 第 10 章 成果物のまとめ 35 10.1 プログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 10.2 プログラム以外の成果物 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 10.3 アプリケーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 第 11 章 発表会評価 11.1 11.2 36 中間発表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 11.1.1 発表技術の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 11.1.2 発表内容の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 11.1.3 点数評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 最終発表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 - iv - 11.3 11.2.1 発表技術の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 11.2.2 発表内容の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 発表全体でのまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 第 12 章 暗号の条件 40 12.1 機密性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 12.2 完全性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 12.3 認証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 第 13 章 暗号方式について 41 13.0.1 共通鍵暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 13.0.2 公開鍵暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 第 14 章 新規習得知識 14.1 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 14.1.1 ハイブリッド暗号の方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 14.1.2 ハイブリッド暗号の特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 暗号解読の攻撃方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 14.2.1 総当たり攻撃 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 14.2.2 既知平文攻撃 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 14.2.3 選択平文攻撃 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 14.2.4 差分暗号攻撃 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 誕生日パラドックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 14.3.1 誕生日パラドックスとは . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 14.3.2 誕生日攻撃法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 14.3.3 ハッシュ関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 14.4 RSA 暗号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 14.5 楕円曲線暗号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 14.6 データ暗号化標準(DES) 47 14.2 14.3 ハイブリッド暗号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6.1 データ暗号化標準(DES)の今後 . . . . . . . . . . . . . . . . . . . . . . 48 14.7 SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 14.8 コンピュータウイルス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 14.8.1 ウイルス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 14.8.2 ワーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 14.8.3 トロイの木馬 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 14.8.4 爆弾 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 14.8.5 落とし戸 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 14.8.6 だましうち . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 第 15 章 活用した講義 51 第 16 章 結果 52 16.1 プロジェクトの結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 16.2 成果の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 -v- 第 17 章 今後の展望と課題 17.1 17.2 付録 A 53 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 17.1.1 最終発表の評価シートより . . . . . . . . . . . . . . . . . . . . . . . . . . 53 17.1.2 プロジェクトメンバーの考えより . . . . . . . . . . . . . . . . . . . . . . . 53 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 17.2.1 最終発表の評価シートより . . . . . . . . . . . . . . . . . . . . . . . . . . 53 17.2.2 プロジェクトメンバーの考えより . . . . . . . . . . . . . . . . . . . . . . . 53 発表技術について 発表内容について 相互評価 55 A.1 坂本浩樹に対するコメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.2 田中雄太に対するコメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.3 宮川良平に対するコメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.4 渡辺貴仁に対するコメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.5 小林由莉香に対するコメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 参考文献 57 - vi - Visualization of Code-Breaking 第1章 背景 現在,日本だけでなく世界中の人々がインターネットを利用している.それほどまでにインター ネットは私たちにとって身近なものになっている.インターネットを利用することで,全世界のさ まざまな情報をいち早く取り入れることができたり,世界中の人々とメールや文書などですばやく 連絡を取ることができる.また,自分自身が情報の発信源になることもできるなどの利点もある. これらは情報化社会の中では非常に大切なことである.しかし,多くの人がインターネットを利用 しているために情報に誤りがあったり,自分が情報の発信源だった場合は,その情報に責任を持た なければいけないなどの欠点もある.さらに,情報のやり取りをする際に傍受される危険性もあ り,情報の改ざんやなりすましなども起こる可能性がある.インターネットを利用して情報を安全 にやり取りする際には,このような危険から情報を守るために,セキュリティ技術は必要不可欠な ものとなってくる. 現在のセキュリティ対策の技術として,暗号や電子署名,認証などのさまざまなものが存在する. これらのセキュリティ対策の暗号や電子署名などには暗号技術を用いることが可能で,実際に実用 されている.暗号技術は,インターネットを利用する上でなくてはならないものになっている. このように,セキュリティ対策や暗号技術はインターネットを利用する上では重要なものである のに対し,多くの人たちにその重要性はあまり認識されていない.例えば,安易にパスワードに自 分の誕生日を使用したり,一度設定したパスワードをそのまま変更しないで使い続けることなど, セキュリティ対策に対する意識の低さが多く見受けられる.そこで私たちは,インターネットが広 く普及した昨今重要となっているセキュリティ対策に多く用いられる暗号技術に着目した. (※文責: 坂本浩樹) 1.1 前年度の成果 前年度のセキュリティ対策の歴史と将来プロジェクトでは過去・現在・未来の3つの時代にグ ループ分けをし,時代間のつながりを歴史的背景などを参考に紹介した.セキュリティの歴史を通 じてセキュリティの重要性を再確認し,暗号解読の実演や実システムへの応用などの技術を身に付 ける. 本プロジェクトでは前年度のセキュリティ対策の歴史と将来プロジェクトを参考にして暗号の歴 史についても学んだ. (※文責: 小林由莉香) 1.2 本プロジェクトの課題概要 多くの人がインターネットや IT システムを利用する昨今,我々が生活する上でセキュリティと の関係は切っても切り離せない.しかし暗号は堅苦しい・難しいというイメージが持たれていると 考える.本プロジェクトは前年度のプロジェクトに引き続き,暗号のマイナスイメージの払拭した いと考える.この問題は完全な解決は不可能である.しかし,このようなプロジェクトを立ち上 Group Report of 2011 SISP -1- Group Number 13-A Visualization of Code-Breaking げ,暗号解読の可視化をし,人の目に触れる機会を設けることで少しでも暗号についてのマイナス イメージ払拭への力添えができればと考える. (※文責: 小林由莉香) Group Report of 2011 SISP -2- Group Number 13-A Visualization of Code-Breaking 第2章 2.1 到達目標 本プロジェクトにおける目的 セキュリティや暗号という単語を耳にしたとき,多くの人たちは難しそう,堅苦しいなどのマイ ナスイメージを持つ.しかし,これらの単語はインターネットを利用し,安全を確保する上では欠 かせないものである.これらのマイナスイメージを払拭するために,私たちは暗号をより身近に感 じて関心を持ってもらおうと考えた.暗号に興味を持ってもらい,暗号解読というものを簡単に理 解してもらうために,本プロジェクトは『暗号解読の可視化を行う』ということを目的に設定した. この『暗号解読の可視化を行う』という目的が達成されると,多くの人たちが暗号に興味を持ち, セキュリティ対策に対しても感心を示してくれると考えた. (※文責: 坂本浩樹) 2.2 プロジェクトで行う利点 プロジェクトで暗号解読の可視化を行うことによってアプリケーションが人の目に触れる機会が 増える.またいろんな視点に立った意見が得られるのでより大衆にわかりやすいアプリケーション 作成ができると考える. (※文責: 小林由莉香) 2.3 グループ分けについて ここにはグループ分けについて記す. (※文責: 小林由莉香) 2.3.1 前期のグループ分け 前期は誕生日パラドックスグループ,RSA 暗号グループ,楕円曲線暗号グループ,実装グルー プの4つのグループに分かれた.これはアプリケーション実装のために暗号の基礎知識をつけるた めである. (※文責: 小林由莉香) 2.3.2 後期のグループ分け 後期は頻度分析グループ,RSA 暗号グループ,実装グループの 3 つに分かれた.アプリケーショ ンの実装のために実践的なグループ分けを行った.それぞれのグループがアプリケーション実装と いう一つの目標のために役割を果たした. Group Report of 2011 SISP -3- Group Number 13-A Visualization of Code-Breaking (※文責: 小林由莉香) Group Report of 2011 SISP -4- Group Number 13-A Visualization of Code-Breaking 第3章 3.1 主な活動スケジュール プロジェクト全体での月別活動スケジュール 4 月 本プロジェクトに所属し,興味のある暗号のグループに分かれた.暗号についての簡単な 説明を受け,プロジェクトメンバー全員が暗号やセキュリティについて調べた.また,誕生日パラ ドックスの基礎を学んだ. 5 月 PARI/GP という高速計算機をインストールし,さまざまな実装を行った.また,班員が それぞれ頻度分析以外の RSA 暗号や楕円曲線暗号,誕生日パラドックスについて調べた. 6 月 4 月,5 月にそれぞれが学んだ暗号について,簡単な発表会を行い,プロジェクトメン バー全員が RSA 暗号や楕円曲線暗号暗号についての基礎知識を学んだ. 7 月 中間発表に向けて,頻度分析や RSA 暗号,楕円曲線暗号を詳しく調べ,わかりやすいよ うにまとめてポスターやスライドを製作した.また,暗号の解読過程を理解するために,実際にプ ログラムを組んで PARI/GP で実装させた.中間発表では頻度分析や RSA 暗号,楕円曲線暗号の 基本原理を説明した. 8 月 中間発表の反省を踏まえ,どのように暗号を身近に感じてもらうかという方法を考えた. 暗号を身近に感じてもらうためには,比較的わかりやすい暗号を視覚的にとらえて理解してもらう 方法が良いと考え,iPad を用いて視覚化することにした. 9 月 プロジェクトメンバー全員で,どの暗号を可視化すると多くの人に理解されるのか,わか りやすい暗号について調べた.また,いままで調べた暗号の復習も行った. 10 月 頻度分析と RSA 暗号のどちらかを可視化しようと考え,可視化した際に理解しやすい 頻度分析を iPad を用いて可視化することに決める.頻度分析の可視化を行うプログラムを作成す るために頻度分析を詳しく調べた.また,作成したプログラムをどのように可視化するのか,iPad を使用する方法を考えた. 11 月 頻度分析のプログラムを完成させるために頻度分析班で協力し,少しずつ分担してプロ グラムを組んでいった.作成したプログラムを iPad にインストールする方法なども学び,可視化 できるようにした.また,暗号の歴史について学ぶために暗号の歴史の文献を読み,非常に昔から 暗号は使われて,さまざまな暗号機器が存在していたことを学んだ. 12 月 11 月と同様に暗号の歴史についての文献を読んだ.また,頻度分析のプログラムも完 成し,iPad にインストールして起動させた.最終発表に向けて,成果物の確認やポスターとスラ イド製作を行い,発表練習など最終発表の準備を行った.最終発表終了後は,最終発表の反省を行 い,報告書の作成に励んだ. Group Report of 2011 SISP -5- Group Number 13-A Visualization of Code-Breaking (※文責: 坂本浩樹) 3.2 3.2.1 個人の月別活動スケジュール 坂本浩樹の月別活動スケジュール 4 月 暗号の基礎知識として,共通鍵暗号と公開鍵暗号や誕生日パラドックスについてなどを学 んだ. 5 月 PARI/GP をインストールし,RSA 暗号の基礎知識を学んだ. 6 月 PARI/GP を使ってできる RSA 暗号の解読プログラムを作成した. 7 月 中間発表に向けて暗号についてのまとめを行い,報告書を作成した. 8 月 中間発表の評価シートの内容をまとめ,反省点をまとめた. 9 月 後期に向けて C 言語の復習を行い,他の暗号についても調べた. 10 月 可視化する暗号を決め,頻度分析グループとして頻度分析について詳しく調べた. 11 月 可視化を行うためのプログラム作成に力を注いだ.また,暗号の歴史についても調べた. 12 月 最終発表に向けて,ポスター製作に力を注いだ.報告書も書き始めた. (※文責: 坂本浩樹) 3.2.2 田中雄太の月別活動スケジュール 4 月 暗号についての知識を深めるために,楕円曲線暗号グループ,RSA 暗号グループ,誕生 日パラドックスグループにグループ分け.懇親会や自己紹介など. 5 月 楕円曲線暗号班で活動し,楕円曲線暗号についての仕組みについて学んだ.また, PARI/GP の使い方も学んだ. 6 月 実際に,目標達成に近づけるために,楕円曲線暗号による暗号解読の仕組みについて学び, PARI/GP で計算を行いながら,暗号解読のプログラムを実装し,作成した. 7 月 また,中間発表会に向け準備,練習を行った.中間発表会. 8 月 夏期休業. Group Report of 2011 SISP -6- Group Number 13-A Visualization of Code-Breaking 9 月 夏期休業. 10 月 実際に,アプリにプログラムを導入するために,頻度分析グループ,RSA グループ,実 装グループの3つに分かれて活動した.自分は頻度分析グループで活動し,アプリの詳しい内容を 考え,様々な企画や提案を出した. また,頻度分析を用いたプログラムも作成しなければならな かったので,頻度分析についても学んだ. 11 月 最終発表会に向けて,アプリを実演するための内容考え,今までの作業に加え,発表会 への準備も開始した. 12 月 最終発表のための発表準備や,発表練習などの最終チェックを行った. (※文責: 田中雄太) 3.2.3 宮川良平の月別活動スケジュール 4 月 暗号についての簡単な知識を学ぶ. 5 月 誕生日パラドックスに関しての基礎知識を学ぶ.また PARI/GP で暗号のプログラムを 作成. 6 月 中間発表に向けてのスライド作成.誕生日パラドックスに関するポスター制作. 7 月 中間発表練習.ポスター,スライド制作. 8 月 特に無し(夏期休業). 9 月 特に無し(夏期休業). 10 月 頻度分析の基礎知識を身につける. 11 月 アプリケーションの内部構造の決定.暗号の歴史について調べる. 12 月 最終発表にむけての最終確認. (※文責: 宮川良平) 3.2.4 渡辺貴仁の月別活動スケジュール 4 月 グループ分け. 5 月 暗号についての基礎知識を学ぶ. Group Report of 2011 SISP -7- Group Number 13-A Visualization of Code-Breaking 6 月 最終成果物の話し合い. 7 月 中間発表に向けての準備. 8 月 夏期休業. 9 月 夏期休業. 10 月 暗号化のプログラム作成. 11 月 頻度分析プログラムを作成. 12 月 最終発表に向けての準備. (※文責: 渡辺貴仁) 3.2.5 小林由莉香の月別活動スケジュール 4 月 自己紹介.1 回目のグループ分け. 5 月 PARI/GP を使い,暗号の基礎を学ぶ. 6 月 目標を決める.どのような成果物を作るのか議論する. 7 月 中間発表に向けてのスライド作成.プレゼン練習.発表者としてプレゼンをする. 8 月 夏期休業. 9 月 夏期休業. 10 月 2 回目のグループ分け. 11 月 最終発表に向けてのスライド作成. 12 月 最終発表の準備.報告書作成. (※文責: 小林由莉香) Group Report of 2011 SISP -8- Group Number 13-A Visualization of Code-Breaking 第4章 頻度分析グループについて ここには頻度分析グループの活動について記す. (※文責: 小林由莉香) 4.1 目的 頻度分析班では,本プロジェクトの目的である『暗号解読の可視化を行う』を達成するために, 多くの暗号の中でも比較的理解しやすい頻度分析を取り扱い,多くの人たちに理解してもらうこと を目的とした.暗号というものは調べてみると,アルゴリズムが簡単なものから非常に複雑なもの まで数多くの種類が存在する.最初に,暗号解読の可視化をするにあたって,どの暗号を使用する かを決めなくてはならない.暗号解読の手順を示しても,アルゴリズムが複雑なものだと理解され ずに終わってしまう.暗号解読を理解してもらうにはアルゴリズムが簡単なものが有益である.そ のために私たち頻度分析班は,暗号解読のアルゴリズムがわかりやすい頻度分析を中心に学んでい き,多くの人に理解してもらえるような頻度分析の解読方法のプログラムを作成することを目的と した. (※文責: 坂本浩樹) 4.2 目標 目的を達成するための目標として,2 つ挙げられる.1 つ目は「自分たちが頻度分析について積 極的に理解を深めていく」ということである.2 つ目は「多くの人たちにより理解されやすいプロ グラムを作成する」ということである. 頻度分析グループはこれらの 2 つを目標とした. (※文責: 坂本浩樹) 4.2.1 前期の目標 前期の目標として,1 つ目の目標である「自分たちが頻度分析について積極的に理解を深めてい く」に力を注いだ.しかし,頻度分析だけを重点的に調べるのではなく,RSA 暗号や楕円曲線暗 号などの別の暗号についても調べ,理解できるよう努力した.さまざまな暗号を学び,理解したう えで頻度分析のアルゴリズムの理解のしやすさを学び,一人ひとりが頻度分析について説明できる ようになることを具体的な目標とした. (※文責: 坂本浩樹) Group Report of 2011 SISP -9- Group Number 13-A Visualization of Code-Breaking 4.2.2 後期の目標 後期の目標として,2 つ目の目標である「多くの人たちにより理解されやすいプログラムを作成 する」に力を注いだ.グループメンバーが同じような考えに偏らないように,前期に力を注いだ 「自分たちが頻度分析について積極的に理解を深めていく」という目標は後期も継続して目標とし た.「多くの人に理解されやすいプログラムを作成する」にあたって,視覚的に理解しやすいもの を考えるということを後期の具体的な目標として定めた. (※文責: 坂本浩樹) 4.3 課題 ここには頻度分析グループの課題について記す. (※文責: 坂本浩樹) 4.3.1 前期の課題 暗号というものは数多く存在し,私たちが聞いたことのないような暗号方式がインターネット上 では利用されている.暗号について興味を持ってもらうためには,私たちが暗号について深く理解 しなければならない.前期は,班員全員が暗号というものの基礎知識を身につけること,共通鍵暗 号や公開鍵暗号の違いを理解し,仕組みを学ぶことを課題とした.また,頻度分析だけでなく,誕 生日パラドックスや RSA 暗号,楕円曲線暗号などのさまざまな暗号の仕組みを理解できるように 勤めることも課題とした. (※文責: 坂本浩樹) 4.3.2 後期の課題 後期の課題としては,実際に最終発表で成果物として完成させる「暗号解読の可視化」のプログ ラムの作成が大きな課題であった.この大きな課題を達成するための小さな課題として,暗号解読 の可視化に利用する頻度分析についてグループメンバー全員で詳しく調べたことや C 言語の復習 などが挙げられる. (※文責: 坂本浩樹) 4.4 課題解決のプロセス 前期の課題として挙げられたものの中で本プロジェクトが 1 番重要視したものとしては,暗号と いうものの理解である.暗号がこういうものだということを多くの人に伝えるために,暗号の基礎 知識を身に付けなければならない.私たちは普段インターネットなどのネット環境を利用している にもかかわらず,暗号というものをあまり意識していない. 前期は,代表的な暗号の種類や基礎知識を身に付けることに力を注いだ.まず,暗号の基礎知識 Group Report of 2011 SISP - 10 - Group Number 13-A Visualization of Code-Breaking を付けるために,誕生日パラドックスという基本理念や,共通鍵暗号と公開鍵暗号の違いを学ん だ.これは多くの暗号の基礎となる知識である.次に,暗号というものは計算が非常に関係してい るということで PARI/GP という高速計算機をインストールした.代表的な暗号である RSA 暗号 や楕円曲線暗号の解読のプログラム作成にも役立った.また,本プロジェクトでは他の人に暗号と いうものを伝えることが目的なので,さまざまな暗号の説明方法を各自で考え,グループ内で発表 練習なども行った. (※文責: 坂本浩樹) Group Report of 2011 SISP - 11 - Group Number 13-A Visualization of Code-Breaking 第 5 章 インターワーキング ここではプロジェクトを進めるにあたって,メンバーがそれぞれどのような役割を担当して活動 したかを記す. (※文責: 小林由莉香) 5.1 坂本浩樹の役割 4 月,5 月は RSA 暗号について学び,他のグループメンバーに RSA 暗号の基本構造を伝えられ るようにした.PARI/GP を使って簡単なプログラムを動かすこともできるようになった.6 月に は他のプロジェクトメンバーから頻度分析や楕円曲線暗号などの別の暗号について教えてもらい, きちんと理解できるように自分でも調べた.7 月からはポスター製作や PARI/GP を用いた RSA 暗号の解読プログラムの作成などを行った. 後期に入ってからは,頻度分析の解読の可視化を行うことになったため,頻度分析について詳し く調べなおした.プログラム作成にあたって,C 言語の復習を行った.また,11 月からは暗号の 歴史についても調べることになったので,文献を読んで昔の暗号について学んだ.最終発表に向け て,ポスター製作を中心に行い,発表練習を行った. (※文責: 坂本浩樹) 5.2 田中雄太の役割 前期には,PARI/GP を用いながら楕円曲線暗号の解読のプログラムを作成や,そのプログラム での計算を行った.また,暗号の知識を高めるために様々な暗号方式について調べ,暗号解読に対 する理解を深めた.そして,グループのリーダーとして,作業の進行を積極的に進め,グループの メンバー同士で連携を取りながら,それぞれのメンバーの意見をまとめた.また,後期では,前期 での問題点からの解決策をグループメンバーからの意見をまとめて,問題点の解決に取り組んで いった.中間発表では,メインの発表者を担当した.また,発表の流れの構成も担当のメンバーと 考えた.中間発表終了後もメンバーと協力しながら報告書の作成を行った. 後期には,中間発表に挙げられた問題点を交えながら,実際にアプリケーションの作成のサポー トをした.そのために,頻度分析について深く学び,アプリの内容や,流れを試行錯誤させながら 考えた.そのときには,頻度分析のアプリの内容を担当した.アプリでは,暗号解読をわかりやす くするために,頻度分析の可視化の過程を目に見えるようにした.最終発表では,発表者たちの補 助の役割を行った.最終発表後,グループメンバーと協力しながら報告書を作成した. (※文責: 田中雄太) Group Report of 2011 SISP - 12 - Group Number 13-A Visualization of Code-Breaking 5.3 宮川良平の役割 4 月は暗号に関しての大まかなことを学び,5 月から誕生日パラドックスに関しての基礎知識を 学ぶ.また PARI/GP という暗号のプログラムを作成し,動かした.6 月からは中間発表に向けて のスライド作成,誕生日パラドックスに関するポスター作りに取り組んだ.また,他の班の RSA や楕円曲線に関する知識も身につけた.7 月も,中間発表に向けての発表練習や,全体的なスライ ド作成,誕生日パラドックスのポスター制作に取り組んだ. 10 月の後期からは,前期に誕生日パラドックスや楕円曲線などの可視化を行う予定だったが,変 更し,頻度分析の可視化を行うために,基礎知識を身につけた.11 月はアプリケーションの内部 構造を決めるために,話し合ったり,暗号の歴史について本などで学んだ.また,最終発表に向け て,ポスター制作を作成した.また,スライド作成に取り組んだ. (※文責: 宮川良平) 5.4 渡辺貴仁の役割 主にプログラミングを担当した.シーザー暗号や頻度分析などのプログラムを始めとし,暗号化 や暗号解読をするプログラムの作成をした.前期は暗号についての知識をつけるために勉強し,暗 号化プログラムやシーザー暗号などの簡単なプログラムを作成し,実際に動作を確かめることで 様々な暗号の仕組みを理解していった.また作成したプログラムを模索し,プロジェクトの目的で もある暗号解読の可視化に向けてプログラムの改良をした. 後期はアプリケーションを作成するためのプログラムを作成し,実験や試行を重ねることにより プログラムの性能を高めることに成功した.暗号化から解読までの流れを全てプログラム化する ことにより,プロジェクトの活動を後押しできた.また,発表の準備に積極的に携わることでプロ ジェクトに貢献した. (※文責: 渡辺貴仁) 5.5 小林由莉香の役割 前期は誕生日パラドックスグループとして誕生日パラドックスと暗号の関係性について学習し た.わかりやすく伝えるためにはどのような工夫したら良いのかをグループのメンバーと話し合っ た.成果物の暗号解読アプリケーションのアイデアの議論にも参加した.また私の主な役割として 発表のスライド作成があった.中間発表では成果物がまだ未完成であったので,作成するアプリ ケーションの内容をわかりやすく説明できるようなスライドを作ることに尽力した.また中間発表 は発表者としてプレゼンテーションをした. 後期は頻度分析グループとしてアプリケーションの実装のため,どのようなアプリケーションが 興味を引くか,またわかりやすいかなどを実装班と協力しながら作成した.また前期と同様,最終 発表の際に使用するスライドを作成した.また前後期通して,親睦会や打ち上げを積極的に企画 し,プロジェクトメンバーのコミュニケーションの場を作った.プロジェクト時間外にもコミュニ ケーションをとることで,プロジェクト活動を潤滑に進めることができた. Group Report of 2011 SISP - 13 - Group Number 13-A Visualization of Code-Breaking (※文責: 小林由莉香) Group Report of 2011 SISP - 14 - Group Number 13-A Visualization of Code-Breaking 第6章 暗号解読の歴史 頻度分析グループは頻度分析の他にも暗号の歴史について調べた.主に戦時の暗号について調べ たのだが,その前になぜ暗号というものが誕生したのかということである.旧約聖書などに代表さ れる聖典の時代に,人は常に神の監視と管理の下に生きていた. 例)バベルの塔 大洪水で生き残ったノアの子孫たちが東方の地をさまよい,バビロニアに住み着いた頃は,まだ人 類は同じ言葉を使用していた.しかし一部の住民が天にも届くほどの高い塔を町に建設し,有名に なろうと考えたため,危機感を抱いた神は,”彼らはひとつの民で,皆一つの言葉を話しているか ら,このようなことをし始めたのだ.これでは彼らが何を企てても,妨げることができない.我々 は降って行き,直ちに彼らの言葉を混乱させ,互いの言葉を聞き分けられるようにしてしまおう” と考えた.この瞬間から人類は”言語の変えられた暗号”を神から与えられた. この言語の暗号は,共通意識を生み出すと共に,それぞれの暗号を鈍化させる動きをしながら, 人類の歴史にもう一つの歴史である暗号史を誕生させることになった. (※文責: 宮川良平) 6.1 暗号解読の基礎 暗号システムの基礎についてだが,一般的に暗号化する前の現文章のことを「平文」という.ま た暗号文を作成することを「組立て」と呼び,暗号文を平文に戻すことを「復元」あるいは「翻 訳」という.そして暗号化に使う手法は(1)サイファー暗号,(2)コード暗号の二つに代表され る.(1)のサイファー暗号とは主に (A) 転置式と (B) 換字式に分けられる.これらは原則的に数 字,数字系列,語句,文章などの鍵暗号を有する. (A) の転置式暗号は,メッセージの文字を並べ替えるものである.例えば JAPAN を PJAAN に,CAT を ATC に表記することである.次に (B) の換字式暗号というものはわかりやすくいえ ば,平文の各文字を別の文字で置き換える方法である.つまり,転置式と換字式の違いを一言で言 えば,転置式暗号は平文の文字は固定したまま,位置だけが変更され,換字式暗号は平文の文字が 変更されるが,文字の位置は固定されたままであるということである. 例)JAPAN → PJAAN CAT → ATC 一方コード暗号とは隠語のことである.本来 cryptography には暗号の他に符号,略号などの意 味がある.例えるならば仮に満月を「もち」,夜を「ひび」,敵を「苦手」,攻めるを「食す」,とあ らかじめ定めておく.すると「満月の夜に敵を攻めよ」は,コード暗号によって「もちにひびが入 り苦手だがこれを食す」となる.戦時の暗号について詳しく説明していく. (※文責: 宮川良平) Group Report of 2011 SISP - 15 - Group Number 13-A Visualization of Code-Breaking 6.1.1 スキュタレー暗号(BC5 世紀頃) スキュタレーとは木製の棒のことである.これに細長いひも状になった革や紙を巻きつける.そ して暗号発信者は平文を書き付けて,もう一度,革や紙をほどく.するとそこには意味不明な文字 が並ぶ.その革や紙を携えた密使が受信者のもとに走り,今度は同じサイズのスキュタレー,つま り木の棒を持った受信者が,それを発信者と同じように巻きつける.すると平文がスキュタレー上 に浮かび上がってくる.この暗号は世界最古の軍事用暗号機とされている. (※文責: 宮川良平) 6.1.2 ポリュビオス暗号(BC2 世紀頃) ポリュビオスは古代ギリシャの政治家であり,同時に軍人,歴史家でもあった.軍人という立場 にあった彼は暗号にも関心を示し,いわゆる換字式暗号を発明した.それは座標を利用して 1 つの 文字を 2 個,あるいはそれ以上の数字に置き換えるというものである. (※文責: 宮川良平) 6.1.3 シーザー暗号(BC58 年頃) 換字式暗号で最も有名である暗号.海外ではカエサル暗号と呼ばれており,これはアルファベッ トの各文字を何文字かずらし,その文字と置き換えるというもので,例えばアルファベットを 3 文 字後にある文字に置き換えてみると以下のようになる. 平アルファベット abcdefghijklmnopqrstuvwxyz 暗号フィルター DEFGHIJKLMNOPQRSTUVWXYZ 上に記したように,平アルファベットを 3 文字ずつずらしたものが暗号フィルターとなる.これを もちいて暗号化を行うと Time is money → WLPHLVPRQHB となる.ずらす文字は 1 字から 25 字までの間であれば何文字でも構わない.こうした文字をずら すタイプの暗号を総称してシーザー暗号という. (※文責: 宮川良平) 6.1.4 アルベルティの暗号(1460 年代) 今までの換字式暗号の初期段階では,平文のアルファベットを暗号化する場合,単一換字式暗号 と呼ばれていた.この暗号は相手が一般人であれば使用するのに安全であったが,相手が暗号のプ ロであるとアルファベットの使用頻度によって簡単に解読されてしまう.そこでアルベルティは複 数換字式暗号と呼ばれる,暗号化の時に使用するフィルターを文字通り単一ではなく,複数用いる Group Report of 2011 SISP - 16 - Group Number 13-A Visualization of Code-Breaking ものを発明した. (※文責: 宮川良平) 6.1.5 ヴィジュネル暗号(1586 年) アルベルティの暗号をさらに進化させたのがフランスの外交官であったヴィジュネルである.外 交という仕事を通じて暗号に世界の良き理解者となった彼は,ヴィジュネル方陣と呼ばれる暗号表 を作った.この暗号の特色は,暗号の発信者と受信者があらかじめキーワードを共有することで頻 度分析を駆使して暗号を解読しようとするチャレンジャーを見事にかく乱させることができるとい うことである.26 通りのフィルターがあるために複雑な暗号である. (※文責: 宮川良平) 6.1.6 頻度対応型換字式暗号ホモフォニック(16 世紀半ば∼17 世紀頃) ホモフォニックとは,ギリシャ語で「同じ」を意味するホモスと「音」を意味するポーネーにち なんだ言葉で,原則的に同音異綴を表している.これはアルファベットの使用頻度分析をブロック するために編み出された暗号システムで,言語学の統計上,例えばある一定の英文に登場する a の 頻度はおよそ 8 %を占めているため,それに対応する記号を 8 つ割り当てる.b の使用頻度は 2 %なので記号は 2 つ.c は 3 %なので記号を三つ.d は 4 %なので四つ.e は最も使用頻度が高く 12 %なので 12 の記号をあてていく.そうすると z までの使用頻度に対応する暗号表ができる.こ れをしようして暗号化,復号を行なっていくのである. (※文責: 宮川良平) 6.1.7 忍びいろは(16 世紀頃) もともと戦時に使用する暗号解読には,発信者と受信者の間でいささかのブレも許されない.そ のためには一定の法則ともいうべき暗号システムの存在が不可欠である.日常生活のレベルではな く生命を賭けた戦いの中で暗号が使用されるとあれば,より完璧なものを目指すことが必要であ る.したがって洋の東西を問わず,戦時の暗号は軍事力の行使,つまり戦争を重ねるたびに進化と 深化を重ねてきたのである.それは日本も同じことであり,情報と軍事力による戦いをハードに繰 り返した戦国時代こそ,暗号は著しく発展したのである.その戦国時代に情報戦争を担当したのが 「忍び」,いわゆる忍者であった.忍者と戦国武将との出会いによって暗号が政治的に利用されるよ うになっていったのである.この忍びいろはは木,火,土,金,水の五行と人,身の計 7 文字を漢 字の偏にあて,色,青,黄,赤,白,黒,紫の 7 つの色をあらわす文字を旁として組み合わせ,合 計 49 の記号を作り出し,暗号文として使用したのである. (※文責: 宮川良平) Group Report of 2011 SISP - 17 - Group Number 13-A Visualization of Code-Breaking 6.1.8 宇佐美定行の字変四八(16 世紀半ば頃) この宇佐美定行(1489∼1564)は上杉謙信の軍師だった人物で,またの名を良勝という.丁度, ヨーロッパでヴィジュネル暗号が使用される数十年前に字変四八は使われていた.具体的にはこの 字変四八は単一換字式暗号のことで,「いろは 47 文字」に「ん」と空白を加えた合計 49 文字を七 行七列に並べ,各行と列にキーワードとなる文字や数字を割り振っていき,暗号化する際には当て はまる数字を 2 つ並べて表示していき暗号化する.単一換字式暗号ではあるが,キーワード,すな わち数字を文字に変えたりすることでより機密性を向上させていった. (※文責: 宮川良平) Group Report of 2011 SISP - 18 - Group Number 13-A Visualization of Code-Breaking 第7章 7.1 近代戦争と暗号についての関係性 日露戦争の暗号(1903∼) 日露戦争というのが日本が初めて体験した暗号戦争であり,情報戦争であると言われている.同 時に,日露戦争こそ暗号解読のあとにくる情報分析の重要性を記憶させる情報戦争だったと言われ ている.なぜならこの暗号戦争に対するロシアの油断が日本を勝利に導いたからだ.そのことを裏 付けるようなエピソードがある. 1903 年の日露戦争前夜,日露両国間に,当時の駐ロシア行使である栗野慎一郎が交渉相手にし ていたのはロシア皇帝の閣僚の一人,ベゾブラゾフであった.ある日,栗野行使が彼を訪ねて,日 本の立場を配慮してくれるよう要請したところ,ベゾブラゾフは言った.「それはそうと栗野さん. 私の名前が最近変わったようですな.」当初はベゾブラゾフが何を言ってるのかわからなかった栗 野は,やがて彼と別れた後にぞっとした.ちょうどロシアから打電していた各種機密情報の中で, あまりにもベゾブラゾフの暗号名の使用頻度が高かったため,栗野はベゾブラゾフの名を暗号名に 変更していたのだ.つまりベゾブラゾフは,日本側の情報は筒抜けになっているよとばかりに栗野 にはったりをかましたのであった.さらに 1904 年 2 月 4 日のことである.日本政府は御前会議を 開いた結果,栗野行使あてに暗号文を打電して日露戦争開戦の決定と,2 日後の 2 月 6 日にそれを ロシアに正式に通告する旨を伝える.ロシアにいる栗野は 4 日と 5 日の少なくとも 2 日間の沈黙 が求められた.しかしすでに,翌日の 2 月 5 日にはロシア皇帝による観劇会が予定されており,必 然的に彼はロシア皇帝をはじめとする閣僚や各国の大使と顔を合わせなければならない状況にあっ た.欠席すれば怪しまれることになってしまう.そう判断した栗野は,かねてから自分に対して冷 たい態度をとる皇帝の機嫌を伺うため,カモフラージュを兼ねてあえて観劇会に参加をする.その 日,ついにロシア皇帝の前に挨拶に立つのであった.ところが意外にも皇帝は満面の笑みを浮かべ ながら栗野の手を握り返してくると,今にも抱きつかんばかりの態度で話しかけてきたのだった. なんとか平静を保ち,その場をやり過ごした栗野に一人の男が近づいてきた.そして彼は笑いなが ら,「日本もとうとう終わりですな」と言った.それはロシアに駐在していたフランス大使の声で あった.「日本もとうとう終わり」これはどういう意味なのか.もしかするとロシア皇帝は日本の 開戦決定を知っており,それをカモフラージュするために,わざとあのような言動にでたのではな いだろうか.と後に栗野は気づく.だがそれ以上に彼の背筋を凍りつかせたのは,フランスがすで にその情報を入手していたということであった. 予定通り翌日の 2 月 6 日に,外相である小村寿太郎は駐日ロシア行使であるローゼンに日露交渉 の打ち切りを通告した.しかしその前に,ロシアに派遣されていた栗野は,日本がすでに情報戦争 に敗れ去っているという現実をまざまざと見せつけられたのである.後にソ連崩壊後に公表された ロシア側の資料によると当時,ロシアと同盟関係にあったフランスが日本大使館が打電している暗 号文を傍受,解読して,すべてロシアに流していたことが明らかとなったのである. ではなぜ日本の情報が筒抜けであったロシアは,日本の奇襲を防ぐことができなかったのか.ま た,開戦前の段階で暗号戦争に勝利していたはずのロシアが,敗れる結果を招いたのか.それにつ いて最も核心をついているのはロシア側の日本に対する油断そのものであった.というのも 2004 年,日露開戦 100 周年を迎えたロシアで日本側の軍事動向を示す一通の機密文書の存在が明らか になった.これはロシア帝国外交資料館を訪問中の名城大助教授稲葉千晴氏が発見した新史料で, Group Report of 2011 SISP - 19 - Group Number 13-A Visualization of Code-Breaking 当時の外相小村寿太郎がロシア占領下にあった清国領・牛荘の瀬川浅之進領事にあてた電報であっ た.日付は日露戦争開始のはぼ一ヶ月前の 1904 年 1 月 7 日付で,内容は「陸軍省が軍事情報の収 集のため牛荘で 2 人の外国人を雇う.日露戦争開戦による貴官の召還を考慮,2 人の外国人を雇う 必要がある」というものであった.当時,旅順にあるロシア極東総督府外交部がこの暗号電報を解 読したのちに,サンクトペテルブルクにいるラムスドルフ外相にあてて送った文書が,くしくも日 露開戦百周年を前にして見つかったのである.つまり,ロシア側は日本の暗号を完璧に読み解いて いたのにも関わらず,日本の国力や戦争に関するモチベーションを読み間違えたために,結果とし て日露戦争に敗れ去ったということがいえるのである. このことはいくら暗号を解読しても,その情報を分析し,現実に反映させなければ解読していな いのと同じだということである.また,日露戦争における暗号戦争の裏面史をひもとくことで見え てくることがある.それは日本側もイギリスからロシアの情報を入手していたという事実である. たとえばロシア主導で行われたポーツマス講話会議を土壇場でひっくり返し.樺太太割譲を実現さ せたのは,イギリスから日本政府に送られてきた機密情報であった.それはロシア皇帝が駐ロ・ア メリカ大使に賠償金は支払わないが樺太については譲歩すると内々に表明していた一件である.そ れまで何も知らなかった外相小村寿太郎と日本政府は,ロシアの全権大使セルゲイ・ヴイッテ伯に よって手ぶらで日本に帰るところまで追い詰められたのである.イギリスからこの機密情報を得た 彼らは,前述のようにギリギリのところで講和会議の主導権を奪うと,見事にロシア側を「敗者」 の立場に追い込んだのである.とすれば暗号史から見ると日露戦争とは,幕末においてイギリスが 後ろ盾になった薩長新政府とフランスが軍事顧問だった徳川政権の戦い以来の,英仏が背後に控え た代理戦争だったと見ることができる.そして今日でもイラクにおいて英仏の国益が対立したよう に,今もなお両国は諜報戦において代理戦争を引き起こすノウハウを知り尽くしたプロフェッショ ナル国家だということも事実である. (※文責: 宮川良平) 7.2 日本海海戦と暗号(1905 年) 日露戦争開始から 1 年 3 ヶ月が経過した 1905 年(明治 38 年)5 月 27 日午前 2 時 45 分.この 日,世界三大海戦の 1 つ,日露戦争における天王山・日本海海戦の火蓋が切って落とされた.当 時,信濃丸が五島沖でバルチック船隊を発見し,約 2 時間後の午前 4 時 40 分に打電した.「敵艦 隊見ゆ,敵は東水道に向かうもののごとし」という文であった.更に午前 6 時 45 分,哨艦和泉も これを発見.信濃丸と和泉の両艦はバルチック船隊と距離を保ちながら監視体制を取り,鎮海湾に あった連合艦隊指令長官東郷平八郎に刻々と状況報告.決断を迫られた東郷は,ついに連合艦隊の 出動を命じると大本営に向けてあの有名な一文を打電する.「敵艦隊見ゆとの警報に接し,連合艦 隊は直ちに出動,これを撃沈滅せんとす.本日天気晴朗なれども波高し」 この平文を暗号化した文章は次のようなものである. 「(アテヨイカヌ)ミユトノケイホウニセッシ(ノレツヲハイ)タダチニ(ヨシス)コレヲ(ワケフ ウメル)セントスホンジツテンキセイロウナレドモナミタカシ」 この括弧の中に注目すると,すべて 3 の倍数である.つまり 3 文字のカタカナを使った暗号フィル ターを使用していることに気がつく.したがって次のように 3 文字ごとに切って横に並べると,暗 Group Report of 2011 SISP - 20 - Group Number 13-A Visualization of Code-Breaking 号の 2 文字目がそれぞれの平文の単語の冒頭と一致していることがわかる. アテヨ(敵) イカヌ(艦隊) ノレツ(連合艦隊) ヲハイ(は) ヨシス(出動) ワケフ(撃沈) ウメル(滅) つまり日露戦争においては開戦前夜においても,また世界三大海戦の一つとされる日本海海戦にお いても,非常に単純な暗号が使用されているということである.事実,終戦後のポーツマス講和条 約で交渉にあたったセルゲイ・ウイッテ伯から「日本の暗号は自分で暗号だと思っているだけで, 他国にとってはまったくの平文と一緒でしたよ」と馬鹿にされたように,情報戦争ではことごとく ロシア側に惨敗していたのである.では,なぜ日本はロシアに勝利したのかといえば,陸海の戦士 の士気と実際に作戦を遂行するトップの能力がまさに秀でていたからにほかならない.当時の戦 艦同士の戦いには二種類の戦法しか用いられなかった.その一つは対航戦と呼ばれるもので,互い に向き合った艦がすれ違い様に射撃をするもの.あと一つは向き合って進んできた一方の艦が U ターンをして同じ方向を向いた後,併走して撃ち合うというものである.ところが東郷平八郎以下 の日本海軍が編み出した戦法は,T 字戦法と呼ばれる画期的なものであった.それは進撃してくる 艦隊に対して突然,自らの針路を 90 度変えて戦艦の腹を見せて立ちふさがる.そしてそのまま一 列縦隊に並び,相手の進撃を阻むと同時に,攻撃を仕掛け,これを撃沈するというものであった. 結果として,穏やかな海を越えて進撃してきたバルチック艦隊は,荒波の中,日本側の奇襲ともい えるこの新戦法の前に意表をつかれ敗北したのである.これは情報戦の域を超えており,ロシア側 が日本海軍の T 字戦法に関する情報を事前に把握していない限り,勝利を得るのは難しい状況に あったのだ.暗号文にある「本日天気晴朗なれども波高し」については,様々な説があるが,もし かするとこの T 字戦法でロシア艦隊を迎え撃つことを暗示したものではないだろうかと思える. しかし,いずれにしてもあのころの日本の指導者層は人材が豊富で優秀であった.というのも日露 戦争では海戦においても,いかに乗員を死亡させず,敵艦を沈めるかという点が考慮されていたの である.つまりボートをそろえ,救助法について万全を期して初めて指令長官の許可がおりたので ある. ちなみに第二次世界大戦について日本が惨敗した理由をいえば,本来弱者の秘密兵器である情報 戦を重視せず,突き進むしか道がないと信じた軍部のエリートたちの玉砕戦法に問題があったこと は否定できない.つまり国民の命を盾にしてまで生き残ろうとする傲慢な戦略・戦術の立て方に敗 因があったのである. (※文責: 宮川良平) 7.3 第一次世界大戦と暗号(1914 年∼) この戦争の裏で激しい攻防が展開された暗号戦争の主役はドイツ,イギリス,アメリカの三国 で,脇役はメキシコと日本であった.このうちイギリスは主役と演出家を兼ねており,日本は国際 Group Report of 2011 SISP - 21 - Group Number 13-A Visualization of Code-Breaking 社会という劇場で初舞台を踏んだばかりのいわゆる新人俳優であった.ただし,暗号の世界から見 れば,それこそ脅威になりかねない日本語という言語を携えていたことと,前述のように日露戦争 に勝利したという実績があったため,アメリカ,イギリス,ドイツの三巨頭が注目する大型新人で あった.1914 年 6 月 28 日,サラエボにおけるオーストリア皇太子暗殺事件が引き金となって第一 次世界大戦は勃発する.まずその背景について簡単に触れていこうと思う. 1900 年代に突入して以来,ドイツはロシア,フランス,イギリスの三カ国と工業,貿易,海軍, 植民地など,あらゆる分野で軋轢と葛藤を繰り返したが,このときオーストリア政府が確たる証拠 のないままセルビア政府が皇太子暗殺に関与していると断定し,宣戦布告をしたことから,戦局は 一気にヨーロッパの主要国を巻き込みながら拡大する.そしてイギリスはそれまで孤立主義を貫い てきたアメリカを参戦させることによって連合国側の戦力を増強し,戦いを有利に進めようと画策 するのである.当時,ヨーロッパにおける諜報戦大国はイギリスとフランスの両国であったが,第 一次世界大戦勃発前夜,すでにイギリスはドイツの通信用海底テーブルを切断し,鋭い五感を奪う ことで情報戦において主導権を握ることに成功していた.そのためドイツは無線通信や,それまで 中立主義を採っていたアメリカ所有のケーブルを使って重要な電報を送らざるをえない状況にあっ た.おまけに,そのいずれのルートも押さえていたイギリスにとって,ドイツの新外相に就任した アルトゥール・ツィマーマンの機密電報を入手するのは造作ないことだった.なぜここで新外相が ターゲットになったかといえば,実はこのころツィマーマンはイギリスをはじめとする連合国との 戦いを有利に進めるため,次のような作戦を考え出していたからである. それは,ドイツ軍の U ボートに「無差別潜水艦戦」を開始させるということで,海洋下に二百隻 もの U ボートを潜航させ,魚雷発射することでイギリスの船舶を撃沈し食糧・弾薬などの補給路 を断ち,6 ヶ月以内に降伏させるというものであった.しかし,この作戦は誤ってアメリカの民間 船を巻き込む可能性があり,そうなると中立を守っているアメリカも敵に回すと同時に,一気に参 戦させてしまうおそれがあるという問題点が生まれてしまうのである.そこでツィマーマンは,ア メリカを本土に釘付けにするためにメキシコに同盟を持ちかけ,財政的,軍事的に支援するという 密約のもと,そのメキシコを使ってアメリカに侵攻させるという奇想天外な計画を立案するのであ る.更に日本にもアメリカ本土を攻撃させることで,ドイツ,メキシコ,日本 vs アメリカという構 図を作り上げ,アメリカを孤立化させようと目論む.そして 1917 年 1 月 16 日,ツィマーマンは, この計画をメキシコ大統領に提案するために平文を暗号化した上でワシントン駐在のドイツ大使に 打電する.この電報はやがてワシントン駐米大使からメキシコ駐在のドイツ大使に転電され,その 大使を通じて大統領に届けられる予定であった.ところが,この暗号電報はイギリス軍に傍受され たのち,英国海軍省暗号局に回され,そこで解読されてしまう.傍受の仕掛けは先に述べた通りで ある.そのドイツの暗号電報は当時,海軍省情報部長だったサー・ウィリアム・ホールに回された のだが,意外にも彼はすぐには行動をとらなかった.というのも,情報を受け取ったアメリカが突 如としてドイツに何らかの攻撃を行なった場合,ドイツは暗号が解読されたことに気づき,これま でのシステムを一変させ,より強力な暗号システムを構築してくるだろうと判断したのである.つ まり戦時の暗号解読作業で最も重要とされる,暗号を「泳がせる」という作業を選んだのだった. と同時に,むしろアメリカはドイツによる無差別潜水艦戦が始まれば,いずれイギリスに加担する だろうとタカをくくっていたのである.ところが実際に U ボートによる無差別攻撃が始まっても, アメリカのウィルソン大統領は中立を保ち調停者になるという,従来からの態度を変えなかったの である.慌てた英国海軍省情報部長ホールは一計を案じる.それはすでに平文に戻されたうえでメ キシコ大統領に届けられていたはずのツィマーマンの暗号電報をメキシコ政府から盗み出し,アメ リカが独自に入手した情報として新聞などで公表させるという作戦だった.これならばイギリスが Group Report of 2011 SISP - 22 - Group Number 13-A Visualization of Code-Breaking ドイツの暗号解読に成功している事実を秘したままアメリカを大戦に巻き込むことができる.しか も念の入ったことにホールはイギリスの新聞に「自らのスタッフがツィマーマン暗号を傍受できな かったのは,誠に遺憾である」旨のコメントを発表し,イギリスは何も知らなかったとばかりに, その真相をカモフラージュすることも忘れなかったのである.事実,彼の作戦はことごとくヒット し,メキシコ侵略の脅威にアメリカ中は騒然となった.結果としてウィルソン大統領は 1917 年 4 月 2 日,ドイツとの戦争を決意.ここより第一次世界大戦はクライマックスへと向かうのである. このようにドイツから発信されたツィマーマン暗号はイギリスの傍受・解読,さらに参戦工作を 経てアメリカを奮い立たせたわけであるが,ではアメリカはドイツの暗号に対して手も足も出な かったのかというと,実はそうではない.ある時期からアメリカの情報当局はドイツの暗号をほと んどといっていいほど解読することに成功しているのである.この情報当局とは当時,極秘のうち にアメリカに創設されていた暗号解読秘密組織「機密室」,いわゆるブラック・チェンバーである. そして,そのブラック・チェンバーの中心人物は米陸軍情報通信部の管轄下にあった MI8 の課長 であったハーバード・O・ヤードレーであった.ヤードレーは 1931 年 6 月 1 日に, 「アメリカのブ ラック・チェンバー」というタイトルで組織の内幕を暴露している本を出版している.その中には アメリカが当時どのようにしてドイツの暗号を解読したかを具体的に述べているのである. (※文責: 宮川良平) 7.4 暗号機エニグマの登場(1918 年) これまでの暗号の歴史は手作業でつむぐ人為的なものが中心だった.そして「戦争は暗号を強化 する」という法則に従うかのように日清,日露,第一次世界大戦などを経て,人為的暗号は一つの ピークを迎える. 1921 年のワシントン軍縮会議で日本の外交暗号を解読したヤードレーは,その 5 年後の 1926 年 になって米国務省に対して人為的暗号ではなく,”機械による暗号システムを導入”するように進 言.欧州列強の間では機械的暗号に対する関心が高まる中,「紳士たる者,他人の信書を盗み見る べからず」 (ヘンリー・L・スティムソン国務長官)の方針を強めていたアメリカ政府は結局,この 進言を生かすことができなかった.だが,このときのヤードレーの提言はタイプライター式の暗号 機を導入するというものであった.彼によれば,「これは第一次世界大戦中にアメリカ電信電話会 社が発明したもので, タイプライターのキーボードを叩くだけで普通の文章がひとりでに暗号となって発信される」も のであった.そして, 「暗号はひとりでに解読されてタイプライターで打ち出されてくる」ため,発 信機と受信機の間でこれを解読しようという挑戦者がいても何の意味もなさない文字が乱雑に躍り 出てくるというものであった. 実はヤードレーがこうした機械的暗号の導入を米国務省に迫ったのには理由があった.というの も当時のヨーロッパの列強がいち早く機械的暗号導入に先鞭をつけ,これをシステム化しようと試 みたからである. その 1 つがドイツであった.ドイツは第一次世界大戦の敗北から情報力が軍事力を上回るケース が多いを学び,そこから”暗号を強化し,これを軍事力とみなすべきだ”という結論に達していた. ヤードレーの進言に先立つこと 8 年前の 1918 年,ドイツの発明家アルトゥール・シェルビウスは, 第一次世界大戦で使用された人為的暗号を進化させるためにひとつの機械を開発してみせる.この 機械こそが,のちに欧米列強の諜報機関を驚かせた暗号機エニグマであった. Group Report of 2011 SISP - 23 - Group Number 13-A Visualization of Code-Breaking エニグマとは「謎」という意味で,これはイタリアの建築家レオン・アルベルティが 15 世紀に 発明した暗号円盤を応用させたものであった.ちなみに暗号円盤というのは大小 2 枚の銅製円盤を 重ね,回転を可能にさせるために,中心をピンで留めたもので,どちらの円盤にも周囲の縁のとこ ろにアルファベットが刻まれている.これを少しづつ左右いずれかにずらして,例えば大円盤の A の小円盤に刻まれた B や C などがくるようにクルクルと回転させていく.そうすることで,結果 的にヴィジュネル方陣無しでヴィジュネル暗号を完成させることができるのである.これは初歩的 とはいえ,暗号史において画期的な暗号製造機械だった.つまり,ヴィジュネル方陣のリストに合 わせてコツコツと手作業で行うために時間が掛かり,手間が大きいシステムが,”暗号円盤という 原始的な機械を使用することで,より正確で,よりスピーディーに暗号化,解読作業が行えるよう になった”のである. しかし当時,暗号機エニグマは暗号のプロをはじめとして,誰にも見向きされなかったのであ る.その理由は簡単であった.1 つには価格が高いということ.もう 1 つは,暗号をイギリスに傍 受され,その結果,アメリカが参戦を決意したということに対してドイツ政府が気づいてなかった ためである.そのためエニグマは,暗号史の陰に追いやられ,忘れ去られようとしていた.だが, エニグマを暗号史の表舞台に引きずり出したのは,皮肉にも”ドイツの最大のライバルであるイギ リスだった” .というのも 1923 年になって,イギリスから 2 つの文章が発表されたのである. 1 つはチャーチルの回想録「世界の危機」,彼はここでドイツの暗号に関するネタ帳,いわゆる コードブックをロシアから入手していたというものである. そしてもう 1 つは,イギリス海軍が発表した第一次世界大戦に関する公式の戦争史である.この なかでイギリス政府は,連合国が優位に立ったのはドイツの通信をアメリカの海底ケーブルなどで 傍受し,暗号を解読したからだと繰り返した. これに激怒したのがドイツ軍であった.虎視眈々とヨーロッパでの覇権回復を目論んでいた彼ら は,第一次世界大戦と同じ過ちを繰り返さないために暗号に関する対策を徹底的に調査,検討した のである.その結果,彼らが到達した結論は切り札として暗号機エニグマを使用するというもので あった. そもそもエニグマの原理というものはわかりやすくいうと,タイプライターのついた箱がある. この中には 3 つの円盤形をした暗号フィルターが組み込まれている.このフィルターには 26 個の アルファベットが刻まれている.実際にはすべての作業は電気信号で行われているため,この暗号 フィルターは,ある一定の法則に従ってカチ,カチと相互に回転する仕掛けになっている.そう すると 3 つの暗号フィルターの組み合わせは 26 × 26 × 26 のすなわち 17,576 通りとなるので ある. 更に 3 つの暗号フィルターの手前にはプラグボードと呼ばれるケーブルが 6 本組み込まれてお り,フィルターが動く前に平文は,更にスクランブルがかけられる.具体的にいえば,キーボード の B と C のケーブルをつないでおくと B で送った信号が C のケーブルで流れていくため本来 B で暗号化されるはずのものが C を叩いたときのルートで暗号化されるのである.そうすると六本 のケーブルを使えば ABCDEF,CEFADB など全部で六個のアルファベットをそれぞれスクラン ブルにかけることができる.その組み合わせは,実に一千億にもなる.更に 3 つの異なる動きを設 定した暗号フィルターは,それぞれ配置を変えることができるので 3 × 2 × 1 の合計 6 通りの配 置を行うことができる. これらを単純計算すれば,26 個のタイプを持った箱の中には「3 つの暗号フィルターのアルファ ベット設定(17,576 通り)×プラグボードの交換方法(一千億通り)× 3 つの暗号フィルターの 配置の変更(6 通り)」,つまりはその総数は一京という天文学的数字になるのである.暗号機エニ Group Report of 2011 SISP - 24 - Group Number 13-A Visualization of Code-Breaking グマを通過したドイツの平文は,一京にも及ぶ暗号フィルターの選択肢を与えられて受信者にたど り着くのである. では暗号の受信者は,どのようにしてこのような凄まじい暗号製造機から送られてきた暗号を平 文に戻すのであろうか. その仕組みとして,受信者はまず,エニグマの初期設定を記したコードブックを暗号の発信者と 共有し,その通りに内部チェックをしたのち,暗号文の 1 文字ずつをキーボードに打ち込んでい く.すると自動的に平文があらわれる仕掛けになっているのである.それがレフレクターと呼ばれ るシステムである.わかりやすくいえば,エニグマの中にあらかじめ反射板の役割を果たす部品を 組み込むのである.すると平文が電気信号で暗号化された途端,このレフレクターに反射され,3 つの暗号フィルターを通って信号を送り返してくれるのである.これが一京という膨大な選択肢の なかから受信者が平文を取り戻せるというわけだ.したがってチャレンジャーは究極の選択肢とし てエニグマそのものを盗み出してしまう他は解読の手立てはない,ということである.事実,ドイ ツが本格的にエニグマを導入した 1926 年.イギリス政府は困惑する.というのも,依然として続 けてきたドイツの通信傍受の中で,どうにも解読できない暗号があることに気がつく.それは日増 しに増えていき,ついには暗号解読室の精鋭たちもお手上げという状態になってしまったのであ る.イギリスだけではなく, ”アメリカやフランスもドイツの機密文章に,または暗号機エニグマの前に全面降伏することに なるのである.” (※文責: 宮川良平) 7.5 第二次世界大戦と暗号機エニグマの運命(1939 年∼) この戦争は,一般的には,1939 年の英独戦争に始まり,1941 年 6 月の独ソ戦争,同年 12 月の 太平洋戦争を経て,1945 年 5 月のドイツ降伏,更に同年 8 月の日本の降伏で終わった戦争のこと である. 第二次世界大戦には 2 つの極があった.一方はヨーロッパの英独戦争,独ソ戦争,他方は東アジ アおよび太平洋で日中戦争,太平洋戦争を主なステージとした.第一次世界大戦が突如勃発したの に対して,第二次世界大戦は引き起こされたといわれている.ヒトラーが慎重に計画し,準備を重 ね,意図的に引き起こされたといわれているのである.戦争を引き起こした人物(ヒトラー)ある いは勢力(日本軍部)は早くから特定されていたので,これらを適切に押さえ込むことで戦争を避 けることが可能であったかもしれない.従って,この観点からチャーチルは第二次世界大戦のこと を不必要な戦争であると述べている. 第一次世界大戦の 1919 年から 6 月まで開かれたパリ講和会議では,結果としてドイツに対する 過酷な講和条約が出来上がり,ドイツの代表団はパリ郊外のベルサイユ宮殿に呼びつけられ,一切 抗弁せずに調印することを求められた.そのためドイツ国民の不満はくすぶり続け,ついに 1929 年以降,ドイツを直撃世界恐慌によってドイツ経済は大混乱に陥り,その不満が頂点に達する. そんなさなかにあらわれたのがヒトラーであった.ベルサイユ体制打破を叫ぶヒトラーの声にド イツ国民は耳を傾け始め,やがて世界恐慌の嵐の中でナチズムの運動が大きく成長し,ついに彼は 権力を掌握することに成功するのである.また戦後に出来上がった英米主導の国際新秩序に対し, それぞれに「持たざる国」としての不満を抱いたドイツ,イタリア,そして例のワシントン軍縮会 議で完膚なきまでに叩きのめされた日本の 3 国は,やがて地球上の資源の再分配を求めて,第二次 Group Report of 2011 SISP - 25 - Group Number 13-A Visualization of Code-Breaking 世界大戦を引き起こすことになる. 連合国対枢軸国という対抗関係が明確化するのは,1941 年 12 月のことであった.もともとの悲 劇のきっかけは 1929 年 10 月に起こったニューヨーク株式市場の大暴落であった.この直後に世 界経済恐慌が始まった.世界恐慌に直撃された日本は,政治的,経済的に深刻な危機に陥った.そ の結果 1931 年 9 月,満州で軍事行動を起こし,1931 年には「満州国」を樹立する.同様に 1933 年 1 月,ドイツに成立したヒトラー政権は,日本の満州侵略に対する国際連合の無力な対応を見 て,同年 10 月軍備平等権が認められないのを口実に軍縮会議および国際連合および国際連盟から 脱退をする.これはヒトラーが再軍備制作に乗り出したことを意味する. 更に,1938 年 11 月,街中に飛び散ったガラスの破片がまるで水晶のように見えたことから, 「水 晶の夜」事件と呼ばれるユダヤ人に対する暴言,撲殺事件以来,米独関係は悪化し始める.アメリ カの動向を絶えず注視していたヒトラーは,鋭敏にこれを察知し,1939 年 1 月,ユダヤ人弾圧事 件を逆にユダヤ人の仕業にし,国際ユダヤ人の陰謀だとして避難し始める.そして機を逃すと軍備 上の優位が失われるのを恐れた彼は,1939 年 9 月の時点でまずポーランドと戦争を始めるのであ る.こうしてみていくと, 暗号機エニグマの出現はヒトラー政権の台頭と合わせ鏡であることがわかる. 1939 年 4 月 27 日,ヒトラーはポーランドに対して不可侵条約を破棄.危機感を募らせたポーラ ンドは,イギリス,フランスの両国を巻き込むため,ついにその 2 ヵ月後の 6 月,それまで秘密に していたエニグマの暗号解読法とそのレプリカ 2 台を両国の情報担当官に公開をするのである.そ してその情報を得たイギリスは,”暗号解読プロジェクトチーム「ウルトラ」を組織し,より精度 の上がったエニグマ暗号に全力をあげて対抗することを決意”するのである. 一方,こうした動きの中でドイツはエニグマの内部構造をより複雑化することで対抗.しかも暗 号メッセージのなかでの反復呼びかけを止めたため,ポーランドの暗号局からイギリスのウルト ラにもたらされたエニグマ解読戦線の流れは,完全に断ち切られたかのように思われた.だが,” バージョンアップしたエニグマにも意外な弱点があった” . 第二次世界大戦が 1 つのピークを迎えようとしていた 1941 年.「ウルトラ」のメンバーはある発 見をするのである.それは”エニグマは絶対に平文の文字を同じ文字に暗号化しないという,ヴィ ジュネル暗号の持つ原理原則的欠陥”であったのである. つまりアルファベットの A は絶対に A とは暗号化されないのである.B は絶対に B にはならな い.C にしても D にしても,同じことである.エニグマで起こりえないことを推測することで逆 に暗号解読の突破口が開けるという点に, 「ウルトラ」のメンバーは気がついたのである. やがて,ボンブと呼ばれるエニグマのレプリカをフル稼働させながら,こうした解読作業を積み 重ねた「イギリスのウルトラ」は,ついにドイツの暗号機エニグマの秘密をほぼ掌中に収めた. ところが,今度はドイツ海軍で使用されている高性能のエニグマがイギリスの暗号解読戦線の前 に立ちはだかるのである.というのも彼らの使用するエニグマは通常 5 つ(3 つから進化を遂げ ていた)使われていた暗号フィルターをそれよりも 3 つ多い 8 個にしていたのであった.従って, トータルとして暗号の選択肢は”通常のエニグマに比べ,なんと一京のおよそ 60 倍”という想像 を絶する世界に到達していた.しかも反射板の役目を果たす”レフレクターを固定型から可変型に 改良したため,一度暗号化された平文が,受信者の手元にもう一度スクランブルをかけられる”と いうイギリスの「ウルトラ」も降参するような仕掛けが施されていた.しかし,そこで解読する側 は最後手段として 3 つの選択肢がある. (1)チャレンジを断念すること.(2)ドイツ海軍のエニグ マを盗み出し,解体すること. (3)エニグマの設定が記された暗号帳,いわゆるコードブックを手 に入れること,の 3 つである. Group Report of 2011 SISP - 26 - Group Number 13-A Visualization of Code-Breaking そのころ,ドイツ海軍は高性能のエニグマを使用した秘密通信によって大西洋上に浮かべた U ボートを自在に操り,連合国の食糧,武器弾薬などの補給船を壊滅状態に陥れていた.これを阻止 するためには”エニグマ暗号を解読し,いち早く U ボートの動向を察知して,撃退するしか有効 な手段はない” .だが(1)は無理だ.というのも事態は戦時体制なのであり,戦争の真っ最中なの である.簡単に白旗をあげるわけにはいかない.彼らが選択したのは” (3)のドイツ海軍のコード ブックを奪うという「暗号解読における強硬手段」”の実行であった.(2)についてはあまりにも リスクが大きく作業そのものにも無理があった.従って,コードブックを盗み出すという作戦が採 られたのだが,例えばその戦術の中には,あらかじめ奪取したドイツの爆撃機を不時着に見せかけ てドイツ船舶の近くに浮かべておき,ドイツ兵になりすましたイギリス人が救出に来るであろうド イツ船に乗り込み,コードブックを奪い取るというものであった. だが結局,”イギリス軍は大胆にもドイツ海軍の誇る U ボートそのものを奪い,司令室に保管さ れているコードブックを手に入れるという強硬策に打って出る.”これがまんまと図に当たり,イ ギリスの暗号解読チーム・ウルトラは,入手したコードブックをもとに高性能エニグマ暗号の解読 に成功.イギリスはドイツ海軍の秘密通信を傍受して,U ボートの位置を確定したうえで,次々に これを撃破し,形成を逆転させるのである.しかし,ここで重要なことは,”ドイツ海軍がそのま まエニグマ暗号のコードブックを変更せずに同じものを使い続けたという点”である. 重要なことは,暗号の世界では解読結果を自国に有利に運ぶため,敵の暗号を突破したという事 実をいかに秘匿するかということである. イギリス海軍は,すべて奪取した U ボートをわざと沈めてコードブックごと海に沈んだように 見せたり,U ボートを撃沈できたにも関わらず,わざと見逃したりという行為を繰り返したのであ る.そのためドイツ海軍はエニグマ暗号がイギリスに解読されているという事実に気がつかないま ま,世界大戦を遂行したのである. このようにして,ついに”連合国側はドイツのエニグマ暗号を弄ぶレベルにまで到達”したので ある.そして,第二次世界大戦は終戦へと向かう. (※文責: 宮川良平) 7.6 歴史のまとめ 以上が暗号に関する歴史とその背景だが,これらを調べた結果として,やはり暗号化や解読が大 きく成長したのは戦争が大きく関わっていることがわかる.自分の国を守るために暗号をより強力 なものとしようとしていたからこそ,他国が解読のできない,より複雑なものとなっていったので ある. (※文責: 宮川良平) Group Report of 2011 SISP - 27 - Group Number 13-A Visualization of Code-Breaking 第 8 章 頻度分析プログラム作成の概要 8.1 頻度分析の概要 たいていの文章では文字の出現頻度に偏りがある場合が多い.その出現頻度の偏りを利用するこ とで,暗号解読に役立てることができる.そうした暗号解読の方法が頻度分析である.例えば,通 常の英文において「e」の出現頻度は最も高く,逆に「z」の出現頻度は最も低い.そのため暗号文 で出現頻度の高かった文字から変換していく方法が効果的である.また前置詞や接続詞などは種類 が限られるため文字の予測がしやすい.頻度分析のデメリットとして,文章が短かった場合はうま く頻度分析がしにくいことが挙げられる.これは,文章が短いと文字の総数が少なくなり,頻度の 偏りがうまく発見できないからである.つまり,頻度分析をする際には文章がある程度長いという ことが重要視される. 頻度分析を利用する暗号として換字式暗号というものがある.換字式暗号は暗号化する前の,元 文の文字を別の文字に変換している暗号である.原文がアルファベットの文章だとすると,原文の アルファベットを別なアルファベットにそれぞれ置き換えている暗号のことである.この場合,た だ文字を置き換えているだけなので,全体の文字の個数に変化はない.例えば, 「a」という文字が 「b」に置き換えられていた場合,この「a」と「b」の出現頻度は等しい.よって,出現頻度から暗 号解読ができるのである. 図 8.1 頻度分析 (※文責: 渡辺貴仁) Group Report of 2011 SISP - 28 - Group Number 13-A Visualization of Code-Breaking 8.2 プログラム開発∼暗号化 頻度分析は暗号文を元の文章に戻す解読方法なので,まずは暗号文を用意する必要があった.そ のため,文章を暗号化するプログラムを c 言語で作成した.その暗号化プログラムとは換字式暗号 そのものであり,「a」から「z」の 26 のアルファベットを異なるランダムなアルファベットに変 換するプログラムである.ランダムなアルファベットとは乱数を使うことで生成される.この時, 「a」は「c」に変換され, 「b」も「c」に変換されることはない.全て重複することなく別のアルファ ベットに変換される.前期では暗号文はどのように生成されているのか学んでいなかった.そのた め,暗号文に変換するという工程が思いつかなかった.そのため,暗号の知識を調べるために後期 のプロジェクト活動が始まったときに新たに暗号文にはどういう種類があるのか学んだ.またシー ザー暗号と呼ばれる特定の数だけ文字をずらしているう単一換字式暗号のプログラムも作成した. 例えば,「3」だけ文字をずらすように設定すると「a」は「d」に「b」は「e」に変換される.「z」 の場合はアルファベットの最初に戻り 3 ずらすので「c」となる.この暗号はずらす文字を設定す ると 26 種類全ての文字が移動するので,他の暗号よりも解読が比較的容易である. 図 8.2 換字式暗号 (※文責: 渡辺貴仁) 8.3 プログラム開発過程∼文字の出現頻度計算 頻度分析を行うには「a」から「z」までの 26 文字のアルファベットがそれぞれいくつ存在するの か調べる必要があった.そのため暗号化した文章から文字を数え,個数を表示させるというプログ ラムを作成した.この時,文字の頻度を数えることが重要なので,大文字と小文字の区別をせず, 大文字と小文字の個数を合わせて 1 種類のアルファベットとして計算するようにした.作成したプ ログラムは, 「a は文章中に○文字存在する」…「z は文章中に○文字存在する」という表示にして いた.しかし,1目見ただけでどのアルファベットが多いかを判断するのが難しかった.頻度分析 Group Report of 2011 SISP - 29 - Group Number 13-A Visualization of Code-Breaking グループで作成したプログラムは最終的にはアプリケーション実装グループでも使われるため,な るべく見やすくわかりやすいプログラムを作成する必要があった.そのため文字数の多い順番に並 べるように改良した.ただし,文字の頻度によって必ずしも文字が決められているわけではない. そのため文字の出現頻度を確認する専用のプログラムに留まった. (※文責: 渡辺貴仁) 8.4 プログラム開発過程∼文字の変換 文章の文字の頻度を調べた後は文字を変換する処理が必要であった.そのため,文字を変換する プログラムを作成した.変換前の文字とと変換後の文字を入力し,変換した文章を生成するプログ ラムである.生成する場所は当初テキストファイルを生成して,そこに文章を保存させるような仕 組みにした.しかし,テキストファイルに保存した場合はいちいちテキストファイルを開き,場所 を確認する必要が生じる.暗号解読をしていくには,暗号文中の文字を何度も変換したり,元に戻 したりするため,暗号解読がしづらいという問題点が生じた.そこで,テキストファイルを開く手 間を省くために,プログラム上で文章を常時表示させておいた.さらにテキストファイルでアル ファベットの変換対応表作成した.そうすることでアルファベットの変換対応表を操作すると,プ ログラム上で常時表示してある文章が変化するとういうプログラムになった.これにより,テキス トファイルをいちいち確認する必要がなくなり,さらに同時に変換できる文字の量が増えること で,最終的にプログラムの質を向上させることができた.このプログラムは変換した文字の色を変 更させることで,変換後の文字がどこなのかを1目でわかるよう工夫した.アプリケーションに転 用した際にも操作性の向上という点で大きく貢献できた. (※文責: 渡辺貴仁) 8.5 前期の活動と後期の活動の結びつき 前期での活動によりプロジェクトメンバー全員が PARI/GP を利用した暗号化,復号,解読技術 を学んだ.PARI/GP とは数論に関する様々な代数演算を行うことが可能である計算機代数アプリ ケーションである.数論に関する様々な代数演算を行うことが可能である.それを元に解読の際に 重要とされている素因数分解を行った.PARI/GP を用いてプログラムを組み,RSA 暗号や楕円 曲線暗号の基礎的な暗号化,復号,解読技術を多くの試行を繰り返し学んだ.さらに暗号の歴史的 背景を学ぶことによって,暗号が生活の中でどのように使われてるのかを学ぶことができた.そし て日常生活の中で暗号は情報セキュリティでよく使われているということがわかった.例えば,個 人情報を保護したり,企業などの機密情報を守るために存在しているのだ.また,情報の通信にも 使用され,第3者が情報を見れないようにするために暗号が使われている場合もある. プロジェクト全体で,暗号という言葉を聞いて,一般の人は「暗号」に対して具体的なイメージ がわきにくいのではないかと考えた.これらの問題点を解決するために,グールプ全体で個人が暗 号解読の可視化へ向けての最終発表をするため準備を行ってきた.また,中間発表では内容や説明 が不足しているという声があった.そのためより多くの知識を増やすため,各自で勉強をして,暗 号の知識をつける必要があった.さらにプロジェクトの中で連携してる様が見えてないという指摘 があったため,後期でよりいっそうプロジェクトグループ全体で仕事を分担し,プロジェクト内の Group Report of 2011 SISP - 30 - Group Number 13-A Visualization of Code-Breaking 協力体制を強化した.後期では今までの知識を生かすと同時に,より詳しい知識を学び暗号解読の 可視化をするべく,グループ全体で話し合いを幾度となく重ねた. プロジェクト全体の最終目標として,一般の人たちにも暗号解読というものをイメージさせやす く,さらにもっと解読の過程を分かりやすく,目に見えるようにするということが挙げられてい た.そのため後期のプロジェクトグループ全体の主な目標は暗号解読の可視化のアプリケーション の作成をすることに定まった.そのため最終的には iPad 上で暗号解読のプロセスを可視化をする ことに目標を定め,頻度分析グループでは自らが前期で学んだ知識を生かしてプログラムを作成す る必要性があるということで話がまとまった. アプリケーション実装グループは実装環境の整備を進め,同時進行で頻度分析グループでは PC 上で暗号解読のプロセスを一通りプログラム化してみることにした.そうすることによってお互い のグループで時間を有効に使うことができ,それぞれの知識を高めあうことができた. (※文責: 渡辺貴仁) 8.6 アプリケーションへの引継ぎ 頻度分析グループではアプリケーションの開発まではせず,アプリケーション実装グループに開 発をお願いし,お互いに協力してアプリケーションを開発する体制を整えた.また,頻度分析グ ループが作成したプログラムは全てアプリケーション実装グループに渡し,アプリケーション実装 グループでアプリケーション用にプログラムを改良した.頻度分析グループでは頻度分析の解読プ ログラムを作成でき,アプリケーションに利用することができた. (※文責: 渡辺貴仁) Group Report of 2011 SISP - 31 - Group Number 13-A Visualization of Code-Breaking 第 9 章 プログラム試験運用 9.1 実験の目的 今回の実験をする目的は,プロジェクトで作成したプログラムが果たして,一般の人が理解でき るように実装されているのか確かめるためである.もし,一般の人がプログラムをうまく使うこと がでないのであれば,よりわかりやすくプログラムを改良するべきである.もし,一般の人がプロ グラムをうまく使うことができるのであれば,そのプログラムの何がよかった分析することができ る.一般の人とこのプロジェクトグループの人とのプログラムの知識には差がありその差はプログ ラムを動かしたときに,どのように影響するのか知る必要がある. この実験を通すことで,プログラムを一般の方にもわかりやすいものに近づけることができると 考えた.実験を行わずにアプリケーションに実装してしまうと,一般の人に不都合や操作性のしに くさが生じてしまう可能性があった.そのためプログラムの動作テストも兼ねて実験を行った. (※文責: 渡辺貴仁) 9.2 実験手続き 頻度分析グループで作成したプログラムは,pc 上で動かすプログムラムの状態で1度以上被験 者に触ってもらい,悪いところや意見を貰うようにした.そのためにも被験者を用意する必要が生 じた.まず被験者の対象として,18 歳から 55 歳までの 10 人の人間に実験に参加して頂いた.全 員がプログラムに関して詳しくなく,プロジェクトの対象である「 「暗号」に対して具体的なイメー ジがわきにくい一般の人」に近い存在であった. (※文責: 渡辺貴仁) 9.3 実験内容 被験者にはあらかじめプログラムを動作実験をするということを伝えておいた.実験に用いるプ ログラムは2つである.1つは文章を暗号化するプログラムで,もう1つは頻度分析による暗号解 読プログラムである.PC を用意し,被験者にプログラムを PC 上で実際に動かして頂いた.動か している最中に操作の仕方を教えて,全員がプログラムを最後まで動かせるように補助した.2 つ めのプログラムは最後まで解読する必要はなく,動作を確認してもらうだけである.最後に被験者 から意見を頂いた. (※文責: 渡辺貴仁) Group Report of 2011 SISP - 32 - Group Number 13-A Visualization of Code-Breaking 9.4 実験結果 今回の実験では暗号化のプログラムは,アルファベットを乱数を使って変換すること自体に抵抗 を覚える人が過半数以上を占めた.理由として「アルファベットを変換した後の文字が最初から用 意されていたのではないかと疑ってしまう」や「そもそも暗号自体よくわからない」などと意見を 頂いた.なので,実際にアプリケーションにした際は,事前に暗号について説明を入れることや, プログラムの仕様もきちんと説明する必要があるとわかった. 暗号解読プログラムの方は「プログラムの操作性が難しすぎる」や「わけがわからない」,「何を やっているのかそもそもわからない」とプログラムの基本動作が理解できた人はいなかった.また プログラムを終了する前に操作をやめた人もいた.このプログラムを見返すと,大掛かりな処理や 操作を利用することが多かった.そのため,プログラムの操作性や基本構造から直す必要があると わかった.そのため,操作の1つ1つを簡単にして,同時に操作部分を減らすように改良を加えた. 本実験では被験者全員がプログラムを完全に理解することができなかった.10 人の被験者にい えるのは最初はうまく動かせているのだが,そのあとで次の新しい動作をするときに,操作の混乱 が見られる傾向にあるということだ.操作が多く自分の思考を整理するのが難しいようだった.ま た,自分で暗号解読していても,それが元の文章に戻っていないと感じた場合,操作を止めてしま う傾向にある.その中には元の文章に近いところまで解読していた人もいくらかいた.さらに実験 を終えるまでにたくさんの時間を使った人が多かった. 今回の実験の場合は解読を完了することが目的ではないが,暗号解読自体をアプリケーションと して作成した場合一般の方の理解が得られにくいと考えた.そのためこの実験より暗号解読そのも のではなく,暗号解読のプロセスを可視化した方がいいと考え,アプリケーションでは暗号解読の プロセスの可視化をすることにした. (※文責: 渡辺貴仁) 9.5 実験成果 今回の実験では,プログラム開発者にとって想定外の意見を多く聞くことができた.そのため実 験を行ったことは成功したと考える.アプリケーションは便利だが,対象者はプログラムに詳しく ない人を想定しているので,事前に意見を頂けたことは大きかった.プログラムは簡略にしたつも りだったが,被験者からは難しいという意見が多く出た.このような実験を繰り返し行うことが重 要であると認識できた.今回の意見を参考にプログラムを改良し,アプリケーション実装に大きく 貢献することができた. (※文責: 渡辺貴仁) 9.6 実験を終えて 頻度分析グループでは様々なプログラムを作成したが,1つ1つをアプリケーションにするのは 難しかったため,最終的にアプリケーションに利用されたプログラムは極わずかである.しかしな がら,プログラムを作成するのにたくさんの知識や技術を身につけることができた.また一般の人 との意見交換ができたことは,アプリケーションの質の向上やプロジェクトグループの活動を大き Group Report of 2011 SISP - 33 - Group Number 13-A Visualization of Code-Breaking く飛躍させることができた. (※文責: 渡辺貴仁) Group Report of 2011 SISP - 34 - Group Number 13-A Visualization of Code-Breaking 第 10 章 10.1 成果物のまとめ プログラム ・文章を暗号化するプログラム ・アルファベットの個数を数えるプログラム ・アルファベット変換プログラム ・アルファベットを変換した部分の色を変えるプログラム ・アルファベットずらして文章を作成するプログラム ・ランダムにアルファベットを変換するプログラム ・アルファベットを変換後,変換後の文章を表示するプログラム ・テキストファイルを読み込んで,暗号化するプログラム ・アルファベットの変換前と変換後の対応表を表示するプログラム これらのプログラムを作成したことによって,文章の暗号化から解読までを行うことができた. (※文責: 渡辺貴仁) 10.2 プログラム以外の成果物 ・公開鍵と共通鍵の違いを表したグラフ ・文章におけるアルファベットの出現頻度を表したグラフ ・換字式暗号の具体例を表した図 ・シーザー暗号を説明した図 ・誕生日パラドックスを表した図 ・暗号の歴史についてまとめた図 ・暗号とはどういうものかを示した図 主に暗号について詳しく知らない人が理解できることを目指して作成した. (※文責: 渡辺貴仁) 10.3 アプリケーション 実装班と共同で頻度分析プログラムを元に iPad 上でアプリケーションを作成した. (※文責: 渡辺貴仁) Group Report of 2011 SISP - 35 - Group Number 13-A Visualization of Code-Breaking 第 11 章 発表会評価 ここには,発表会における評価を記す. (※文責: 田中雄太) 11.1 中間発表 ここには,中間発表における評価を記す. (※文責: 田中雄太) 11.1.1 発表技術の評価 ・スライドが見やすかった. ・クイズ形式を用いたことが良かった. ・発表の時の声は大きくて良かった. ・スライドを見ながら発表しているのが長い. ・用語の説明や解説が早かった. ・前提知識が無い人に分かりにくい説明だった. (※文責: 田中雄太) 11.1.2 発表内容の評価 発表技術に関しては,発表方法を見直し,前提の知識が無い人にも分かりやすい説明の仕方を心 がけていくなど,発表練習を増やしていかなければならない.発表内容に関しては,可視化につい ての具体的な説明を行い,また,それぞれの班ごとの関連性について明確にしていかなければなら ない.以上が中間発表で見つかった今後の課題である. (※文責: 田中雄太) 11.1.3 点数評価 中間発表の評価として,発表技術の点数の平均は,10 点満点中 6.54 点で,発表内容の点数の平 均として,10 点満点中 6.5 点であった. (※文責: 田中雄太) Group Report of 2011 SISP - 36 - Group Number 13-A Visualization of Code-Breaking 11.2 最終発表 ここには,最終発表における評価を記す. (※文責: 田中雄太) 表 11.1 最終発表の評価集計結果 11.2.1 発表技術評価平均点 発表内容評価平均点 2 年生 6.2 点 6.73 点 3 年生 6.45 点 6.56 点 4 年生 6.66 点 3.33 点 院生 4.5 点 4.0 点 教員 5.5 点 5.0 点 一般 7.71 点 7.13 点 全体 6.46 点 6.53 点 発表技術の評価 ・発表の際の声の大きさが良かった. ・発表の時の,説明が丁寧で分かりやすかった. ・何も見ないで発表していたのが良かった. ・プレゼンテーションの説明の流れが分かりやすくて良かった. ・iPad での実演の説明が分かりやすかった. ・アプリでの実演での見せ方がスライド式で良かった. ・活動内容の説明が分かりやすかった. ・作ったプログラムの流れの説明が良かった. ・成果物を発表のときに見せたのが良かった. ・暗号で用いている方式を数式で丁寧に説明されていて良かった. ・様々な暗号の方式の仕組みが分かって良かった. ・具体的な数字を用いての説明があるため理解しやすい発表だった. ・発表の進行の早さはちょうど良かった. ・難しい内容を分かりやすく発表していた. ・発表のときにスライドを見ている時間が長かった. ・文字や文章が多すぎていたので,図などをもっと取り入れて欲しかった. ・ポスターが少し見づらかった. ・アプリの実演をスクリーンで投影したほうが見やすい. ・プロジェクトの目標の説明が分かりづらかった. ・可視化による有用性やニーズの説明が欲しかった. ・スライドが少し分かりづらかった. ・初めて見る人には分からない言葉が多い. ・質問に答えられてないところが少々あった. Group Report of 2011 SISP - 37 - Group Number 13-A Visualization of Code-Breaking ・成果物が形に残るものでないので,分かりにくい所があった. ・発表者を複数にしていたので,聞きにくかった. (※文責: 田中雄太) 11.2.2 発表内容の評価 ・中間発表ときに言っていたアプリを実際にみることができて良かった. ・素因数分解などの説明が分かりやすかった. ・用語の解説が丁寧だった. ・暗号を可視化することで,暗号が何なのかというのが分かった. ・様々な暗号解読の方法を知ることができて良かった. ・目標を達成できたかどうかが明確で良かった. ・暗号を身近に感じるアプリを作っていたのが良かった. ・暗号を身近に感じることができて良かった. ・シンプルな発表の流れで,話に入りやすかった. ・暗号の一例が分かりやすく説明されていた. ・暗号の可視化アプリが利用しやすそうでいいと思った. ・アプリの実演で,暗号に興味が湧いた. ・暗号について学ぶ人にとって良いアプリだと思った. ・可視化することでの目的が分かりづらかった. ・短い時間ではρ法について理解できなかった. ・専門用語が多く,内容の理解に時間がかかった. ・頻度分析の説明がもう少し欲しかった. ・アプリの実用性が低いと思った. ・セキュリティに関してもう少し精度が上がると良いと思った. ・例をもっと増やして欲しかった. ・もっとアプリを見やすくして欲しかった. ・ρ法のアルゴリズムの説明が分かりづらかった. ・頻度分析以外の可視化も見たかった. ・成果物に端末を選んだ理由が欲しかった. ・RSA が何ビットの素数を解読できたなどの説明が分かりにくかった. (※文責: 田中雄太) 11.3 発表全体でのまとめ 以上の評価から,様々な問題点や,良い点が分かった.中間発表での問題点を克服していた項目 もあれば,今回の最終発表で初めて出た問題点もあった.発表技術の良い評価として,成果物を発 表の時に,実際に見せたのが良かったり,発表の時の声の大きさが良かったなどが多かったことか ら,発表方法については中間発表の時よりも良かったといえる.しかし,問題点としては,難しい Group Report of 2011 SISP - 38 - Group Number 13-A Visualization of Code-Breaking 言葉が多いなどや,内容の説明が早いなどが多かったことから,中間発表の時と同様に,短い時間 での暗号の説明に問題があったといえる.次に発表内容の良い評価として,暗号を身近に感じるこ とができたなどや,暗号に興味が湧いたなどが多かったことから,本プロジェクトの目標を達成さ せることができたといえる.しかし,問題点としては,アプリのスクリーンが小さくて見づらいな どや,頻度分析の説明が分かりづらかったなどが多かったことから,アプリの実演方法をもう少し 工夫するべきだったり,説明の方も分かりやすく図やグラフなどをもっと用いるべきだったことが いえる. (※文責: 田中雄太) Group Report of 2011 SISP - 39 - Group Number 13-A Visualization of Code-Breaking 第 12 章 暗号の条件 現在,世界各国でコンピュータが使われていて,その中でインターネットは幅広く使われてお り,情報がとても重要な価値を持つようになり,それによって情報に対してのセキュリティについ ても重要になってきている.したがって,暗号は情報を保護するために用いる方法である.この暗 号方式に大きく2つあり,共通鍵暗号方式と公開鍵暗号方式がある.共通鍵暗号方式と公開鍵暗号 方式それぞれに利点と欠点があるため,様々な目的に合わせて使い分けたり,2つを組み合わせた りして使っている.暗号には,安全な通信のために下記のように4つの条件が必要になってくる. (※文責: 田中雄太) 12.1 機密性 情報を第3者に盗聴されないように必要がある.現在では,電子データが多く使われていて, ネットワークでのデータ通信が当たり前となっている.万が一,盗聴された場合には大規模な漏え いが起こる問題が発生する.盗聴されている人たちは,大抵の場合気づいていない.また,その データは,ログファイルなどにより簡単に記録できてしまい,いつでもログから取り出したい情報 を簡単に検索できる.さらに,盗聴の結果はログに半永久的に記録される. (※文責: 田中雄太) 12.2 完全性 インターネットで流れるデータを盗聴することは可能である.そのため,これ用いて情報の内容 の改ざんをすることもできる.また,その改ざんが巧妙であれば,盗聴のときと同様に,気づくの には難しい.暗号通信では通信内容の完全性を保証するために,電子署名という手段が必要となっ てくる.電子署名とは,電子文書に付与する電子的な徴証であり,紙文書に例えると,印やサイン など署名に相当するもののことである. (※文責: 田中雄太) 12.3 認証 通信をインターセプトして,他者へのなりすましも可能である.現代のデータ通信は,相手の顔 が見えないまま行われていることが多いため,相手が本人であるのか非常にわかりづらくなってい る.なりすましを防ぐためには,お互いの相手が本人であることを認証する手立てが必要となって くる.また,認証に必要な情報は第3者に対しては機密にしていなければならなく,これらの認証 の過程は完全なものでなければならない. (※文責: 田中雄太) Group Report of 2011 SISP - 40 - Group Number 13-A Visualization of Code-Breaking 第 13 章 13.0.1 暗号方式について 共通鍵暗号方式 共通鍵暗号方式とは,暗号化と復号の鍵が同一の鍵を用いている暗号方式である.したがって, 送信者側と受信者側が同じ鍵を共有しなければならない.暗号の概念として分かりやすい方式では あるが,もし,この鍵を入手されるようなことがあれば,暗号解読が非常に容易になり,簡単に内 容を盗み見られてしまう. 共通鍵暗号方式の利点としては,処理が速いという点である.もちろん,共通鍵暗号方式のアル ゴリズムには,いろいろなアルゴリズムがあるため,共通鍵暗号方式のアルゴリズムの種類によっ て差はあるが,公開鍵暗号方式に比べると総じて高速であるといえる.そのため,容量の大きい データを暗号化する場合に向いている.共通鍵暗号方式の欠点としては,もし,大勢のユーザーと 連絡を取り合う場合に,その相手の数だけ共通鍵を用意しなければならない.したがって,連絡を 取り合わなければならない人数が増えれば増えるほど鍵の管理が難しくなってくる.また,鍵の配 送・管理に細心の注意を払わなければならないという点も挙げられる.共通鍵暗号方式の仕組みを 利用するためには,受信者があらかじめ共通鍵を入手しておく必要があり,暗号化したデータは, 盗聴されたとしても鍵がなければ情報の内容を知ることができない. (※文責: 田中雄太) 13.0.2 公開鍵暗号方式 公開鍵暗号方式とは,共通鍵暗号方式とは違い,公開鍵と秘密鍵の対となる2つの鍵を用いて, 暗号化と復号を行う暗号方式のことである.実現方式としては,RSA 暗号が有名である.公開鍵 暗号方式では,暗号化を行う鍵(公開鍵)と,暗号文を元に戻す復号の鍵(秘密鍵)が異なる.し たがって,暗号化を行う鍵は公開することができ,復号のときに必要な鍵だけを秘密に保持してお けばいい. 公開鍵暗号方式の利点としては,1つの鍵を公開しておけば,誰にでもその鍵使ってもらうこと が可能な点である.そのため,もし,大勢のユーザーと連絡を取り合う必要があったとしても,自 分の秘密鍵だけを管理しておけばいいため,鍵の管理が複雑にならない.また,公開鍵暗号方式で は,暗号に用いる公開鍵は第3者に知られたとしても秘密鍵は解読されないため,鍵の配送が不要 であるから,安全性高いというのも大きなメリットの一つである.公開鍵暗号方式の欠点として は,共通鍵暗号方式よりも処理が複雑である点である.数多くの計算や時間が必要となってくるた め,暗号通信に用いる時には,実際の通信内容には共通鍵暗号方式を用いて,その鍵を安全に送信 者側と受信者側で交換するために,公開鍵暗号方式を用いるといった使われ方をするのが一般的に 多い. (※文責: 田中雄太) Group Report of 2011 SISP - 41 - Group Number 13-A Visualization of Code-Breaking 第 14 章 14.1 新規習得知識 ハイブリッド暗号 公開鍵暗号方式は,相手へ簡単に鍵を渡すことが可能であり,安全で強力な暗号ではあるが,複 雑な計算が必要なであり,処理速度が遅い.したがって,大量のデータ処理や,速やかな処理が必 要なときには向いていない. 一方,共通鍵暗号方式は,速度も比較的速く,シンプルであるため扱いやすい暗号であるが,暗 号化と,復号が共通の鍵を用いるため,鍵を受け渡す方法に大きな問題がある.ハイブリッド暗号 とは,共通鍵暗号方式と公開鍵暗号方式の2つの特徴を生かすように組み合わせて出来ている暗号 方式である. (※文責: 田中雄太) 14.1.1 ハイブリッド暗号の方法 ハイブリッド暗号の方法としては,共通鍵暗号方式を使って平文を暗号化し,その暗号化に使用 した「共通鍵自体」を公開鍵暗号方式を用いて暗号化し,相手に送るというものである.ハイブ リッド暗号の流れは次のようなものである. (1)送信者は,平文(第三者に見られたくないデータ,情報)を作成する. (2)送信者は,平文を暗号化するための共通鍵を作成する. (3)送信者は,(2)で作成した共通鍵を用いて,平文を暗号化する.現時点で用いているのは 共通鍵暗号方式である. (4)送信者は,(2)で作成した共通鍵を,あらかじめ入手しておいた受信者の公開鍵で暗号化 する.ここで,使用するのは公開鍵暗号方式である. (5)送信者は, (3)で作成した「暗号化した本文」と, で作成した「暗号化した共通鍵」の両 方を受信者に送信する. (6)受信者は,送信者から送られてきた「暗号化された共通鍵」を復号する.この共通鍵は受 信者の公開鍵で暗号化されている.したがって,復号には受信者の個人鍵を用いる. (7)受信者は,(6)で復号して取り出した共通鍵を用いて本文を復号する. (※文責: 田中雄太) 14.1.2 ハイブリッド暗号の特徴 ハイブリッド暗号方式を実現するための1つ目のポイントとしては,送信者が任意に共通鍵を作 成する点である.もちろん,仕組み全体の約束事,また,どのような共通鍵アルゴリズムを用いる かといった大枠の取り決めは必要であるが,決められた範囲内で,送信者が任意に共通鍵を作成す る.また,共通鍵は,一度使用したら,次回以降は同じものを使用しない.この約束事を守ること Group Report of 2011 SISP - 42 - Group Number 13-A Visualization of Code-Breaking により,第三者が共通鍵の盗聴に成功したとしても,これを再び使用することを防止している.一 回の通信に限って有効なことより,この共通鍵のことをセッション鍵とも呼ばれる.もちろん,再 び使用できないとはいえ,共通鍵をそのまま送付してしまったら,データの中を見られてしまう. そこで,あらかじめ入手しておいた受信者の公開鍵を用いて,共通鍵そのものを暗号化する.この 点が 2 つめのポイントである.公開鍵暗号方式の仕組みにより,受信者の公開鍵で暗号化したもの を復号できるのは,受信者個々の個人鍵である.受信者の個人鍵を所持しているのは受信者だけで ある.したがって,本物の受信者しか共通鍵を復号は不可能である.つまり,その共通鍵を用いて 暗号化した本文も,受信者しか復号できないことになる. (※文責: 田中雄太) 14.2 暗号解読の攻撃方法 暗号の世界には,様々な暗号の攻撃方法が存在する.ここでは,暗号の攻撃方法をいくつか紹介 する. (※文責: 田中雄太) 14.2.1 総当たり攻撃 この攻撃方法は,鍵が全く分からない場合に,とにかく可能性のある鍵を手当たりしだいに,あ たってみる方法である.試したほとんどの鍵は失敗するが,とにかく一つだけ成功する鍵をみつけ ればいいというものである.総当たり攻撃は,暗号の構造,仕組みが分かっていて,かつ試すべき 鍵のビット数が分かっていれば,理論的には上手く機能するはずである.しかし,実際の世界を考 えると,この攻撃に対抗する単純にして効果的な方法は「鍵を長くする」ことである.鍵の長さが 無限の長さになれば解読は不可能になるが,そこまでやらなくても十分に鍵を長くするだけで総当 たりに必要な計算処理の量は飛躍的に増大し,実質的に解読は不可能になる. (※文責: 田中雄太) 14.2.2 既知平文攻撃 これは解読者が平文とそれに対応する暗号化文を持っている場合に使われる方法である.なんで こんなことが起こるのか,と思われるだろうが,たとえば電子メールを丸ごと暗号化したことを考 えてもらいたい.それが例として,会社の間での挨拶に使われる文章だったら,冒頭の文句は「拝 啓,貴社ますますご清栄の事とお喜び申し上げます」という決まっている文章だ.この文章を書い たからといって,本当に文書を送る相手の会社が繁盛しているなあ,といって喜んでいる人など一 人もいない.したがって,暗号化を考えた場合にはこうした定型文はそれだけで,暗号解読の手が かりとなってしまうのである. (※文責: 田中雄太) Group Report of 2011 SISP - 43 - Group Number 13-A Visualization of Code-Breaking 14.2.3 選択平文攻撃 この攻撃方法は,解読者が暗号化を行っている人に気づかれずに暗号化をさせられることが前提 となっている.例として,電話で受信したメッセージを暗号化して再送する無線のリンクなどであ る.この例だったらおそらくどっかに電話をかけて,メッセージを伝えれば,無線でその暗号化の 結果が傍らで受け取ることができる,ということである. (※文責: 田中雄太) 14.2.4 差分暗号攻撃 これは選択平文攻撃の中の一つの方法である.ほんの少ししか違わない多くのテキストを暗号化 し,結果を比較するというものである.私たちの日常生活とは少しかけ離れたところで,暗号の世 界での攻防が行われている.また,それぞれの攻撃方法にも特有の特徴があり,暗号の種類によっ ても使いわけている.ID ベース暗号とは,公開鍵暗号方式の一種であり,識別子を利用した暗号 方式である. (※文責: 田中雄太) 14.3 誕生日パラドックス 前期は誕生日パラドックスについて学習した. (※文責: 小林由莉香) 14.3.1 誕生日パラドックスとは 誕生日のパラドックスとは「何人集まればその中に同じ誕生日の人がいる確率が 50 %を超える か」という問題から生じるパラドックスである.直感的に考えるならば 365 日の半分,だいたい 180 人前後と考えるが,答えは 23 人である.誕生日のパラドックスは論理的な矛盾に基づいてい るという意味でのパラドックスではなく,結果が一般的な直感と反しているという意味でのパラ ドックスである.また前提条件として閏年や双子は考えないものとし,誕生日は 365 日とも等確率 であるとする. (※文責: 小林由莉香) Group Report of 2011 SISP - 44 - Group Number 13-A Visualization of Code-Breaking 図 14.1 何人集まれば誕生日が同じ? 図 14.2 答えは 23 人 14.3.2 誕生日攻撃法 それではこの前述した誕生日パラドックスと暗号の関係性とはなんなのだろうか.誕生日攻撃法 とは誕生日パラドックスの数学的理論を利用することからこのような名称になっている.関数 f があるとき,この攻撃の目的は f (x1 ) = f (x2 ) となるような x1 と x2 を求めることである.衝突 を見つける方法は,無作為または擬似乱数的に生成した異なる複数の入力を関数 f に与えて評価 し,複数回同じ値となるまで続けるだけである.誕生日問題から,この方法は直感的に予想するも のより効率的である.特に関数 f (x) が H 個の異なる出力をそれぞれ同じ確率で生成し H が非常 に大きい場合 f (x1 ) = f (x2 ) となるような異なる入力 x1 と x2 を得るまでに f を評価する回数の 平均は約 1.25 · √ H 回である. (※文責: 小林由莉香) Group Report of 2011 SISP - 45 - Group Number 13-A Visualization of Code-Breaking 図 14.3 誕生日パラドックス 14.3.3 ハッシュ関数 ハッシュ関数の出力の長さが,N ビットであるときには,2N ではなく,2N/2 程度の文字列を 試すことで同じハッシュ値を持つ文字列を見つけ出せる可能性が高い. これは,ハッシュ関数の 出力はある程度の長さを持つ必要があることを示している. (※文責: 小林由莉香) 14.4 RSA 暗号 RSA 暗号とは,公開鍵暗号のひとつで,現在最も広く一般的に使われている暗号である.RSA 暗号には素因数分解がとても比較関係している.RSA 暗号 n を法とする世界で成立しているもの で,n=pq である.この n が鍵として使われるので,p と q が大きければ大きいほど鍵の値は大 きくなる.つまり,素因数分解しづらくなる.確かに理論的に見れば,暗号化鍵から復号鍵を求め ることができるが,とてつもない時間がかかるということになると,それは実際に使えるものとな る.RSA 暗号の安全性はここからきているものである.RSA 暗号は便利な暗号ですが,普通に使 われる共通鍵暗号に比べて計算量が多くなる.よって,大きなファイルを暗号化するには時間がか かり,実用する上では多少問題がある.このため,RSA 暗号の実際に利用される多くは,秘密鍵 Group Report of 2011 SISP - 46 - Group Number 13-A Visualization of Code-Breaking の送信に使われる. (※文責: 坂本浩樹) 14.5 楕円曲線暗号 楕円曲線とは以下の式で表すことのできる 3 次曲線である. Y 2 = X 3 + aX + b(a,b ∈ Fq ) (14.1) 楕円曲線暗号の特徴として,1 つ目に RSA 暗号より最新な暗号方式であるということ,2 つ目 に,計算時間が短く,処理が早いこと,3 つ目に鍵の長さが短く,安全性が高いことが挙げられる. 図 14.4 楕円曲線暗号 (※文責: 田中雄太) 14.6 データ暗号化標準(DES) 1972 年、アメリカ政府はコンピュータセキュリティが重要であるという研究結果を得た.そこ で NBS(National Bureau of Standard。合衆国標準局。現在の NIST (アメリカ国立標準技術研 究所))が、政府全体で機密情報を暗号化するための標準規格が必要だと判断した.データ暗号化 基準(DES)は,電子ハードウェア装置内に実装され,コンピュータデータ暗号化に使用されるア ルゴリズムを規定する.データの暗号化とはデータとは,データを理解不能な暗号に変換すること である.DES アルゴリズムは,暗号鍵と呼ばれる 2 進数を基礎とする暗号化と復号の両方を規定 するものである.暗号化されたデータは,暗号化に使用されたものとまったく同じ暗号鍵によって のみ複号できる.DES は,アルゴリズムと鍵という二つの要素からなる.公開されている DES ア ルゴリズムは,簡単な反復をするもので,転置と換字を交互に行う.DES は,暗号化と復号で同じ Group Report of 2011 SISP - 47 - Group Number 13-A Visualization of Code-Breaking 鍵を使うため秘密鍵暗号方式にあたる.DES の鍵は,それぞれ 8 ビットからなる 8 つのバイトで 構成される.メッセージは 64 ビットのブロックに分割され一度に 1 ブロックずつ処理される.各 ブロックは半分に区分され,文字が一つずつ暗号化される.文字は鍵の内容にしたがって 16 回か きまぜられると 64 ビットの暗号化されたテキストができあがる. (※文責: 小林由莉香) 14.6.1 データ暗号化標準(DES)の今後 DES の技術はすでに数多くの製品に導入されており,どのようなユーザーも迷うことなく選ぶ 暗号化アルゴリズムとなっている.DES 準拠の製品には,音声情報を暗号化するチップが内臓さ れた移動無線装置や,マイクロ波や衛星などによる通信用の暗号化ボックスなどがある.DES ア ルゴリズムは 72,000,000,000,000,000(7 京 2 千兆)通りの暗号鍵が可能であり,外国の謀報機関 が暗号解読専門の組織を投入でもしない限り,不正に解読することはできないだろうという見方が 通説になっている. (※文責: 小林由莉香) 14.7 SSL SSL とは Secure Sockets Layer の略でクレジット決済などによく利用される技術である.SSL の役割とは傍受やなりすましによる情報漏えいを防ぐことが目的で通信の途中で使用される.情報 をインターネット上の WEB サーバに送信する際に,SSL を利用する事でより安全に送信できる. (※文責: 小林由莉香) 14.8 コンピュータウイルス 14.8.1 ウイルス ウイルスという言葉はほかのプログラムに自ら模写をし,プログラムの動作を狂わせてしまう コードのことである.ウイルスは,すみかとするプログラムが実行されてはじめて活動することが できる.プログラムに感染したあとすぐに増殖をはじめるウイルスもあれば一定の期間潜伏してい て,なにかのきっかけで活性化するものもある.きっかけは特定の日時がきたときとか,ある事象 が発生したときなどである. ウイルスはメモリ,フロッピーディスク,テープなどの記憶装置にも感染することがある.病原 体のウイルスと同じようにコンピュータウイルスも有機体に侵入し, その有機体を利用して伝染す るのである.システムがウイルスに感染すると,データが削除されるだけでなく,システム全体の 性能も低下する. ウイルスとワームはよく混同されるが,一般的には破壊行為をするものをウイルス,そうでない ものがワームとされている. (※文責: 小林由莉香) Group Report of 2011 SISP - 48 - Group Number 13-A Visualization of Code-Breaking 14.8.2 ワーム ワームは一つの独立したプログラムである.ネットークを介してコンピュータからコンピュータ へ複写し,増殖する.急速に広がり被害を増大させるのはウイルスと同じである.ただし,ウイル スが別のプログラムに寄生するのに対し,ワームはつねに単独で存在する.また,ウイルスは何ら かの破壊行為をするのが普通であるが,ワームがデータを破壊することはない.しかしワームが無 害である訳はなく,自己を保持し増殖させるために資源を集め,ネットワークを停止させてしまう こともある. (※文責: 小林由莉香) 14.8.3 トロイの木馬 トロイの木馬はある機能を装ってプログラム内に潜んでいるコードである.ウイルスを偽装する ときによく使われる.ギリシア神話に登場するトロイの木馬になぞらえて名前がつけられた.トロ イの木馬は自己増殖性機能ないためコンピュータウイルスとは区別されているが,悪性なものがほ とんどであるため一般的にはコンピュータウイルスとして認知されている.トロイの木馬は独立し たプログラムのなかに隠れ,有益な機能を実行する.ところがこのプログラムは見かけの機能と並 行して他の不正な機能も実行するのである.ある典型的なトロイの木馬は,ユーザーをそそのかし て何らかのプログラムを実行させる.このプログラムは人の興味を引く便利なものである可能性が 高い.ユーザーがプログラムを実行すると,期待通りの働きをする.ところが,このプログラムの 本当の狙いは,ユーザーの正当な特権を奪ってシステムに侵入し,不正に情報を取得することなの である. (※文責: 小林由莉香) 14.8.4 爆弾 爆弾はトロイの木馬の一種で,ウイルスやワームなどを送り込むのに使われる.独立したプログ ラムは一片のコードで,システム開発者やプログラマによって埋め込まれる.爆弾は,特定の日や 時刻がきたり,ある条件が満たされると,不正な操作を実行するのである.爆弾には時限爆弾とロ ジック爆弾の 2 種類である.特定の日時や一定期間の経過後に爆発するようにセットされたものを 時限爆弾という.1988 年の最初の 13 日の金曜日に悪さを始めたウイルス「13 日の金曜日」も,こ の時限爆弾の 1 つである. (※文責: 小林由莉香) 14.8.5 落とし戸 落とし戸は,裏口と呼ばれ,システムの設計者によってシステムに組み込まれるメカニズムであ る.設計者が所定の保護を回避してシステム内をこっそりのぞけるようにすることを目的としてい る.どこかほかのシステムで爆発するロジック爆弾とは異なり,落とし戸はシステム設計者のため にソフトウェアへの秘密の入り口をつくるのである.プログラマーは,めんどうなアクセス規則や Group Report of 2011 SISP - 49 - Group Number 13-A Visualization of Code-Breaking セキュリティ対策を回避して,プログラムをテストしたり,プログラムの動作を監視したりできる ように,落とし戸をつくっておくことがある.こうした落とし戸はアクセスルーチンに問題が見つ かったときにプログラム内に入ることができる入口にもなる.落とし戸は通常はプログラム出荷の 前に削除されるが,不注意あるいは意図的に残されることもある. (※文責: 小林由莉香) 14.8.6 だましうち だましうちとは善良なユーザーをそそのかして特権を奪うプログラムの総称である. これはトロ イの木馬によって遂行されることが多い.無許可のユーザーをごまかして無許可のプログラムを実 行させるのである.だましうちによって実行されたプログラムは,利用されたユーザーの特権を獲 得し,システム内を好き放題に暴れまわることもある. (※文責: 小林由莉香) Group Report of 2011 SISP - 50 - Group Number 13-A Visualization of Code-Breaking 第 15 章 活用した講義 本プロジェクトを遂行するにあたって,情報代数と符号理論の講義を参考とした.この講義を受 講していたため専門用語を理解することができ,抵抗なくプロジェクトを進めることができた. また C 言語のプログラム制作にはプログラミング演習が参考となった.この講義は C 言語によ る基本的なプログラム演習の講義であり,頻度分析のプログラムを作成するにあたり大変役立った. (※文責: 小林由莉香) Group Report of 2011 SISP - 51 - Group Number 13-A Visualization of Code-Breaking 第 16 章 16.1 結果 プロジェクトの結果 成果物として iPad でのアプリケーションの作成をした.アプリケーションは簡素なものだが, だからこそわかりやすいものができたと考えられる.このアプリケーションによって暗号を身近に 感じることができたという意見もあったので,暗号のマイナスイメージを少しは払拭できたかなと 考える.また暗号についての戦争との歴史的背景はストーリーとしても思っていた以上におもしろ いものだったので,是非こちらについても暗号に興味の人にも読んでほしい. (※文責: 小林由莉香) 16.2 成果の評価 頻度分析アプリケーションの作成はプロジェクトメンバー全員が初めてで,戸惑いもあった.し かし,役割分担をし,それぞれの弱い部分を補い合うことでアプリケーションの完成ができた.プ ロジェクトを通しチームワークで動くことの大変さを学んだ.これは社会に出た際にも役に立つも のであると考える. アプリケーションの評価としては簡素でわかりやすかったが,ユニークさに欠ける点があったと 感じる.もっと型にはまらない色彩や形を自由に提案するべきだったと考える. (※文責: 小林由莉香) Group Report of 2011 SISP - 52 - Group Number 13-A Visualization of Code-Breaking 第 17 章 今後の展望と課題 今後の展望と課題として,最終発表の評価シートとプロジェクトメンバーの考えを記す. 17.1 発表技術について 17.1.1 最終発表の評価シートより 発表技術としての課題は,説明する際に必要な文字が多かったために見づらかったという評価が あったので,スライドやポスターの文字を少なくし,図や表を多くする必要があるということや, 成果物として作成したアプリをスクリーンで映したほうが見やすいなどの意見があったので,改善 する必要があると考えられる.また,初めて暗号について聞く人にはわからない単語が多いという ことで,単語の説明もしなければいけないことが今後の課題として挙げられる. (※文責: 坂本浩樹) 17.1.2 プロジェクトメンバーの考えより 発表技術についてのプロジェクトメンバーの考えは,発表が終わって暗号についてのさまざまな 質問がされる中で,答えられる質問ばかりではなく,うまく答えられない質問があったため,これ からはこのようなことがないように想定される質問の内容をさらに深く考えていかなければいけな いという課題が生まれた. (※文責: 坂本浩樹) 17.2 発表内容について 17.2.1 最終発表の評価シートより 発表内容としての課題は,ρ法の内容が短時間では理解しにくいという意見があったので,もっ とわかりやすく伝えられる方法を模索することが挙げられる.他にも,例をもう少し増やしてほし いという意見もあったので,暗号解読の例をいくつか増やすことも課題のひとつである.また,頻 度分析以外の解読方法の可視化も見てみたいという意見もあったので,他の解読方法についても学 ぶ必要があるということが今後の課題として挙げられる. (※文責: 坂本浩樹) 17.2.2 プロジェクトメンバーの考えより 発表内容についてのプロジェクトメンバーの考えは,作成したアプリの可視化について他の方法 はなかったのか,もっと見やすくできなかったのかという意見が挙がった.また,評価シートの意 見でもあったように,頻度分析以外の可視化はできなかったのか,もしくはそれ以外の解読方法の Group Report of 2011 SISP - 53 - Group Number 13-A Visualization of Code-Breaking 可視化ができるようになるのが今後の課題である. (※文責: 坂本浩樹) Group Report of 2011 SISP - 54 - Group Number 13-A Visualization of Code-Breaking 付録 A A.1 相互評価 坂本浩樹に対するコメント 田中雄太:頻度分析・歴史班で,頻度分析について真剣に学んでいて,積極的にメンバーをまと めてくれていた.また,自ら進んでグループメンバーごとに作業の分担も行っていた.話し合いで も,多くの意見を出していた. 宮川良平:頻度分析班のリーダーとして積極的に意見をだしたり,班全体をスムーズに動かして いた. 渡辺貴仁:プロジェクトの話し合いに積極的に参加することで,プロジェクト全体を引っ張って いた.プロジェクトを動かす意見をたくさん言ってくれ,後半はプロジェクトの中心となってがん ばってくれました. 小林由莉香:持前の明るさでグループのモチベーションを上げてくれた.ポスターを作成する 際,イラストレータの扱いに苦労していたが,果敢に挑戦していた.最終的には頻度分析グルー プのポスターを完璧に仕上げていた.図も利用もあり,見ている人がわかりやすいポスターで あった. A.2 田中雄太に対するコメント 坂本浩樹:話し合いなどの意見交換のときには積極的に発言してくれて活発な意見交換ができ た.また,プロジェクトのサブリーダーとしてみんなをまとめていた. 宮川良平:頻度分析に関する知識を深め,どのようにしたら一般の方々にわかりやすく伝えれる のかなど積極機に活動していた. 渡辺貴仁:発表の準備を積極的に手伝ったりなど,グループで生じた問題を解決するためにがん ばっていた.また暗号の知識を高めるため,日々がんばっていた. 小林由莉香:場の雰囲気を和やかにしてくれる存在であった.メンバーの話を親身に聞き,グ ループの相談役のような役割をしていた.彼がいたおかげでグループの話し合いも潤滑に進めるこ とができた.また一生懸命作業に取り組む姿は目を見張るものがあった. A.3 宮川良平に対するコメント 坂本浩樹:暗号の歴史についてとても詳しく調べてくれたので,ポスター製作の際には非常に助 かった. 田中雄太:暗号の歴史の背景について真剣に取り組んでいて,それを生かして頻度分析の解読も 行っていた.また,メンバー間の意見交換も積極的に行っていて,グループ内の士気を高めてくれ ていた. 渡辺貴仁:暗号の歴史について調べることで,暗号についての知識を高め,プロジェクトに貢献 した.一人でポスター 1 枚を作成し,積極性が見えました.また,プロジェクト内の他のグループ を手伝っていた.放課後残って1人で文章の構造を練るなど,努力していた. 小林由莉香:前期は誕生日パラドックス班として共同で作業をした.どのようにすれば見ている Group Report of 2011 SISP - 55 - Group Number 13-A Visualization of Code-Breaking 人にわかりやすく伝わるかを共に議論した.スライド制作の手伝いをしてくれることもあり,マル チに作業をしていた.彼はグループ内で一点にかかる負担を減らす役割をしていた.また後期では 暗号の歴史に関する資料を率先して調べ,戦争の歴史的背景を交え,ポスターを完成させていた. A.4 渡辺貴仁に対するコメント 坂本浩樹:頻度分析のプログラム作成時には,率先してみんなを引っ張ってくれた. 田中雄太:本プロジェクトの成果物であるアプリケーションのプログラムの作成を積極的に取り 組んでくれていた.また,プロジェクト発表を行うために,暗号についての知識も積極的な姿勢で 学んでいた. 宮川良平:班内で今何をやるべきなのかを考えて,率先して活動していた.また,頻度分析のプ ログラム作成など頑張っていた. 小林由莉香:技術面での役割を果たしていた.彼は頻度分析のプログラムを担当していた.メン バーがプログラム作成を敬遠するなか積極的に取り組んでいた.頻度分析だけではなく平文を暗号 文に換えるプログラムも作成していた. A.5 小林由莉香に対するコメント 坂本浩樹:中間も最終も発表時のスライドを自主的に作り,文章なども考えていてとても助 かった. 田中雄太:前期・後期ともに,プロジェクトの作業に真剣に取り組んでくれていて,発表会のた めの準備を積極的に行っていて,スライドの作成も自ら進んで取り組んでくれていた.また,周り のメンバーの手助けも積極的にしていた. 宮川良平:前期や後期を通して,発表に向けてのスライド作成や,アプリケーション内容など率 先して頻度分析班を引っ張ってくれた. 渡辺貴仁:スライド作成やプロジェクトの話し合いの際,的確な意見を出していた.他のグルー プと協力したりして,プロジェクト全体を引っ張るなどしてくれました.最終発表の際,スライ ド,ポスターの作成の中心となって活動していた. Group Report of 2011 SISP - 56 - Group Number 13-A Visualization of Code-Breaking 参考文献 [1] スティーブ・バーネット,ステファン・ペイン. RSA セキュリティ オフィシャルガイド 暗 号化,(株)国宝社, 2002. [2] 中見利男. 暗号解読を楽しむ 戦時の暗号から,平時の暗号まで.PHP エル新書, 2004. [3] サイモン・シン 青木薫訳.暗号解読 [上].新潮文庫, 2007. [4] サイモン・シン 青木薫訳.暗号解読 [下].新潮文庫, 2007. [5] SBI net systems.暗号入門.http://dev.sbins.co.jp,2003. [6] Deborah Russell/G.T. Gangemi Sr. 山口英訳.コンピュータセキュリティの基礎.株式会社 アスキー.1994. Group Report of 2011 SISP - 57 - Group Number 13-A
© Copyright 2025 Paperzz