• 对称性和非非对称性加密


    加密分为两种方式一种是对称加密,一种是非对称加密。

    在对称加密算法中,加密和解密使用的密钥是相同的。也就是说,加密和解密使用的是同一个密钥。因此,对称加密算法要保证安全性的话,密钥要做好保密。只能让使用的人知道,不能对外公开。

    在非对称加密算法中,加密使用的密钥和解密使用的密钥是不相同的。一把是作为公开的公钥,另一把是作为谁都不能给的私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。

    交互场景下多用对称性加密。

    数字证书

    如何将不对称加密的公钥给对方呢?一种是放在一个公网的地址上,让用户自己去下载,另一种是在建立链接的时候,发送给对方。

    如何鉴别这个公钥是正确的?而不是冒充的?这个时候需要权威部门介入,这个权威部门颁发的称为证书Certifcate,证书的内容包括:公钥,证书颁发机构,颁发给谁,签名算法以及使用期限。证书的生成需要发起一个请求(通过发送私钥,生成前面的红字内容),这个请求发到一个权威认证机构certifcate Authority, CA,权威机构卡一个章(一个签名算法,为一个hash算法),然后生成证书。 

    流程如下:从这个CA颁布的证书里拿到公钥,去解密某个网站的证书签名,如果解密成功,如果解密成功,hash也对的上,表示网站是正确的。

    如何确保是真正的权威机构而非伪造的?

    CA 的公钥也需要更牛的 CA 给它签名,然后形成 CA 的证书,依次追溯到rootCA。

    HTTPS 的工作模式

    非对称性加密在性能上不如对称性加密。实际中,公钥私钥主要用于传输对称性加密的密钥,而真正双方大数据量通信都是通过对称性加密进行的。

  • 相关阅读:
    汇编语言--栈
    汇编语言--debug
    汇编语言--指令
    汇编语言--寄存器
    汇编语言--基本概念(来自王爽老师课程)
    python--IO模块(系统整理)(持续更新)
    python--python在传递参数时实际做了什么?(持续更)
    python--函数之python执行def和import时做了什么
    sql--常用命令(学习笔记,持续更新)
    sql-什么是sql脚本
  • 原文地址:https://www.cnblogs.com/wfq9330/p/9402764.html
Copyright © 2020-2023  润新知