美文网首页
密码学基础一

密码学基础一

作者: xandone | 来源:发表于2019-12-17 11:50 被阅读0次

    一、 恺撒密码

    1.简单介绍

    凯撒密码是古时候欧洲常用的一种加密方式:英文一共26个字母,它的加密方式是将这26个字母分别平移固定的位数,

    假设位数=3,那么A=>D,B=>E,如下图:


    1576554524(1).jpg

    如果想加密一个单词HELLO,根据上面的唯一对比,加密后的结果应该是LHOOR。颠倒字母后的顺序,使得常人无法读懂这些语句或者单词。如何解密呢,也很简单,只需要将收到的单词向前平移3个位置,就可以恢复到加密前的单词HELLO了。

    2.破解

    破解凯撒密码的方法很多,有一种暴力破解的方式,就是“遍历”。根据凯撒密码的加密方式,平移固定的位数,26个英文字母总共可以平移的方式是26种,假如位数n=26,其实相当于没有平移,A=>A,循环了一次。

    进行暴力破解:

    n=1:LHOOR=>KGNNQ

    n=2:LHOOR=>JFMMP

    n=3:LHOOR=>HELLO

    这样就破解了,可以推算发位数n=3,其实就是秘钥=3,

    最多尝试25次即可推算出加密的n值等于多少(当然这里只是讨论原理,不排除真实情况,可能凑巧某一个错误的n值解密出来的也是一个完整的单词或一段话的情况)。

    二、 替换密码

    1.简单介绍

    替换密码和恺撒密码原理有些类似,个人感觉相当于恺撒密码的变种,替换密码增加了字母替换的随机性.

    举个简单的例子,A=>G,B=>X,C=>K

    这里ABC..等26个字母都随机指向了“密码”本上的另一个随机的字母,这下就比较难反向推算出“秘钥”是多少了,数量级完全不一样。

    简单的算一下可能存在的情况:

    A=>有25种表示方式BCD…

    B=>有除A以外24种方式表示CDE..

    那么秘钥的存在情况是:

    N=25!种方式,远远大于恺撒密码的26。

    2.破解

    面对25!数量级的加密方式,使用暴力破解的方式不再实用了,但是可以使用另一种方法,统计学

    通过大量扫描英文书籍,可以得出如下结果(图片来自网络,这里只探究原理,并不追究这个统计的准确性):


    1576554537(1).jpg

    26个字母在日常用语中的使用频率并不一样,比如字母E的使用频率遥遥领先,字母Z使用频率最低,这个相当于语言所残留在文字中的指纹,很难察觉但是真实存在。

    根据这个原理,扫描“随机密码”文本,统计出各个字母的使用频率分布,找出使用频率最高的那个字母,极可能就是加密后的字母E。

    3.随机加密还有很多变种,双重加密,擦掉“指纹”使得加密方式更进一步加固,不得不感叹古人的智慧,数学之美真奇妙。

    相关文章

      网友评论

          本文标题:密码学基础一

          本文链接:https://www.haomeiwen.com/subject/msdsnctx.html