1by1Crypto 未解决
分数:
0
金币:
0
题目作者:
未知
一 血:
harry
一血奖励:
0金币
解 决:
16
提 示:
描 述:
> It is proven that with only 3 steps, we can retrieve the flag
> I dare you to do it
评分(0)
暂无评分
解题动态

18630451800 攻破了该题 18天前

rouzongbaba 攻破了该题 2月前

rachel207 攻破了该题 2月前

19011343447 攻破了该题 3月前

nuxe 攻破了该题 3月前

lunarbyside 攻破了该题 3月前

cheyenne 攻破了该题 6月前

hurt6 攻破了该题 7月前

XmN<=GzR 攻破了该题 9月前

2661142336 攻破了该题 9月前

13998158245 攻破了该题 1年前

wangjf 攻破了该题 1年前

timerain 攻破了该题 1年前

晨曦 攻破了该题 1年前

17M114 攻破了该题 2年前

评论
lunarbyside 3月前
举报
然后每个字母、数字、下划线,花括号分别填充到16字节(AES一个明文块大小,类似于a0F0F0F...或b0F0F0F0F...)并分别与IV异或(模仿CBC加密第一个明文块,向量统一为IV),然后拼接到一起形成一个大字符串,再把字符串从字节转十六进制,用于第三步。
lunarbyside 3月前
举报
最后整个大字符串在第三步进行ECB加密,就能得到字符与密文的映射关系,此时将一开始给的encrypt flag enc查表还原为字符,每32个字符转换为一个字符,就能得到flag了。😄
lunarbyside 3月前
举报
首先,注意到encrypt_flag_enc中有大量重复字符串,判断是单个字符填充后进行ECB加密得到的(思考过程省略1000字),默认使用PKCS#7填充。因此,第一步构造两个已知明文块,产生两个密文块。第二步使用第二个密文块,解密得到错误明文块。将第二个已知明文块与第一个密文块异或,再与错误明文块异或,就得到了初始向量IV。
lunarbyside 3月前
举报
看了答案,有些懂了。在终端使用启动场景后给的命令,会返回一大串encrypt flag enc,让你三步得到flag。第一步让你输入明文,进行CBC加密,返回密文。第二步让你输入密文,进行CBC解密,返回明文。第三步让你输入明文,进行ECB加密,返回密文。