周期置换密码是将明文串P按照固定长度m分组,然后对每一组按照1,2,……,m的某个置换重新排列位置,从而得到密文C。
解密时将密文按照长度m分组,对每组按照逆置换重新排列,从而得到明文m。
明文M=abcdefg,分组长度m=4,密钥=(1 3)(2 4)则密文C=cdabghef
m=(1 2 3 4
3 4 1 2)
m1=(a b c d)->(c d a b)
m2=(e f g h)->(g h e f)
C=(cdabghef)
4.列置换密码
将明文P以固定分组宽度m按行写出,每行m个字符,不足部分用空格代替,设有n行,得n行m列字符矩阵M;
按1,2,……,m的某个位置交换列的位置次序,得字符矩阵M';
将M'按1,2,……,m列的顺序依次独处密文序列C;
P=abcdefgh,分组宽为m=4,得2行4列矩阵M:
M=(a b c d
e f g h)
设置换x=(1 3)(2 4)
则M'=(c d a b
g h e f)
则密文序列C=cgdhaebf
将密文C以分组宽度m按照写出字符矩阵,的n行m列M';
按1,2,……,m的逆置换交换列的位置次序,得字符矩阵M;
将M按行的顺序依次独处明文序列P。
密文序列C=cgdhaebf
M'=(c d a b
g h e f)
逆置换x'=(1 3)(2 4)
M=(a b c d
e f g h)
置换摩玛、周期置换密码、列置换密码三种加密方法本质上相同;
三种加密方法都可以通过穷举密钥来进行攻击
明文字母打乱后变成密文字母,字母相同不变,由密文中特殊的字母组成由意义的单词可去推测密钥的部分信息。