type crypto/internal/edwards25519/field.Element
107 uses
crypto/internal/edwards25519/field (current package)
fe.go#L23: type Element struct {
fe.go#L37: var feZero = &Element{0, 0, 0, 0, 0}
fe.go#L40: func (v *Element) Zero() *Element {
fe.go#L45: var feOne = &Element{1, 0, 0, 0, 0}
fe.go#L48: func (v *Element) One() *Element {
fe.go#L54: func (v *Element) reduce() *Element {
fe.go#L87: func (v *Element) Add(a, b *Element) *Element {
fe.go#L101: func (v *Element) Subtract(a, b *Element) *Element {
fe.go#L113: func (v *Element) Negate(a *Element) *Element {
fe.go#L120: func (v *Element) Invert(z *Element) *Element {
fe.go#L123: var z2, z9, z11, z2_5_0, z2_10_0, z2_20_0, z2_50_0, z2_100_0, t Element
fe.go#L185: func (v *Element) Set(a *Element) *Element {
fe.go#L198: func (v *Element) SetBytes(x []byte) (*Element, error) {
fe.go#L224: func (v *Element) Bytes() []byte {
fe.go#L231: func (v *Element) bytes(out *[32]byte) []byte {
fe.go#L252: func (v *Element) Equal(u *Element) int {
fe.go#L261: func (v *Element) Select(a, b *Element, cond int) *Element {
fe.go#L272: func (v *Element) Swap(u *Element, cond int) {
fe.go#L292: func (v *Element) IsNegative() int {
fe.go#L297: func (v *Element) Absolute(u *Element) *Element {
fe.go#L298: return v.Select(new(Element).Negate(u), u, u.IsNegative())
fe.go#L302: func (v *Element) Multiply(x, y *Element) *Element {
fe.go#L308: func (v *Element) Square(x *Element) *Element {
fe.go#L314: func (v *Element) Mult32(x *Element, y uint32) *Element {
fe.go#L339: func (v *Element) Pow22523(x *Element) *Element {
fe.go#L340: var t0, t1, t2 Element
fe.go#L390: var sqrtM1 = &Element{1718705420411056, 234908883556509,
fe.go#L398: func (r *Element) SqrtRatio(u, v *Element) (R *Element, wasSquare int) {
fe.go#L399: t0 := new(Element)
fe.go#L402: v2 := new(Element).Square(v)
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#L409: uNeg := new(Element).Negate(u)
fe.go#L414: 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/edwards25519
edwards25519.go#L15: X, Y, Z, T field.Element
edwards25519.go#L19: X, Y, Z field.Element
edwards25519.go#L35: x, y, z, t field.Element
edwards25519.go#L42: if p.x == (field.Element{}) && p.y == (field.Element{}) {
edwards25519.go#L49: YplusX, YminusX, Z, T2d field.Element
edwards25519.go#L53: YplusX, YminusX, T2d field.Element
edwards25519.go#L125: var zInv, x, y field.Element
edwards25519.go#L135: var feOne = new(field.Element).One()
edwards25519.go#L153: y, err := new(field.Element).SetBytes(x)
edwards25519.go#L163: y2 := new(field.Element).Square(y)
edwards25519.go#L164: u := new(field.Element).Subtract(y2, feOne)
edwards25519.go#L167: vv := new(field.Element).Multiply(y2, d)
edwards25519.go#L171: xx, wasSquare := new(field.Element).SqrtRatio(u, vv)
edwards25519.go#L177: xxNeg := new(field.Element).Negate(xx)
edwards25519.go#L188: func copyFieldElement(buf *[32]byte, v *field.Element) []byte {
edwards25519.go#L226: var d, _ = new(field.Element).SetBytes([]byte{
edwards25519.go#L231: var d2 = new(field.Element).Add(d, d)
edwards25519.go#L246: var invZ field.Element
edwards25519.go#L273: var YplusX, YminusX, PP, MM, TT2d, ZZ2 field.Element
edwards25519.go#L293: var YplusX, YminusX, PP, MM, TT2d, ZZ2 field.Element
edwards25519.go#L313: var YplusX, YminusX, PP, MM, TT2d, Z2 field.Element
edwards25519.go#L332: var YplusX, YminusX, PP, MM, TT2d, Z2 field.Element
edwards25519.go#L353: var XX, YY, ZZ2, XplusYsq field.Element
edwards25519.go#L386: var t1, t2, t3, t4 field.Element
edwards25519.go#L417: v.T2d.Select(new(field.Element).Negate(&v.T2d), &v.T2d, cond)
edwards25519.go#L424: v.T2d.Select(new(field.Element).Negate(&v.T2d), &v.T2d, cond)
crypto/ecdh
x25519.go#L94: var x1, x2, z2, x3, z3, tmp0, tmp1 field.Element
|
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |