ed25519: github.com/agl/ed25519/extra25519 Index | Files

package extra25519

import "github.com/agl/ed25519/extra25519"

Index

Package Files

extra25519.go

func PrivateKeyToCurve25519 Uses

func PrivateKeyToCurve25519(curve25519Private *[32]byte, privateKey *[64]byte)

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 Uses

func PublicKeyToCurve25519(curve25519Public *[32]byte, publicKey *[32]byte) bool

PublicKeyToCurve25519 converts an Ed25519 public key into the curve25519 public key that would be generated from the same private key.

func RepresentativeToPublicKey Uses

func RepresentativeToPublicKey(publicKey, representative *[32]byte)

RepresentativeToPublicKey converts a uniform representative value for a curve25519 public key, as produced by ScalarBaseMult, to a curve25519 public key.

func ScalarBaseMult Uses

func ScalarBaseMult(publicKey, representative, privateKey *[32]byte) bool

ScalarBaseMult computes a curve25519 public key from a private key and also a uniform representative for that public key. Note that this function will fail and return false for about half of private keys. See http://elligator.cr.yp.to/elligator-20130828.pdf.

Package extra25519 imports 2 packages (graph) and is imported by 36 packages. Updated 2018-03-15. Refresh now. Tools for package owners.