pauli@xxxxxxxxxxx said: > Does EVP_MAC_CTX_dup() after the MAC context has been initialised > do what you want? Thanks. Adding a dup/free gets the right answer, but isn't much of a speedup. Is there a way to copy the critical bits into a working ctx? I looked in the header file but didn't see anything suspicious. -------- i5-3570 CPU @ 3.40GHz AES-128-CBC, 48 byte packets Times in microseconds. 1.1.1k: 0.339 CMAC 0.676 PKEY 0.236 PKEY preload alpha12: 0.933 CMAC 1.091 EVP_MAC 0.185 EVP_MAC Preload alpha13: 0.905 CMAC 0.463 EVP_MAC 0.359 EVP_MAC Preload with dup/free 0.123 EVP_MAC Preload without dup/free, WRONG ANSWER -- These are my opinions. I hate spam.