commit | eca7754148613dfbf542bbfac5392b5f0d85ea6a | [log] [tgz] |
---|---|---|
author | Filippo Valsorda <filippo@golang.org> | Mon Aug 01 13:11:55 2022 +0200 |
committer | Gopher Robot <gobot@golang.org> | Thu Nov 10 18:45:00 2022 +0000 |
tree | df4d1005b437cb459c67999f54d0c3476c48540d | |
parent | 3fc8ed2543091693eca514b363fcdbbe5c7f2916 [diff] |
crypto/internal/edwards25519: replace scalar field with fiat-crypto This was the last piece of ref10 code, including the infamous "Christmas tree" in scMulAdd, that approximately all Ed25519 implementations inherited. Replace the whole scalar field implementation with a fiat-crypto generated one, like those in crypto/internal/nistec/fiat. The only complexity is the wide reduction (both for the 64-byte one and for the clamped input). For that we do a limbed reduction suggested by Frank Denis. Some minor housekeeping and test changes from filippo.io/edwards25519 are included, as part of syncing with downstream. Ignoring the autogenerated file, the diff is 268 insertions(+), 893 deletions(-) George Tankersley signed the Individual CLA and authorized me to submit this change on his behalf at the time he contributed it to filippo.io/edwards25519. Co-authored-by: George Tankersley <george.tankersley@gmail.com> Change-Id: I4084b4d3813f36e16b3d8839df75da1b4fd7846b Reviewed-on: https://go-review.googlesource.com/c/go/+/420454 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Auto-Submit: Filippo Valsorda <filippo@golang.org> Reviewed-by: Roland Shoemaker <roland@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 4.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://go.dev/dl/.
After downloading a binary release, visit https://go.dev/doc/install for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.