Chacha20_Poly1305.NoallocVersions of these functions which write their output in a buffer passed in as an argument
encrypt key iv ad pt ct tag takes a key, an initial value iv, additional data ad, and plaintext pt, as well as output buffers ct, which will contain the encrypted pt, and tag, which will contain the authentication tag for the plaintext and the associated data.