type crypto/elliptic/internal/fiat.P521Element

69 uses

	crypto/elliptic/internal/fiat (current package)
		p521.go#L17: type P521Element struct {
		p521.go#L28: func (e *P521Element) One() *P521Element {
		p521.go#L34: func (e *P521Element) Equal(t *P521Element) int {
		p521.go#L40: var p521ZeroEncoding = new(P521Element).Bytes()
		p521.go#L43: func (e *P521Element) IsZero() int {
		p521.go#L49: func (e *P521Element) Set(t *P521Element) *P521Element {
		p521.go#L55: func (e *P521Element) Bytes() []byte {
		p521.go#L62: func (e *P521Element) bytes(out *[p521ElementLen]byte) []byte {
		p521.go#L73: var p521MinusOneEncoding = new(P521Element).Sub(
		p521.go#L74: 	new(P521Element), new(P521Element).One()).Bytes()
		p521.go#L79: func (e *P521Element) SetBytes(v []byte) (*P521Element, error) {
		p521.go#L101: func (e *P521Element) Add(t1, t2 *P521Element) *P521Element {
		p521.go#L107: func (e *P521Element) Sub(t1, t2 *P521Element) *P521Element {
		p521.go#L113: func (e *P521Element) Mul(t1, t2 *P521Element) *P521Element {
		p521.go#L119: func (e *P521Element) Square(t *P521Element) *P521Element {
		p521.go#L125: func (v *P521Element) Select(a, b *P521Element, cond int) *P521Element {
		p521_invert.go#L12: func (e *P521Element) Invert(x *P521Element) *P521Element {
		p521_invert.go#L35: 	var z = new(P521Element).Set(e)
		p521_invert.go#L36: 	var t0 = new(P521Element)

	crypto/elliptic/internal/nistec
		p521.go#L20: var p521B, _ = new(fiat.P521Element).SetBytes([]byte{
		p521.go#L47: 	x, y, z *fiat.P521Element
		p521.go#L53: 		x: new(fiat.P521Element),
		p521.go#L54: 		y: new(fiat.P521Element).One(),
		p521.go#L55: 		z: new(fiat.P521Element),
		p521.go#L62: 		x: new(fiat.P521Element),
		p521.go#L63: 		y: new(fiat.P521Element),
		p521.go#L64: 		z: new(fiat.P521Element),
		p521.go#L88: 		x, err := new(fiat.P521Element).SetBytes(b[1 : 1+p521ElementLength])
		p521.go#L92: 		y, err := new(fiat.P521Element).SetBytes(b[1+p521ElementLength:])
		p521.go#L113: func p521CheckOnCurve(x, y *fiat.P521Element) error {
		p521.go#L115: 	x3 := new(fiat.P521Element).Square(x)
		p521.go#L118: 	threeX := new(fiat.P521Element).Add(x, x)
		p521.go#L125: 	y2 := new(fiat.P521Element).Square(y)
		p521.go#L148: 	zinv := new(fiat.P521Element).Invert(p.z)
		p521.go#L149: 	xx := new(fiat.P521Element).Mul(p.x, zinv)
		p521.go#L150: 	yy := new(fiat.P521Element).Mul(p.y, zinv)
		p521.go#L163: 	t0 := new(fiat.P521Element).Mul(p1.x, p2.x) // t0 := X1 * X2
		p521.go#L164: 	t1 := new(fiat.P521Element).Mul(p1.y, p2.y) // t1 := Y1 * Y2
		p521.go#L165: 	t2 := new(fiat.P521Element).Mul(p1.z, p2.z) // t2 := Z1 * Z2
		p521.go#L166: 	t3 := new(fiat.P521Element).Add(p1.x, p1.y) // t3 := X1 + Y1
		p521.go#L167: 	t4 := new(fiat.P521Element).Add(p2.x, p2.y) // t4 := X2 + Y2
		p521.go#L172: 	x3 := new(fiat.P521Element).Add(p2.y, p2.z) // X3 := Y2 + Z2
		p521.go#L177: 	y3 := new(fiat.P521Element).Add(p2.x, p2.z) // Y3 := X2 + Z2
		p521.go#L181: 	z3 := new(fiat.P521Element).Mul(p521B, t2)  // Z3 := b * t2
		p521.go#L218: 	t0 := new(fiat.P521Element).Square(p.x)    // t0 := X ^ 2
		p521.go#L219: 	t1 := new(fiat.P521Element).Square(p.y)    // t1 := Y ^ 2
		p521.go#L220: 	t2 := new(fiat.P521Element).Square(p.z)    // t2 := Z ^ 2
		p521.go#L221: 	t3 := new(fiat.P521Element).Mul(p.x, p.y)  // t3 := X * Y
		p521.go#L223: 	z3 := new(fiat.P521Element).Mul(p.x, p.z)  // Z3 := X * Z
		p521.go#L225: 	y3 := new(fiat.P521Element).Mul(p521B, t2) // Y3 := b * t2
		p521.go#L227: 	x3 := new(fiat.P521Element).Add(y3, y3)    // X3 := Y3 + Y3