package tls
val left_pad_dh : Mirage_crypto_pk.Dh.group -> Cstruct.t -> Cstruct.t
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 empty : Ciphersuite.ciphersuite13 -> State.kdf
val ctx : State.kdf -> string -> Cstruct.t -> State.crypto_context
val early_traffic : State.kdf -> Cstruct.t -> Cstruct.t * State.crypto_context
val hs_ctx :
State.kdf ->
Cstruct.t ->
Cstruct.t * State.crypto_context * Cstruct.t * State.crypto_context
val app_ctx :
State.kdf ->
Cstruct.t ->
Cstruct.t * State.crypto_context * Cstruct.t * State.crypto_context
val app_secret_n_1 : State.kdf -> Cstruct.t -> Cstruct.t * State.crypto_context
val res_secret : Mirage_crypto.Hash.hash -> Cstruct.t -> Cstruct.t -> Cstruct.t
val finished :
Mirage_crypto.Hash.hash ->
Cstruct.t ->
Cstruct.t ->
Mirage_crypto.Hash.digest
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>