module Netsys_ciphers:sig..end
typepadding =[ `CTS | `Length | `None | `_8000 ]
`None: no padding. The text to encrypt/decrypt must be a multiple
of block_constraint bytes`Length: Pad the last block with n bytes of code n`_8000: Pad with one byte 0x80 and as many zeros as needed to fill
the block (this may add one or two blocks)`CTS: Use "Ciphertext Stealing". There is a minimum length of the
message to encrypt of two blocks.class type cipher_ctx =object..end
class type cipher =object..end
Netsys_crypto.current_symmetric_crypto), unless the impl argument is
passed.val ciphers : ?impl:(module Netsys_crypto_types.SYMMETRIC_CRYPTO) ->
unit -> cipher listval find : ?impl:(module Netsys_crypto_types.SYMMETRIC_CRYPTO) ->
string * string -> cipherfind (name,mode): get the cipher name in the passed mode.
The name conventionally follows the <uppercasestring>-<size> format,
e.g. "AES-128" or "TWOFISH-128".
Modes are "ECB", "CBC", "OFB", "CTR", "STREAM", "GCM". Not every cipher
is available in every mode.
val process_subbytes : (last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
Bytes.t -> int -> int -> Bytes.tprocess_subbytes p s pos len: If p is encrypt or decrypt from
a cipher_ctx, p will be called to submit the data from string s,
starting at position pos and length len.
The encrypted or decrypted string is returned.
val process_substring : (last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
string -> int -> int -> stringprocess_substring p s pos len: Same for immutable strings.val process_bytes : (last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
Bytes.t -> Bytes.tprocess_bytes p s: If p is encrypt or decrypt from
a cipher_ctx, p will be called to submit the data from string s.
The encrypted or decrypted string is returned.
val process_string : (last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int) ->
string -> stringprocess_string p s: same for immutable strings.