










Kaiwen He, Massachusetts Institute of Technology
Srinivas Devadas, Massachusetts Institute of Technology
Modular arithmetic with a large prime modulus is a dominant computational cost in number-theoretic cryptography. Modular operations are especially challenging to parallelize efficiently on CPUs using vector instructions; standard CPU implementations rely on costly carry operations and permutation instructions to align with the multiplication datapath, negating the benefits of vectorization. We develop vectorized algorithms for modular addition and multiplication, and present a new, constant-time modular multiplication algorithm suitable for general moduli - prime or otherwise. Our method uses a Residue Number System (RNS) representation to align the arithmetic naturally with wide vector units, and strategically eliminate extraneous instructions. Existing works either require the use of customized hardware or fail to show latency improvements. Reducing the latency of modular arithmetic results in speedups for cryptographic applications. We accelerate RSA-4096 signatures by $4.0\times$ (verify) and $1.3\times$ (sign) over OpenSSL, and speed up BLS signature verifications by $4.05\times$ over the assembly-optimized BLST library. Results on mapping our algorithm to Nvidia GPUs demonstrate speedups on modular multiplication over Nvidia's CGBN library.
Note: Revision (August 28): corrected rounding direction in appendix proof
BibTeX
@misc{cryptoeprint:2026/393,
author = {Simon Langowski and Kaiwen He and Srinivas Devadas},
title = {{VROOM}: Accelerating (Almost All) Number-Theoretic Cryptography Using Vectorization and the Residue Number System},
howpublished = {Cryptology {ePrint} Archive, Paper 2026/393},
year = {2026},
url = {https://eprint.iacr.org/2026/393}
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。