arrow
返回

Accelerating Falcon on ARMv8

delete2022-01-01
delete23
delete
OA
AI
Y
YoungBeom Kim
J
Jingyo Song
S
Seog Chung Seo *
DOI:10.1109/ACCESS.2022.3169784delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Falcon is one of the promising digital-signature algorithms in NIST's ongoing Post-Quantum Cryptography (PQC) standardization finalist. Computational efficiency regarding software and hardware is also the main criteria for PQC standardization. In this paper, we present an efficient Falcon software implementation on ARMv8 environment. Until now, most of the software optimization on PQC algorithms have been conducted on 32-bit ARM (Cortex-M4) and typical CPUs (Intel and AMD CPUs). However, ARMv8 including Cortex-A30, 50, and 70 series have been widely used for various IoT (Internet of Things) applications, Edge computing devices, and OBUs (On Board Units) in autonomous driving cars. For optimizing the performance of Falcon, we take full advantage of NEON engine which is a kind of parallel processing unit in ARMv8 MCU. The main computation in Falcon belongs to polynomial multiplications in Complex number domain and Integer domain. Typically, FFT (Fast Fourier Transformation)-based multiplication method and NTT (Number Theoriteic Transform)-based multiplication method have been widely used for efficient polynomial multiplications in Complex number domain and Integer domain, respectively. Thus, in order to enhance the overall performance of Falcon, we improve the FFT-based multiplication method and NTT-based multiplication method by utilizing NEON engine in ARMv8. Specifically, we parallelize the overall process (FFT/NTT transformation, pointwise multiplication, and inverse FFT/NTT transformation) of FFT-based polynomial multiplication method and NTT-based polynomial multiplication method with strategically utilizing the NEON engine and vector instructions. Furthermore, we minimize the number of redundant memory accesses during FFT/NTT-based polynomial multiplication by making the most of available registers in NEON engine. Through the proposed parallel FFT/NTT-based polynomial multiplications, the proposed Falcon software provides 15.1% (resp. 18.1%), 16.5% (resp. 17.1%), and 65.4% (resp. 69.4%) of performance improvement in keypair generation, signing, and verification at security level 1 (resp. 5) compared with the reference Falcon implementation submitted to the final round of NIST PQC competition. Furthermore, as far as we know, this is the first optimized implementation of Falcon on ARMv8 environment.
Keyword:
Security
Software
Neon
Engines
Optimization
Cryptography
Software algorithms
Falcon
NIST PQC signature
parallel implementation
memory optimization
ARM
NEON processor
ARMv8
Internet of Things

期刊

IEEE Access 封面图
IEEE Access
IF:
3.6
论文数:
9.8W
被引数:
29.4W

机构

K
kookmin university
学者数:
3.0K
论文数: 3.3K
被引数: 2
引用论文

引用论文

The Vestibular System
err2012-01-01
err0
PREAI
errGay R. Holstein
err分享
err收藏
Post-Quantum Lattice-Based Cryptography Implementations: A Survey基于后量子格的密码学实现: 综述
err2019-01-28
err160
PREAI
errNejatollahi, Hamid; Dutt, Nikil; Ray, Sandip; Regazzoni, Francesco; Banerjee, Indranil; Cammarota, Rosario
err分享
err收藏
Patients' experiences of shoulder problems prior to and following intervention
err2011-10-13
err0
PREAI
errPia Nyman; Kaj Palenius; Harri Panula; Esko Mälkiä, PhD, PT
err分享
err收藏
The tumor suppressor Pml regulates cell fate in the developing neocortex
err2009-01-11
err0
PREAI
errTarik Regad; Cristian Bellodi; Pierluigi Nicotera; Paolo Salomoni
err分享
err收藏
学者 查看更多内容