Paper 2015/886
Applying Cryptographic Acceleration Techniques to Error Correction
Rémi Géraud, Diana-Stefania Maimut, David Naccache, Rodrigo Portella do Canto, and Emil Simion
Abstract
Modular reduction is the basic building block of many public-key cryptosystems. BCH codes require repeated polynomial reductions modulo the same constant polynomial. This is conceptually very similar to the implementation of public-key cryptography where repeated modular reduction in $\mathbb{Z}_n$ or $\mathbb{Z}_p$ are required for some fixed $n$ or $p$. It is hence natural to try and transfer the modular reduction expertise developed by cryptographers during the past decades to obtain new BCH speed-up strategies. Error correction codes (ECCs) are deployed in digital communication systems to enforce transmission accuracy. BCH codes are a particularly popular ECC family. This paper generalizes Barrett's modular reduction to polynomials to speed-up BCH ECCs. A BCH$(15,7,2)$ encoder was implemented in Verilog and synthesized. Results show substantial improvements when compared to traditional polynomial reduction implementations. We present two BCH code implementations (regular and pipelined) using Barrett polynomial reduction. These implementations, are respectively 4.3 and 6.7 faster than an improved BCH LFSR design. The regular Barrett design consumes around 53$\%$ less power than the BCH LFSR design, while the faster pipelined version consumes 2.3 times more power than the BCH LFSR design.
Metadata
- Available format(s)
- Category
- Applications
- Publication info
- Published elsewhere. SECITC 2015
- Keywords
- polynomial BarrettBCHerror correcting codescryptographic acceleration techniques
- Contact author(s)
- maimut diana @ gmail com
- History
- 2015-09-13: received
- Short URL
- https://ia.cr/2015/886
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2015/886, author = {Rémi Géraud and Diana-Stefania Maimut and David Naccache and Rodrigo Portella do Canto and Emil Simion}, title = {Applying Cryptographic Acceleration Techniques to Error Correction}, howpublished = {Cryptology {ePrint} Archive, Paper 2015/886}, year = {2015}, url = {https://eprint.iacr.org/2015/886} }