前几天偶想出道密码题,于是就在加密手法想了想,想到了凯撒密码,很多人说凯撒密码的加密位移只有26种,要是用机器的话很容易被破译,但我想到了一种方法,就是在位移的密钥值中加入一个变量,但后来我出题后再次翻查了资料,原来已经有人想到了这种在凯撒密码的基础上再次加密的手法——一种理论上不可破译的密码是“(用完即销毁的)一次密码本”。
普通凯撒密码利用了密码转化来传递信息,例如把密文中的每个字母用按字母次序后移三位的字母代替的方法,好像我要传递Will这个意思时,密文就是Zcoo了,这个相信各位推吧的同志都清楚,但想要不用机器破解都还是有方法滴,就是在英语的书面语言中,基本每个字母都以固定的频率出现,见下图:
可见字母“e”出现的频率比例占所有的字母的百分之12左右,其次到“t”占百分之9.7左右,而“j”的出现远少于百分之1。这样来按字母的频率分析,就比较容易的破译出密文而不靠机器,特别对付些密文较大的文件,这样加密的密码就容易被破译了。
关于凯撒密码的反破译方法其中一个,就是加入伪随机数列,数列中的每个数都是1到26之间的整数,例如随即生成一列数列:5,7,21,19,15,13........那么如果用这种伪随机数列进行字母位移的话,上面的信息“Will”的加密过程就是:W+5→b,i+7→p,l+21→g,l+19→e了,密文就是bpge了.利用1到26之间的随机整数数列或者其它的随机变量,使每个字母出现在密码中的概率都相等,这样一来对方想通过频率分析来破译就不可能了,因为在密码中每个字母出现的频率几乎相等.
唉~搞得偶还以为这种加密方法是偶想到的呢,其实一早有人发明了,所以说,以后各位又有了新的加密手法了~打得手疼了,也晚了.
P.S. 也许有人已经知道了这些凯撒密码的反破译方法,但偶8知道,所以有些不完善之处请见谅......
普通凯撒密码利用了密码转化来传递信息,例如把密文中的每个字母用按字母次序后移三位的字母代替的方法,好像我要传递Will这个意思时,密文就是Zcoo了,这个相信各位推吧的同志都清楚,但想要不用机器破解都还是有方法滴,就是在英语的书面语言中,基本每个字母都以固定的频率出现,见下图:
可见字母“e”出现的频率比例占所有的字母的百分之12左右,其次到“t”占百分之9.7左右,而“j”的出现远少于百分之1。这样来按字母的频率分析,就比较容易的破译出密文而不靠机器,特别对付些密文较大的文件,这样加密的密码就容易被破译了。
关于凯撒密码的反破译方法其中一个,就是加入伪随机数列,数列中的每个数都是1到26之间的整数,例如随即生成一列数列:5,7,21,19,15,13........那么如果用这种伪随机数列进行字母位移的话,上面的信息“Will”的加密过程就是:W+5→b,i+7→p,l+21→g,l+19→e了,密文就是bpge了.利用1到26之间的随机整数数列或者其它的随机变量,使每个字母出现在密码中的概率都相等,这样一来对方想通过频率分析来破译就不可能了,因为在密码中每个字母出现的频率几乎相等.
唉~搞得偶还以为这种加密方法是偶想到的呢,其实一早有人发明了,所以说,以后各位又有了新的加密手法了~打得手疼了,也晚了.
P.S. 也许有人已经知道了这些凯撒密码的反破译方法,但偶8知道,所以有些不完善之处请见谅......