curv
curv copied to clipboard
Replace secp256k1 library
move to https://crates.io/crates/libsecp256k1:
- no std
- pure rust
- based on https://github.com/KZen-networks/emerald-city/pull/8 we get serious performance boost. (see also this repo for how to implement)
Security of the new library should be checked more thoroughly
Hello, it looks good experiment!
I checked fastecdsa
, Python library implemented C, using same GMP library.
When I compare with it, I feel 10 times slower performance on multiply scalar and point.
I would prefer https://github.com/RustCrypto/elliptic-curves/tree/master/k256 or something based on fiat-crypto.
but even then it's quite scary, as libsecp256k1 is very battle tested. another option would be to fork libsecp256k1 and write bindings to the internal functionality, that allows infinity, jacobian points and more.