CTF 2 Cipher.enc

题目

You are working for a spy agency. Your got a USB thumb drive with a written label:

10107E0AE50ECB0000010107E0C0FFEE

There is only one file cipher.enc inside the USB.


一、分析

首先查看文件内容,cat cipher.enc
在这里插入图片描述
发现乱码不能正常显示,尝试使用二进制

with open('cipher.enc','rb') as file:
    text = file.read()
print(text)

在这里插入图片描述
由于给定字符串"10107E0AE50ECB0000010107E0C0FFEE"是32位长度的十六进制数,转换为二进制后是128位长度,因为AES密钥通常是128位、192位或256位,首先尝试AES解密

二、解密

由于此处并未给出IV/Counter等信息,先尝试使用ECB

from Crypto.Cipher import AES
import binascii

with open('cipher.enc','rb') as file:
    text = file.read()
print(text)

label = '10107E0AE50ECB0000010107E0C0FFEE'
key = binascii.unhexlify(label)

cipher = AES.new(key, AES.MODE_ECB)
try:
    decrypted_text = cipher.decrypt(text)
except ValueError as e:
    decrypted_text = f"Decryption error: {str(e)}"

print(decrypted_text)

在这里插入图片描述

得到FLAG
在这里插入图片描述


  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值