type crypto/internal/fips140/edwards25519/field.Element
107 uses
crypto/internal/fips140/edwards25519/field (current package)
fe.go#L24: type Element struct {
fe.go#L38: var feZero = &Element{0, 0, 0, 0, 0}
fe.go#L41: func (v *Element) Zero() *Element {
fe.go#L46: var feOne = &Element{1, 0, 0, 0, 0}
fe.go#L49: func (v *Element) One() *Element {
fe.go#L55: func (v *Element) reduce() *Element {
fe.go#L88: func (v *Element) Add(a, b *Element) *Element {
fe.go#L102: func (v *Element) Subtract(a, b *Element) *Element {
fe.go#L114: func (v *Element) Negate(a *Element) *Element {
fe.go#L121: func (v *Element) Invert(z *Element) *Element {
fe.go#L124: var z2, z9, z11, z2_5_0, z2_10_0, z2_20_0, z2_50_0, z2_100_0, t Element
fe.go#L186: func (v *Element) Set(a *Element) *Element {
fe.go#L199: func (v *Element) SetBytes(x []byte) (*Element, error) {
fe.go#L225: func (v *Element) Bytes() []byte {
fe.go#L232: func (v *Element) bytes(out *[32]byte) []byte {
fe.go#L253: func (v *Element) Equal(u *Element) int {
fe.go#L262: func (v *Element) Select(a, b *Element, cond int) *Element {
fe.go#L273: func (v *Element) Swap(u *Element, cond int) {
fe.go#L293: func (v *Element) IsNegative() int {
fe.go#L298: func (v *Element) Absolute(u *Element) *Element {
fe.go#L299: return v.Select(new(Element).Negate(u), u, u.IsNegative())
fe.go#L303: func (v *Element) Multiply(x, y *Element) *Element {
fe.go#L309: func (v *Element) Square(x *Element) *Element {
fe.go#L315: func (v *Element) Mult32(x *Element, y uint32) *Element {
fe.go#L340: func (v *Element) Pow22523(x *Element) *Element {
fe.go#L341: var t0, t1, t2 Element
fe.go#L391: var sqrtM1 = &Element{1718705420411056, 234908883556509,
fe.go#L399: func (r *Element) SqrtRatio(u, v *Element) (R *Element, wasSquare int) {
fe.go#L400: t0 := new(Element)
fe.go#L403: v2 := new(Element).Square(v)
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#L410: uNeg := new(Element).Negate(u)
fe.go#L415: rPrime := new(Element).Multiply(rr, sqrtM1) // r_prime = SQRT_M1 * r
fe_amd64.go#L10: func feMul(out *Element, a *Element, b *Element)
fe_amd64.go#L15: func feSquare(out *Element, a *Element)
fe_arm64_noasm.go#L9: func (v *Element) carryPropagate() *Element {
fe_generic.go#L34: func feMulGeneric(v, a, b *Element) {
fe_generic.go#L161: *v = Element{rr0, rr1, rr2, rr3, rr4}
fe_generic.go#L165: func feSquareGeneric(v, a *Element) {
fe_generic.go#L244: *v = Element{rr0, rr1, rr2, rr3, rr4}
fe_generic.go#L250: func (v *Element) carryPropagateGeneric() *Element {
crypto/internal/fips140/edwards25519
edwards25519.go#L16: X, Y, Z, T field.Element
edwards25519.go#L20: X, Y, Z field.Element
edwards25519.go#L36: x, y, z, t field.Element
edwards25519.go#L43: if p.x == (field.Element{}) && p.y == (field.Element{}) {
edwards25519.go#L50: YplusX, YminusX, Z, T2d field.Element
edwards25519.go#L54: YplusX, YminusX, T2d field.Element
edwards25519.go#L126: var zInv, x, y field.Element
edwards25519.go#L136: var feOne = new(field.Element).One()
edwards25519.go#L154: y, err := new(field.Element).SetBytes(x)
edwards25519.go#L164: y2 := new(field.Element).Square(y)
edwards25519.go#L165: u := new(field.Element).Subtract(y2, feOne)
edwards25519.go#L168: vv := new(field.Element).Multiply(y2, d)
edwards25519.go#L172: xx, wasSquare := new(field.Element).SqrtRatio(u, vv)
edwards25519.go#L178: xxNeg := new(field.Element).Negate(xx)
edwards25519.go#L189: func copyFieldElement(buf *[32]byte, v *field.Element) []byte {
edwards25519.go#L227: var d, _ = new(field.Element).SetBytes([]byte{
edwards25519.go#L232: var d2 = new(field.Element).Add(d, d)
edwards25519.go#L247: var invZ field.Element
edwards25519.go#L274: var YplusX, YminusX, PP, MM, TT2d, ZZ2 field.Element
edwards25519.go#L294: var YplusX, YminusX, PP, MM, TT2d, ZZ2 field.Element
edwards25519.go#L314: var YplusX, YminusX, PP, MM, TT2d, Z2 field.Element
edwards25519.go#L333: var YplusX, YminusX, PP, MM, TT2d, Z2 field.Element
edwards25519.go#L354: var XX, YY, ZZ2, XplusYsq field.Element
edwards25519.go#L387: var t1, t2, t3, t4 field.Element
edwards25519.go#L418: v.T2d.Select(new(field.Element).Negate(&v.T2d), &v.T2d, cond)
edwards25519.go#L425: v.T2d.Select(new(field.Element).Negate(&v.T2d), &v.T2d, cond)
crypto/ecdh
x25519.go#L99: var x1, x2, z2, x3, z3, tmp0, tmp1 field.Element