HIGHT 블록 암호 알고리즘의 고속화 구현
Speed-optimized Implementation of HIGHT Block Cipher Algorithm
1
조회
0
다운로드
3
인용
0
참고문헌
키워드
초록
본 논문에서는 국제 표준 블록 암호 알고리즘인 HIGHT를 CPU 및 GPU 상에서 소프트웨어로 고속화 구현하기위한 다양한 방법을 시도한다. 먼저 CPU 상에서는 32비트 및 64비트 운영체제를 고려하고 비트 슬라이싱 및 바이트슬라이싱 기법을 적용한다. 이들 최적화 기법의 적용 결과, Intel core i7 920 CPU 상에서 64비트 운영체제를 이용할 경우 최대 1.48Gbps의 속도를 보여 슬라이싱이 적용되지 않은 기존 구현에 비해 최대 2.4배 빠른 성능을 확인할 수 있었다. 한편 GPU 상에서는 NVIDIA의 CUDA 라이브러리를 활용하였으며, 서브키 및 함수를 위한 룩업테이블 등과 같이 자주 사용되는 데이터를 공유 메모리에 저장하여 사용하고, 전역 메모리에서 데이터를 읽어올 때는통합 접근(coalesced access) 기법을 사용하는 등 최적화 기법들을 적용해 구현하였다. 특히 본 논문은 GPU 상에서 HIGHT를 최적화한 최초의 결과로, GPU 상에서도 바이트 슬라이싱 기법을 적용할 경우 단순 구현 결과보다20% 이상 빠른 성능을 확인할 수 있었으며, CPU에 비해서는 약 31배 빠른 결과를 얻을 수 있었다.
Abstract
This paper presents various speed optimization techniques for software implementation of the HIGHT block cipher on CPUs and GPUs. We considered 32-bit and 64-bit operating systems for CPU implementations. After we applied the bit-slicing and byte-slicing techniques to HIGHT, the encryption speed recorded 1.48Gbps over the intel core i7 920 CPU with a 64-bit operating system, which is up to 2.4 times faster than the previous implementation. We also implemented HIGHT on an NVIDIA GPU equipped with CUDA, and applied various optimization techniques, such as storing most frequently used data like subkeys and the lookup table in the shared memory; and using coalesced access when reading data from the global memory. To our knowledge, this is the first result that implements and optimizes HIGHT on a GPU. We verified that the byte-slicing technique guarantees a speed-up of more than 20%, resulting a speed which is 31 times faster than that on a CPU.
참고문헌 (14)
- "HIGHT 블록암호 알고리즘사양 및 세부 명세서", 한국인터넷진흥원[URL]
- D. Hong, "HIGHT: A new block cipher suitable forlow-resource device, CHES2006", LNCS, 4249, pp.46~59 (2006)
- International Organization for Standardization, "ISO", IEC 18033-3:2010, IEC 18033-3, pp.2010, ~
- National Institute of Standards andTechnology, "Data Encryption Standard(DES)", FIPS PUB 46-2, ~ (1993)
- National Institute of Standards andTechnology, "Advanced Encryption Standard(AES)", FIPS PUB 197, ~ (2001)
- "SEED 블록암호 알고리즘", 한국인터넷진흥원[URL]
- "ARIA 블록암호 알고리즘", 한국인터넷진흥원[URL]
- S. A. Manavski, "CUDA compatible GPUas an efficient hardware accelerator forAES cryptography", ICSPC2007, pp.65~68 (2007)
- D.A. Osvik, "Fast software AES encryption, FSE2010", LNCS, 6147, pp.75~93 (2010)
- 염용진, "GPU용 연산 라이브러리 CUDA를 이용한 블록암호 고속 구현", 정보보호학회논문지, 18(3), pp.23~32 (2008), 한국정보보호학회
- 임지혁, "GPU용라이브러리 CUDA를 이용한 SEED 알고리즘의고속화 구현", 한국정보과학회 학술발표논문집, 37(2B), pp.417~421 (2010), 한국정보과학회
- E. Biham, "A fast new DES implementationin software, FSE 1997", LNCS, 1267, pp.260~272 (1997)
- E. Kasper, "Fast andtiming-attack resistant AES-GCM, CHES2009", LNCS, 5747, pp.1~17 (2009)
- "NVIDIA CUDA C programmingguide"[URL]
