nullcon_ctf_2023_crypto_补题

  1. twin

e非互素RSA共模,已解

  1. breaking_news

其实就是解出d,p,q,构造私钥解出。当时其实都解出来了,但是拿错密文,于是GG,属实是极其逆天。

  1. bmpass

AES-ECB加密,故每16字节使用相同的密钥进行加密。详细可见:

(22条消息) 由浅入深AES-ECB模式加密、解密_aes ecb_SuperForming的博客-CSDN博客

由浅入深了解AES ECB模式加密和明文主动攻击 - FreeBuf网络安全行业门户

bmp的文件头为54字节,故进行数据读取的时候要注意去掉前54.

bmp文件也可参考:(22条消息) bmp前54个字节_用python读取bmp图片_weixin_39721953的博客-CSDN博客

(22条消息) BMP图像结构及其大小计算_bmp图片大小计算_tech_ant的博客-CSDN博客

可根据bmp参考链接1构造满足前54字节的flag,宽度应当是随便选取了一个常用值1280.

RGB数据大小为height*width*3,这应当是考虑到每个像素字节数是3,因为选择了24位颜色位数。压缩方式选择0.

BMP中文件头信息块所需字节数固定为2800 00000

headersize是从文件开始到实际位图数据之间的字节偏移量,于是是pack 54(文件头14字节+下面的位图信息头40字节+此例彩色板16字节,去掉了彩色版?)

filesize是文件大小,固定去掉16字节?也就是从BMP文件头信息块所需字节数的数据的后半段开始算?

由于目标文件是.enc,文件头被更改,所以以上的操作是为了构建新的文件头,从而能够写入新的bmp文件中.

接着是为了解AES-ECB.

counter与count.most_commom()函数可见:(22条消息) collections中Counter的使用,most_common()使用_LiChuanxiu的博客-CSDN博客

(22条消息) Python collections.Counter()用法_pvop的博客-CSDN博客

pattern是generator类,有点像是一边循环一边计算.

replace函数将data中出现次数最多的数据(选取前100个即可)更换成n个'\xff',n即为这些数据的长度。经实验,步长为8为16都差不多。注意函数的返回套了个括号,即为元组。

  1. collector

涉及sha256加密。

泻药,纯纯懵逼

  1. noble collector

应当可以得到e,n,p,q,d

然后llong_to_bytes,再decode,得到msg字符串,应当可以去掉前面明显是name的字符串得到答案?没做到,不清楚nc后会是什么样。

  1. learn from your errors

side channel attack 搞不来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值