传统密码学(一)——置换密码之列置换
? ? ? ?置换密码(Permutation Cipher)又叫换位密码(Transposition Cipher),其特点就是保持明文的所有字符不变,打乱明文字符的位置和次序。常见的置换密码有两种:列置换密码和周期置换密码。
? ? ? ?一、列置换加密
? ? ? ?将明文字符P以固定的分组宽度m按行写出,构成m x n的矩阵[M]mxn,不够的按双方约定的字符补充,比如空格字符。然后通过某一交换列的位置次序的到矩阵[Mp]mxn,最后输出举证[Mp]mxn,即得到密文。
? ? ? ?比如明文P="Sit down please!",密钥为:,即将第一列放到第2列,第2列放到第4列,第4列放到第一列,第3列放到第5列,第5列放到第3列,得到的密文Pm="dSoitlwenp!a se"最终加密过程如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? 二、列置换解密
? ? ? 列置换的解密过程就是加密的逆过程,根据上面的例子,可以知道密钥的逆置换为:
,则机密的过程如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
??
?
?
?
?
? ? ? ?