Paper 2025/1934
HORCRUX - A Lightweight PQC-RISC-V eXtension Architecture
Abstract
This work presents a RISC-V extension for Post-Quantum Cryptography (PQC) called HORCRUX, which provides a unified Instruction-Set Extension (ISE) supporting all NIST-approved PQC algorithms. HORCRUX addresses the current fragmentation in hardware support, where existing extensions typically focus on individual algorithms or limited subsets of PQC schemes, and targets the common kernels shared across ML-KEM, ML-DSA, SLH-DSA, and HQC. To address the primary computational bottlenecks of all these algorithms (namely, modular arithmetic, matrix multiplication, and hash transformations), the extension introduces new RISC-V instructions executed by a tightly coupled coprocessor. This coprocessor requires only minimal hardware resources, making the architecture efficient for constrained devices while still providing substantial acceleration. An experimental evaluation on a Zynq UltraScale+ FPGA demonstrates speedups of up to 3× for lattice and hash-based schemes, and over 30× for code-based schemes, while adding less than 2,900 LUTs and 400 FFs to the design. The extension’s modular structure maintains backward compatibility with standard RISC-V cores, offering a scalable solution for deploying PQC on highly constrained embedded systems.
Metadata
- Available format(s)
-
PDF
- Category
- Implementation
- Publication info
- Preprint.
- Keywords
- Post-Quantum CryptographyRISC-VInstruction Set ExtensionHardware SecurityML-KEMML-DSAHQCSLH-DSA
- Contact author(s)
-
alessandra dolmeta @ polito it
valeria piscopo @ polito it
guido masera @ polito it
maurizio martina @ polito it
michael hutter @ unibw de - History
- 2025-10-20: approved
- 2025-10-16: received
- See all versions
- Short URL
- https://ia.cr/2025/1934
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2025/1934,
author = {Alessandra Dolmeta and Valeria Piscopo and Guido Masera and Maurizio Martina and Michael Hutter},
title = {{HORCRUX} - A Lightweight {PQC}-{RISC}-V {eXtension} Architecture},
howpublished = {Cryptology {ePrint} Archive, Paper 2025/1934},
year = {2025},
url = {https://eprint.iacr.org/2025/1934}
}