class type cipher_ctx =object..end
method padding : paddingmethod block_constraint : int
        This value doesn't take padding into account.
method supports_aead : boolmethod set_iv : string -> unitmethod set_header : string -> unitmethod encrypt : last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * intlet n_in, n_out = encrypt ~last inbuf outbuf: 
        Encrypts the text in inbuf and
        writes the result to outbuf. The returned numbers indicate how
        much data was processed: the first n_in bytes of inbuf are
        encrypted, and the first n_out bytes of outbuf are filled with
        ciphertext.
        This function can be called several
        times to encrypt a larger text. last should be set for the last
        call.
        The sizes of inbuf and outbuf must be at least one block
        in order to produce non-zero (n_in,n_out). (For `CTS only:
        two blocks.)
method decrypt : last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * intlet n_in, n_out = decrypt ~last inbuf outbuf:
        Decrypts the text in inbuf and
        writes the result to outbuf. The returned numbers indicate how
        much data was processed: the first n_in bytes of inbuf are
        decrypted, and the first n_out bytes of outbuf are filled with
        plaintext.
        This function can be called several
        times to decrypt a larger text. last should be set for the last
        call.
        The sizes of inbuf and outbuf must be at least one block
        in order to produce non-zero (n_in,n_out). (For `CTS only:
        two blocks.)
        On error, the method fails.
method encrypt_bytes : Bytes.t -> Bytes.tmethod encrypt_string : string -> stringmethod decrypt_bytes : Bytes.t -> Bytes.tmethod decrypt_string : string -> stringmethod mac : unit -> string