[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#472281: ITP: libtommath -- a number theoretic multiple-precision integer library

Package: wnpp
Severity: wishlist
Owner: Joseph Nahmias <joe@nahmias.net>

* Package name    : libtommath
  Version         : 0.39
  Upstream Author : Tom St Denis <tomstdenis@gmail.com>
* URL             : http://math.libtomcrypt.com/
* License         : Public Domain
  Programming Lang: C
  Description     : a number theoretic multiple-precision integer library

The library provides a vast array of highly optimized routines from
various branches of number theory:
    * Simple Algebra
          o Addition
          o Subtraction
          o Multiplication
          o Squaring
          o Division 
    * Digit Manipulation
          o Shift left/right whole digits (mult by 2b by moving digits)
          o Fast multiplication/division by 2 and 2k for k>1
          o Binary AND, OR and XOR gates 
    * Modular Reductions
          o Barrett Reduction
          o Montgomery Reduction
          o DR Reduction
          o 2k Reduction
    * Number Theoretic
          o Greatest Common Divisor
          o Least Common Multiple
          o Jacobi Symbol Computation
          o Multiplicative Inverse
          o Extended Euclidean Algorithm
          o Modular Exponentiation
          o Fermat and Miller-Rabin Primality Tests
    * Miscellaneous
          o Root finding over Z
          o Pseudo-random integers
          o Signed and Unsigned comparisons 
    * Optimizations
          o Fast Comba based Multiplier, Squaring and Montgomery routines
          o Montgomery, Diminished Radix and Barrett based modular exponentiation
          o Karatsuba and Toom-Cook multiplication algorithms
The code is littered with comments that help explain the algorithms and
their implementations. Ideally the code will serve as an educational
tool in the future for CS students studying number theory.

Reply to: