Module Psa.Cipher

Unauthenticated ciphers.

See also Unauthenticated ciphers in Alg.

WARNING It is recommended that newer protocols use Authenticated encryption with associated data (AEAD).

Single-part functions

val encrypt : key:Key_id.t -> Alg.t -> plain:Bytesrw.Bytes.Slice.t -> cipher:Bytesrw.Bytes.Slice.t -> (int, Status.t) Stdlib.result
val decrypt : key:Key_id.t -> Alg.t -> cipher:Bytesrw.Bytes.Slice.t -> plain:Bytesrw.Bytes.Slice.t -> (int, Status.t) Stdlib.result

Multi-part functions

module Operation : sig ... end

Cipher operations.

val encrypt_setup : Operation.t -> key:Key_id.t -> Alg.t -> Status.t
val decrypt_setup : Operation.t -> key:Key_id.t -> Alg.t -> Status.t
val generate_iv : Operation.t -> iv:Bytesrw.Bytes.Slice.t -> (int, Status.t) Stdlib.result
val update : Operation.t -> input:Bytesrw.Bytes.Slice.t -> output:Bytesrw.Bytes.Slice.t -> (int, Status.t) Stdlib.result
val finish : Operation.t -> output:Bytesrw.Bytes.Slice.t -> (int, Status.t) Stdlib.result
val abort : Operation.t -> Status.t

Support functions

val encrypt_output_size : Key_type.t -> Alg.t -> plain_length:int -> int
val encrypt_output_max_size : plain_length:int -> int
val decrypt_output_size : Key_type.t -> Alg.t -> cipher_length:int -> int
val decrypt_output_max_size : cipher_length:int -> int
val iv_length : Key_type.t -> Alg.t -> int
val iv_max_size : unit -> int
val update_output_size : Key_type.t -> Alg.t -> input_length:int -> int
val update_output_max_size : input_length:int -> int
val finish_output_size : Key_type.t -> Alg.t -> int
val finish_output_max_size : unit -> int
val block_length : Key_type.t -> int
val block_max_size : unit -> int