1 /* 2 * Copyright (c) 2014-2018, Andrew Romanenko <melanhit@gmail.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright notice, this 9 * list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * 3. Neither the name of the project nor the names of its contributors 14 * may be used to endorse or promote products derived from this software 15 * without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 21 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #include <stdlib.h> 30 #include <stdint.h> 31 32 #include "../akmos.h" 33 #include "../mac.h" 34 35 const akmos_mac_xmode_t akmos_xmode_hmac = { 36 AKMOS_MODE_HMAC, "HMAC", 37 &akmos_hmac_init, 38 &akmos_hmac_setkey, 39 &akmos_hmac_update, 40 &akmos_hmac_done 41 }; 42 43 const akmos_mac_xmode_t akmos_xmode_cmac = { 44 AKMOS_MODE_CMAC, "CMAC", 45 &akmos_cmac_init, 46 &akmos_cmac_setkey, 47 &akmos_cmac_update, 48 &akmos_cmac_done 49 }; 50 51 const akmos_mac_xmode_t akmos_xmode_cbcmac = { 52 AKMOS_MODE_CBCMAC, "CBC-MAC", 53 &akmos_cbcmac_init, 54 &akmos_cbcmac_setkey, 55 &akmos_cbcmac_update, 56 &akmos_cbcmac_done 57 }; 58