This completely removes the bespoke X25519 implementation, replacing it with the x25519_dalek crate.
I couldn't use ring because it doesn't allow DH agreements with static keys, nor does it allow "reusable" ephemeral keys required for Noise implementations. Turns out x25519_dalek is far more ergonomic anyway.
This change removes approximately 1000 lines of code, and on my machine improves the x25519 key generation speed by a factor of 3.
This completely removes the bespoke X25519 implementation, replacing it with the
x25519_dalek
crate.I couldn't use
ring
because it doesn't allow DH agreements with static keys, nor does it allow "reusable" ephemeral keys required for Noise implementations. Turns outx25519_dalek
is far more ergonomic anyway.This change removes approximately 1000 lines of code, and on my machine improves the x25519 key generation speed by a factor of 3.