Hacl.Curve25519_51Portable C implementation that is optimized for use on 64-bit platforms that support 128-bit arithmetic, will still compile and execute on 32-bit platforms
See here for detailed usage instructions.
type bytes = SharedDefs.CBytes.tsecret_to_public sk takes a 32-byte secret key sk and returns the corresponding 32-byte ECDH public key.
ecdh sk pk takes a 32-byte secret key sk and another party's 32-byte public key and returns the 32-byte ECDH shared key.
scalarmult scalar point performs scalar multiplication over the curve. Buffers are 32-byte long and must be distinct.
module Noalloc : sig ... endVersions of these functions which write their output in a buffer passed in as an argument