#include "lib7.h" #include "lib2.h" int cbc_mac(char *msg, unsigned int msg_len, char *iv, char *key, char *mac) { int padding_len = 0; char *msg_padded = __pkcs7_padding(msg, msg_len, 16, &padding_len); char *res = malloc(msg_len+padding_len); aes_cbc(msg_padded, msg_len+padding_len, res, key, iv, 1); char *ciphertext = malloc(msg_len+padding_len); memcpy(mac, &res[msg_len+padding_len-16], 16); }