加密历史悠久,可以追溯到古希腊人和罗马人通过替换只能用密钥破译的字母发送秘密信息。加入我们的快速历史课程,了解有关加密如何工作的更多信息。
在今天的HTG解释版中,我们将向您简要介绍加密的历史,它是如何工作的,以及一些不同加密类型的示例—请确保您还查看了上一版本,在该版本中我们解释了为什么那么多极客讨厌Internet Explorer。
早期的加密
古希腊人使用一种名为Scytale的工具来帮助使用换位密码更快地加密他们的信息——他们只需将羊皮纸条包裹在圆柱体周围,写出信息,然后当纸条处于解开的时候就没有含义了。
当然,这种加密方法可能很容易被破解,但它实际上是在现实世界中使用的第一个加密示例之一。
Julius Caesar在他的时代使用了一种类似的方法,将字母表中的每个字母向右或向左移动了许多位置 —— 一种称为Caesar密码的加密技术。例如,使用下面的示例密码,您将“GEEK”写为“JHHN”。
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
由于只有消息的预期接收者知道密码,因此另一个人难以解码消息,这看起来像是胡言乱语,但拥有该密码的人可以很容易地解码和读取它。
其他简单的加密密码,如Polybius square,使用多字母密码列出每个字母的顶部和侧面的相应数字位置,以确定字母的位置。
使用如上所示的表格,您可以将字母“G”写为“23”,或将“GEEK”写为“23 31 31 43”。
恩尼格玛密码机
第二次世界大战期间,德国人使用恩尼格玛密码机来回传送加密的信息,波兰人花了好几年时间才破解了这些信息,并向盟军提供了解决方案,这对他们的胜利起到了关键作用。
现代加密的历史
让我们面对现实吧:现代加密技术可能是一个极其无聊的主题,所以我们不只是用文字来解释它们,而是根据杰夫·莫泽(Jeff Moser)的简笔画AES指南,创作了一部讲述加密历史的连环漫画。注意:很明显,我们不能在漫画中传达加密历史的一切。
在那些日子里,人们没有一种好的加密方法来保护他们的电子通信。
Once upon a time there was no good way foroutside secret agencies to judge good crypto.
从前,对于外部的秘密机构来说,没有什么好的方法来评判什么是好的加密方式。
EBG13 is good.
EBG13是好的。
Double ROT13 is better.
Double ROT13更好。
A decree went throughout the land to find agood secure algorithm.
为了找到一种安全的算法,一项法令传遍了全国。
We need a good cipher!
我们需要一个好的加密方式!
路西法(Lucifer)是由霍斯特•费斯特尔(Horst Feistel)及其IBM同事开发的几种最早的民用分组密码的名字。
One worthy competitor named Lucifer cameforward.
一个名叫路西法(Lucifer)的优秀竞争者走上前来。
数据加密标准(DES)是一种分组密码(一种共享秘密加密形式),由美国国家标准局于1976年选择作为美国的官方联邦信息处理标准(FIPS),随后广泛被国际使用。
After being modified by NSA lucifer was anointed as the dataencryption standard (DES).
经过NSA的修改,路西法(Lucifer)被指定为数据加密标准(DES)。
DES was widely througout the land for 20 years.Academics studied itintently .For the first time there was something specific to look at.The modernfild of cryptography was born.
DES在这片土地上流传了20年。学者们专注地研究它,第一次有了具体的研究对象。现代密码学诞生了。
…to the best of out knowledge,DES is free from any statiscal ormathematical weakness.
…据我们所知,DES没有任何统计或数学上的弱点。
对安全性的担忧以及DES在软件中相对较慢的运行促使研究人员提出了各种替代分组密码设计,这些设计开始出现在20世纪80年代末和90年代初期:例如RC5,Blowfish,IDEA,NewDES,SAFER,CAST5和FEAL.
Over the years many attackers challenged DES.DES was defeated inseveral battles.
多年以来,许多攻击者向DES发起挑战。DES在多场战役中被击败。
The rallied the crypt scientists to develop something better.
他们召集了密码加密专家来开发更好的东西。
We need some thing better & faster than DES.
我们需要比DES更好更快的东西。
Vincent Rijmen and Joan Daemen were among the crypto scientists whocombined their last name and gave birth to a new encryption algorithm Rijndael(pronounced Rhine Dahl)
文森特·里吉曼和琼·达曼是密码科学家,他们将自己的姓氏组合在一起,产生了一种新的加密算法Rijndael(读作Rhine Dahl)
We present you Rijndael!
我们赠送Rijndael给你!
Rijndael加密算法被美国政府采用为标准对称密钥加密或高级加密标准(Advanced encryption standard, AES)。AES于2001年11月26日被美国国家标准与技术研究所(NIST)宣布为美国FIPS PUB 197 (FIPS 197),在此之前的5年的标准化过程中,在Rijndael被选为最合适的加密算法之前,有15个相互竞争的设计被提交和评估。
加密算法性能
现有许多加密算法,它们都适用于不同的目的——识别和区分一种加密算法和另一种加密算法的两个主要特征是它保护受保护数据不受攻击的能力,以及这样做的速度和效率。
作为不同类型加密之间速度差异的一个很好的例子,您可以使用TrueCrypt的卷创建向导中内置的基准测试实用程序——如您所见,AES是迄今为止最快的强加密类型。
有更慢和更快的加密方法,它们都适用于不同的目的。如果您只是经常尝试解密一小块数据,您可以负担得起使用最强大的加密,甚至可以使用不同类型的加密对其进行两次加密。如果你需要速度,你可能想要使用AES。
有关对不同类型加密进行基准测试的更多信息,请查看华盛顿圣路易斯大学的报告,在那里他们对不同的程序进行了大量测试,并在一篇非常令人讨厌的文章中对其进行了解释。
现代加密的类型
我们之前讨论过的所有设想的加密算法主要用于两种不同类型的加密:
对称密钥算法使用相关或相同的加密密钥进行加密和解密。
非对称密钥算法使用不同的密钥进行加密和解密——这通常称为公钥加密。
对称密钥加密
为了解释这个概念,我们将使用维基百科中描述的邮政服务的比喻来理解对称密钥算法的工作原理。
Alice把她的秘密信息放在一个盒子里,然后用一把钥匙和锁把秘密信息锁在盒子里。然后,她通过普通邮件将盒子投递给Bob。当Bob接收到该盒子时,他使用相同的Alice的密钥副本(他之前以某种方式获得,可能通过面对面会议)打开该盒子,并阅读该消息。然后Bob可以使用相同的锁发送他的秘密回复。
对称密钥算法可分为流密码和分组密码——流密码一次加密一个比特的消息,而分组密码占用多个比特,通常一次以64比特的块为单位,并将它们加密为一个单位。您可以选择许多不同的算法——更受欢迎和备受推崇的对称算法包括Twofish,Serpent,AES(Rijndael),Blowfish,CAST5,RC4,TDES和IDEA。
非对称加密
在非对称密钥系统中,Bob和Alice具有单独的锁,而不是具有来自对称加密算法例子中的多个密钥对应的单个锁。注意:这当然是一个非常简单的例子,说明它是如何工作的,实际上要复杂得多,但你会得到一个大致的想法。
首先,Alice要求Bob通过普通邮件向她发送打开的锁,并将钥匙留给Bob自己。当Alice收到它时,她使用它来锁上包含她的消息的盒子,并将锁好的盒子发送给Bob。然后,Bob可以用钥匙解锁盒子并阅读Alice发来的消息。要回复的时候,Bob必须用同样的方式,得到Alice打开着的挂锁来锁上盒子,然后再发回给她。
非对称密钥系统的关键优势是Bob和Alice永远不需要将密钥的副本发送给对方。这可以防止第三方(在该示例中,可能是一个腐败的邮政工作者)在传输过程中复制密钥,从而让第三方监视Alice和Bob之间发送的所有未来的消息。此外,如果Bob粗心大意并且允许其他人复制他的密钥,那么Alice给Bob的消息会受到损害,但Alice给其他人的消息将保密,因为其他人会为Alice提供不同的锁来加密消息。
非对称加密使用不同的密钥进行加密和解密。邮件收件人创建私钥和公钥。公钥分发给消息发送者,他们使用公钥来加密消息。收件人使用其私钥来解密用收件人的公钥加密过的任何加密邮件。
与对称加密相比,以这种方式进行加密有一个主要好处。我们永远不需要在不安全的渠道上发送任何秘密(例如我们的加密密钥或密码)。你的公钥传到了世界——这不是秘密,也不是必须的。您的私钥可以在您生成它的个人计算机上保持舒适——它不需要通过电子邮件发送到任何地方,也不会被攻击者所发现。
加密如何保护网络上的通信
多年来,SSL(安全套接字层)协议一直在使用Web浏览器和Web服务器之间的加密来保护Web事务,从而保护您免受可能在中间窥探网络的任何人的攻击。
SSL本身在概念上非常简单。从浏览器请求安全页面开始(通常是https://)
Web服务器使用它的证书来发送其公钥。
浏览器检查证书是否由受信任方(通常是受信任的根CA)颁发,证书是否仍然有效以及证书是否与所联系的站点相关。
然后,浏览器使用公钥来加密随机对称加密密钥,并将其发送到具有所需加密URL以及其他加密http数据的服务器。
Web服务器使用其私钥解密对称加密密钥,并使用浏览器的对称密钥来解密其URL和http数据。
Web服务器发送回请求的并且使用浏览器的对称密钥加密过的html文档和http数据。浏览器使用对称密钥解密http数据和html文档并显示信息。
现在你可以安全地在eBay上购买你不是真正需要的东西了。
你学到什么东西了吗?
你做到这一点,我们正处于我们理解加密的漫长旅程的最后阶段,以及它的工作方式——从希腊和罗马人加密的早期开始,Lucifer的崛起,最后SSL如何使用非对称和对称加密来帮助您在eBay上购买蓬松的粉红色兔子。