Skip to content

Commit

Permalink
Merge pull request #193 from swcurran/defs
Browse files Browse the repository at this point in the history
Finalize - pending review - the terminolgy for the specification
  • Loading branch information
swcurran authored Jan 5, 2024
2 parents d23d94b + 36819f7 commit fe4383d
Show file tree
Hide file tree
Showing 4 changed files with 157 additions and 93 deletions.
6 changes: 3 additions & 3 deletions spec/data_flow_presentation_create_presentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ process to get the necessary additional verifiable credentials may be initiated.
If more than one verifiable credential satisfy any of the `restrictions` items,
the [[ref: holder]] software might select one to use by default, such as the
most recently issued, non-revoked of the credentials, and/or might invoke a user
interface to allow the entity that controls the [[def:holder]] software to
interface to allow the entity that controls the [[ref: holder]] software to
select from the set of possible credentials to use.

In order to proceed to the presentation generation step, there must be one
Expand Down Expand Up @@ -540,7 +540,7 @@ The data structure is:

The example above is for a source credential that is not revocable. For a
revocable source credential, the `rev_reg_id` and `timestamp` (the identifier
for the [[def: Revocation Registry Entry]] used in the non-revocation proof) are
for the [[ref: Revocation Registry Entry]] used in the non-revocation proof) are
added. Those are described in the section below on [generation of non-revocation
proofs](#generate-non-revocation-proofs)

Expand Down Expand Up @@ -582,7 +582,7 @@ the presentation request.

The `witness` is an integer that is used in the non-revocation zero
knowledge proof to demonstrate to the verifier that the holder's credential has
not been revoked. Recall that the `accumulator` of a [[def: Revocation Registry
not been revoked. Recall that the `accumulator` of a [[ref: Revocation Registry
State]] is the product of the tails file entries for all of the unrevoked
credentials in the registry. For a specific holder, its `witness` is the product
of the tails file entries for all of the unrevoked credentials in the registry
Expand Down
2 changes: 1 addition & 1 deletion spec/data_flow_presentation_verify.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ described below.

While in this section we mostly focus on the verification of the proofs in the
presentation, there are other data elements included, such as the revealed
attributes, self-attested attributes, and the [[def: Presentation Request]] for
attributes, self-attested attributes, and the [[ref: Presentation Request]] for
which the presentation was generated. Some of these values contribute to the
verification process, as noted below. Finally, an important part of the
verification process is **not** carried out in AnonCreds v1.0 and must be
Expand Down
2 changes: 1 addition & 1 deletion spec/data_flow_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ Detailed process for tails file generation:
- Calculate `pow` by doing modular exponentiation of revocation private key(`gamma`) with the finite field element previously calculated.
- Multiply `pow` by `g_dash`, which is the generator of elliptic curve group `G2`, and this should be the required point on the curve.
- Convert this tail point to an array of bytes(`u8`), and put them into the file as a slice buffer.
- Repeat for all the attributes from index $1$ to $L$, by calculating $([\gamma], [\gamma^2], [\gamma^3], ...[\gamma^L], [\gamma], [\gamma^{L+2}], [\gamma^{L+3}], ..., [\gamma^{2L}])$. Note that Instead of inserting $[\gamma^{L+1}]$ in the sequence, insert the value $[\gamma]$ (the first value in the sequence) in its place, and then continue with $[\gamma^{L+2}]$ and on to $[\gamma^{2L}]$. $[\gamma^{L+1}]$ is not used by holders generating the [[def: Non-Revocation Proof]] and a dummy value is inserted in its place.
- Repeat for all the attributes from index $1$ to $L$, by calculating $([\gamma], [\gamma^2], [\gamma^3], ...[\gamma^L], [\gamma], [\gamma^{L+2}], [\gamma^{L+3}], ..., [\gamma^{2L}])$. Note that Instead of inserting $[\gamma^{L+1}]$ in the sequence, insert the value $[\gamma]$ (the first value in the sequence) in its place, and then continue with $[\gamma^{L+2}]$ and on to $[\gamma^{2L}]$. $[\gamma^{L+1}]$ is not used by holders generating the [[ref: Non-Revocation Proof]] and a dummy value is inserted in its place.
- Close the file buffer.

Relevant links: [Anoncreds-rs repository](https://github.com/hyperledger/anoncreds-rs/blob/9c915bb77bc4e033cc6d28d45e330ee5bda26211/src/services/tails.rs#LL148C1-L148C37), [Anoncreds-CLSignatures repository](https://github.com/hyperledger/anoncreds-clsignatures-rs/blob/f1ae666656054cd73fe765928c0dada64ef21d87/src/mod.rs#L517)
Expand Down
Loading

0 comments on commit fe4383d

Please sign in to comment.