图解密码技术1.4 其他密码技术_图解密码技术1.4 其他密码技术试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 科普 > 图解密码技术 > 1.4 其他密码技术

图解密码技术——1.4 其他密码技术

密码技术所提供的并不仅仅是基于密码的机密性,用于检验消息是否被篡改的完整性、以 及用于确认对方是否是本人的认证等都是密码技术的重要部分。 1.4.1 单向散列函数 我们想象一下通过互联网下载免费软件的场景。我们所下载的软件,是否和软件的作者所 制作的东西一模一样呢?会不会有坏人在软件里植入了一些恶意程序呢? 为了防止软件被篡改,有安全意识的软件发布者会在发布软件的同时发布该软件的散列 值 A。散列值就是用单向散列函数(one-wayhashfunction)计算出来的数值。 下载该软件的人可以自行计算所下载文件的散列值,然后与软件发布者公布的散列值进行 对比。如果两个散列值一致,就说明下载的文件与发布者所发布的文件是相同的。 单向散列函数所保证的并不是机密性,而是完整性(integrity)。完整性指的是“数据是正 牌的而不是伪造的”这一性质。使用单向散列函数,就可以检测出数据是否被篡改过。 单向散列函数是一种保证完整性的密码技术。关于单向散列函数,我们将在第 7 章详细 讲解。 1.4.2 消息认证码 为了确认消息是否来自所期望的通信对象,可以使用消息认证码(messageauthenticationcode)技术。 通过使用消息认证码,不但能够确认消息是否被篡改,而且能够确认消息是否来自所期待的 通信对象。也就是说,消息认证码不仅能够保证完整性,还能够提供认证(authentication)机制。 消息认证码是一种能够保证完整性和提供认证的密码技术。关于消息认证码,我们将在第 8 章详细讲解。 1.4.3 数字签名 Bob 刚刚收到了一封来自 Alice 的邮件,内容是“以 100 万元的价格购买该商品”。 不过,这封邮件到底是不是 Alice 本人写的呢? Bob 仅通过阅读邮件内容,是否能够判断 该邮件确实来自 Alice 呢?邮件的发送者(From:一栏的内容)很容易被伪造,因此确实存在别 人伪装(spoofing)成 Alice 的风险。 假设 Alice 真的发出过邮件,但是 Alice 当初写的内容真的是“以 100 万元的价格购买该商 品”吗?是否存在这样一种风险,即 Alice 原本写的是“1 万元”,而在邮件传输的过程中被某 些别有用心的人进行了篡改,将 1 万元改成了 100 万元呢? 反过来说,还有这样一种风险,即 Alice 真的向 Bob 发送了内容为“以 100 万元的价格购 买该商品”的邮件,但后来 Alice 又不想买了,于是便谎称“我当初根本没发过那封邮件”。像 这样事后推翻自己先前主张的行为,称为否认(repudiation)。 能够防止上述伪装、篡改和否认等威胁的技术,就是数字签名(digitalsignature)。数字签 名就是一种将现实世界中的签名和盖章移植到数字世界中的技术,它也是一种重要的密码技术。 用刚才的例子来说,Alice 可以对“以 100 万元的价格购买该商品”的内容加上数字签名后 再通过邮件发送,而 Bob 则可以对该数字签名进行验证(verify)。通过这样的方式,不但可以 检测出伪装和篡改,还能够防止事后否认。 数字签名是一种能够确保完整性、提供认证并防止否认的密码技术。关于数字签名,我们 将在第 9 章详细讲解。 1.4.4 伪随机数生成器 伪随机数生成器(PseudoRandomNumberGenerator,PRNG)是一种能够模拟产生随机数 列的算法。随机数和密码技术有关,这样说大家可能会感到意外,但实际上随机数确实承担 着密钥生成的重要职责。例如在 Web 中进行 SSL/TLS 通信时,会生成一个仅用于当前通信的临 时密钥(会话密钥),这个密钥就是基于伪随机数生成器生成的。如果生成随机数的算法不好, 窃听者就能够推测出密钥,从而带来通信机密性下降的风险。 关于伪随机数生成器以及随机数的话题,我们将在第 12 章详细讲解。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《图解密码技术》其他试读目录

• 1.1 本章学习的内容
• 1.2 密码
• 1.3 对称密码与公钥密码
• 1.4 其他密码技术 [当前]
• 1.5 密码学家的工具箱
• 1.6 隐写术与数字水印
• 1.7 密码与信息安全常识
• 1.8 本章小结
• 1.9 小测验的答案
• 5.1 投币寄物柜的使用方法
• 5.2 本章学习的内容
• 5.3 密钥配送问题