Skip to content

Commit

Permalink
Now uses SHA-256 throughout. BaseProof additions, Presentation header…
Browse files Browse the repository at this point in the history
… pass through, and explicit seed.
  • Loading branch information
Wind4Greg committed Jan 17, 2024
1 parent 678c978 commit 501fe1f
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 16 deletions.
4 changes: 4 additions & 0 deletions TestVectors/BBSDeriveMaterial.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"presentationHeaderHex": "113377aa",
"pseudoRandSeedHex": "332e313431353932363533353839373933323338343632363433333833323739"
}
4 changes: 2 additions & 2 deletions TestVectors/addHashData.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"proofHash": "5aefeb3eeda51eab021b07424ad80e945af8f2ba73d6a361f80b9c158ae3bfe8",
"mandatoryHash": "e8bf46bff3db96eabc3a9410795dc94bc3537165e082f4a3e58841982fd7d4b3"
"proofHash": "3a5bbf25d34d90b18c35cd2357be6a6f42301e94fc9e52f77e93b773c5614bdf",
"mandatoryHash": "a8e405c91816bb1977db25fc7f8177acfaccb79f821ed805a455e6855f334b5e"
}
2 changes: 1 addition & 1 deletion TestVectors/addRawBaseSignatureInfo.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"bbsSignature": "a21da04f66c9bb953267eb22ab9783a895cfbff902b147e559d9a2775f513f4abe4f24016dc5afd372e36a25df1843530a4df48780906097c09fe5c3e6f9322f9cba4322ddb2c49be825717d962b863c",
"bbsSignature": "8a9f8765418f41dd831a02654c4e60fc6c0724b0d2b259c1c0505dce87972181d5b004b7a13fb8d7320ca29cee61d07e03decd11c7380392c0d3ab25da23707c068a87b14429ed9f858e2b36c48a7f0e",
"mandatoryPointers": [
"/credentialSubject/sailNumber",
"/credentialSubject/sails/1",
Expand Down
2 changes: 1 addition & 1 deletion TestVectors/addSignedSDBase.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@
"created": "2023-08-15T23:36:38Z",
"verificationMethod": "did:key:zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ#zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ",
"proofPurpose": "assertionMethod",
"proofValue": "u2V0Cg9hAWFCiHaBPZsm7lTJn6yKrl4Oolc-_-QKxR-VZ2aJ3X1E_Sr5PJAFtxa_TcuNqJd8YQ1MKTfSHgJBgl8Cf5cPm-TIvnLpDIt2yxJvoJXF9liuGPNhAWCAAESIzRFVmd4iZqrvM3e7_ABEiM0RVZneImaq7zN3u_4R4HS9jcmVkZW50aWFsU3ViamVjdC9zYWlsTnVtYmVyeBovY3JlZGVudGlhbFN1YmplY3Qvc2FpbHMvMXggL2NyZWRlbnRpYWxTdWJqZWN0L2JvYXJkcy8wL3llYXJ4Gi9jcmVkZW50aWFsU3ViamVjdC9zYWlscy8y"
"proofValue": "u2V0ChdhAWFCKn4dlQY9B3YMaAmVMTmD8bAcksNKyWcHAUF3Oh5chgdWwBLehP7jXMgyinO5h0H4D3s0RxzgDksDTqyXaI3B8BoqHsUQp7Z-Fjis2xIp_DthAWEA6W78l002QsYw1zSNXvmpvQjAelPyeUvd-k7dzxWFL36jkBckYFrsZd9sl_H-Bd6z6zLefgh7YBaRV5oVfM0te2EBYYKTvGvo9pXVJbxIrm3i4wkdhUxqKCTIGrnxFuAdZwWi6T3omD5wzZ7bAGbRneEEQSxBmXtvnC6Pr59nPv_v3HrAW9wq_uxYzF_NyaX3GPv0h_FV2T2OSao8C6uoyWiqIj9hAWCAAESIzRFVmd4iZqrvM3e7_ABEiM0RVZneImaq7zN3u_4R4HS9jcmVkZW50aWFsU3ViamVjdC9zYWlsTnVtYmVyeBovY3JlZGVudGlhbFN1YmplY3Qvc2FpbHMvMXggL2NyZWRlbnRpYWxTdWJqZWN0L2JvYXJkcy8wL3llYXJ4Gi9jcmVkZW50aWFsU3ViamVjdC9zYWlscy8y"
}
}
7 changes: 3 additions & 4 deletions TestVectors/derivedDisclosureData.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"bbsProof":"99790f041be50b8318519ffe9ea59beb86ac50774f395dbf1fa1c9215cdb4dea6c02db529dbc239f5aea5cf2542a2d6f998cb0eab9a2cc45e6f1ef83370731ccbf89631818ebaaf31446db0ad30bac479fea1cd1d92c71e84864d180619de5c0b718350053087d25abaf9c25f102afe373e51dc50fff0d5a19f67cfa64abd09764bdfb16ce602173e28b73eef63c470750230b82cdfcf443022d579c8659ffa5644f15988aefe0e350addf334f63234b057beabd0d0756560af6f54fd5abc4e9cbf69238fa752338b53d0dc5bff69c215020bb12fa72ef7d3e90e2e12a41acbfda41e772e9e0430b2cedeb37c726894c586bfe0a073c58bb315501213abd28358410a9432f5e538620923f08c28da1ab076057eec88261cfa57704bd1cc7a3f5ede03e62057002c2a7079b76a62169191be47047a893652e3826c803a2457ce26dd10ad7907ddc27f1087fde9c406c87093bfac00ac8dc7ef015292a8803cea74b00a9cdda74d73890b8fe4d672714dd02c81492996e82bf606bca8c169f4b835d6f10bd9dc4080ea948324d4b35e2db192233967bd96b2aba98b99cdcf62f97fa60023dd6221d3ad8ee42fc28c69ad42e31cd8929da826302d575d27314867aeef2d590b2bc421dd940749b1465ad293d2dd396d92d469c89927119920ebf3ac0285f6db37e24622437746491d497c62f29e9691806f77407606dba576b93bd90b5b9c1a95a6016881a10afba3a69c1",
"labelMap":{"dataType":"Map",
"value":[["c14n0","b2"],["c14n1","b4"],["c14n2","b7"],["c14n3","b6"],["c14n4","b5"],["c14n5","b0"]]
},
"bbsProof":"a5f75652b02119339f7db18d16837d001aad12980dd8ad83b131041169216fc2db7839b801cf4af8fc376644ba17a0df93a3682dd3a2125844074f77bc79dd405592912eaa584d58d5f0b0977f583cade19e359523b4f8a3f0a6ee4cbd4c57d392d27e8370b3965fd821ec91624749e62e021414742255af27d4eaa0735eccc1c6f1978e830e60fe19d33332a864391231e46bf23563c33f3842989c2c4cf4d12105614aacc7fe6fba5d60cbf69f909955a881c31ee0f0f05f3121da0eebc9ab7480d00227684dfcf8dee0097adbfc4b6a1dca71ab30cbe74e1f54407ccc13713d526b5f37f616be7fbef114f316a5b0173753860eff88c9cc683457e689d0eac55ae228660dd6bc5594e8b3fe9859bb4ae4385ee3016a4f073dfae5c4e63bd32755376bae95fd07059168581c9d583f13004d4b47031130208468c2b52404d61155813ee0953db44974de54c4985cbf2b8b9c33efd43752ebc33c8af6da1afc270c7ce826f19525bf689155be092b072343cb549570445149acf49d032848a26e3ce00611634a0d35af6e3e8f621bbf4eaf0b21fb9a4f5b2e4721c509f86489a7b53f22ee1c22e104b1addf5ab7d01d25ae2a795e90f7936b7249a3f10be6395c7cd4963ba24d42a3c54598c1eb144c558df6614d0d4f546fe32bf59a7bea8dcc2e484ebfa1c74b8dc3602e5b28ecf355de0c30b28a538329020c3a92d7dff8fbd44ff4499716a69bd5165390634600",
"labelMap":{"dataType":"Map","value":[["c14n0","b2"],["c14n1","b4"],["c14n2","b7"],["c14n3","b6"],
["c14n4","b5"],["c14n5","b0"]]},
"mandatoryIndexes":[0,1,2,5,6,7,8,9,10,11,13,14,15],
"adjSelectiveIndexes":[3,4,8,11,12,13]
}
8 changes: 4 additions & 4 deletions TestVectors/derivedGroupIndexes.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"combinedIndexes": [0, 1, 2, 6, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 26],
"mandatoryIndexes": [0, 1, 2, 8, 12, 13, 14, 15, 16, 17, 19, 20, 23 ],
"nonMandatoryIndexes": [3, 4, 5, 6, 7, 9, 10, 11, 18, 21, 22, 24, 25, 26],
"selectiveIndexes": [6, 7, 8, 12, 13, 17, 18, 24, 25, 26]
"combinedIndexes":[0,1,2,6,7,8,12,13,14,15,16,17,18,19,20,23,24,25,26],
"mandatoryIndexes":[0,1,2,8,12,13,14,15,16,17,19,20,23],
"nonMandatoryIndexes":[3,4,5,6,7,9,10,11,18,21,22,24,25,26],
"selectiveIndexes":[6,7,8,12,13,17,18,24,25,26]
}
2 changes: 1 addition & 1 deletion TestVectors/derivedRecoveredBaseData.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"bbsSignature": "a21da04f66c9bb953267eb22ab9783a895cfbff902b147e559d9a2775f513f4abe4f24016dc5afd372e36a25df1843530a4df48780906097c09fe5c3e6f9322f9cba4322ddb2c49be825717d962b863c",
"bbsSignature": "8a9f8765418f41dd831a02654c4e60fc6c0724b0d2b259c1c0505dce87972181d5b004b7a13fb8d7320ca29cee61d07e03decd11c7380392c0d3ab25da23707c068a87b14429ed9f858e2b36c48a7f0e",
"hmacKey": "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
"mandatoryPointers": [
"/credentialSubject/sailNumber",
Expand Down
2 changes: 1 addition & 1 deletion TestVectors/derivedRevealDocument.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@
"created": "2023-08-15T23:36:38Z",
"verificationMethod": "did:key:zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ#zUC7DerdEmfZ8f4pFajXgGwJoMkV1ofMTmEG5UoNvnWiPiLuGKNeqgRpLH2TV4Xe5mJ2cXV76gRN7LFQwapF1VFu6x2yrr5ci1mXqC1WNUrnHnLgvfZfMH7h6xP6qsf9EKRQrPQ",
"proofPurpose": "assertionMethod",
"proofValue": "u2V0DhNhAWQIQmXkPBBvlC4MYUZ_-nqWb64asUHdPOV2_H6HJIVzbTepsAttSnbwjn1rqXPJUKi1vmYyw6rmizEXm8e-DNwcxzL-JYxgY66rzFEbbCtMLrEef6hzR2Sxx6Ehk0YBhneXAtxg1AFMIfSWrr5wl8QKv43PlHcUP_w1aGfZ8-mSr0JdkvfsWzmAhc-KLc-72PEcHUCMLgs389EMCLVechln_pWRPFZiK7-DjUK3fM09jI0sFe-q9DQdWVgr29U_Vq8Tpy_aSOPp1Izi1PQ3Fv_acIVAguxL6cu99PpDi4SpBrL_aQedy6eBDCyzt6zfHJolMWGv-Cgc8WLsxVQEhOr0oNYQQqUMvXlOGIJI_CMKNoasHYFfuyIJhz6V3BL0cx6P17eA-YgVwAsKnB5t2piFpGRvkcEeok2UuOCbIA6JFfOJt0QrXkH3cJ_EIf96cQGyHCTv6wArI3H7wFSkqiAPOp0sAqc3adNc4kLj-TWcnFN0CyBSSmW6Cv2BryowWn0uDXW8QvZ3ECA6pSDJNSzXi2xkiM5Z72Wsqupi5nNz2L5f6YAI91iIdOtjuQvwoxprULjHNiSnagmMC1XXScxSGeu7y1ZCyvEId2UB0mxRlrSk9LdOW2S1GnImScRmSDr86wChfbbN-JGIkN3RkkdSXxi8p6WkYBvd0B2Btuldrk72QtbnBqVpgFogaEK-6OmnBpgACAQQCBwMGBAUFAI0AAQIFBgcICQoLDQ4PhgMECAsMDQ"
"proofValue": "u2V0DhdhAWQIQpfdWUrAhGTOffbGNFoN9ABqtEpgN2K2DsTEEEWkhb8LbeDm4Ac9K-Pw3ZkS6F6Dfk6NoLdOiElhEB093vHndQFWSkS6qWE1Y1fCwl39YPK3hnjWVI7T4o_Cm7ky9TFfTktJ-g3Czll_YIeyRYkdJ5i4CFBR0IlWvJ9TqoHNezMHG8ZeOgw5g_hnTMzKoZDkSMeRr8jVjwz84QpicLEz00SEFYUqsx_5vul1gy_afkJlVqIHDHuDw8F8xIdoO68mrdIDQAidoTfz43uAJetv8S2odynGrMMvnTh9UQHzME3E9UmtfN_YWvn--8RTzFqWwFzdThg7_iMnMaDRX5onQ6sVa4ihmDda8VZTos_6YWbtK5Dhe4wFqTwc9-uXE5jvTJ1U3a66V_QcFkWhYHJ1YPxMATUtHAxEwIIRowrUkBNYRVYE-4JU9tEl03lTEmFy_K4ucM-_UN1LrwzyK9toa_CcMfOgm8ZUlv2iRVb4JKwcjQ8tUlXBEUUms9J0DKEiibjzgBhFjSg01r24-j2Ibv06vCyH7mk9bLkchxQn4ZImntT8i7hwi4QSxrd9at9AdJa4qeV6Q95Nrckmj8QvmOVx81JY7ok1Co8VFmMHrFExVjfZhTQ1PVG_jK_Wae-qNzC5ITr-hx0uNw2AuWyjs81XeDDCyilODKQIMOpLX3_j71E_0SZcWppvVFlOQY0YApgACAQQCBwMGBAUFAI0AAQIFBgcICQoLDQ4PhgMECAsMDdhARBEzd6o"
}
}
13 changes: 11 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2186,8 +2186,8 @@ <h4>Base Proof</h4>
<pre class="example nohighlight" title="Canonical Base Proof Configuration" data-include="TestVectors/addProofConfigCanon.txt"
data-include-format="text"></pre>
<p>
In the hashing step, we compute the SHAKE-256 hash of the canonicalized proof
options to produce the `proofHash`, and we compute the SHAKE-256 hash of the
In the hashing step, we compute the SHA-256 hash of the canonicalized proof
options to produce the `proofHash`, and we compute the SHA-256 hash of the
join of all the mandatory N-Quads to produce the `mandatoryHash`. These are
shown below in hexadecimal format.
</p>
Expand All @@ -2211,6 +2211,15 @@ <h4>Base Proof</h4>
<section>
<h4>Derived Proof</h4>
<p>
In the creation of <q>BBS proofs</q> random numbers are utilized and an optional
`presentationHeader` can be passed in. To furnish a deterministic set of test
vectors we utilize the <q>Mocked Random Scalars</q> procedure from
[[CFRG-BBS-SIGNATURE]]. For the generation of the derived proof test vectors the
following `seed` and `presentationHeader` values in hex are given below.
</p>
<pre class="example nohighlight" title="seed and presentation header values" data-include="TestVectors/BBSDeriveMaterial.json"
data-include-format="text"></pre>
<p>
To create a derived proof, a holder starts with a signed document
containing a base proof. The base document we will use for these test vectors is
the final example from Section <a href="#base-proof"></a>, above. The first
Expand Down

0 comments on commit 501fe1f

Please sign in to comment.