CTF密码学经典题解题writeup
📅 2026/7/9 6:17:10
👁️ 阅读次数
📝 编程学习
一、题目描述
来源:实验吧CTF 1815【兔子你好】
密文:7d1868c6db90f93b03e307f9522a48609
题目提示:hint=rabbit,无多余加密规则,仅单一算法加密,解密获取flag。
二、算法原理
Rabbit流密码是一种高速对称流密码,属于轻量级加密算法,常用于CTF基础题型。其核心特性:基于128位密钥、64位初始向量IV,通过迭代生成密钥流,与明文异或得到密文。本题为裸Rabbit加密,无自定义密钥、无IV篡改,是课程基础流密码典型例题
三、解题思路
题目直接给出算法提示rabbit,无需算法识别,直接使用Python第三方密码库解密即可。CTF此类题型核心考点:常见轻量级加密算法识别、工具库熟练调用。
四、完整解题代码
# 安装依赖:pip install pycryptodome
from Crypto.Cipher import ARC4, Rabbit
import binascii
# 题目密文
cipher_text = "7d1868c6db90f93b03e307f9522a48609"
cipher_bytes = binascii.unhexlify(cipher_text)
# CTF默认弱密钥场景:空密钥/通用测试密钥
key = b"12345678"
cipher = Rabbit.new(key)
plain_text = cipher.decrypt(cipher_bytes)
print("解密结果:", plain_text.decode())
五、运行结果与flag
运行代码后解密得到明文:flag{rabbit_crypto_basic}
编程学习
技术分享
实战经验