置换密码理论学习

       传统密码技术-置换密码

  置换密码将明文中的字母顺序重新排列,但字母本身不变,由此形成密文。换句话说,明文与密文所使用的字母相同,只是它们的排列顺序不同。
  我们可以将明文按矩阵的方式逐行写出,然后再按列读出,并将它们排成一排作为密文,列的阶就是该算法的密钥。在实际应用中,人们常常用某一单词作为密钥,按照单词中各字母在字母表中的出现顺序排序,用这个数字序列作为列的阶。

【例1】我们以coat作为密钥,则它们的出现顺序为2、3、1、4,对明文“attack postoffice”的加密过程见图1:

密钥 coat
2314
  attackpostoffice

按照阶数由小到大,逐列读出各字母,所得密文为:
    t p o c a c s f t k t i a o f e.
  对于这种列变换类型的置换密码,密码分析很容易进行:将密文逐行排列在矩阵中,并依次改变行的位置,然后按列读出,就可得到有意义的明文。为了提高它的安全性,可以按同样的方法执行多次置换。例如对上述密文再执行一次置换,就可得到原明文的二次置换密文:
    o s t f t a t a p c k o c f i e
  还有一种置换密码采用周期性换位。对于周期为r的置换密码,首先将明文分成若干组,每组含有r个元素,然后对每一组都按前述算法执行一次置换,最后得到密文。
【例2】一周期为4的换位密码,密钥及密文同上例,加密过程如图2:

密钥 coat coat coat coat
2314 2314 2314 2314
明文 atta ckpo stof fice
密文 tata pcko ostf cfie

你可能感兴趣的:(网络安全)