Crypto Lab · 密码学实验室
一套从零开始的密码学动手练习,用 Python 跑通每一个核心概念。
为什么做这个项目
密码学是互联网安全的基石,但入门时往往被数学公式吓退。这个实验室采用"先写代码,再补理论"的方式, 让你通过运行真实可执行的脚本来理解:加密到底在解决什么问题,以及现代系统是怎么保护数据的。
学习路线
- 古典密码:凯撒密码、频率分析,理解"为什么简单替换不安全"
- 对称加密:AES-256-GCM,同时保证机密性和完整性
- 哈希与认证:SHA-256、HMAC、Argon2id 密码存储
- 非对称加密:RSA 加密/签名,公钥与私钥的分工
- 真实世界协议:检查 HTTPS 证书的 TLS 信息
- 进阶主题:Diffie-Hellman、ECDSA、Fernet、JWT
快速开始
git clone https://github.com/vajhXajhcv/crypto-lab.git cd crypto-lab python -m venv venv .\venv\Scripts\activate pip install -r requirements.txt pytest -v
项目特色
- 每个概念都有可独立运行的 Python 脚本
- 每个模块配有练习题和参考答案思路
- 包含 pytest 单元测试,CI 自动验证
- 支持 VS Code、虚拟环境和 Docker
安全声明
本仓库仅用于学习密码学原理,代码示例不应直接用于生产环境加密真实敏感数据。 实际生产请使用经过审计的库和最佳实践。