type crypto/internal/nistec/fiat.P521Element
81 uses
crypto/internal/nistec/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#L41: func (e *P521Element) IsZero() int {
p521.go#L48: func (e *P521Element) Set(t *P521Element) *P521Element {
p521.go#L54: func (e *P521Element) Bytes() []byte {
p521.go#L61: func (e *P521Element) bytes(out *[p521ElementLen]byte) []byte {
p521.go#L72: func (e *P521Element) SetBytes(v []byte) (*P521Element, error) {
p521.go#L79: var minusOneEncoding = new(P521Element).Sub(
p521.go#L80: new(P521Element), new(P521Element).One()).Bytes()
p521.go#L100: func (e *P521Element) Add(t1, t2 *P521Element) *P521Element {
p521.go#L106: func (e *P521Element) Sub(t1, t2 *P521Element) *P521Element {
p521.go#L112: func (e *P521Element) Mul(t1, t2 *P521Element) *P521Element {
p521.go#L118: func (e *P521Element) Square(t *P521Element) *P521Element {
p521.go#L124: 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/internal/nistec
p521.go#L24: x, y, z *fiat.P521Element
p521.go#L30: x: new(fiat.P521Element),
p521.go#L31: y: new(fiat.P521Element).One(),
p521.go#L32: z: new(fiat.P521Element),
p521.go#L64: x, err := new(fiat.P521Element).SetBytes(b[1 : 1+p521ElementLength])
p521.go#L68: y, err := new(fiat.P521Element).SetBytes(b[1+p521ElementLength:])
p521.go#L82: x, err := new(fiat.P521Element).SetBytes(b[1:])
p521.go#L88: y := p521Polynomial(new(fiat.P521Element), x)
p521.go#L95: otherRoot := new(fiat.P521Element)
p521.go#L110: var _p521B *fiat.P521Element
p521.go#L113: func p521B() *fiat.P521Element {
p521.go#L115: _p521B, _ = new(fiat.P521Element).SetBytes([]byte{0x0, 0x51, 0x95, 0x3e, 0xb9, 0x61, 0x8e, 0x1c, 0x9a, 0x1f, 0x92, 0x9a, 0x21, 0xa0, 0xb6, 0x85, 0x40, 0xee, 0xa2, 0xda, 0x72, 0x5b, 0x99, 0xb3, 0x15, 0xf3, 0xb8, 0xb4, 0x89, 0x91, 0x8e, 0xf1, 0x9, 0xe1, 0x56, 0x19, 0x39, 0x51, 0xec, 0x7e, 0x93, 0x7b, 0x16, 0x52, 0xc0, 0xbd, 0x3b, 0xb1, 0xbf, 0x7, 0x35, 0x73, 0xdf, 0x88, 0x3d, 0x2c, 0x34, 0xf1, 0xef, 0x45, 0x1f, 0xd4, 0x6b, 0x50, 0x3f, 0x0})
p521.go#L121: func p521Polynomial(y2, x *fiat.P521Element) *fiat.P521Element {
p521.go#L125: threeX := new(fiat.P521Element).Add(x, x)
p521.go#L132: func p521CheckOnCurve(x, y *fiat.P521Element) error {
p521.go#L134: rhs := p521Polynomial(new(fiat.P521Element), x)
p521.go#L135: lhs := new(fiat.P521Element).Square(y)
p521.go#L157: zinv := new(fiat.P521Element).Invert(p.z)
p521.go#L158: x := new(fiat.P521Element).Mul(p.x, zinv)
p521.go#L159: y := new(fiat.P521Element).Mul(p.y, zinv)
p521.go#L181: zinv := new(fiat.P521Element).Invert(p.z)
p521.go#L182: x := new(fiat.P521Element).Mul(p.x, zinv)
p521.go#L202: zinv := new(fiat.P521Element).Invert(p.z)
p521.go#L203: x := new(fiat.P521Element).Mul(p.x, zinv)
p521.go#L204: y := new(fiat.P521Element).Mul(p.y, zinv)
p521.go#L219: t0 := new(fiat.P521Element).Mul(p1.x, p2.x) // t0 := X1 * X2
p521.go#L220: t1 := new(fiat.P521Element).Mul(p1.y, p2.y) // t1 := Y1 * Y2
p521.go#L221: t2 := new(fiat.P521Element).Mul(p1.z, p2.z) // t2 := Z1 * Z2
p521.go#L222: t3 := new(fiat.P521Element).Add(p1.x, p1.y) // t3 := X1 + Y1
p521.go#L223: t4 := new(fiat.P521Element).Add(p2.x, p2.y) // t4 := X2 + Y2
p521.go#L228: x3 := new(fiat.P521Element).Add(p2.y, p2.z) // X3 := Y2 + Z2
p521.go#L233: y3 := new(fiat.P521Element).Add(p2.x, p2.z) // Y3 := X2 + Z2
p521.go#L237: z3 := new(fiat.P521Element).Mul(p521B(), t2) // Z3 := b * t2
p521.go#L274: t0 := new(fiat.P521Element).Square(p.x) // t0 := X ^ 2
p521.go#L275: t1 := new(fiat.P521Element).Square(p.y) // t1 := Y ^ 2
p521.go#L276: t2 := new(fiat.P521Element).Square(p.z) // t2 := Z ^ 2
p521.go#L277: t3 := new(fiat.P521Element).Mul(p.x, p.y) // t3 := X * Y
p521.go#L279: z3 := new(fiat.P521Element).Mul(p.x, p.z) // Z3 := X * Z
p521.go#L281: y3 := new(fiat.P521Element).Mul(p521B(), t2) // Y3 := b * t2
p521.go#L283: x3 := new(fiat.P521Element).Add(y3, y3) // X3 := Y3 + Y3
p521.go#L444: func p521Sqrt(e, x *fiat.P521Element) (isSquare bool) {
p521.go#L445: candidate := new(fiat.P521Element)
p521.go#L447: square := new(fiat.P521Element).Square(candidate)
p521.go#L456: func p521SqrtCandidate(z, x *fiat.P521Element) {
|
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. |