package
0.0.0-20230904125328-1f23a7beb09a
Repository: https://github.com/oasisprotocol/curve25519-voi.git
Documentation: pkg.go.dev

# Packages

Package scalar implements arithmetic on scalars (integers mod the group order).

# Functions

NewCompressedEdwardsY constructs a new compressed Edwards point, set to the identity element.
NewCompressedEdwardsYFromBytes constructs a new compressed Edwards point, set to provided byte representation.
NewCompressedRistretto constructs a new compressed Ristretto point, set to the identity element.
NewEdwardsBasepointTable creates a table of precomputed multiples of `basepoint`.
NewEdwardsPoint constructs a new Edwards point set to the identity element.
NewExpandedEdwardsPoint creates an expanded representation of an Edwards point.
NewExpandedRistrettoPoint creates an expanded representation of a Ristretto point.
NewMontgomeryPoint constructs a new Montgomery point.
NewRistrettoBasepointTable creates a table of precomputed multiples of `basepoint`.
NewRistrettoPoint constructs a new Ristretto point set to the identity element.

# Constants

CompressedPointSize is the size of a compressed point in bytes.
MontgomeryPointSize is the size of the u-coordinate of a point on the Montgomery form in bytes.
RistrettoUniformSize is the size of the uniformly random bytes required to construct a random Ristretto point.

# Variables

ED25519_BASEPOINT_COMPRESSED is the Ed25519 basepoint, in CompressedEdwardsY format.
ED25519_BASEPOINT_POINT is the Ed25519 basepoint as an EdwardsPoint.
ED25519_BASEPOINT_TABLE is a table containing precomputed multiples of the Ed25519 basepoint (B = (x, 4/5)).
The 8-torsion subgroup (E[8]).
RISTRETTO_BASEPOINT_COMPRESED is the Ristretto basepoint, in CompressedRistretto format.
RISTRETTO_BASEPOINT_POINT is the Ristretto basepoint, in RistrettoPoint format.
RISTRETTO_BASEPOINT_TABLE is the Ristretto basepoint, as a RistrettoBasepointTable for scalar multiplication.
X25519_BASEPOINT is the X25519 basepoint, in MontgomeryPoint format.

# Structs

EdwardsBasepointTable defines a precomputed table of multiples of a basepoint, for accelerating fixed-based scalar multiplication.
EdwardsPoint represents a point on the Edwards form of Curve25519.
ExpandedEdwardsPoint is an Edwards point stored in an expanded representation for the purpose of accelerating scalar point multiply operations.
ExpandedRistreetoPoint is a RistrettoPoint stored in an expanded representation for the purpose of accelerating scalar point multiply operations.
RistrettoBasepointTable defines a precomputed table of multiples of a basepoint, for accelerating fixed-based scalar multiplication.
RistrettoPoint represents a point in the Ristretto group for Curve25519.

# Type aliases

CompressedEdwardsY represents a curve point by the y-coordinate and the sign of x.
CompressedRistretto represents a Ristretto point in wire format.
MontgomeryPoint holds the u-coordinate of a point on the Montgomery form of Curve25519 or its twist.