Module Octez_ml_dsa.Ml_dsa_44

type signing_key

Type of the signing key.

val signing_key_size : int

The size of a signing_key.

val signing_key_to_bytes : signing_key -> bytes

signing_key_to_bytes signing_key serialises the signing key into bytes representation.

val signing_key_from_bytes_opt : bytes -> signing_key option

signing_key_from_bytes_opt bytes attempts to deserialize bytes into a signing key.

  • returns

    None if the bytes is not signing_key_size long.

val signing_key_from_bytes : bytes -> (signing_key, string) Stdlib.result

signing_key_from_bytes bytes attempts to deserialize bytes into a signing key.

  • returns

    an error string "Invalid signing key size:.." if the bytes is not signing_key_size long.

type verification_key

Type of the verification key.

val verification_key_size : int

The size of a verification_key.

val verification_key_to_bytes : verification_key -> bytes

verification_key_to_bytes verification_key serialises the verification key into bytes representation.

val verification_key_from_bytes_opt : bytes -> verification_key option

verification_key_from_bytes_opt bytes attempts to deserialize bytes into a verification key.

  • returns

    None if the bytes is not verification_key_size long.

val verification_key_from_bytes : bytes -> (verification_key, string) Stdlib.result

verification_key_from_bytes bytes attempts to deserialize bytes into a verification key.

  • returns

    an error string "Invalid verification key size:.." if the bytes is not verification_key_size long.

type signature

Type of the signature.

val signature_size : int

The size of a signature.

val signature_to_bytes : signature -> bytes

signature_to_bytes signature serialises the signature into bytes representation.

val signature_from_bytes_opt : bytes -> signature option

signature_from_bytes_opt bytes attempts to deserialize bytes into a signature.

  • returns

    None if the bytes is not signature_size long.

val signature_from_bytes : bytes -> (signature, string) Stdlib.result

signature_from_bytes bytes attempts to deserialize bytes into a signature.

  • returns

    an error string "Invalid signature size:.." if the bytes is not signature_size long.

val key_gen_randomness_size : int

The size of a randomness value for key generation.

val generate_key_pair_opt : seed:bytes -> (signing_key * verification_key) option

generate_key_pair_opt ~seed generates a new pair of signing_key and verification_key based on the given seed.

  • returns

    None if the seed is not key_gen_randomness_size long.

val generate_key_pair : seed:bytes -> (signing_key * verification_key, string) Stdlib.result

generate_key_pair ~seed generates a new pair of signing_key and verification_key based on the given seed.

  • returns

    an error string "Invalid key generation randomness size:.." if the seed is not key_gen_randomness_size long.

val signing_randomness_size : int

The size of a randomness value for signing.

val sign_opt : randomness:bytes -> signing_key -> bytes -> signature option

sign_opt ~randomness signing_key message signs the given message with the signing_key.

  • returns

    None if the randomness is not signing_randomness_size long.

  • returns

    None if the signing fails.

val sign : randomness:bytes -> signing_key -> bytes -> (signature, string) Stdlib.result

sign ~randomness signing_key message signs the given message with the signing_key.

  • returns

    an error string "Invalid signing randomness size:.." if the randomness is not signing_randomness_size long.

  • returns

    an error string "Signing failed: .." if the signing fails.

val verify_b : verification_key -> bytes -> signature -> bool

verify_b verification_key message signature checks if the given signature is a valid signature of a message under a verification_key.

  • returns

    false if the verification fails.

val verify : verification_key -> bytes -> signature -> (unit, string) Stdlib.result

verify verification_key message signature checks if the given signature is a valid signature of a message under a verification_key.

  • returns

    an error string "Verification failed: .." if the verification fails.