blob: 3973c8f30cd06049d671dd1fddf36ee758a918aa [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/* aes.h
2 *
3 * Copyright (C) 2006-2021 wolfSSL Inc.
4 *
5 * This file is part of wolfSSL.
6 *
7 * wolfSSL is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * wolfSSL is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
20 */
21
22
23
24#ifndef NO_AES
25
26#ifndef CTAO_CRYPT_AES_H
27#define CTAO_CRYPT_AES_H
28
29#include <wolfssl/wolfcrypt/aes.h>
30#define AesSetKey wc_AesSetKey
31#define AesSetIV wc_AesSetIV
32#define AesCbcEncrypt wc_AesCbcEncrypt
33#define AesCbcDecrypt wc_AesCbcDecrypt
34#define AesCbcDecryptWithKey wc_AesCbcDecryptWithKey
35
36/* AES-CTR */
37#ifdef WOLFSSL_AES_COUNTER
38 #define AesCtrEncrypt wc_AesCtrEncrypt
39#endif
40/* AES-DIRECT */
41#if defined(WOLFSSL_AES_DIRECT)
42 #define AesEncryptDirect wc_AesEncryptDirect
43 #define AesDecryptDirect wc_AesDecryptDirect
44 #define AesSetKeyDirect wc_AesSetKeyDirect
45#endif
46#ifdef HAVE_AESGCM
47 #define AesGcmSetKey wc_AesGcmSetKey
48 #define AesGcmEncrypt wc_AesGcmEncrypt
49 #define AesGcmDecrypt wc_AesGcmDecrypt
50 #define GmacSetKey wc_GmacSetKey
51 #define GmacUpdate wc_GmacUpdate
52#endif /* HAVE_AESGCM */
53#ifdef HAVE_AESCCM
54 #define AesCcmSetKey wc_AesCcmSetKey
55 #define AesCcmEncrypt wc_AesCcmEncrypt
56 #define AesCcmDecrypt wc_AesCcmDecrypt
57#endif /* HAVE_AESCCM */
58
59#endif /* CTAO_CRYPT_AES_H */
60#endif /* NO_AES */
61