`sig
type scipher
val ciphers : Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher list
val find : string * string -> Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher
val name : Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher -> string
val mode : Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher -> string
val key_lengths :
Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher -> (int * int) list
val iv_lengths :
Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher -> (int * int) list
val block_constraint : Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher -> int
val supports_aead : Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher -> bool
type scipher_ctx
val create :
Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher ->
string -> Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher_ctx
val set_iv :
Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher_ctx -> string -> unit
val set_header :
Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher_ctx -> string -> unit
val encrypt :
Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher_ctx ->
Netsys_types.memory -> Netsys_types.memory -> unit
val decrypt :
Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher_ctx ->
Netsys_types.memory -> Netsys_types.memory -> bool
val mac : Netsys_crypto_types.SYMMETRIC_CRYPTO.scipher_ctx -> string
end`