价值1400万的比特币猜谜游戏刚火了几天,大奖就被一位高手全部取走,310 BTC的破解过程现在还没有公开,但已经有黑客公布了第二关的解法视频,过程相当复杂,我准备用几篇文章,慢慢解开这些神秘的内容,可以当作一次完美的密码学教程。
再来回顾一下那张图片:
原始图片是PNG格式,PNG格式图片中可以保存透明色,也就是带有alpha图层,用一款有名的黑客工具可以查看到这些信息,它就是stegsolve。
下载地址:
http://www.caesum.com/handbook/Stegsolve.jar
这款工具需要在JAVA环境中运行,请自行安装JRE环境,运行之后,打开原始图片,翻看图层信息,可以在alpha plane 1里发现一个二维码,这就是图片隐写术中的一种常用方法。
用微信扫一下,这个二维码是一个网站地址:
https://bitcoinchallenge.codes/register-310/
如果你破解了这个谜题,可以在这个网页上登记你的信息。登记信息时需要用SHA256来证明你确实破解了该难题。
另外值得注意的是在二维码的上方有一条虚线,这里看上去隐藏着重要的信息。310 BTC谜题,看上去这一条处于第310行,试着写一段C#程序,可以读出这个图片中第310行的alpha颜色信息。
可以看到,颜色主要由254和253两个值构成。
只取这个数字的最低一位的二进制数字,可以得到一长串二进制数字,这个字符串末尾有许多的1,舍弃不要。
把二进制转换为十六进制的整数,再转换成ASCII码。源程序:
运行结果:
如果你熟悉各种编码,从最后的==符号中应该可以猜出这是base64编码。
U2FsdGVkX19Q3I//VCH0U3c
VtITZ3ckILJnUcdPX3Gs5qjdF
1UjZ3mAftGivtFYDN5ZCSkB
ynnVqBawl4p8wKO0O8zI6D0
A1 VEVCUyEvEeNoUfGcS0
El9d93vsPxbg7D5avufQsScg
sk3QEtq9/M4Do32OKFeq00/
3NrxWOsMmh3AXmDzuuZ0
qmZaI7re16FcXIrmPPiQDO
HRc7wt0ng6qLiNz7VqESR
TdxPOahKFRkWT8sT Ur2y
2iZ2LEaxNM7UZqcPwYg
m6FoKOVjnqdeg30R27jc6
AoFPyRZ2g8 EJMp3n/
pf94oSCLEWkc0osjH9D
qbM6DUptu3HJbAVwXQ==
随便找一个Base64的解码网站:
https://www.base64decode.org/
试着解码一下,效果不太理想,出现乱码,但从前几个字母 "Salted__"可以看出整个过程应该是正确(加密学为了增加破解的复杂,经常用到“salt盐”),只不过这个字符串加了密码保护,还需要再回到原始图片中继续寻找一串密码。
解开这串乱码的密钥来自于图片中几个散乱分布的字母和曲线,下篇文章再写。
第四期谜题仍未解开,记得在公众号回复
steganography
取走隐藏在图片中的0.001 BTC
--- END ---