CsCrypto  1.0.1
aes.h
1 /***********************************************************************
2 *
3 * Copyright (c) 2021-2024 Tim van Deurzen
4 * Copyright (c) 2021-2024 Barbara Geller
5 * Copyright (c) 2021-2024 Ansel Sermersheim
6 *
7 * This file is part of CsCrypto.
8 *
9 * CsCrypto is free software, released under the BSD 2-Clause license.
10 * For license details refer to LICENSE provided with this project.
11 *
12 * CsCrypto 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.
15 *
16 * https://opensource.org/licenses/BSD-2-Clause
17 *
18 ***********************************************************************/
19 
20 #ifndef CS_CRYPTO_DRIVERS_AES_H
21 #define CS_CRYPTO_DRIVERS_AES_H
22 
23 #include <util/tools/crypto_traits.h>
24 #include <util/tools/is_detected_traits.h>
25 
26 namespace cs_crypto::drivers {
27 
28 struct basic_cipher_mode {
29  template <typename Cipher>
30  using CBC = cs_crypto::traits::nonesuch;
31 
32  template <typename Cipher>
33  using CTR = cs_crypto::traits::nonesuch;
34 
35  template <typename Cipher>
36  using CFB = cs_crypto::traits::nonesuch;
37 
38  template <typename Cipher>
39  using ECB = cs_crypto::traits::nonesuch;
40 
41  template <typename Cipher>
42  using OCB = cs_crypto::traits::nonesuch;
43 
44  template <typename Cipher>
45  using OFB = cs_crypto::traits::nonesuch;
46 };
47 
48 } // namespace cs_crypto::drivers
49 
50 #endif