You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
where the coefficients are scalars in the field $α, β ∈ 𝔽ᵣ$ and $A, B ∈ 𝔾$ elliptic curve points. These appear both in the verification and public key recovery.
Currently they are represented as:
var
point1 {.noinit.}: EC_ShortW_Jac[Fp[Name], G1]
point2 {.noinit.}: EC_ShortW_Jac[Fp[Name], G1]
point1.scalarMul(α, A)
point2.scalarMul(β, B)
var R {.noinit.}: EC_ShortW_Jac[Fp[Name], G1]
R.sum(point1, point2)
but there is possible room for performance improvements. Refactoring these (and for potentially other future cases) is a good idea. Potential avenues for optimization:
In ECDSA we encounter operations of the form:
where the coefficients are scalars in the field$α, β ∈ 𝔽ᵣ$ and $A, B ∈ 𝔾$ elliptic curve points. These appear both in the verification and public key recovery.
Currently they are represented as:
but there is possible room for performance improvements. Refactoring these (and for potentially other future cases) is a good idea. Potential avenues for optimization:
constantine/constantine/math/elliptic/ec_scalar_mul_vartime.nim
Lines 252 to 331 in 6b65b0e
The
scalarMulEndo
implementation handles such cases internally efficiently. We may be able to extract those internals.The two locations where this code currently appears:
constantine/constantine/signatures/ecdsa.nim
Lines 283 to 292 in 9642ca6
constantine/constantine/signatures/ecdsa.nim
Lines 371 to 375 in 664d985
The text was updated successfully, but these errors were encountered: