应用密码学
- 层级
- 本科生
- 状态
- 建设中
提示:本课程仍在持续设计和校准中,页面内容仅供参考,不代表最终教学版本。
教学大纲
课程概览
应用密码学课程关注密码机制如何被正确选择、组合、实现和部署。课程覆盖对称加密、哈希、消息认证、公钥密码、签名、密钥交换、TLS、密码协议和常见实现错误。
这是网络协议、安全系统、可信计算和合规自动化中的密码基础。
先修要求
- 离散数学,尤其是模运算和概率基础。
- 能够编写和测试小型程序。
- 建议具备计算机网络基础。
学习目标
- 解释主流密码原语的安全目标和使用边界。
- 识别常见密码误用和协议组合错误。
- 使用标准库实现安全的数据保护流程。
- 分析 TLS、签名、密钥交换和证书链。
- 为实际系统制定密钥管理和轮换方案。
教学组织
- 每周 2 次课堂:一次讲授核心概念,一次用于实验、论文讨论或项目评审。
- 课程按 16 周推进,每周都有可检查的作业、实验或项目里程碑。
- 强调可复现材料:代码、配置、数据、实验日志和报告需要能被助教或同学复查。
周计划
第 1 周
第 2 周
威胁模型和密码工程原则实验与评审
分析一个真实密码事故。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 3 周
第 4 周
哈希、MAC 和认证加密实验与评审
实现安全消息封装并测试篡改。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 5 周
第 6 周
随机数、密钥派生和密码存储实验与评审
评估口令哈希和参数选择。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 7 周
第 8 周
公钥密码和数字签名实验与评审
实现签名验证和错误处理。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 9 周
第 10 周
密钥交换和 TLS实验与评审
抓包分析 TLS 握手和证书链。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 11 周
第 12 周
协议组合和形式化直觉实验与评审
评审一个认证协议的安全目标。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 13 周
第 14 周
实现攻击、侧信道和常数时间实验与评审
观察时序泄露并提出缓解方案。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 15 周
第 16 周
密钥管理和部署审计实验与评审
提交系统级密码使用审计。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
考核方式
个人作业
25%概念题、阅读题、设计题和小型编程或实验任务。
实验与项目
40%密码实现、协议分析、审计报告和测试。
课堂参与与评审
10%参与讨论、演示、代码或论文评审,以及同伴反馈。
期末报告与答辩
25%提交可复现材料、技术报告和演示,说明方法、结果、限制与后续工作。
课程项目
学生审计或构建一个小型加密应用,要求说明威胁模型、原语选择、密钥生命周期、错误处理和测试证据。
课程政策
- 允许使用 AI 工具,但所有生成代码、实验记录和设计建议必须经过学生本人审查,并在报告中说明使用方式。
- 严禁提交不能解释的代码、证明、配置或实验结果;答辩时每名成员都需要解释自己负责部分的设计、测试和取舍。
- 迟交会影响迭代评分,但课程更看重可复现、可审计和可维护的结果,而不是临时堆砌。
参考课程
国际名校
- CambridgeCryptography
- CMU15-356/15-856: Introduction to Cryptography
- ETH ZurichApplied Cryptography
- Georgia TechCS 6260: Applied Cryptography
- MIT6.875: Cryptography and Cryptanalysis
- OxfordApplied Cryptography
- PrincetonCOS 433: Cryptography
- StanfordCS 255: Introduction to Cryptography
- UC BerkeleyCS 276: Cryptography
- University of WashingtonCSEP 590: Applied Cryptography