Add: Zeroize on drop for Keypair
Basic initial implementation of Drop, doesn't account for all types of move on return behaviour
Can still leak on certain architectures due to how they manage RVO or how compilers handle copy elision
Needs Pin and/or Box versions to ensure correctness across platforms
Zeroing of intermediate/transient secrets and coins
Modify: secret key visibility
Add: expose_secret() function, make secret usage explicit
Modify: Keypair Debug impl to elide secret key
Add: impl Hash for Keypair, omits secret key
Add impl Eq/PartialEq for Keypair, omits secret key, non-constant time
Add: zeroize!() macro for code brevity
Removes repeated #[cfg(feature="zeroize")] lines
Pin
and/orBox
versions to ensure correctness across platforms Zeroing of intermediate/transient secrets and coinsexpose_secret()
function, make secret usage explicitzeroize!()
macro for code brevity Removes repeated#[cfg(feature="zeroize")]
lines