A Software Library for Multi Precision Arithmetic

A Software Library for Multi Precision Arithmetic

Kannan Balasubramanian (Mepco Schlenk Engineering College, India) and Ahmed Mahmoud Abbas (The American University in Cairo, Egypt)
DOI: 10.4018/978-1-5225-2915-6.ch016
OnDemand PDF Download:
No Current Special Offers


The most prevalent need for multiple precision arithmetic, often referred to as “bignum” math, is within the implementation of public key cryptography algorithms. Algorithms such as RSA and Diffie-Hellman require integers of significant magnitude to resist known cryptanalytic attacks. As of now, a typical RSA modulus would be at least greater than 10^309. However, modern programming languages such as ISO C and Java only provide intrinsic support for integers that are relatively small and single precision. This chapter describe the modules provided by one such library for the C Programming Language.
Chapter Preview

A Package For Multiple Precision Arithmetic

A package for using multiple Precision Arithmetic called the LibTomMath (Denis, 2006) that can be used with C programs is described. Appendix A (http://www.opensource.apple.com/source/Heimdal/Heimdal-247.7/lib/hcrypto/libtommath/tommath.h)lists all the function calls that can be made using this library. A multiple precision integer of n-digits shall be denoted as 978-1-5225-2915-6.ch016.m01β and represents the integer 978-1-5225-2915-6.ch016.m02978-1-5225-2915-6.ch016.m03. The term “mp_int” shall refer to a composite structure that contains the digits of the integer it represents, and auxiliary data required to manipulate the data., It is assumed that a “multiple precision integer” and an “mp_int” are assumed synonymous. The structure of mp_int is used in the LibTomMath package is given below:

Complete Chapter List

Search this Book: