zoukankan      html  css  js  c++  java
  • 对称加密和非对称加密

    一、对称加密

    1、概念

    所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。

    这种加密系统又称为对称密钥系统。

    2、流程

    image-20210110160517613

    3、对称密钥的缺点与优点

    • 优点

      效率高。

    • 缺点

      1、如果密钥在网上传输,有被截获的风险。

      2、如果用户需要与多个用户通信,那么需要维护和多个用户的密钥关系

    4、数据加密标准 DES

    • 概念

      是数据加密标准。属于对称加密体制 ==》 分为加密算法 和 加密密钥(64位,实际为56位)

    • 流程

      1、先对明文分组,每一组64位

      2、对每一组进行加密

      3、将加密后的每一组再组合起来,形成最后的密文

    • 保密性

      DES算法的保密性取决于加密时使用密钥的长度

      使用56位密钥加密,破解需要3.5或21分钟;

      使用128位密钥加密,破解需要5.4x10的18次方年。

    二、非对称加密

    1、概念

    通过函数生成一串随机数,一部分做公钥,一部分做私钥 ==》 私钥不能推导出公钥

    过程: 公钥加密私钥解密。或者 私钥加密公钥解密(数字签名)

    2、流程

    image-20210110160638314

    3、案例

    3.1 数字信封

    混合使用对称和非对称加密

    通过公钥对 对称加密的密钥进行加密 。 对称加密的密钥只加密文件(因为速度快)

    image-20210110163549971

    本质上是对称加非对称算法:

    加密过程:

    1. 适用对称密钥加密明文得到密文。
    2. 用非对称密钥的私钥加密明文的对称密钥得到密钥包。

    解密过程:

    1. 适用对方的公钥解密密钥包从而得到明文的对称密钥。
    2. 用对称密钥解密密文,得到明文数据。

    3.2 数字签名

    ​ 先通过私钥加密,接收者得到密文后通过公钥进行解密。由此判断是否有人进行过修改

    • 流程图

    image-20210110160856405

    1、A把明文通过B的对称密钥进行加密。得到密文

    2、A通过hash函数运算,将明文转换得到数据指纹(固定位数)

    3、A将数据指纹通过A的私钥加密,得到数字签名

    4、A将密文,数字签名,A的公钥发送给B

    5、B使用自己的对称密钥对密文解密。得到明文

    6、B将明文通过hahs运算,得到数据指纹

    7、B将数字签名通过A的公钥解密。得到数据指纹

    8、比较两种数据指纹是否一致

    9、如果不一致,就说明中间有人修改过

    存在的问题: B的对称密钥可能被修改过。且B要相信A的非对称密钥是真的

    注意:

    数字签名则完全相反,是通过发送方的私钥进行数据签名的,经签名的数据到达接收方后也是通过事先告知接收方的发送方的公钥进行解密,整个数据签名和解密的过程用的都是发送方的密钥。

    3.3 证书颁发机构 CA

    image-20210110161038029

    A的公钥和私钥是由CA机构认证并授予的。

    证书颁发机构作用:为企业和用户颁发数字证书,确认这些企业和个人的身份

    发布证书吊销列表

    企业和个人信任证书颁发机构


    如果本篇博客有任何错误和建议,欢迎大佬们批评指正

    我是知逆,我们下期见

    Peace

  • 相关阅读:
    关于json解析和所需jar
    Solr初步使用
    Appium-desktop使用时的一些配置
    mac电脑安装和配置tomcat步骤
    maven-reportng插件依赖添加
    maven-surefire插件配置
    mac电脑的一些操作
    元素的多种延时等待(&页面的超时处理)
    Mac系统搭建java+selenium+testng环境
    爬虫简介与request模块
  • 原文地址:https://www.cnblogs.com/mercurytan/p/14258630.html
Copyright © 2011-2022 走看看