Introducing Arithmetic Failures to Accelerate QC-MDPC Code-Based Cryptography
Code-Based Cryptography Workshop (CBC 2019), Darmstadt. Springer LNCS, pp. 44–68 · doi:10.1007/978-3-030-25922-8_3
Abstract
In this work, we optimize the performance of QC-MDPC code-based cryptosystems through the insertion of configurable failure rates in their arithmetic procedures. We present constant time algorithms with a configurable failure rate for multiplication and inversion over binary polynomials, the two most expensive subroutines used in QC-MDPC implementations. Using a failure rate negligible compared to the security level (2-128), our multiplication is 2 times faster than NTL on sparse polynomials and 1.6 times faster than a naive constant-time sparse polynomial multiplication. Our inversion algorithm, based on Wu et al., is 2 times faster than the original algorithm and 12 times faster than Itoh-Tsujii using the same modulus polynomial (x32749 - 1). By inserting these algorithms in a version of QcBits at the 128-bit quantum security level, we were able to achieve a speedup of 1.9 on the key generation and up to 1.4 on the decryption time. Comparing with variant 2 of the BIKE suite, which also implements the Niederreiter Cryptosystem using QC-MDPC codes, our final version of QcBits performs the uniform decryption 2.7 times faster.
BibTeX
@inproceedings{guimaraes2019introducing,
author = {Antonio Guimarães and Edson Borin and Diego F. Aranha},
title = {{Introducing Arithmetic Failures to Accelerate QC-MDPC Code-Based Cryptography}},
booktitle = {Code-Based Cryptography Workshop (CBC 2019), Darmstadt. Springer LNCS, pp. 44–68},
year = {2019},
doi = {10.1007/978-3-030-25922-8_3},
url = {https://doi.org/10.1007/978-3-030-25922-8_3}
}
Cite as: Antonio Guimarães, Edson Borin, Diego F. Aranha. Introducing Arithmetic Failures to Accelerate QC-MDPC Code-Based Cryptography. Code-Based Cryptography Workshop (CBC 2019), Darmstadt. Springer LNCS, pp. 44–68.