DOI QR코드

DOI QR Code

Optimized Implementation of PIPO Lightweight Block Cipher on 32-bit RISC-V Processor

32-bit RISC-V상에서의 PIPO 경량 블록암호 최적화 구현

  • Received : 2021.12.28
  • Accepted : 2022.02.17
  • Published : 2022.06.30

Abstract

PIPO lightweight block ciphers were announced in ICISC'20. In this paper, a single-block optimization implementation and parallel optimization implementation of PIPO lightweight block cipher ECB, CBC, and CTR operation modes are performed on a 32-bit RISC-V processor. A single block implementation proposes an efficient 8-bit unit of Rlayer function implementation on a 32-bit register. In a parallel implementation, internal alignment of registers for parallel implementation is performed, and a method for four different blocks to perform Rlayer function operations on one register is described. In addition, since it is difficult to apply the parallel implementation technique to the encryption process in the parallel implementation of the CBC operation mode, it is proposed to apply the parallel implementation technique in the decryption process. In parallel implementation of the CTR operation mode, an extended initialization vector is used to propose a register internal alignment omission technique. This paper shows that the parallel implementation technique is applicable to several block cipher operation modes. As a result, it is confirmed that the performance improvement is 1.7 times in a single-block implementation and 1.89 times in a parallel implementation compared to the performance of the existing research implementation that includes the key schedule process in the ECB operation mode.

PIPO 경량 블록암호는 ICISC'20에서 발표된 암호이다. 본 논문에서는 32-bit RISC-V 프로세서 상에서 PIPO 경량 블록암호 ECB, CBC, CTR 운용 모드의 단일 블록 최적화 구현과 병렬 최적화 구현을 진행한다. 단일 블록 구현에서는 32-bit 레지스터 상에서 효율적인 8-bit 단위의 Rlayer 함수 구현을 제안한다. 병렬 구현에서는 병렬 구현을 위한 레지스터 내부 정렬을 진행하며, 서로 다른 4개의 블록이 하나의 레지스터 상에서 Rlayer 함수 연산을 진행하기 위한 방법에 대해 설명한다. 또한 CBC 운용모드의 병렬 구현에서는 암호화 과정에 병렬 구현 기법 적용이 어렵기 때문에 복호화 과정에서의 병렬 구현 기법 적용을 제안하며, CTR 운용모드의 병렬 구현에서는 확장된 초기화 벡터를 사용하여 레지스터 내부 정렬 생략 기법을 제안한다. 본 논문에서는 병렬 구현 기법이 여러 블록암호 운용모드에 적용 가능함을 보여준다. 결과적으로 ECB 운용모드에서 키 스케줄 과정을 포함하고 있는 기존 연구 구현의 성능 대비 단일 블록 구현에서는 1.7배, 병렬 구현에서는 1.89배의 성능 향상을 확인하였다.

Keywords

Acknowledgement

이 논문은 부분적으로 2022년도 정부(과학기술정보통신부)의 재원으로 정보통신기술진흥센터의 지원을 받아 수행된 연구임(No.2018-0-00264, IoT 융합형 블록체인 플랫폼 보안 원천 기술 연구, 30%) 그리고 이 논문은 2022년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임 (No.2021-0-00540, GPU/ASIC 기반 암호알고리즘 고속화 설계 및 구현 기술개발, 30%) 그리고 이 논문은 2022년도 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. NRF- 2020R1F1A1048478, 30%). 본 연구는 한성대학교 교내학술연구비 지원과제임.

References

  1. NIST, Lightweight Cryptography: Project Overview [Internet], https ://csrc.nist.gov/projects/lightweight-cryptography, 2021.
  2. H. G. Kim et al., "A new method for designing lightweight S-Boxes with high differential and linear branch numbers and its application," International Conference on Information Security and Cryptology (ICISC 2020), Seoul, Korea, pp.62, 2020.
  3. S. W. Eum, K. B. Jang, G. J. Song, M. W. Lee, and H. J. Seo, "Optimized parallel implementation of Lightweight block-cipher PIPO on 32-bit RISC-V," Proceedings of the Annual Conference of Korea Information Processing Society Conference (KIPS) 2021, Vol.28, pp.201-204, 2021.
  4. A. Waterman, Y. Lee, D. A. Patterson, and K. Asanovic, "The risc-v instruction set manual, volume i: Baseuser-level isa," EECS Department, UCBerkeley, Technical Report, UCB/EECS-2011-62 116, 2011.
  5. SiFive, Inc. "The RISC-V instruction set manual volume I: User-level ISA document version 2.2," May 7, 2017. [Internet], https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf.
  6. R. Pereira, and R. Adams, "The ESP CBC-mode cipher algorithms," RFC 2451, Nov. 1998.
  7. H. Lipmaa, P. Rogaway, and D. Wagner. "CTR-mode encryption," First NIST Workshop on Modes of Operation, Vol.39, 2000.
  8. Y. J. Kwak, Y. B. Kim, and S. C. Seo, "Benchmarking Korean block ciphers on 32-Bit RISC-V processor," Journal of the Korea Institute of Information Security & Cryptology, Vol.31, Iss.3, pp.331-340, 2021. https://doi.org/10.13089/JKIISC.2021.31.3.331
  9. Y. J. Kwak, Y. B. Kim, and S. C. Seo, "Parallel implementation of PIPO block cipher on 32-bit RISC-V processor," International Conference on Information Security Applications, pp.183-193, 2021.