計算機システム Ⅱ コンピュータの歴史-2 戦時期における暗号解読
-
Upload
william-kennedy -
Category
Documents
-
view
35 -
download
2
description
Transcript of 計算機システム Ⅱ コンピュータの歴史-2 戦時期における暗号解読
計算機システムⅡコンピュータの歴史-2戦時期における暗号解読
和田俊和
講義計画1. コンピュータの歴史12. コンピュータの歴史2 (←本日)3. コンピュータの歴史34. 演習問題5. 論理回路と記憶,計算:レジスタと ALU6. 主記憶装置と ALU,レジスタの制御7. 命令セットアーキテクチャ8. 演習問題9. パイプライン処理10. メモリ階層:キャッシュと仮想記憶11. 命令レベル並列処理12. 命令実行順序の変更13. 入出力と周辺装置:DMA, 割り込み処理14. 演習問題15. 現代的な計算機アーキテクチャの解説と試験
• 教科書:坂井修一著:電子情報通信学会レクチャーシリーズC 9,コンピ−ュータアーキテクチャ,コロナ社
• 最終回の試験によって成績評価を行う.5回以上欠席で不合格とする.
戦時中最も計算を必要としたのは
兵器開発ではなく,暗号解読だった• ドイツは第一次世界大戦 (1914〜 1918)勃発後にア
メリカ駐在のドイツ大使に暗号の電文を送っていた.– メキシコに資金を提供し,参戦を躊躇していたアメリカ南部を攻撃し,州を奪還するように要求させ,さらにメキシコ経由で日本にアメリカ西岸を攻撃させるよう,メキシコ政府とコンタクトを取れという内容
• この電文をイギリスは傍受・解読し,内容をアメリカ側に伝え,アメリカは参戦し,ドイツは敗北
• しかし,イギリスは暗号解読ができなかったと嘘の情報を流したため,第 2次大戦開始時までドイツは暗号解読の重要性を認識できていなかった.
無線の発達と暗号
• 1894年,イタリアの物理学者グリエルモ・マルコーニが無線通信を発明
• 1901年,イギリスのポルデュからカナダのニューファンドランドまでの(地平線を超えての)無線通信に成功.
• 暗号の必要性が高まる.
シェルビウスのエニグマ1918年
• 暗号円盤:換字式暗号のための円盤• 別のキーワードを用いて円盤を回転させるヴィジュネル暗号にも利用可能
• 文字を打つたびに円盤が回転する換字式暗号のための機械がエニグマ
ヴィジュネル暗号とは
• 換置式暗号ではあるが,キーによって換置テーブルが変化する.
エニグマは当初全く売れなかった
• 1928年シェルビウスは特許を取得. 1機 2万ポンドでビジネスと軍用に販売を開始したが全く売れなかった.
• その後,ドイツ軍はこれまで使用してきた暗号が破られていたことに気づきエニグマを採用した.
エニグマのエンコードhttp://www.bletchleypark.org.uk/content/simulator.html
エニグマのデコード
円盤の初期値が同じであれば,デコードとエンコードは同じ
• 円盤の初期配置が鍵になる.• 各円盤の目盛は 26, 3 枚の組み合わせ= 263
• 円盤の枚数は 3 枚で,交換可能 3! = 6通り.• さらに 6本のケーブルで6つの文字にスクラン
ブルをかけると 26C6*6!
• したがって,暗号化のパターンは 263×= 2913496185600通り.
• 正規の受信者が解読する場合にも鍵が必要であった.
各日で鍵は変わった.(日鍵)• 前日の日鍵を使って翌日の日鍵を暗号化して送った.但し,日鍵が正しく伝わらなければ全ての通信が無駄になるため,毎朝 2回暗号化して無線送信された.
• さらにメッセージを送る前に各メッセージの暗号化鍵が 2回,日鍵で暗号化され付与されていた.
• このルールがスパイによって漏らされ,これを手掛かりに暗号解読を行うことをポーランドの暗号解読者レイエフスキーが発見した.
ドイツ軍によるエニグマの運用送信者 エニグマによる暗号化 受信者
前日の日鍵
今日の日鍵今日の日鍵
暗号化された今日の日鍵
前日の日鍵
メッセージの暗号化鍵
暗号化されたメッセージの暗号化鍵
メッセージの暗号化鍵
メッセージ
暗号化されたメッセージ
メッセージ
2回送信
2回送信
レイエフスキの作戦
• 暗号の連鎖を辿ることで日鍵を割り出す.
• メッセージ鍵は 3 つの鍵の繰り返しから成る 6文字. 1 番目と 4 番目は同じ文字を暗号化したもの.メッセージ鍵から作った下記の1,4番の対応表があれば,スクランブルが解ける.
• ABCDEFGHIJKLMNOPQRSTUVWXYZ• FQHPLWOGBMVRXUYCZITNJEASDK
暗号の指紋
• ABCD EFG HI J K LMNOPQRSTUVWXY Z• FQHPLWOGBMVRX UYC Z I TNJ EA S DK から,連鎖と連結数を求め,これを手掛かりに日鍵を求めた.(プラグボードの影響が無い)
A→F→W→A 3B→Q→Z→K→V→E→L→R→I→B 9C→H→G→O→Y→D→P→C 7J→M→X→S→T→N→U→J 7
ボンブ改造エニグマによる日鍵の探索
• 3つの円盤の並び方は3!=6通り• 6台のエニグマで並列に 263 = 17576通りの日鍵を探索する機械をレイエフスキが考案し作成した.(チェックはメッセージキーの繰り返しを利用する.)
• 約 2時間で日鍵は解読できた.• これにより,わずかな暗号化方法の変更にも対応できた.
エニグマの大幅な変更• 円盤(スクランブラ-)の数が 5 個になり,これらのうちから 3 つ取り出して使うようになった. 3! = 6通りから, 5C2×3! = 60通りになった.
• プラグボードに接続するケーブルの本数が 6本から 10本に増えた.
• 60 台の改造エニグマによるボンブの作成は予算上無理であり,解読は不可能になった.
• 1939年ドイツ軍の侵攻を前に,全ての成果をイギリスに手渡した.
ブレッチレーパークの暗号解読チーム
GCCS: Government Code and Cipher School1919
• 19世紀の富豪の邸宅内にプレハブ住宅を建て,数学者,エンジニア,言語学者,クロスワードパズルマニアなどを雇い入れた.ポーランドよりも予算も人的資源も豊富であったため, 1940年には改良型エニグマの解読も十分に行えた.
次の難題に備えて
• 日鍵やメッセージキーの反復が無くなったらどうするか?
• 暗号と平文の対応関係(クリブ)が分かったとすれば,暗号解読が行えるのではないか?
• wetter → ETJWPX だとすれば,どうすればスクランブラ-の設定を見抜けるか ?
クリブの内部ループ
• クリブにはループがある.
電気回路による日鍵の発見ーボンブー
• 機械による鍵の発見右図のように回路を組んで,スクランブラ -を回転させれば,正しい日鍵の位置でランプが点灯する!これを様々なスクランブラ -の配置で並列に運転する.
ローレンツマシーンの登場• ヒトラーと将軍との通信用に開発されたより複雑な暗号化マシーン
• ランダムに無関係な文字を挿入する機能を持つ
• 円盤の数は 12 枚• ボンブでは解読不能
コロッサス(巨人)の誕生
• ボンブは定型的な処理しか行えなかった.• ローレンツマシーンの解読には統計計算,検索,照合計算,などが必要であり,汎用な計算が行える機械が必要であった.
• マックス・ニューマンが,「万能チューリングマシン」を実現することを提案,しかし GCCSでは実現を不可能視していたため,開発は中断.
• 1943年に実現したのは郵政省の研究所から派遣された技術者トミー・フラワーズであった.
コロッサス• 1944年コロッサス
MarkⅠは 1500 個の真空管を使い,高速に動作した.
• 同年 MarkⅡが 2400個の真空管で動作性能はMarkⅠの 5 倍.
• 右図は関係者らの証言から複製されたもの( 9割は正しいらしい)
暗号解読は計算機を生んだ!• Colossus はローレンツマシンを使って暗号化されたメッセージを解読する際に使われた。 Colossus はふたつのデータ列を比較し、プログラム可能な論理演算を行う。
• 一方のデータは紙テープから高速に読み込まれ、もう一方は内部で生成される。そして、様々な設定でローレンツマシンのエミュレーションを実行する。ある設定での演算が所定の閾値を越えると電気式タイプライタにその結果を出力する。
コロッサスの性能• 紙テープは毎秒 12mの速度で処理可能.
• 処理できる文字数は毎秒 5000文字
• これは紙テープ中央に穿孔された穴を通過するたびにクロックが生成されていたために生じた限界である.
• 条件分岐命令はなかった.
コロッサスのその後• チャーチルは 戦後コロッサスを手のひらより小さい破片に破壊するよう命令した.製作者Tommy Flowers は青写真を燃やした.部品を引き抜き, Newmanが マンチェスター大学の計算機研究所に持ち込んだ Colossus Mark I は後に撤去された.
• しかし, 2 台の Colossus は GCHQ(旧 GCCS)が 1952年から 1954年に移転した後も保管されたが,最後の 1 台も 1960年に分解された.
• コロッサスの存在は戦後も極秘であり, 1970年代後半まで,その存在は知られていなかった.
コロッサスが秘密にされた理由
• 暗号解読の持つ政治的重要性(再び強力な暗号生成機構が現れれば,解読に対する投資が爆発的に増加する)
• 実際にイギリスはエニグマやローレンツマシーンの暗号を解読していたことを隠してきた.
• さらに,戦後ドイツ軍から回収したエニグマを植民地に配り,通信を行わせ,傍受・解読もおこなってきた.
コロッサスの特性
• ある計算機あるいはプログラミング言語がチューリングマシンと等価な計算が行えるとき,「チューリング完全」であるという.
• コロッサスは,チューリング完全ではなかったため,正確には計算機とはみなされない.
• 但し, Harvard Mark Iの初期版やコンラッド・ツーゼの Z1,Z2などもチューリング完全ではない.
チューリング・マシンチューリングマシンは,• 無限に長いテープ • テープに格納された文字を読み書きするヘッド • 機械の内部状態を記憶するメモリとその遷移機構 (制御部)
で構成され,内部状態とヘッドから読み出した文字の組み合わせで、次の動作を実行する。
• ヘッドの位置の情報を読みとる • ヘッドの位置に情報を書き込む • 機械の内部状態を変える • ヘッドを右か左に一つ移動する
停止状態になるまでこれを反復して実行し続ける.
Turing Machineのイメージ
チューリング・マシンの意義
• 「計算とは何であるか」を明確に定義した.
• すなわち,チューリング・マシンで計算可能なことが「計算できることのすべて」であることを示した.
• ゲーデルの「自然数論を含む帰納的に記述可能な公理系の不完全性に関する定理」によって危機にさらされた数学を守るために確固とした計算の基盤を作りたかったらしい.
レポート課題• チューリング・マシンは仮想的な機械であるが,磁気テープ,制御部はそれぞれ,現代のコンピュータの何に対応するか,理由を含めて説明しなさい.