We're leaving some perf on the table by doing these operations in constant time. We should use a variable time scalar mult, similar to what we do for crypto/ed25519:
|
R := (&edwards25519.Point{}).VarTimeDoubleScalarBaseMult(k, minusA, S) |
cc @FiloSottile
We're leaving some perf on the table by doing these operations in constant time. We should use a variable time scalar mult, similar to what we do for crypto/ed25519:
go/src/crypto/internal/fips140/ed25519/ed25519.go
Line 335 in 1a93e4a
cc @FiloSottile