tls

Transport Layer Security purely in OCaml
Library tls
Module Tls . Crypto
val (<+>) : Cstruct.t -> Cstruct.t -> Cstruct.t
val dh_params_unpack : Core.dh_parameters -> ( Mirage_crypto_pk.Dh.group * Cstruct_sexp.t, [> `Msg of string ] ) result
module Ciphers : sig ... end
val sequence_buf : Cstruct.uint64 -> Cstruct.t
val aead_nonce : Cstruct.t -> Cstruct.uint64 -> Cstruct.t
val adata_1_3 : Cstruct.uint16 -> Cstruct.t
val cbc_block : (module Mirage_crypto.Cipher_block.S.CBC with type key = 'a) -> int
val cbc_pad : int -> Cstruct.t -> Cstruct.t
val cbc_unpad : Cstruct.t -> Cstruct.t option
val tag_len : 'a State.aead_cipher -> int
val encrypt_aead : cipher:'a State.aead_cipher -> key:'a0 -> nonce:Cstruct.t -> ?adata:Cstruct.t -> Cstruct.t -> Cstruct.t
val decrypt_aead : cipher:'a State.aead_cipher -> key:'a0 -> nonce:Cstruct.t -> ?adata:Cstruct.t -> Cstruct.t -> Cstruct.t option
val encrypt_cbc : cipher:(module Mirage_crypto.Cipher_block.S.CBC with type key = 'a) -> key:'a0 -> iv:Cstruct.t -> Cstruct.t -> Cstruct.t * Cstruct.t
val decrypt_cbc : cipher:(module Mirage_crypto.Cipher_block.S.CBC with type key = 'a) -> key:'a0 -> iv:Cstruct.t -> Cstruct.t -> (Cstruct.t * Cstruct.t) option