Plasma GitLab Archive
Projects Blog Knowledge

Class type Netsys_ciphers.cipher_ctx

class type cipher_ctx = object .. end

method padding : padding

The padding scheme of the cipher

method block_constraint : int

The buffers used with encrypt/decrypt must have a length that is a multiple of this number. (In ECB mode this is the block size.)

This value doesn't take padding into account.

method supports_aead : bool

Whether this cipher integrates authentication

method set_iv : string -> unit

Sets the initialization vector (this must be done before starting the encryption or decryption).

method set_header : string -> unit

Sets the header to authenticate for AEAD (this must be done before starting the encryption or decryption).

method encrypt : last:bool -> Netsys_types.memory -> Netsys_types.memory -> int * int

let 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 * int

let 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 : Stdlib.Bytes.t -> Stdlib.Bytes.t

Encrypts this string as a whole

method encrypt_string : string -> string

Encrypts this string as a whole

method decrypt_bytes : Stdlib.Bytes.t -> Stdlib.Bytes.t

Decrypts this string as a whole

method decrypt_string : string -> string

Decrypts this string as a whole

method mac : unit -> string

Returns the MAC for AEAD ciphers. Can first be called after the encryption/decryption is complete. This function fails for non-AEAD ciphers.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml