ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

古典密码

2021-11-30 20:01:33  阅读:310  来源: 互联网

标签:代换 明文 密码 密钥 古典 维吉尼亚 破解


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

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

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

置换就是把明文中的字母(或者其他什么东西)换换位置,但是那些字母还是它们自己,比如把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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有