Skip to content

Commit

Permalink
Use var name disclosed_committed_indexes consistently.
Browse files Browse the repository at this point in the history
  • Loading branch information
dlongley committed Feb 12, 2025
1 parent 90b7b9f commit e419bcb
Show file tree
Hide file tree
Showing 8 changed files with 61 additions and 66 deletions.
23 changes: 11 additions & 12 deletions lib/bbs/blind/interface.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*!
* Copyright (c) 2023-2024 Digital Bazaar, Inc. All rights reserved.
* Copyright (c) 2023-2025 Digital Bazaar, Inc. All rights reserved.
*/
import {assertArray, assertInstance, assertType} from '../../assert.js';
import {blind_B_calculate, prependBlindApiId} from './util.js';
Expand Down Expand Up @@ -98,7 +98,7 @@ export async function BlindProofGen({
header = new Uint8Array(),
ph = new Uint8Array(),
messages = [], disclosed_indexes = [],
committed_messages = [], disclosed_commitment_indexes = [],
committed_messages = [], disclosed_committed_indexes = [],
secret_prover_blind = 0n,
api_id, ciphersuite,
// for test suite only
Expand All @@ -111,8 +111,7 @@ export async function BlindProofGen({
assertArray(messages, 'messages');
assertArray(disclosed_indexes, 'disclosed_indexes');
assertArray(committed_messages, 'committed_messages');
// FIXME: rename to `disclosed_committed_indexes` for consistency
assertArray(disclosed_commitment_indexes, 'disclosed_commitment_indexes');
assertArray(disclosed_committed_indexes, 'disclosed_committed_indexes');
assertType('bigint', secret_prover_blind, 'secret_prover_blind');
if(api_id === undefined) {
api_id = createApiId(ciphersuite.ciphersuite_id, BLIND_API_ID);
Expand All @@ -126,8 +125,8 @@ export async function BlindProofGen({
2. M = length(committed_messages)
3. if length(disclosed_indexes) > L, return INVALID
4. for i in disclosed_indexes, if i < 0 or i >= L, return INVALID
5. if length(disclosed_commitment_indexes) > M, return INVALID
6. for j in disclosed_commitment_indexes,
5. if length(disclosed_committed_indexes) > M, return INVALID
6. for j in disclosed_committed_indexes,
if i < 0 or i >= M, return INVALID
*/
const L = messages.length;
Expand All @@ -140,12 +139,12 @@ export async function BlindProofGen({
if(disclosed_indexes.some(i => i < 0 || i >= L)) {
throw new Error(`Every disclosed index must be in the range [0, ${L}).`);
}
if(disclosed_commitment_indexes.length > M) {
if(disclosed_committed_indexes.length > M) {
throw new Error(
`"disclosed_indexes.length" (${disclosed_commitment_indexes.length}) ` +
`"disclosed_indexes.length" (${disclosed_committed_indexes.length}) ` +
`must be less than or equal to "committed_messages.length" ${M}).`);
}
if(disclosed_commitment_indexes.some(i => i < 0 || i >= M)) {
if(disclosed_committed_indexes.some(i => i < 0 || i >= M)) {
throw new Error(
`Every disclosed commitment index must in the range [0, ${M}).`);
}
Expand All @@ -163,7 +162,7 @@ export async function BlindProofGen({
"BLIND_" || api_id)
7. indexes = ()
8. indexes.append(disclosed_indexes)
9. for j in disclosed_commitment_indexes: indexes.append(j + L + 1)
9. for j in disclosed_committed_indexes: indexes.append(j + L + 1)
10. proof = BBS.CoreProofGen(
PK, signature, generators.append(blind_generators),
header, ph, message_scalars.append(committed_message_scalars),
Expand All @@ -183,7 +182,7 @@ export async function BlindProofGen({
ciphersuite
});
const indexes = disclosed_indexes.slice();
for(const j of disclosed_commitment_indexes) {
for(const j of disclosed_committed_indexes) {
indexes.push(j + L + 1);
}
return CoreProofGen({
Expand Down Expand Up @@ -262,7 +261,7 @@ export async function BlindProofVerify({
disclosed_committed_message_scalars)
6. indexes = ()
7. indexes.append(disclosed_indexes)
8. for j in disclosed_commitment_indexes: indexes.append(j + L + 1)
8. for j in disclosed_committed_indexes: indexes.append(j + L + 1)
9. result = BBS.CoreProofVerify(
PK, proof, generators.append(blind_generators),
header, ph, message_scalars, indexes, api_id)
Expand Down
31 changes: 15 additions & 16 deletions lib/bbs/pseudonym/interface.js
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,7 @@ export async function ProofGenWithPseudonym({
// the two extra "with pseudonym" params
nym_secret, context_id,
messages = [], disclosed_indexes = [],
// rename to `disclosed_committed_indexes` for consistency
committed_messages = [], disclosed_commitment_indexes = [],
committed_messages = [], disclosed_committed_indexes = [],
secret_prover_blind = 0n,
api_id, ciphersuite,
// for test suite only
Expand All @@ -238,7 +237,7 @@ export async function ProofGenWithPseudonym({
assertArray(messages, 'messages');
assertArray(disclosed_indexes, 'disclosed_indexes');
assertArray(committed_messages, 'committed_messages');
assertArray(disclosed_commitment_indexes, 'disclosed_commitment_indexes');
assertArray(disclosed_committed_indexes, 'disclosed_committed_indexes');
assertType('bigint', secret_prover_blind, 'secret_prover_blind');
if(api_id === undefined) {
api_id = createApiId(ciphersuite.ciphersuite_id, PSEUDONYM_API_ID);
Expand All @@ -252,8 +251,8 @@ export async function ProofGenWithPseudonym({
2. M = length(committed_messages)
3. if length(disclosed_indexes) > L, return INVALID
4. for i in disclosed_indexes, if i < 0 or i >= L, return INVALID
5. if length(disclosed_commitment_indexes) > M, return INVALID
6. for j in disclosed_commitment_indexes, if i < 0 or i >= M, return INVALID
5. if length(disclosed_committed_indexes) > M, return INVALID
6. for j in disclosed_committed_indexes, if i < 0 or i >= M, return INVALID
*/
const L = messages.length;
Expand All @@ -266,12 +265,12 @@ export async function ProofGenWithPseudonym({
if(disclosed_indexes.some(i => i < 0 || i >= L)) {
throw new Error(`Every disclosed index must be in the range [0, ${L}).`);
}
if(disclosed_commitment_indexes.length > M) {
if(disclosed_committed_indexes.length > M) {
throw new Error(
`"disclosed_indexes.length" (${disclosed_commitment_indexes.length}) ` +
`"disclosed_indexes.length" (${disclosed_committed_indexes.length}) ` +
`must be less than or equal to "committed_messages.length" ${M}).`);
}
if(disclosed_commitment_indexes.some(i => i < 0 || i >= M)) {
if(disclosed_committed_indexes.some(i => i < 0 || i >= M)) {
throw new Error(
`Every disclosed commitment index must in the range [0, ${M}).`);
}
Expand All @@ -289,7 +288,7 @@ export async function ProofGenWithPseudonym({
"BLIND_" || api_id)
7. indexes = ()
8. indexes.append(disclosed_indexes)
9. for j in disclosed_commitment_indexes: indexes.append(j + L + 1)
9. for j in disclosed_committed_indexes: indexes.append(j + L + 1)
10. proof = BBS.CoreProofGen(
PK, signature, generators.append(blind_generators),
header, ph, message_scalars.append(committed_message_scalars),
Expand All @@ -310,7 +309,7 @@ export async function ProofGenWithPseudonym({
ciphersuite
});
const indexes = disclosed_indexes.slice();
for(const j of disclosed_commitment_indexes) {
for(const j of disclosed_committed_indexes) {
indexes.push(j + L + 1);
}
return CoreProofGenWithPseudonym({
Expand All @@ -335,7 +334,7 @@ export function ProofVerifyWithPseudonym({
disclosed_messages,
disclosed_committed_messages,
disclosed_indexes,
disclosed_commitment_indexes,
disclosed_committed_indexes,
api_id, ciphersuite
} = {}) {
/* Note: The only difference between `ProofVerifyWithPseudonym` and
Expand All @@ -354,7 +353,7 @@ export function ProofVerifyWithPseudonym({
assertArray(disclosed_messages, 'disclosed_messages');
assertArray(disclosed_committed_messages, 'disclosed_committed_messages');
assertArray(disclosed_indexes, 'disclosed_indexes');
assertArray(disclosed_commitment_indexes, 'disclosed_commitment_indexes');
assertArray(disclosed_committed_indexes, 'disclosed_committed_indexes');
if(api_id === undefined) {
api_id = createApiId(ciphersuite.ciphersuite_id, PSEUDONYM_API_ID);
}
Expand All @@ -370,7 +369,7 @@ export function ProofVerifyWithPseudonym({
3. U = floor((length(proof) - proof_len_floor) / octet_scalar_length)
// FIX to spec: to spec add `- 1` for total number of messages
4. total_no_messages = length(disclosed_indexes) +
length(disclosed_commitment_indexes) + U - 1
length(disclosed_committed_indexes) + U - 1
5. M = total_no_messages - L
*/
Expand All @@ -384,7 +383,7 @@ export function ProofVerifyWithPseudonym({
}
const U = Math.floor(remainder / octet_scalar_length);
const total_no_messages = disclosed_indexes.length +
disclosed_commitment_indexes.length + U - 1;
disclosed_committed_indexes.length + U - 1;
const M = total_no_messages - L;
pseudonym = ciphersuite.octets_to_point_E1(pseudonym);

Expand All @@ -400,7 +399,7 @@ export function ProofVerifyWithPseudonym({
disclosed_committed_message_scalars)
6. indexes = ()
7. indexes.append(disclosed_indexes)
8. for j in disclosed_commitment_indexes: indexes.append(j + L + 1)
8. for j in disclosed_committed_indexes: indexes.append(j + L + 1)
9. result = CoreProofVerifyWithPseudonym(
PK, proof, pseudonym, generators.append(blind_generators),
header, ph, message_scalars, indexes, api_id)
Expand All @@ -422,7 +421,7 @@ export function ProofVerifyWithPseudonym({
const message_scalars = disclosed_message_scalars
.concat(disclosed_committed_message_scalars);
const indexes = disclosed_indexes.slice();
for(const j of disclosed_commitment_indexes) {
for(const j of disclosed_committed_indexes) {
indexes.push(j + L + 1);
}
return CoreProofVerifyWithPseudonym({
Expand Down
4 changes: 2 additions & 2 deletions test/blind.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ async function BlindVerifyAndBlindProofGen({
header = new Uint8Array(),
ph = new Uint8Array(),
messages = [], disclosed_indexes,
committed_messages, disclosed_commitment_indexes,
committed_messages, disclosed_committed_indexes,
secret_prover_blind,
ciphersuite,
proof_mocked_random_scalars_options
Expand All @@ -85,7 +85,7 @@ async function BlindVerifyAndBlindProofGen({
PK, signature,
header, ph,
messages, disclosed_indexes,
committed_messages, disclosed_commitment_indexes,
committed_messages, disclosed_committed_indexes,
secret_prover_blind,
ciphersuite,
mocked_random_scalars_options: proof_mocked_random_scalars_options
Expand Down
16 changes: 8 additions & 8 deletions test/fixtures/blind-sha256.js
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 1, 2, 3, 4],
disclosed_committed_indexes: [0, 1, 2, 3, 4],
secret_prover_blind: h2s('4fba5396baa36b2fde81d46a9b9ee89c425dbc5e1ffd65c20249afb4abd37589'),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand All @@ -275,7 +275,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 2, 4],
disclosed_committed_indexes: [0, 2, 4],
secret_prover_blind: h2s('4fba5396baa36b2fde81d46a9b9ee89c425dbc5e1ffd65c20249afb4abd37589'),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand All @@ -294,7 +294,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 1, 2, 3, 4],
disclosed_committed_indexes: [0, 1, 2, 3, 4],
secret_prover_blind: h2s('4fba5396baa36b2fde81d46a9b9ee89c425dbc5e1ffd65c20249afb4abd37589'),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand All @@ -313,7 +313,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 2, 4],
disclosed_committed_indexes: [0, 2, 4],
secret_prover_blind: h2s('4fba5396baa36b2fde81d46a9b9ee89c425dbc5e1ffd65c20249afb4abd37589'),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand All @@ -332,7 +332,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [],
disclosed_committed_indexes: [],
secret_prover_blind: h2s('4fba5396baa36b2fde81d46a9b9ee89c425dbc5e1ffd65c20249afb4abd37589'),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand All @@ -351,7 +351,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 2, 4],
disclosed_committed_indexes: [0, 2, 4],
secret_prover_blind: h2s('4fba5396baa36b2fde81d46a9b9ee89c425dbc5e1ffd65c20249afb4abd37589'),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand All @@ -370,7 +370,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [],
disclosed_committed_indexes: [],
secret_prover_blind: h2s('4fba5396baa36b2fde81d46a9b9ee89c425dbc5e1ffd65c20249afb4abd37589'),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand All @@ -389,7 +389,7 @@ BLS12381_SHA256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: [],
disclosed_commitment_indexes: [],
disclosed_committed_indexes: [],
secret_prover_blind: h2s(''),
proof_mocked_random_scalars_options: {
...BLS12381_SHA256.proof_mocked_random_scalars_options,
Expand Down
16 changes: 8 additions & 8 deletions test/fixtures/blind-shake256.js
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 1, 2, 3, 4],
disclosed_committed_indexes: [0, 1, 2, 3, 4],
secret_prover_blind: h2s('41fb2f74c30256398c927a262602b5ac3ebc6f84d9169476f8fcb1525c93b649'),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand All @@ -249,7 +249,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 2, 4],
disclosed_committed_indexes: [0, 2, 4],
secret_prover_blind: h2s('41fb2f74c30256398c927a262602b5ac3ebc6f84d9169476f8fcb1525c93b649'),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand All @@ -268,7 +268,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 1, 2, 3, 4],
disclosed_committed_indexes: [0, 1, 2, 3, 4],
secret_prover_blind: h2s('41fb2f74c30256398c927a262602b5ac3ebc6f84d9169476f8fcb1525c93b649'),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand All @@ -287,7 +287,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 2, 4],
disclosed_committed_indexes: [0, 2, 4],
secret_prover_blind: h2s('41fb2f74c30256398c927a262602b5ac3ebc6f84d9169476f8fcb1525c93b649'),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand All @@ -306,7 +306,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [],
disclosed_committed_indexes: [],
secret_prover_blind: h2s('41fb2f74c30256398c927a262602b5ac3ebc6f84d9169476f8fcb1525c93b649'),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand All @@ -325,7 +325,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [0, 2, 4],
disclosed_committed_indexes: [0, 2, 4],
secret_prover_blind: h2s('41fb2f74c30256398c927a262602b5ac3ebc6f84d9169476f8fcb1525c93b649'),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand All @@ -344,7 +344,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [],
committed_messages: COMMITTED_MESSAGES.slice(),
disclosed_commitment_indexes: [],
disclosed_committed_indexes: [],
secret_prover_blind: h2s('41fb2f74c30256398c927a262602b5ac3ebc6f84d9169476f8fcb1525c93b649'),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand All @@ -363,7 +363,7 @@ BLS12381_SHAKE256.fixtures = [{
messages: MESSAGES.slice(),
disclosed_indexes: [0, 2, 4, 6, 8],
committed_messages: [],
disclosed_commitment_indexes: [],
disclosed_committed_indexes: [],
secret_prover_blind: h2s(''),
proof_mocked_random_scalars_options: {
...BLS12381_SHAKE256.proof_mocked_random_scalars_options,
Expand Down
Loading

0 comments on commit e419bcb

Please sign in to comment.