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