mirror of
https://github.com/cryb-to/cryb-to.git
synced 2024-12-23 13:01:08 +00:00
f6905c8edb
If its operands were identical, cryb_mpi_add_abs() would leave the target untouched. Explicitly call mpi_zero() before returning. While there, extend the “identical operands” shortcut to also cover equality. Both cryb_mpi_add_abs() and cryb_mpi_sub_abs() would leave the target's negative flag untouched. Explicitly clear it before returning. |
||
---|---|---|
.. | ||
cryb_mpi.c | ||
cryb_mpi_add.c | ||
cryb_mpi_add_abs.c | ||
cryb_mpi_cmp.c | ||
cryb_mpi_cmp_abs.c | ||
cryb_mpi_copy.c | ||
cryb_mpi_destroy.c | ||
cryb_mpi_eq.c | ||
cryb_mpi_eq_abs.c | ||
cryb_mpi_grow.c | ||
cryb_mpi_impl.h | ||
cryb_mpi_init.c | ||
cryb_mpi_load.c | ||
cryb_mpi_lshift.c | ||
cryb_mpi_negate.c | ||
cryb_mpi_rshift.c | ||
cryb_mpi_set.c | ||
cryb_mpi_sub.c | ||
cryb_mpi_sub_abs.c | ||
cryb_mpi_swap.c | ||
cryb_mpi_zero.c | ||
Makefile.am | ||
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.