杰弗逊转轮加密原理详解

做CTF的crypto,经常会遇到一些加密解密,杰弗逊加密也是考察频率较高的一种加密方式

像今年的ISCC CTF中就有一条转轮加密题目:

加密表:
1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <
2: < KPBELNACZDTRXMJQOYHGVSFUWI <
3: < BDMAIZVRNSJUWFHTEQGYXPLOCK <
4: < RPLNDVHGFCUKTEBSXQYIZMJWAO <
5: < IHFRLABEUOTSGJVDKCPMNZQWXY <
6: < AMKGHIWPNYCJBFZDRUSLOQXVET <
7: < GWTHSPYBXIZULVKMRAFDCEONJQ <
8: < NOZUTWDCVRJLXKISEFAPMYGHBQ <
9: < XPLTDSRFHENYVUBMCQWAOIKZGJ <
10: < UDNAJFBOWTGVRSCZQKELMXYIHP <
11: < MNBVCXZQWERTPOIUYALSKDJFHG <
12: < LVNCMXZPQOWEIURYTASBKJDFHG <
13: < JZQAWSXCDERFVBGTYHNUMKILOP <
密钥为:2,3,7,5,13,12,9,1,8,10,4,11,6
密文为:NFQKSEVOQOFNP

起初在网上没有找到这种加密的具体原理,对源码以及最后的代码分析过后,发现这种古典密码其实很简单,下面我来阐释它的解密原理

首先托马斯-杰弗逊转轮加密由三串字符串组成,第一部分为加密表,第二部分为密钥,第三部分为密文

加密表就是我们需要利用密钥和密文来进行加密,具体的过程如下:

首先查看密钥第一个字符为2,因此我们需要到加密表中去查找第2行的数据
2: < KPBELNACZDTRXMJQOYHGVSFUWI <

这里我们再利用密文的第一个字符N进行旋转,N在这里的作用就是旋转过后的第一个字符即为N,在这里的旋转为循环,不为补0

因此我们可以来对加密表中的第一段密文进行解密:
原先:KPBELNACZDTRXMJQOYHGVSFUWI
旋转:NACZDTRXMJQOYHGVSFUWIKPBEL
同理下面的字符串也可以利用同样的方式进行解密

最终的解密为:
图片[1]-杰弗逊转轮加密原理详解-安全小百科

相关推荐: 【转】【解密】日志追凶之从看日志了解黑客攻击手法【春秋第一篇】

这篇文章写的真的非常好,学习了很多知识,对服务器的安全分析有很大的帮助,因此转载之方便学习(文章部分格式可能有点不对,敬请谅解)~原文地址:传送门 本帖最后由 诚殷网络论坛 于 2017-8-1 09:43 编辑 ———————–…

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论