专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
目录
相关文章推荐
重庆日报  ·  查封!关停!各地多部门连夜查处3·15曝光问题 ·  20 小时前  
重庆日报  ·  查封!关停!各地多部门连夜查处3·15曝光问题 ·  20 小时前  
宝山区消保委  ·  “3·15”动态︱国补换新促销费,手机回收免 ... ·  2 天前  
宝山区消保委  ·  “3·15”动态︱国补换新促销费,手机回收免 ... ·  2 天前  
如东新媒体  ·  紧急提醒! ·  2 天前  
如东新媒体  ·  紧急提醒! ·  2 天前  
51好读  ›  专栏  ›  看雪学苑

rypto 九层妖塔 —— 一道内含 24 种编码及加密算法的巨无霸套娃式密码题

看雪学苑  · 公众号  · 互联网安全  · 2020-07-04 17:58

正文

本文为看雪论坛优秀文章

看雪论坛作者 ID:xcbyao



目录

九层妖塔

0x00前言

0x01设计大纲

0x02详细思路

0x03后记





九层妖塔


一层:腐木基座隐塔身
二层:幽曲木栅落凡尘
三层:普莱菲尔封凯撒
四层:道法挪移镇邪煞
五层:半盲道人荡图灵
六层:圣堂武士震四方
七层:九转方棋威五堂
八层:梵音回响摄心神
九层:九曲轮回链生死
阵启:万古佛法通古今
破封:六十四卦补阴阳





0x00前言



之前特别喜欢看雪上的一道名为 九重妖塔 的逆向题,校赛中要出一道密码题,故突发奇想,花了一天半的时间,整了这么一道密码学的九层妖塔,虽然没有密码学的灵魂 RSA,但也添加了一些故事性的描述,力图增加一些趣味性,同时涉及到了总计 24 种编码及加密算法 ,希望可以更好地了解密码学这个充满魅力的体系。(注:最后解出的 WP 为旧文档)
补充 :本来想投稿到看雪的题库中,结果发现自己这题目是个 “巨无霸套娃” ,实际上没什么技术含量,还请大佬轻喷,适合有耐心的入门小伙伴了解密码学,所以作为小妖(me)的新人贴吧。





0x01设计大纲



腐木基座隐塔身:base编码、列位移密码(密钥)、曲路密码(路径)

幽曲木栅落凡尘:栅栏密码(W型)、曲路密码

普莱菲尔封凯撒:普莱菲尔密码、凯撒密码、四方密码(两段密钥)

道法挪移镇邪煞:列移位密码、六十四卦图(密钥)、盲文(密钥)

半盲道人荡图灵:盲文、brainfuck、仿射密码(密钥)

圣堂武士震四方:猪圈密码变种、四方密码、波利比奥斯方阵密码(密钥)、
维吉尼亚密码(密钥)

九转方棋威五堂:波利比奥斯方阵密码、维吉尼亚密码(威)、仿射密码(密钥)

梵音回响摄心神:敲击码、仿射密码、摩尔斯密码、夏多密码(密钥)

九曲轮回链生死:夏多密码、六十四卦图(文件)

万古佛法通古今:与佛论禅、新约佛论禅

六十四卦补阴阳:六十四卦密码、二进制转字符、ASCII编码





0x02详细思路



故事带入,某某无意间找到一个“精美的盒子”,但是这个盒子外面加了一道四个数字的密码锁,但是作为神偷,他很轻松地用工具解开了(这里涉及到压缩包爆破,有隐写的嫌疑……不过也仅此一处,后面的爆破几乎很难……)
然后发现一张“藏宝图”,封面是一个有些散架的,散发着淡淡幽蓝色彩的大写“B”?

翻开里面,掉出一张枯黄的草纸,捡起来,开始阅读:
“传说东方有一座九层妖塔,里面有着富可敌国的宝藏,若想得到,需要解开层层密码,突破迷雾与阻碍……”
然后下面是一堆……


