summaryrefslogtreecommitdiff
path: root/security/nss/lib/freebl/mpi/mpi.h
Commit message (Collapse)AuthorAgeFilesLines
* Last Comment Bug 459248 - Support Intel AES extensions.rrelyea%redhat.com2008-12-041-0/+4
| | | | | | r=nelsonb See if Solaris likes this better...
* Bug 236613: change to MPL/LGPL/GPL tri-license. Restore Id: lines.gerv%gerv.net2004-04-271-0/+1
|
* Bug 236613: change to MPL/LGPL/GPL tri-license.gerv%gerv.net2004-04-251-28/+29
|
* Get freebl and mpi to build for WinCE. Use NSPR for I/O in sysrand.nelsonb%netscape.com2002-04-041-1/+3
|
* bug 70992 patches to build 4.2 BSDrelyea%netscape.com2001-03-131-0/+5
|
* Implement new mpi function mpi_read_variable_radix(). It's likenelsonb%netscape.com2000-12-291-0/+1
| | | | | mpi_read_radix(), except that if the input stream begins with a leading zero or "0x", it will interpret the input as octal or hex, respectively.
* Add support for unsigned long long mp_digits.nelsonb%netscape.com2000-12-131-30/+39
| | | | | Revise and simplify the scheme of feature test macros used in mpi.h. Remove all NSS_ and SOLARIS ifdefs from the source.
* Make this file buildable on Macjavi%netscape.com2000-11-081-0/+4
|
* New implementation of mp_invmod for even moduli. 3x-500x faster thannelsonb%netscape.com2000-10-241-3/+7
| | | | xgcd for even moduli.
* Incorporate multiplication performance enhancements for UltraSparc CPUsnelsonb%netscape.com2000-09-301-4/+7
| | | | with the VIS instructions.
* Don't use type "ulong". Use "unsigned long" instead.nelsonb%netscape.com2000-09-291-1/+1
|
* Add mp_set_long and mp_set_ulong to the public API.nelsonb%netscape.com2000-09-281-0/+2
|
* Changes to make mpi use 64-bit digits on machines where unsigned longsnelsonb%netscape.com2000-09-141-3/+32
| | | | | | are 64-bits. Renamed s_mp_invmod_32b to s_mp_invmod_radix since radix can now exceed 32 bits. Improved performance on all platforms except MIPS and X86.
* Fix mpi.h so that it compiles when MP_NO_MP_WORD is defined on the commandnelsonb%netscape.com2000-08-311-3/+3
| | | | line (or prior to including mpi.h).
* Big changes for performance. mp_digits are now always unsigned ints.nelsonb%netscape.com2000-08-311-14/+14
| | | | | | | | | | mp_words are used only on machines that support long long arithmetic. s_mp_mod_d() was deleted. It was not being used and was not part of the public API. The code that computes squares in s_mp_sqr was broken out into a separate new function s_mpv_sqr_add_prop(), which is a target for assembly language optimization. New function s_mpv_div_2dx1d(), also a target for assembly optimization. These changes made X86 benchmark time go from 22.5 seconds to 8.3 seconds on my reference test system.
* Big changes for performance.nelsonb%netscape.com2000-08-221-1/+4
| | | | | | | | | | | | | | | | | | | | - In mpi-priv.h, declare new 3 argument versions of s_mp_add and s_mp_sub. Also declare new set of s_mpv_ functions that operate on vectors (arrays) of mp_digits instead of on mp_ints. These functions are candidates for implementation in assembler. - In mpi.c reimplement mp_add and mp_sub using the new 3arg functions. Implement 3 argument versions of s_mp_add and s_mp_sub. This eliminates all need for temporary variables in mp_add and mp_sub. Implement c language reference implementations of new s_mpv vector multiply and multiply and add functions. Change mp_mul and mp_sqr so they no longer pre-zero the output variable. It's no longer nececssary with the new s_mpv functions. s_mp_pad no longer zeros out the new padded space. -In mpmontg.c, implement variable width exponetiation windows. Implement a new function to compute the multiply and Montgomery reduction in a single pass. This is "Improvement 2" from Dusse' and Kaliski's paper "A Cryptographic Library for the Motorola DSP56000". Performance impact is negligible in this c implementation. However, this function is another target for assembly language optimization.
* Add new signed mp_word type, mp_sword. Used to get arithmetic rightnelsonb%netscape.com2000-08-041-0/+4
| | | | shifts when doing subtraction.
* Declare mp_int function arguments "const" as appropriate.nelsonb%netscape.com2000-08-011-32/+32
|
* Use unsigned int for mp_digit instead of unsigned long when both arenelsonb%netscape.com2000-07-281-10/+13
| | | | | 32-bits. This reduced warnings. Use mp_size instead of unsigned int in function declarations. Fix MP_DIGIT_FMT for 32-bit digits.
* Use unsigned ints for length parameters to "octets" functions.nelsonb%netscape.com2000-07-201-4/+4
|
* All #defines now have MP_ prefix. To get old #defines, compile withnelsonb%netscape.com2000-07-191-28/+50
| | | | -DMP_API_COMPATIBLE . mpi.c is compiled that way.
* Add support for 32-bit digits (64-bit words) on platforms that cannelsonb%netscape.com2000-07-171-5/+40
| | | | | | multiply two 32-bit values yielding a 64-bit product in hardware. Fix bug in s_mp_div that computed a quotient digit q > DIGIT_MAX when b > DIGIT_MAX/2 and b < a <= DIGIT_MAX.
* MPI Arbitrary Precision Integer Arithmetic library.nelsonb%netscape.com2000-07-141-0/+208
The Initial Developer of the Original Code is Michael J. Fromberger <sting@linguist.dartmouth.edu>