Documentation ¶
Index ¶
- Constants
- type BlsMultiSigner
- func (bms *BlsMultiSigner) AggregateSignatures(suite crypto.Suite, signatures [][]byte, pubKeysSigners []crypto.PublicKey) ([]byte, error)
- func (bms *BlsMultiSigner) IsInterfaceNil() bool
- func (bms *BlsMultiSigner) SignShare(privKey crypto.PrivateKey, message []byte) ([]byte, error)
- func (bms *BlsMultiSigner) VerifyAggregatedSig(suite crypto.Suite, pubKeys []crypto.PublicKey, aggSigBytes []byte, msg []byte) error
- func (bms *BlsMultiSigner) VerifySigBytes(_ crypto.Suite, sig []byte) error
- func (bms *BlsMultiSigner) VerifySigShare(pubKey crypto.PublicKey, message []byte, sig []byte) error
- type BlsMultiSignerKOSK
- func (bms *BlsMultiSignerKOSK) AggregateSignatures(suite crypto.Suite, signatures [][]byte, pubKeysSigners []crypto.PublicKey) ([]byte, error)
- func (bms *BlsMultiSignerKOSK) IsInterfaceNil() bool
- func (bms *BlsMultiSignerKOSK) SignShare(privKey crypto.PrivateKey, message []byte) ([]byte, error)
- func (bms *BlsMultiSignerKOSK) VerifyAggregatedSig(suite crypto.Suite, pubKeys []crypto.PublicKey, aggSigBytes []byte, msg []byte) error
- func (bms *BlsMultiSignerKOSK) VerifySigBytes(_ crypto.Suite, sig []byte) error
- func (bms *BlsMultiSignerKOSK) VerifySigShare(pubKey crypto.PublicKey, message []byte, sig []byte) error
Constants ¶
const HasherOutputSize = 16
HasherOutputSize - configured hasher needs to generate hashes on 16 bytes
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlsMultiSigner ¶
type BlsMultiSigner struct { singlesig.BlsSingleSigner Hasher hashing.Hasher }
BlsMultiSigner provides an implements of the crypto.LowLevelSignerBLS interface
func (*BlsMultiSigner) AggregateSignatures ¶
func (bms *BlsMultiSigner) AggregateSignatures( suite crypto.Suite, signatures [][]byte, pubKeysSigners []crypto.PublicKey, ) ([]byte, error)
AggregateSignatures produces an aggregation of single BLS signatures over the same message
func (*BlsMultiSigner) IsInterfaceNil ¶
func (bms *BlsMultiSigner) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*BlsMultiSigner) SignShare ¶
func (bms *BlsMultiSigner) SignShare(privKey crypto.PrivateKey, message []byte) ([]byte, error)
SignShare produces a BLS signature share (single BLS signature) over a given message
func (*BlsMultiSigner) VerifyAggregatedSig ¶
func (bms *BlsMultiSigner) VerifyAggregatedSig( suite crypto.Suite, pubKeys []crypto.PublicKey, aggSigBytes []byte, msg []byte, ) error
VerifyAggregatedSig verifies if a BLS aggregated signature is valid over a given message
func (*BlsMultiSigner) VerifySigBytes ¶
func (bms *BlsMultiSigner) VerifySigBytes(_ crypto.Suite, sig []byte) error
VerifySigBytes provides an "cheap" integrity check of a signature given as a byte array It does not validate the signature over a message, only verifies that it is a signature
func (*BlsMultiSigner) VerifySigShare ¶
func (bms *BlsMultiSigner) VerifySigShare(pubKey crypto.PublicKey, message []byte, sig []byte) error
VerifySigShare verifies a BLS signature share (single BLS signature) over a given message
type BlsMultiSignerKOSK ¶ added in v1.1.0
type BlsMultiSignerKOSK struct {
singlesig.BlsSingleSigner
}
BlsMultiSignerKOSK provides an implementation of the crypto.LowLevelSignerBLS interface
func (*BlsMultiSignerKOSK) AggregateSignatures ¶ added in v1.1.0
func (bms *BlsMultiSignerKOSK) AggregateSignatures( suite crypto.Suite, signatures [][]byte, pubKeysSigners []crypto.PublicKey, ) ([]byte, error)
AggregateSignatures produces an aggregation of single BLS signatures over the same message
func (*BlsMultiSignerKOSK) IsInterfaceNil ¶ added in v1.1.0
func (bms *BlsMultiSignerKOSK) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*BlsMultiSignerKOSK) SignShare ¶ added in v1.1.0
func (bms *BlsMultiSignerKOSK) SignShare(privKey crypto.PrivateKey, message []byte) ([]byte, error)
SignShare produces a BLS signature share (single BLS signature) over a given message
func (*BlsMultiSignerKOSK) VerifyAggregatedSig ¶ added in v1.1.0
func (bms *BlsMultiSignerKOSK) VerifyAggregatedSig( suite crypto.Suite, pubKeys []crypto.PublicKey, aggSigBytes []byte, msg []byte, ) error
VerifyAggregatedSig verifies if a BLS aggregated signature is valid over a given message
func (*BlsMultiSignerKOSK) VerifySigBytes ¶ added in v1.1.0
func (bms *BlsMultiSignerKOSK) VerifySigBytes(_ crypto.Suite, sig []byte) error
VerifySigBytes provides an "cheap" integrity check of a signature given as a byte array It does not validate the signature over a message, only verifies that it is a signature
func (*BlsMultiSignerKOSK) VerifySigShare ¶ added in v1.1.0
func (bms *BlsMultiSignerKOSK) VerifySigShare(pubKey crypto.PublicKey, message []byte, sig []byte) error
VerifySigShare verifies a BLS signature share (single BLS signature) over a given message