summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bn/arch
diff options
context:
space:
mode:
authorjsing <>2023-06-24 16:01:44 +0000
committerjsing <>2023-06-24 16:01:44 +0000
commit3180c8185bba7d792127e1b9bc87f11e439ba0fb (patch)
treed032bf8af96bb9caac79fdb34b7d962c021ef65a /src/lib/libcrypto/bn/arch
parentd88d3c7eb1bc4b0da2212f0020a52430971c7e74 (diff)
downloadopenbsd-3180c8185bba7d792127e1b9bc87f11e439ba0fb.tar.gz
openbsd-3180c8185bba7d792127e1b9bc87f11e439ba0fb.tar.bz2
openbsd-3180c8185bba7d792127e1b9bc87f11e439ba0fb.zip
Rewrite and simplify bn_sqr()/bn_sqr_normal().
Rework bn_sqr()/bn_sqr_normal() so that it is less convoluted and more readable. Instead of recomputing values that the caller has already computed, pass it as an argument. Avoid branching and remove duplication of variables. Consistently use a_len and r_len naming for lengths. ok tb@
Diffstat (limited to 'src/lib/libcrypto/bn/arch')
-rw-r--r--src/lib/libcrypto/bn/arch/amd64/bn_arch.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/libcrypto/bn/arch/amd64/bn_arch.c b/src/lib/libcrypto/bn/arch/amd64/bn_arch.c
index 55275aa14e..a377a05681 100644
--- a/src/lib/libcrypto/bn/arch/amd64/bn_arch.c
+++ b/src/lib/libcrypto/bn/arch/amd64/bn_arch.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bn_arch.c,v 1.6 2023/02/22 05:46:37 jsing Exp $ */ 1/* $OpenBSD: bn_arch.c,v 1.7 2023/06/24 16:01:44 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2023 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2023 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -96,9 +96,9 @@ bn_mul_comba8(BN_ULONG *rd, BN_ULONG *ad, BN_ULONG *bd)
96 96
97#ifdef HAVE_BN_SQR 97#ifdef HAVE_BN_SQR
98int 98int
99bn_sqr(BIGNUM *r, const BIGNUM *a, int rn, BN_CTX *ctx) 99bn_sqr(BIGNUM *r, const BIGNUM *a, int r_len, BN_CTX *ctx)
100{ 100{
101 bignum_sqr(rn, (uint64_t *)r->d, a->top, (uint64_t *)a->d); 101 bignum_sqr(r_len, (uint64_t *)r->d, a->top, (uint64_t *)a->d);
102 102
103 return 1; 103 return 1;
104} 104}