其他分享
首页 > 其他分享> > 古典密码

古典密码

作者:互联网

作为一个不务正业的密码手,稍微学一点点密码(主要是水一篇博客)。

密码学中,最基础的是古典密码。

按照百度百科的说法,古典密码无非两种:置换与代换。

置换就是把明文中的字母(或者其他什么东西)换换位置,但是那些字母还是它们自己,比如把kroos换成soork就是一种置换。

代换就是把明文中的字母换成别的字符,比如把kroos换成11,18,15,15,19(这几个字母在字母表中的位置)就是一种代换。

这么看来,简单的置换与代换所产生的加密方法比较好破解,基本上都可以比较简单地破解出来,以下是几种常见古典密码。

 

 

凯撒密码:

  它的做法是按照字母表把明文中的字母变成数字,再偏移几位,再转换回字母,这是一种非常典型的代换密码

  而它的破解也很简单,毕竟字母表一共就26位,最多试26次就可以了

  破解网站:http://www.metools.info/code/c70.html

 

 

栅栏密码:

  它的做法是把明文分成几个不同的部分,比如:

  明文是:

  

 

  可以把它分成两个部分:

  

  再之后,把第二个部分排在第一部分的后面,变成:
  

  这就加密完了,解密也十分简单

  首先把密文分成两行:

  

  之后再把它每行读一个就可以了:

  

 

  栅栏密码破解也比较简单,只要猜测总共把字符分成了几个部分就可以了。

  破解网站:http://www.hiencode.com/railfence.html

 

 

维吉尼亚密码:

  维吉尼亚密码是一个破解难度相对较高的古典密码,它采用了简单的多表代换。

  首先使用维吉尼亚密码需要密钥

  具体操作如下:

  假如明文为:

  

  然后可以选择一个关键词然后将它反复重复变成密钥,比如关键词为LEMON时,密钥为:

  

  之后,用密钥的第n位加密明文的第n位,比如用L加密A,用E加密T等等,而具体方法如下:

  

 

  当然,也不一定需要查表,可以用数学的方法求出:

  

 

  在知道密钥的情况下,可以直接解密

  在线解密:http://www.metools.info/code/c71.html

  用这种方法,在不知道密钥(或者关键词)的情况下,破解有些难度,不过有一个大致的思路:

  因为维吉尼亚密码的密钥是循环重复的(假如它不是而你又不知道密钥,那就是一次一密的加密,破解几乎没有可能),所以维吉尼亚密码可以看做很多组凯撒密码

  这样的话,在文本较长的情况下,就有可能出现相同的单词遇到的密钥也一样的情况,这样就会导致密文中出现重复字段

  找到相同字段间的距离,可以大致判断出关键词长度是距离的因数

  多找一些不同的重复字段,找到距离找公因数可以大致算出密钥长度,再尝试猜测密钥即可

  不过,实际上这已经需要非常巨大的工作量了,因此,维吉尼亚密码在不知道密钥的情况下较难破解。

 

 

(最近比较忙,博客比较水,下次一定不)

 

 

 

  

 

  

  

  

 

标签:代换,明文,密码,密钥,古典,维吉尼亚,破解
来源: https://www.cnblogs.com/T0niKroOs/p/15624425.html