go/src/crypto/elliptic/nistec.go

var p224

func initP224() {}

type p256Curve

var p256

func initP256() {}

var p384

func initP384() {}

var p521

func initP521() {}

type nistCurve

type nistPoint

func (curve *nistCurve[Point]) Params() *CurveParams {}

func (curve *nistCurve[Point]) IsOnCurve(x, y *big.Int) bool {}

func (curve *nistCurve[Point]) pointFromAffine(x, y *big.Int) (p Point, err error) {}

func (curve *nistCurve[Point]) pointToAffine(p Point) (x, y *big.Int) {}

func (curve *nistCurve[Point]) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) {}

func (curve *nistCurve[Point]) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {}

// normalizeScalar brings the scalar within the byte size of the order of the
// curve, as expected by the nistec scalar multiplication functions.
func (curve *nistCurve[Point]) normalizeScalar(scalar []byte) []byte {}

func (curve *nistCurve[Point]) ScalarMult(Bx, By *big.Int, scalar []byte) (*big.Int, *big.Int) {}

func (curve *nistCurve[Point]) ScalarBaseMult(scalar []byte) (*big.Int, *big.Int) {}

// CombinedMult returns [s1]G + [s2]P where G is the generator. It's used
// through an interface upgrade in crypto/ecdsa.
func (curve *nistCurve[Point]) CombinedMult(Px, Py *big.Int, s1, s2 []byte) (x, y *big.Int) {}

func (curve *nistCurve[Point]) Unmarshal(data []byte) (x, y *big.Int) {}

func (curve *nistCurve[Point]) UnmarshalCompressed(data []byte) (x, y *big.Int) {}

func bigFromDecimal(s string) *big.Int {}

func bigFromHex(s string) *big.Int {}