CTF密码学经典题解题writeup

📅 2026/7/9 6:17:10 👁️ 阅读次数 📝 编程学习
CTF密码学经典题解题writeup

一、题目描述

来源:实验吧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}