Documentation
¶
Index ¶
- Variables
- func NewBLS12381Suite() pairing.Suite
- func NewGroupG1() kyber.Group
- func NewGroupG2() kyber.Group
- func NewGroupGT() kyber.Group
- func NewKyberScalar() kyber.Scalar
- type Fr32
- func (s *Fr32) Add(a, b kyber.Scalar) kyber.Scalar
- func (s *Fr32) Clone() kyber.Scalar
- func (s *Fr32) Div(a, b kyber.Scalar) kyber.Scalar
- func (s *Fr32) Equal(s2 kyber.Scalar) bool
- func (s *Fr32) Inv(a kyber.Scalar) kyber.Scalar
- func (s *Fr32) MarshalBinary() (data []byte, err error)
- func (s *Fr32) MarshalSize() int
- func (s *Fr32) MarshalTo(w io.Writer) (int, error)
- func (s *Fr32) Mul(a, b kyber.Scalar) kyber.Scalar
- func (s *Fr32) Neg(a kyber.Scalar) kyber.Scalar
- func (s *Fr32) One() kyber.Scalar
- func (s *Fr32) Pick(rand cipher.Stream) kyber.Scalar
- func (s *Fr32) Set(a kyber.Scalar) kyber.Scalar
- func (s *Fr32) SetBytes(b []byte) kyber.Scalar
- func (s *Fr32) SetInt64(v int64) kyber.Scalar
- func (s *Fr32) String() string
- func (s *Fr32) Sub(a, b kyber.Scalar) kyber.Scalar
- func (s *Fr32) UnmarshalBinary(data []byte) error
- func (s *Fr32) UnmarshalFrom(r io.Reader) (int, error)
- func (s *Fr32) Zero() kyber.Scalar
- type GroupChecker
- type KyberG1
- func (k *KyberG1) Add(a, b kyber.Point) kyber.Point
- func (k *KyberG1) Base() kyber.Point
- func (k *KyberG1) Clone() kyber.Point
- func (k *KyberG1) Data() ([]byte, error)
- func (k *KyberG1) Embed(data []byte, rand cipher.Stream) kyber.Point
- func (k *KyberG1) EmbedLen() int
- func (k *KyberG1) Equal(k2 kyber.Point) bool
- func (k *KyberG1) Hash(m []byte) kyber.Point
- func (k *KyberG1) IsInCorrectGroup() bool
- func (k *KyberG1) MarshalBinary() ([]byte, error)
- func (k *KyberG1) MarshalSize() int
- func (k *KyberG1) MarshalTo(w io.Writer) (int, error)
- func (k *KyberG1) Mul(s kyber.Scalar, q kyber.Point) kyber.Point
- func (k *KyberG1) Neg(a kyber.Point) kyber.Point
- func (k *KyberG1) Null() kyber.Point
- func (k *KyberG1) Pick(rand cipher.Stream) kyber.Point
- func (k *KyberG1) Set(q kyber.Point) kyber.Point
- func (k *KyberG1) String() string
- func (k *KyberG1) Sub(a, b kyber.Point) kyber.Point
- func (k *KyberG1) UnmarshalBinary(buff []byte) error
- func (k *KyberG1) UnmarshalFrom(r io.Reader) (int, error)
- type KyberG2
- func (k *KyberG2) Add(a, b kyber.Point) kyber.Point
- func (k *KyberG2) Base() kyber.Point
- func (k *KyberG2) Clone() kyber.Point
- func (k *KyberG2) Data() ([]byte, error)
- func (k *KyberG2) Embed(data []byte, rand cipher.Stream) kyber.Point
- func (k *KyberG2) EmbedLen() int
- func (k *KyberG2) Equal(k2 kyber.Point) bool
- func (k *KyberG2) Hash(m []byte) kyber.Point
- func (k *KyberG2) IsInCorrectGroup() bool
- func (k *KyberG2) MarshalBinary() ([]byte, error)
- func (k *KyberG2) MarshalSize() int
- func (k *KyberG2) MarshalTo(w io.Writer) (int, error)
- func (k *KyberG2) Mul(s kyber.Scalar, q kyber.Point) kyber.Point
- func (k *KyberG2) Neg(a kyber.Point) kyber.Point
- func (k *KyberG2) Null() kyber.Point
- func (k *KyberG2) Pick(rand cipher.Stream) kyber.Point
- func (k *KyberG2) Set(q kyber.Point) kyber.Point
- func (k *KyberG2) String() string
- func (k *KyberG2) Sub(a, b kyber.Point) kyber.Point
- func (k *KyberG2) UnmarshalBinary(buff []byte) error
- func (k *KyberG2) UnmarshalFrom(r io.Reader) (int, error)
- type KyberGT
- func (k *KyberGT) Add(a, b kyber.Point) kyber.Point
- func (k *KyberGT) Base() kyber.Point
- func (k *KyberGT) Clone() kyber.Point
- func (k *KyberGT) Data() ([]byte, error)
- func (k *KyberGT) Embed(data []byte, rand cipher.Stream) kyber.Point
- func (k *KyberGT) EmbedLen() int
- func (k *KyberGT) Equal(kk kyber.Point) bool
- func (k *KyberGT) MarshalBinary() ([]byte, error)
- func (k *KyberGT) MarshalSize() int
- func (k *KyberGT) MarshalTo(w io.Writer) (int, error)
- func (k *KyberGT) Mul(s kyber.Scalar, q kyber.Point) kyber.Point
- func (k *KyberGT) Neg(q kyber.Point) kyber.Point
- func (k *KyberGT) Null() kyber.Point
- func (k *KyberGT) Pick(rand cipher.Stream) kyber.Point
- func (k *KyberGT) Set(q kyber.Point) kyber.Point
- func (k *KyberGT) String() string
- func (k *KyberGT) Sub(a, b kyber.Point) kyber.Point
- func (k *KyberGT) UnmarshalBinary(buf []byte) error
- func (k *KyberGT) UnmarshalFrom(r io.Reader) (int, error)
- type Suite
- func (s *Suite) G1() kyber.Group
- func (s *Suite) G2() kyber.Group
- func (s *Suite) GT() kyber.Group
- func (s *Suite) Hash() hash.Hash
- func (s *Suite) New(t reflect.Type) interface{}
- func (s *Suite) Pair(p1, p2 kyber.Point) kyber.Point
- func (s *Suite) RandomStream() cipher.Stream
- func (s *Suite) Read(r io.Reader, objs ...interface{}) error
- func (s *Suite) ValidatePairing(p1, p2, p3, p4 kyber.Point) bool
- func (s *Suite) Write(w io.Writer, objs ...interface{}) error
- func (s *Suite) XOF(seed []byte) kyber.XOF
Constants ¶
This section is empty.
Variables ¶
var Domain = []byte("BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_")
Domain comes from the ciphersuite used by the RFC of this name compatible with the paired library > v18
Functions ¶
func NewBLS12381Suite ¶
func NewGroupG1 ¶
func NewGroupG2 ¶
func NewGroupGT ¶
func NewKyberScalar ¶
Types ¶
type Fr32 ¶
func NewFr32 ¶
func NewFr32() *Fr32
NewInt creaters a new Int with a given big.Int and a big.Int modulus.
func (*Fr32) MarshalBinary ¶
func (*Fr32) SetBytes ¶
SetBytes sets the kyber.Scalar from a byte-slice, reducing if necessary to the appropriate modulus. The endianess of the byte-slice is determined by the implementation.
func (*Fr32) UnmarshalBinary ¶
func (*Fr32) UnmarshalFrom ¶
Decode the content of this object by reading from an io.Reader. If r is an XOF, it uses r to pick a valid object pseudo-randomly, which may entail reading more than Len bytes due to retries.
type GroupChecker ¶
GroupChecker allows to verify if a Point is in the correct group or not. For curves which don't have a prime order, we need to only consider the points lying in the subgroup of prime order. That check returns true if the point is correct or not.
type KyberG1 ¶
type KyberG1 struct {
// contains filtered or unexported fields
}
KyberG1 is a kyber.Point holding a G1 point on BLS12-381 curve
func NullKyberG1 ¶
func NullKyberG1() *KyberG1
func (*KyberG1) IsInCorrectGroup ¶
func (*KyberG1) MarshalBinary ¶
func (*KyberG1) MarshalSize ¶
func (*KyberG1) UnmarshalBinary ¶
type KyberG2 ¶
type KyberG2 struct {
// contains filtered or unexported fields
}
KyberG2 is a kyber.Point holding a G2 point on BLS12-381 curve
func NullKyberG2 ¶
func NullKyberG2() *KyberG2
func (*KyberG2) IsInCorrectGroup ¶
func (*KyberG2) MarshalBinary ¶
func (*KyberG2) MarshalSize ¶
func (*KyberG2) UnmarshalBinary ¶
type KyberGT ¶
type KyberGT struct {
// contains filtered or unexported fields
}
func (*KyberGT) MarshalBinary ¶
func (*KyberGT) MarshalSize ¶
func (*KyberGT) UnmarshalBinary ¶
type Suite ¶
type Suite struct{}
func (*Suite) RandomStream ¶
RandomStream returns a cipher.Stream which corresponds to a key stream from crypto/rand.
func (*Suite) ValidatePairing ¶
ValidatePairing implements the `pairing.Suite` interface