Crypton 是一个教育库,用于学习和实践进攻与防御密码学。它本质上是一个集合,包含了各种加密系统(对称和非对称)、数字签名、消息认证码和认证加密系统中现有漏洞和攻击的解释与实现。每种攻击还附带了来自“夺旗”(CTF)竞赛的示例挑战及其相应解析。已经熟悉该领域(或参与 CTF)的个人可以将 Crypton 作为工具,基于特定现有漏洞解决挑战。
该库将持续更新攻击解释和 CTF 挑战!如有任何建议,请随时给我发邮件。
我撰写了一篇关于该库开发时间线的博客文章:https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
警告:作者不保证代码的安全性。该库仅用于教育目的,代码不应在实际环境中使用。库中所有示例脚本均为简单实现。
本 README 包含不同部分:
帮助 CTF 参与者和对密码学领域感兴趣的个体提供一个学习密码学攻击的平台,并为有经验的 CTF 参与者提供系统化的挑战练习,这些挑战按与密码学不同子领域相关的攻击进行划分。同时,通过各种攻击解释说明协议的适当实现至关重要。

| 序号 | 主题 | 解释 | 实现/利用 | 挑战# |
|---|---|---|---|---|
| 1 | 分组密码基础- 分组密码的工作原理,填充等。 |
|
|
|
| 2 | 加密模式- 分组密码的不同操作模式:ECB、CBC、CTR |
|
|
|
| 3 | 分组大小检测- 检测远程服务上加密数据的分组密码的分组大小 |
|
|
|
| 4 | 模式检测- 检测加密模式类型:独立或相关加密块 |
|
|
|
| 5 | ECB 逐字节攻击- 对远程服务上以 ECB 模式加密 输入+秘密 的 secret 字符串进行逐字节解密 |
|
|
|
| 6 | CBC IV 检测- 检测使用 CBC 模式分组密码加密我们输入的远程服务上初始化向量的值 |
|
|
|
| 7 | CBC 比特翻转攻击- 当 cookie 使用 CBC 模式分组密码生成时,利用 cookie 生成机制以管理员身份登录 |
|
|
|
| 8 | CBC 逐字节攻击- 对远程服务上以 ECB 模式加密 输入+秘密 的 secret 字符串进行逐字节解密 |
|
|
|
| 9 | CBC 填充预言机攻击- 解密由提供加密/解密功能的脆弱服务加密的数据 |
|
|
|
| 10 | CTR 比特翻转- 当 cookie 使用 CBC 模式分组密码生成时,利用 cookie 生成机制以管理员身份登录 |
|
|
|