The current API emulates the NIST code to follow along with the standardisation process. Now that is all done we can do a proper cleanup to make it more idiomatic along with general quality of life improvements. A non-comprehensive list of to-do's:
Related to #59, it's preferable to get this all wrapped up into one release.
The current API emulates the NIST code to follow along with the standardisation process. Now that is all done we can do a proper cleanup to make it more idiomatic along with general quality of life improvements. A non-comprehensive list of to-do's:
Keypairwith no visible fieldsKeypairKeypairstruct from existing private keyKeypairstruct from 64 byte seedimpl AsRef<PublicKey>/impl AsRef<SecretKey>Keypair-impl Hash- For public key only, non-cryptographic hashes often usedKeypair-impl Debug- For public key only, elide secret key from any possible loggingKeypair-impl PartialEq- For public key only, make note in docs that it is not constant timeKeypair-impl EqKeypair-impl Zeroize- will require an alternative api usingPin/Boxalong with documentation. Needs a locally instantiatedSecretBufferby the end user to prevent return value optimisations copying everything willynilly.SharedSecretwith a concrete type, implement the same traits as forKeypairabove.Related to #59, it's preferable to get this all wrapped up into one release.