几种经典密码(classic cipher)

来源:互联网 发布:php 5.6 Oracle 编辑:程序博客网 时间:2024/06/18 11:49

凯撒密码(Caesar Cipher)

Alice和Bob通信,Alice和Bob共享一个移位数字,所有的明文都移动相同的位置。
最早的置换密码(substitution cipher)
原理:简单的将字母移位
例如
位移k=3时,对应的置换表如下:

明文 A B C … X Y Z 密文 D C D … A B C

分析:该加密方式能被频率分析(frequency analysis)所破解

多表密码(维吉尼亚密码, Vigenere Cipher)

Alice和Bob共享一个私密的移位单词
原理:将明文以移位单词循环移位
例子
如果移位单词为:HELLO
明文为:NICETOMEETYOU
加密方式为:
多表置换
注意:结果需要mod26
所以Alice要发送的密文为:UMNPHVQPPHFSF
Bob收到密文解密:将对应的密文减去移位单词就可以还原明文
分析:该方式的加密使得简单的频率分析不能再使用;Eve要破解密文,首先得知道移位单词的长度,然后破解移位单词本身(相当于多个Caesar cipher)
移位单词越长,破解越困难

一次一密(One Time Pad-OTP)

随机生成每个数的移位数字
(随机序列的长度与信息序列的长度相同)
原理:每个字母的移位都是随机生成的
分析:一次一密具有完美安全(又叫绝对安全,perfect security)

阅读全文
0 0
原创粉丝点击