统计检测在分组密码安全性评估的过程中发挥着重要的作用,许多密码标准组织纷纷把对分组密码的统计检测作为评估过程中的重要环节来实施.文中提出了一种有效、实用的统计检测方法,该统计检测方法以分组长度为统计单位,将一个分组的某一字节取遍所有的值而其它字节固定不变,经过密码变换后,将256个输出值进行异或,通过检测输出异或值每一位为0(或1)的概率是否为1/2来判断分组密码是否随机.该检测方法可以一定程度地反映出分组密码抵抗积分攻击的能力.与此同时,基于推广的积分攻击方法,文中在已有方法的基础上提出了更一般的统计检测方法.另外,文中分别对Rijndael算法、Camellia算法和SMS4算法进行了统计检测,这3种算法分别从第4轮、第5轮和第7轮开始呈现出良好的统计性能.
Statistical tests are playing very important part in the security evaluation on block elphers, which have been applied by many cryptographic standard organizations in the evaluation process. In this paper, an effective and practical statistical test is proposed, which takes block size as the statistics unit. In the test, one state byte of a block is taken all possible values while other bytes are fixed, and after cryptographic transformation 256 output values are applied XOR(exclusire-or) operation. By testing whether every output bit of XORed value is 0 with probability 1/2, the randomness of block ciphers can be judged. The method can also somewhat reflect the resistance ability of a block cipher to integral attack. Meanwhile, based on the generalized integral attack, a more generalized statistical test is proposed on the basis of the given method. Moreover, the proposed statistical test is applied on Rijndael, Camellia and SMS4 algorithm, and good statistical property begins to behave respectively after 4 round, 5 round and 7 round operation.