64-bit ARM 프로세서 상에서의 블록암호PIPO 병렬 최적 구현
Optimized Implementation of Block Cipher PIPO in Parallel-Way on 64-bit ARM Processors
0
조회
0
다운로드
4
인용
0
참고문헌
키워드
초록
ICISC’20에서 발표된 경량 블록암호 PIPO는 비트 슬라이스 기법 적용으로 효율적인 구현이 되었으며, 부채널 내성을 지니기에 안전하지 않은 환경에서도안정적으로 사용 가능한 경량 블록암호이다. 본 논문에서는 ARM 프로세서를 대상으로 PIPO의 병렬 최적 구현을 제안한다. 제안하는 구현물은 8평문,16평문의 병렬 암호화가 가능하다. 구현에는 최적의 명령어 활용, 레지스터 내부 정렬, 로테이션 연산 최적화 기법을 사용하였다. 또한 레지스터 내부정렬을 매 라운드마다 진행하는 구현물과, 정렬을 최소화하는 구현물 두 종류로 구분하여 구현한다. 구현은 A10x fusion 프로세서를 대상으로 한다. 대상프로세서 상에서, 기존 레퍼런스 PIPO 코드는 64/128, 64/256 규격에서 각각 34.6 cpb, 44.7 cpb의 성능을 가지나, 제안하는 기법 중, 일반 구현물은8평문 64/128, 64/256 규격에서 각각 12.0 cpb, 15.6 cpb, 16평문 64/128, 64/256 규격에서 각각 6.3 cpb, 8.1 cpb의 성능을 보여준다. 이는 기존대비 각 규격별로 8평문 병렬 구현물은 약 65.3%, 66.4%, 16평문 병렬 구현물은 약 81.8%, 82.1% 더 좋은 성능을 보인다. 레지스터 최소 정렬 구현물은8평문 64/128, 64/256 규격에서 각각 8.2 cpb, 10.2 cpb, 16평문 64/128, 64/256 규격에서 각각 3.9 cpb, 4.8 cpb의 성능을 보여준다. 이는 기존레퍼런스 코드 구현물 대비 각 규격별로 8평문 병렬 구현물은 약 76.3%, 77.2%, 16평문 병렬 구현물은 약 88.7% 89.3% 더 향상된 성능을 가진다.
Abstract
The lightweight block cipher PIPO announced at ICISC’20 has been effectively implemented by applying the bit slice technique. In thispaper, we propose a parallel optimal implementation of PIPO for ARM processors. The proposed implementation enables parallel encryptionof 8-plaintexts and 16-plaintexts. The implementation targets the A10x fusion processor. On the target processor, the existing referencePIPO code has performance of 34.6 cpb and 44.7 cpb in 64/128 and 64/256 standards. Among the proposed methods, the generalimplementation has a performance of 12.0 cpb and 15.6 cpb in the 8-plaintexts 64/128 and 64/256 standards, and 6.3 cpb and 8.1 cpbin the 16-plaintexts 64/128 and 64/256 standards. Compared to the existing reference code implementation, the 8-plaintexts parallelimplementation for each standard has about 65.3%, 66.4%, and the 16-plaintexts parallel implementation, about 81.8%, and 82.1% betterperformance. The register minimum alignment implementation shows performance of 8.2 cpb and 10.2 cpb in the 8-plaintexts 64/128and 64/256 specifications, and 3.9 cpb and 4.8 cpb in the 16-plaintexts 64/128 and 64/256 specifications. Compared to the existing referencecode implementation, the 8-plaintexts parallel implementation has improved performance by about 76.3% and 77.2%, and the 16-plaintextparallel implementation is about 88.7% and 89.3% higher for each standard.
참고문헌 (6)
- A. Heuser, "Lecture Notes in Computer Science, Vol.10155", pp.91~104 (2017)
- H. G. Kim, "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), pp.62~ (2020)
- H. J. Seo, "SIDH on ARM : Faster modular multiplications for faster post-quantum supersingular isogeny key exchange", Conference on Cryptographic Hardware and Embedded Systems (CHES 2018), pp.19~ (2018)
- J. G. Song, "Secure and fast implementation of ARX-Based block ciphers using ASIMD instructions in ARMv8 platforms", IEEE Access, 8, pp.193138~193153 (2020)
- 서화정, "ARMv8 상에서 LEA 암호화 고속 구현", 한국정보통신학회논문지, 21(10), pp.1929~1934 (2017), 한국정보통신학회[DOI]
- J. G. Song, "Efficient parallel implementation of CTR mode of ARX-Based block ciphers on ARMv8microcontrollers", MDPI Applied Sciences, 11(6), pp.1~28 (2021)
