chore: use num2bits instead of isNBits (#148)

This commit is contained in:
Nesopie
2025-02-20 00:02:32 +05:30
committed by GitHub
parent 22ff8117a1
commit 99168a45fe
3 changed files with 5 additions and 29 deletions

View File

@@ -2,7 +2,6 @@ pragma circom 2.1.9;
include "../../../passport/signatureAlgorithm.circom";
include "../../bigInt/bigInt.circom";
include "../../utils/isNBits.circom";
include "ecdsa.circom";
/// @title EcdsaVerifier
@@ -64,10 +63,10 @@ template EcdsaVerifier(signatureAlgorithm, n, k) {
component rangeCheck[4 * k];
for (var i = 0; i < k; i++) {
rangeCheck[4 * i + 0] = isNBits(n);
rangeCheck[4 * i + 1] = isNBits(n);
rangeCheck[4 * i + 2] = isNBits(n);
rangeCheck[4 * i + 3] = isNBits(n);
rangeCheck[4 * i + 0] = Num2Bits(n);
rangeCheck[4 * i + 1] = Num2Bits(n);
rangeCheck[4 * i + 2] = Num2Bits(n);
rangeCheck[4 * i + 3] = Num2Bits(n);
rangeCheck[4 * i + 0].in <== signature_r[i];
rangeCheck[4 * i + 1].in <== signature_s[i];

View File

@@ -1,23 +0,0 @@
pragma circom 2.1.6;
include "circomlib/circuits/bitify.circom";
/// @title isNBits
/// @notice Checks whether an input number can be represented using at most `n` bits.
/// @param n The maximum number of bits allowed for the input value.
/// @input in The integer input to be checked.
template isNBits(n) {
signal input in;
component n2b = Num2Bits(254);
n2b.in <== in;
signal check[254 - n];
check[0] <== n2b.out[n];
for (var i = n + 1; i < 254; i++) {
check[i - n] <== check[i - n - 1] + n2b.out[i];
}
check[254 - n - 1] === 0;
}

View File

@@ -191,7 +191,7 @@ describe('ecdsa', () => {
await circuit.checkConstraints(witness);
throw new Error('Test failed: Invalid signature was verified.');
} catch (err) {
if (!(err as Error).message.includes('isNBits')) {
if (!(err as Error).message.includes('Num2Bits')) {
throw err;
}
}