《图解密码技术》笔记15:密码技术与现实社会-我们生活在不完美的安全中

目录

15.2.1 密码学家的工具箱

15.2.2 密码与认证

15.2.3 密码技术的框架化

15.2.4 密码技术与压缩技术      

15.3 虚拟货币-比特币 

15.4 追寻完美的密码技术

15.5 只有完美的密码,没有完美的


15.2 密码技术小结

15.2.1 密码学家的工具箱

1、对称密码
        对称密码是一种用相同的密钥进行加密和解密的技术,用于确保消息的机密性。在对称密码的算法方面,DES和三重DES曾被广泛使用,但今后将逐步过渡到AES。尽管对称密码能够确保消息的机密性,但需要解决将解密密钥配送给接收者的密钥配送问题。

2、公钥密码
        公钥密码是一种用不同的密钥进行加密和解密的技术,和对称密码一样用于确保消息的机密性。使用最广泛的一种公钥密码算法是RSA,除此之外还有ElGamal和Rabin等算法,以及与其相关的 Diffie-Hellman密钥交换技术。和对称密码相比,公钥密码的速度非常慢,因此一般都会和对称密码一起组成混合密码系统来使用。公钥密码能够解决对称密码中的密钥交换问题,但存在通过中间人攻击被伪装的风险,因此需要对带有数字签名的公钥进行认证。

3、单向散列函数
        单向散列函数是一种将长消息转换为短散列值的技术,用于确保消息的完整性。在单向散列函数的算法方面,128比特的MD5和160比特的SHA-1曾被广泛使用,但今后将逐步使用能够产生长度更长的散列值的算法。单向散列函数可以单独使用,也可以作为消息认证码、数字签名以及伪随机数生成器等技术的组成元素来使用。

4、消息认证码
        消息认证码是一种能够识别通信对象发送的消息是否被篡改的认证技术,用于验证消息的完整性,以及对消息进行认证。消息认证码的算法中,最常用的是利用单向散列函数的HMAC。HMAC的构成不依赖于某一种具体的单向散列函数算法。消息认证码能够对通信对象进行认证,但无法对第三方进行认证。此外,它也无法防止否认。

5、数字签名
        数字签名是一种能够对第三方进行消息认证,并能够防止通信对象做出否认的认证技术数字签名的算法包括RSA、ElGamal和 DSA。公钥基础设施(PKI)中使用的证书,就是对公钥加上认证机构的数字签名所构成的。要验证公钥的数字签名,需要通过某种途径获取认证机构自身的合法公钥。

6、伪随机数生成器
        伪随机数生成器是一种能够生成具备不可预测性的比特序列的技术,由密码和单向散列函数等技术构成。伪随机数生成器用于生成密钥和初始化向量等。

15.2.2 密码与认证

        认证是密码学中很重要的一部分。

15.2.3 密码技术的框架化

        框架的特点就是能够对其中作为组成元素的技术进行替换。一种元素技术即便再完美,总有一天也会显现出弱点。当出现这样的情况时,只要形成了整体框架,就可以对其中存在弱点的技术进行替换,就像更换损坏的机器零件一样。

        例如,消息认证码算法HMAC的设计就允许对单向散列函数的算法进行替换。当发现目前使用的单向散列函数存在弱点时,我们可以用其他的单向散列函数算法重新构建HMAC。

        此外,在PGP中,对称密码、公钥密码、单向散列函数等都是可以替换的。在SSL/TLS中,客户端和服务器可以通过握手协议进行通信,并当场决定所使用的密码套件。

        Feistel网络也具有和框架相似的性质。在Fiestel网络的整体设计中,无论轮函数具体进行怎样的计算,都可以保证解密的正确性。

        使用框架能够提高密码技术系统的重用性,也能够提高系统的强度。这可以说是人类应对未来技术变革的智慧。即便目前所使用的密码算法被破解,也没有必要将现有的系统全部废弃,只要框架本身的设计合理,就可以通过替换更安全的密码算法来解决问题。

        通过将单独的密码技术像零件一样组合起来,并根据需要进行替换,能够实现更长期的、更高的安全性。

15.2.4 密码技术与压缩技术      

        在密码学家的工具箱中,所有的技术都有一个共同点,那就是它们都可以看成是一种“压缩技术”。无论是对称密码还是公钥密码,密码的作用都是确保机密性。由于确保较长的明文整体的机密性很困难,因此我们用密码将明文转换成密文。这样一来,我们就不必保护明文本身了。相对地,我们则需要保护加密时所使用的密钥。

        通过保护较短的密钥来保护较长的明文,这样的做法可以称为机密性的压缩。

        单向散列函数是用于确认完整性的。我们不必检查较长的明文的完整性,只要检查散列值就能够确认完整性了。通过检查较短的散列值来确认较长的明文的完整性,这样的做法可以称为完整性的压缩。

        消息认证码和数字签名都是用于认证的技术,但我们并不是直接对较长的消息本身进行认证,而是通过将较长的消息与密钥结合起来,生成较短的比特序列(认证符号),再通过认证符号进行认证。在消息认证码中,MAC值就是认证符号;而在数字签名中,签名就是认证符号。通过较短的认证符号来对较长的消息进行认证,这样的做法可以称为认证的压缩。

        在伪随机数生成器中,所生成数列的不可预测性是非常重要的。要大量生成具备不可预测性的随机数列非常困难,于是我们通过将种子输入伪随机数生成器,生成具备不可预测性的伪随机数列。也就是说,为了对伪随机数列赋予不可预测性,我们使用了随机数种子,这可以称为不可预测性的压缩。反过来说,伪随机数生成器是将种子所具备的不可预测性进行了扩张。

15.3 虚拟货币-比特币 

        感兴趣的,单独找相关的资料吧!

15.4 追寻完美的密码技术

  • 量子密码

  • 量子计算机

  • 哪一种技术会率先进入实用领域

15.5 只有完美的密码,没有完美的人

  • 理论是完美的,现实是残酷的
  • 防御必须天衣无缝,攻击只需突破一点
  • 攻击实例1:经过PGP加密的电子邮件
  • 攻击实例2:用SSL/TLS加密的信用卡号
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值