1 00:00:02,940 --> 00:00:08,500 2 00:00:08,990 --> 00:00:14,150 你好,我的名字是Mia Gil-Epner,我在加州大学伯克利分校主修计算机科学, 3 00:00:14,150 --> 00:00:19,460 我在国防部工作,内容是保持国防安全。互联网是 4 00:00:19,460 --> 00:00:25,510 一个开放的公共系统,我们通过共享线路发送和接收信息, 5 00:00:25,510 --> 00:00:30,039 但即使它是一个开放系统,我们仍然交换大量的私有数据, 6 00:00:30,039 --> 00:00:35,890 比如信用卡号码,银行信息,密码和电子邮件。 7 00:00:35,890 --> 00:00:40,690 那么这些私事是怎么被保密的呢?任何类型的数据都可以通过 8 00:00:40,690 --> 00:00:45,299 加密、加扰或更改消息来隐藏原始文本来保密。 9 00:00:45,309 --> 00:00:51,900 现在,解密是一个整理的过程,也是使其具有可读性的过程。 10 00:00:51,900 --> 00:00:56,970 而这个简单的想法,人们已经做了几个世纪了。第一种公知的加密方法 11 00:00:56,970 --> 00:01:02,379 是凯撒的密码。它是以罗马将军朱利叶斯·凯撒的名字命名的, 12 00:01:02,379 --> 00:01:07,220 这位将军加密了他的军事命令,以确保即使这个消息被敌人拦截, 13 00:01:07,220 --> 00:01:12,540 也无法被破解。凯撒密码是一种算法,它是用字母替换原始消息 14 00:01:12,540 --> 00:01:16,759 中的每一个字母,并按一定的顺序从字母表中向下移动若干步。 15 00:01:16,759 --> 00:01:21,259 如果这个数字是只有发送方和接收方知道的,那么它就叫做密钥。 16 00:01:21,259 --> 00:01:28,640 它允许读取器解锁秘密消息。例如,如果原始消息是“hello”, 17 00:01:28,640 --> 00:01:35,869 那么使用具有5个加密消息的密钥的凯撒密码算法将是这样的...... 18 00:01:35,869 --> 00:01:43,259 要解密消息,接收方只需使用密钥来反转进程。 19 00:01:43,259 --> 00:01:50,179 但是凯撒密码有一个大问题,任何人都可以通过尝试所有可能的密钥 20 00:01:50,179 --> 00:01:55,569 轻松地破坏或破解加密的消息,在英语字母表中只有26个字母, 21 00:01:55,569 --> 00:02:00,389 这意味着您最多只需要尝试26个密钥来解密邮件。现在尝试 22 00:02:00,389 --> 00:02:06,810 26个可能的按键并不是很困难,最多需要一个小时或两个小时。 23 00:02:06,810 --> 00:02:13,050 所以我们要让它变得更难。代替将每个字母移动相同的数量, 24 00:02:13,050 --> 00:02:18,920 让我们将每个字母移动不同的数量。在本例中,一个十位数密钥 25 00:02:18,920 --> 00:02:26,560 显示了每个连续的字母将被更改多少个位置来加密较长的消息。 26 00:02:26,560 --> 00:02:34,160 猜到这个关键很难。使用10位数加密可能有100亿个可能的关键解决方案。 27 00:02:34,160 --> 00:02:39,860 很明显,这是任何人类都无法解决的问题,可能要花上几个世纪。 28 00:02:39,860 --> 00:02:46,030 但今天一台普通的计算机只需几秒钟就可以尝试所有100亿种可能性。 29 00:02:46,030 --> 00:02:51,240 所以,在现代世界里,坏人是用电脑而不是铅笔武装起来的。 30 00:02:51,240 --> 00:02:57,890 你怎么能把信息加密得如此安全以至于它们很难被破解呢? 31 00:02:57,890 --> 00:03:03,760 现在太困难意味着在合理的时间内计算的可能性太多。 32 00:03:03,760 --> 00:03:10,200 今天的安全通信是使用256位密钥加密的。这意味着 33 00:03:10,200 --> 00:03:16,290 一个坏人的电脑拦截你的信息需要尝试这么多可能的选择… 34 00:03:16,290 --> 00:03:24,040 即使你有十万台超级计算机,而且每台计算机每秒都能尝试十万亿个密钥, 35 00:03:24,040 --> 00:03:30,680 但要尝试每一个选项都要花费数万亿、数万亿年的时间, 36 00:03:30,680 --> 00:03:37,690 哪怕仅仅是破解一条由256位加密保护的信息。 37 00:03:37,690 --> 00:03:43,320 当然,计算机芯片的速度是它的两倍,大小是它的一半。 38 00:03:43,320 --> 00:03:48,400 如果这种指数级的发展速度继续下去,今天不可能解决的问题 39 00:03:48,400 --> 00:03:54,680 将在未来几百年内得到解决,那么256位元也将不足以保证安全。 40 00:03:54,680 --> 00:04:01,070 事实上,我们已经不得不增加标准的关键长度跟上计算机的速度。 41 00:04:01,070 --> 00:04:05,540 好消息是,使用较长的密钥并不会使加密消息变得更加困难, 42 00:04:05,540 --> 00:04:11,660 但它会成倍地增加破解密码所需的猜测次数。 43 00:04:11,660 --> 00:04:16,779 当发送方和接收方使用相同的密钥对消息进行加密和解密时, 44 00:04:16,779 --> 00:04:24,199 称为对称加密。像凯撒密码(Caesar Cipher)这样的对称加密技术, 45 00:04:24,199 --> 00:04:29,710 密钥必须由两个人事先私下商定。这对人们来说是件好事, 46 00:04:29,710 --> 00:04:35,840 但互联网是开放的,是公开的,所以两台电脑不可能私下“见面”, 47 00:04:35,840 --> 00:04:41,599 就密钥达成一致。相反,计算机使用非对称加密密钥, 48 00:04:41,599 --> 00:04:49,020 即可以与任何人交换的公钥和不共享的私钥。公钥用于加密数据, 49 00:04:49,020 --> 00:04:55,800 任何人都可以使用它来创建一条秘密消息,但是只有 50 00:04:55,800 --> 00:05:01,270 访问私钥的计算机才能解密这个秘密。至于,它是如何工作的 51 00:05:01,270 --> 00:05:06,129 是一些我们暂时不会提及的数学知识。现在,假设你有一个个人邮箱, 52 00:05:06,129 --> 00:05:11,430 任何人都可以将邮件存入该邮箱,但他们需要一个密钥。你可以 53 00:05:11,430 --> 00:05:16,509 复制多份密钥,然后寄给你的朋友,或者直接把它公开。你的朋友 54 00:05:16,509 --> 00:05:21,400 甚至陌生人都可以使用公钥访问您的存款槽并向其中发送消息, 55 00:05:21,400 --> 00:05:27,400 但只有你可以使用你的私钥打开邮箱,访问收到的所有秘密消息。 56 00:05:27,400 --> 00:05:31,539 你还可以通过使用朋友邮箱的公开密钥,将消息发回你的朋友。 57 00:05:31,539 --> 00:05:37,620 通过这种方式,人们可以在不需要就私钥达成一致的情况下交换安全消息。 58 00:05:37,620 --> 00:05:43,699 公钥密码学是开放internet上所有安全消息传递的基础, 59 00:05:43,699 --> 00:05:49,340 包括称为SSL和TLS的安全协议,它们在我们浏览web时保护我们。 60 00:05:49,340 --> 00:05:55,900 今天,只要在浏览器的地址栏中看到小锁或https字母, 61 00:05:55,900 --> 00:06:01,400 您的计算机就会使用它。这意味着您的计算机 62 00:06:01,400 --> 00:06:07,409 正在使用公钥加密与您所在的网站安全地交换数据。 63 00:06:07,409 --> 00:06:13,400 随着越来越多的人上网,越来越多的私人数据将被传输, 64 00:06:13,400 --> 00:06:19,080 保护这些数据的需求将变得更加重要。 65 00:06:19,080 --> 00:06:24,059 随着计算机运行速度越来越快,我们将不得不开发新的方法, 66 00:06:24,059 --> 00:06:29,259 使加密技术难以破解。这就是我的工作,它总是在变化。