仿射密码破解——再别康桥

这里有用仿射加密的一段诗歌密文(空格标点等没有加密),请尝试还原为明文并翻译为中文

仿射密码的定义:

将加法密码和乘法密码结合就构成了仿射密码,仿射密码的加密和解密算法是:

加密算法:C=Ek(m)=(k1m+k2)modn

解密算法:M=Dk(c)=k1-1(c-k2)modn

仿射密码具有可逆性的条件是gcd(k,n)=1。当k1=0时,仿射密码变成加法密码,当k2=0时,仿射密码变成乘法密码。

解密过程:

 

统计密文中各字母出现的频率,然后与英文字母出现频率比较,在尝试过程中同时考虑仿射密码的条件。

各个字母出现的频率统计如下:

 

最大频率的密文字母是小写英文字母v(119次)、小写字母w(67次)、小写字母t(54次)、小写字母p和小写字母x(各52次)……

首先,我们可以猜想v是e的加密,而w是t的加密,因为e和t是两个出现频率最高的字母。e和t对应的数值是4,19,v和w对象的数值是21,22.对于仿射密码有c=(k1m+k2)mod n

所以我们有两个关于未知数的线性方程组:

     21=(4k1+k2)mod 26   即  4k1+k2=26m+21

     22=(19k1+k2)mod 26  即  19k1+k2=26m+22

K是满足0

当m=1时,4k1+k2=47,19k1+k2=48,这个方程组有唯一解:k1=7,k2=19

其中gcd(7,26)=1,gcd(19,26)=1,即k-1=15

 

将明文利用翻译软件进行翻译,得到下列结果:

所以,这一段密文解密出来,是徐志摩的再别康桥这一首诗!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年4月2日
下一篇 2018年4月2日

相关推荐