置换只不过是一个简单的换位,每个置换都可以用一个置换矩阵Ek来表示。每个置换都有一个与之对应的逆置换Dk。置换密码的特点是仅有一个发送方和接受方知道的加密置换(用于加密)及对应的逆置换(用于解密)。它是对明文L长字母组中的字母位置进行重新排列,而每个字母本身并不改变。
①加法密码
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密码(乘积密码)
建立在矩阵相乘的基础上,但不能抵抗已知明文攻击。
置换密码的典型代表如下:
古典密码是密码学的源头。这一时期的密码是一种艺术,还算不上是一门学科。密码学家常常是凭借直觉和信念来进行密码设计和分析,而不是推理证明。
古典密码的两个主要体制是代换密码和置换密码。代换密码采用一个代换表,将一段明文变换成一段密文,这个代换表就是密钥。如果代换表只有一个,则代换过程被称为单表代换。如果代换表多于一个,则代换过程被称为多表代换。置换密码是一种特殊的代换密码,置换密码变换过程不改变明文字母,只改变它们的位置。
单表代换密码的一个典型代表是仿射密码。仿射密码的加密变换可以表示为 Ek(i)=(ik1+k) mod N,其中密钥k = (k1,k),N为明文字表大小,i为明文,k与N互素。当k=0时的变换称为乘法密码;当k1=1时的变换称为加法密码。
“恺撒密码”是一种典型的加法密码,这种密码曾经被罗马帝国的恺撒大帝频繁用于战争通信,因此称为“恺撒密码”。下面举例描述一下恺撒密码。假定密钥 k =(1,11),明文消息为“i am nine”,N = 26。密钥k =(1,11)确定了密码代换表中明文字母“a”将被替换成“l”,字母“b”将被替换成“m”,依此类推。整个代换过程描述如表1所示。
对于英文字母表,恺撒密码的密钥取值范围只有25(不包括k为0的情形),即只能构造出25种不同的明密文代换表。因此,恺撒密码很容易被穷举破译。
以上就是关于置换密码的概念全部的内容,包括:置换密码的概念、古典密码的置换密码、置换密码的典型代表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)