Versions in this module Expand all Collapse all v1 v1.0.1 Oct 11, 2021 v1.0.0 Jul 19, 2020 Changes in this version + var Workers uint = 0 + func GenerateKeys(prg *amcl.RAND, L int) (SK, PK) + func GenerateNymKeys(prg *amcl.RAND, sk SK, h interface{}) (skNym SK, pkNym PK) + func GenerateYs(first bool, n int, prg *amcl.RAND) (ys []interface{}) + func PkEqual(first PK, second PK) bool + func PointFromBytes(bytes []byte) (g interface{}, e error) + func PointToBytes(g interface{}) (result []byte) + func ProduceAttributes(L int, inputs ...string) (attributes []interface{}) + func StringToECPb(message string, first bool) interface + func VerifyKeyPair(sk SK, pk PK) bool + type AuditingEncryption struct + func AuditingEncrypt(prg *amcl.RAND, audPk PK, userPk PK) (encryption AuditingEncryption, r *FP256BN.BIG) + func AuditingEncryptionFromBytes(input []byte) (encryption *AuditingEncryption) + func (encryption *AuditingEncryption) AuditingDecrypt(audSk SK) (plaintext interface{}) + func (encryption *AuditingEncryption) ToBytes() (result []byte) + type AuditingProof struct + func AuditingProofFromBytes(input []byte) (proof *AuditingProof) + func AuditingProve(prg *amcl.RAND, encryption AuditingEncryption, pk PK, sk SK, pkNym PK, ...) (proof AuditingProof) + func (proof *AuditingProof) ToBytes() (result []byte) + func (proof *AuditingProof) Verify(encryption AuditingEncryption, pkNym PK, audPk PK, h interface{}) (e error) + type CredRequest struct + Nonce []byte + Pk PK + ResR *FP256BN.BIG + ResT interface{} + func CredRequestFromBytes(input []byte) (credReq *CredRequest) + func MakeCredRequest(prg *amcl.RAND, sk SK, nonce []byte, L int) (credReq *CredRequest) + func (credReq *CredRequest) ToBytes() (result []byte) + func (credReq *CredRequest) Validate() (e error) + type Credentials struct + Attributes [][]interface{} + func CredentialsFromBytes(input []byte) (creds *Credentials) + func MakeCredentials(pk PK) (creds *Credentials) + func (creds *Credentials) Delegate(sk SK, publicKey PK, attributes []interface{}, prg *amcl.RAND, ...) (e error) + func (creds *Credentials) Equals(other *Credentials) (result bool) + func (creds *Credentials) Prove(prg *amcl.RAND, sk SK, pk PK, D Indices, m []byte, grothYs [][]interface{}, ...) (proof Proof, e error) + func (creds *Credentials) ToBytes() (result []byte) + func (creds *Credentials) Verify(sk SK, authorityPK PK, grothYs [][]interface{}) (e error) + type Groth struct + func MakeGroth(prg *amcl.RAND, first bool, ys []interface{}) (groth *Groth) + func (groth *Groth) Generate() (sk SK, pk PK) + func (groth *Groth) Randomize(signature GrothSignature, rPrime *FP256BN.BIG) (signaturePrime GrothSignature) + func (groth *Groth) Sign(sk SK, m []interface{}) (signature GrothSignature) + func (groth *Groth) Verify(pk PK, signature GrothSignature, m []interface{}) (e error) + type GrothSignature struct + func GrothSignatureFromBytes(input []byte) (signature *GrothSignature) + func SignNonRevoke(prg *amcl.RAND, sk SK, userPk PK, epoch *FP256BN.BIG, ys []interface{}) (signature GrothSignature) + func (signature *GrothSignature) ToBytes() (result []byte) + type Index struct + Attribute interface{} + I int + J int + type Indices []Index + func (indices Indices) Len() int + func (indices Indices) Less(i, j int) bool + func (indices Indices) Swap(i, j int) + type NymSignature struct + func NymSignatureFromBytes(input []byte) (signature *NymSignature) + func SignNym(prg *amcl.RAND, pkNym PK, skNym SK, sk SK, h interface{}, m []byte) (signature NymSignature) + func (signature *NymSignature) ToBytes() (result []byte) + func (signature *NymSignature) VerifyNym(h interface{}, pkNym PK, m []byte) (e error) + type PK = interface + type Proof struct + func ProofFromBytes(input []byte) (proof *Proof) + func (proof *Proof) Equals(other Proof) (result bool) + func (proof *Proof) ToBytes() (result []byte) + func (proof *Proof) VerifyProof(pk PK, grothYs [][]interface{}, h interface{}, pkNym PK, D Indices, m []byte) (e error) + type RevocationProof struct + func RevocationProofFromBytes(input []byte) (proof *RevocationProof) + func RevocationProve(prg *amcl.RAND, signature GrothSignature, sk SK, skNym SK, epoch *FP256BN.BIG, ...) (proof RevocationProof) + func (proof *RevocationProof) ToBytes() (result []byte) + func (proof *RevocationProof) Verify(pkNym PK, epoch *FP256BN.BIG, h interface{}, pkRev PK, ys []interface{}) (e error) + type SK = *FP256BN.BIG + type Schnorr struct + func MakeSchnorr(prg *amcl.RAND, first bool) (schnorr *Schnorr) + func (schnorr *Schnorr) Generate() (sk SK, pk PK) + func (schnorr *Schnorr) Sign(sk *FP256BN.BIG, m []byte) (signature SchnorrSignature) + func (schnorr *Schnorr) Verify(pk PK, signature SchnorrSignature, m []byte) (e error) + type SchnorrSignature struct + func SchnorrSignatureFromBytes(input []byte) (signature *SchnorrSignature) + func (signature *SchnorrSignature) ToBytes() (result []byte) + type Siblings struct + func MakeSiblings(prg *amcl.RAND, first bool, grothYs []interface{}) (siblings *Siblings) + func (siblings *Siblings) Generate() (SK, PK) + func (siblings *Siblings) RandomizeGroth(sigma GrothSignature, rPrime *FP256BN.BIG) GrothSignature + func (siblings *Siblings) SignGroth(sk SK, m []interface{}) GrothSignature + func (siblings *Siblings) SignSchnorr(sk SK, m []byte) SchnorrSignature + func (siblings *Siblings) VerifyGroth(pk PK, sigma GrothSignature, m []interface{}) error + func (siblings *Siblings) VerifySchnorr(pk PK, sigma SchnorrSignature, m []byte) error