zoukankan      html  css  js  c++  java
  • 那你就是不对称加密了

    图片如果损坏,点击链接:https://www.toutiao.com/i6499665073877811725/

    上一部分,介绍了我理解的对称加密,其中说到所谓的对称和不对称就是:接收方和发送方是否用同样的"钥匙"加解密。

    对称加密:双方的加解密工具(算法)一样

    不对称加密:双方的加解密工具(算法)不一样

    这里需要弄清楚两个概念:公钥和私钥

    公钥是给别人用的,私钥就是自己的,别人看不到。

    但是这都是针对个人说的,就是说,一个人或者一个单位同时具有公钥和私钥。

    那么"博爱"接收"新星"的过程变成这样

    因为"公钥"可以被别人看到,那么不怕在传输过程丢失了,反正能解开这个"公钥"的只有"博爱"的私钥。

    但这个过程"博爱"只关心了"箱子"的安全和完整,没有关系数据的认证,我们之前说过,加解密应该保证数据认证、完整和安全。这个时候,"博爱"如何知道发过来的是"新星"呢?

    因为"新星"的私钥没有人知道,所以用"新星"私钥加密的信封只有"新星"的公钥,只要解开了信封就完成了数据认证,箱子用来保证数据安全和完整。

    私钥和公钥为了保证安全,这个算法往往很复杂,在加解密过程中就会慢。

    上一部分我们说针对这种情况,将两者结合起来,吸取所长。

    我们举个例子,如何得到对称密钥:还使用"博爱"和"新星",这是互联网上两个公司,操作人员通过"博爱"网站访问"新星"网站,

    (1)"博爱"网站首先生成一个随机数作为对称加密的密钥。

    (2)"博爱"网站向"新星"请求一个公钥

    (3)"新星"将公钥发送给"博爱"

    (4)"博爱"用"新星"的公钥加密自己的"对称密钥"。发送回"新星"

    (5)"新星"得到传输的内容后,用自己的私钥解密,得到"博爱"的对称密钥

  • 相关阅读:
    [转]OC与JS的交互详解
    [iOS]数据库第三方框架FMDB详细讲解
    iOS开发-NSOperation与GCD区别
    iOS开发:深入理解GCD 第一篇
    iOS开发之集成ijkplayer视频直播
    iOS--KVO的实现原理与具体应用
    JAVA中Colllection的基本功能
    JAVA中的数组对象
    结对编程《四则运算》
    关于结对编程
  • 原文地址:https://www.cnblogs.com/bqwzy/p/8297808.html
Copyright © 2011-2022 走看看