Abstract
Side-channel attacks including the differential power analysis attack are often more powerful than classical cryptanalysis and have to be seriously considered by cryptographic algorithm's implementers. Various countermeasures have been proposed against such attacks. In this paper, we deal with the masking method, which is known to be a very effective countermeasure against the differential power analysis attack and propose new gate-level conversion methods between Boolean and arithmetic masks. The new methods require only 6n-5 XOR and 2n-2 AND gates with 3n-2 gate delay for converting n-bit masks. The basic idea of the proposed methods is that the carry and the sum bits in the ripple adder are manipulated in a way that the adversary cannot detect the relation between these bits and the original raw data. Since the proposed methods use only bitwise operations, they are especially useful for DPA-securely implementing cryptographic algorithms in hardware which use both Boolean and arithmetic operations. For example, we applied them to securely implement the block encryption algorithm SEED in hardware and present its detailed implementation result.
암호 시스템을 구현할 경우 차분 전력 분석 공격법 등과 같은 부채널 공격법에 대한 안전성은 반드시 고려되어야 한다. 현재까지 부채널 공격법에 대한 다양한 방어 기법이 제안되었으며, 본 논문에서는 그러한 방어 기법 중의 하나인 마스킹 기법을 주로 다루게 된다. 특히 본 논문에서는 이러한 마스킹 기법의 구현에 수반되는 불 마스크와 산술 마스크 사이의 변환 문제에 대한 효율적인 해법을 제시한다. 새로 제안된 방법의 기본적인 아이디어는, ripple adder에 사용되는 carry 비트와 sum 비트를 계산하는 과정 중에 랜덤 비트를 삽입함으로써 공격자가 상기 비트들과 원 데이터 사이의 상관관계를 알아내지 못하게 하는 데에 있다. 새로 제안된 방법은 어떠한 여분의 메모리 사용 없이 단지 6n-5개의 XOR 게이트와 2n-2개의 AND 게이트만을 사용하여 n-비트 이진열에 대한 마스크 변환을 수행하며 변환 수행 시 3n-2 게이트 시간 지연을 필요로 한다. 새로 제안된 방법은 특히 비트 단위의 연산만을 사용하기 때문에 불 연산과 산술 연산을 동시에 사용하는 암호 알고리즘을 차분 전력 분석 공격에 안전하게 하드웨어로 구현하는 경우 효과적으로 사용될 수 있다. 예를 들어 본 논문은 새로 제안된 방법을 SEED 블록 암호 알고리즘의 안전한 구현에 적용하였으며 그 상세한 구현 결과는 본문에 제시된다.