ursa

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2022 License: Apache-2.0 Imports: 10 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CorrectnessProofToJSON

func CorrectnessProofToJSON(credSignatureCorrectnessProof unsafe.Pointer) ([]byte, error)

CorrectnessProofToJSON creates and returns JSON representation of credential signature correctness proof

func EncodeValue

func EncodeValue(val interface{}) (string, string)

EncodeValue encodes any value into decimal representation

func ToEncodedNumber

func ToEncodedNumber(raw string) string

ToEncodedNumber encodes string to decimal encoded value

Types

type BlindedCredentialSecrets

type BlindedCredentialSecrets struct {
	Handle           *BlindedCredentialSecretsHandle
	BlindingFactor   *CredentialSecretsBlindingFactors
	CorrectnessProof *BlindedCredentialSecretsCorrectnessProof
}

func BlindCredentialSecrets

func BlindCredentialSecrets(credentialPubKey *CredentialDefPubKey, keyCorrectnessProof *CredentialDefKeyCorrectnessProof, nonce *Nonce,
	values *CredentialValues) (*BlindedCredentialSecrets, error)

BlindCredentialSecrets creates blinded credential secrets for given issuer key and master secret

type BlindedCredentialSecretsCorrectnessProof

type BlindedCredentialSecretsCorrectnessProof Handle

func BlindedCredentialSecretsCorrectnessProofFromJSON

func BlindedCredentialSecretsCorrectnessProofFromJSON(jsn []byte) (*BlindedCredentialSecretsCorrectnessProof, error)

BlindedCredentialSecretsCorrectnessProofFromJSON creates and returns blinded credential secrets correctness proof json.

func (*BlindedCredentialSecretsCorrectnessProof) Free

Free deallocates blinded credential secrets correctness proof instance

func (*BlindedCredentialSecretsCorrectnessProof) ToJSON

ToJSON creates and returns JSON representation of blinded credential secrets correctness proof

type BlindedCredentialSecretsHandle

type BlindedCredentialSecretsHandle Handle

func BlindedCredentialSecretsFromJSON

func BlindedCredentialSecretsFromJSON(jsn []byte) (*BlindedCredentialSecretsHandle, error)

BlindedCredentialSecretsFromJSON creates and returns blinded credential secrets from json

func (*BlindedCredentialSecretsHandle) Free

Free deallocates blinded credential secrets instance

func (*BlindedCredentialSecretsHandle) ToJSON

func (r *BlindedCredentialSecretsHandle) ToJSON() ([]byte, error)

ToJSON creates and returns JSON representation of blinded credental secrets

type CredentialDef

type CredentialDef struct {
	PubKey              *CredentialDefPubKey
	PrivKey             *CredentialDefPrivKey
	KeyCorrectnessProof *CredentialDefKeyCorrectnessProof
}

func NewCredentialDef

func NewCredentialDef(schema *CredentialSchemaHandle, nonSchema *NonCredentialSchemaHandle, revocation bool) (*CredentialDef, error)

NewCredentialDef creates and returns credential definition (public and private keys, correctness proof) entities

type CredentialDefKeyCorrectnessProof

type CredentialDefKeyCorrectnessProof Handle

func CredentialKeyCorrectnessProofFromJSON

func CredentialKeyCorrectnessProofFromJSON(jsn []byte) (*CredentialDefKeyCorrectnessProof, error)

CredentialKeyCorrectnessProofFromJSON creates and returns credential key correctness proof from json

func (*CredentialDefKeyCorrectnessProof) Free

Free deallocates credential definition key correctness proof instance

func (*CredentialDefKeyCorrectnessProof) ToJSON

func (r *CredentialDefKeyCorrectnessProof) ToJSON() ([]byte, error)

ToJSON creates and returns JSON representation of credential definition key correctness proof

type CredentialDefPrivKey

type CredentialDefPrivKey Handle

func CredentialPrivateKeyFromJSON

