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
Does arkworks plan to have a software side-channel safe implementation for ec and ff arithmetic -- at least for prime-order groups in short-Weierstrass model? Arkworks is a well written library (kudos!), and we will like to use it in production for some 90's crypto (ECDSA, ECIES, ECDH, etc.). However, the current curve arithmetic seems to have no side-channel protection. For example:
pub fn sw_double_and_add_projective<P: SWCurveConfig>(
base: &Projective<P>,
scalar: impl AsRef<[u64]>,
) -> Projective<P> {
let mut res = Projective::<P>::zero();
for b in ark_ff::BitIteratorBE::without_leading_zeros(scalar) {
res.double_in_place();
if b { <== timing leaks scalar
res += base
}
}
res
}
The text was updated successfully, but these errors were encountered:
At minimum, we could've seperate constant time curve crates where external crates already supply them, so maybe wrappers over cruve25519-dalek and bls12_381.
Does arkworks plan to have a software side-channel safe implementation for
ec
andff
arithmetic -- at least for prime-order groups in short-Weierstrass model? Arkworks is a well written library (kudos!), and we will like to use it in production for some 90's crypto (ECDSA, ECIES, ECDH, etc.). However, the current curve arithmetic seems to have no side-channel protection. For example:The text was updated successfully, but these errors were encountered: