• 加密算法


    进位&存储单位

    一种计数的方法

    • 用有限的数字符号来表示无限的数值,例如阿拉伯数字的10进制(0-9)

    • 可使用的计数符号的数目决定了进位制,简称进制

      • 2进制(0,1),计算机机器语言唯一能明白的
      • 16进制(0-9,A,B,C,D,E,F),每一个16进制的字符代表4个人二进值组合的数字
    • 进制间的关系

      • 10进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
      • 2进制: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000
      • 16进制:0 1 2 3 4 5 6 7 8 9 A B C E F
    • 计算机为什么不使用10进制而用2进制?
      为了稳定性!

    计量术语

    • 位(bit)比特-- 最小的数据单位
    • 字节(Byte)--8个bit组成,存储空间最小的单位
    • k-kilo 表示千。1024 (2^10次方)
      ...

    加密

    Gnome-mime-text-x-copying.svg

    对称加密

    • 用相同密钥对原文进行加密和解密
    • 加密过程: 密钥 + 原文 => 密文
    • 解密过程: 密文 - 密钥 => 原文
    • 缺点: 无法确保密钥被安全传递

    非对称加密

    公钥&私钥

    • 公钥用于加密,私钥用于解密
    • 公钥由私钥生成,私钥可以推导出公钥
    • 从公钥无法推导出私钥
    • 优点:解决了私钥传输中的安全性问题
    • Q: 解决了信息传递的问题,如何验证是"确实是发送方发送的, 信件没有被篡改"?
      • 通过数字签名

    哈希- Hash

    • 将一段数据(任意长度)经过一道计算,转换为一段定长的数据

    • 不可逆性 - 几乎无法通过hash的结果推导出原文,即无法通过x的Hash值,而推导出x

      • 无法通过人的指纹瑞到处他是谁
    • 无碰撞性, 几乎没有可能找到一个y, 使得y的HASH值等于的hash值

      • 几乎没有两个人的指纹是一样的
    • 使用场景:

      • 校验文件的完整性
      • 服务器中使用hash存储用户名的密码
      • 数字签名

    数字签名 - Digital Signature

    目的 : 为了证明发送人是想要接收信息的人

    一套数字签名通常定义两种互补的运算:

    • 一个用于签名(signature)
    • 另一个用于验证(verifily)

    流程:

    • 发送方Tony: 发送消息原文"hello kitty"---T

      • a. 用接收方公钥(公开) 对原文进行加密成密文 A;

      • b. 用 哈希算法对原文哈希,生产原文的摘要 B

      • c. 使用发送方私钥原文摘要B签名得到消息 C

      • d. 发送方将密文A级签名消息C发送给接收方

      • Q1 使用私钥签名,用公钥解密获得原文,这就是问什么原文不能直接使用私钥签名,防止发送的原文信息泄露。

    • 接收方:

      • a. 接收方收到发送方发送的密文A及签名消息C
      • b. 接收方使用自己的私钥解密,获得原文T
      • c. 接收方将原文T进行哈希算法,生成哈希摘要B'
      • d. 用发送方的公钥对签名信息C进行解密获得摘要信息B
      • e. 比较哈希摘要B'与B是否一致,如果一致说明此消息是Tony发送
    • 图解

  • 相关阅读:
    Requests将verify设置为False后取消警告的方式
    pandas处理Excel数据的应用
    移除Selenium中的 window.navigator.webdriver
    python中math模块常用的方法整理
    Numpy、pandas、Matplotlib
    osgEarth
    Nginx 代理本地文件夹(Windows环境)
    windows下nginx的安装及使用
    OSG入坑之路[转]
    ubuntu16.04下NVIDIA GTX965M显卡驱动PPA安装
  • 原文地址:https://www.cnblogs.com/failymao/p/9788753.html
Copyright © 2020-2023  润新知