latest.ipv8.attestation.wallet.irmaexact.gabi.proofs

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

Record

PyASN1 container for records (of integers).

ProofU

A proof of commitment to a value for U.

ProofS

A proof of signature issuance.

ProofD

A disclosure proof for identity information.

ProofP

Partial proof to reconstruct values.

ProofPCommitment

A commitment to a value of P.

Functions

custom_asn1_marshal(→ bytes)

Use ASN1 marshalling with universal integer encoding.

hashCommit(→ int)

Hash a list of values.

createChallenge(→ int)

Create a challenge for the given contributions.

class latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.Record(*args, **kwargs)

Bases: pyasn1.type.univ.SequenceOf

PyASN1 container for records (of integers).

componentType
latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.custom_asn1_marshal(values: list[int]) bytes

Use ASN1 marshalling with universal integer encoding.

latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.hashCommit(values: list[int], issig: bool) int

Hash a list of values.

latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.createChallenge(context: int, nonce: int, contributions: list[int], issig: bool) int

Create a challenge for the given contributions.

class latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofU(U: int, C: int, VPrimeResponse: int, SResponse: int)

A proof of commitment to a value for U.

MergeProofP(proofP: ProofP, pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) None

Merge in a partial proof to reconstruct U.

Verify(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, context: int, nonce: int) bool

Verify this proof for a given public key.

correctResponseSizes(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) bool

Check if our stored responses conform to the format of the given public key.

VerifyWithChallenge(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, reconstructedChallenge: int) bool

Check if a given challenge is equal to our challenge.

reconstructUcommit(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) int

Construct the value for U from our challenge and responses.

SecretKeyResponse() int

The secret key response.

Challenge() int

The challenge.

ChallengeContribution(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) list[int]

Get our value for U and our reconstructed value for U, given the public key.

class latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofS(C: int, EResponse: int)

A proof of signature issuance.

Verify(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, signature: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.CLSignature, context: int, nonce: int) bool

Verify the issuance of the signature by a public key.

class latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofD(C: int, A: int, EResponse: int, VResponse: int, AResponses: dict[int, int], ADisclosed: dict[int, int])

A disclosure proof for identity information.

MergeProofP(proofP: ProofP, pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) None

Merge in a partial proof.

correctResponseSizes(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) bool

Check if our responses conform to the public key format.

reconstructZ(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) int

Reconstruct the value of Z using our information.

Verify(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, context: int, nonce1: int, issig: bool) bool

Verify this proof for the given public key.

VerifyWithChallenge(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey, reconstructedChallenge: int) bool

Verify that the given challenge matches our challenge value.

ChallengeContribution(pk: latest.ipv8.attestation.wallet.irmaexact.gabi.keys.PublicKey) list[int]

Get our A and reconstructed Z.

SecretKeyResponse() int

Get the secret key response value.

Challenge() int

Get our challenge.

Copy() ProofD

Create an exact copy of this instance.

class latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofP(P: int, C: int, SResponse: int)

Partial proof to reconstruct values.

class latest.ipv8.attestation.wallet.irmaexact.gabi.proofs.ProofPCommitment(P: int, Pcommit: int)

A commitment to a value of P.