type crypto/internal/nistec/fiat.P384Element

87 uses

	crypto/internal/nistec/fiat (current package)
		p384.go#L17: type P384Element struct {
		p384.go#L28: func (e *P384Element) One() *P384Element {
		p384.go#L34: func (e *P384Element) Equal(t *P384Element) int {
		p384.go#L41: func (e *P384Element) IsZero() int {
		p384.go#L48: func (e *P384Element) Set(t *P384Element) *P384Element {
		p384.go#L54: func (e *P384Element) Bytes() []byte {
		p384.go#L61: func (e *P384Element) bytes(out *[p384ElementLen]byte) []byte {
		p384.go#L72: func (e *P384Element) SetBytes(v []byte) (*P384Element, error) {
		p384.go#L79: 	var minusOneEncoding = new(P384Element).Sub(
		p384.go#L80: 		new(P384Element), new(P384Element).One()).Bytes()
		p384.go#L100: func (e *P384Element) Add(t1, t2 *P384Element) *P384Element {
		p384.go#L106: func (e *P384Element) Sub(t1, t2 *P384Element) *P384Element {
		p384.go#L112: func (e *P384Element) Mul(t1, t2 *P384Element) *P384Element {
		p384.go#L118: func (e *P384Element) Square(t *P384Element) *P384Element {
		p384.go#L124: func (v *P384Element) Select(a, b *P384Element, cond int) *P384Element {
		p384_invert.go#L12: func (e *P384Element) Invert(x *P384Element) *P384Element {
		p384_invert.go#L36: 	var z = new(P384Element).Set(e)
		p384_invert.go#L37: 	var t0 = new(P384Element)
		p384_invert.go#L38: 	var t1 = new(P384Element)
		p384_invert.go#L39: 	var t2 = new(P384Element)
		p384_invert.go#L40: 	var t3 = new(P384Element)

	crypto/internal/nistec
		p384.go#L24: 	x, y, z *fiat.P384Element
		p384.go#L30: 		x: new(fiat.P384Element),
		p384.go#L31: 		y: new(fiat.P384Element).One(),
		p384.go#L32: 		z: new(fiat.P384Element),
		p384.go#L64: 		x, err := new(fiat.P384Element).SetBytes(b[1 : 1+p384ElementLength])
		p384.go#L68: 		y, err := new(fiat.P384Element).SetBytes(b[1+p384ElementLength:])
		p384.go#L82: 		x, err := new(fiat.P384Element).SetBytes(b[1:])
		p384.go#L88: 		y := p384Polynomial(new(fiat.P384Element), x)
		p384.go#L95: 		otherRoot := new(fiat.P384Element)
		p384.go#L110: var _p384B *fiat.P384Element
		p384.go#L113: func p384B() *fiat.P384Element {
		p384.go#L115: 		_p384B, _ = new(fiat.P384Element).SetBytes([]byte{0xb3, 0x31, 0x2f, 0xa7, 0xe2, 0x3e, 0xe7, 0xe4, 0x98, 0x8e, 0x5, 0x6b, 0xe3, 0xf8, 0x2d, 0x19, 0x18, 0x1d, 0x9c, 0x6e, 0xfe, 0x81, 0x41, 0x12, 0x3, 0x14, 0x8, 0x8f, 0x50, 0x13, 0x87, 0x5a, 0xc6, 0x56, 0x39, 0x8d, 0x8a, 0x2e, 0xd1, 0x9d, 0x2a, 0x85, 0xc8, 0xed, 0xd3, 0xec, 0x2a, 0xef})
		p384.go#L121: func p384Polynomial(y2, x *fiat.P384Element) *fiat.P384Element {
		p384.go#L125: 	threeX := new(fiat.P384Element).Add(x, x)
		p384.go#L132: func p384CheckOnCurve(x, y *fiat.P384Element) error {
		p384.go#L134: 	rhs := p384Polynomial(new(fiat.P384Element), x)
		p384.go#L135: 	lhs := new(fiat.P384Element).Square(y)
		p384.go#L157: 	zinv := new(fiat.P384Element).Invert(p.z)
		p384.go#L158: 	x := new(fiat.P384Element).Mul(p.x, zinv)
		p384.go#L159: 	y := new(fiat.P384Element).Mul(p.y, zinv)
		p384.go#L181: 	zinv := new(fiat.P384Element).Invert(p.z)
		p384.go#L182: 	x := new(fiat.P384Element).Mul(p.x, zinv)
		p384.go#L202: 	zinv := new(fiat.P384Element).Invert(p.z)
		p384.go#L203: 	x := new(fiat.P384Element).Mul(p.x, zinv)
		p384.go#L204: 	y := new(fiat.P384Element).Mul(p.y, zinv)
		p384.go#L219: 	t0 := new(fiat.P384Element).Mul(p1.x, p2.x)  // t0 := X1 * X2
		p384.go#L220: 	t1 := new(fiat.P384Element).Mul(p1.y, p2.y)  // t1 := Y1 * Y2
		p384.go#L221: 	t2 := new(fiat.P384Element).Mul(p1.z, p2.z)  // t2 := Z1 * Z2
		p384.go#L222: 	t3 := new(fiat.P384Element).Add(p1.x, p1.y)  // t3 := X1 + Y1
		p384.go#L223: 	t4 := new(fiat.P384Element).Add(p2.x, p2.y)  // t4 := X2 + Y2
		p384.go#L228: 	x3 := new(fiat.P384Element).Add(p2.y, p2.z)  // X3 := Y2 + Z2
		p384.go#L233: 	y3 := new(fiat.P384Element).Add(p2.x, p2.z)  // Y3 := X2 + Z2
		p384.go#L237: 	z3 := new(fiat.P384Element).Mul(p384B(), t2) // Z3 := b * t2
		p384.go#L274: 	t0 := new(fiat.P384Element).Square(p.x)      // t0 := X ^ 2
		p384.go#L275: 	t1 := new(fiat.P384Element).Square(p.y)      // t1 := Y ^ 2
		p384.go#L276: 	t2 := new(fiat.P384Element).Square(p.z)      // t2 := Z ^ 2
		p384.go#L277: 	t3 := new(fiat.P384Element).Mul(p.x, p.y)    // t3 := X * Y
		p384.go#L279: 	z3 := new(fiat.P384Element).Mul(p.x, p.z)    // Z3 := X * Z
		p384.go#L281: 	y3 := new(fiat.P384Element).Mul(p384B(), t2) // Y3 := b * t2
		p384.go#L283: 	x3 := new(fiat.P384Element).Add(y3, y3)      // X3 := Y3 + Y3
		p384.go#L444: func p384Sqrt(e, x *fiat.P384Element) (isSquare bool) {
		p384.go#L445: 	candidate := new(fiat.P384Element)
		p384.go#L447: 	square := new(fiat.P384Element).Square(candidate)
		p384.go#L456: func p384SqrtCandidate(z, x *fiat.P384Element) {
		p384.go#L480: 	var t0 = new(fiat.P384Element)
		p384.go#L481: 	var t1 = new(fiat.P384Element)
		p384.go#L482: 	var t2 = new(fiat.P384Element)