`sig
type padding = [ `CTS | `Length | `None | `_8000 ]
class type cipher_ctx =
object
method block_constraint : int
method decrypt :
last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int
method decrypt_bytes : Stdlib.Bytes.t -> Stdlib.Bytes.t
method decrypt_string : string -> string
method encrypt :
last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int
method encrypt_bytes : Stdlib.Bytes.t -> Stdlib.Bytes.t
method encrypt_string : string -> string
method mac : unit -> string
method padding : Netsys_ciphers.padding
method set_header : string -> unit
method set_iv : string -> unit
method supports_aead : bool
end
class type cipher =
object
method block_constraint : int
method create :
string -> Netsys_ciphers.padding -> Netsys_ciphers.cipher_ctx
method iv_lengths : (int * int) list
method key_lengths : (int * int) list
method mode : string
method name : string
method supports_aead : bool
end
val ciphers :
?impl:(module Netsys_crypto_types.SYMMETRIC_CRYPTO) ->
unit -> Netsys_ciphers.cipher list
val find :
?impl:(module Netsys_crypto_types.SYMMETRIC_CRYPTO) ->
string * string -> Netsys_ciphers.cipher
val process_subbytes :
(last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
Stdlib.Bytes.t -> int -> int -> Stdlib.Bytes.t
val process_substring :
(last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
string -> int -> int -> string
val process_bytes :
(last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
Stdlib.Bytes.t -> Stdlib.Bytes.t
val process_string :
(last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
string -> string
end`