From 1ef1b040d6895cf16441c6d75e651cb59284ac77 Mon Sep 17 00:00:00 2001 From: Balazs Komuves Date: Thu, 29 Feb 2024 13:30:17 +0100 Subject: [PATCH] temporary workaround for the G2 MSM bug (this one seems to work correctly, but it is much slower) --- groth16/bn128/msm.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/groth16/bn128/msm.nim b/groth16/bn128/msm.nim index 14a5459..fa32cbf 100644 --- a/groth16/bn128/msm.nim +++ b/groth16/bn128/msm.nim @@ -61,8 +61,9 @@ func msmConstantineG2*( coeffs: openArray[Fr] , points: openArray[G2] ): G2 = var r : ProjG2 - # [Fp,aff.G1] - msm.multiScalarMul_vartime( r, + # note: at the moment of writing this, `multiScalarMul_vartime` is buggy. + # however, the "reference" one is _much_ slower. + msm.multiScalarMul_reference_vartime( r, toOpenArray(bigcfs, 0, N-1), toOpenArray(points, 0, N-1) )