본 개시서에는 암호학적으로 데이터를 처리하는 방법 및 이를 이용한 장치가 개시된다. 구체적으로, 본 개시서에 따른 방법에 의하면, 소정 라운드 횟수인 자연수 M에 대하여, 제1 내지 제M+1 라운드 키를 생성하고 생성된 상기 제1 내지 제M+1 라운드 키를 이용한 암호화로써 평문으로부터 암호문을 산출하는바, 구체적으로, 마스터 키를 생성하고, 상기 마스터 키와 라운드별 상수에 대해 XOR을 포함한 연산을 수행한 결과값으로서 제1 내지 제M+1 라운드 키를 생성하며, 상기 라운드별 상수는 라운드마다 상이하게 정해진다. 상기 평문으로부터 상기 암호문을 산출함은, 상기 제1 라운드 키를 이용하여 상기 평문으로부터 제1 중간값을 산출하고, n=1, ..., M에 대하여, 순차적으로 (i) 제n 중간값에 치환 연산(substitution)을 포함한 연산을 적용한 결과에 비트 간 위치변환 연산(bit permutation)을 포함한 연산을 적용하거나 상기 제n 중간값에 상기 비트 간 위치변환 연산을 포함한 연산을 적용한 결과에 상기 치환 연산을 포함한 연산을 적용하여 제n 결과값을 산출하는 단계 및 (ii) 제n+1 라운드 키를 이용하여 제n 결과값으로부터 제n+1 중간값을 산출하는 단계를 반복 수행함으로써 이루어지고, 그 중 제M+1 중간값은 암호문으로 산출된다.
|