(** Counter with CBC-MAC (CCM) mode. Internal implementation of the CCM authenticated encryption mode as specified in NIST SP 800-38C. *) val unsafe_generation_encryption_into : cipher:(key:'a -> string -> src_off:int -> bytes -> dst_off:int -> unit) -> key:'a -> nonce:string -> adata:string -> string -> src_off:int -> bytes -> dst_off:int -> tag_off:int -> int -> unit (** [unsafe_generation_encryption_into ~cipher ~key ~nonce ~adata src ~src_off dst ~dst_off ~tag_off len] encrypts and generates the authentication tag. No bounds checking. *) val unsafe_decryption_verification_into : cipher:(key:'a -> string -> src_off:int -> bytes -> dst_off:int -> unit) -> key:'a -> nonce:string -> adata:string -> string -> src_off:int -> tag_off:int -> bytes -> dst_off:int -> int -> bool (** [unsafe_decryption_verification_into ~cipher ~key ~nonce ~adata src ~src_off ~tag_off dst ~dst_off len] decrypts and verifies the tag. Returns [true] on success. No bounds checking. *)