mirror of
https://github.com/arnaucube/snarkjs.git
synced 2026-02-28 14:06:44 +01:00
Force 1 in the verifier
This commit is contained in:
@@ -25,7 +25,8 @@ module.exports = function genProof(vk_proof, witness) {
|
||||
proof.pi_h = G1.zero();
|
||||
|
||||
|
||||
for (let s= vk_proof.nPublic; s< vk_proof.nSignals; s++) {
|
||||
// Skip public entries and the "1" signal that are forced by the verifier
|
||||
for (let s= vk_proof.nPublic+1; s< vk_proof.nSignals; s++) {
|
||||
|
||||
// pi_a = pi_a + A[s] * witness[s];
|
||||
proof.pi_a = G1.add( proof.pi_a, G1.mulEscalar( vk_proof.A[s], witness[s]));
|
||||
|
||||
@@ -10,12 +10,12 @@ const pairing = require("./pairing");
|
||||
|
||||
module.exports = function isValid(vk_verifier, proof, publicSignals) {
|
||||
|
||||
let full_pi_a = proof.pi_a;
|
||||
for (let s= 0; s< vk_verifier.nPublic; s++) {
|
||||
|
||||
full_pi_a = G1.add( full_pi_a, G1.mulEscalar( vk_verifier.A[s], publicSignals[s]));
|
||||
}
|
||||
|
||||
let full_pi_a = G1.add(proof.pi_a, vk_verifier.A[vk_verifier.nPublic]);
|
||||
|
||||
if (! Gt.equal(
|
||||
pairing( proof.pi_a , vk_verifier.vk_a ),
|
||||
pairing( proof.pi_ap , G2.g )))
|
||||
|
||||
Reference in New Issue
Block a user