Closed tarakby closed 1 year ago
You're right, this is a bug in the simultaneous decompression code. Can you please check if 44fa77621111baa1bb2cb20f9948f34a7fdba19a fixes it for you as well?
In that case, I will propagate the fix the other curve choices.
Thank you for the update! I appreciate the quick reply and fix! I confirm the issue is fixed 🙏🏼
Hi, There seems to be an edge-case computation of the optimal ate pairing on BLS12-381 (at least) that tries to compute the modular inverse of zero. Although the
G_T
result seems correct, the inversion raises the errorERR_NO_VALID
and causescore_get()->code = RLC_ERR
.This can happen when attempting to compute
e(p, q)*e(p, -q) = 1
ore(p, q)*e(-p, q) = 1
for any randomp
inG_1
,q
inG_2
. To reproduce:The outcome includes:
In the example above, The
G_1
points are opposite andG_2
points are equal, but the errors also happen in the case whereG_1
points are equal butG_2
points are opposite.Thanks!