diff options
author | jsing <> | 2023-03-07 09:42:09 +0000 |
---|---|---|
committer | jsing <> | 2023-03-07 09:42:09 +0000 |
commit | ecd1f4763943bcfd15caa4b48ac41a4b1f90be7a (patch) | |
tree | 6beb93968da2e45fa402539d77324c8cfb9ca7aa /src/lib/libcrypto/ui | |
parent | 2797564eff6fe818c2b46b64fbb198f80be86e35 (diff) | |
download | openbsd-ecd1f4763943bcfd15caa4b48ac41a4b1f90be7a.tar.gz openbsd-ecd1f4763943bcfd15caa4b48ac41a4b1f90be7a.tar.bz2 openbsd-ecd1f4763943bcfd15caa4b48ac41a4b1f90be7a.zip |
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@
Diffstat (limited to 'src/lib/libcrypto/ui')
0 files changed, 0 insertions, 0 deletions