Versions in this module Expand all Collapse all v0 v0.0.6 Sep 27, 2022 v0.0.5 May 18, 2022 v0.0.4 Apr 21, 2022 v0.0.3 Mar 3, 2022 v0.0.2 Mar 2, 2022 v0.0.1 Feb 22, 2022 Changes in this version + var FieldBytes = int(FP256BN.MODBYTES) + var GenG1 = FP256BN.NewECPbigs(FP256BN.NewBIGints(FP256BN.CURVE_Gx), FP256BN.NewBIGints(FP256BN.CURVE_Gy)) + var GenG2 = FP256BN.NewECP2fp2s(...) + var GenGT = FP256BN.Fexp(FP256BN.Ate(GenG2, GenG1)) + var GroupOrder = FP256BN.NewBIGints(FP256BN.CURVE_Order) + var ProofBytes = map[RevocationAlgorithm]int + func BigToBytes(big *FP256BN.BIG) []byte + func Ecp2FromProto(p *ECP2) *FP256BN.ECP2 + func EcpFromProto(p *ECP) *FP256BN.ECP + func EcpToBytes(E *FP256BN.ECP) []byte + func GenerateLongTermRevocationKey() (*sm2.PrivateKey, error) + func GetRand() (*amcl.RAND, error) + func HashModOrder(data []byte) *FP256BN.BIG + func MakeNym(sk *FP256BN.BIG, IPk *IssuerPublicKey, rng *amcl.RAND) (*FP256BN.ECP, *FP256BN.BIG) + func Modadd(a, b, m *FP256BN.BIG) *FP256BN.BIG + func Modsub(a, b, m *FP256BN.BIG) *FP256BN.BIG + func RandModOrder(rng *amcl.RAND) *FP256BN.BIG + func SetLogger(l Logger) + func VerifyEpochPK(pk *sm2.PublicKey, epochPK *ECP2, epochPkSig []byte, epoch int, ...) error + func WBBKeyGen(rng *amcl.RAND) (*FP256BN.BIG, *FP256BN.ECP2) + func WBBSign(sk *FP256BN.BIG, m *FP256BN.BIG) *FP256BN.ECP + func WBBVerify(pk *FP256BN.ECP2, sig *FP256BN.ECP, m *FP256BN.BIG) error + type CredRequest struct + IssuerNonce []byte + Nym *ECP + ProofC []byte + ProofS []byte + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func NewCredRequest(sk *FP256BN.BIG, IssuerNonce []byte, ipk *IssuerPublicKey, rng *amcl.RAND) *CredRequest + func (*CredRequest) Descriptor() ([]byte, []int) + func (*CredRequest) ProtoMessage() + func (m *CredRequest) Check(ipk *IssuerPublicKey) error + func (m *CredRequest) GetIssuerNonce() []byte + func (m *CredRequest) GetNym() *ECP + func (m *CredRequest) GetProofC() []byte + func (m *CredRequest) GetProofS() []byte + func (m *CredRequest) Reset() + func (m *CredRequest) String() string + func (m *CredRequest) XXX_DiscardUnknown() + func (m *CredRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *CredRequest) XXX_Merge(src proto.Message) + func (m *CredRequest) XXX_Size() int + func (m *CredRequest) XXX_Unmarshal(b []byte) error + type Credential struct + A *ECP + Attrs [][]byte + B *ECP + E []byte + S []byte + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func NewCredential(key *IssuerKey, m *CredRequest, attrs []*FP256BN.BIG, rng *amcl.RAND) (*Credential, error) + func (*Credential) Descriptor() ([]byte, []int) + func (*Credential) ProtoMessage() + func (cred *Credential) Ver(sk *FP256BN.BIG, ipk *IssuerPublicKey) error + func (m *Credential) GetA() *ECP + func (m *Credential) GetAttrs() [][]byte + func (m *Credential) GetB() *ECP + func (m *Credential) GetE() []byte + func (m *Credential) GetS() []byte + func (m *Credential) Reset() + func (m *Credential) String() string + func (m *Credential) XXX_DiscardUnknown() + func (m *Credential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *Credential) XXX_Merge(src proto.Message) + func (m *Credential) XXX_Size() int + func (m *Credential) XXX_Unmarshal(b []byte) error + type CredentialRevocationInformation struct + Epoch int64 + EpochPk *ECP2 + EpochPkSig []byte + RevocationAlg int32 + RevocationData []byte + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func CreateCRI(key *sm2.PrivateKey, unrevokedHandles []*FP256BN.BIG, epoch int, ...) (*CredentialRevocationInformation, error) + func (*CredentialRevocationInformation) Descriptor() ([]byte, []int) + func (*CredentialRevocationInformation) ProtoMessage() + func (m *CredentialRevocationInformation) GetEpoch() int64 + func (m *CredentialRevocationInformation) GetEpochPk() *ECP2 + func (m *CredentialRevocationInformation) GetEpochPkSig() []byte + func (m *CredentialRevocationInformation) GetRevocationAlg() int32 + func (m *CredentialRevocationInformation) GetRevocationData() []byte + func (m *CredentialRevocationInformation) Reset() + func (m *CredentialRevocationInformation) String() string + func (m *CredentialRevocationInformation) XXX_DiscardUnknown() + func (m *CredentialRevocationInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *CredentialRevocationInformation) XXX_Merge(src proto.Message) + func (m *CredentialRevocationInformation) XXX_Size() int + func (m *CredentialRevocationInformation) XXX_Unmarshal(b []byte) error + type ECP struct + X []byte + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + Y []byte + func EcpToProto(p *FP256BN.ECP) *ECP + func (*ECP) Descriptor() ([]byte, []int) + func (*ECP) ProtoMessage() + func (m *ECP) GetX() []byte + func (m *ECP) GetY() []byte + func (m *ECP) Reset() + func (m *ECP) String() string + func (m *ECP) XXX_DiscardUnknown() + func (m *ECP) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *ECP) XXX_Merge(src proto.Message) + func (m *ECP) XXX_Size() int + func (m *ECP) XXX_Unmarshal(b []byte) error + type ECP2 struct + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + Xa []byte + Xb []byte + Ya []byte + Yb []byte + func Ecp2ToProto(p *FP256BN.ECP2) *ECP2 + func (*ECP2) Descriptor() ([]byte, []int) + func (*ECP2) ProtoMessage() + func (m *ECP2) GetXa() []byte + func (m *ECP2) GetXb() []byte + func (m *ECP2) GetYa() []byte + func (m *ECP2) GetYb() []byte + func (m *ECP2) Reset() + func (m *ECP2) String() string + func (m *ECP2) XXX_DiscardUnknown() + func (m *ECP2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *ECP2) XXX_Merge(src proto.Message) + func (m *ECP2) XXX_Size() int + func (m *ECP2) XXX_Unmarshal(b []byte) error + type IssuerKey struct + Ipk *IssuerPublicKey + Isk []byte + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func NewIssuerKey(AttributeNames []string, rng *amcl.RAND) (*IssuerKey, error) + func (*IssuerKey) Descriptor() ([]byte, []int) + func (*IssuerKey) ProtoMessage() + func (m *IssuerKey) GetIpk() *IssuerPublicKey + func (m *IssuerKey) GetIsk() []byte + func (m *IssuerKey) Reset() + func (m *IssuerKey) String() string + func (m *IssuerKey) XXX_DiscardUnknown() + func (m *IssuerKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *IssuerKey) XXX_Merge(src proto.Message) + func (m *IssuerKey) XXX_Size() int + func (m *IssuerKey) XXX_Unmarshal(b []byte) error + type IssuerPublicKey struct + AttributeNames []string + BarG1 *ECP + BarG2 *ECP + HAttrs []*ECP + HRand *ECP + HSk *ECP + Hash []byte + ProofC []byte + ProofS []byte + W *ECP2 + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func (*IssuerPublicKey) Descriptor() ([]byte, []int) + func (*IssuerPublicKey) ProtoMessage() + func (IPk *IssuerPublicKey) Check() error + func (IPk *IssuerPublicKey) SetHash() error + func (m *IssuerPublicKey) GetAttributeNames() []string + func (m *IssuerPublicKey) GetBarG1() *ECP + func (m *IssuerPublicKey) GetBarG2() *ECP + func (m *IssuerPublicKey) GetHAttrs() []*ECP + func (m *IssuerPublicKey) GetHRand() *ECP + func (m *IssuerPublicKey) GetHSk() *ECP + func (m *IssuerPublicKey) GetHash() []byte + func (m *IssuerPublicKey) GetProofC() []byte + func (m *IssuerPublicKey) GetProofS() []byte + func (m *IssuerPublicKey) GetW() *ECP2 + func (m *IssuerPublicKey) Reset() + func (m *IssuerPublicKey) String() string + func (m *IssuerPublicKey) XXX_DiscardUnknown() + func (m *IssuerPublicKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *IssuerPublicKey) XXX_Merge(src proto.Message) + func (m *IssuerPublicKey) XXX_Size() int + func (m *IssuerPublicKey) XXX_Unmarshal(b []byte) error + type LogFunc func(format string, a ...interface{}) + func (l LogFunc) Printf(format string, a ...interface{}) + type Logger interface + Printf func(format string, a ...interface{}) + type NonRevocationProof struct + NonRevocationProof []byte + RevocationAlg int32 + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func (*NonRevocationProof) Descriptor() ([]byte, []int) + func (*NonRevocationProof) ProtoMessage() + func (m *NonRevocationProof) GetNonRevocationProof() []byte + func (m *NonRevocationProof) GetRevocationAlg() int32 + func (m *NonRevocationProof) Reset() + func (m *NonRevocationProof) String() string + func (m *NonRevocationProof) XXX_DiscardUnknown() + func (m *NonRevocationProof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *NonRevocationProof) XXX_Merge(src proto.Message) + func (m *NonRevocationProof) XXX_Size() int + func (m *NonRevocationProof) XXX_Unmarshal(b []byte) error + type NymSignature struct + Nonce []byte + ProofC []byte + ProofSRNym []byte + ProofSSk []byte + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func NewNymSignature(sk *FP256BN.BIG, Nym *FP256BN.ECP, RNym *FP256BN.BIG, ipk *IssuerPublicKey, ...) (*NymSignature, error) + func (*NymSignature) Descriptor() ([]byte, []int) + func (*NymSignature) ProtoMessage() + func (m *NymSignature) GetNonce() []byte + func (m *NymSignature) GetProofC() []byte + func (m *NymSignature) GetProofSRNym() []byte + func (m *NymSignature) GetProofSSk() []byte + func (m *NymSignature) Reset() + func (m *NymSignature) String() string + func (m *NymSignature) XXX_DiscardUnknown() + func (m *NymSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *NymSignature) XXX_Merge(src proto.Message) + func (m *NymSignature) XXX_Size() int + func (m *NymSignature) XXX_Unmarshal(b []byte) error + func (sig *NymSignature) Ver(nym *FP256BN.ECP, ipk *IssuerPublicKey, msg []byte) error + type RevocationAlgorithm int32 + const ALG_NO_REVOCATION + type Signature struct + ABar *ECP + APrime *ECP + BPrime *ECP + Epoch int64 + NonRevocationProof *NonRevocationProof + Nonce []byte + Nym *ECP + ProofC []byte + ProofSAttrs [][]byte + ProofSE []byte + ProofSR2 []byte + ProofSR3 []byte + ProofSRNym []byte + ProofSSPrime []byte + ProofSSk []byte + RevocationEpochPk *ECP2 + RevocationPkSig []byte + XXX_NoUnkeyedLiteral struct{} + XXX_sizecache int32 + XXX_unrecognized []byte + func NewSignature(cred *Credential, sk *FP256BN.BIG, Nym *FP256BN.ECP, RNym *FP256BN.BIG, ...) (*Signature, error) + func (*Signature) Descriptor() ([]byte, []int) + func (*Signature) ProtoMessage() + func (m *Signature) GetABar() *ECP + func (m *Signature) GetAPrime() *ECP + func (m *Signature) GetBPrime() *ECP + func (m *Signature) GetEpoch() int64 + func (m *Signature) GetNonRevocationProof() *NonRevocationProof + func (m *Signature) GetNonce() []byte + func (m *Signature) GetNym() *ECP + func (m *Signature) GetProofC() []byte + func (m *Signature) GetProofSAttrs() [][]byte + func (m *Signature) GetProofSE() []byte + func (m *Signature) GetProofSR2() []byte + func (m *Signature) GetProofSR3() []byte + func (m *Signature) GetProofSRNym() []byte + func (m *Signature) GetProofSSPrime() []byte + func (m *Signature) GetProofSSk() []byte + func (m *Signature) GetRevocationEpochPk() *ECP2 + func (m *Signature) GetRevocationPkSig() []byte + func (m *Signature) Reset() + func (m *Signature) String() string + func (m *Signature) XXX_DiscardUnknown() + func (m *Signature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) + func (m *Signature) XXX_Merge(src proto.Message) + func (m *Signature) XXX_Size() int + func (m *Signature) XXX_Unmarshal(b []byte) error + func (sig *Signature) Ver(Disclosure []byte, ipk *IssuerPublicKey, msg []byte, ...) error