杰弗逊转轮加密原理详解

做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]-杰弗逊转轮加密原理详解-安全小百科

相关推荐: 比特币的前世与今生

一直想写一篇关于介绍比特币的博文,这个下午突然提起兴趣了,就写下去吧~ 比特币之所以现在会这么火,一方面是因为的它的升值之快,人们可以通过炒比特币来赚取差价,另一方面是由于比特币是黑客的勒索货币,在五月份横行的wannacry病毒变相的又让比特币又火了一把。 …

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

请登录后发表评论