chezhe's blog

《图解密码技术》

2022-04-05
#阅读#密码学

1. 密码技术

  • 对称密码
  • 公钥密码
  • 单向散列函数
  • 消息认证码
  • 数字签名
  • 伪随机数生成器

对称(symmetric)加密和非对称加密

对称加密:用来加密和解密的秘钥是一样的 非对称加密:用来加密和解密的秘钥是不一样的

单向散列

用来证明完整性,例如 MD5

2. 历史上的密码

将密码算法和密钥分开考虑,解决了希望重复使用,但重复使用会增加风险的难题

3. 对称密码(共享密钥密码)

算法

  • DES
  • 3DES
  • AES

4. 分组密码的模式

5. 公钥密码

特征

  • public key
  • private key 算法
  • RSA
  • ECC

密文 = 明文^E mod N 明文 = 密文^D mod N (E,N) 组成公钥 (D,N) 组成私钥

6. 混合密码系统

7. 单向散列函数

特征:消息完整性 算法:

  • SHA-3(Keccak)
  • RIPEMD-160(比特币)

8. 消息认证码(MAC)

用途:识别篡改和伪装 场景

  • SWIFT
  • IPsec
  • SSL/TLS

9. 数字签名(digital signature)

用途:识别篡改和伪装,防止否认 算法

  • RSA
    • RSA-PSS(Probabilistic Signature Scheme)
  • ECDSA
  • DSA
  • Rabin

10. 证书——为公钥加上数字签名

公钥证书(Public-Key Certificate, PKC)

11. 密钥

盐(salt)是由伪随机数生成器生成的随机数,在生成密钥(KEK)时会和口令一起被输入单向散列函数。可以用来防御字典攻击。

12. 随机数

伪随机数:通过软件实现的随机数并不是真的随机

13. PGP

14. SSL/TLS