func CredentialPrivateKeyFromJSON(jsn []byte) (*CredentialDefPrivKey, error)

CredentialPrivateKeyFromJSON creates and returns credential private key from json

func (*CredentialDefPrivKey) Free

func (r *CredentialDefPrivKey) Free() error

Free deallocates credential definition private key instance

func (*CredentialDefPrivKey) ToJSON

func (r *CredentialDefPrivKey) ToJSON() ([]byte, error)

ToJSON creates and returns JSON representation of credential definition private key

type CredentialDefPubKey

type CredentialDefPubKey Handle

func CredentialPublicKeyFromJSON

func CredentialPublicKeyFromJSON(jsn []byte) (*CredentialDefPubKey, error)

CredentialPublicKeyFromJSON creates and returns credential public key from json

func (*CredentialDefPubKey) Free

func (r *CredentialDefPubKey) Free() error

Free deallocates credential definition public key instance

func (*CredentialDefPubKey) ToJSON

func (r *CredentialDefPubKey) ToJSON() ([]byte, error)

ToJSON creates and returns JSON representation of credential definition public key

type CredentialSchemaBuilder

type CredentialSchemaBuilder Handle

func NewCredentialSchemaBuilder

func NewCredentialSchemaBuilder() (*CredentialSchemaBuilder, error)

NewCredentialSchemaBuilder creates and return credential schema entity builder

func (*CredentialSchemaBuilder) AddAttr

func (r *CredentialSchemaBuilder) AddAttr(field string) error

AddAttr adds new attribute to credential schema

func (*CredentialSchemaBuilder) Finalize

Finalize deallocates credential schema builder and return credential schema entity instead

type CredentialSchemaHandle

type CredentialSchemaHandle Handle

func (*CredentialSchemaHandle) Free

func (r *CredentialSchemaHandle) Free() error

Free deallocates credential schema instance

type CredentialSecretsBlindingFactors

type CredentialSecretsBlindingFactors Handle

func CredentialSecretsBlindingFactorsFromJSON

func CredentialSecretsBlindingFactorsFromJSON(jsn []byte) (*CredentialSecretsBlindingFactors, error)

CredentialSecretsBlindingFactorsFromJSON creates and returns credential secrets blinding factors from json

func (*CredentialSecretsBlindingFactors) Free

Free deallocates credential secrets blinding factors instance

func (*CredentialSecretsBlindingFactors) ToJSON

func (r *CredentialSecretsBlindingFactors) ToJSON() ([]byte, error)

ToJSON creates and returns JSON representation of credential secrets blinding factors

type CredentialSignature

type CredentialSignature Handle

func CredentialSignatureFromJSON

func CredentialSignatureFromJSON(jsn []byte) (*CredentialSignature, error)

CredentialSignatureFromJSON creates and returns credential signature from json

func (*CredentialSignature) Free

func (r *CredentialSignature) Free() error

Free deallocates credential signature instance

func (*CredentialSignature) ProcessCredentialSignature

func (r *CredentialSignature) ProcessCredentialSignature(values *CredentialValues, sigKP *CredentialSignatureCorrectnessProof,
	credentialSecretsBF *CredentialSecretsBlindingFactors, credPubKey *CredentialDefPubKey, issuanceNonce *Nonce) error

ProcessCredentialSignature updates the credential signature by a credential secrets blinding factors.

func (*CredentialSignature) ToJSON

func (r *CredentialSignature) ToJSON() ([]byte, error)

ToJSON creates and returns JSON representation of credential signature

type CredentialSignatureCorrectnessProof

type CredentialSignatureCorrectnessProof Handle

func CredentialSignatureCorrectnessProofFromJSON

func CredentialSignatureCorrectnessProofFromJSON(jsn []byte) (*CredentialSignatureCorrectnessProof, error)

CredentialSignatureCorrectnessProofFromJSON creates and returns credential signature correctness proof from json

