How are the curves defined? Is there a 'standard' curve that's generally used or is the curve itself randomly generated along with the keys?
(I'm not trying to be snarky, just sort of expressing the sentiment of throwing up my hands after having a grip on P-256 and Curve25519).
If we're not careful some hodlgang hooligan will have this implemented (badly) in Rust in 30 seconds!
For example with bitcoin