CMAC implementation and docs