刚刚看到考题中有个这样的题,考到了列置换加密,记录一下自己的理解。
列置换加密,概念性的东西就不说了,网上都有,直接写我自己的理解,干货。
- 从明文 ———— 密文 (加密)
现有明文:computrnetworkprinciple
加密后密文为:cuerippnoriottknlmrwpce
密钥为字符串: code
过程:
第一步先把密钥转换为一个数字,这个数字是加密的关键,转换方法为,首先得到字母的个数,这里code为4,然后得到1至这个数的所有数,这里为1,2,3,4.。然后按26个字母的顺序来,越靠前的,数字越小,若位置相同,则靠左边的越小,所以字符串code就等于 1423. 因为c最靠前,d其次,e第三,最后才是o, 所以c代表1,o代表4,e代表3,d代表2,连起来即1423.
第二部,将明文转化为一个矩阵,矩阵的行元素个数为字母的个数,即为4,我们将明文转化后可得:
c o m p
u t r n
e t w o
r k p r
i n c i
p l e
按1423的索引顺序读取即可
先索引为1的列
cuerip
然后索引为4的列
pnori
然后2
ottknl
然后3
mrwpce
将上面的字符串连起来可得到密文。
如果是解密的话,则反着填写矩阵就可以得到明文了。