CVSROOT:        /cvs
Module name:    src
Changes by:     js...@cvs.openbsd.org   2023/03/07 02:42:09

Modified files:
        lib/libcrypto/bn: bn_mont.c 

Log message:
Improve bn_montgomery_multiply_words().

Rather than calling bn_mul_add_words() twice - once to multiply and once
to reduce - perform the multiplication and reduction in a single pass using
bn_mulw_addw_addw() directly. Also simplify the addition of the resulting
carries, which in turn allows us to avoid zeroing the top half of the
temporary words.

This provides a ~20-25% performance improvement for RSA operations on
aarch64.

ok tb@

Reply via email to