Function bearssl::br_ghash_pclmul [] [src]

pub unsafe extern "C" fn br_ghash_pclmul(
    y: *mut c_void,
    h: *const c_void,
    data: *const c_void,
    len: usize
)

\brief GHASH implementation using the pclmulqdq opcode (part of the AES-NI instructions).

This implementation is available only on x86 platforms where the compiler supports the relevant intrinsic functions. Even if the compiler supports these functions, the local CPU might not support the pclmulqdq opcode, meaning that a call will fail with an illegal instruction exception. To safely obtain a pointer to this function when supported (or 0 otherwise), use br_ghash_pclmul_get().

\param y the array to update. \param h the GHASH key. \param data the input data (may be NULL if len is zero). \param len the input data length (in bytes).