multisig

package
v1.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2022 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL