latest.ipv8.attestation.wallet.irmaexact.gabi.credential

Copyright (c) 2016, Maarten Everts All rights reserved.

This source code has been ported from https://github.com/privacybydesign/gabi The authors of this file are not -in any way- affiliated with the original authors or organizations.

Module Contents

Classes

Credential

A credential (attributes + public key + signature).

DisclosureProofBuilder

Helper to create disclosure proofs.

Functions

getUndisclosedAttributes(→ list[int])

Get the keys of undisclosed attributes.

class latest.ipv8.attestation.wallet.irmaexact.gabi.credential.Credential(Pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, Attributes: list[int], Signature: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.CLSignature)

A credential (attributes + public key + signature).

CreateDisclosureProof(disclosedAttributes: dict[int, int], context: int, nonce1: int) latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofD

Create a disclosure proof for the specified attributes and their values.

CreateDisclosureProofBuilder(disclosedAttributes: dict[int, int]) DisclosureProofBuilder

Create a disclosure proof builder for the specified attributes and their values.

class latest.ipv8.attestation.wallet.irmaexact.gabi.credential.DisclosureProofBuilder(randomizedSignature: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.CLSignature, eCommit: int, vCommit: int, attrRandomizers: dict[int, int], z: int, disclosedAttributes: dict[int, int], undisclosedAttributes: list[int], pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, attributes: list[int])

Helper to create disclosure proofs.

MergeProofPCommitment(commitment: latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofPCommitment) None

Merge in a partial proof to reconstruct Z.

PublicKey() latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey

Get the public key.

Commit(skRandomizer: int) list[int]

Get A and Z for the given randomizer.

CreateProof(challenge: int) latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofD

Create a disclosure proof for the given challange.

TimestampRequestContributions() tuple[int, list[int]]

Fill in the disclosed attributes into a complete list (0 when undisclosed).

latest.ipv8.attestation.wallet.irmaexact.gabi.credential.getUndisclosedAttributes(disclosedAttributes: dict[int, int], numAttributes: int) list[int]

Get the keys of undisclosed attributes.