libtommath
number theoretic multipleprecision integer library
WWW CVSWeb GITHub
Package versionlibtommath1.2.0

MaintainerThe OpenBSD ports mailinglist
LibTomMath is a free open source portable number theoretic multipleprecision
integer library written entirely in C. The library is designed to provide a
simple to work with API to fairly efficient routines from various branches of
number theory:
* Simple Algebraic
 Addition
 Subtraction
 Multiplication
 Squaring
 Division
* Digit Manipulation
 Shift left/right whole digits (mult by 2b by moving digits)
 Fast multiplication/division by 2 and 2k for k>1
 Binary AND, OR and XOR gates
* Modular Reductions
 Barrett Reduction (fast for any p)
 Montgomery Reduction (faster for any odd p)
 DR Reduction (faster for any restricted p see manual)
 2k Reduction (fast reduction modulo 2p  k for k < MP_MASK and for
k > MP_MASK)
 The exptmod logic can use any of the five reduction algorithms when
appropriate with a single function call.
* Number Theoretic
 Greatest Common Divisor
 Least Common Multiple
 Jacobi Symbol Computation (falls back to Legendre for prime moduli)
 Multiplicative Inverse
 Extended Euclidean Algorithm
 Modular Exponentiation
 Fermat and MillerRabin Primality Tests, utility function such as is_prime
and next_prime
* Miscellaneous
 Root finding over Z
 Pseudorandom integers
 Signed and Unsigned comparisons
* Optimizations
 Fast Comba based Multiplier, Squaring and Montgomery routines.
 Montgomery, Diminished Radix and Barrett based modular exponentiation.
 Karatsuba and ToomCook multiplication algorithms.
 Many pointer aliasing optimiztions throughout the entire library.
 devel/gmake