mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-19 07:26:26 +00:00
![nelsonb%netscape.com](/assets/img/avatar_default.png)
- 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.