Function bearssl::br_poly1305_i15_run [] [src]

pub unsafe extern "C" fn br_poly1305_i15_run(
    key: *const c_void,
    iv: *const c_void,
    data: *mut c_void,
    len: usize,
    aad: *const c_void,
    aad_len: usize,
    tag: *mut c_void,
    ichacha: br_chacha20_run,
    encrypt: c_int
)

\brief ChaCha20+Poly1305 AEAD implementation (i15).

This implementation relies on the generic big integer code "i15" (which uses pure 32-bit multiplications). As such, it may save a little code footprint in a context where "i15" is already included (e.g. for elliptic curves or for RSA); however, it is also substantially slower than the ctmul and ctmul32 implementations.

\see br_poly1305_run

\param key secret key (32 bytes). \param iv nonce (12 bytes). \param data data to encrypt or decrypt. \param len data length (in bytes). \param aad additional authenticated data. \param aad_len length of additional authenticated data (in bytes). \param tag output buffer for the authentication tag. \param ichacha implementation of ChaCha20. \param encrypt non-zero for encryption, zero for decryption.