Documentation ¶
Index ¶
- Constants
- func Add(z *Elt, x *Elt, y *Elt)
- func CMov(y *Elt, x *Elt, c uint)
- func Decode(z *Elt, x *Elt)
- func Encode(z *Elt, x *Elt)
- func Inv(z *Elt, x *Elt)
- func Mul(z *Elt, x *Elt, y *Elt)
- func Neg(z *Elt, x *Elt)
- func Sqr(z *Elt, x *Elt)
- func Sub(z *Elt, x *Elt, y *Elt)
- type Affine
- type Curve
- type Elt
- type Jacobian
- func (p *Jacobian) Add(q *Jacobian, r *Jacobian)
- func (p *Jacobian) Affine() (a *Affine)
- func (p *Jacobian) CMov(q *Jacobian, c uint)
- func (p *Jacobian) CNeg(c uint)
- func (p *Jacobian) Coordinates() (X, Y, Z *big.Int)
- func (p *Jacobian) Double(q *Jacobian)
- func (p *Jacobian) Projective() (q *Projective)
- func (p *Jacobian) Set(q *Jacobian)
- type Projective
Constants ¶
View Source
const Size = 32
Size is the size of a field element in bytes.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Affine ¶
func (*Affine) Coordinates ¶
func (*Affine) Projective ¶
func (a *Affine) Projective() (p *Projective)
type Curve ¶
type Curve interface { elliptic.Curve // Inverse computes the inverse of k modulo the order N. Satisfies the // crypto/ecdsa.invertable interface. Inverse(k *big.Int) *big.Int }
Curve extends the standard elliptic.Curve interface.
type Elt ¶
type Elt [32]uint8
Elt is a field element.
func (*Elt) IntRaw ¶
IntRaw converts to a big integer. This raw variant sets the value directly, bypassing any encoding/decoding steps.
func (*Elt) SetBytesRaw ¶
SetBytesRaw constructs a field element from bytes in big-endian order. This raw variant sets the value directly, bypassing any encoding/decoding steps.
func (*Elt) SetInt64Raw ¶
SetInt64Raw constructs a field element from an integer. This raw variant sets the value directly, bypassing any encoding/decoding steps.
type Jacobian ¶
func NewJacobian ¶
func (*Jacobian) Coordinates ¶
func (*Jacobian) Projective ¶
func (p *Jacobian) Projective() (q *Projective)
type Projective ¶
func NewProjective ¶
func NewProjective(X, Y, Z *big.Int) *Projective
func (*Projective) Affine ¶
func (p *Projective) Affine() (a *Affine)
func (*Projective) CNeg ¶
func (p *Projective) CNeg(c uint)
func (*Projective) CompleteAdd ¶
func (p *Projective) CompleteAdd(q *Projective, r *Projective)
func (*Projective) Coordinates ¶
func (p *Projective) Coordinates() (X, Y, Z *big.Int)
func (*Projective) Set ¶
func (p *Projective) Set(q *Projective)
Click to show internal directories.
Click to hide internal directories.