Gate-Level Conversion Methods between Boolean and Arithmetic Masks

불 마스크와 산술 마스크에 대한 게이트 레벨 변환기법

  • Published : 2009.11.25

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 블록 암호 알고리즘의 안전한 구현에 적용하였으며 그 상세한 구현 결과는 본문에 제시된다.

Keywords

References

  1. P. Kocher, Timing Attacks on implementation of Diffie-Hellman, RSA, DSS, and other systems, CRYPTO '96, Lecture Notes in Computer Science 1109, 104-113, Santa Barbara, USA, August 1996 https://doi.org/10.1007/3-540-68697-5_9
  2. P. Kocher, J. Jaffe and B. Jun, Differential Power analysis, CRYPTO '99, Lecture Notes in Computer Science 1666, 388-397, Santa Barbara, USA, August 1999 https://doi.org/10.1007/3-540-48405-1_25
  3. T. Messeges, Securing the AES finalists against power analysis attacks, FSE 2000, Lecture Notes in Computer Science 1978, 150-165, New York, USA, April 2000 https://doi.org/10.1007/3-540-44706-7_11
  4. J.-S. Coron and A. Tchulkine, A New Algorithm for Switching from Arithmetic to Boolean Masking, CHES 2003, Lecture Notes Computer Science 2779, 89-97, Cologne, Germany, September 2003 https://doi.org/10.1007/978-3-540-45238-6_8
  5. L. Goubin, A sound method for switching between boolean and arithmetic masking, CHES 2001, Lecture Notes in Computer Science 2162, 3-15, Paris, France, May 2001 https://doi.org/10.1007/3-540-44709-1_2
  6. J -S. Coron and L. Goubin, On boolean and arithmetic masking against differential power analysis, CHES 2000, Lecture Notes Computer Science 1965, 231-237, Worcester, USA, August 2000 https://doi.org/10.1007/3-540-44499-8_18
  7. ISO/IEC 18033-3, Information technology Security techniques Encryption Part 3: Block ciphers, ISO/IEC, 2005
  8. M. Ercegovac and T. Land, Digital Arithmetic, Morgan Kaufmann Publishers, 2004