文章摘要:对于许多人来说,“加密”一词可能会激起詹姆斯·邦德式的反派人物形象,将一个带有核发射代码或其他动作电影订书钉的公文包戴在手腕上。实际上,我们所有人每天都在使用加密技术,尽管我们大多数人可能都不了解“如何”或“为什么”,但我们确信数据安全性很重要,并且加密是否可以帮助我们实现这一目标,那么我们肯定会加入。我们几乎每天与之交互的每个计算设备都使用某种形式的加密技术。从智能手机(通常可以对其数据进行加密
对于许多人来说,“加密”一词可能会激起詹姆斯·邦德式的反派人物形象,将一个带有核发射代码或其他动作电影订书钉的公文包戴在手腕上。实际上,我们所有人每天都在使用加密技术,尽管我们大多数人可能都不了解“如何”或“为什么”,但我们确信数据安全性很重要,并且加密是否可以帮助我们实现这一目标,那么我们肯定会加入。
我们几乎每天与之交互的每个计算设备都使用某种形式的加密技术。从智能手机(通常可以对其数据进行加密)到平板电脑,台式机,笔记本电脑,甚至您可信赖的Kindle,加密无处不在。
但是它是如何工作的呢?
什么是加密?
加密是一种现代的加密形式,它允许用户向他人隐藏信息。加密使用一种称为密码的复杂算法,以将规范化数据(明文)转换为一系列看似随机的字符(密文),这些字符对于没有特殊密钥的人来说是不可读的。拥有密钥的用户可以解密数据以便再次查看纯文本,而不是密文的随机字符串。
最广泛使用的两种加密方法是公钥(非对称)加密和私钥(对称)加密。两者在某种意义上是相似的,它们都允许用户加密数据以将其隐藏起来,然后再解密以访问原始明文。但是,它们在处理加密和解密之间的步骤方面有所不同。
公钥加密
公钥(或非对称)加密使用收件人的公钥以及(在数学上)匹配的私钥。
例如,如果Joe和Karen都拥有一个盒子的钥匙,而Joe具有公钥,而Karen具有匹配的私钥,则Joe可以使用他的钥匙来解锁盒子并将东西放进去,但他将无法查看那里已经存在的物品,他也将无法检索任何东西。另一方面,Karen可以打开包装盒并查看其中的所有物品,并使用匹配的私钥将其视为合适的物品移除。但是,如果没有其他公共密钥,她就无法在盒子中添加东西。
在数字意义上,Joe可以(使用其公共密钥)对纯文本进行加密,然后将其发送给Karen,但是只有Karen(及其匹配的私钥)才能将密文解密回纯文本。公钥(在这种情况下)用于加密密文,而私钥用于将其解密回纯文本。卡伦只需要私钥来解密Joe的消息,但是她需要访问其他公共密钥才能对消息进行加密并将其发送回Joe。另一方面,Joe无法使用其公共密钥解密数据,但可以使用它向Karen发送加密的消息。
私钥加密
私钥(或对称)加密不同于公钥的加密之处在于密钥本身。仍然需要两个键来进行通信,但是现在这些键中的每个键基本相同。
例如,Joe和Karen都拥有上述盒子的钥匙,但是在这种情况下,钥匙起着同样的作用。现在,他们两个都可以在框中添加或删除内容。
以数字方式发言,Joe现在可以加密消息以及使用他的密钥解密消息。凯伦(Karen)可以对她做同样的事情。
简要的加密历史
在谈到加密时,重要的是要区分所有现代加密技术都源自加密技术。密码学的核心是创建和(尝试)解密代码的行为。尽管电子加密在更宏大的事物方案中相对较新,但加密技术却可以追溯到古希腊。
希腊人是第一个因使用密码术来隐藏敌人和公众眼中的文字形式的敏感数据而使用密码术的社会。他们使用了一种非常原始的密码学方法,该方法依靠使用scytale作为工具来创建转置密码(应答密钥)来解码加密的消息。scytale是一个圆柱体,用于包裹羊皮纸以解密代码。当交流的双方使用相同厚度的圆柱体时,从左到右读取时,羊皮纸将显示该消息。展开羊皮纸时,它看起来像是一块长而薄的羊皮纸,看似随机的数字和字母。因此,虽然展开时似乎有些竞争,但是当滚动到Scytale时,它看起来更像是这样:
开发原始密码学方法的并不只有希腊人。罗马人紧随其后,引入了后来被称为“凯撒密码”的一种替代密码,其中包括用一个字母替换另一个字母,使字母进一步向下移动。例如,如果键包含向右移动三,则字母A将变为D,字母B将变为E,依此类推。
- 波利比乌斯(Polybius)正方形:古希腊的另一项加密突破依靠5 x 5网格,该网格以左上角的字母“ A”和右下角的字母“ Z”开头(“ I”和“ J”共享一个正方形)。数字1到5水平和垂直出现在字母的第一行的顶部和最左侧。该代码依赖于给出一个数字,然后将其定位在网格上。例如,“球”将为12、11、31、31。
- 谜机:谜机是二战技术,被称为机电转子密码机。该设备看起来像是一台超大型打字机,可以让操作员输入纯文本,而机器则对消息进行加密并将其发送到另一个单元。接收者在接收器上亮起后,写下随机的加密字母字符串,并在其发送者上设置来自发送者的原始模式后破坏代码。
- 数据加密标准:数据加密标准(DES)是用于数字数据加密的第一个现代对称密钥算法。DES在1970年代由IBM开发,并于1977年成为美国的联邦信息处理标准,并成为构建现代加密技术的基础。
现代加密技术
现代加密技术使用更复杂的算法以及更大的密钥大小,以便更好地隐藏加密的数据。密钥大小越大,为了成功找到解密密文,暴力攻击必须进行的可能组合越多。
随着密钥大小的不断提高,使用蛮力攻击的火箭破解加密所需的时间。例如,虽然56位密钥和64位密钥的值看起来相对接近,但64位密钥实际上比56位密钥难破解256倍。大多数现代加密技术至少使用128位密钥,有些则使用256位或更高的密钥。为了弄清楚这一点,破解128位密钥将需要蛮力攻击来测试 339,000,000,000,000,000,000,000,000,000,000,000,000,000个可能的组合键。万一您好奇,使用蛮力攻击猜测正确的密钥实际上将花费一百万年以上的时间,而这正是使用现有功能最强大的超级计算机。简而言之,从理论上讲,任何人甚至都尝试使用128位或更高技术来破坏您的加密是不可信的。
DES
自1977年首次采用DES以来,加密标准已经走了很长一段路。事实上,一种称为三重DES(3DES)的新DES技术非常流行,它基于原始DES算法的现代化版本。尽管最初的DES技术的密钥长度仅为56位,但是目前的3DES密钥大小为168位,这使得破解它的难度和时间明显增加。
AES
Advanced Encryption Standard是基于Rijandael块密码的对称密码,Rijandael块密码是当前的美国联邦政府标准。AES在全世界范围内被采用,成为1977年已过时的DES标准的明显继承者,尽管有一些已发表的例子比暴力破解要快,但从破解角度来看,强大的AES技术在计算上仍然不可行。此外,AES在各种硬件上均具有稳定的性能,并满足高速和低RAM的要求,从而使其成为大多数应用程序的顶级选择。如果您使用的是Mac,那么流行的加密工具FileVault是使用AES的许多应用程序之一。
RSA
RSA是最早用于数据传输的不对称密码系统之一。该算法于1977年首次描述,它依赖于基于两个大质数和一个辅助值的公钥来加密消息。任何人都可以使用公共密钥来加密消息,但是只有知道素数的人才能切实地尝试对消息进行解码。RSA为诸如数字签名和加密投票方法之类的多种加密协议打开了大门。它也是一些开放源代码技术(例如PGP)背后的算法,它使您可以加密数字通信。
那么,加密安全吗?
毫无疑问,答案是肯定的。破解大多数现代密码技术所花费的时间,能源使用量和计算成本使得试图破解(没有密钥)加密的行为成为一项昂贵的工作,相对而言,这是徒劳的。也就是说,加密确实存在许多漏洞,这些漏洞很大程度上不在技术的能力范围内。