网络原理考点之加密算法

如题:2018年10月

 答:还是看清楚题意,此题是问的是明文。绝不要想当然,至少读两遍题,一定要确定题的意思。

第一问:密文是frgh,恺撒密码是由明文往后推三位,所以知道密文,往前推三位就是明文。f作为第0位。往前推三位是c.

依次.答案是code.

第二问:置换密码??根据一定的规则重新排列明文。不改变明文内容,只改变明文结构。

而列置换密码?操作及输出都是以列为单位。将明文以密钥长度为列数形成矩阵,按照密钥的顺序进行列置换。

这个定义不难理解:要点是:1、明文按密钥长度填充一个矩阵 2、按密钥顺序置换,这个置换不同的书或介绍是不同的,所以尽信书则不如无书,尤其是现在书中的例子,其实是没有说明置换规则的,所以不需要死扣,只要明白原理即可。

书中的例子就是最简单的规则,按密钥顺序选列输出(也就是说输出顺序由密钥顺序编号决定)。密钥顺序是4312,即第一次输出矩阵第3列,第二次输出矩阵第四列,第三次输出矩阵第2列。

 

对应到此题:code密钥,对应的置换规则为(1423)要是类比到教材中的例子,那么第一次输出矩阵第一列,第二次输出矩阵第3列才对。但从答案上看是直接把置换规则作为顺序来输出的。即第一次输出第一列,第二次输出矩阵第四列。这符自己最初的理解。也就是规则里的序号对应的就是矩阵的列号。

而书中的例子是规则里的序号输出的顺序号。

另外也查了下其他资料,这个置换规则就是人为来制定的,不同的书就是有不同的解释。以上的两种都是比较简单的交换,还真谈不上置换。以下是找的真正的列置换的方式:还是比较麻烦的。解密是要求逆置的。

从这里也可以看出,本科阶段,其实也是属于基础教育阶段,谈不上专业。只是为专业打个基础。重要的是思想。

 

另外题目是已知密文求明文,很明显是逆过程,如何来逆呢?

不论是由明到密还是由密到明,矩阵都是没有变化的,所以问题的关键就是填充矩阵.由于密钥长度为4,所以矩阵是按4列排列。

每列的字母数就是24/6(24就是密文的长度)。

根据置换规则,第一列对应第一列,所以前6个字母就是第一列

1   
c   
u   
e   
r   
i   
p   

第2次输出的其实对应矩阵的第四列,将次6个字母填入表格,这里就要注意了,明文是按照

1  2
c  p
u  n
e  o
r  r
i  i
p  $

第3次输出的对应矩阵的第2列 

13 2
co p
ut n
et o
rk r
in i
pl $

 

第四次输出对应矩阵的第2列,也就是将剩余字填入

1次输出 34次输出2
comp
utrn
etwo
rkpr
inci
ple$

得到这个表,其实就可以知道明文了,因为明文是按照密钥长度填充

最后得到 computr network prnciple.

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值