Module Hacl_star__Hacl.Chacha20_Poly1305_32

Portable C implementation of Chacha20-Poly1305 that runs on any 32-bit platform

type bytes = Hacl_star.SharedDefs.CBytes.t
val encrypt : key:bytes -> iv:bytes -> ad:bytes -> pt:bytes -> bytes * bytes

encrypt key iv ad pt takes a key, an initial value iv, additional data ad, and plaintext pt and returns a tuple containing the encrypted pt and the authentication tag for the plaintext and the associated data.

val decrypt : key:bytes -> iv:bytes -> ad:bytes -> ct:bytes -> tag:bytes -> bytes option

decrypt key iv ad ct tag takes a key, the initial value iv, additional data ad, ciphertext ct, and authentication tag tag, and, if successful, returns the decrypted ct.

module Noalloc : sig ... end

Versions of these functions which write their output in a buffer passed in as an argument