玩CTF学密码学3:栅栏加密算法、不仅仅是Morse(综合题,还有培根密码)
2021/6/8 20:22:08
本文主要是介绍玩CTF学密码学3:栅栏加密算法、不仅仅是Morse(综合题,还有培根密码),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
栅栏加密算法(一般型 & W型)先看题目:
再看附件:
讲讲普通栅栏加密算法的原理:
明文S = 1 2 3 4 5 6 7 8 9,key = 3
变换:
1 2 3
4 5 6
7 8 9
密文M = 1 4 7 2 5 8 3 6 9
反之,解密过程:
密文M = 1 4 7 2 5 8 3 6 9,key = 3
变换:
1 4 7
2 5 8
3 6 9
明文S = 1 2 3 4 5 6 7 8 9
讲讲W型栅栏加密算法的原理:
这个W型,一开始我还以外和WWW有关……原来就是……组合形式用了这种之字形的W形状,然后栅栏的分栏,就是每key个元素组成W的一个笔画……
还是刚才的例子:
明文S = 1 2 3 4 5 6 7 8 9,key = 3
变换:
1 - - - 5 - - - 9
- 2 - 4 - 6 - 8 -
- - 3 - - - 7 - -
嗯,大伙可以看到,这就是很像一个 ‘W’ 的形状
然后得到:
密文M = 1 5 9 2 4 6 8 3 7
同样我们来解密:
密文M = 1 5 9 2 4 6 8 3 7
变换:
1 - - - 4 - - - 7
- 5 - 2 - 6 - 3 -
- - 9 - - - 8 - -
可是这是如何解密的呢???
还请大神指导!
我的菜逼解决方案:人菜只能用工具……等我会这个解密一定补坑
W型栅栏加密算法加解密转换器
然后题目有个隐含的东西,那个图上画的,是五只小鸡 真牛逼,key = 5
就搞出来了……有点迷哈,这个栅栏算法有意义吗?有实际工程意义吗?还请知道的大哥指点一下!
拿到附件:
除了Morse电码的两个元素:’.’ 和 ‘-’ 之外还有 ‘/’ 先去Morse密码转换器:
Morse密码转换器
按照Morse密码解密:
得到的结果是:
MAYBEHAVEANOTHERDECODEHHHHAAAAABAABBBAABBAAAAAAAABAABABAAAAAAABBABAAABBAAABBAABAAAABABAABAAABBABAAABAAABAABABBAABBBABAAABABABBAAABBABAAABAABAABAAAABBABBAABBAABAABAAABAABAABAABABAABBABAAAABBABAABBA
这是啥????前面的英文写的:Maybe Have Another Decode
意思是可能还有其他的解码……
培根密码:
上网查才晓得这种用A和B组合得到的密码是培根密码……
培根密码的加密方式是:
每五个为一组,A代码0、B代表1;a代表0、b代表1
然后有一个规模为26的对照表,对应26个字母,然后:
A = 00000 = “aaaaa”
B = 00001 = “aaaab”
……
……
Z = 11001 = “bbaab”
然后小写字母不太一样:
a AAAAA
b AAAAB
c AAABA
d AAABB
e AABAA
f AABAB
g AABBA
h AABBB
i-j ABAAA
k ABAAB
l ABABA
m ABABB
n ABBAA
o ABBAB
p ABBBA
q ABBBB
r BAAAA
s BAAAB
t BAABA
u-v BAABB
w BABAA
x BABAB
y BABBA
z BABBB
于是我们开始了艰辛的对照工作:
好在有在线解码工具:培根密码在线解码器
计算得到结果:
attackanddefenceworldisinteresting
这篇关于玩CTF学密码学3:栅栏加密算法、不仅仅是Morse(综合题,还有培根密码)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享