cryb-to/lib/mpi
Dag-Erling Smørgrav bc8e9d67ba In both mpi_add_abs() and mpi_sub_abs(), make sure that the target is
untouched if the operation fails.  Also ensure that A = A +/- A works.
2014-12-29 23:44:34 +00:00
..
Makefile.am Start of a multiple-precision integer arithmetic library. 2014-08-12 07:30:31 +00:00
mpi.c In mpi_zero(), save a memset() if the target is already zero. 2014-12-29 23:22:54 +00:00
mpi_add.c In both mpi_add_abs() and mpi_sub_abs(), make sure that the target is 2014-12-29 23:44:34 +00:00
mpi_cmp.c rm unused variable 2014-08-12 07:33:30 +00:00
mpi_shift.c Shifting any number by zero places is a no-op, but so is shifting zero by 2014-12-29 23:20:26 +00:00
mpi_sub.c In both mpi_add_abs() and mpi_sub_abs(), make sure that the target is 2014-12-29 23:44:34 +00:00
README Start of a multiple-precision integer arithmetic library. 2014-08-12 07:30:31 +00:00

Portable multiple-precision integer library.

The interface is loosely based on XySSL's MPI library.  The
implementation was written from scratch based on the algorithms
described in Menezes, van Oorschot and Vanstone: _Handbook of Applied
Cryptography_, CRC Press, 1996.  The full text of the HAC is available
for personal use at http://www.cacr.math.uwaterloo.ca/hac/.

This implementation sacrifices performance for portability and
readability, but attempts have been made to structure it in such a way
that critical portions can easily be replaced with machine-dependent
optimized versions.

The code assumes a 64-bit machine or a 32-bit machine where 64-bit
integer arithmetic is supported but not necessarily efficient; 64-bit
operations are used only to simplify overflow handling.