DOI QR코드

DOI QR Code

High Speed Implementation of LEA on ARMv8

ARMv8 상에서 LEA 암호화 고속 구현

  • Received : 2017.06.11
  • Accepted : 2017.07.02
  • Published : 2017.10.31

Abstract

Lightweight block cipher (Lightweight Encryption Algorithm, LEA), is the most promising block cipher algorithm due to its efficient implementation feature and high security level. The LEA block cipher is widely used in real-field applications and there are many efforts to enhance the performance of LEA in terms of execution timing to achieve the high availability under any circumstances. In this paper, we enhance the performance of LEA block cipher, particularly on ARMv8 processors. The LEA implementation is optimized by using new SIMD instructions namely NEON engine and 24 LEA encryption operations are simultaneously performed in parallel way. In order to reduce the number of memory access, we utilized the all NEON registers to retain the intermediate results. Finally, we evaluated the performance of the LEA implementation, and the proposed implementations on Apple A7 and Apple A9 achieved the 2.4 cycles/byte and 2.2 cycles/byte, respectively.

경량 블록암호화 (Lightweight Encryption Algorithm, LEA)는 연산의 효율성과 높은 보안성으로 인해 가장 각광받고 있는 블록암호화 알고리듬이다. 해당 블록암호화는 실제 응용프로그램에서도 많이 사용되고 있으며 서비스 가용성을 높이기 위해 연산 성능을 개선하는 연구가 많이 진행되고 있다. 본 논문에서는 최신 ARMv8 프로세서 상에서 LEA 연산을 최적화하는 방안에 대해 제안한다. 구현은 새로운 SIMD 명령어 셋인 NEON을 통해 최적화되었으며 병렬화된 연산을 통해 동시에 24 번의 암호화 연산을 수행하도록 한다. 메모리 접근 횟수를 줄이기 위해 활용가능한 모든 NEON 레지스터에 중간 계산값을 할당하여 활용하였다. 해당 구현 결과는 속도 관점에서 평가되었으며 ARMv8 상에서 LEA 암호 구현은 Apple A7 그리고 Apple A9 프로세서 상에서 각각 2.4 cycles/byte 그리고 2.2 cycles/byte 안에 수행 가능함을 확인할 수 있었다.

Keywords

References

  1. D. Hong, J.-K. Lee, D.-C. Kim, D. Kwon, K. H. Ryu, and D.-G. Lee, "LEA: A 128-bit block cipher for fast encryption on common processors," In Information Security Applications, WISA 2013, pp. 3-27, 2013.
  2. H. Seo, Z. Liu, T. Park, H. Kim, Y. Lee, J. Choi, and H. Kim, "Parallel implementations of LEA," In Information Security and Cryptology, ICISC 2013, pp. 256-274, 2013.
  3. H. Seo and H. Kim, "Low-power encryption algorithm block cipher in JavaScript," Journal of Information and Communication Convergence Engineering, vol. 12, no. 4, pp. 252-256, Dec. 2014. https://doi.org/10.6109/jicce.2014.12.4.252
  4. H. Seo, Z. Liu, J. Choi, T. Park, and H. Kim, "Compact implementations of LEA block cipher for low-end microprocessors," In Information Security Applications WISA 2015, pp. 28-40, 2015.
  5. H. Seo, T. Park, S. Heo, G. Seo, B. Bae, Z. Hu, L. Zhou, Y. Nogami, Y. Zhu, H. Kim, "Parallel Implementations of LEA, Revisted," In Information Security Applications, WISA 2016, pp. 318-330, 2016.
  6. D. A. Osvik, J. W. Bos, D. Stefan, and D. Canright, "Fast software AES encryption," In Fast Software Encryption FSE 2010, pp. 75-93, 2010.
  7. T. Park, H. Seo, H, Kim, "Parallel Implementations of SIMON and SPECK," IEEE International Conference on Platform Technology and Service, pp. 1-6, 2016.