网络协议:(非)对称加密&数字证书

目录

如何加密解密

 对称加密(对称密码)

 非对称加密(公钥密码)

 对称加密(Symmetric Cryptography)

 DES(Data Encryption Standard)

3DES(Triple Data Encryption Algorithm)

 AES(Advanced Encryption Standard)

 密钥配送问题

 非对称加密(Asymmtric Cryptographic)

 解决非对称密钥配送问题

 混合密码系统(Hybrid Cryptosystem)

 混合密码-加密

 混合密码--解密

 数字签名

 数字签名--疑惑

数字证书 

 公钥的合法性

 证书

 证书使用

 证书的注册和下载

 查看Windows已经信任的证书


如何加密解密

 对称加密(对称密码)

 非对称加密(公钥密码)

 对称加密(Symmetric Cryptography)

 DES(Data Encryption Standard)

  • DES是一种将64bit明文加密成64bit密文的对称加密算法,密钥长度是56bit
  • 规格上来说,密钥长度是64bit,但每隔7bit就会设置一个用于错误检查的bit,因此密钥长度实质上是56bit
  • 由于DES每次只能加密64bit的数据,遇到比较大的数据,就需要对DES加密进行迭代(反复)
  • 目前已经可以在短时间内破解DES,所以不建议使用

3DES(Triple Data Encryption Algorithm)

  • 3DES,将DES重复3次2所得到的一种密码算法,也叫三重DES
    • 三重DES并不是进行三次DES加密(加密==>加密==>加密)
    • 而是加密==>解密==>加密
  • 目前还被一些银行等机构使用,但处理速度不高,安全性逐渐暴露出问题

 3个密钥是不同的,也称为DES-EDE3

 AES(Advanced Encryption Standard)

  • 取代DES成为新标准的一种对称加密算法,又称Rijndael加密法
  • AES的密钥长度有128、192、256三种
  • 目前AES,已经逐步取代DES,3DES,成为首选的对称加密算法
  • 一般来说,我们也不应该去使用任何自制的秘密算法。AES经过了全世界密码学家所进行的高品质验证工作

 密钥配送问题

  • 在使用对称加密时,一定会遇到密钥配送问题
  • 如果Alice使用对称加密过的消息发送给了Bob
    • 只有将密钥发送给Bob,Bob才能完成加密
    • 在发送密钥过程中:可能会被Eve窃取密钥;最后Eve也能完成解密

 解决密钥配送问题

  • 有以下几种解决密钥配送的方法
    • 事先共享密钥(比如私下共享)
    • 密钥分配中心(Key Distribution Center,简称KDC)
    • Diffie-Hellman密钥交换
    • 非对称加密

 非对称加密(Asymmtric Cryptographic)

  • 在非对称加密种,密钥分为加密密钥、解密密钥两种,它们并不是同一个密钥
  • 加密密钥:一般是公开的,因此该密钥称为公钥(public key)。因此,非对称加密也被称为公钥密码(Public-key Cryptography)
  • 解密密钥:由消息接收者自己报关,不能公开,因此也成为私钥(private key)

 公钥、私钥

 解决非对称密钥配送问题

  • 由消息的接收者,生成一堆公钥私钥
  • 将公钥发送给消息的发送者
  • 消息的发送者使用公钥加密信息
  • 非对称加密的加密解密速度比对称加密要慢

 混合密码系统(Hybrid Cryptosystem)

  • 对称加密的缺点:不能很好地解决密钥配送问题(密钥会被窃听)
  • 非对称加密的缺点:加密解密速度慢
  • 混合密码系统:是将对称加密和非对称加密的优势相结合的方法
    • 解决了非对称加密速度慢的问题
    • 并通过非对称加密解决了对称加密的密钥配送的问题
  • 网络上密码通信所使用SSL/TLS都运用了混合密码系统

 混合密码-加密

  • 会话密钥(session key)。为本子通信随机生成的临时密钥,作为对称加密的密钥,用于加密信息,提高速度
  • 加密步骤(发送消息)
    • 首先,消息发送者要拥有消息接收者的公钥
    • 生成会话密钥,作为对称加密的密钥,加密消息
    • 用消息接收者的公钥,加密会话密钥
    • 将钱步生成的加密结果,一并发送给密钥接收者
  • 发送出去的内容包括
    • 用会话密钥加密的消息(加密方法:对称加密)
    • 用公钥加密的会话密钥(加密方法:非对称加密)

 混合密码--解密

  • 解密步骤
    • 信息接收者用自己的私钥解密出会话密钥
    • 再用上一步解密出来的会话密钥,解密信息

 数字签名

  • 在数字签名技术中,有以下两种行为
    • 生成签名:由消息发送者完成,通过“签名密钥”生成
  • 验证签名:由消息的接收者完成,同构“验证密钥”验证
  • 如果能保证这个签名是消息发送者自己签名的呢?答案:用消息发送者的私钥进行签名

过程 

 改进

 数字签名--疑惑

  • 如果有人篡改了信息内容或者签名内容,会是什么结果?答案:签名验证失败,证明内容被篡改了
  • 数字签名不能保证机密性?答案:数字签名的作用不是为了保证机密性,而是为了能够识别内容有没有被篡改
  • 数字签名的作用
    • 确认消息的完整性
    • 识别消息是否被篡改
    • 防止消息发送人否认

数字证书 

 公钥的合法性

如果遭遇了中间人攻击,那么公钥可能是伪造的。如何验证公钥的合法性呢?使用数字证书! 

 证书

  • 说到证书,首先联想到的是驾驶证、毕业证、英语四六级证等待,都是由权威机构认证的
  • 密码学中的证书,全称叫公钥证书(Public-key Certificate, PKC),跟驾驶证类似
    • 里面由姓名、邮箱等个人信息,以及此人的公钥
    • 并由认证机构(Certificate Authority, CA)施加数字签名
  • CA就是能够认定“公钥确实属于此人”并能够生成数字签名的个人或者组织
    • 由国际性组织、政府设立的组织
    • 有通过提供认证服务来盈利的企业
    • 个人也可以成立认证机构

 

 证书使用

 证书的注册和下载

 查看Windows已经信任的证书

猜你喜欢

转载自blog.csdn.net/weixin_62775913/article/details/126619919
今日推荐