From cab2b66f326ab33f3608d641d359a20f5c81110c Mon Sep 17 00:00:00 2001
From: Wind4Greg
Date: Mon, 15 Jul 2024 09:53:39 -0700
Subject: [PATCH 01/11] Update signing procedures in section "Base Proof
Serialization".
---
index.html | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/index.html b/index.html
index 066dc87..d93a9e9 100644
--- a/index.html
+++ b/index.html
@@ -1538,13 +1538,14 @@ Base Proof Serialization (bbs-2023)
If |featureOption| equals `"baseline"`, compute the
`bbsSignature` using the `Sign` procedure of [[CFRG-BBS-Signature]],
-with appropriate key material, `bbsHeader` for the `header`, and `bbsMessages`
+with appropriate key material, |bbsHeader| for the `header`, and |bbsMessages|
for the `messages`.
If |featureOption| equals `"anonymous_holder_binding"` , compute the
-`bbsSignature` using the `Sign` procedure of [[CFRG-Blind-BBS-Signature]],
-with appropriate key material, `bbsHeader` for the `header`, and `bbsMessages`
+`bbsSignature` using the `BlindSign` procedure of [[CFRG-Blind-BBS-Signature]],
+with appropriate key material, |commitment_with_proof| for the
+`commitment_with_proof`, |bbsHeader| for the `header`, and |bbsMessages|
for the `messages`. If the signing procedure uses the optional |signer_blind|
parameter, retain this value for use when calling
(below). This provides for the
@@ -1553,8 +1554,9 @@ Base Proof Serialization (bbs-2023)
If |featureOption| equals `"pseudonym_issuer_pid"`, generate a
cryptographically random 32 byte |pid| value. Compute the
-`bbsSignature` using the `Sign` procedure of [[CFRG-Pseudonym-BBS-Signature]],
-with appropriate key material, `bbsHeader` for the `header`, `bbsMessages`
+`bbsSignature` using the `Signer Provided PID Signature Generation` procedure
+of [[CFRG-Pseudonym-BBS-Signature]],
+with appropriate key material, |bbsHeader| for the `header`, |bbsMessages|
for the `messages`, and |pid| for the `pid`. Retain the |pid| value for use when
calling below.
This provides for Pseudonym with
@@ -1562,9 +1564,9 @@ Base Proof Serialization (bbs-2023)
If |featureOption| equals `"pseudonym_hidden_pid"`, compute
-the `bbsSignature` using the `Sign` procedure of
-[[CFRG-Pseudonym-BBS-Signature]], with appropriate key material, `bbsHeader`
-for the `header`, `bbsMessages` for the `messages`, and |commitment_with_proof|
+the `bbsSignature` using the `Hidden PID Signature Generation` procedure of
+[[CFRG-Pseudonym-BBS-Signature]], with appropriate key material, |bbsHeader|
+for the `header`, |bbsMessages| for the `messages`, and |commitment_with_proof|
for the `commitment_with_proof`. If the signing procedure uses the optional
|signer_blind| parameter retain this value for use when calling
below.
From b5c8bc06681e45b1da0842f8797495b1a2eed754 Mon Sep 17 00:00:00 2001
From: Wind4Greg
Date: Mon, 15 Jul 2024 10:46:25 -0700
Subject: [PATCH 02/11] Update proof generation procedures for optional feature
API updates.
---
index.html | 48 +++++++++++++++++++-----------------------------
1 file changed, 19 insertions(+), 29 deletions(-)
diff --git a/index.html b/index.html
index d93a9e9..cdfe436 100644
--- a/index.html
+++ b/index.html
@@ -878,7 +878,7 @@ createDisclosureData
If |featureOption| equals `"anonymous_holder_binding"`,
-set `bbsProof` to the value computed by the `ProofGen` procedure from
+set `bbsProof` to the value computed by the `BlindProofGen` procedure from
[[CFRG-Blind-BBS-Signature]], where |PK| is the original issuers public key,
|signature| is the
|bbsSignature|, |header| is the |bbsHeader|, |ph| is the |presentationHeader|,
@@ -887,16 +887,15 @@ createDisclosureData
|holder_secret|, and |proverBlind| that was used to compute the
|commitment_with_proof|. This is the
Anonymous Holder Binding feature option.
-In addition to the |bbsProof|, the Blind BBS `ProofGen` procedure will also
-produce an updated (adjusted) list of indexes which should be used to update
-the |selectiveIndexes| variable in subsequent processing. To
+To
be updated when IETF API is finalized.
If |featureOption| equals `"pseudonym_issuer_pid"`, compute the |pseudonym|
-according to the procedures given
+according to the `Calculate Pseudonym` procedure given
in [[CFRG-Pseudonym-BBS-Signature]],
-and set |bsProof| to the value computed by the `ProofGen` procedure from
+and set |bsProof| to the value computed by the
+`Signer Provided PID Proof Generation` procedure from
[[CFRG-Pseudonym-BBS-Signature]], where |PK| is the original issuers public key,
|signature| is the
|bbsSignature|, |header| is the |bbsHeader|, |ph| is the |presentationHeader|
@@ -908,9 +907,10 @@ createDisclosureData
If |featureOption| equals `"pseudonym_hidden_pid"`, compute the |pseudonym|
-according to the procedures given
+according to the `Calculate Pseudonym` procedure given
in [[CFRG-Pseudonym-BBS-Signature]],
-and set |bsProof| to the value computed by the `ProofGen` procedure from
+and set |bsProof| to the value computed by the
+`Hidden PID Proof Generation with Pseudonym` procedure from
[[CFRG-Pseudonym-BBS-Signature]], where |PK| is the original issuers public key,
|signature| is the
|bbsSignature|, |header| is the |bbsHeader|, |ph| is the |presentationHeader|
@@ -923,6 +923,11 @@ createDisclosureData
+
+If |featureOption| equals `"anonymous_holder_binding"`,
+`"pseudonym_issuer_pid"`, or `"pseudonym_hidden_pid"` set the |L| parameter
+equal to the length of the |bbsMessages| array.
+
@@ -953,7 +958,7 @@ createDisclosureData
Return an object with properties matching |bbsProof|, "verifierLabelMap" for |labelMap|,
-|mandatoryIndexes|, |selectiveIndexes|, |revealDocument|, and |pseudonym|, if
+|mandatoryIndexes|, |selectiveIndexes|, |revealDocument|, |pseudonym|, and |L| if
computed.
@@ -1027,7 +1032,7 @@ serializeDerivedProofValue
array of mandatory indexes (|mandatoryIndexes|), an array of
selective indexes (|selectiveIndexes|), and a BBS presentation header
(|presentationHeader|), the |featureOption| indicator, and possibly a
-|pseudonym| value depending on the |featureOption| value.
+|pseudonym| and |L| value depending on the |featureOption| value.
A single derived proof
value, serialized as a byte string, is produced as output.
@@ -1063,41 +1068,26 @@ serializeDerivedProofValue
Initialize |components| to an array with elements containing the values of
-|bbsProof|, |compressedLabelMap|, |mandatoryIndexes|, |selectiveIndexes|, and
-|presentationHeader|.
-
-
-
-
-If |featureOption| equals `"pseudonym_issuer_pid"`:
-
- -
-Initialize |proofValue| to start with the
-disclosure proof header bytes `0xd9`, `0x5d`, and `0x07`.
-
- -
-Initialize |components| to an array with elements containing the values of
|bbsProof|, |compressedLabelMap|, |mandatoryIndexes|, |selectiveIndexes|,
-|presentationHeader|, and |pseudonym|.
+|presentationHeader| and |L|.
-If |featureOption| equals `"pseudonym_hidden_pid"`:
+If |featureOption| equals `"pseudonym_issuer_pid"` or `"pseudonym_hidden_pid"`:
-
Initialize |proofValue| to start with the
-disclosure proof header bytes `0xd9`, `0x5d`, and `0x09`.
+disclosure proof header bytes `0xd9`, `0x5d`, and `0x07`.
-
Initialize |components| to an array with elements containing the values of
|bbsProof|, |compressedLabelMap|, |mandatoryIndexes|, |selectiveIndexes|,
-|presentationHeader|, and |pseudonym|.
+|presentationHeader|, |pseudonym|, and |L|.
-
CBOR-encode |components| per [[RFC8949]] where CBOR tagging MUST NOT be used on
any of the |components|. Append the produced encoded value to |proofValue|.
From cade589c2a1a9bd05bbf3a6a84dcb073cbff58d7 Mon Sep 17 00:00:00 2001
From: Wind4Greg
Date: Tue, 16 Jul 2024 10:36:57 -0700
Subject: [PATCH 03/11] Update Optional Feature description and summary tables.
---
index.html | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/index.html b/index.html
index cdfe436..a92868c 100644
--- a/index.html
+++ b/index.html
@@ -1758,7 +1758,7 @@ Optional Features
The cryptographic properties of BBS signatures permit variants that
can support advanced functionalities. This specification is limited to
supporting only the most relevant of these enhancements, which we explain in the
-following sections. The variables |commitment_with_proof|, |use_pseudonyms|,
+following sections. The variables |commitment_with_proof|,
|pid|, and |pseudonym| are associated with these features and are not otherwise
needed for BBS signatures and proofs.
@@ -1934,7 +1934,7 @@ Optional Feature Summary
Pseudonym with Hidden Pid |
- baseline + selected index adjustment |
+ baseline |
baseline + commitment with proof to secret pid from holder |
Pseudonym/Blind BBS |
@@ -2033,15 +2033,10 @@ Optional Feature Summary
baseline |
- Pseudonym with Issuer Pid |
+ Pseudonym (issuer known and hidden) |
`0xd9`, `0x5d`, and `0x07` |
baseline + pseudonym |
-
- Pseudonym with Hidden Pid |
- `0xd9`, `0x5d`, and `0x09` |
- baseline + pseudonym |
-
@@ -2066,15 +2061,10 @@ Optional Feature Summary
Blind BBS |
- Pseudonym with Issuer Pid |
+ Pseudonym (issuer known and hidden) |
baseline + verifier id (known to verifier), pseudonym (included in derived proof) |
Pseudonym BBS |
-
- Pseudonym with Hidden Pid |
- baseline + verifier id (known to verifier), pseudonym (included in derived proof) |
- Pseudonym/Blind BBS |
-
From 792549bc732fc72e483ef3c9044e245a1740c0d0 Mon Sep 17 00:00:00 2001
From: Wind4Greg
Date: Tue, 16 Jul 2024 10:53:09 -0700
Subject: [PATCH 04/11] Update proof verify related procedures.
---
index.html | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/index.html b/index.html
index a92868c..5e31bc1 100644
--- a/index.html
+++ b/index.html
@@ -1144,11 +1144,7 @@ parseDerivedProofValue
If the |decodedProofValue| starts with the header bytes `0xd9`, `0x5d`, and
-`0x07`, set |featureOption| to `"pseudonym_issuer_pid"`.
-
-
-If the |decodedProofValue| starts with the header bytes `0xd9`, `0x5d`, and
-`0x09`, set |featureOption| to `"pseudonym_hidden_pid"`.
+`0x07`, set |featureOption| to `"pseudonym"`.
@@ -1720,16 +1716,9 @@ Verify Derived Proof (bbs-2023)
be updated when IETF API is finalized.
-If the |featureOption| equals `"pseudonym_issuer_pid"`, initialize |verified|
-to the result of
-applying the verification algorithm `PseudonymProofVerify()` of
-[[CFRG-Pseudonym-BBS-Signature]]. To be updated when IETF
-API is finalized.
-
-
-If the |featureOption| equals `"pseudonym_hidden_pid"`, initialize |verified|
+If the |featureOption| equals `"pseudonym"`, initialize |verified|
to the result of
-applying the verification algorithm `PseudonymHiddenPidProofVerify()` of
+applying the verification algorithm `ProofVerifyWithPseudonym` of
[[CFRG-Pseudonym-BBS-Signature]]. To be updated when IETF
API is finalized.
From bb3e984b63a89b2f922e5d7625c1478cd4c2e249 Mon Sep 17 00:00:00 2001
From: Greg Bernstein
Date: Wed, 17 Jul 2024 08:52:10 -0700
Subject: [PATCH 05/11] Update Procedures related to Optional Features: wording
and punctuation improvements.
Co-authored-by: Ted Thibodeau Jr
---
index.html | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/index.html b/index.html
index 5e31bc1..182756a 100644
--- a/index.html
+++ b/index.html
@@ -925,7 +925,7 @@ createDisclosureData
If |featureOption| equals `"anonymous_holder_binding"`,
-`"pseudonym_issuer_pid"`, or `"pseudonym_hidden_pid"` set the |L| parameter
+`"pseudonym_issuer_pid"`, or `"pseudonym_hidden_pid"`, set the |L| parameter
equal to the length of the |bbsMessages| array.
@@ -1032,7 +1032,7 @@ serializeDerivedProofValue
array of mandatory indexes (|mandatoryIndexes|), an array of
selective indexes (|selectiveIndexes|), and a BBS presentation header
(|presentationHeader|), the |featureOption| indicator, and possibly a
-|pseudonym| and |L| value depending on the |featureOption| value.
+|pseudonym| and/or |L| value depending on the |featureOption| value.
A single derived proof
value, serialized as a byte string, is produced as output.
@@ -1069,7 +1069,7 @@ serializeDerivedProofValue
Initialize |components| to an array with elements containing the values of
|bbsProof|, |compressedLabelMap|, |mandatoryIndexes|, |selectiveIndexes|,
-|presentationHeader| and |L|.
+|presentationHeader|, and |L|.
@@ -1078,7 +1078,7 @@ serializeDerivedProofValue
-
Initialize |proofValue| to start with the
-disclosure proof header bytes `0xd9`, `0x5d`, and `0x07`.
+disclosure proof header bytes: `0xd9`, `0x5d`, and `0x07`.
-
Initialize |components| to an array with elements containing the values of
@@ -1540,7 +1540,7 @@
Base Proof Serialization (bbs-2023)
-
If |featureOption| equals `"pseudonym_issuer_pid"`, generate a
cryptographically random 32 byte |pid| value. Compute the
-`bbsSignature` using the `Signer Provided PID Signature Generation` procedure
+`bbsSignature` using the `Signer Provided PID Signature Generation` procedure
of [[CFRG-Pseudonym-BBS-Signature]],
with appropriate key material, |bbsHeader| for the `header`, |bbsMessages|
for the `messages`, and |pid| for the `pid`. Retain the |pid| value for use when
From 3a13067c951e3b76b88c8bcc844c15b1de8f8d36 Mon Sep 17 00:00:00 2001
From: Wind4Greg
Date: Wed, 17 Jul 2024 09:16:14 -0700
Subject: [PATCH 06/11] Replace L variable name with longer lengthBBSMessages
name. Fix up usage in verify derived proof procedures.
---
index.html | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/index.html b/index.html
index 182756a..6e644df 100644
--- a/index.html
+++ b/index.html
@@ -925,7 +925,7 @@
createDisclosureData
-
If |featureOption| equals `"anonymous_holder_binding"`,
-`"pseudonym_issuer_pid"`, or `"pseudonym_hidden_pid"`, set the |L| parameter
+`"pseudonym_issuer_pid"`, or `"pseudonym_hidden_pid"`, set the |lengthBBSMessages| parameter
equal to the length of the |bbsMessages| array.
@@ -958,7 +958,7 @@ createDisclosureData
-
Return an object with properties matching |bbsProof|, "verifierLabelMap" for |labelMap|,
-|mandatoryIndexes|, |selectiveIndexes|, |revealDocument|, |pseudonym|, and |L| if
+|mandatoryIndexes|, |selectiveIndexes|, |revealDocument|, |pseudonym|, and |lengthBBSMessages| if
computed.
@@ -1032,7 +1032,7 @@ serializeDerivedProofValue
array of mandatory indexes (|mandatoryIndexes|), an array of
selective indexes (|selectiveIndexes|), and a BBS presentation header
(|presentationHeader|), the |featureOption| indicator, and possibly a
-|pseudonym| and/or |L| value depending on the |featureOption| value.
+|pseudonym| and/or |lengthBBSMessages| value depending on the |featureOption| value.
A single derived proof
value, serialized as a byte string, is produced as output.
@@ -1069,7 +1069,7 @@ serializeDerivedProofValue
Initialize |components| to an array with elements containing the values of
|bbsProof|, |compressedLabelMap|, |mandatoryIndexes|, |selectiveIndexes|,
-|presentationHeader|, and |L|.
+|presentationHeader|, and |lengthBBSMessages|.
@@ -1083,7 +1083,7 @@ serializeDerivedProofValue
Initialize |components| to an array with elements containing the values of
|bbsProof|, |compressedLabelMap|, |mandatoryIndexes|, |selectiveIndexes|,
-|presentationHeader|, |pseudonym|, and |L|.
+|presentationHeader|, |pseudonym|, and |lengthBBSMessages|.
@@ -1111,8 +1111,8 @@ parseDerivedProofValue
single derived proof value object is produced as output, which
contains a set of six or seven elements, having the names "bbsProof",
"labelMap", "mandatoryIndexes", "selectiveIndexes", "presentationHeader",
-"featureOption", and possibly "pseudonym" depending on the value of the
-|featureOption| parameter.
+"featureOption", and possibly "pseudonym" and/or "lengthBBSMessages" depending
+on the value of the |featureOption| parameter.
@@ -1151,7 +1151,7 @@ parseDerivedProofValue
-
Initialize `components` to an array that is the result of CBOR-decoding the
bytes that follow the three-byte BBS disclosure proof header. If the result
-is not an array of five or six elements —
+is not an array of five to seven elements —
a byte array, a map of integers to integers,
two arrays of integers, and one or two byte arrays;
an error MUST be raised and SHOULD convey an error type of
@@ -1165,7 +1165,8 @@
parseDerivedProofValue
-
Return derived proof value as an object with properties set to the five
elements, using the names "bbsProof", "labelMap", "mandatoryIndexes",
-"selectiveIndexes", "presentationHeader", and optional "pseudonym", respectively.
+"selectiveIndexes", "presentationHeader", and optional "pseudonym" and/or
+"lengthBBSMessages", respectively.
In addition, add |featureOption| and its value to the object.
@@ -1183,7 +1184,7 @@ createVerifyData
verify data object value is produced as output containing the following
fields: |bbsProof|, |proofHash|, |mandatoryHash|, |selectiveIndexes|,
|presentationHeader|, |nonMandatory|, |featureOption|, and, possibly,
-|pseudonym|.
+|pseudonym| and/or |lengthBBSMessages|.
@@ -1197,7 +1198,8 @@ createVerifyData
-
Initialize |bbsProof|, |labelMap|, |mandatoryIndexes|, |selectiveIndexes|,
-|presentationHeader|, |featureOption|, and, possibly, |pseudonym| to the values
+|presentationHeader|, |featureOption|, and, possibly, |pseudonym| and/or
+|lengthBBSMessages| to the values
associated with their property names in the
object returned when calling the algorithm in Section
, passing |proofValue| from |proof|.
@@ -1238,7 +1240,7 @@
createVerifyData
-
Return an object with properties matching |baseSignature|, |proofHash|,
|nonMandatory|, |mandatoryHash|, |selectiveIndexes|, |featureOption|, and,
-possibly |pseudonym|.
+possibly |pseudonym| and/or |lengthBBSMessages|.
@@ -1712,14 +1714,15 @@ Verify Derived Proof (bbs-2023)
If the |featureOption| equals `"anonymous_holder_binding"`,
initialize |verified| to the result of
applying the verification algorithm `ProofVerify` algorithm of
-[[CFRG-Blind-BBS-Signature]]. To
- be updated when IETF API is finalized.
+[[CFRG-Blind-BBS-Signature]] using |lengthBBSMessages| for the `"L"` parameter.
+To be updated when IETF API is finalized.
If the |featureOption| equals `"pseudonym"`, initialize |verified|
to the result of
applying the verification algorithm `ProofVerifyWithPseudonym` of
-[[CFRG-Pseudonym-BBS-Signature]]. To be updated when IETF
+[[CFRG-Pseudonym-BBS-Signature]] using |lengthBBSMessages| for the `"L"`
+parameter. To be updated when IETF
API is finalized.
From 46c9b0c3ec6185d250972a803281af266b687bab Mon Sep 17 00:00:00 2001
From: Greg Bernstein
Date: Thu, 18 Jul 2024 09:41:02 -0700
Subject: [PATCH 07/11] Update Procedures related to Optional Features: wording
and punctuation improvements.
Co-authored-by: Ted Thibodeau Jr
---
index.html | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/index.html b/index.html
index 6e644df..2038f08 100644
--- a/index.html
+++ b/index.html
@@ -926,7 +926,7 @@ createDisclosureData
If |featureOption| equals `"anonymous_holder_binding"`,
`"pseudonym_issuer_pid"`, or `"pseudonym_hidden_pid"`, set the |lengthBBSMessages| parameter
-equal to the length of the |bbsMessages| array.
+to the length of the |bbsMessages| array.
@@ -958,8 +958,8 @@ createDisclosureData
Return an object with properties matching |bbsProof|, "verifierLabelMap" for |labelMap|,
-|mandatoryIndexes|, |selectiveIndexes|, |revealDocument|, |pseudonym|, and |lengthBBSMessages| if
-computed.
+|mandatoryIndexes|, |selectiveIndexes|, |revealDocument|, |pseudonym|, and, if
+computed, |lengthBBSMessages|.
@@ -1031,8 +1031,8 @@ serializeDerivedProofValue
are a BBS proof (|bbsProof|), a label map (|labelMap|), an
array of mandatory indexes (|mandatoryIndexes|), an array of
selective indexes (|selectiveIndexes|), and a BBS presentation header
-(|presentationHeader|), the |featureOption| indicator, and possibly a
-|pseudonym| and/or |lengthBBSMessages| value depending on the |featureOption| value.
+(|presentationHeader|), the |featureOption| indicator, and,
+depending on the |featureOption| value, a |pseudonym| and/or |lengthBBSMessages| value.
A single derived proof
value, serialized as a byte string, is produced as output.
@@ -1111,8 +1111,8 @@ parseDerivedProofValue
single derived proof value object is produced as output, which
contains a set of six or seven elements, having the names "bbsProof",
"labelMap", "mandatoryIndexes", "selectiveIndexes", "presentationHeader",
-"featureOption", and possibly "pseudonym" and/or "lengthBBSMessages" depending
-on the value of the |featureOption| parameter.
+"featureOption", and, depending on the value of the |featureOption| parameter,
+"pseudonym" and/or "lengthBBSMessages".
@@ -1151,7 +1151,7 @@ parseDerivedProofValue
-
Initialize `components` to an array that is the result of CBOR-decoding the
bytes that follow the three-byte BBS disclosure proof header. If the result
-is not an array of five to seven elements —
+is not an array of five, six, or seven elements —
a byte array, a map of integers to integers,
two arrays of integers, and one or two byte arrays;
an error MUST be raised and SHOULD convey an error type of
@@ -1163,8 +1163,8 @@
parseDerivedProofValue
second element of `components` as `compressedLabelMap`.
-
-Return derived proof value as an object with properties set to the five
-elements, using the names "bbsProof", "labelMap", "mandatoryIndexes",
+Return derived proof value as an object with properties set to the five,
+six, or seven elements, using the names "bbsProof", "labelMap", "mandatoryIndexes",
"selectiveIndexes", "presentationHeader", and optional "pseudonym" and/or
"lengthBBSMessages", respectively.
In addition, add |featureOption| and its value to the object.
@@ -1240,7 +1240,7 @@
createVerifyData
-
Return an object with properties matching |baseSignature|, |proofHash|,
|nonMandatory|, |mandatoryHash|, |selectiveIndexes|, |featureOption|, and,
-possibly |pseudonym| and/or |lengthBBSMessages|.
+possibly, |pseudonym| and/or |lengthBBSMessages|.
@@ -1713,14 +1713,14 @@ Verify Derived Proof (bbs-2023)
If the |featureOption| equals `"anonymous_holder_binding"`,
initialize |verified| to the result of
-applying the verification algorithm `ProofVerify` algorithm of
+applying the `ProofVerify` verification algorithm of
[[CFRG-Blind-BBS-Signature]] using |lengthBBSMessages| for the `"L"` parameter.
To be updated when IETF API is finalized.
If the |featureOption| equals `"pseudonym"`, initialize |verified|
to the result of
-applying the verification algorithm `ProofVerifyWithPseudonym` of
+applying the `ProofVerifyWithPseudonym` verification algorithm of
[[CFRG-Pseudonym-BBS-Signature]] using |lengthBBSMessages| for the `"L"`
parameter. To be updated when IETF
API is finalized.
From 26d2c19fdc523d3beaa4dc3a14ee186291524eea Mon Sep 17 00:00:00 2001
From: Wind4Greg
Date: Thu, 18 Jul 2024 11:09:13 -0700
Subject: [PATCH 08/11] Technical change to fix an off by one error.
---
index.html | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/index.html b/index.html
index 2038f08..eca1ae9 100644
--- a/index.html
+++ b/index.html
@@ -924,9 +924,13 @@ createDisclosureData
-If |featureOption| equals `"anonymous_holder_binding"`,
-`"pseudonym_issuer_pid"`, or `"pseudonym_hidden_pid"`, set the |lengthBBSMessages| parameter
+If |featureOption| equals `"anonymous_holder_binding"` or
+`"pseudonym_hidden_pid"`, set the |lengthBBSMessages| parameter
to the length of the |bbsMessages| array.
+If |featureOption| equals `"pseudonym_issuer_pid"` set the |lengthBBSMessages|
+parameter to the length of the |bbsMessages| array + 1. This
+is due to the PID in the issuer known PID case being considered a "BBS message".
+
@@ -1111,7 +1115,7 @@ parseDerivedProofValue
single derived proof value object is produced as output, which
contains a set of six or seven elements, having the names "bbsProof",
"labelMap", "mandatoryIndexes", "selectiveIndexes", "presentationHeader",
-"featureOption", and, depending on the value of the |featureOption| parameter,
+"featureOption", and, depending on the value of the |featureOption| parameter,
"pseudonym" and/or "lengthBBSMessages".
From e748287aa8ffd715c2a50636596c3d023eb429b8 Mon Sep 17 00:00:00 2001
From: Greg Bernstein
Date: Thu, 18 Jul 2024 15:32:11 -0700
Subject: [PATCH 09/11] Update Procedures related to Optional Features: wording
improvements.
Co-authored-by: Ted Thibodeau Jr
---
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.html b/index.html
index eca1ae9..e2d7209 100644
--- a/index.html
+++ b/index.html
@@ -929,7 +929,7 @@ createDisclosureData
to the length of the |bbsMessages| array.
If |featureOption| equals `"pseudonym_issuer_pid"` set the |lengthBBSMessages|
parameter to the length of the |bbsMessages| array + 1. This
-is due to the PID in the issuer known PID case being considered a "BBS message".
+is due to the known-issuer PID being considered a "BBS message".
From 01a6d3fabc769cab72384394526f481502a197ea Mon Sep 17 00:00:00 2001
From: Wind4Greg
Date: Mon, 5 Aug 2024 17:06:35 -0700
Subject: [PATCH 10/11] Update test vectors based on IETF Blind BBS and
Pseudonym draft updates.
---
.../addRawBaseSignatureInfo.json | 2 +-
.../HolderBinding/addSignedSDBase.json | 2 +-
TestVectors/HolderBinding/commitmentInfo.json | 4 +-
.../HolderBinding/derivedAllGroupData.json | 116 +++++++++---------
.../HolderBinding/derivedDisclosureData.json | 9 +-
.../derivedRecoveredBaseData.json | 2 +-
.../HolderBinding/derivedRevealDocument.json | 2 +-
.../verifyDerivedProofValue.json | 12 +-
.../addRawBaseSignatureInfo.json | 2 +-
.../PseudoHiddenPid/addSignedSDBase.json | 2 +-
.../PseudoHiddenPid/commitmentInfo.json | 4 +-
.../PseudoHiddenPid/derivedAllGroupData.json | 116 +++++++++---------
.../derivedDisclosureData.json | 10 +-
.../derivedRecoveredBaseData.json | 2 +-
.../derivedRevealDocument.json | 2 +-
.../verifyDerivedProofValue.json | 12 +-
.../addRawBaseSignatureInfo.json | 2 +-
.../PseudoIssuerPid/addSignedSDBase.json | 2 +-
.../PseudoIssuerPid/derivedAllGroupData.json | 116 +++++++++---------
.../derivedDisclosureData.json | 11 +-
.../derivedRecoveredBaseData.json | 2 +-
.../derivedRevealDocument.json | 2 +-
.../verifyDerivedProofValue.json | 6 +-
23 files changed, 233 insertions(+), 207 deletions(-)
diff --git a/TestVectors/HolderBinding/addRawBaseSignatureInfo.json b/TestVectors/HolderBinding/addRawBaseSignatureInfo.json
index 59edfd6..e22a92f 100644
--- a/TestVectors/HolderBinding/addRawBaseSignatureInfo.json
+++ b/TestVectors/HolderBinding/addRawBaseSignatureInfo.json
@@ -1,5 +1,5 @@
{
- "bbsSignature": "81a1fb545c7d2e93e95bcee93fc9a72482e846d63cfbe02d8869b45813aeffefba37bcd4ac64e15caa70d358c45ab8c062451c22dcd3cf0ad1a8bee2af48d3448b36123aa4f0c4c12a6143c5d5857436",
+ "bbsSignature": "a61f9505bce7a5c9de2313ab6677999f0fb20685ab0c7fe91ca6d967dc4f9b2c6f973c8b04bc5269d3b960be707c0aea34042ba5646ff9892e537513b4b4721029bef35d922c3f3d27ca275984f52f3e",
"bbsHeader": "3a5bbf25d34d90b18c35cd2357be6a6f42301e94fc9e52f77e93b773c5614bdf8eea112c04d89e133880f96766ebae73693f75f1bbcbbaa473dc06254bdec4fb",
"publicKey": "a4ef1afa3da575496f122b9b78b8c24761531a8a093206ae7c45b80759c168ba4f7a260f9c3367b6c019b4677841104b10665edbe70ba3ebe7d9cfbffbf71eb016f70abfbb163317f372697dc63efd21fc55764f63926a8f02eaea325a2a888f",
"hmacKey": "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
diff --git a/TestVectors/HolderBinding/addSignedSDBase.json b/TestVectors/HolderBinding/addSignedSDBase.json
index 52e2e13..71f2f2d 100644
--- a/TestVectors/HolderBinding/addSignedSDBase.json
+++ b/TestVectors/HolderBinding/addSignedSDBase.json
@@ -68,6 +68,6 @@
"created": "2023-08-15T23:36:38Z",
"verificationMethod": "did:key:zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ#zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ",
"proofPurpose": "assertionMethod",
- "proofValue": "u2V0EhlhQgaH7VFx9LpPpW87pP8mnJILoRtY8--AtiGm0WBOu_--6N7zUrGThXKpw01jEWrjAYkUcItzTzwrRqL7ir0jTRIs2Ejqk8MTBKmFDxdWFdDZYQDpbvyXTTZCxjDXNI1e-am9CMB6U_J5S936Tt3PFYUvfjuoRLATYnhM4gPlnZuuuc2k_dfG7y7qkc9wGJUvexPtYYKTvGvo9pXVJbxIrm3i4wkdhUxqKCTIGrnxFuAdZwWi6T3omD5wzZ7bAGbRneEEQSxBmXtvnC6Pr59nPv_v3HrAW9wq_uxYzF_NyaX3GPv0h_FV2T2OSao8C6uoyWiqIj1ggABEiM0RVZneImaq7zN3u_wARIjNEVWZ3iJmqu8zd7v-CZy9pc3N1ZXJvL2V4cGlyYXRpb25EYXRlWCAslx1aNMH9jXmmWvpqfeFYJ69HH5woJ5AHBy6EXNfHsw"
+ "proofValue": "u2V0EhlhQph-VBbznpcneIxOrZneZnw-yBoWrDH_pHKbZZ9xPmyxvlzyLBLxSadO5YL5wfArqNAQrpWRv-YkuU3UTtLRyECm-812SLD89J8onWYT1Lz5YQDpbvyXTTZCxjDXNI1e-am9CMB6U_J5S936Tt3PFYUvfjuoRLATYnhM4gPlnZuuuc2k_dfG7y7qkc9wGJUvexPtYYKTvGvo9pXVJbxIrm3i4wkdhUxqKCTIGrnxFuAdZwWi6T3omD5wzZ7bAGbRneEEQSxBmXtvnC6Pr59nPv_v3HrAW9wq_uxYzF_NyaX3GPv0h_FV2T2OSao8C6uoyWiqIj1ggABEiM0RVZneImaq7zN3u_wARIjNEVWZ3iJmqu8zd7v-CZy9pc3N1ZXJvL2V4cGlyYXRpb25EYXRlWCAslx1aNMH9jXmmWvpqfeFYJ69HH5woJ5AHBy6EXNfHsw"
}
}
\ No newline at end of file
diff --git a/TestVectors/HolderBinding/commitmentInfo.json b/TestVectors/HolderBinding/commitmentInfo.json
index 939424f..ff7d4b3 100644
--- a/TestVectors/HolderBinding/commitmentInfo.json
+++ b/TestVectors/HolderBinding/commitmentInfo.json
@@ -1,4 +1,4 @@
{
- "secretProverBlind": "5e5510fb904fc539698fabb7c26b0091f18f452e42f5f95671b3d0f6c1862f63",
- "commitmentWithProof": "b1e6740c8149a0eadd69a69da61b1b733fc4bc869a906e7b3b7f4d98bf6d8c46720dda2b60298d3676d1d2f8b7da307105683e1dde492879ea39fc665feeb3a7eb4f46e852337a762f23957968ad77e8220f656c2364c3a75a5eb66469ef956a06f5f875a74bc329cf92b25afc2f220121ae54d446cee7628d5824216dc1c2c6a2474869500c1254cb0f72cb3f181eef"
+ "secretProverBlind": "14c6dd50a5ae34ae83cd585dda6bb0ebbc23327ad3bcc92f321f09cc954435f0",
+ "commitmentWithProof": "b12a3bc39c35ca52631dfe4aee47f5f10d94107fd97f1aa39a94badb291ee66adf650770e08bb280af9340f34836b7ab353365d5769a24ded4a919c598c8831c0b66f83759f32d3b7eddcabf42bc471b475533116151674faec83c4fddc1c514af239f6370359aa03a955751a6b106911b902ae4dc6f14cfda9e0be04d85a3f1105fb7d5c83d263e0ca95217c8017e91"
}
\ No newline at end of file
diff --git a/TestVectors/HolderBinding/derivedAllGroupData.json b/TestVectors/HolderBinding/derivedAllGroupData.json
index e4b733a..575414a 100644
--- a/TestVectors/HolderBinding/derivedAllGroupData.json
+++ b/TestVectors/HolderBinding/derivedAllGroupData.json
@@ -135,10 +135,10 @@
" .\n",
" \"Utopia Department of Motor Vehicles\" .\n",
" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n"
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n"
]
},
"selective": {
@@ -273,14 +273,14 @@
]
},
"deskolemizedNQuads": [
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"UA\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 _:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 _:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 .\n"
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"UA\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 _:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 _:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 .\n"
]
},
"combined": {
@@ -418,16 +418,16 @@
" .\n",
" \"Utopia Department of Motor Vehicles\" .\n",
" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"UA\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 _:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 _:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n"
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"UA\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 _:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 _:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n"
]
}
},
@@ -542,13 +542,13 @@
"@value": "UTA"
}
],
- "@id": "urn:bnid:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0"
+ "@id": "urn:bnid:_5ec761cf-6b8d-4150-941b-67a0a618a918_0"
}
],
"@type": [
"https://w3id.org/vdl#LicensedDriver"
],
- "@id": "urn:bnid:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1"
+ "@id": "urn:bnid:_5ec761cf-6b8d-4150-941b-67a0a618a918_1"
}
],
"https://schema.org/description": [
@@ -602,7 +602,7 @@
"https://www.w3.org/2018/credentials#VerifiableCredential",
"https://w3id.org/vdl#Iso18013DriversLicenseCredential"
],
- "@id": "urn:bnid:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2"
+ "@id": "urn:bnid:_5ec761cf-6b8d-4150-941b-67a0a618a918_2"
}
],
"compact": {
@@ -612,7 +612,7 @@
"https://w3id.org/vdl/v1",
"https://w3id.org/vdl/aamva/v1"
],
- "id": "urn:bnid:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2",
+ "id": "urn:bnid:_5ec761cf-6b8d-4150-941b-67a0a618a918_2",
"type": [
"VerifiableCredential",
"Iso18013DriversLicenseCredential"
@@ -621,10 +621,10 @@
"image": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUg...kSuQmCC",
"name": "Utopia Driver's License",
"credentialSubject": {
- "id": "urn:bnid:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1",
+ "id": "urn:bnid:_5ec761cf-6b8d-4150-941b-67a0a618a918_1",
"type": "LicensedDriver",
"driversLicense": {
- "id": "urn:bnid:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0",
+ "id": "urn:bnid:_5ec761cf-6b8d-4150-941b-67a0a618a918_0",
"type": "Iso18013DriversLicense",
"birth_date": "1998-08-28",
"document_number": "542426814",
@@ -678,47 +678,47 @@
" .\n",
" \"Utopia Department of Motor Vehicles\" .\n",
" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"1998-08-28\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"542426814\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"2028-08-27T12:00:00-06:00\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"TURNER\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"SUSAN\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"2023-01-15T10:00:00-07:00\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"UADMV\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"UA\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"2\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"UTA\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"1ST\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"N\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 \"N\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 _:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 \"A license granting driving privileges in Utopia.\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 \"Utopia Driver's License\" .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 _:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1 .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 \"2023-11-15T10:00:00-07:00\"^^ .\n",
- "_:_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2 .\n"
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"1998-08-28\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"542426814\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"2028-08-27T12:00:00-06:00\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"TURNER\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"SUSAN\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"2023-01-15T10:00:00-07:00\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"UADMV\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"UA\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"2\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"UTA\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"1ST\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"N\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 \"N\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 _:_5ec761cf-6b8d-4150-941b-67a0a618a918_0 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 \"A license granting driving privileges in Utopia.\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 \"Utopia Driver's License\" .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 _:_5ec761cf-6b8d-4150-941b-67a0a618a918_1 .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 \"2023-11-15T10:00:00-07:00\"^^ .\n",
+ "_:_5ec761cf-6b8d-4150-941b-67a0a618a918_2 .\n"
],
"labelMap": {
"dataType": "Map",
"value": [
[
- "_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_2",
+ "_5ec761cf-6b8d-4150-941b-67a0a618a918_2",
"b1"
],
[
- "_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_1",
+ "_5ec761cf-6b8d-4150-941b-67a0a618a918_1",
"b0"
],
[
- "_d3cd7372-9bb3-4ac2-bef7-acf25c3c3f8a_0",
+ "_5ec761cf-6b8d-4150-941b-67a0a618a918_0",
"b2"
]
]
diff --git a/TestVectors/HolderBinding/derivedDisclosureData.json b/TestVectors/HolderBinding/derivedDisclosureData.json
index c1de241..ebc7185 100644
--- a/TestVectors/HolderBinding/derivedDisclosureData.json
+++ b/TestVectors/HolderBinding/derivedDisclosureData.json
@@ -1 +1,8 @@
-{"bbsProof":"85a6b563ffb00e3c270af237f1e7e16f4d35928b170012a4860553dd6c35669bd24994ba970842352ccb618ddb8e54bd8db3cc40892362313e3c0af8b3a731f3f3999baf056e2d6a5f0d6123cd6b1ab4e2362a1df78b8d22df22f7dbb0526b7795121acc388e0654e2629936f9000136488a2d623b560fdb027413cf108c9b9cfcb5a7ec32b343eff24248bec103a83e58cfd85587f3ecbd4975f41e1fef986b8beda5ab64f0183146723d234ddb676d3c1441084c73614244db83bdb215f0c665a089de186183a3de909439568041f72aa979ea496322e48eecfa5b8973c0c86335edaef58b68b9fe950fc6cbe9545269d867d4822832920f71caea384a7c6c31398456f33b5b57d395ea555eac89a267a329353bead5d31191f634c0a7737a9388cb055698e46afa32b78c29e489de5caf473e55569dc433abb6c3a44b02f3ea4af1d0d1529be2e85faed020026d622e7f7520acdb8510dc5521a4585cdc19fb9e7e6aff1f850c030a5644ffef658d3990d6aeffab20aebc818bcae9b82a1428db81e878b1e99c7035f801c5dc98b65a2088a27e93633fac10517391b20a2f767e73459cbab17de378afaa6171bd900a109d600083e679aa470ad330475ee2ef41c0c9d2716008a8dce90b8efd9b08507e4fa1ac3d7c906ac7487d32d4c4ddcda67900b166ca5e3669fb21d550fb8935ccdfedaf31e63ee25700e98577a02defd27247c524259bb317856bfb40cce82c5053288dcef017dc0e136f8c926756d38648c185d4d4423da7b5925d3fc38538d90964d35e9c76760f3589c6a63bfaba9a73d90e1d77efb5fa09b8f397d33954e59dd4532aed783be7f5922200ac52b6e598c9e4ea69277ab8e91ce3bea04947aa74b0113cb54a88cd96eb248cab956099af4c2ca7c3f8007b43be5b0e67b029baef96221554808735d0eecb8badf15a3456d1aae4e9ccf4151e7cc24fd6db7347f3cdebcaa820d4fdf7273399b02c5009678089d1cbd19e55bcb2203accd965c23ef1254c776466b458215ab53acc3c47438c3815944636b7a312240423b632e56fa635719106a891c41634102c7058f7554ab74e394012a5a1f69726cdf4499153f2b2828c34015a110d6ada0e37b77d0113b5cb830bb61796bfd2efc94c49b870eb450120f4e46fafc8f0236b30e8409a5dfc6c16880b719f8a37d66c9135b5246d1e891cd3559712d8cb35f550d1c76442ebe0b20babdd3ab9b8cc6380","labelMap":{"dataType":"Map","value":[["c14n0","b1"],["c14n1","b2"],["c14n2","b0"]]},"mandatoryIndexes":[0,1,2,5,6,8,9],"adjSelectiveIndexes":[0,1,5,7,10,16],"blindAdjDisclosedIdxs":[2,3,7,9,12,18],"presentationHeader":{"0":17,"1":51,"2":119,"3":170},"featureOption":"anonymous_holder_binding"}
\ No newline at end of file
+{
+ "bbsProof":"8621d7b34d4e0a2eae538d4a24b75b353518b9b2b4fd8e1d1131c33bb7b0708de00592ea8e959f05d278dc1ae449f68f87651657392d7d92cdfc23c967f4bd7ccb5d7e51201730aacb8ea15fc3667ee9ffad64e87e840cf9af5630b8f895b9cf8298dbdabdcf83b86038a152f668c572ec0ac2a5671a60e9ff55f01a6e937d0304cc525ac0386d500c17a52997c247ad23e0c5dfa1987e33fb14c5a44edcce4d7060fb9bdefc60e18e1328ad1824572741edb84314c3dc446b22e9891c13d200f240ec32859d96a63dc4b962a45160851bc7dfb2b5ab3c8e469cbfa2370e04b022221d30bffed0a759bde1c2d56363b543b6faa59f7dfeee8eaea1db0e73c0932a77ce39bc3b1f8008af4a8c20a630e7716e9fbe5636ae1ce30f6c1373b0cec62d803532a8101f633d7260fdba6e55ba36956cf3bbd9aae52193a108b4012b12e67d7a51498e44b10430aadc3857eef73e7bfa34b0aebd511823dae91cf29b68c618a7b3b7b804e97d599a92efd895975309e19edd932474534f3a447cf9c4d3cc228559ff70c17d2ee3544c9ba5051c43feedc9a02acd185a339f0307fb80cf209955368f60a0fd18d55efb249f22a805249bc6ec8cba9be2b4237e8866460cc4d063f16e0cb2fe82ad9b229d565d3c472c5e574fec5867ad90ed41c8a87e4e59f513bb937309f6135923950f119fcf6f7e682ea2917120f6830f38ff3bad1057908555d5cb884f2a4775e22cb311ee67355fe474e93a26129995c03ec4f76b4e4d191391a5e03f49e72f72971b35d2164f30717d7ce906d822bd7c993eecdbcf4ecfd0b0edb1f0dbf73de2a1cc7d0c34a5b2cff4dee896ce12c9a1d4b4f48f7a50918685c7007854d98945dc6563515377cc50fc2e47ac23a1bda1f9fcacdd4fa5519edc27250640d93a7358a48c6b733235c6ef4683e4a78f5b3da71be9cdaf153a26290becc72578b414a2a5d3c33c01bf7026a06dd7c5cedb9aa7b661507718631f84b47ee3a78331ef9a9abccf389a06521a598ffba6aff68cd31a982a67a11f2dd3cefdf5a3447688ddb24e97686373ab5efab6438586022f0cc7844355057e2f7bdb9fee7ad1661635a8056401df5b48b9958d92874c8d44119479d69d16ebb82ec741e8ffe1175e1bf7732038fe02a2063f83e0e11a77ebd37e146a0b59b39adc653255acfe19f5a5fc21db139652cb085d7c49ebe6bee66f3e9c9a888bb0679bf570e862c3cb68867cf401",
+ "labelMap":{"dataType":"Map","value":[["c14n0","b1"],["c14n1","b2"],["c14n2","b0"]]},
+ "mandatoryIndexes":[0,1,2,5,6,8,9],"adjSelectiveIndexes":[0,1,5,7,10,16],
+ "presentationHeader":{"0":17,"1":51,"2":119,"3":170},
+ "featureOption":"anonymous_holder_binding",
+ "lengthBBSMessages":23
+}
\ No newline at end of file
diff --git a/TestVectors/HolderBinding/derivedRecoveredBaseData.json b/TestVectors/HolderBinding/derivedRecoveredBaseData.json
index 59edfd6..e22a92f 100644
--- a/TestVectors/HolderBinding/derivedRecoveredBaseData.json
+++ b/TestVectors/HolderBinding/derivedRecoveredBaseData.json
@@ -1,5 +1,5 @@
{
- "bbsSignature": "81a1fb545c7d2e93e95bcee93fc9a72482e846d63cfbe02d8869b45813aeffefba37bcd4ac64e15caa70d358c45ab8c062451c22dcd3cf0ad1a8bee2af48d3448b36123aa4f0c4c12a6143c5d5857436",
+ "bbsSignature": "a61f9505bce7a5c9de2313ab6677999f0fb20685ab0c7fe91ca6d967dc4f9b2c6f973c8b04bc5269d3b960be707c0aea34042ba5646ff9892e537513b4b4721029bef35d922c3f3d27ca275984f52f3e",
"bbsHeader": "3a5bbf25d34d90b18c35cd2357be6a6f42301e94fc9e52f77e93b773c5614bdf8eea112c04d89e133880f96766ebae73693f75f1bbcbbaa473dc06254bdec4fb",
"publicKey": "a4ef1afa3da575496f122b9b78b8c24761531a8a093206ae7c45b80759c168ba4f7a260f9c3367b6c019b4677841104b10665edbe70ba3ebe7d9cfbffbf71eb016f70abfbb163317f372697dc63efd21fc55764f63926a8f02eaea325a2a888f",
"hmacKey": "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
diff --git a/TestVectors/HolderBinding/derivedRevealDocument.json b/TestVectors/HolderBinding/derivedRevealDocument.json
index ce1462b..b69d8d2 100644
--- a/TestVectors/HolderBinding/derivedRevealDocument.json
+++ b/TestVectors/HolderBinding/derivedRevealDocument.json
@@ -51,6 +51,6 @@
"created": "2023-08-15T23:36:38Z",
"verificationMethod": "did:key:zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ#zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ",
"proofPurpose": "assertionMethod",
- "proofValue": "u2V0FhVkDcIWmtWP_sA48JwryN_Hn4W9NNZKLFwASpIYFU91sNWab0kmUupcIQjUsy2GN245UvY2zzECJI2IxPjwK-LOnMfPzmZuvBW4tal8NYSPNaxq04jYqHfeLjSLfIvfbsFJrd5USGsw4jgZU4mKZNvkAATZIii1iO1YP2wJ0E88QjJuc_LWn7DKzQ-_yQki-wQOoPljP2FWH8-y9SXX0Hh_vmGuL7aWrZPAYMUZyPSNN22dtPBRBCExzYUJE24O9shXwxmWgid4YYYOj3pCUOVaAQfcqqXnqSWMi5I7s-luJc8DIYzXtrvWLaLn-lQ_Gy-lUUmnYZ9SCKDKSD3HK6jhKfGwxOYRW8ztbV9OV6lVerImiZ6MpNTvq1dMRkfY0wKdzepOIywVWmORq-jK3jCnkid5cr0c-VVadxDOrtsOkSwLz6krx0NFSm-LoX67QIAJtYi5_dSCs24UQ3FUhpFhc3Bn7nn5q_x-FDAMKVkT_72WNOZDWrv-rIK68gYvK6bgqFCjbgeh4semccDX4AcXcmLZaIIiifpNjP6wQUXORsgovdn5zRZy6sX3jeK-qYXG9kAoQnWAAg-Z5qkcK0zBHXuLvQcDJ0nFgCKjc6QuO_ZsIUH5Poaw9fJBqx0h9MtTE3c2meQCxZspeNmn7IdVQ-4k1zN_trzHmPuJXAOmFd6At79JyR8UkJZuzF4Vr-0DM6CxQUyiNzvAX3A4Tb4ySZ1bThkjBhdTUQj2ntZJdP8OFONkJZNNenHZ2DzWJxqY7-rqac9kOHXfvtfoJuPOX0zlU5Z3UUyrteDvn9ZIiAKxStuWYyeTqaSd6uOkc476gSUeqdLARPLVKiM2W6ySMq5Vgma9MLKfD-AB7Q75bDmewKbrvliIVVICHNdDuy4ut8Vo0VtGq5OnM9BUefMJP1ttzR_PN68qoINT99yczmbAsUAlngInRy9GeVbyyIDrM2WXCPvElTHdkZrRYIVq1Osw8R0OMOBWURja3oxIkBCO2MuVvpjVxkQaokcQWNBAscFj3VUq3TjlAEqWh9pcmzfRJkVPysoKMNAFaEQ1q2g43t30BE7XLgwu2F5a_0u_JTEm4cOtFASD05G-vyPAjazDoQJpd_GwWiAtxn4o31myRNbUkbR6JHNNVlxLYyzX1UNHHZELr4LILq906ubjMY4CjAAEBAgIAhwABAgUGCAmGAgMHCQwSRBEzd6o"
+ "proofValue": "u2V0FhlkDcIYh17NNTgourlONSiS3WzU1GLmytP2OHRExwzu3sHCN4AWS6o6VnwXSeNwa5En2j4dlFlc5LX2SzfwjyWf0vXzLXX5RIBcwqsuOoV_DZn7p_61k6H6EDPmvVjC4-JW5z4KY29q9z4O4YDihUvZoxXLsCsKlZxpg6f9V8Bpuk30DBMxSWsA4bVAMF6Upl8JHrSPgxd-hmH4z-xTFpE7czk1wYPub3vxg4Y4TKK0YJFcnQe24QxTD3ERrIumJHBPSAPJA7DKFnZamPcS5YqRRYIUbx9-ytas8jkacv6I3DgSwIiIdML_-0KdZveHC1WNjtUO2-qWfff7ujq6h2w5zwJMqd845vDsfgAivSowgpjDncW6fvlY2rhzjD2wTc7DOxi2ANTKoEB9jPXJg_bpuVbo2lWzzu9mq5SGToQi0ASsS5n16UUmORLEEMKrcOFfu9z57-jSwrr1RGCPa6Rzym2jGGKezt7gE6X1ZmpLv2JWXUwnhnt2TJHRTTzpEfPnE08wihVn_cMF9LuNUTJulBRxD_u3JoCrNGFoznwMH-4DPIJlVNo9goP0Y1V77JJ8iqAUkm8bsjLqb4rQjfohmRgzE0GPxbgyy_oKtmyKdVl08RyxeV0_sWGetkO1ByKh-Tln1E7uTcwn2E1kjlQ8Rn89vfmguopFxIPaDDzj_O60QV5CFVdXLiE8qR3XiLLMR7mc1X-R06TomEpmVwD7E92tOTRkTkaXgP0nnL3KXGzXSFk8wcX186QbYIr18mT7s289Oz9Cw7bHw2_c94qHMfQw0pbLP9N7ols4SyaHUtPSPelCRhoXHAHhU2YlF3GVjUVN3zFD8LkesI6G9ofn8rN1PpVGe3CclBkDZOnNYpIxrczI1xu9Gg-Snj1s9pxvpza8VOiYpC-zHJXi0FKKl08M8Ab9wJqBt18XO25qntmFQdxhjH4S0fuOngzHvmpq8zziaBlIaWY_7pq_2jNMamCpnoR8t08799aNEdojdsk6XaGNzq176tkOFhgIvDMeEQ1UFfi9725_uetFmFjWoBWQB31tIuZWNkodMjUQRlHnWnRbruC7HQej_4RdeG_dzIDj-AqIGP4Pg4Rp369N-FGoLWbOa3GUyVaz-GfWl_CHbE5ZSywhdfEnr5r7mbz6cmoiLsGeb9XDoYsPLaIZ89AGjAAEBAgIAhwABAgUGCAmGAAEFBwoQRBEzd6oX"
}
}
\ No newline at end of file
diff --git a/TestVectors/HolderBinding/verifyDerivedProofValue.json b/TestVectors/HolderBinding/verifyDerivedProofValue.json
index e7bffbf..4bef63d 100644
--- a/TestVectors/HolderBinding/verifyDerivedProofValue.json
+++ b/TestVectors/HolderBinding/verifyDerivedProofValue.json
@@ -1,5 +1,5 @@
{
- "bbsProof": "85a6b563ffb00e3c270af237f1e7e16f4d35928b170012a4860553dd6c35669bd24994ba970842352ccb618ddb8e54bd8db3cc40892362313e3c0af8b3a731f3f3999baf056e2d6a5f0d6123cd6b1ab4e2362a1df78b8d22df22f7dbb0526b7795121acc388e0654e2629936f9000136488a2d623b560fdb027413cf108c9b9cfcb5a7ec32b343eff24248bec103a83e58cfd85587f3ecbd4975f41e1fef986b8beda5ab64f0183146723d234ddb676d3c1441084c73614244db83bdb215f0c665a089de186183a3de909439568041f72aa979ea496322e48eecfa5b8973c0c86335edaef58b68b9fe950fc6cbe9545269d867d4822832920f71caea384a7c6c31398456f33b5b57d395ea555eac89a267a329353bead5d31191f634c0a7737a9388cb055698e46afa32b78c29e489de5caf473e55569dc433abb6c3a44b02f3ea4af1d0d1529be2e85faed020026d622e7f7520acdb8510dc5521a4585cdc19fb9e7e6aff1f850c030a5644ffef658d3990d6aeffab20aebc818bcae9b82a1428db81e878b1e99c7035f801c5dc98b65a2088a27e93633fac10517391b20a2f767e73459cbab17de378afaa6171bd900a109d600083e679aa470ad330475ee2ef41c0c9d2716008a8dce90b8efd9b08507e4fa1ac3d7c906ac7487d32d4c4ddcda67900b166ca5e3669fb21d550fb8935ccdfedaf31e63ee25700e98577a02defd27247c524259bb317856bfb40cce82c5053288dcef017dc0e136f8c926756d38648c185d4d4423da7b5925d3fc38538d90964d35e9c76760f3589c6a63bfaba9a73d90e1d77efb5fa09b8f397d33954e59dd4532aed783be7f5922200ac52b6e598c9e4ea69277ab8e91ce3bea04947aa74b0113cb54a88cd96eb248cab956099af4c2ca7c3f8007b43be5b0e67b029baef96221554808735d0eecb8badf15a3456d1aae4e9ccf4151e7cc24fd6db7347f3cdebcaa820d4fdf7273399b02c5009678089d1cbd19e55bcb2203accd965c23ef1254c776466b458215ab53acc3c47438c3815944636b7a312240423b632e56fa635719106a891c41634102c7058f7554ab74e394012a5a1f69726cdf4499153f2b2828c34015a110d6ada0e37b77d0113b5cb830bb61796bfd2efc94c49b870eb450120f4e46fafc8f0236b30e8409a5dfc6c16880b719f8a37d66c9135b5246d1e891cd3559712d8cb35f550d1c76442ebe0b20babdd3ab9b8cc6380",
+ "bbsProof": "8621d7b34d4e0a2eae538d4a24b75b353518b9b2b4fd8e1d1131c33bb7b0708de00592ea8e959f05d278dc1ae449f68f87651657392d7d92cdfc23c967f4bd7ccb5d7e51201730aacb8ea15fc3667ee9ffad64e87e840cf9af5630b8f895b9cf8298dbdabdcf83b86038a152f668c572ec0ac2a5671a60e9ff55f01a6e937d0304cc525ac0386d500c17a52997c247ad23e0c5dfa1987e33fb14c5a44edcce4d7060fb9bdefc60e18e1328ad1824572741edb84314c3dc446b22e9891c13d200f240ec32859d96a63dc4b962a45160851bc7dfb2b5ab3c8e469cbfa2370e04b022221d30bffed0a759bde1c2d56363b543b6faa59f7dfeee8eaea1db0e73c0932a77ce39bc3b1f8008af4a8c20a630e7716e9fbe5636ae1ce30f6c1373b0cec62d803532a8101f633d7260fdba6e55ba36956cf3bbd9aae52193a108b4012b12e67d7a51498e44b10430aadc3857eef73e7bfa34b0aebd511823dae91cf29b68c618a7b3b7b804e97d599a92efd895975309e19edd932474534f3a447cf9c4d3cc228559ff70c17d2ee3544c9ba5051c43feedc9a02acd185a339f0307fb80cf209955368f60a0fd18d55efb249f22a805249bc6ec8cba9be2b4237e8866460cc4d063f16e0cb2fe82ad9b229d565d3c472c5e574fec5867ad90ed41c8a87e4e59f513bb937309f6135923950f119fcf6f7e682ea2917120f6830f38ff3bad1057908555d5cb884f2a4775e22cb311ee67355fe474e93a26129995c03ec4f76b4e4d191391a5e03f49e72f72971b35d2164f30717d7ce906d822bd7c993eecdbcf4ecfd0b0edb1f0dbf73de2a1cc7d0c34a5b2cff4dee896ce12c9a1d4b4f48f7a50918685c7007854d98945dc6563515377cc50fc2e47ac23a1bda1f9fcacdd4fa5519edc27250640d93a7358a48c6b733235c6ef4683e4a78f5b3da71be9cdaf153a26290becc72578b414a2a5d3c33c01bf7026a06dd7c5cedb9aa7b661507718631f84b47ee3a78331ef9a9abccf389a06521a598ffba6aff68cd31a982a67a11f2dd3cefdf5a3447688ddb24e97686373ab5efab6438586022f0cc7844355057e2f7bdb9fee7ad1661635a8056401df5b48b9958d92874c8d44119479d69d16ebb82ec741e8ffe1175e1bf7732038fe02a2063f83e0e11a77ebd37e146a0b59b39adc653255acfe19f5a5fc21db139652cb085d7c49ebe6bee66f3e9c9a888bb0679bf570e862c3cb68867cf401",
"labelMap": [
[
"c14n0",
@@ -24,11 +24,11 @@
9
],
"adjSelectedIndexes": [
- 2,
- 3,
+ 0,
+ 1,
+ 5,
7,
- 9,
- 12,
- 18
+ 10,
+ 16
]
}
\ No newline at end of file
diff --git a/TestVectors/PseudoHiddenPid/addRawBaseSignatureInfo.json b/TestVectors/PseudoHiddenPid/addRawBaseSignatureInfo.json
index ae9c33c..11e1fde 100644
--- a/TestVectors/PseudoHiddenPid/addRawBaseSignatureInfo.json
+++ b/TestVectors/PseudoHiddenPid/addRawBaseSignatureInfo.json
@@ -1,5 +1,5 @@
{
- "bbsSignature": "a812c14c13d7402778461edea0e1c88112ebf92f755cba06a2bd2bb6c3b43fb9057eabf7d2e133d7a184de811b8ca9230ee8810602e5590bdd3ce1da55d10abd84078a639e5adb3440d090254001b8e8",
+ "bbsSignature": "98a32e0ba7364f391a76e440b314950ca0c37ffb27aa88457cba258ff573def29899dff271c6e79d1732c3896fa1de1351a0fb8361435194101926c6d0b56be828af019d2e8317c1c866b9dfb6478862",
"bbsHeader": "3a5bbf25d34d90b18c35cd2357be6a6f42301e94fc9e52f77e93b773c5614bdf8eea112c04d89e133880f96766ebae73693f75f1bbcbbaa473dc06254bdec4fb",
"publicKey": "a4ef1afa3da575496f122b9b78b8c24761531a8a093206ae7c45b80759c168ba4f7a260f9c3367b6c019b4677841104b10665edbe70ba3ebe7d9cfbffbf71eb016f70abfbb163317f372697dc63efd21fc55764f63926a8f02eaea325a2a888f",
"hmacKey": "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
diff --git a/TestVectors/PseudoHiddenPid/addSignedSDBase.json b/TestVectors/PseudoHiddenPid/addSignedSDBase.json
index 20ca3ee..3282c1e 100644
--- a/TestVectors/PseudoHiddenPid/addSignedSDBase.json
+++ b/TestVectors/PseudoHiddenPid/addSignedSDBase.json
@@ -68,6 +68,6 @@
"created": "2023-08-15T23:36:38Z",
"verificationMethod": "did:key:zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ#zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ",
"proofPurpose": "assertionMethod",
- "proofValue": "u2V0IhlhQqBLBTBPXQCd4Rh7eoOHIgRLr-S91XLoGor0rtsO0P7kFfqv30uEz16GE3oEbjKkjDuiBBgLlWQvdPOHaVdEKvYQHimOeWts0QNCQJUABuOhYQDpbvyXTTZCxjDXNI1e-am9CMB6U_J5S936Tt3PFYUvfjuoRLATYnhM4gPlnZuuuc2k_dfG7y7qkc9wGJUvexPtYYKTvGvo9pXVJbxIrm3i4wkdhUxqKCTIGrnxFuAdZwWi6T3omD5wzZ7bAGbRneEEQSxBmXtvnC6Pr59nPv_v3HrAW9wq_uxYzF_NyaX3GPv0h_FV2T2OSao8C6uoyWiqIj1ggABEiM0RVZneImaq7zN3u_wARIjNEVWZ3iJmqu8zd7v-CZy9pc3N1ZXJvL2V4cGlyYXRpb25EYXRlwlggFgYYECDYAlltrMK3XIHpBCTzDn53cj3Hh3sCPLhh2S0"
+ "proofValue": "u2V0IhlhQmKMuC6c2TzkaduRAsxSVDKDDf_snqohFfLolj_Vz3vKYmd_yccbnnRcyw4lvod4TUaD7g2FDUZQQGSbG0LVr6CivAZ0ugxfByGa537ZHiGJYQDpbvyXTTZCxjDXNI1e-am9CMB6U_J5S936Tt3PFYUvfjuoRLATYnhM4gPlnZuuuc2k_dfG7y7qkc9wGJUvexPtYYKTvGvo9pXVJbxIrm3i4wkdhUxqKCTIGrnxFuAdZwWi6T3omD5wzZ7bAGbRneEEQSxBmXtvnC6Pr59nPv_v3HrAW9wq_uxYzF_NyaX3GPv0h_FV2T2OSao8C6uoyWiqIj1ggABEiM0RVZneImaq7zN3u_wARIjNEVWZ3iJmqu8zd7v-CZy9pc3N1ZXJvL2V4cGlyYXRpb25EYXRlwlggFgYYECDYAlltrMK3XIHpBCTzDn53cj3Hh3sCPLhh2S0"
}
}
\ No newline at end of file
diff --git a/TestVectors/PseudoHiddenPid/commitmentInfo.json b/TestVectors/PseudoHiddenPid/commitmentInfo.json
index 271f500..284cf24 100644
--- a/TestVectors/PseudoHiddenPid/commitmentInfo.json
+++ b/TestVectors/PseudoHiddenPid/commitmentInfo.json
@@ -1,4 +1,4 @@
{
- "secretProverBlind": "411d47e55b97a12bd31b0add394dc2333c91ee57ef7a63fa7e30e8038f270b84",
- "commitmentWithProof": "b5042fe80b2e07de4a489ad9288749b6dae3e203df856ae5376f09f714d4b6890f8acfd5648a779be9f0848bc13479504feea135c75b35025468edd51e792f338b470842fee4eb9d29ea3a673b52a8cc01e2640850a4a2f00508083239ed44a865543ae27cd940073fda0415c1d5659e4a591a92763e33bd4d5f613d0ef7e6976c2dd41f285b447ae9f615ffba0ca9d6"
+ "secretProverBlind": "38296aa447032739a5bd002c1a93acbd2c2e998b76b099a579f669df037119ad",
+ "commitmentWithProof": "8cda82fbc8691463c1cd5c96d2bd259ee9510ad572669eb5edc71090abf14a5f819c34fcb356314af65b43c530dc3ef7179e8a07334088e1b612f84a170232febca7a8b54f4ae41fdf79fa1f02d581370836dec7ce0afa0f5c63c37aeb0e280711189a0ab37184d84c11117508f54cc240c632fd7178ace50fa4ec29d18910014f9004de1a819e1d4afe39006311c2d5"
}
\ No newline at end of file
diff --git a/TestVectors/PseudoHiddenPid/derivedAllGroupData.json b/TestVectors/PseudoHiddenPid/derivedAllGroupData.json
index b38ff76..b631803 100644
--- a/TestVectors/PseudoHiddenPid/derivedAllGroupData.json
+++ b/TestVectors/PseudoHiddenPid/derivedAllGroupData.json
@@ -135,10 +135,10 @@
" .\n",
" \"Utopia Department of Motor Vehicles\" .\n",
" .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 .\n"
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_2 .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_2 .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_2 \"2028-11-15T12:00:00-06:00\"^^ .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_2 .\n"
]
},
"selective": {
@@ -273,14 +273,14 @@
]
},
"deskolemizedNQuads": [
- "_:_de78141e-f601-493a-b660-68722421c467_0 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_0 \"UA\" .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_1 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_1 _:_de78141e-f601-493a-b660-68722421c467_0 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 _:_de78141e-f601-493a-b660-68722421c467_1 .\n"
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_0 .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_0 \"UA\" .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_1 .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_1 _:_1547cd58-cfa4-40b0-887b-ca74422a091b_0 .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_2 .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_2 .\n",
+ "_:_1547cd58-cfa4-40b0-887b-ca74422a091b_2 _:_1547cd58-cfa4-40b0-887b-ca74422a091b_1 .\n"
]
},
"combined": {
@@ -418,16 +418,16 @@
" .\n",
" \"Utopia Department of Motor Vehicles\" .\n",
" .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_0 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_0 \"[{\\\"codes\\\":[{\\\"code\\\":\\\"D\\\"}],\\\"expiry_date\\\":\\\"2027-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"D\\\"},{\\\"codes\\\":[{\\\"code\\\":\\\"C\\\"}],\\\"expiry_date\\\":\\\"2017-01-01\\\",\\\"issue_date\\\":\\\"2019-01-01\\\",\\\"vehicle_category_code\\\":\\\"C\\\"}]\"^^ .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_0 \"UA\" .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_1 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_1 _:_de78141e-f601-493a-b660-68722421c467_0 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2 .\n",
- "_:_de78141e-f601-493a-b660-68722421c467_2