IEEE Access (Jan 2023)
AVX-Based Acceleration of ARIA Block Cipher Algorithm
Abstract
Block cipher algorithms encrypt sensitive personal, financial, and confidential information to prevent unauthorized access. The ARIA is a general block cipher algorithm with an involutional SPN structure optimized for lightweight environments and hardware implementation. This study focuses on implementing ARIA in the crypto-subsystem of the Linux kernel because it has yet to be implemented despite being recognized as a global standard. This study improves the practicality of ARIA by implementing it in the Linux kernel with reasonable performance and attempts to reduce CPU cycles for substitution and diffusion operations while alleviating the lack of ARIA-specific instructions in existing CPUs. To achieve this, the study implemented the AVX, AVX2, and AVX512 versions of ARIA that can operate in parallel in addition to two types of ARIA-specific substitution functions using AES-NI and GFNI. We implemented an accelerated version of ARIA that performs up to 10.6 times better than the generic version. The optimization of the affine transformation in AES-NI based ARIA has been shown to reduce the required cycle count by 32.2%. Moreover, ARIA demonstrated competitive speeds when compared to other algorithms, such as Camellia, that are implemented in the Linux kernel.
Keywords