1 00:00:06,364 --> 00:00:09,176 1857年8月5日のこと、 2 00:00:09,176 --> 00:00:14,842 大西洋を横切る 長さ4300kmのケーブルが敷設された。 3 00:00:14,842 --> 00:00:17,639 これにより英国と米国が結ばれ、 4 00:00:17,639 --> 00:00:21,731 社交と経済の連携が強化された。 5 00:00:21,731 --> 00:00:23,685 今や情報は、電気の変化のしかたで 6 00:00:23,685 --> 00:00:26,276 表されるものとなり、 7 00:00:26,276 --> 00:00:29,900 即座に世界中へ伝えられるものになった。 8 00:00:29,900 --> 00:00:31,991 ウェスタン・ユニオンが、これを応用して 9 00:00:31,991 --> 00:00:35,265 株価表示器やお金のやり取りなど、 営利目的に使えるようにした。 10 00:00:35,265 --> 00:00:38,455 これによりグローバル・コミュニケーションの 新時代が幕を開けた。 11 00:00:38,455 --> 00:00:40,332 重大なニュースです。 12 00:00:40,332 --> 00:00:42,603 ドイツがポーランドに攻め込み、 13 00:00:42,603 --> 00:00:45,364 多くの都市を爆撃しました。 14 00:00:45,364 --> 00:00:48,725 イギリスとフランスの兵が総動員されています。 15 00:00:51,372 --> 00:00:56,196 結果として、この国はドイツと戦争することとなった。 16 00:00:56,196 --> 00:00:59,513 世界を巻き込んだこの戦争は、 17 00:00:59,513 --> 00:01:03,636 全ての人類の自由をおびやかすことになる。 18 00:01:03,636 --> 00:01:11,032 (イタリア語) 19 00:01:11,032 --> 00:01:17,573 (日本語) 20 00:01:17,573 --> 00:01:20,289 日本がハワイの真珠湾を空爆したとー 21 00:01:20,289 --> 00:01:21,790 ルーズベルト大統領が発表しました。 22 00:01:21,790 --> 00:01:24,660 (ドイツ語) 23 00:01:24,660 --> 00:01:27,129 第二次世界大戦中、ドイツ・イタリア・日本は 24 00:01:27,129 --> 00:01:30,245 連合国に対して兵力で大きく劣っていた。 25 00:01:30,245 --> 00:01:33,171 彼らが勝つために唯一残された手段は 26 00:01:33,171 --> 00:01:37,329 広範囲にわたる不意打ちを成し遂げることだった。 27 00:01:37,329 --> 00:01:39,185 よって暗号技術の目標は、 28 00:01:39,185 --> 00:01:41,435 暗号機械を用いてワンタイムパッドを 29 00:01:41,435 --> 00:01:43,770 自動で生み出すこととされた。 30 00:01:43,770 --> 00:01:47,021 理想的には、この機械は文字の入力を受けて、 31 00:01:47,021 --> 00:01:50,670 ランダムなシフトを作り出し、暗号化された文字を出力する。 32 00:01:51,839 --> 00:01:55,520 しかし、機械の動き方はいつも同じだ。 33 00:01:55,520 --> 00:01:59,478 ある初期設定(これを「状態」という) から始まり、 34 00:01:59,478 --> 00:02:03,934 何らかの入力を受け、 35 00:02:03,934 --> 00:02:07,831 演算処理の後、出力する。 36 00:02:07,831 --> 00:02:11,473 初期状態から終了状態までの演算は 37 00:02:11,473 --> 00:02:15,084 必ず予測可能で、繰り返しになる。 38 00:02:15,084 --> 00:02:17,359 そこでランダム個分のシフトをし、 39 00:02:17,359 --> 00:02:20,364 しかも、なかなか繰り返し部分が現れないような 40 00:02:20,364 --> 00:02:27,930 理想的な機械の開発が目標になった。 41 00:02:27,930 --> 00:02:30,484 そして、アリスとボブは次の方法で 42 00:02:30,484 --> 00:02:33,695 理想的なシフト数列を生成できるようになった。 43 00:02:33,695 --> 00:02:36,033 まず理想的な機械を共有し、 44 00:02:36,033 --> 00:02:38,325 その初期状態を決める。 45 00:02:38,325 --> 00:02:41,951 これを「鍵設定」という。 46 00:02:41,951 --> 00:02:46,719 2台で同じ初期状態に設定した後は、 47 00:02:46,719 --> 00:02:50,080 理想的な機械の演算によって 48 00:02:50,080 --> 00:02:53,923 理想的な数列を得る。 49 00:02:53,923 --> 00:02:56,787 当時、理想に最も近い暗号機械といえば 50 00:02:56,787 --> 00:03:00,892 ローター式のものだった。 51 00:03:00,892 --> 00:03:04,038 この技術的な仕組みは、 52 00:03:04,038 --> 00:03:09,073 今の車の走行距離計とよく似ていて、 1周するまでに時間がかかる。 53 00:03:09,073 --> 00:03:13,818 走行距離計のホイールに書かれた数字を デタラメに変えるとしよう。 54 00:03:13,818 --> 00:03:15,112 回転を進めた時、 55 00:03:15,112 --> 00:03:16,822 各ローターの数の和によって 56 00:03:16,822 --> 00:03:19,866 新たなシフト数を決める。 57 00:03:19,866 --> 00:03:24,136 これがローター式暗号機械のおおよその仕組みだ。 58 00:03:24,136 --> 00:03:27,207 例えば 「Attack Northwest」という命令文を 59 00:03:27,207 --> 00:03:32,621 暗号化するとこのようになる(画面右)。 60 00:03:32,621 --> 00:03:34,682 1文字毎に異なるシフト数が 61 00:03:34,682 --> 00:03:38,051 適用される点に注意しよう。 62 00:03:38,051 --> 00:03:41,610 3つのローターそれぞれに 26個の数があるから、 63 00:03:41,610 --> 00:03:47,982 数列に繰り返しが現れるまで、26×26×26個の数がある。 64 00:03:47,982 --> 00:03:49,164 これをシフト数列に換算すると、 65 00:03:49,164 --> 00:03:56,115 17576個もの数を用いるに等しい。 66 00:03:56,115 --> 00:03:58,822 ローターの状態は、 67 00:03:58,822 --> 00:04:03,118 シフト数列中の数の1つと対応する。 68 00:04:03,118 --> 00:04:07,137 機械の初期状態を「鍵設定」と言い、 69 00:04:07,137 --> 00:04:10,892 とり得る[鍵設定」の集合を 70 00:04:10,892 --> 00:04:14,096 「鍵空間」と言う。 71 00:04:14,096 --> 00:04:16,031 「鍵空間」は、 72 00:04:16,031 --> 00:04:20,056 機械の初期設定のやり方が増えると大きくなる。 73 00:04:20,056 --> 00:04:23,891 例えばローターの配置を入れ替えられるなら、 74 00:04:23,891 --> 00:04:27,322 その並べ方は6通りある。 75 00:04:29,599 --> 00:04:33,407 ここで「鍵空間」を図で表そう。 76 00:04:33,407 --> 00:04:37,853 まず6通りあるローターの配置から1つを選び、 77 00:04:37,853 --> 00:04:45,036 次にローターの数字を選んで初期状態とする。 78 00:04:45,051 --> 00:04:50,428 すると 10万通り以上の「鍵設定」からなる「鍵空間」が得られる。 79 00:04:50,428 --> 00:04:53,407 あらゆる機械の設定が、この空間の中の 80 00:04:53,407 --> 00:04:56,129 1点と対応することに注意しよう。 81 00:04:56,129 --> 00:04:58,298 「鍵設定」を決めるというのは 82 00:04:58,298 --> 00:05:01,635 この空間から初期位置を選ぶ事でもある。 83 00:05:01,635 --> 00:05:05,632 そこからシフト数列が定まる。 84 00:05:05,632 --> 00:05:07,349 「鍵設定」情報が漏洩すると、 85 00:05:07,349 --> 00:05:09,851 必要な数列が全て知られてしまう。 86 00:05:09,851 --> 00:05:12,437 ローター式機械のセキュリティ強度は、 87 00:05:12,437 --> 00:05:15,607 「鍵空間」の大きさと 88 00:05:15,607 --> 00:05:19,774 「鍵設定」のランダムさに依存する。 89 00:05:19,774 --> 00:05:21,202 第二次世界大戦中、 90 00:05:21,202 --> 00:05:23,865 ドイツ軍が用いた最も重要なー 91 00:05:23,865 --> 00:05:28,245 暗号技術の1つをエニグマという。 92 00:05:28,245 --> 00:05:30,858 エニグマは電気式のローター機械で、 93 00:05:30,858 --> 00:05:34,223 第一次世界大戦の終盤にドイツの技術者が発明した。 94 00:05:34,223 --> 00:05:37,667 各ローターの両端は、内部の複雑なー 95 00:05:37,667 --> 00:05:42,146 配線によって電気的に繋がれていた。 96 00:05:42,146 --> 00:05:45,815 よって、ローターがどの位置にあっても、入力文字と 97 00:05:45,815 --> 00:05:49,484 出力文字を繋ぐ電気の経路が形成された。 98 00:05:49,484 --> 00:05:50,932 ローターが回転すると、 99 00:05:50,932 --> 00:05:56,731 1文字毎に全く新しい回路が形成された。 100 00:05:56,731 --> 00:05:57,524 戦時中、 101 00:05:57,524 --> 00:06:01,378 暗号を強固にするために、エニグマの「鍵空間」は 102 00:06:01,378 --> 00:06:03,982 何度も大きくされた。 103 00:06:03,982 --> 00:06:06,082 例えば、4つ目のローターを 104 00:06:06,082 --> 00:06:08,700 追加することで、 105 00:06:08,700 --> 00:06:10,918 ローターの配置の仕方を60通りに 106 00:06:10,918 --> 00:06:13,645 増やすことができる。 107 00:06:13,645 --> 00:06:16,855 これにより「鍵空間」は膨大な広さになった。 108 00:06:16,855 --> 00:06:18,300 戦争の終盤には 109 00:06:18,300 --> 00:06:19,388 エニグマに設定できるパターンが 110 00:06:19,388 --> 00:06:23,832 1500兆の100倍通りを超えた。 111 00:06:24,386 --> 00:06:28,476 暗号文からキーセッティングを予測するのは 112 00:06:28,476 --> 00:06:32,836 26個のサイコロを振った結果を予測するようなものだ。 113 00:06:32,836 --> 00:06:35,470 だからドイツ人には自信があった。 114 00:06:35,470 --> 00:06:38,562 例え連合国がエニグマを手にしても、 115 00:06:38,562 --> 00:06:41,969 全ての「鍵設定」を試してみるのは不可能なのだ。 116 00:06:41,969 --> 00:06:44,570 2つの団体がエニグマを使って通信するには、 117 00:06:44,570 --> 00:06:49,153 最初に日別の「鍵設定」を共有する必要があった。 118 00:06:49,153 --> 00:06:53,592 これにより機械を同じ状態にセットする。 119 00:06:53,592 --> 00:06:56,927 「鍵設定」の共有方法は戦時中何度も変更されたが、 120 00:06:56,927 --> 00:07:00,287 前もって「鍵」が書かれた紙を全使用者に配布することが 121 00:07:00,287 --> 00:07:02,281 多かった。 122 00:07:02,281 --> 00:07:06,136 毎日、使用者は日別のセッティング表を切り分けて、 123 00:07:06,136 --> 00:07:09,236 ローターの順序や番号などを 124 00:07:09,236 --> 00:07:12,716 書いてある通りに設定したのだろう。 125 00:07:12,716 --> 00:07:16,093 「鍵設定」表は使用後に処分された。 126 00:07:18,262 --> 00:07:21,554 しかし、使用者にはもう1つ重要な手順が課された。 127 00:07:21,554 --> 00:07:26,227 通信前にランダムな初期位置を選ぶ必要が 128 00:07:26,227 --> 00:07:28,448 あるのだが、 129 00:07:28,448 --> 00:07:30,379 倦怠な使用者がここで 130 00:07:30,379 --> 00:07:32,766 ごく些細なミスを犯した。 131 00:07:32,766 --> 00:07:35,181 現代に例えるなら、自転車の鍵の暗証番号を 132 00:07:35,181 --> 00:07:37,624 セットする時にありがちなミスだ。 133 00:07:37,624 --> 00:07:39,834 初期位置から2〜3回しか 134 00:07:39,834 --> 00:07:43,296 番号を回さないとか、 135 00:07:43,296 --> 00:07:47,247 分かりやすいパスワードを使い回すミスだ。 136 00:07:47,247 --> 00:07:50,837 これによりローターの 初期の位置分布の均一性が崩れてしまった。 137 00:07:50,837 --> 00:07:53,431 そこで連合国は敵のエニグマを 138 00:07:53,431 --> 00:07:54,523 何度も観察し、 139 00:07:54,523 --> 00:07:59,677 ローターの配線を完璧に突き止めることが出来た。 140 00:07:59,677 --> 00:08:02,952 2つ目のミスは手順ミスではなく、 141 00:08:02,952 --> 00:08:05,018 デザイン上のミスだ。 142 00:08:05,018 --> 00:08:06,528 エニグマは、入力文字と 143 00:08:06,528 --> 00:08:10,545 出力文字が決して同じにならないようになっている。 144 00:08:10,545 --> 00:08:13,261 だから暗号化された文字、例えば L では、 145 00:08:13,261 --> 00:08:16,103 暗号化前の文字が L である可能性を 146 00:08:16,103 --> 00:08:18,655 除外できる。 147 00:08:18,655 --> 00:08:21,376 当時 強みと考えられた特徴は、 148 00:08:21,376 --> 00:08:26,840 実はデザイン上の弱点だったのだ。 149 00:08:26,840 --> 00:08:29,376 この弱点をもとに、暗号解読機が開発された。 150 00:08:29,376 --> 00:08:30,816 最初にポーランドが考案し、 151 00:08:30,816 --> 00:08:34,000 後にイギリスとアメリカによって改善された。 152 00:08:34,000 --> 00:08:37,694 複数のエニグマローターを繋いだ Bombe という機械で、 153 00:08:37,694 --> 00:08:41,871 様々な「鍵設定」を素早く試すことができる。 154 00:08:41,871 --> 00:08:43,857 原文の中に たいてい含まれてる単語、 155 00:08:43,857 --> 00:08:46,571 例えば 天気を表す単語などを利用して解析する。 156 00:08:46,571 --> 00:08:50,217 このヒントとなる語を「クリプト」(暗号の手がかり)という。 157 00:08:50,217 --> 00:08:52,526 暗号解読機に「クリプト」を入力すると、 158 00:08:52,526 --> 00:08:54,034 ローターの位置や配列を 159 00:08:54,034 --> 00:08:57,552 あらゆる限り調べ上げ、 160 00:08:57,552 --> 00:09:01,875 およそ数分で 「鍵設定」の候補を絞り込む。 161 00:09:01,875 --> 00:09:03,460 連合国は、この機械を使って 162 00:09:03,460 --> 00:09:07,119 ドイツ軍の命令文を 発行から数時間以内に解読できた。 163 00:09:07,119 --> 00:09:09,477 これが国の戦術に革命的な影響をもたらした。 164 00:09:09,477 --> 00:09:12,677 連合国は、前もって敵の動きを対策できたのだ。 165 00:09:12,677 --> 00:09:14,910 結局、 166 00:09:14,910 --> 00:09:19,976 ワンタイムパッドを自動生成するという 最初の試みは失敗に終わった。 167 00:09:19,976 --> 00:09:22,312 もし使用者がローターの初期位置を決める時に 168 00:09:22,312 --> 00:09:24,731 サイコロを使っていたなら、 169 00:09:24,731 --> 00:09:26,316 初期状態のパターン分布は 170 00:09:26,316 --> 00:09:29,609 完全に均一になったというのに。 171 00:09:29,609 --> 00:09:30,820 そうしなかったばかりに、 172 00:09:30,820 --> 00:09:33,835 ローターの配線が解析されてしまった。 173 00:09:33,835 --> 00:09:35,322 そして もし、エニグマの入力文字と 174 00:09:35,322 --> 00:09:37,000 出力文字が同じになれたなら、 175 00:09:37,000 --> 00:09:40,940 Bombeは「クリプト」を活かすことができず、 176 00:09:40,940 --> 00:09:44,873 連合国による解読は不可能だっただろう。 177 00:09:44,873 --> 00:09:48,630 全ての「鍵空間」を調べるのは、 最速のコンピュータでも不可能なのだ。 178 00:09:48,630 --> 00:09:52,085 しかし 以上のミスで、 「鍵空間」が狭くなってしまった。 179 00:09:52,085 --> 00:09:54,427 もしこれがなければ、 第二次世界大戦の結果は 180 00:09:54,427 --> 00:10:00,545 劇的に変わっていたかもしれない。