github.com/hyperledger/aries-framework-go@v0.3.2/pkg/doc/signature/suite/bbsblssignatureproof2020/bbsblssignatureproof2020.go (about)

     1  /*
     2  Copyright SecureKey Technologies Inc. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  // Package bbsblssignatureproof2020 implements the BBS+ Signature Proof Suite 2020 signature suite
     8  // (https://w3c-ccg.github.io/ldp-bbs2020) in conjunction with the signing and verification algorithms of the
     9  // Linked Data Proofs.
    10  // It uses the RDF Dataset Normalization Algorithm to transform the input document into its canonical form.
    11  // It uses SHA-256 [RFC6234] as the statement digest algorithm.
    12  // It uses BBS+ signature algorithm (https://mattrglobal.github.io/bbs-signatures-spec/).
    13  // It uses BLS12-381 pairing-friendly curve (https://tools.ietf.org/html/draft-irtf-cfrg-pairing-friendly-curves-03).
    14  package bbsblssignatureproof2020
    15  
    16  import (
    17  	"github.com/hyperledger/aries-framework-go/component/models/signature/suite"
    18  	"github.com/hyperledger/aries-framework-go/component/models/signature/suite/bbsblssignatureproof2020"
    19  	"github.com/hyperledger/aries-framework-go/component/models/signature/verifier"
    20  )
    21  
    22  // Suite implements BbsBlsSignatureProof2020 signature suite.
    23  type Suite = bbsblssignatureproof2020.Suite
    24  
    25  // New an instance of Linked Data Signatures for the suite.
    26  func New(opts ...suite.Opt) *Suite {
    27  	return bbsblssignatureproof2020.New(opts...)
    28  }
    29  
    30  // NewG2PublicKeyVerifier creates a signature verifier that verifies a BbsBlsSignatureProof2020 signature
    31  // taking Bls12381G2Key2020 public key bytes as input.
    32  func NewG2PublicKeyVerifier(nonce []byte) *verifier.PublicKeyVerifier {
    33  	return bbsblssignatureproof2020.NewG2PublicKeyVerifier(nonce)
    34  }