A case for redundant arrays of inexpensive disks (RAID)
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
A new polynomial factorization algorithm and its implementation
Journal of Symbolic Computation
Finite fields
A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like systems
Software—Practice & Experience
Tests and constructions of irreducible polynomials over finite fields
FoCM '97 Selected papers of a conference on Foundations of computational mathematics
Handbook of Applied Cryptography
Handbook of Applied Cryptography
Use of Elliptic Curves in Cryptography
CRYPTO '85 Advances in Cryptology
Optimal Extension Fields for Fast Arithmetic in Public-Key Algorithms
CRYPTO '98 Proceedings of the 18th Annual International Cryptology Conference on Advances in Cryptology
High-Speed Software Multiplication in F2m
INDOCRYPT '00 Proceedings of the First International Conference on Progress in Cryptology
A Fast Software Implementation for Arithmetic Operations in GF(2n)
ASIACRYPT '96 Proceedings of the International Conference on the Theory and Applications of Cryptology and Information Security: Advances in Cryptology
The Complete Analysis of the Binary Euclidean Algorithm
ANTS-III Proceedings of the Third International Symposium on Algorithmic Number Theory
Software Implementation of Elliptic Curve Cryptography over Binary Fields
CHES '00 Proceedings of the Second International Workshop on Cryptographic Hardware and Embedded Systems
Fast Key Exchange with Elliptic Curve Systems
CRYPTO '95 Proceedings of the 15th Annual International Cryptology Conference on Advances in Cryptology
Probabilistic algorithms in finite fields
SFCS '81 Proceedings of the 22nd Annual Symposium on Foundations of Computer Science
Effects of Optimizations for Software Implementations of Small Binary Field Arithmetic
WAIFI '07 Proceedings of the 1st international workshop on Arithmetic of Finite Fields
A performance evaluation and examination of open-source erasure coding libraries for storage
FAST '09 Proccedings of the 7th conference on File and storage technologies
HAIL: a high-availability and integrity layer for cloud storage
Proceedings of the 16th ACM conference on Computer and communications security
Public-key cryptosystems with very small key lengths
EUROCRYPT'92 Proceedings of the 11th annual international conference on Theory and application of cryptographic techniques
Efficient software implementation of binary field arithmetic using vector instruction sets
LATINCRYPT'10 Proceedings of the First international conference on Progress in cryptology: cryptology and information security in Latin America
Sector-Disk (SD) Erasure Codes for Mixed Failure Modes in RAID Systems
ACM Transactions on Storage (TOS)
SD codes: erasure codes designed for how storage systems really fail
FAST'13 Proceedings of the 11th USENIX conference on File and Storage Technologies
Screaming fast Galois field arithmetic using intel SIMD instructions
FAST'13 Proceedings of the 11th USENIX conference on File and Storage Technologies
Hi-index | 0.00 |
Finite fields are widely used in constructing error-correcting codes and cryptographic algorithms. In practice, error-correcting codes use small finite fields to achieve high-throughput encoding and decoding. Conversely, cryptographic systems employ considerably larger finite fields to achieve high levels of security. We focus on developing efficient software implementations of arithmetic operations in reasonably large finite fields as needed by secure storage applications. In this article, we study several arithmetic operation implementations for finite fields ranging from GF(232) to GF(2128). We implement multiplication and division in these finite fields by making use of precomputed tables in smaller fields, and several techniques of extending smaller field arithmetic into larger field operations. We show that by exploiting known techniques, as well as new optimizations, we are able to efficiently support operations over finite fields of interest. We perform a detailed evaluation of several techniques, and show that we achieve very practical performance for both multiplication and division. Finally, we show how these techniques find applications in the implementation of HAIL, a highly available distributed cloud storage layer. Using the newly implemented arithmetic operations in GF(264), HAIL improves its performance by a factor of two, while simultaneously providing a higher level of security.