R00zRE9PQlRHWVpVSVJLR0lKQlRRT0JUR0ZDVU1RU0RIQkJUR05TRklaQkVHT0JaSVZERUVRWllIQVpUTVJLR0lKQlRRUVpUR1pDVU1RU0RIQTRVS1JTQ0lNNERRTVpXSVZERUVRWllJTVpUSVJLR0lKQlRRT0tGSVpCRUdPQllHTVlVS1JTQ0lNNEVHTVpVSVZERUVRWllIRkNVTVFTREhBNERHTUtGSVpCRUdPQ0RHTVpFS1JTQ0lNNERTUktHSUpCVFFPQlRHWkNVTVFTREhCQlRHTVNGSVpCRUdPQlpJVkRFRVFaWUhBWlRNUktHSUpCVFFRWlRHRkNVTVFTREhBNFVLUlNDSU00RFFNWlJJVkRFRVFaWUlNWlRDUktHSUpCVFFPS0ZJWkJFR09CWUdNWVVLUlNDSU00RUdNWlRJVkRFRVFaWUhGQ1VNUVNESEE0REdOU0ZJWkJFR09DREdNWlVLUlNDSU00RFNSS0dJSkJUUU9CVEdaQ1VNUVNESEJCVEdOS0ZJWkJFR09CWklWREVFUVpZSEFaVENSS0dJSkJUUVFaVEdWQ1VNUVNESEE0UT09PT0K


由“基座”联想到 base 编码,最后确定依次进行 base64、base32、base16

得出一堆信息,继续分析……

“隐塔身”可能暗示隐藏着某些信息,通过上面的解密得到以下信息:


6x6=(1,6)(6,6)(6,4)(1,4)(1,2)(6,2)(6,1)(1,1)(1,3)(6,3)(6,5)(1,5)

但是似乎还不够,我们没有找到下一层的方法,再看看那张图,发现下面有一些空白,反白一下,又发现了一些信息:(上面的数字似乎缺了一些,还有个字母 l,之后回忆起正是对应上文的加密 base64、base32、base16)。


6  32 lTmluZSBsYXllciBkZW1vbiB0b3dlcg==TG9zdCBjb21wYXNz


base64解出如下:


发现 Nine layer demon tower (九层妖塔)这个似乎才是真正的入场券,至于其他信息先留着,也许之后有用,现在成功进入了第二层……
由“木栅”首先联想到栅栏密码,这里难度升级为 W 型栅栏,注释中有一个 4,猜测为四栏:

naitnclesdpplwalpigostautgddehcioean

栅栏密码(W型)在线解密
http://www.atoolbox.net/Tool.php?Id=777
得到:

nlgcoeassitdipaouptltegwnadadlcpenhi

虽然现在还是乱码,但是不要急,接着由“幽曲”再次联想到曲路密码,结合第一层得到的“曲径通幽处”,猜测为曲路密码的路径,即:

