持久的密码:100年坚不可摧

【.com 独家翻译】任何密码无论它在鼎盛时期多么强大,最终都会成为脆弱的密码,这似乎是不言而喻的。当人们使用目前相当强大的密码时,他们担心最终也会有人能够将它破解——在不知道密钥的情况下,通过找到一条捷径大大减小暴力破解所需要的时间。
 
即使密码从没被破解过,在没有密钥的情况下,我们将永远需要相同的CPU平均时钟周期数来解密某一指定密码加密的东西;与几个月前相比,几个月后要想破解同样的东西需要时间会少一些。这是因为计算机至始至终都在变得更快,这允许我们把相同数目的时钟周期压缩在更短的时间内。

更加复杂和巧妙的加密算法设计,使得暴力破解的方法越来越困难,并且将取代已经被破解了的、或者说即将过时的老旧算法。这就像是一场持久的军备竞赛——保护隐私与企图渗透隐私行为之间的对抗。

虽然几乎所有被破解或者过时的密码都被历史所淘汰,但有一种密码却经受住了93年的时间,这就是一次性密码。1917年,Gilbert Vernam发明了维尔南(Vernam)密码,该密码使用了纸带作为密钥的电传(teletype)技术来加密和解密数据,随之诞生了一种在当时相当强大的对称密码。

美国陆军上尉Joseph Mauborgne意识到,使用真正随机的密钥,即密钥没有一部分是重复的(除了有时随机出现相同的情况),维尔南密码能够变得更加强大。受纸带密钥的启发,一种每页纸上的一列随机字母或数据作为记录密钥的便笺(pad of paper)被发展起来。两份相同的便笺分发给两个人,每页纸上的每个字符只使用一次(当最后一个字符被用来加密或解密信息后,该页纸就被毁掉),他们传递信息时不用担心被截获后的信息在没有密钥的情况下被破解。因为这项在便笺纸上分发密钥流数据的技术,人们又这种密码称为一次性便笺加密。
 
信息理论之父Claude Shannon从数学上证明了一次性加密算法在正确使用时是不可破解的——正确的使用包括毁掉含有已用密钥数据的页面,以便它不再被利用,这样即使有人获得了便笺中已用的页面,也不能解密任何未授权的信息拷贝。密钥管理可以使用相同的数字化概念,但附加条件是人们使用时必须非常小心,以避免计算机固有的弱点给一次性密钥系统带来缺陷。例如,代价高昂的数据恢复也许能够重建已经删除的数据,包括一次性密钥数据。 当简单的删除仍不够可靠时,尽管有办法可以用来对这些数据进行模糊化处理,但也一定要谨慎。

一次性加密算法有时会非常麻烦,这是它为什么没有被广泛使用的原因。由于这种不便性,我们实际需要的是在理论上稍弱一些的密码,也可以说它是一种更聪明的密码,比如AES/Rijndael和Twofish加密算法。

由于一次性密码是对称密码,双方必须使用完全相同的密钥数据来加密通信。对于某些加密用例,使用一次性加密完全没有意义,因为如果双方要能够安全的交换密钥以拥有它,他们必然有共享数据的安全方法,这种方法也可以用来共享最终的信息本身。只有在你不知道将会发送什么信息的情况下,或者当你们在将来的某个时候不能找到任何安全的方法来交换密钥数据时,一次性加密才会派上用场。

一次性加密密钥必须同它所加密或解密的信息一样长。因此,当你想要加密或者解密一个3 G字节的文件时,你还需要一个大小为3G字节的一次性加密密钥。

同样的一次性加密数据不能在多于两人时被安全共享。比如,不同的信息将要在拥有同一密钥的某些接收者之间发送时,有些数据对于其它接收者是不可读的,在它们之间使用相同的一次性加密会破坏密码的安全性。相比之下,你可以使用非对称密码为多个人提供一个相同的公钥,他们将能够使用相同的公钥来给你的信息加密,而不用担心其它拥有公钥的人能读到它——只要该加密算法不被破解,并且计算机技术目前的发展水平还没有先进到可以合理的暴力破解信息。这是因为对于公钥加密的数据,只有对应的私钥才能解开。

重复使用密钥潜在的破坏了一次性密码的安全性,因为它面临着一个已知明文的漏洞。Kerckhoff准则说到,当密钥仍然保密时,一个密码体系就是安全的,但是如果同时知道某个指定信息的加密和未加密版本,一次性密码的密钥就能够被破解。如果一串密钥数据只被使用一次,这也不是什么问题,因为如果连明文被破解者获取,加密强度再大也是徒劳的。如果一个密钥被重复使用,一段信息的明文就能够作为获得密钥的工具,而该密钥可以用来解密其它信息。我们可以从中获得的教训是:不要重复使用一次性密码。这也正是它被称之为“一次性”密码的原因。

当一次性密钥用尽以后,你不能再安全的重复发送信息——使用相同的密码加密——除非你能够安全的交换新的随机密钥数据。当你试图与世界另一头的某个人通信时,这种情况将会让你的处境显得很窘迫。

如果在某些情况下使用一次性加密不太现实,你可以使用其它的加密方法,而你也应该意识到其它在理论上加密强度稍弱的密码仍然有它的用武之地。

一次性加密的工作原理看起来很简单。它只涉及到两个基准值(datum)的比较,比如两个字母或者数字,然后通过比较产生新的基准值。你对加密的信息中每个基准值都要这么做。实现比较的过程既简单又容易,一次产生一个基准值,而且计算的成本相对较低。一个简单的XOR(异或)操作符就能够用来实现这种比较。在它最简单的形式下,XOR操作符可以像这样应用到二进制数字的操作中:

首先,你需要一段信息。让我们使用单词”short”来作为我们的信息。它确实也很短。接下来,你将该信息翻译成二进制形式。用ASCII编码来翻译”short”,你最终会得到如下的0、1字符串:

0111001101101000011011110111001001110100

你还需要一个与信息等长的密钥。这里,我们将这个0和1组成的字符串作为我们的密钥:

0110010101101010001110010010011101100100

最后,因为你使用的是XOR操作符,基本上你只需要做简单的减法。两个字符串的第一个字符都为0, 可以看到0-0=0. 类似的, 两个字符串的第二个字符都为1,得1-1=0。当一个字符为1, 一个为0时,可以得到一个1或者-1。如果对结果取绝对值,这意味着两个都得到结果1。因此,减法运算和取绝对值提供了如下结果:

0111001101101000011011110111001001110100

0110010101101010001110010010011101100100
———————————————————–

0001011000000010010101100101010100010000

当然,在结果中以0和1 表示的字符串,某些8位二进制组并不存在所对应ASCII表示, 因此很难用简明的方式来表示数据。ASCII编码非常适合电脑使用,但传统的字母数字方法实现的一次性加密通过手译(hand translation)后更适合于模拟信号。

很明显,一次性加密的核心算法异常简单。只有在设计软件中围绕该算法的余下部分,以及寻找该密码的正确用例时,开发安全可靠的加密软件才会出现真正的问题。另外,如果要实现加密绝对的安全,在当前我们对数学的理解范围内,只有一次性加密才能做到这一点,并且只有在正确使用时才无法被破解。
 

【.COM 独家翻译,转载请注明出处及作者!】 

【编辑推荐】

  1. 互联网安全公司总结十大网络密码形同虚设
  2. 破解玄机:安全性与密码相对强度的暗战
  3. 公共云计算彼端的数据能否得到有效保护?

【责任编辑:王文文 TEL:(010)68476606】

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/141796.html<

(0)
管理的头像管理
上一篇2025-03-04 13:58
下一篇 2025-03-04 13:59

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注