func (*CredentialSignatureCorrectnessProof) Free

Free deallocates credential signature correctness proof instance

func (*CredentialSignatureCorrectnessProof) ToJSON

ToJSON creates and returns JSON representation of credential signature correctness proof

type CredentialValues

type CredentialValues Handle

func CredentialValuesFromJSON added in v0.3.1

func CredentialValuesFromJSON(jsn []byte) (*CredentialValues, error)

CredentialValuesFromJSON creates and returns credential values from JSON

func (*CredentialValues) Free

func (r *CredentialValues) Free() error

Free deallocates credential values instance

func (*CredentialValues) ToJSON added in v0.3.1

func (r *CredentialValues) ToJSON() ([]byte, error)

ToJSON returns JSON representation of credential values

type CredentialValuesBuilder

type CredentialValuesBuilder Handle

func NewValueBuilder

func NewValueBuilder() (*CredentialValuesBuilder, error)

NewValueBuilder creates and returns credentials values entity builder

func (*CredentialValuesBuilder) AddDecCommitment

func (r *CredentialValuesBuilder) AddDecCommitment(attr, decValue, decBlindingFactor string) error

AddDecCommitment adds new hidden attribute dec_value to credential values map

func (*CredentialValuesBuilder) AddDecHidden

func (r *CredentialValuesBuilder) AddDecHidden(attr, decValue string) error

AddDecHidden adds new hidden attribute dec_value to credential values map

func (*CredentialValuesBuilder) AddDecKnown

func (r *CredentialValuesBuilder) AddDecKnown(attr, decValue string) error

AddDecKnown adds new known attribute dec_value to credential values map

func (*CredentialValuesBuilder) Finalize

Finalize deallocates credential values builder and returns credential values entity instead

type Handle

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

type MasterSecret

type MasterSecret Handle

func MasterSecretFromJSON

func MasterSecretFromJSON(jsn []byte) (*MasterSecret, error)

MasterSecretFromJson creates and returns master secret from json

func NewMasterSecret

func NewMasterSecret() (*MasterSecret, error)

NewMasterSecret creates a master secret

func (*MasterSecret) Free

func (r *MasterSecret) Free() error

Free deallocates master secret instance

func (*MasterSecret) ToJSON

func (r *MasterSecret) ToJSON() ([]byte, error)

ToJSON returns json representation of master secret

type NonCredentialSchemaBuilder

type NonCredentialSchemaBuilder Handle

func NewNonCredentialSchemaBuilder

func NewNonCredentialSchemaBuilder() (*NonCredentialSchemaBuilder, error)

NewNonCredentialSchemaBuilder creates and returns non credential schema builder

func (*NonCredentialSchemaBuilder) AddAttr

func (r *NonCredentialSchemaBuilder) AddAttr(attr string) error

AddAttr adds new attribute to non credential schema

func (*NonCredentialSchemaBuilder) Finalize

Finalize deallocates non_credential schema builder and returns non credential schema entity instead

type NonCredentialSchemaHandle

type NonCredentialSchemaHandle Handle

func (*NonCredentialSchemaHandle) Free

func (r *NonCredentialSchemaHandle) Free() error

Free deallocates credential schema instance

type Nonce

type Nonce Handle

func NewNonce

func NewNonce() (*Nonce, error)

NewNonce creates a random nonce

func NonceFromJSON

func NonceFromJSON(jsn string) (*Nonce, error)

NonceFromJSON creates and returns nonce from json

func (*Nonce) Free

func (r *Nonce) Free() error

Free deallocates the nonce

func (*Nonce) ToJSON

func (r *Nonce) ToJSON() ([]byte, error)

ToJSON returns JSON representation of nonce

type ProofBuilder

type ProofBuilder Handle

func NewProofBuilder

func NewProofBuilder() (*ProofBuilder, error)

NewProofBuilder

func (*ProofBuilder) AddCommonAttribute

