跳转到内容

密码学/普通用户的期望

来自维基教科书,开放世界中的开放书籍

草稿

密码学 通过各种微妙的方式影响着我们每天的生活。密码学在您通过电话线发送信用卡号时保护您的信用卡号,它保护您的银行卡密码不被未经授权的访问,它也保护密码不被未经授权的访问。作为一个社会,我们对计算机的日常生活的依赖程度越来越高。现在,您的健康历史、驾驶记录和财务信息可能都已计算机化。互联网是一个相当不受控制的媒体,任何被允许访问互联网的东西都容易受到黑客或其他不法之徒的未经授权的访问,因此必须受到保护。

您可能已经熟悉一种保护形式,即密码。这是一个只有您和可信方才知道的秘密短语。为了向可信方(银行或医生办公室中包含您信息的站点)进行身份验证,您会提供密码。如果有一张写着密码的纸张放在柜台上(或者只是以纯文本形式放在计算机上)来验证每个客户的身份,那将很不安全。解决方案是以加密哈希的形式出现,通常是 Argon2。可信方会存储您密码的哈希值,而不是纯文本版本。如果有人盗取了您密码的哈希版本(假设所述办公室使用了加盐和安全的哈希算法),那么它对他们几乎没有用。当您提供密码时,办公室会计算其哈希值,并将该哈希值与他们记录中的哈希值进行比较。由于哈希的特性之一是它不会发生冲突(即对于任何给定的输入,只有一个唯一的输出,该输出不等于任何其他输入。当然,没有固定长度的哈希可以完全符合对无限长度输入的要求;大多数密码介于 8 到 14 个字符之间,因此对于我们的目的,MD5 就足够了)如果两个哈希值相同,那么密文也相同,因此用户已通过身份验证。此过程几乎每次您在计算机上输入密码时都会进行(这就是为什么大多数情况下您可以选择重置密码而不是检索密码,因为 Argon2 是单向哈希。存在双向加密“哈希”,[需要引用]但我不会在这里讨论它们)。

即使我们知道理论上存在冲突,加密哈希 - 即使是 MD5 - 也是为了使实际找到会产生与您的密码相同的哈希值的价值变得不可行。[1]

  1. "哈希密码的潜在冲突"
华夏公益教科书