跳到内容
分享网

密码学课本太抽象:Cryptopals 让你写代码破题

学习资料 Linux macOS Web Windows 1 小时前更新 浏览 7 ↓ 直达下载

对称加密、分组模式、随机数这些概念,课本讲一遍还是隔着一层。这套题把密码学拆成八个难度递进的组,每组若干道编程题,答案要靠自己写代码算出来,做完对「为什么不能自己发明加密方案」会有非常直观的认识。

它解决什么问题

密码学概念背得出定义,却说不清哪里用得不对会出问题。

想动手实现又找不到难度合适的练习题,教材习题又太偏数学。

核心能力

能力 具体能做到什么
八组递进 从编码转换一路延伸到更复杂的主题,难度逐步加深
编程题形式 每道题都要求写代码求出结果,不能靠选择题蒙过去
语言不限 用什么语言实现都可以,题目只看结果是否正确
自带校验 求出答案后可以对照说明判断对错,不必求助他人
侧重原理 关注的是方案为什么可行或不可行,而不是工具参数
免费开放 挑战长期公开,不需要付费或注册
Cryptopals — 密码学编程挑战(免费学习资源)
Cryptopals · 密码学编程挑战

自己写出来才算数,别只看别人的解

这套题的价值在于「必须自己写」:很多题目的思路一说就懂,真正动手才会遇到补齐数据、处理边界、判断结果对不对这些麻烦,而这些麻烦正是理解方案的入口。题目全部在本地环境完成,不需要也没必要连接任何外部目标——这类练习本身就不会碰到别人的系统,保持在这个范围内是最省心的做法。

建议按组顺序推进,前一两组看着简单,其实是后面所有题的基础,跳过去容易在后面反复卡壳。卡住时先回头检查数据长度、字节序这类细节,比直接搜答案收获大得多。说明与题目描述以英文写成,术语不熟可以边查边做;写出正确结果之后,值得再想一遍这套方案在什么条件下会失效。

同类工具怎么选

工具 授权 差别在哪
OverTheWire 官方免费资源 偏系统与命令行的综合闯关,不专注密码学
PortSwigger Academy 官方免费资源 聚焦 Web 层风险,配有可交互的在线靶场
picoCTF 官方免费资源 综合型练习题库,密码方向题目难度跨度更大

谁适合用

  • 有编程基础、想真正弄懂密码学的开发者
  • 在准备安全方向学习、需要补底层知识的在校生
  • 对加密方案感兴趣、想动手实现一遍的技术爱好者

怎么开始

  1. 打开 cryptopals.com,先看题目分成哪几个组。
  2. 从第一组第一题开始,在自己的编辑器里写代码求解。
  3. 拿到结果后对照题目说明判断是否正确。
  4. 把这一题用到的思路记进笔记,再进下一题。
  5. 完成一整组后回头重做一遍最卡的那几题,确认已掌握。

常见问题

要用特定语言吗?
不限,任何能处理字节数据的语言都行,选自己顺手的即可。

需要数学很好吗?
前几组只需要基本的字节操作,越往后涉及的理论越多,可以边做边补。

有官方答案吗?
题目说明里会给出判断结果的方法,完整解法需要自己写出来。

适合零基础吗?
需要会写代码、理解字节与字符串的区别,完全没编程基础建议先补这一块。

授权与合规

题目与说明长期公开发布,全部挑战免费,不设注册门槛也不涉及付费内容。 官网:cryptopals.com

继续找同类资源

这条属于「学习资料」栏目,同栏目还有更多可直接使用的免费资源,可以在 学习资料全部资源 里按需翻阅。

相关资源

同栏目下这几条也常被一起翻到:

资源信息
界面语言 英文
授权方式 官方免费资源
适用平台 Linux / macOS / Web / Windows
获取方式 直链下载
资源更新 2026-09-20
页面更新 2026-09-20

获取资源

点击按钮直接前往资源页面。