现代密码学
现代密码学
现代密码学不再只是把字母换来换去——它是保证互联网、通信与数据存储安全的工程学:算法、协议、实现和部署的集合。本章从实用与实现的角度出发,带你理解对称加密、哈希、消息认证、公钥密码、密钥派生与常见协议(如 TLS / JWT),并重点讲清楚“为什么会出错”以及“如何用 C/Go 实现并在二进制/汇编层面验证”
声明:请多方验证
请注意:本文为个人/教学性整理,虽已力求准确,但并不代表权威或生产环境的完整规范。读者在将本文内容用于生产、学术或安全关键场景前,应查阅 RFC、主流加密库实现与权威资料并自行验证。欢迎联系作者指出问题与改进建议
目标读者: 已经完成古典密码学练习,并希望把重点放在实现,逆向与漏洞识别的读者
1. 对称加密(Symmetric Ciphers)
- S-DES -> 已经完成
- 3DES -> 这个不是很想写了(因为学过DES和AES了)
- AES-ECB -> 已经完成
- AES-CBC -> 已经完成
- AES-CTR -> 已经完成
- AES-GCM -> 已经完成
- ChaCha20 -> 已经完成
- ChaCha20-Poly1305(AEAD) -> 已经完成
- RC4(已不安全) -> 已经完成
- SM4(国密) -> 已经完成
- Salsa20
- TEA -> 已经完成
2. 非对称加密(Public-Key / Asymmetric)
- RSA(加密/签名) -> 已经完成
- ElGamal -> 已经完成
- Diffie–Hellman(DH) -> 已经完成
- ECC 通用(椭圆曲线密码) -> 已经完成
- ECDH(密钥交换) -> 已经完成
- ECDSA(签名) -> 已经完成
- Ed25519(签名) -> 已经完成
- X25519(密钥交换) -> 已经完成
- SM2(国密) -> 已经完成
3. 哈希函数(Hash Functions)
- MD5(不安全,了解即可)
- SHA-1(不安全) -> 已经完成
- SHA-256 -> 已经完成
- SHA-512 -> 已经完成
- SHA-3(Keccak)
- BLAKE2
- SM3(国密)
4. 消息认证码 MAC
- HMAC
- CMAC(AES)
5. 密钥派生函数 KDF
- PBKDF2
- HKDF