cryb-to/lib/mpi
Dag-Erling Smørgrav 7a90ca7b42 Since X may point to the same MPI as either G or L (or even both), we
can't set the carry flag based on the contents of G or L after having
modified X.  Instead, compute and stash the new carry value first.
2014-12-30 19:14:59 +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 comment nit 2014-12-30 11:15:28 +00:00
mpi_cmp.c Fix off-by-one bug in mpi_cmp() which could cause it to read past the 2014-12-30 16:35:13 +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 Since X may point to the same MPI as either G or L (or even both), we 2014-12-30 19:14:59 +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.