数据加密——列置换加密

刚刚看到考题中有个这样的题,考到了列置换加密,记录一下自己的理解。

列置换加密,概念性的东西就不说了,网上都有,直接写我自己的理解,干货。

  1. 从明文 ———— 密文 (加密)

现有明文:computrnetworkprinciple
加密后密文为:cueripmrwpcepnoriottknl
密钥为字符串: 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

然后我们按照数字顺序去按列读取字母矩阵
1 4 2 3
先索引为1的列
cuerip
然后索引为2的列
mrwpce
然后3
pnori
然后4
ottknl

将上面的字符串连起来可得到密文。

如果是解密的话,则反着填写矩阵就可以得到明文了。

你可能感兴趣的:(数据加密——列置换加密)