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

73 uses

	crypto/internal/fips140/edwards25519/field (current package)
		fe.go#L129: 	z9.Multiply(&t, z)       // 9
		fe.go#L130: 	z11.Multiply(&z9, &z2)   // 11
		fe.go#L132: 	z2_5_0.Multiply(&t, &z9) // 31 = 2^5 - 2^0
		fe.go#L138: 	z2_10_0.Multiply(&t, &z2_5_0) // 2^10 - 2^0
		fe.go#L144: 	z2_20_0.Multiply(&t, &z2_10_0) // 2^20 - 2^0
		fe.go#L150: 	t.Multiply(&t, &z2_20_0) // 2^40 - 2^0
		fe.go#L156: 	z2_50_0.Multiply(&t, &z2_10_0) // 2^50 - 2^0
		fe.go#L162: 	z2_100_0.Multiply(&t, &z2_50_0) // 2^100 - 2^0
		fe.go#L168: 	t.Multiply(&t, &z2_100_0) // 2^200 - 2^0
		fe.go#L174: 	t.Multiply(&t, &z2_50_0) // 2^250 - 2^0
		fe.go#L182: 	return v.Multiply(&t, &z11) // 2^255 - 21
		fe.go#L303: func (v *Element) Multiply(x, y *Element) *Element {
		fe.go#L346: 	t1.Multiply(x, &t1)      // x^9
		fe.go#L347: 	t0.Multiply(&t0, &t1)    // x^11
		fe.go#L349: 	t0.Multiply(&t1, &t0)    // x^31
		fe.go#L354: 	t0.Multiply(&t1, &t0)     // x^1023 -> 1023 = 2^10 - 1
		fe.go#L359: 	t1.Multiply(&t1, &t0)     // 2^20 - 1
		fe.go#L364: 	t1.Multiply(&t2, &t1)     // 2^40 - 1
		fe.go#L369: 	t0.Multiply(&t1, &t0)     // 2^50 - 1
		fe.go#L374: 	t1.Multiply(&t1, &t0)      // 2^100 - 1
		fe.go#L379: 	t1.Multiply(&t2, &t1)     // 2^200 - 1
		fe.go#L384: 	t0.Multiply(&t1, &t0)     // 2^250 - 1
		fe.go#L387: 	return v.Multiply(&t0, x) // 2^252 - 3 -> x^(2^252-3)
		fe.go#L404: 	uv3 := new(Element).Multiply(u, t0.Multiply(v2, v))
		fe.go#L405: 	uv7 := new(Element).Multiply(uv3, t0.Square(v2))
		fe.go#L406: 	rr := new(Element).Multiply(uv3, t0.Pow22523(uv7))
		fe.go#L408: 	check := new(Element).Multiply(v, t0.Square(rr)) // check = v * r^2
		fe.go#L413: 	flippedSignSqrtI := check.Equal(t0.Multiply(uNeg, sqrtM1))
		fe.go#L415: 	rPrime := new(Element).Multiply(rr, sqrtM1) // r_prime = SQRT_M1 * r

	crypto/internal/fips140/edwards25519
		edwards25519.go#L128: 	x.Multiply(&v.x, &zInv) // x = X / Z
		edwards25519.go#L129: 	y.Multiply(&v.y, &zInv) // y = Y / Z
		edwards25519.go#L168: 	vv := new(field.Element).Multiply(y2, d)
		edwards25519.go#L184: 	v.t.Multiply(xx, y) // xy = T / Z
		edwards25519.go#L197: 	v.X.Multiply(&p.X, &p.T)
		edwards25519.go#L198: 	v.Y.Multiply(&p.Y, &p.Z)
		edwards25519.go#L199: 	v.Z.Multiply(&p.Z, &p.T)
		edwards25519.go#L211: 	v.x.Multiply(&p.X, &p.T)
		edwards25519.go#L212: 	v.y.Multiply(&p.Y, &p.Z)
		edwards25519.go#L213: 	v.z.Multiply(&p.Z, &p.T)
		edwards25519.go#L214: 	v.t.Multiply(&p.X, &p.Y)
		edwards25519.go#L219: 	v.x.Multiply(&p.X, &p.Z)
		edwards25519.go#L220: 	v.y.Multiply(&p.Y, &p.Z)
		edwards25519.go#L222: 	v.t.Multiply(&p.X, &p.Y)
		edwards25519.go#L238: 	v.T2d.Multiply(&p.t, d2)
		edwards25519.go#L245: 	v.T2d.Multiply(&p.t, d2)
		edwards25519.go#L249: 	v.YplusX.Multiply(&v.YplusX, &invZ)
		edwards25519.go#L250: 	v.YminusX.Multiply(&v.YminusX, &invZ)
		edwards25519.go#L251: 	v.T2d.Multiply(&v.T2d, &invZ)
		edwards25519.go#L279: 	PP.Multiply(&YplusX, &q.YplusX)
		edwards25519.go#L280: 	MM.Multiply(&YminusX, &q.YminusX)
		edwards25519.go#L281: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L282: 	ZZ2.Multiply(&p.z, &q.Z)
		edwards25519.go#L299: 	PP.Multiply(&YplusX, &q.YminusX) // flipped sign
		edwards25519.go#L300: 	MM.Multiply(&YminusX, &q.YplusX) // flipped sign
		edwards25519.go#L301: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L302: 	ZZ2.Multiply(&p.z, &q.Z)
		edwards25519.go#L319: 	PP.Multiply(&YplusX, &q.YplusX)
		edwards25519.go#L320: 	MM.Multiply(&YminusX, &q.YminusX)
		edwards25519.go#L321: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L338: 	PP.Multiply(&YplusX, &q.YminusX) // flipped sign
		edwards25519.go#L339: 	MM.Multiply(&YminusX, &q.YplusX) // flipped sign
		edwards25519.go#L340: 	TT2d.Multiply(&p.t, &q.T2d)
		edwards25519.go#L388: 	t1.Multiply(&v.x, &u.z)
		edwards25519.go#L389: 	t2.Multiply(&u.x, &v.z)
		edwards25519.go#L390: 	t3.Multiply(&v.y, &u.z)
		edwards25519.go#L391: 	t4.Multiply(&u.y, &v.z)

	crypto/ecdh
		x25519.go#L118: 		z3.Multiply(&tmp0, &x2)
		x25519.go#L119: 		z2.Multiply(&z2, &tmp1)
		x25519.go#L124: 		x2.Multiply(&tmp1, &tmp0)
		x25519.go#L131: 		z3.Multiply(&x1, &z2)
		x25519.go#L132: 		z2.Multiply(&tmp1, &tmp0)
		x25519.go#L139: 	x2.Multiply(&x2, &z2)