crypto/internal/edwards25519/field.Element.Multiply (method)

73 uses

	crypto/internal/edwards25519/field (current package)
		fe.go#L128: 	z9.Multiply(&t, z)       // 9
		fe.go#L129: 	z11.Multiply(&z9, &z2)   // 11
		fe.go#L131: 	z2_5_0.Multiply(&t, &z9) // 31 = 2^5 - 2^0
		fe.go#L137: 	z2_10_0.Multiply(&t, &z2_5_0) // 2^10 - 2^0
		fe.go#L143: 	z2_20_0.Multiply(&t, &z2_10_0) // 2^20 - 2^0
		fe.go#L149: 	t.Multiply(&t, &z2_20_0) // 2^40 - 2^0
		fe.go#L155: 	z2_50_0.Multiply(&t, &z2_10_0) // 2^50 - 2^0
		fe.go#L161: 	z2_100_0.Multiply(&t, &z2_50_0) // 2^100 - 2^0
		fe.go#L167: 	t.Multiply(&t, &z2_100_0) // 2^200 - 2^0
		fe.go#L173: 	t.Multiply(&t, &z2_50_0) // 2^250 - 2^0
		fe.go#L181: 	return v.Multiply(&t, &z11) // 2^255 - 21
		fe.go#L302: func (v *Element) Multiply(x, y *Element) *Element {
		fe.go#L345: 	t1.Multiply(x, &t1)      // x^9
		fe.go#L346: 	t0.Multiply(&t0, &t1)    // x^11
		fe.go#L348: 	t0.Multiply(&t1, &t0)    // x^31
		fe.go#L353: 	t0.Multiply(&t1, &t0)     // x^1023 -> 1023 = 2^10 - 1
		fe.go#L358: 	t1.Multiply(&t1, &t0)     // 2^20 - 1
		fe.go#L363: 	t1.Multiply(&t2, &t1)     // 2^40 - 1
		fe.go#L368: 	t0.Multiply(&t1, &t0)     // 2^50 - 1
		fe.go#L373: 	t1.Multiply(&t1, &t0)      // 2^100 - 1
		fe.go#L378: 	t1.Multiply(&t2, &t1)     // 2^200 - 1
		fe.go#L383: 	t0.Multiply(&t1, &t0)     // 2^250 - 1
		fe.go#L386: 	return v.Multiply(&t0, x) // 2^252 - 3 -> x^(2^252-3)
		fe.go#L403: 	uv3 := new(Element).Multiply(u, t0.Multiply(v2, v))
		fe.go#L404: 	uv7 := new(Element).Multiply(uv3, t0.Square(v2))
		fe.go#L405: 	rr := new(Element).Multiply(uv3, t0.Pow22523(uv7))
		fe.go#L407: 	check := new(Element).Multiply(v, t0.Square(rr)) // check = v * r^2
		fe.go#L412: 	flippedSignSqrtI := check.Equal(t0.Multiply(uNeg, sqrtM1))
		fe.go#L414: 	rPrime := new(Element).Multiply(rr, sqrtM1) // r_prime = SQRT_M1 * r

	crypto/internal/edwards25519
		edwards25519.go#L127: 	x.Multiply(&v.x, &zInv) // x = X / Z
		edwards25519.go#L128: 	y.Multiply(&v.y, &zInv) // y = Y / Z
		edwards25519.go#L167: 	vv := new(field.Element).Multiply(y2, d)
		edwards25519.go#L183: 	v.t.Multiply(xx, y) // xy = T / Z
		edwards25519.go#L196: 	v.X.Multiply(&p.X, &p.T)
		edwards25519.go#L197: 	v.Y.Multiply(&p.Y, &p.Z)
		edwards25519.go#L198: 	v.Z.Multiply(&p.Z, &p.T)
		edwards25519.go#L210: 	v.x.Multiply(&p.X, &p.T)
		edwards25519.go#L211: 	v.y.Multiply(&p.Y, &p.Z)
		edwards25519.go#L212: 	v.z.Multiply(&p.Z, &p.T)
		edwards25519.go#L213: 	v.t.Multiply(&p.X, &p.Y)
		edwards25519.go#L218: 	v.x.Multiply(&p.X, &p.Z)
		edwards25519.go#L219: 	v.y.Multiply(&p.Y, &p.Z)
		edwards25519.go#L221: 	v.t.Multiply(&p.X, &p.Y)
		edwards25519.go#L237: 	v.T2d.Multiply(&p.t, d2)
		edwards25519.go#L244: 	v.T2d.Multiply(&p.t, d2)
		edwards25519.go#L248: 	v.YplusX.Multiply(&v.YplusX, &invZ)
		edwards25519.go#L249: 	v.YminusX.Multiply(&v.YminusX, &invZ)
		edwards25519.go#L250: 	v.T2d.Multiply(&v.T2d, &invZ)
		edwards25519.go#L278: 	PP.Multiply(&YplusX, &q.YplusX)
		edwards25519.go#L279: 	MM.Multiply(&YminusX, &q.YminusX)
		edwards25519.go#L280: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L281: 	ZZ2.Multiply(&p.z, &q.Z)
		edwards25519.go#L298: 	PP.Multiply(&YplusX, &q.YminusX) // flipped sign
		edwards25519.go#L299: 	MM.Multiply(&YminusX, &q.YplusX) // flipped sign
		edwards25519.go#L300: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L301: 	ZZ2.Multiply(&p.z, &q.Z)
		edwards25519.go#L318: 	PP.Multiply(&YplusX, &q.YplusX)
		edwards25519.go#L319: 	MM.Multiply(&YminusX, &q.YminusX)
		edwards25519.go#L320: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L337: 	PP.Multiply(&YplusX, &q.YminusX) // flipped sign
		edwards25519.go#L338: 	MM.Multiply(&YminusX, &q.YplusX) // flipped sign
		edwards25519.go#L339: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L387: 	t1.Multiply(&v.x, &u.z)
		edwards25519.go#L388: 	t2.Multiply(&u.x, &v.z)
		edwards25519.go#L389: 	t3.Multiply(&v.y, &u.z)
		edwards25519.go#L390: 	t4.Multiply(&u.y, &v.z)

	crypto/ecdh
		x25519.go#L113: 		z3.Multiply(&tmp0, &x2)
		x25519.go#L114: 		z2.Multiply(&z2, &tmp1)
		x25519.go#L119: 		x2.Multiply(&tmp1, &tmp0)
		x25519.go#L126: 		z3.Multiply(&x1, &z2)
		x25519.go#L127: 		z2.Multiply(&tmp1, &tmp0)
		x25519.go#L134: 	x2.Multiply(&x2, &z2)