skip to main content
research-article

Efficient software implementations of large finite fields GF(2n) for secure storage applications

Published: 24 February 2012 Publication History

Abstract

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.

References

[1]
Aranha, D. F. 2010. RELIC is an Efficient Library for Cryptography, version 0.2.3. http://code.google.com/p/relic-toolkit/.
[2]
Aranha, D. F., López, J., and Hankerson, D. 2010. Efficient software implementation of binary field arithmetic using vector instruction sets. In Proceedings of the 1st International Conference on Cryptology and Information Security in Latin America (LATINCRYPT'10).
[3]
Avanzi, R. and Thériault, N. 2007. Effects of optimizations for software implementations of small binary field arithmetic. In Proceedings of the International Workshop on the Arithmetic of Finite Fields (WAIFI'07). 21--22.
[4]
Bailey, D. V. and Paar, C. 1998. Optimal Extension Fields for Fast Arithmetic in Public-Key Algorithms. In Proceedings of the Annual International Cryptology Conference (CRYPTO'98).
[5]
Beachy, J. A. and Blair, W. D. 2006. Abstract Algebra. Waveland Press, Inc.
[6]
Ben-Or, M. 1981. Probabilistic algorithms in finite fields. In Proceedings of the Symposium on Foundations of Computational Science. 394--398.
[7]
Bowers, K., Juels, A., and Oprea, A. 2009. HAIL: A high-availability and integrity layer for cloud storage. In Proceedings of the 16th ACM Conference on Computer and Communications Security (CCS'09).
[8]
DeWin, E., Bosselaers, A., Vanderberghe, S., Gersem, P. D., and Vandewalle, J. 1996. A fast software implementation for arthmetic operation in GF(2n). In Proceedings of the Annual International Conference on the Theory and Application of Cryptology Information Security (ASIACRYPT'96).
[9]
Diffie, W. and Hellman, M. E. 1976. New directions in cryptography. IEEE Trans. Inf. Theory 22, 6, 644--654.
[10]
ElGamal, T. 1985. A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans. Inf. Theory 31, 4, 469--472.
[11]
Gao, S. and Panario, D. 1997. Tests and constructions of irreducible polynomials over finite fields. In Proceedings of the Symposium on Foundations of Computational Mathematics (FoCM'97).
[12]
gentoo wiki. 2010. http://en.gentoo-wiki.com/wiki/CFLAGS.
[13]
Greenan, K. M., Miller, E. L., and Schwarz, T. J. E. 2007. Analysis and construction of galois fields for efficient storage reliability. Tech. rep. UCSC-SSRC-07-09.
[14]
Greenan, K. M., Miller, E. L., and Schwarz, T. J. E. 2008. Optimizing galois field arithmetic for diverse processor architectures and applications. In Proceedings of the International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS'08).
[15]
Guajardo, J., Kumar, S. S., Paar, C., and Pelzl, J. 2006. Efficient software-implementation of finite fields with applications to cryptography. Acta Applicandae Mathematicae 93, 3--32.
[16]
Hankerson, D., Hernandez, J. L., and Menezes, A. 2000. Software implementation of elliptic curve cryptography over binary fields. In Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems (CHES'00).
[17]
Harper, G., Menezes, A., and Vanstone, S. 1992. Public-key cryptosystems with very small key lengths. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques (Eurocrypt'92).
[18]
Huang, C. and Xu, L. 2003. Fast software implementation of finite field operations. Tech. rep. Washington University.
[19]
Intel. 2007. Intel SSE4 Programming Reference. http://software.intel.com/file/18187/.
[20]
Intel. 2011. Intel advanced encryption standard (AES) instructions set. http://software.intel.com/file/24917.
[21]
Kravitz, D. W. 1993. Digital signature algorithm. U.S. Patent 5,231,668.
[22]
Lidl, R., and Niederreiter, H. 1997. Finite Fields. Cambridge University Press.
[23]
López, J. and Dahab, R. 2000. High-speed software multiplication in 𝔽2m. In Proceedings of the Annual International Conference on Cryptology in India (INDOCRYPT'00).
[24]
MacWilliams, F. J. and Sloane, N. J. A. 1977. The Theory of Error Correcting Codes. North-Holland, Amsterdam.
[25]
Menezes, A., van Oorschot, P., and Vanstone, S. 1997. Handbook of Applied Cryptography. CRC Press.
[26]
Miller, V. S. 1986. Use of elliptic curves in cryptography. In Proceedings of the Annual International Cryptology Conference (CRYPTO'85).
[27]
National Institute for Standards and Technology (NIST). 2009. FIPS 186-3: Digital Signature Standard (DSS). http://www.itl.nist.gov/fipspubs/by-num.htm.
[28]
Patterson, D. A., Gibson, G., and Katz, R. H. 1988. A case for redundant arrays of inexpensive disks (RAID). In Proceedings of the 1988 ACM SIGMOD International Conference on Management of Data (SIGMOD'88).
[29]
Plank, J. S. 1997. A tutorial on reed-solomon coding for fault tolerance in RAID-like systems. Softw. -- Pract. Exper. 27, 9, 995--1012.
[30]
Plank, J. S. 2007. Fast galois field arithmetic library in C/C++. http://www.cs.utk.edu/~plank/plank/papers/CS-07-593/.
[31]
Plank, J. S., Luo, J., Schuman, C. D., Xu, L., and Wilcox-O'Hearn, Z. 2009. A performance evaluation and examination of open-source erasure coding libraries for storage. In Proceedings of the 7th Usenix Conference on File and Storage Technologies (FAST'09).
[32]
Plank, J. S., Simmerman, S., and Schuman, C. D. 2008. Jerasure: A library in C/C++ facilitating erasure coding for storage applications. Tech. rep. CS-08-627, University of Tennessee.
[33]
Reed, I. S. and Solomon, G. 1960. Polynomial codes over certain finite fields. J. Soc. Indust. Appl. Math. 8, 10, 300--304.
[34]
Schroeppel, R., Orman, H., Malley, S. O., and Spatscheck, O. 1995. Fast key exchange with elliptic curve systems. In Proceedings of the Annual International Cryptology Conference (CRYPTO'95).
[35]
Seroussi, G. 1998. Table of low-weight binary irreducible polynomials. http://www.hpl.hp.com/techreports/98/HPL-98-135.pdf.
[36]
Shoup, V. 1996. A new polynomial factorization algorithm and its implementation. J. Symb. Computa. 20, 363--397.
[37]
Vallée, B. 1998. The complete analysis of the binary euclidean algorithm. In Proceedings of the 3rd International Symposium on Algorithmic Number Theory Symposium (ANTS'98).

Cited By

View all
  • (2023)Scaling Blockchains with Error Correction Codes: A Survey on Coded BlockchainsACM Computing Surveys10.1145/363722456:6(1-33)Online publication date: 21-Dec-2023
  • (2023)Storage Codes With Flexible Number of NodesIEEE Transactions on Information Theory10.1109/TIT.2022.322273669:1(561-574)Online publication date: Jan-2023
  • (2023)Fast Exponential Method on Galois Fields for Cryptographic Applications2023 13th International Conference on Dependable Systems, Services and Technologies (DESSERT)10.1109/DESSERT61349.2023.10416519(1-4)Online publication date: 13-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Storage
ACM Transactions on Storage  Volume 8, Issue 1
February 2012
92 pages
ISSN:1553-3077
EISSN:1553-3093
DOI:10.1145/2093139
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 February 2012
Accepted: 01 July 2011
Revised: 01 May 2011
Received: 01 May 2010
Published in TOS Volume 8, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Finite field arithmetic
  2. cloud storage systems
  3. cryptographic algorithms

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)20
  • Downloads (Last 6 weeks)4
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Scaling Blockchains with Error Correction Codes: A Survey on Coded BlockchainsACM Computing Surveys10.1145/363722456:6(1-33)Online publication date: 21-Dec-2023
  • (2023)Storage Codes With Flexible Number of NodesIEEE Transactions on Information Theory10.1109/TIT.2022.322273669:1(561-574)Online publication date: Jan-2023
  • (2023)Fast Exponential Method on Galois Fields for Cryptographic Applications2023 13th International Conference on Dependable Systems, Services and Technologies (DESSERT)10.1109/DESSERT61349.2023.10416519(1-4)Online publication date: 13-Oct-2023
  • (2022)Flexible Distributed Matrix MultiplicationIEEE Transactions on Information Theory10.1109/TIT.2022.320448868:11(7500-7514)Online publication date: Nov-2022
  • (2022)CRC-Based Correction of Multiple Errors Using an Optimized Lookup TableIEEE Access10.1109/ACCESS.2022.315545710(23931-23947)Online publication date: 2022
  • (2021)Enhanced CRC-based correction of multiple errors with candidate validationSignal Processing: Image Communication10.1016/j.image.2021.11647599(116475)Online publication date: Nov-2021
  • (2020)EFFICIENT OPERATIONS IN LARGE FINITE FIELDS FOR ELLIPTIC CURVE CRYPTOGRAPHICInternational Journal of Engineering Technologies and Management Research10.29121/ijetmr.v7.i6.2020.7127:6(141-151)Online publication date: 3-Jul-2020
  • (2020)Availability, Recovery, and Auditing across Data CentersCloud Computing Security10.1201/9780429055126-36(425-440)Online publication date: 31-Aug-2020
  • (2019)On the Sub-Packetization Size and the Repair Bandwidth of Reed-Solomon CodesIEEE Transactions on Information Theory10.1109/TIT.2019.291742565:9(5484-5502)Online publication date: 16-Aug-2019
  • (2018)P-Schedule: Erasure Coding Schedule Strategy in Big Data Storage SystemAlgorithms and Architectures for Parallel Processing10.1007/978-3-030-05057-3_22(270-279)Online publication date: 7-Dec-2018
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media