WEBVTT 00:00:02.940 --> 00:00:08.500 インターネット:暗号(あんごう)と公開カギ(こうかいかぎ) 00:00:08.990 --> 00:00:14.150 はい、わたしはミラ ギルエプナー。UCバークレー校でコンピュータサイエンスを学び 00:00:14.150 --> 00:00:18.080 情報の安全をまもるために、国防省で働いています。 00:00:18.500 --> 00:00:26.000 インターネットはオープンでパブリックなシステム。 私たちはみな、回線を共有して、情報をやり取りしています。 00:00:26.840 --> 00:00:30.719 オープンシステムだとしても、多くのプライベートなデータをやりとりします。 00:00:30.719 --> 00:00:35.220 たとえば、クレジットカードの番号、銀行口座、パスワード、メール。 00:00:35.890 --> 00:00:38.220 これらのプライベートな情報は、どのように守られるでしょうか? 00:00:38.680 --> 00:00:46.109 暗号(あんごう)によって、データは、まぜられ、おきかえられ、読めなくなり、秘密(ひみつ)にされます。 00:00:46.109 --> 00:00:51.090 複合(ふくごう)は、これを元にもどして、読めるようにすることです。 00:00:51.660 --> 00:00:55.560 これは、単純なアイデアで、人々は昔からこれを行ってきました。 00:00:55.560 --> 00:01:02.379 さいしょの有名な暗号は、「シーザー暗号」です。 シーザーは、ローマの将軍、ジュリアス・シーザーです。 00:01:02.379 --> 00:01:08.110 かれは、軍の指令が、敵に読まれないように、暗号を使いました。 00:01:09.010 --> 00:01:12.540 シーザー暗号のアルゴリズムは、それぞれの文字を 00:01:12.540 --> 00:01:16.759 アルファベット表で、いくつか後の文字に置きかえるものです。 00:01:16.759 --> 00:01:22.109 送り手と受け手だけが知っている数を「カギ」と呼びます。 00:01:22.109 --> 00:01:26.770 「カギ」をつかって、受け手は秘密のメッセージを開けることができます。 00:01:27.750 --> 00:01:33.759 例えば、もとのメッセージが HELLO で、シーザー暗号のカギが5だと、 暗号化されたメッセージは・・・ 00:01:38.369 --> 00:01:43.259 メッセージの複合は、カギを使って、ぎゃくのことをします。 00:01:45.709 --> 00:01:48.789 しかしシーザー暗号には、もんだいがあります。 00:01:48.789 --> 00:01:54.639 すべてのカギをためせば、だれでも、かんたんに、 暗号を、やぶることができます。 00:01:54.639 --> 00:02:02.129 アルファベットは26文字しかありません。 これは、26通りカギをためせば、複合化できるのです。 00:02:03.049 --> 00:02:08.020 たった26通りのカギをためすのは難しくありません。 1~2時間もあれば、じゅうぶんです。 00:02:08.020 --> 00:02:13.050 もっと難しくしましょう。すべての文字を同じだけ動かすのではなく、 00:02:13.050 --> 00:02:16.400 それぞれを、べつべつの数、動かします。 00:02:16.400 --> 00:02:23.500 この例では、10ケタのカギが、それぞれの文字をどれだけ変えるかを表します。 00:02:25.750 --> 00:02:34.160 このカギは本当に安全でしょうか? 10ケタの暗号は、10億通りのカギになります。 00:02:34.160 --> 00:02:39.170 これは人間には解読できません。数100年かかるでしょう。 00:02:39.860 --> 00:02:45.450 しかし今日のコンピュータは、10億通りを試すのに数秒しかかかりません。 00:02:46.030 --> 00:02:51.240 現代では、悪い人も、エンピツではなく、コンピュータを使います 00:02:51.240 --> 00:02:56.040 かれらに破られない「難しい」暗号メッセージはどのように作るのでしょうか? 00:02:56.040 --> 00:03:02.180 ここで「難しい」とは、ふつうの時間では計算がまにあわない、と言うい意味です。 00:03:02.990 --> 00:03:08.800 こんにち、安全な通信には、「256ビットのカギ」を使います。 これは、悪い人が、あなたのメッセージを読もうとしても 00:03:08.800 --> 00:03:18.360 暗号を破るには、カギの組み合わせが多すぎて、カギをやぶることができないのです 00:03:19.500 --> 00:03:24.040 たとえ 100,000 のスーパーコンピュータがあって、 00:03:24.040 --> 00:03:31.530 1秒で何億のカギを試すことができても、 すべてのカギを計算するには、何兆もの年数がかかるのです。 00:03:32.500 --> 00:03:37.690 たった一つの、256ビット暗号メッセージを、やぶるだけでも。 00:03:37.690 --> 00:03:43.320 コンピュータは、毎年、2倍の速さになり、半分の大きさになっています 00:03:43.320 --> 00:03:48.400 このペースが続けば、こんにち、不可能な計算も、何年かすれば、 00:03:48.400 --> 00:03:54.170 たった数100年で解決でき、256ビットでは、安全ではなくなるでしょう。 00:03:54.170 --> 00:04:00.300 じっさい、コンピュータの計算スピードに合わせて、カギも長くなっています。 00:04:01.070 --> 00:04:05.540 よいニュースは、長いキーを使うことは暗号メッセージを「難しく」するだけでなく、 00:04:05.540 --> 00:04:10.450 暗号を破るための試行回数を指数関数的に増やすことです。 00:04:11.210 --> 00:04:16.779 暗号と複合のために、送り手と受けてが、同じカギを使うことを 00:04:16.779 --> 00:04:23.129 「対称(たいしょう)カギ暗号」といいます。 対称カギ暗号では、シーザー暗号と同じく 00:04:23.129 --> 00:04:27.900 ひみつのカギを、手わたしして、2人が知っている必要があります。 00:04:27.900 --> 00:04:36.190 人は、これで良いですが、インターネットでは、2台のコンピュータが、こっそり会って、カギを教える、ことはできません。 00:04:37.390 --> 00:04:40.429 そのかわり、コンピュータは、「非対称(ひたいしょう)カギ暗号」を使います 00:04:40.429 --> 00:04:45.830 公開カギは、みんなに教えますが、 秘密カギは、ひみつです。だれにも教えません。 00:04:47.000 --> 00:04:58.690 公開カギは、だれでも知っていて、暗号で秘密のメッセージが作れます。 秘密カギは、複合して、読むときだけ使います。 00:04:58.690 --> 00:05:03.190 どのような数学を使っているのか、ここでは説明は省きますが、 00:05:03.190 --> 00:05:06.129 たとえば、あなたのメールボックスがあって、 00:05:06.129 --> 00:05:09.640 だれでも、「公開カギ」があれば、メールを預けることができる 00:05:09.640 --> 00:05:16.509 「公開カギ」は、好きなだけコピーを作って、友だちに送ったり、公開して自由につかえます 00:05:16.509 --> 00:05:22.060 あなたの友だちは、知らない人でも、公開カギでメッセージを預けます 00:05:22.060 --> 00:05:26.310 預けられたメッセージを取り出して、読むことができるのは、 00:05:26.310 --> 00:05:30.099 「秘密カギ」をもっている、あなただけです。 00:05:30.099 --> 00:05:35.510 あなたは、メールボックスに預けられた、公開カギをつかって メッセージを安全に、友人に返信できます。 00:05:35.510 --> 00:05:41.529 前もって、秘密カギを決めなくても、 安全なメッセージをやり取りできます。 00:05:41.529 --> 00:05:47.460 公開カギ暗号は、開かれたインターネットで、 安全にメッセージを送るために、ひつようなものです。 00:05:47.460 --> 00:05:54.300 ウェッブをブラウズするとき、 SSLやTLSといったセキュアプロトコルが、私たちを守っています。 00:05:54.300 --> 00:06:01.400 ブラウザのアドレスバーに、カギのマークや https が表示されていれば、 あなたのコンピュータは、これを使っています。 00:06:01.400 --> 00:06:09.739 コンピュータが、公開カギ暗号を使って、 データを安全に、やり取りしている、という意味です 00:06:09.739 --> 00:06:15.660 ますます、多くの人がインターネットを使い プライベートなデータがもっともっと増え、 00:06:15.660 --> 00:06:19.080 データを守ることが、ますます必要です。 00:06:19.080 --> 00:06:25.819 コンピュータは、どんどん早くなるので、破られない 難しい、新しい暗号を、開発しなければなりません 00:06:25.819 --> 00:06:29.769 これが、私の仕事です。つねに変化しつづけます。