Open Access iconOpen Access

ARTICLE

crossmark

Portable and Efficient Implementation of CRYSTALS-Kyber Based on WebAssembly

Seog Chung Seo1, HeeSeok Kim2,*

1 Department of Financial Information Security, Kookmin University, Seoul, 02707, Korea
2 Department of Cyber Security, College of Science and Technology, Korea University, Sejong, 30019, Korea

* Corresponding Author: HeeSeok Kim. Email: email

Computer Systems Science and Engineering 2023, 46(2), 2091-2107. https://doi.org/10.32604/csse.2023.035064

Abstract

With the rapid development of quantum computers capable of realizing Shor’s algorithm, existing public key-based algorithms face a significant security risk. Crystals-Kyber has been selected as the only key encapsulation mechanism (KEM) algorithm in the National Institute of Standards and Technology (NIST) Post-Quantum Cryptography (PQC) competition. In this study, we present a portable and efficient implementation of a Crystals-Kyber post-quantum KEM based on WebAssembly (Wasm), a recently released portable execution framework for high-performance web applications. Until now, most Kyber implementations have been developed with native programming languages such as C and Assembly. Although there are a few previous Kyber implementations based on JavaScript for portability, their performance is significantly lower than that of implementations based on native programming languages. Therefore, it is necessary to develop a portable and efficient Kyber implementation to secure web applications in the quantum computing era. Our Kyber software is based on JavaScript and Wasm to provide portability and efficiency while ensuring quantum security. Namely, the overall software is written in JavaScript, and the performance core parts (secure hash algorithm-3-based operations and polynomial multiplication) are written in Wasm. Furthermore, we parallelize the number theoretic transform (NTT)-based polynomial multiplication using single instruction multiple data (SIMD) functionality, which is available in Wasm. The three steps in the NTT-based polynomial multiplication have been parallelized with Wasm SIMD intrinsic functions. Our software outperforms the latest reference implementation of Kyber developed in JavaScript by ×4.02 (resp. ×4.32 and ×4.1), ×3.42 (resp. ×3.52 and ×3.44), and ×3.41 (resp. ×3.44 and ×3.38) in terms of key generation, encapsulation, and decapsulation on Google Chrome (resp. Firefox, and Microsoft Edge). As far as we know, this is the first software implementation of Kyber with Wasm technology in the web environment.

Keywords


Cite This Article

S. C. Seo and H. Kim, "Portable and efficient implementation of crystals-kyber based on webassembly," Computer Systems Science and Engineering, vol. 46, no.2, pp. 2091–2107, 2023. https://doi.org/10.32604/csse.2023.035064



cc This work is licensed under a Creative Commons Attribution 4.0 International License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • 1116

    View

  • 488

    Download

  • 0

    Like

Share Link