0x11 密码学

1. 密码学概览


  • 加密方式的种类
    • 对称加密: 加密密钥和解密密钥相同
    • 非对称加密: 解密密钥和解密密钥不同

2. 对称加密


  • 历史上的对称加密方式
    • 凯撒加密:对数据进行简单的移位,枚举破解
    • 简单置换密码:对数据进行无规律的替换,可以使用字母频率分析法分析
    • 维吉尼亚密码:通过x/y的形式在码表上进行数据的替换,无法使用字母频率分析法
  • 目前常见的对称加密方式
      1. AES: 高级加密标准,目前的主流加密方式
      1. DES: 数据加密标准,基本不用了
      1. 3DES:根据密钥的不同,可能会产生 DES-EDE2、DES-EDE3 和 DES
      1. BASE64: 编码方式,产生的结果可能是 Sdas48f64UI== 的形式

3. 非对称加密


  • 非对称加密的应用场景
    • https: 超文本传输安全协议,保障数据传输的安全性
    • 数字签名:分别使用公钥和私钥进行签名和验证
    • 数字证书:互联网通讯中标志通讯各方身份信息的一串数字,原理同上
  • 常见的非对称加密方式
    • RSA: 基于大整数分解的数学难题

4. 消息摘要算法


  • 消息摘要算法的特征
    • 消息摘要算法通常用于验证数据的完整性,目标数据即使有一个二进制的改动也会影响结果。
    • 不论需要计算的数据有多大,最终生成HASH值的长度都是固定且不可逆的。
  • 常见的消息摘要算法:
    1. SHA1: 安全散列算法1,长度160bit
    2. MD5: 消息摘要算法5,长度128bit
    3. CRC32: 循环冗余校验,长度32bit
    4. SHA256: 长度为256bit的 安全散列算法2
  • 常见的用途:
    • 验证数据的完整性
    • 校验文件是否被修改
    • 数字证书签名,保护传输过程中的数据