0x11 密码学
1. 密码学概览
- 加密方式的种类
- 对称加密: 加密密钥和解密密钥相同
- 非对称加密: 解密密钥和解密密钥不同
2. 对称加密
- 历史上的对称加密方式
- 凯撒加密:对数据进行简单的移位,枚举破解
- 简单置换密码:对数据进行无规律的替换,可以使用字母频率分析法分析
- 维吉尼亚密码:通过x/y的形式在码表上进行数据的替换,无法使用字母频率分析法
- 目前常见的对称加密方式
- AES: 高级加密标准,目前的主流加密方式
- DES: 数据加密标准,基本不用了
- 3DES:根据密钥的不同,可能会产生 DES-EDE2、DES-EDE3 和 DES
- BASE64: 编码方式,产生的结果可能是 Sdas48f64UI== 的形式
3. 非对称加密
- 非对称加密的应用场景
- https: 超文本传输安全协议,保障数据传输的安全性
- 数字签名:分别使用公钥和私钥进行签名和验证
- 数字证书:互联网通讯中标志通讯各方身份信息的一串数字,原理同上
- 常见的非对称加密方式
- RSA: 基于大整数分解的数学难题
4. 消息摘要算法
- 消息摘要算法的特征
- 消息摘要算法通常用于验证数据的完整性,目标数据即使有一个二进制的改动也会影响结果。
- 不论需要计算的数据有多大,最终生成HASH值的长度都是固定且不可逆的。
- 常见的消息摘要算法:
- SHA1: 安全散列算法1,长度160bit
- MD5: 消息摘要算法5,长度128bit
- CRC32: 循环冗余校验,长度32bit
- SHA256: 长度为256bit的 安全散列算法2
- 常见的用途:
- 验证数据的完整性
- 校验文件是否被修改
- 数字证书签名,保护传输过程中的数据