古典密码
古典密码
古典密码编码方法主要有两种
- 置换
- 代换
置换密码
简介
加密: 将明文字符按照一定的规则移动位置,得到排列错乱的密文,字符本身不变
解密: 将密文字符按照响应的逆向规则还原成原来的顺序
密钥: 移位规则
列置换
将明文按固定长m分组,即每行m个字母,在密钥控制下按某一顺序交换列,最后按列优先的顺序依次读出,即产生了密文。
周期置换
很大程度上同列置换,只不过加、解密时,在列交换后是按行优先的顺序向下进行。
数学描述
对于密码体制的五元组(P,C,K,E,D)有:
置换密码举例
设m=6,密钥为如下的置换Π:
x | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
Π(x) | 3 | 5 | 1 | 6 | 4 | 2 |
将两行对调并重新排序可得逆置换Π-1如下:
y | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
Π-1(y) | 3 | 6 | 1 | 5 | 2 | 4 |
即有:
所以现在我们使用该密码加密明文:abcdefghijkl
"step1"
#首先将明文字母每6个分成一组
'|'abcdef '|' ghijkl'|'
"step2"
#对每组字母使用加密变换
(1)a ==>(1->3) ==>c
(2)b ==>(2->5) ==>e
(3)c ==>(3->1) ==>a
(4)d ==><