Abstract
According to the necessity about information security as well as the advance of IT system and the spread of the Internet, a variety of cryptography algorithms are being developed and put to practical use. In addition the technique about cryptography attack also is advanced, and the algorithms which are strong against its attack are being studied. If the linear transformation matrix in the block cipher algorithm such as Substitution Permutation Networks(SPN) produces the Maximum Distance Separable(MDS) code, it has strong characteristics against the differential attack and linear attack. In this paper, we propose a new algorithm which cm estimate that the linear transformation matrix produces the MDS code. The elements of input code of linear transformation matrix over GF$({2_n})$ can be interpreted as variables. One of variables is transformed as an algebraic formula with the other variables, with applying the formula to the matrix the variables are eliminated one by one. If the number of variables is 1 and the all of coefficient of variable is non zero, then the linear transformation matrix produces the MDS code. The proposed algorithm reduces the calculation time greatly by diminishing the number of multiply and reciprocal operation compared with the conventional algorithm which is designed to know whether the every square submatrix is nonsingular.
정보통신의 발달과 인터넷의 확산으로 인해 정보보안의 필요성이 증대되면서 다양한 암호알고리즘이 개발되어 활용되고 있다. 이와 더불어 암호 공격 기술도 발전하여서, 공격에 강한 알고리즘에 대한 연구가 활발하게 진행되고 있다. Substitution Permutation Networks(SPN)등의 블록 암호알고리즘에서 교환계층의 선형변환행렬이 Maximum Distance Separable(MDS) 코드를 생성하면 차분공격과 선형공격에 강한 특성을 보인다. 본 논문에서는 선형변환행렬이 MDS 코드를 생성하는가를 판단하는 새로운 알고리즘을 제안한다. 선행변환행렬의 입력코드는 GF(2$^n$)상의 원소들로 이들을 변수로 해석할 수 있다. 하나의 변수를 다른 변수들의 대수식으로 변환하고 대입하여 변수를 하나씩 소거한다. 변수가 하나이고 모든 계수가 ‘0’이 아니면 선형변환 행렬은 MDS 코드를 생성한다. 본 논문에서 제안한 알고리즘은 기존의 모든 정방부분행렬이 정칙인지를 판단하는 알고리즘과 비교하여 곱셈 및 역수 연산수를 많이 줄임으로서 수행 시간을 크게 감소 시켰다.