Documentation ¶
Overview ¶
Package ed25519 provides an optimized Go implementation of a Twisted Edwards curve that is isomorphic to Curve25519. For details see: http://ed25519.cr.yp.to/.
This code is based on Adam Langley's Go port of the public domain, "ref10" implementation of the ed25519 signing scheme in C from SUPERCOP. It was generalized and extended to support full abstract group arithmetic by the Yale Decentralized/Distributed Systems (DeDiS) group.
Due to the field element and group arithmetic optimizations described in the Ed25519 paper, this implementation generally performs extremely well, typically comparable to native C implementations. The tradeoff is that this code is completely specialized to a single curve.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAES128SHA256Ed25519 ¶
Ciphersuite based on AES-128, SHA-256, and the Ed25519 curve.
func PrivateKeyToCurve25519 ¶
PrivateKeyToCurve25519 converts an ed25519 private key into a corresponding curve25519 private key such that the resulting curve25519 public key will equal the result from PublicKeyToCurve25519.
func PublicKeyToCurve25519 ¶
PublicKeyToCurve25519 converts an Ed25519 public key into the curve25519 public key that would be generated from the same private key.
Types ¶
type Curve ¶
type Curve struct { }
Curve represents an Ed25519. There are no parameters and no initialization is required because it supports only this one specific curve.