From a71d96fc5f06e3d4eaad85e2958a525f4f6fd26e Mon Sep 17 00:00:00 2001 From: jsing <> Date: Mon, 1 Sep 2025 15:18:55 +0000 Subject: Use bn_sqr_words() from bn_mod_sqr_words(). Use bn_sqr_words() and bn_montgomery_reduce_words(), rather than using bn_montgomery_multiply_words(). This provides better performance on architectures that have assembly optimised bn_sqr_words(), such as amd64. ok tb@ --- src/lib/libcrypto/bn/bn_mod_words.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libcrypto/bn/bn_mod_words.c b/src/lib/libcrypto/bn/bn_mod_words.c index d9aee8701a..7c07b49fab 100644 --- a/src/lib/libcrypto/bn/bn_mod_words.c +++ b/src/lib/libcrypto/bn/bn_mod_words.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bn_mod_words.c,v 1.3 2025/08/05 15:15:54 jsing Exp $ */ +/* $OpenBSD: bn_mod_words.c,v 1.4 2025/09/01 15:18:55 jsing Exp $ */ /* * Copyright (c) 2024 Joel Sing * @@ -100,15 +100,13 @@ bn_mod_sqr_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *m, { if (n == 4) { bn_sqr_comba4(t, a); - bn_montgomery_reduce_words(r, t, m, m0, n); } else if (n == 6) { bn_sqr_comba6(t, a); - bn_montgomery_reduce_words(r, t, m, m0, n); } else if (n == 8) { bn_sqr_comba8(t, a); - bn_montgomery_reduce_words(r, t, m, m0, n); } else { - bn_montgomery_multiply_words(r, a, a, m, t, m0, n); + bn_sqr_words(t, a, n); } + bn_montgomery_reduce_words(r, t, m, m0, n); } #endif -- cgit v1.2.3-55-g6feb