Module Hacl.Ed25519

Portable implementation

See here for detailed usage instructions.

type bytes = SharedDefs.CBytes.t

EdDSA

val secret_to_public : sk:bytes -> bytes

secret_to_public sk takes a secret key sk and returns the corresponding public key.

val sign : sk:bytes -> msg:bytes -> bytes

sign sk msg takes secret key sk and message msg and returns the Ed25519 signature.

val verify : pk:bytes -> msg:bytes -> signature:bytes -> bool

verify pk msg signature takes public key pk, message msg and verifies the Ed25519 signature, returning true if valid.

EdDSA Expanded Signing

val expand_keys : sk:bytes -> bytes

expand_keys sk takes secret key sk and returns the expanded secret key.

val sign_expanded : ks:bytes -> msg:bytes -> bytes

sign_expanded ks msg signature takes expanded secret key ks and message msg and returns the Ed25519 signature.

module Noalloc : sig ... end

Versions of these functions which write their output in a buffer passed in as an argument