分组密码的需求分析

TIME:2019-03-21   click: 124 次

爲了保证分组密码的安全强度,普通来说,分组密码的算法设计应足够以下几个要求:

(1)分组长度n要大,使分组代换字母表中的元素个数2足够大,防止明文穷举攻击法奏效。

(2)密钥量要足够大(即置换子汇集的元素足够多),同时需求尽能够消弭弱密钥并使一切密钥同等地好,以防止密钥穷举攻击奏效。但是由于对称密码体系存在密钥操持成绩,密钥也不能过大,以便于密钥的操持。DES选用56bit密钥,按照如今的技艺条件来看,分明太短。IDEA选用128bit密钥,够用。据估量,在今后30~40年内选用80bit密钥是足够安全的。

(3)由密钥确定置换的算法要足够复杂,足够完成明文与密钥的分散和混杂,没有关系可循,能抗击各种已知的攻击,如差分攻击、线性攻击、边信道攻击等;还要有高的非线性阶数,完成芜杂的密码改换,然后使得攻击者在破译时除了用穷举法之外找不到其他更有用的攻击方法。

(4)加密和解密运算复杂,易于软件和硬件高速完成。

运用子块和复杂的运算。如将分组n划分爲子段,每段长爲8、16或许32。在软件完成时,应选用复杂的运算,使作用于子段上的密码运算易于以处置器的根本运算,如加、乘、移位等完成,防止用软件难于完成的逐比特置换。

加解密算法应具有类似性。爲了便于硬件完成,加密和解密进程之间的不同应仅在于由随机密钥所生成的密钥表不同而已。这样,加密和解密就可用同一器件完成。

规划的算法选用规矩的模块构造,如多轮迭代等,以便于软件和VLSI疾速完成。多轮迭代是乘积密码的特例,指同一基本加密构造的多次执行。若以一个复杂函数停止多次迭代,就称其爲迭代密码。每次迭代称作一轮( Round)。相应函数称作轮函数。

过失传达和数据扩展要尽能够地小。

(5)数据扩展。普通有数据扩展,在选用同态置换和随机化加密技艺时(如公钥密码)可以引进数据扩展。

(6) 差错传播尽可能地小。

要求lbit的传输错误不会影响更多比特的正确解密,也就是说,加密或解密某明文或密文分组出错,对后续密文解密影响尽可能小。

要完成上述几点要求并不简单。首要,要在理论上研究有用而牢靠的办法,然后进行严厉的安全性查验,而且要易于实现。


上一篇:同步序列密码的特点 下一篇:传统密码体制的密钥的分配与管理问题