跳转至

CTF中的密码学

现代密码学前置知识

常用工具

通用工具

CyberChef

Hashcat

John the Ripper

sage

代数运算、因数分解、椭圆曲线计算

算力一般低于在线网站 factordb

python

最常用的工具,也最具有普适性

常用函数库:

  • math:基本数学运算。
  • randomsecrets:随机数生成。
  • hashlib:计算散列值。
  • pycryptodome:实现对称加密和非对称加密算法。
  • gmpy2
yafu

基于python的工具,常用来在整数域内进行

chatgpt

用于辅助作用,而非直接参与密码学核心计算

编码与转换

Base64

URL编码

Hex编码

相关工具

随机数与伪随机数

随机数生成原理与伪随机数预测

对称加密

使用相同密钥进行加密和解密

优点:高效快速,适合处理大数据

缺点:密钥管理困难

AES(高级加密标准)

加密模式:ECB、CBC、CFB、OFB、GCM

分组长度固定为128位,密钥长度为128、192、256位

DES(数据加密标准)

分组长度为64位,密钥长度为56位

安全性不足,易受暴力破解,常用于历史遗留系统

3DES(三重数据加密标准)

使用三个不同的DES密钥,提高安全性;但性能较差

Blowfish

分组长度为64位,密钥长度1-448位,速度快且灵活

常用于密码保护工具。

非对称加密

一对密钥,公钥加密,私钥解密。

优点:密钥分发简单

缺点:计算效率较低

算法

RSA(Rivest–Shamir–Adleman)

基于的数学困难问题:基于大整数因数分解的困难性

ECC(椭圆曲线密码学)

基于的数学困难问题:椭圆曲线离散对数问题(ECDLP)

ElGamal

由DH(Diffie-Hellman密钥交换)产生的加密算法

常见攻击

RSA-直接分解
RSA-低密度指数攻击
RSA-维纳攻击

散列密码

前置知识

抗碰撞安全性和不可逆安全性

具体算法

MD5

SHA系列

碰撞与破解

生日攻击、彩虹表

工具与脚本实现

后量子密码学

背景:量子计算对传统加密算法的威胁

基于格的密码学(如NTRU、LWE)

哈希签名方案

代码密码学

    • 常用解密工具(如CyberChef、Hashcat、John the Ripper等)
  1. 编写自己的脚本(Python与常用密码库)
  2. 自动化脚本化破解方法
  3. 案例分析
  4. 国内外经典CTF比赛的密码学题目解析
  5. 解题流程与思维分享