Documentation
¶
Overview ¶
Package curve25519 contains several implementations of Twisted Edwards Curves, from general and unoptimized to highly specialized and optimized.
Twisted Edwards curves are elliptic curves satisfying the equation:
ax^2 + y^2 = c^2(1 + dx^2y^2)
for some scalars c, d over some field K. We assume K is a (finite) prime field for a large prime p. We also assume c == 1 because all curves in the generalized form are isomorphic to curves having c == 1.
For details see Bernstein et al, "Twisted Edwards Curves", http://eprint.iacr.org/2008/013.pdf
Index ¶
- type ExtendedCurve
- func (c *ExtendedCurve) Init(p *Param, fullGroup bool) *ExtendedCurve
- func (c *ExtendedCurve) IsPrimeOrder() bool
- func (c *ExtendedCurve) NewKey(stream cipher.Stream) kyber.Scalar
- func (c *ExtendedCurve) Point() kyber.Point
- func (c *ExtendedCurve) PointLen() int
- func (c *ExtendedCurve) Scalar() kyber.Scalar
- func (c *ExtendedCurve) ScalarLen() int
- func (c *ExtendedCurve) String() string
- type Param
- type ProjectiveCurve
- func (c *ProjectiveCurve) Init(p *Param, fullGroup bool) *ProjectiveCurve
- func (c *ProjectiveCurve) IsPrimeOrder() bool
- func (c *ProjectiveCurve) NewKey(stream cipher.Stream) kyber.Scalar
- func (c *ProjectiveCurve) Point() kyber.Point
- func (c *ProjectiveCurve) PointLen() int
- func (c *ProjectiveCurve) Scalar() kyber.Scalar
- func (c *ProjectiveCurve) ScalarLen() int
- func (c *ProjectiveCurve) String() string
- type SuiteCurve25519