val secret_to_public : sk:bytes -> pk:bytes -> unitsecret_to_public sk pk takes a secret key sk and writes the corresponding public key in pk. Buffers pk and sk must be distinct.
val sign : sk:bytes -> msg:bytes -> signature:bytes -> unitsign sk msg signature takes secret key sk and message msg and writes the Ed25519 signature in signature.
val expand_keys : sk:bytes -> ks:bytes -> unitexpand_keys sk ks takes secret key sk and writes the expanded secret key in ks.
val sign_expanded : ks:bytes -> msg:bytes -> signature:bytes -> unitsign_expanded ks msg signature takes expanded secret key ks and message msg and writes the Ed25519 signature in signature.