X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/39cc1c879e3d75b3cafd79e4e139a7f6673dd349..700d8687944db0a48535f818b59b6c9859952c61:/common/polarssl/aes_cmac128.h diff --git a/common/polarssl/aes_cmac128.h b/common/polarssl/aes_cmac128.h deleted file mode 100644 index b792755f..00000000 --- a/common/polarssl/aes_cmac128.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * AES-CMAC from NIST Special Publication 800-38B — Recommendation for block cipher modes of operation: The CMAC mode for authentication. - * - * Copyright (C) 2006-2014, Brainspark B.V. - * Copyright (C) 2014, Anargyros Plemenos - * Tests added Merkok, 2018 - * - * This file is part of PolarSSL (http://www.polarssl.org) - * Lead Maintainer: Paul Bakker - * - * All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Reference : https://polarssl.org/discussions/generic/authentication-token - * NIST Special Publication 800-38B — Recommendation for block cipher modes of operation: The CMAC mode for authentication. - * Tests here: - * https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Standards-and-Guidelines/documents/examples/AES_CMAC.pdf -*/ - -#include -#include -#include "aes.h" - -typedef struct aes_cmac_128_context { - aes_context aes_key; - - uint8_t K1[16]; - uint8_t K2[16]; - - uint8_t X[16]; - - uint8_t last[16]; - size_t last_len; -} -aes_cmac128_context; - -/* - * \brief AES-CMAC-128 context setup - * - * \param ctx context to be initialized - * \param key secret key for AES-128 - */ -void aes_cmac128_starts(aes_cmac128_context *ctx, const uint8_t K[16]); - -/* - * \brief AES-CMAC-128 process message - * - * \param ctx context to be initialized - * \param _msg the given message - * \param _msg_len the length of message - */ -void aes_cmac128_update(aes_cmac128_context *ctx, const uint8_t *_msg, size_t _msg_len); - -/* - * \brief AES-CMAC-128 compute T - * - * \param ctx context to be initialized - * \param T the generated MAC which is used to validate the message - */ -void aes_cmac128_final(aes_cmac128_context *ctx, uint8_t T[16]); - -/** - * \brief Checkup routine - * - * \return 0 if successful, or 1 if the test failed - */ -int aes_cmac_self_test( int verbose ); -