func (r *ProofBuilder) AddCommonAttribute(attr string) error

AddCommonAttribute add a common attribute to the proof builder

func (*ProofBuilder) AddSubProofRequest

func (r *ProofBuilder) AddSubProofRequest(subProof *SubProofRequestHandle, credSchema *CredentialSchemaHandle,
	nonCredSchema *NonCredentialSchemaHandle, signature *CredentialSignature, values *CredentialValues, pubKey *CredentialDefPubKey) error

AddSubProofRequest add a sub proof request to the proof builder

func (*ProofBuilder) Finalize

func (r *ProofBuilder) Finalize(nonce *Nonce) (*ProofHandle, error)

Finalize finalize the proof

type ProofHandle

type ProofHandle Handle

func ProofFromJSON

func ProofFromJSON(jsn []byte) (*ProofHandle, error)

ProofFromJSON creates and returns proof from JSON

func (*ProofHandle) Free

func (r *ProofHandle) Free() error

Free deallocates proof instance

func (*ProofHandle) ToJSON

func (r *ProofHandle) ToJSON() ([]byte, error)

ToJSON returns JSON representation of proof

type ProofVerifier

type ProofVerifier Handle

func NewProofVerifier

func NewProofVerifier() (*ProofVerifier, error)

NewProofVerifier creates and returns proof verifier.

func (*ProofVerifier) AddCommonAttribute

func (r *ProofVerifier) AddCommonAttribute(attr string) error

AddCommonAttribute add a common attribute to the proof verifier

func (*ProofVerifier) AddSubProofRequest

func (r *ProofVerifier) AddSubProofRequest(subProof *SubProofRequestHandle, credSchema *CredentialSchemaHandle,
	nonCredSchema *NonCredentialSchemaHandle, pubKey *CredentialDefPubKey) error

AddSubProofRequest add a sub proof request to the proof verifier

func (*ProofVerifier) Verify

func (r *ProofVerifier) Verify(proof *ProofHandle, nonce *Nonce) error

Verify verifies proof and deallocates proof verifier.

type SignatureParams

type SignatureParams struct {
	ProverID                                 string
	BlindedCredentialSecrets                 *BlindedCredentialSecretsHandle
	BlindedCredentialSecretsCorrectnessProof *BlindedCredentialSecretsCorrectnessProof
	CredentialIssuanceNonce                  *Nonce
	CredentialNonce                          *Nonce
	CredentialValues                         *CredentialValues
	CredentialPubKey                         *CredentialDefPubKey
	CredentialPrivKey                        *CredentialDefPrivKey
}

func NewSignatureParams

func NewSignatureParams() *SignatureParams

NewSignatureParams creates an empty instance of SignatureParams

func (*SignatureParams) SignCredential

SignCredential signs credential values with primary keys only

type SubProofRequestBuilder

type SubProofRequestBuilder Handle

func NewSubProofRequestBuilder

func NewSubProofRequestBuilder() (*SubProofRequestBuilder, error)

NewSubProofRequestBuilder creates and returns sub proof request entity builder

func (*SubProofRequestBuilder) AddPredicate

func (r *SubProofRequestBuilder) AddPredicate(attr, ptype string, value int32) error

AddPredicate adds predicate to sub proof request

func (*SubProofRequestBuilder) AddRevealedAttr

func (r *SubProofRequestBuilder) AddRevealedAttr(attr string) error

AddRevealedAttr adds new revealed attribute to sub proof request.

func (*SubProofRequestBuilder) Finalize

Finalize deallocates sub proof request builder and returns sub proof request entity instead.

type SubProofRequestHandle

type SubProofRequestHandle Handle

func (*SubProofRequestHandle) Free

func (r *SubProofRequestHandle) Free() error

Free deallocates sub proof request instance

type UrsaError added in v0.3.1

type UrsaError struct {
	Backtrace string
	Message   string
}

Jump to

Keyboard shortcuts

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