func (pk *PrivateKey) MarshalBinary() ([]byte, error) {
	return pk.Bytes(), nil
}
MarshalBinary is an implementation of a method on the
BinaryMarshaler interface defined in https://golang.org/pkg/encoding/
package sphinx
import (
	"crypto/rand"
	"crypto/subtle"
	"errors"
	"io"
	"golang.org/x/crypto/curve25519"
)
const (
	FieldElementSize = 32
	PrivateKeySize   = FieldElementSize
	PublicKeySize    = FieldElementSize
)
type CryptoElement interface {
	Bytes() []byte
}
type FieldElement struct {
	bytes [FieldElementSize]byte
}
type PrivateKey struct {
	bytes [PrivateKeySize]byte
}
type PublicKey struct {
	bytes [PublicKeySize]byte
}