- 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.
git-svn-id: svn://10.0.0.236/trunk@76845 18797224-902f-48f8-a5cc-f745e15eee43