幂数加密(来源:攻防世界)
1.关卡描述
2.解题步骤
分析:
不会幂数加密:
8842101220480224404014224202480122
=====================
参考资料:
01248 密码
原理
该密码又称为云影密码,使用 0,1,2,4,8 四个数字,其中 0 用来表示间隔,其他数字以加法可以表示出 如:28=10,124=7,18=9,再用 1->26 表示 A->Z。
可以看出该密码有以下特点
- 只有 0,1,2,4,8
这里我们以CFF 2016 影之密码为例进行介绍,题目
8842101220480224404014224202480122
我们按照0来进行分割,如下:(1->26 表示 A->Z。)
内容 | 数字 | 字符 |
88421 | 8+8+4+2+1=23 | W |
122 | 1+2+2=5 | E |
48 | 4+8=12 | L |
2244 | 2+2+4+4=12 | L |
4 | 4 | D |
142242 | 1+4+2+2+4+2=15 | O |
248 | 2+4+8=14 | N |
122 | 1+2+2=5 | E |
所以最后的 flag 为 WELLDONE。
简单的来说,就是所有的数都能由0,1,2,4,8这几个数字相加得到,由此我们可以将字母表的字母按照顺序变换成相应的数字,然后分成若干个0,1,2,4,8相加,从而达到加密的方式
理解2:
二进制幂数加密法,但是比照之后发现不太对,没有字母转换后出现8这个数字。如果是8,就要 2^2+2^2 这是不符合要求的
3:另一个脚本: