DES四种模式(ECB、CBC、OFB、CFB)下的加解密的速度非常慢,求大神帮忙分析一下原因
代码是可以直接运行的
码云:link https://gitee.com/laobameishijia/DES
其中,我总结了几个容易出错的地方。
1.CFB模式
1.1首先要搞清楚,实验要求的到底是几位,我的实验要求的是八位。既然是八位,在更新寄存器的时候,选择的就是密文的最左边的八位。(既然是八位,那明文也得是八位)异或的过程也是加密之后的寄存器的前八位和明文的八位异或。
1.2这个寄存器中的值,第一次是初始向量。第二次的时候,有变化,但是是由初始向量的前56位,加上密文的8位组成的。
我开始的时候,是把第一次加密之后的寄存器,作为了第二次加密时寄存器的初值。
1.3解密过程中的寄存器更新,解密的时候,寄存器更新的八位是你取出来的密文的八位,而不是抑或之后产生的明文的八位。切记~~~~~
这里面cipher对应解密过程中的明文,plain对应解密过程中从密文文件中取出来的密文