置換密碼

Lois發表於2020-07-12

置換密碼 ( permutation cipher ) 又稱為換位密碼,這種密碼透過改變明文訊息各元素的相對位置,但明文訊息元素本身的取值或內容形式不變;而在前面的替代密碼中,則可以認為是保持明文的符號順序,但是將他們用其他符號來替代。
這種密碼是把明文中各字元的位置次序重新排列來得到密文的一種密碼體制。實現的方法多種多樣。直接把明文順序倒過來,然後排成固定長度的字母組作為密文就是一種最簡單的置換密碼。例如,明文為 this cryptosystem is not secure 。密文則為 eruc、esto、nsim、etsy、sotp、yrcs、iht。
典型的置換密碼演算法:週期置換密碼,列置換密碼。

週期置換密碼

週期置換密碼是將明文字元按一定長度 n 分組,把每組中的字元按 1,2,…,n 的一個置換\pi重排位置次序來的得到密文的一種加密方法。其中的鑰匙就是置換\pi,在\pi的描述中包含了分組長度的資訊。解密時,對密文字元安長度 n 分組, 並按\pi的置換\pi ^{-1}把每組字元重排位置次序來得到明文。

列置換密碼

簡單地講,這種密碼的加密方法就是將明文按行填寫到一個列寬固定(設為 m )的表格或矩陣中,然後按 (1,2,…,m) 的一個置換\pi交換列的位置次序,再按列讀出即得密文。解密時,將密文按列填寫到一個行數固定(也為 m )的表格或矩陣中,按置換\pi的逆置換交換列的位置次序,然後按行讀出即得到明文。置換\pi可看成是演算法的金鑰。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Hacking

相關文章