Paper 2021/1030

A lightweight ISE for ChaCha on RISC-V

Ben Marshall, Daniel Page, and Thinh Hung Pham

Abstract

ChaCha is a high-throughput stream cipher designed with the aim of ensuring high-security margins while achieving high performance on software platforms. RISC-V, an emerging, free, and open Instruction Set Architecture (ISA) is being developed with many instruction set extensions (ISE). ISEs are a native concept in RISC-V to support a relatively small RISC-V ISA to suit different use-cases including cryptographic acceleration via either standard or custom ISEs. This paper proposes a lightweight ISE to support ChaCha on RISC-V architectures. This approach targets embedded computing systems such as IoT edge devices that don't support a vector engine. The proposed ISE is designed to accelerate the computation of the ChaCha block function and align with the RISC-V design principles. We show that our proposed ISEs help to improve the efficiency of the ChaCha block function. The ISE-assisted implementation of ChaCha encryption speeds up at least $5.4\times$ and $3.4\times$ compared to the OpenSSL baseline and ISA-based optimised implementation, respectively. For encrypting short messages, the ISE-assisted implementation gains a comparative performance compared to the implementations using very high area overhead vector extensions.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
Keywords
ChaChaStream CiphersInstruction Set ExtensionRISC-V
Contact author(s)
th pham @ bristol ac uk
History
2021-08-16: received
Short URL
https://ia.cr/2021/1030
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2021/1030,
      author = {Ben Marshall and Daniel Page and Thinh Hung Pham},
      title = {A lightweight {ISE} for {ChaCha} on {RISC}-V},
      howpublished = {Cryptology {ePrint} Archive, Paper 2021/1030},
      year = {2021},
      url = {https://eprint.iacr.org/2021/1030}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.