Files
edwards25519/README.MD

13 lines
1.3 KiB
Markdown

import "sources.truenas.cloud/code/edwards25519"
# edwards25519
### This library implements the edwards25519 elliptic curve, exposing the necessary APIs to build a wide array of higher level primitives.
The package tracks the upstream standard library package <code>crypto/internal/fips140/edwards25519</code> and extends it with additional functionality.
The code is originally derived from Adam Langley's internal implementation in the Go standard library, and includes George Tankersley's performance improvements. It was then further developed by Henry de Velence for use in <code>ristretto255</code> and was finally merged back into the Go standard library as of Go 1.17.
Most users don't need this package, and should instead use <code>crypto/ed25519</code> for signatures, <code>crypto/ecdh</code> for Diffie-Hellman, or <code>github.com/gtank/ristretto255</code> for prime order group logic. However, for anyone currently using a fork of the internal <code>edwards25519</code> package or of <code>github.com/ag1/edwards25519</code>, this package should be a safer, faster, and more powerful alternative.
Since this package is meant to curb proliferation of edwards25519 implementations in the Go ecosystem, it welcomes requests for new APIs or reviewable performance improvements.