subtle

package
v0.0.0-...-57c6170 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BLS12381G2Signer

type BLS12381G2Signer struct {
	// contains filtered or unexported fields
}

BLS12381G2Signer is the BBS+ signer for BLS12-381 curve for keys on a G2 group. Currently this is the only available BBS+ signer in aries-framework-go (see `pkg/doc/bbs/bbs12381g2pub/bbs.go`). Other BBS+ signers can be added later if needed.

func NewBLS12381G2Signer

func NewBLS12381G2Signer(privateKey []byte) *BLS12381G2Signer

NewBLS12381G2Signer creates a new instance of BLS12381G2Signer with the provided privateKey.

func (*BLS12381G2Signer) Sign

func (s *BLS12381G2Signer) Sign(messages [][]byte) ([]byte, error)

Sign will sign create signature of each message and aggregate it into a single signature using the signer's private key. returns:

signature in []byte
error in case of errors

type BLS12381G2Verifier

type BLS12381G2Verifier struct {
	// contains filtered or unexported fields
}

BLS12381G2Verifier is the BBS+ signature/proof verifier for keys on BLS12-381 curve with a point in the G2 group. Currently this is the only available BBS+ verifier in aries-framework-go (see `pkg/doc/bbs/bbs12381g2pub/bbs.go`). Other BBS+ verifiers can be added later if needed.

func NewBLS12381G2Verifier

func NewBLS12381G2Verifier(signerPublicKey []byte) *BLS12381G2Verifier

NewBLS12381G2Verifier creates a new instance of BLS12381G2Verifier with the provided signerPublicKey.

func (*BLS12381G2Verifier) DeriveProof

func (v *BLS12381G2Verifier) DeriveProof(messages [][]byte, signature, nonce []byte,
	revealedIndexes []int) ([]byte, error)

DeriveProof will create a BBS+ signature proof for a list of revealed messages using BBS signature (can be built using a Signer's Sign() call) and the signer's public key. returns:

signature proof in []byte
error in case of errors

func (*BLS12381G2Verifier) Verify

func (v *BLS12381G2Verifier) Verify(messages [][]byte, signature []byte) error

Verify will verify an aggregated signature of one or more messages against the signer's public key. returns:

error in case of errors or nil if signature verification was successful

func (*BLS12381G2Verifier) VerifyProof

func (v *BLS12381G2Verifier) VerifyProof(messages [][]byte, proof, nonce []byte) error

VerifyProof will verify a BBS+ signature proof (generated e.g. by DeriveProof()) with the signer's public key. returns:

error in case of errors or nil if signature proof verification was successful

Jump to

Keyboard shortcuts

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