最近迷上了密码学,恰逢自己pc上有个密码学的游戏,就拿来练练手了。
第一部分是隐写术,下图为介绍,有兴趣的可以看看
第一题
显而易见,如果首字母组合起来就能够得到SPYSUSPECTED,解出
第二题
可以发现在单词之中有错误,比如whille I pondered中的whille多了一个l,所以进行归纳发现得到了LENORE(刚开始其实解出来了,但是觉得这个词好像不存在......,所以就想把这几个单词拆开组合一下,还是没得出结果,其实这是个人名)。
第三题
这道题....在远处一看没什么问题,字母也没少,顺序也对,也没个大小写什么的,刚开始看了很头疼,因为没有头绪。然而走进一看.....能看到很淡的字母。早期的人们会应用某种化学反应来避免别人看到信件的真实内容。
第四题
明显发现too,one,for,free几个单词是斜体,而且too和two的发音一样,for和for一样,所以猜测可能转换为数字,而free就有可能对应three,所以猜测数字为2143,解出。
第五题
这道题也是远看没什么问题,近处发现右下角有一小行字(古时候人真的喜欢搞这个套路)
第六题
有三个时间,尝试画一个钟,把时间表在上面,最终发现,什么用都没有(此方案over)。把各个数字加起来?并没有用。emmmmm,因为是英文的,所以考虑是否数字对应字母如果03对应字母d,依次类推,得出来一个什么都不是的东西。那么03若对应字母c,而最终能够得到chrono,看着像个样子,确实这个就是正确答案。
第七题
有20个图形,共三种类型,而入口处有提示摩斯密码,而摩斯密码也为三种,考虑其中对应关系,右上角缺角的为圈,左下角缺的为杠,什么都不缺的为空格。摩斯密码如下图
最终得到对应的SAMUEL(都是没见过的船新的单词...)
第八题
可以看到字母有大的和小的之分,考虑将大小分开组合,然而并没有什么用。那么大字母和小字母为两种表示,可以用01二进制进行表示,且入口有提供二进制转换表分别考虑大小字母为二进制,而此题有五个单词,所以可能需要分成五份。对二进制数进行分割,首先根据字母的多少进行分割,得出一串数字,而这么长串的二进制数想必不是答案,所以考虑转换为10进制数,发现也不对。而且为其他进制数的可能性想必也很低。那么不是数字就不可能是字母吗,所以将对应的二进制数按每个单词对应的字母数量,对二进制数进行分割,得到的结果也是不对(自闭中......)。
想起一件事,字母共有26个,而用二进制数表示需要5位(其实信息论里面有讲信息的表示)。所以其实每个单词应该用五位二进制数来表示,而将00000表示为A,最终得到BACON为正确的结果。
总结:
虽然这些题目和ctf中的隐写术方面的题不能相比,但是也算是一种思维的发散吧(毕竟ctf的脑洞也不小)。