Documentation ¶
Overview ¶
Package group provides prime-order groups based on elliptic curves.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrType = errors.New("type mismatch") ErrUnmarshal = errors.New("error unmarshaling") )
Functions ¶
This section is empty.
Types ¶
type Element ¶
type Element interface { IsIdentity() bool IsEqual(Element) bool Add(Element, Element) Element Dbl(Element) Element Neg(Element) Element Mul(Element, Scalar) Element MulGen(Scalar) Element encoding.BinaryMarshaler encoding.BinaryUnmarshaler MarshalBinaryCompress() ([]byte, error) }
Element represents an abstract element of a prime-order group.
type FieldHasher ¶
type FieldHasher interface { // HashToField generates a set of elements {u1,..., uN} = Hash(b). HashToField(u []big.Int, b []byte) }
FieldHasher allows to hash byte strings producing one or more field elements.
func NewExpanderMD ¶
NewExpanderMD returns a hash function based on a Merkle-Damgård hash function.
type Group ¶
type Group interface { NewElement() Element NewScalar() Scalar Identity() Element Generator() Element Order() Scalar RandomElement(io.Reader) Element RandomScalar(io.Reader) Scalar HashToElement(data, dst []byte) Element HashToScalar(data, dst []byte) Scalar }
Group represents a prime-order group based on elliptic curves.
var (
Ristretto255 Group = ristrettoGroup{}
)
Click to show internal directories.
Click to hide internal directories.