置換密碼理論學習

柳絮9712發表於2017-04-25

       傳統密碼技術-置換密碼

  置換密碼將明文中的字母順序重新排列,但字母本身不變,由此形成密文。換句話說,明文與密文所使用的字母相同,只是它們的排列順序不同。
  我們可以將明文按矩陣的方式逐行寫出,然後再按列讀出,並將它們排成一排作為密文,列的階就是該演算法的金鑰。在實際應用中,人們常常用某一單詞作為金鑰,按照單詞中各字母在字母表中的出現順序排序,用這個數字序列作為列的階。

【例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

相關文章