From 5b6cdfe2d2ef0792f742e2f571754f449dd6e051 Mon Sep 17 00:00:00 2001 From: Dragan Lambic Date: Thu, 29 May 2025 17:33:34 +0200 Subject: [PATCH] Update Xor5 template in utils.circom Xor5 template is optimized. Instead of 4 constraints per bit, only 3 constraints are needed. --- circuits/vocdoni-keccak/utils.circom | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/circuits/vocdoni-keccak/utils.circom b/circuits/vocdoni-keccak/utils.circom index 29a21f2..d046acc 100644 --- a/circuits/vocdoni-keccak/utils.circom +++ b/circuits/vocdoni-keccak/utils.circom @@ -1,7 +1,7 @@ pragma circom 2.0.2; include "../../node_modules/circomlib/circuits/gates.circom"; -include "../../node_modules/circomlib/circuits/sha256/xor3.circom"; +include "../../node_modules/circomlib/circuits/bitify.circom"; include "../../node_modules/circomlib/circuits/sha256/shift.circom"; // contains ShiftRight template Xor5(n) { @@ -13,24 +13,11 @@ template Xor5(n) { signal output out[n]; var i; - component xor3 = Xor3(n); + component xor5[n]; for (i=0; i