High-Performance Galois Field Arithmetic

Galois fields (also known as finite fields) are widely used in erasure codes and computer security. For example, Galois fields form the foundation for Reed-Solomon codes and for Shamir secret sharing. New versions of CPU instruction sets, including x86 and ARM, provide SIMD instructions that can be leveraged to greatly increase the throughput of Galois field operations, boosting performance of erasure coding and security operations to the point that such operations are no longer a bottleneck for advanced reliability and security techniques.


This project is developing a high-performance Galois (finite) field and erasure code library, gferasure. This library includes Galois field primitives for a wide range of field widths and CPU architectures, allowing designers to select the most useful routines. We currently support high-performance 8, 16, 32, and 64-bit fields, with multiplication performance as high as 25GB/sec on x86 processors that support the SSSE3, AVX2, and NEON instruction set. The library is open source and available on bitbucket.


Last modified 27 Sep 2016