Abstract
In this paper, complexity and regularity of polynomial multiplication over $GF({2^n})$ are defined by using Hamming weight of rows and columns of the matrix ever GF(2) which represents polynomial multiplication. It is shown experimentally that in order to construct the block cipher robust against differential cryptanalysis, polynomial multiplication of substitution layer and the permutation layer should have high complexity and high regularity. With result of the experiment, a way of constituting S box and G function is suggested in the block cipher whose structure is similar to SEED, which is KOREA standard of 128-bit block cipher. S box can be formed with a nonlinear function and an affine transform. Nonlinear function must be strong with differential attack and linear attack, and it consists of an inverse number over $GF({2^8})$ which has neither a fixed pout, whose input and output are the same except 0 and 1, nor an opposite fixed number, whose output is one`s complement of the input. Affine transform can be constituted so that the input/output correlation can be the lowest and there can be no fixed point or opposite fixed point. G function undergoes linear transform with 4 S-box outputs using the matrix of 4${\times}$4 over $GF({2^8})$. The components in the matrix of linear transformation have high complexity and high regularity. Furthermore, G function can be constituted so that MDS(Maximum Distance Separable) code can be formed, SAC(Strict Avalanche Criterion) can be met, and there can be no weak input where a fixed point an opposite fixed point, and output can be two`s complement of input. The primitive polynomials of nonlinear function affine transform and linear transformation are different each other. The S box and G function suggested in this paper can be used as a constituent of the block cipher with high security, in that they are strong with differential attack and linear attack with no weak input and they are excellent at diffusion.
본 논문에서는 $GF({2^n})$상 곱셈의 복잡도와 규칙도를 GF(2)상의 다항식 곱셈을 표현하는 행렬식의 행과 열의 해밍 가중치를 이용하여 정의한다 차분공격에 강한 블록 암호 알고리즘을 만들기 위해서는 치환계층과 확산계층의 $GF({2^n})$상 곱셈의 복잡도와 규칙도가 높아야함을 실험을 통하여 보인다. 실험 결과를 활용하여 우리나라 표준인 128 비트 블록 암호 알고리즘인 SEED의 S 박스와 G 함수를 구성하는 방식을 제안한다. S 박스는 비 선형함수와 아핀변환으로 구성한다. 비 선형함수는 차분공격과 선형공격에 강한 특성을 가지며, '0'과 '1'을 제외하고 입력과 출력이 같은 고정점과 출력이 입력의 1의 보수가 되는 역고정점을 가지지 않는 $GF({2^8})$ 상의 역수로 구성한다. 아핀변환은 입력과 출력간의 상관을 최저로 하면서 고정점과 역고정점이 없도록 구성한다. G 함수는 4개의 S 박스 출력을 $GF({2^8}) 상의 4 {\times} 4$ 행렬식을 사용하여 선형변환한다. 선형변환 행렬식 성분은 높은 복잡도와 규칙도를 가지도록 구성한다 또한 MDS(Maximum Distance Separable) 코드를 생성하고, SAC(Strict Avalanche Criterion)를 만족하고, 고정점과 역고정점 및 출력이 입력의 2의 보수가 되는 약한 입력이 없도록 G 함수를 구성한다. 비선형함수와 아핀변환 및 G 함수의 원시다항식은 각기 다른 것을 사용한다. 본 논문에서 제안한 S 박스와 G 함수는 차분공격과 선형공격에 강하고, 약한 입력이 없으며, 확산 특성이 우수하므로 안전성이 높은 암호 방식의 구성 요소로 활용할 수 있다.