Documentation ¶
Index ¶
- Constants
- Variables
- func ECP2OS(P *edwards25519.ExtendedGroupElement) []byte
- func ECP2OSProj(P *edwards25519.ProjectiveGroupElement) []byte
- func ECVRF_decode_proof(pi []byte) (r *edwards25519.ExtendedGroupElement, c *[N2]byte, s *[N2]byte, err error)
- func ECVRF_hash_points(ps ...[]byte) *big.Int
- func ECVRF_hash_to_curve(m []byte, pk []byte) *edwards25519.ExtendedGroupElement
- func ECVRF_proof2hash(pi []byte) []byte
- func ECVRF_prove(pk []byte, sk []byte, m []byte) (pi []byte, err error)
- func ECVRF_verify(pk []byte, pi []byte, m []byte) (bool, error)
- func ExtendedGroupElementCMove(t, u *edwards25519.ExtendedGroupElement, b int32)
- func F2IP(f *[32]byte) *big.Int
- func G() *edwards25519.ExtendedGroupElement
- func GeAdd(p, qe *edwards25519.ExtendedGroupElement) *edwards25519.ExtendedGroupElement
- func GeDouble(p *edwards25519.ExtendedGroupElement) *edwards25519.ExtendedGroupElement
- func GeScalarMult(h *edwards25519.ExtendedGroupElement, a *[32]byte) *edwards25519.ExtendedGroupElement
- func I2OSP(b *big.Int, n int) []byte
- func IP2F(b *big.Int) *[32]byte
- func OS2ECP(os []byte, sign byte) *edwards25519.ExtendedGroupElement
- func OS2IP(os []byte) *big.Int
- func S2OS(s []byte) []byte
- func ToCached(r *CachedGroupElement, p *edwards25519.ExtendedGroupElement)
- type CachedGroupElement
Constants ¶
View Source
const ( N2 = 32 // ceil(log2(q) / 8) N = N2 / 2 NOSIGN = 3 )
View Source
const ( // PublicKeySize is the size, in bytes, of public keys as used in this package. PublicKeySize = 32 // PrivateKeySize is the size, in bytes, of private keys as used in this package. PrivateKeySize = 64 // SignatureSize is the size, in bytes, of signatures generated and verified by this package. SignatureSize = 64 )
Variables ¶
Functions ¶
func ECP2OS ¶
func ECP2OS(P *edwards25519.ExtendedGroupElement) []byte
func ECP2OSProj ¶
func ECP2OSProj(P *edwards25519.ProjectiveGroupElement) []byte
func ECVRF_decode_proof ¶
func ECVRF_decode_proof(pi []byte) (r *edwards25519.ExtendedGroupElement, c *[N2]byte, s *[N2]byte, err error)
func ECVRF_hash_points ¶
func ECVRF_hash_to_curve ¶
func ECVRF_hash_to_curve(m []byte, pk []byte) *edwards25519.ExtendedGroupElement
func ECVRF_proof2hash ¶
func ECVRF_prove ¶
assume <pk, sk> were generated by ed25519.GenerateKey()
func ExtendedGroupElementCMove ¶
func ExtendedGroupElementCMove(t, u *edwards25519.ExtendedGroupElement, b int32)
func G ¶
func G() *edwards25519.ExtendedGroupElement
func GeAdd ¶
func GeAdd(p, qe *edwards25519.ExtendedGroupElement) *edwards25519.ExtendedGroupElement
func GeDouble ¶
func GeDouble(p *edwards25519.ExtendedGroupElement) *edwards25519.ExtendedGroupElement
func GeScalarMult ¶
func GeScalarMult(h *edwards25519.ExtendedGroupElement, a *[32]byte) *edwards25519.ExtendedGroupElement
func OS2ECP ¶
func OS2ECP(os []byte, sign byte) *edwards25519.ExtendedGroupElement
func ToCached ¶
func ToCached(r *CachedGroupElement, p *edwards25519.ExtendedGroupElement)
Types ¶
type CachedGroupElement ¶
type CachedGroupElement struct {
Z, T2d edwards25519.FieldElement
// contains filtered or unexported fields
}
copied from edwards25519.go and const.go in golang.org/x/crypto/ed25519/internal/edwards25519
Click to show internal directories.
Click to hide internal directories.