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.