static void check_cmac(const void *key, size_t nkey, const void *msg, size_t nmsg, const void *wanttag, size_t ntag) { uint8_t gottag[16]; TEST_CHECK(cf_aes.blocksz == ntag); cf_aes_context aes; cf_aes_init(&aes, key, nkey); cf_cmac cmac; cf_cmac_init(&cmac, &cf_aes, &aes); cf_cmac_sign(&cmac, msg, nmsg, gottag); TEST_CHECK(memcmp(gottag, wanttag, cf_aes.blocksz) == 0); }
void cf_cmac_stream_init(cf_cmac_stream *ctx, const cf_prp *prp, void *prpctx) { cf_cmac_init(&ctx->cmac, prp, prpctx); cf_cmac_stream_reset(ctx); }