2.12.ipv8.attestation.wallet.irmaexact.gabi.builder

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

Functions

class 2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.Issuer(Sk: 2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.PrivateKey, Pk: 2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, Context: int)

A signature issuer.

IssueSignature(U: int, attributes: list[int], nonce2: int) IssueSignatureMessage

Generate an issued signature message.

signCommitmentAndAttributes(U: int, attributes: list[int]) 2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.CLSignature

Sign the commitment to the U value and given attribute values.

randomElementMultiplicativeGroup(modulus: int) int

Generate a random number that is relatively coprime to the modulus.

proveSignature(signature: 2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.CLSignature, nonce2: int) 2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofS

Create a proof of signature issuance.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.GetProofU(pl: list, n: int) 2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU | None

Get the i’th (starting at 0) ProofU instance from a list of proof instances.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.GetFirstProofU(pl: list) 2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU | None

Get the first ProofU from a given list of proofs.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.challengeContributions(pl: list, publicKeys: list[2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey], context: int, nonce: int) list[int]

Aggregate all challenge contributions of a given proof list.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.Verify(pl: list, publicKeys: list[2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey], context: int, nonce: int, issig: bool, keyshareServers: list | None = None) bool

Verify a list of proofs for a list of public keys.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.Challenge(builders: list[CredentialBuilder], context: int, nonce: int, issig: bool) int

Create a challenge.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.BuildDistributedProofList(builders: list[CredentialBuilder], challenge: int, proofPs: list[2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofP]) list[2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU] | None

Create a proof list from multiple partial proofs.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.BuildProofList(builders: list[CredentialBuilder], context: int, nonce: int, issig: bool) list[2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU] | None

Create a list of U proofs without distributed partial proofs.

class 2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.IssueCommitmentMessage(U: int | None, Proofs: list[2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU] | None, Nonce2: int, ProofPjwt: None = None, ProofPjwts: None = None)

JWT commitment information.

class 2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.IssueSignatureMessage(Signature: 2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.CLSignature, Proof: 2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofS)

Issued signature information.

2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.commitmentToSecret(pk: 2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, secret: int) tuple[int, int]

Create a commitment for a given value.

class 2.12.ipv8.attestation.wallet.irmaexact.gabi.builder.CredentialBuilder(pk: 2.12.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, context: int, secret: int, nonce2: int)

Helper class to create credentials.

CommitToSecretAndProve(nonce1: int) IssueCommitmentMessage

Create a commitment and associated message.

CreateIssueCommitmentMessage(proofs: list[2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU]) IssueCommitmentMessage

Create the associated message for given U commitments.

ConstructCredential(msg: IssueSignatureMessage, attributes: list[int]) 2.12.ipv8.attestation.wallet.irmaexact.gabi.credential.Credential | None

Create a credential from the given signature message and our attributes.

proveCommitment(U: int, nonce1: int) 2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU

Create a proof for the commitment to U.

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

Merge in a given commitment to a ProofP.

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

Our public key.

Commit(skRandomizer: int) list[int]

Create a new commitment for the given randomizer value.

CreateProof(challenge: int) 2.12.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU

Create a new proof for U for the given challenge.