Abstract
In this paper, a way of constituting optimized S box and G function was 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 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 point, whose input and output are the same except 0 and 1, nor an opposite flexed 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 diffusive linear transform with 4 S-box outputs using the matrix of 4$\times$4 over GF(2$\^$8/). G function can be constituted so that MDS(Maximum Distance Separable) code can be formed, SAC(Strict Avalanche Criterion) can be met, there can be no weak input, where a fried point, an opposite fried point, and output can be two's complement of input, and the construction of hardware can be made easy. 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.
본 논문에서는 우리나라 128 비트 블록 암호 알고리즘 표준인 SEED와 유사한 구조를 가지는 암호방식에서 최적화한 S 박스와 G 함수를 구성하는 방식을 제안한다. S 박스는 비선형 함수와 아편변환으로 구성한다. 비선형함수는 차분공격과 선형공격에 강한 특성을 가지며, '0'과 '1'을 제외하고 입력과 출력이 같은 고정점과 출력이 입력의 1의 보수가 되는 역고정점을 가지지 않는 GF(2$^{8}$ ) 상의 역수로 구성한다. 아핀변환은 입력과 출력간의 상관을 최저로 하면서 고정점과 역고정점이 없도록 구성한다. G 함수는 4개의 S 박스 출력을 GF(2$_{8}$ ) 상의 4$\times$4 행렬식을 사용하여 확산선형변환한다. G 함수는 MDS(Maximum Distance Separable) 코드를 생성하구 SAC(Strict Avalanche Criterion)를 만족하고, 고정점과 역고정점 및 출력이 입력의 2의 보수가 되는 약한 입력이 없으며, 하드웨어 구현이 용이하도록 구성한다. 본 논문에서 제안한 S 박스와 G 함수는 차분공격과 선형공격에 강하고, 약한 입력이 없으며, 하드웨어 구현이 용이하며, 확산 특성이 우수하므로 안전성이 높은 암호 방식의 구성 요소로 활용할 수 있다.