P-置换是实现分组密码扩散原则的关键组件。一般来说,分支数越大,扩散效果越明显。人们利用MDS矩阵设计最优线性变换作为分组密码组件的扩散层。在达到最优线性变换的同时,针对扩散矩阵还应满足矩阵中元素尽量少的要求,对Cauchy型MDS矩阵分别与Hadmard矩阵和循环移位矩阵的相互结合方式构造最优线性层的方法进行了研究。对Cauchy-Hadmard矩阵(同时是Cauchy矩阵和Hadmard矩阵)构造线性变换的一种方法进行了分析,给出了算法的C语言的关键程序,根据算法给出了一个最优线性变换的示例;对循环移位矩阵构造Cauchy矩阵进行了尝试和证明。结果显示Cauchy-Hadmard矩阵满足矩阵元素最少和运算复杂度低的要求,利用循环移位矩阵无法构造出Cauchy矩阵。这些结论为设计分组密码组件的扩散层提供了重要的方法参考。
The P-permutation is a key component for block ciphers to realize the principle of transformation. Generally speaking, when the branch numbers are more, the transformation effect is more obvious. The people used MDS matrix revise the best liner transformation as the diffusion layer of block cipher component. It not only needs the best linear transformation, but also needs that the elements of matrix are least. The paper researched the method of Cauchy MDS matrix to Hadmard matrix and to circulate shifting matrix of combination mode to construct the best linear layer. It also analyzed a kind of method for Cauchy-Hadmard matrix to construct linear transformation and gave the key procedure of C programming language for the algorithm, and presented a optimal linear mapping. It tried and proved circulate shifting matrix to construct Cauchy matrix. Simulation results show that the Cauchy-Hadmard matrix is content to the request of least matrix elements and low operation complexity and it is impossible to construct Cauchy matrix by using circulate shifting matrix. These results may provide an alternative method to design the diffusion layer of block cipher component.