cryb-to/lib/mpi
Dag-Erling Smørgrav 4d7893004c Prepare for moving to Github 2015-12-14 15:55:38 +01:00
..
.gitignore Prepare for moving to Github 2015-12-14 15:55:38 +01:00
Makefile.am Start of a multiple-precision integer arithmetic library. 2014-08-12 07:30:31 +00:00
README Start of a multiple-precision integer arithmetic library. 2014-08-12 07:30:31 +00:00
mpi.c Always clear the negative flag in mpi_zero() 2015-10-03 14:23:32 +00:00
mpi_add.c Implement mpi_{add,sub}() in terms of mpi_{add,sub}_abs(). 2015-01-07 18:59:44 +00:00
mpi_cmp.c Fix equality predicate. 2015-01-07 19:23:38 +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 Implement mpi_{add,sub}() in terms of mpi_{add,sub}_abs(). 2015-01-07 18:59:44 +00:00

README

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.