对称加密、非对称加密、摘要、数字签名、数字证书图解

是否听说过对称加密、非对称加密、摘要、数字签名、数字证书?

这些东西是如何使用的?为什么要使用这些?本文会进行一些简单的阐述并配备图片进行讲解

对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

  • 特点:

    • 速度快、效率高

    • 加密方解密方持同一个密钥

    • 密钥传输过程不安全

  • 算法:

    1. DES:数据加密标准,速度快,适合加密大量数据

    1. 3DES:基于DES,对一块数据用3个不同密钥进行3次加密,加密强度高

    1. AES:高级加密标准,速度快,安全级别高,支持128、256位等密钥加密

  • 图解:

    • 流程:

      1. 双方事先商定密钥

      2. 发送方用密钥加密消息后发送给接收方

      3. 接收方用密钥解密获得原消息

  • 缺点:密钥的商定存在隐患、密钥不易管理

非对称加密

非对称加密是指用来加密和解密的是不同的秘钥,它们是成对出现的,称为公钥和私钥,知道其中一个秘钥是无法推导出另外一个秘钥的。用公钥加密的内容需要用私钥才能解密,用私钥加密的内容需要用公钥才能解密。(没有公开的是私钥,公开的是公钥

  • 特点:

    • 非对称加密的特点是安全性高

    • 加密速度慢。

  • 算法:RSA、Elliptic Curve Cryptography(ECC,椭圆曲线加密算法)、ElGamal、背包算法、Rabin、Diffie-Hellman

  • 图解:(方便理解:将公钥画成锁、私钥画成钥匙,加密则给消息上锁,解密则解锁)

    • 加密流程:

      1. 接收方已有公钥和私钥,私钥留存,公钥给消息发送方

      2. 发送方用公钥加密消息

      3. 接收方用自己私钥解密消息

  • 存在问题:

    1. 消息是否被篡改(验证消息摘要可以解决)

    2. 消息是否是用户B发出(验证数字证书可以解决)

摘要

  • 摘要算法:把任意长度的输入揉和,产生长度固定的伪随机输出的算法。(生成的输出即为摘要

  • 算法:MD5、SHA-1、以及大量变体

  • 特点:

    1. 保证信息完整性(内容改变一个字节,生成的摘要就会改变)

    2. 不可逆(只能加密,不可解密)

数字签名

发送方使用私钥对消息(消息摘要)进行加密,生成一个特定的签名值,并将签名值与消息一起发送给接收方接收方可以使用发送方的公钥对签名值进行解密和验证,从而确定消息的真实性和完整性。

  • 特点:

    1. 保证消息完整性(包含摘要)

    2. 保证消息真实性(只能用发送发签名解密签名)

  • 带有数字签名的消息发送图解:

    • 流程:

      1. 发送方用摘要算法a生成消息的摘要,并用自己的私钥加密摘要

      2. 接收方用发送发公钥解密数字签名获取摘要,并对文件用摘要算法a算出一个摘要

      3. 和数字签名中的摘要进行比对,不一致则说明文件已被篡改

  • 存在问题:

    消息是否是用户B发出(验证数字证书可以解决)

    伪造公钥B',替换用户A的公钥B,伪造者则可以冒充用户B给用户A发送消息。因为用户A不知道公钥B已经被替换

数字证书

数字证书是一个经证书授权中心生成的文件,数字证书一般包含公钥、公钥拥有者名称、CA数字签名、有效期、CA名称、证书序列号等信息。其中CA的数字签名是验证证书是否被篡改的关键,它其实就是对证书里面除了CA的数字签名以外的内容进行摘要算法得到一个摘要,CA机构用自己的私钥对这个摘要进行加密就生成了CA数字签名,CA机构会公开它的公钥,验证证书时就是用这个公钥解密CA的数字签名,然后用来验证证书是否被篡改。

  • 带有数字证书的消息发送图解:

    • 流程:

      1. 发送方在权威机构用个人信息和公钥生成数字证书,并将数字签名、加密后的消息发送给接收方

      2. 接收方用权威机构的公钥解密数字证书获取发送方的公钥

      3. 接收方使用解密出的公钥解密数字签名获取摘要

      4. 接收方使用私钥A解密消息后使用摘要算法a获取消息的摘要

      5. 和数字签名中的摘要进行比对,不一致则说明文件已被篡改

最后

一下是我个人博客链接,感谢关注!

个人博客icon-default.png?t=N7T8http://www.hisen.top/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值