go/src/crypto/internal/edwards25519/edwards25519.go

type projP1xP1

type projP2

type Point

type incomparable

func checkInitialized(points ...*Point) {}

type projCached

type affineCached

func (v *projP2) Zero() *projP2 {}

var (
	identity
	_
)

// NewIdentityPoint returns a new Point set to the identity.
func NewIdentityPoint() *Point {}

var (
	generator
	_
)

// NewGeneratorPoint returns a new Point set to the canonical generator.
func NewGeneratorPoint() *Point {}

func (v *projCached) Zero() *projCached {}

func (v *affineCached) Zero() *affineCached {}

// Set sets v = u, and returns v.
func (v *Point) Set(u *Point) *Point {}

// Bytes returns the canonical 32-byte encoding of v, according to RFC 8032,
// Section 5.1.2.
func (v *Point) Bytes() []byte {}

func (v *Point) bytes(buf *[32]byte) []byte {}

var feOne

// SetBytes sets v = x, where x is a 32-byte encoding of v. If x does not
// represent a valid point on the curve, SetBytes returns nil and an error and
// the receiver is unchanged. Otherwise, SetBytes returns v.
//
// Note that SetBytes accepts all non-canonical encodings of valid points.
// That is, it follows decoding rules that match most implementations in
// the ecosystem rather than RFC 8032.
func (v *Point) SetBytes(x []byte) (*Point, error) {}

func copyFieldElement(buf *[32]byte, v *field.Element) []byte {}

func (v *projP2) FromP1xP1(p *projP1xP1) *projP2 {}

func (v *projP2) FromP3(p *Point) *projP2 {}

func (v *Point) fromP1xP1(p *projP1xP1) *Point {}

func (v *Point) fromP2(p *projP2) *Point {}

var (
	d
	_
)

var d2

func (v *projCached) FromP3(p *Point) *projCached {}

func (v *affineCached) FromP3(p *Point) *affineCached {}

// Add sets v = p + q, and returns v.
func (v *Point) Add(p, q *Point) *Point {}

// Subtract sets v = p - q, and returns v.
func (v *Point) Subtract(p, q *Point) *Point {}

func (v *projP1xP1) Add(p *Point, q *projCached) *projP1xP1 {}

func (v *projP1xP1) Sub(p *Point, q *projCached) *projP1xP1 {}

func (v *projP1xP1) AddAffine(p *Point, q *affineCached) *projP1xP1 {}

func (v *projP1xP1) SubAffine(p *Point, q *affineCached) *projP1xP1 {}

func (v *projP1xP1) Double(p *projP2) *projP1xP1 {}

// Negate sets v = -p, and returns v.
func (v *Point) Negate(p *Point) *Point {}

// Equal returns 1 if v is equivalent to u, and 0 otherwise.
func (v *Point) Equal(u *Point) int {}

// Select sets v to a if cond == 1 and to b if cond == 0.
func (v *projCached) Select(a, b *projCached, cond int) *projCached {}

// Select sets v to a if cond == 1 and to b if cond == 0.
func (v *affineCached) Select(a, b *affineCached, cond int) *affineCached {}

// CondNeg negates v if cond == 1 and leaves it unchanged if cond == 0.
func (v *projCached) CondNeg(cond int) *projCached {}

// CondNeg negates v if cond == 1 and leaves it unchanged if cond == 0.
func (v *affineCached) CondNeg(cond int) *affineCached {}