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@