DAA è uno standard governativo deprecato specifico per la crittografia autenticata. Non è qualcosa che vorresti usare. In particolare, è una versione modificata di CMAC che utilizza l'algoritmo DES non sicuro.
HMAC utilizza un algoritmo hash per fornire l'autenticazione. Di solito è abbastanza veloce. D'altra parte, CMAC usa un codice a blocchi in modalità CBC, rendendolo molto più lento. L'unico motivo per cui CMAC, che richiede il doppio del numero di chiamate al codice a blocchi per la crittografia, verrebbe utilizzato se viene utilizzato su un sistema incorporato che ha già l'accelerazione hardware per il codice, rendendo più semplice il suo riutilizzo autenticazione. In generale, vorrete usare HMAC.