古典密码的置换密码
①加法密码
A和B是有 n个字母的字母表。
定义一个由A到B的映射:f:A→B
f(ai )= bi=aj
j=i+k mod n
加法密码是用明文字母在字母表中后面第 k个字母来代替。
K=3 时是著名的凯撒密码。
恺撒密码——历史上第一个密码技术
“恺撒密码”是古罗马恺撒大帝在营救西塞罗战役时用来保护重要军情的加密系统(《高卢战记》)。
②乘法密码
A和B是有n个字母的字母表。?定义一个由A到B的映射:f:A→B f(ai )= bi= aj j=ik mod n 其中,(n,k)=1。注意:只有(n,k)=1,才能正确解密。
③密钥词组代替密码
随机选一个词语,去掉其中的重复字母,写到矩阵的第一行,从明文字母表中去掉这第一行的字母,其余字母顺序写入矩阵。然后按列取出字母构成密文字母表 单表代替密码的安全性不高,一个原因是一个明文字母只由一个密文字母代替。可以利用频率分析来破译。故产生了更为安全的多表代换密码,即构造多个密文字母表,在密钥的控制下用以一系列代换表依次对明文消息的字母序列进行代换。著名的多表代替密码有Vigenere密码等。
① Vernam密码
明文、密文、密钥都表示为二进制位:
M=m1,m2,… ,mn K =k1,k2,… ,kn C =c1,c2,… ,cn
②Playfair密码
用密钥控制生成矩阵,然后每两个字母为单位进行代换。
③Hill密码(乘积密码)
建立在矩阵相乘的基础上,但不能抵抗已知明文攻击。