6x6=(16)(66)(64)(14)(12)(62)(61)(11)(13)(63)(65)(15

绘制 6x6 表格,按照路径依次填入。


整理得到:(Hit:曲径通幽处)

解压成功,进入第三层。
这层很明显可以想到普莱菲尔密码、凯撒密码,接着用上层最后得到的密钥打开压缩包,注意到注释中写着:

“菲尔的钥匙:rtkhyfbveapxnwuolgmcdzqsi ”

接着看到:

VUIRCPFTXYWI

尝试普莱菲尔密码,加上注释中“菲尔的钥匙”,进行在线解密
http://www.practicalcryptography.com/ciphers/classical-era/playfair/
得到:(吾儿,亦有汝焉?)


ANDYOUBRUTUS

解出来发现不能打开“凯撒之言”,结合题目GG查一下,发现这是一句拉丁语名言,即:

Et tu, Brute?

接着尝试一下这句话,成功打开“凯撒之言”,发现了三个单词样式的字符串,基本确定为凯撒加密:

mywolcns,jlyzcf,jliwymm

在线解密后
https://planetcalc.com/1434/
确定偏移量均为 ROT20,得到:

security,prefil,process

测试后,发现 process 为进入下一层的压缩包密码,但是不清楚剩下两段密钥是用在哪里,先保留,继续进入第四层(这里埋了个坑,之所以没有用 md5 防止爆破,是因为如果偷懒直接爆破出压缩包的密码,到了第六层就找不到四方密码的密钥了,最后还得绕回来……)
“挪移”联想移位的加密,确定列移位密码,先记录压缩包注释中 a=15,接着尝试解开“失落的无字罗盘”,之前第一层得到一张图纸上写着:Lost compass(译为:失落的罗盘),猜测这是列移位密码的 keyword,打开“镇煞之符”文件,发现:

ttrwohettseihuiahwssdomtitrieitnhroaiernbtho

通过列移位密码在线解密
http://www.practicalcryptography.com/ciphers/classical-era/columnar-transposition/
得到:(菩提本无树,明镜亦非台)

thebodhithiswithouttreesthemirrorisnottaiwan

作为密码,成功打开“失落的无字罗盘”,打开里面的文件,发现是个空白,切换背景色,出现文字:“菩提本无树,明镜亦非台!

恭喜你找到了这个刻着 way 的无字罗盘,带着它,把它交给半盲道人,他会带你继续走下去。

未来……当你做到那……手握日月摘星辰,世间无我这般人……你便可以知生死,通古今,互阴阳,悟得卦图,道破天机!”

⠁⡺⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⠊⠁⡼⠁⡱⠁⡯⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡭⠁⡱⠁⠌⠁⡯⠁⡺⠁⡿⠁⡭⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⠊⠁⡼⠁⡯⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡭⠁⠌⠁⡯⠁⡺⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡿⠁⡭⠁⡺⠁⡺⠁⡺⠁⡱⠁⠊⠁⡼⠁⡯⠁⡼⠁⡼⠁⡛⠁⡼⠁⡭⠁⠌⠁⡯⠁⡼⠁⡱⠁⡼⠁⡿⠁⡭⠁⡺⠁⡺⠁⡱⠁⡺⠁⠊⠁⡼⠁⡯⠁⡺⠁⡱⠁⡺⠁⡺⠁⡭⠁⠌⠁⡯⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡿⠁⡱⠁⡭⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⠊⠁⡱⠁⡼⠁⡯⠁⡼⠁⡼⠁⡼⠁⡱⠁⡼⠁⡼⠁⡼⠁⡼⠁⡼⠁⡱⠁⡭⠁⠌⠁⡯⠁⡼⠁⡼⠁⡱⠁⡼⠁⡼⠁⡼⠁⡼⠁⡼⠁⡱⠁⡼⠁⡼⠁⡼⠁⡼⠁⡼⠁⡛⠁⡼⠁⡼⠁⡿⠁⡭⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⠊⠁⡼⠁⡯⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⡭⠁⠌⠁⡯⠁⡺⠁⡱⠁⡺⠁⡺⠁⡿⠁⡭⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⠊⠁⡱⠁⡼⠁⡯⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⡺⠁⡭⠁⠌⠁⡯⠁⡱⠁⡺⠁⡺⠁⡺⠁⡺⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡿⠁⡼⠁⡱⠁⡼⠁⡼⠁⡿⠁⡼⠁⡼⠁⡛⠁⡼⠁⡼⠁⡼⠁⡼⠁⡼⠁⡱⠁⡼⠁⡼⠁⡿⠁⡺⠁⡺⠁⡱⠁⡺⠁⡺⠁⡺⠁⡿⠁⡼⠁⡱⠁⡼⠁⡼⠁⡼⠁⡼⠁⡼⠁⡱⠁⡼⠁⡿⠁⡭==

“半盲道人”很容易联想到盲文,加上上一层解出的刻着 way 的“失落的无字罗盘”,猜测为盲文密码,在线解密

https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=mangwen

得到:


+++++ +++[- >++++ ++++< ]>+.< +++++ +[->+ +++++ ++ +++++ .---- -.+ ++ ++++. --- ----- -- ----- -------.+ +++++ ++ ++.+++ ++ +++++ +++.- --.------- --.++ +++.- ----- -.<

接着由“图灵”联想到 brainfuck 加密,在线解密
https://www.splitbrain.org/services/ook
得到:

Alan Turing

然后你想爆破压缩包,不可能的(+_+)
https://www.somd5.com/
md5(32)来一次,得到:
c342cdb7d4ad65f3467f1ab056f1f9c6

OK了,解压成功,进入第六层……
“圣堂武士”想到猪圈密码变种,有三张图包含两个变种,分别解出:



得到一枚黑色棋子:polybios

得到一枚白色棋子:xcbyao

以及一张草纸:OBLFGOKYCNQRKLYTZIGS






请到「今天看啥」查看全文