WeChall - Pimitive Encryption (Crypto, Logic)
Challenge
题名 "Pimitive Encryption" 是 "Pi" + "Primitive" 的谐音。一个用 One-Time Pad XOR 加密的文件,提示 key 是 "logical" 的。
加密文件 116921 字节,URL 上直接下载 pimitive.zip。
Solution
Step 1: 确认 key = π 的十进制字符串
已知加密文件应为 ZIP(magic PK\x03\x04)。前 4 字节
XOR:
1 | CIPHER: 63 DF 65 CF |
key 是圆周率 π 的十进制展开字符串
"3.1415926535...",一次性 XOR 整个文件(不循环重复)。
Step 2: 生成 116921 位 π
方法 A(推荐):用 pi.delivery API 分块拉取
1 | import requests |
方法 B:Chudnovsky 算法 + Python decimal 高精度
1 | from decimal import Decimal, getcontext |
Step 3: XOR 解密
1 | key = pi_str.encode()[:len(enc)] |
Step 4: 解压提取 BMP
1280×384 的 BMP 图片,内容为 "OneTimePad" 字样下方一行字。Tesseract OCR 或肉眼辨认:
1 | Actually the password is: Botterbloom |