项目场景:
首先让我们解压一下提供的cryp300.zip文件,然后解压出来的Cry300文件是另一个ZIP归档文件,接着压缩存档数据,得到解压的task.txt文件显示: 一张图片。BMP文件实际上不是有效的图像文件,因为它是加密的。它的前几个字节很有趣:加salt __前缀表示此文件OpenSSL加密的OpenSSL解码。紧接着8个字节(Ab31b5e5ca 3db94d)是用于加密文件的salt 。文件的其余部分是加密数据。
原因分析:
因为标题和任务描述中有一些提示:ECB-ECB加密对于图像来说是出了名的不好,因为相同的明文块产生相同的密文。4K分辨率-这告诉我们图像要么是3840×2160像素,要么是4096×2160像素。黑白-我们很可能会看到很多只有白色的积木。
所以,考虑到这一点,让我们来看看十六进制转储:
Bash$xxd ecb.bmp|head-n 13 0000000:5361 6c74 6564 5f5f ab31 b5e5
ca3d b94d Salted__1...=.m 0000010:f409 1aa5 df88 b72c 0ebd 8a73
9815 ba69.,...s...i 0000020:a224 3e09 94cb 791e ea1 ad33 c817
6663.$>...y