aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo@golang.org>2025-02-10 11:30:52 +0100
committerGopher Robot <gobot@golang.org>2025-02-14 16:09:56 -0800
commit1ce87bea470c3eae9be75f6e2848271588cc6ca2 (patch)
tree0b0ee35f3e489d66fcfdb44b86e0e3c35480a590 /src/cmd/internal/obj
parent10cef816aa9769345016c04032090ae7f5851f5c (diff)
downloadgo-1ce87bea470c3eae9be75f6e2848271588cc6ca2.tar.xz
crypto/internal/fips140/edwards25519: make Scalar.SetCanonicalBytes constant time
Internally we only use SetCanonicalBytes as part of Ed25519 verification, where all inputs are public, so it doesn't need to be constant time. However, this code is replicated outside of the standard library. Even there, an attack is not practical, so this should not be considered a security vulnerability: - For specific scalars, this only leaks at most four bits of information, and always the same four bits (so it's not an adaptive attack). - For derived scalars, assuming they are valid and uniformly distributed, the loop would return true on the first iteration with probability (1 - 2⁻¹²⁷) due to the shape of the scalar field order. Still, making it constant time is easy enough and saves the next person from having to think about it. This was previously reported by Yawning Angel, and then as part of a security audit. Change-Id: I6a6a46563c8abecb0b4a6f12033a71c4c4da6fa7 Reviewed-on: https://go-review.googlesource.com/c/go/+/648035 Reviewed-by: Roland Shoemaker <roland@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Filippo Valsorda <filippo@golang.org>
Diffstat (limited to 'src/cmd/internal/obj')
0 files changed, 0 insertions, 0 deletions