ARM/NEON 프로세서를 활용한 NIST PQC SABER에서 Toom-Cook 알고리즘 최적화 구현 연구
Optimization Study of Toom-Cook Algorithm in NIST PQC SABER Utilizing ARM/NEON Processor
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
NIST(National Institute of Standards and Technology)에서는 2016년부터 양자컴퓨팅 환경을 대비하여 양자내성암호 표준화 사업을 진행하고 있다. 현재 3라운드가 진행 중이며, 대부분 후보자(5/7)는 격자기반 암호이다. 격자기반 암호는 효율적인 연산 처리와 적절한 키 길이를 제공하여 다른 기반의 양자내성 암호보다 리소스가 제한적인 임베디드 환경에서도 적용이 가능하다는 평가를 받고 있다. 그중 SABER KEM은 효율적인 모듈러스와 연산 부하가 큰 다항식 곱셈을 처리하기 위해 Toom-Cook 알고리즘을 제공한다. 본 논문에서는 ARMv8-A 환경에서 ARM/NEON을 활용하여 SABER의 Toom-Cook 알고리즘에서 평가와 보간 과정에 대한 최적화 구현 방법을 소개한다. 평가과정에서는 ARM/NEON의 효율적인 인터리빙 방법을 제안하며, 보간 과정에 서는 다양한 임베디드 환경에서 적용 가능한 최적화된 구현 방법론을 소개한다. 결과적으로 제안하는 구현은 이전 레퍼런스 구현보다 평가과정에서는 약 3.5배 보간과정에서는 약 5배 빠른 성능을 달성하였다.
Abstract
Since 2016, National Institute of Standards and Technology (NIST) has been conducting a post quantum cryptography standardization project in preparation for a quantum computing environment. Three rounds are currently in progress, and most of the candidates (5/7) are lattice-based. Lattice-based post quantum cryptography is evaluated to be applicable even in an embedded environment where resources are limited by providing efficient operation processing and appropriate key length. Among them, SABER KEM provides the efficient modulus and Toom-Cook to process polynomial multiplication with computation-intensive tasks. In this paper, we present the optimized implementation of evaluation and interpolation in Toom-Cook algorithm of SABER utilizing ARM/NEON in ARMv8-A platform. In the evaluation process, we propose an efficient interleaving method of ARM/NEON, and in the interpolation process, we introduce an optimized implementation methodology applicable in various embedded environments. As a result, the proposed implementation achieved 3.5 times faster performance in the evaluation process and 5 times faster in the interpolation process than the previous reference implementation.
참고문헌 (10)
- Peter W. Shor, "Polynomial-time algorithm for prime factorization and discrete logarithms on a quatum computer", SIAM review, 41(2), pp.303~332 (1997)
- "NIST PQC Standardization" (2021)[URL]
- Hwajeong Seo, "Parallel Implementations of LEA, Revisited", WISA, 10144, pp.318~330 (2016)
- Hwajeong Seo, "Parallel Implementations of CHAM", WISA, 11402, pp.93~104 (2018)
- Hwajeong Seo, "ARM", NEON Co-design of Multiplication, WISA 2017, pp.2017, 10763[DOI]
- "ARMv8 A64 Instruction set" (2021)[URL]
- "ARMv8 ASIMD Instruction set" (2021)[URL]
- Leon Botros, "Memory-Efficient High-Speed Implementation of Kyber on Cortex-M4", AFRICACRYPTO, 11627, pp.209~228 (2019)
- Jose Maria Bermudo Mera, "Time-memory trade-off in Toom-Cook multiplication: an application to module-lattice based cryptography", CHES, 2020(2), pp.222~244 (2020)
- Denisa O. C. Greconici, "Compact Dilithium Implementations on Cortex-M3 and Cortex-M4", CHES, 2021(1), pp.1~24 (2021)
