WEBVTT 00:00:02.940 --> 00:00:08.500 00:00:08.990 --> 00:00:14.150 你好,我的名字是Mia Gil-Epner,我在加州大学伯克利分校主修计算机科学, 00:00:14.150 --> 00:00:19.460 我在国防部工作,内容是保持国防安全。互联网是 00:00:19.460 --> 00:00:25.510 一个开放的公共系统,我们通过共享线路发送和接收信息, 00:00:25.510 --> 00:00:30.039 但即使它是一个开放系统,我们仍然交换大量的私有数据, 00:00:30.039 --> 00:00:35.890 比如信用卡号码,银行信息,密码和电子邮件。 00:00:35.890 --> 00:00:40.690 那么这些私事是怎么被保密的呢?任何类型的数据都可以通过 00:00:40.690 --> 00:00:45.299 加密、加扰或更改消息来隐藏原始文本来保密。 00:00:45.309 --> 00:00:51.900 现在,解密是一个整理的过程,也是使其具有可读性的过程。 00:00:51.900 --> 00:00:56.970 而这个简单的想法,人们已经做了几个世纪了。第一种公知的加密方法 00:00:56.970 --> 00:01:02.379 是凯撒的密码。它是以罗马将军朱利叶斯·凯撒的名字命名的, 00:01:02.379 --> 00:01:07.220 这位将军加密了他的军事命令,以确保即使这个消息被敌人拦截, 00:01:07.220 --> 00:01:12.540 也无法被破解。凯撒密码是一种算法,它是用字母替换原始消息 00:01:12.540 --> 00:01:16.759 中的每一个字母,并按一定的顺序从字母表中向下移动若干步。 00:01:16.759 --> 00:01:21.259 如果这个数字是只有发送方和接收方知道的,那么它就叫做密钥。 00:01:21.259 --> 00:01:28.640 它允许读取器解锁秘密消息。例如,如果原始消息是“hello”, 00:01:28.640 --> 00:01:35.869 那么使用具有5个加密消息的密钥的凯撒密码算法将是这样的...... 00:01:35.869 --> 00:01:43.259 要解密消息,接收方只需使用密钥来反转进程。 00:01:43.259 --> 00:01:50.179 但是凯撒密码有一个大问题,任何人都可以通过尝试所有可能的密钥 00:01:50.179 --> 00:01:55.569 轻松地破坏或破解加密的消息,在英语字母表中只有26个字母, 00:01:55.569 --> 00:02:00.389 这意味着您最多只需要尝试26个密钥来解密邮件。现在尝试 00:02:00.389 --> 00:02:06.810 26个可能的按键并不是很困难,最多需要一个小时或两个小时。 00:02:06.810 --> 00:02:13.050 所以我们要让它变得更难。代替将每个字母移动相同的数量, 00:02:13.050 --> 00:02:18.920 让我们将每个字母移动不同的数量。在本例中,一个十位数密钥 00:02:18.920 --> 00:02:26.560 显示了每个连续的字母将被更改多少个位置来加密较长的消息。 00:02:26.560 --> 00:02:34.160 猜到这个关键很难。使用10位数加密可能有100亿个可能的关键解决方案。 00:02:34.160 --> 00:02:39.860 很明显,这是任何人类都无法解决的问题,可能要花上几个世纪。 00:02:39.860 --> 00:02:46.030 但今天一台普通的计算机只需几秒钟就可以尝试所有100亿种可能性。 00:02:46.030 --> 00:02:51.240 所以,在现代世界里,坏人是用电脑而不是铅笔武装起来的。 00:02:51.240 --> 00:02:57.890 你怎么能把信息加密得如此安全以至于它们很难被破解呢? 00:02:57.890 --> 00:03:03.760 现在太困难意味着在合理的时间内计算的可能性太多。 00:03:03.760 --> 00:03:10.200 今天的安全通信是使用256位密钥加密的。这意味着 00:03:10.200 --> 00:03:16.290 一个坏人的电脑拦截你的信息需要尝试这么多可能的选择… 00:03:16.290 --> 00:03:24.040 即使你有十万台超级计算机,而且每台计算机每秒都能尝试十万亿个密钥, 00:03:24.040 --> 00:03:30.680 但要尝试每一个选项都要花费数万亿、数万亿年的时间, 00:03:30.680 --> 00:03:37.690 哪怕仅仅是破解一条由256位加密保护的信息。 00:03:37.690 --> 00:03:43.320 当然,计算机芯片的速度是它的两倍,大小是它的一半。 00:03:43.320 --> 00:03:48.400 如果这种指数级的发展速度继续下去,今天不可能解决的问题 00:03:48.400 --> 00:03:54.680 将在未来几百年内得到解决,那么256位元也将不足以保证安全。 00:03:54.680 --> 00:04:01.070 事实上,我们已经不得不增加标准的关键长度跟上计算机的速度。 00:04:01.070 --> 00:04:05.540 好消息是,使用较长的密钥并不会使加密消息变得更加困难, 00:04:05.540 --> 00:04:11.660 但它会成倍地增加破解密码所需的猜测次数。 00:04:11.660 --> 00:04:16.779 当发送方和接收方使用相同的密钥对消息进行加密和解密时, 00:04:16.779 --> 00:04:24.199 称为对称加密。像凯撒密码(Caesar Cipher)这样的对称加密技术, 00:04:24.199 --> 00:04:29.710 密钥必须由两个人事先私下商定。这对人们来说是件好事, 00:04:29.710 --> 00:04:35.840 但互联网是开放的,是公开的,所以两台电脑不可能私下“见面”, 00:04:35.840 --> 00:04:41.599 就密钥达成一致。相反,计算机使用非对称加密密钥, 00:04:41.599 --> 00:04:49.020 即可以与任何人交换的公钥和不共享的私钥。公钥用于加密数据, 00:04:49.020 --> 00:04:55.800 任何人都可以使用它来创建一条秘密消息,但是只有 00:04:55.800 --> 00:05:01.270 访问私钥的计算机才能解密这个秘密。至于,它是如何工作的 00:05:01.270 --> 00:05:06.129 是一些我们暂时不会提及的数学知识。现在,假设你有一个个人邮箱, 00:05:06.129 --> 00:05:11.430 任何人都可以将邮件存入该邮箱,但他们需要一个密钥。你可以 00:05:11.430 --> 00:05:16.509 复制多份密钥,然后寄给你的朋友,或者直接把它公开。你的朋友 00:05:16.509 --> 00:05:21.400 甚至陌生人都可以使用公钥访问您的存款槽并向其中发送消息, 00:05:21.400 --> 00:05:27.400 但只有你可以使用你的私钥打开邮箱,访问收到的所有秘密消息。 00:05:27.400 --> 00:05:31.539 你还可以通过使用朋友邮箱的公开密钥,将消息发回你的朋友。 00:05:31.539 --> 00:05:37.620 通过这种方式,人们可以在不需要就私钥达成一致的情况下交换安全消息。 00:05:37.620 --> 00:05:43.699 公钥密码学是开放internet上所有安全消息传递的基础, 00:05:43.699 --> 00:05:49.340 包括称为SSL和TLS的安全协议,它们在我们浏览web时保护我们。 00:05:49.340 --> 00:05:55.900 今天,只要在浏览器的地址栏中看到小锁或https字母, 00:05:55.900 --> 00:06:01.400 您的计算机就会使用它。这意味着您的计算机 00:06:01.400 --> 00:06:07.409 正在使用公钥加密与您所在的网站安全地交换数据。 00:06:07.409 --> 00:06:13.400 随着越来越多的人上网,越来越多的私人数据将被传输, 00:06:13.400 --> 00:06:19.080 保护这些数据的需求将变得更加重要。 00:06:19.080 --> 00:06:24.059 随着计算机运行速度越来越快,我们将不得不开发新的方法, 00:06:24.059 --> 00:06:29.259 使加密技术难以破解。这就是我的工作,它总是在变化。