val left_pad_dh : Mirage_crypto_pk.Dh.group ->Cstruct.t ->Cstruct.t
val not_all_zero :
(Cstruct.t, [> `Fatal of [> `InvalidDH ] ]as 'a)Stdlib.result->(Cstruct.t, 'a)Stdlib.result
val dh_shared :
[< `Finite_field of Mirage_crypto_pk.Dh.secret| `P256 of Mirage_crypto_ec.P256.Dh.secret| `P384 of Mirage_crypto_ec.P384.Dh.secret| `P521 of Mirage_crypto_ec.P521.Dh.secret| `X25519 of Mirage_crypto_ec.X25519.secret ]->Cstruct.t ->(Cstruct.t,
[> `Fatal of [> `BadECDH of Mirage_crypto_ec.error| `InvalidDH ] ])Stdlib.result
val dh_gen_key :
[< `FFDHE2048
| `FFDHE3072| `FFDHE4096| `FFDHE6144| `FFDHE8192| `P256| `P384| `P521| `X25519 ]->[> `Finite_field of Mirage_crypto_pk.Dh.secret| `P256 of Mirage_crypto_ec.P256.Dh.secret| `P384 of Mirage_crypto_ec.P384.Dh.secret| `P521 of Mirage_crypto_ec.P521.Dh.secret| `X25519 of Mirage_crypto_ec.X25519.secret ]
* Cstruct.t
val trace : string ->Cstruct.t -> unit
val pp_hash_k_n :
[< `AES_128_CCM_SHA256
| `AES_128_GCM_SHA256| `AES_256_GCM_SHA384| `CHACHA20_POLY1305_SHA256 ]->Ciphersuite.aead_cipher * [> `SHA256 | `SHA384 ] * int * int
val hkdflabel : string ->Cstruct.t ->Cstruct.uint16 ->Cstruct.t
val derive_secret_no_hash :
Mirage_crypto.Hash.hash ->Cstruct.t ->?length:Cstruct.uint16 ->?ctx:Cstruct.t ->string ->Cstruct.t
val derive_secret : State.kdf->string ->Cstruct.t ->Cstruct.t