blob: 4dabb44ee3494d04a45a0cc3b7c294537ab76bf5 [file] [log] [blame]
Paul Bakker8123e9d2011-01-06 15:37:30 +00001/**
2 * \file cipher_wrap.h
3 *
4 * \brief Cipher wrappers.
5 *
6 * \author Adriaan de Jong <dejong@fox-it.com>
7 *
Paul Bakker68884e32013-01-07 18:20:04 +01008 * Copyright (C) 2006-2013, Brainspark B.V.
Paul Bakker8123e9d2011-01-06 15:37:30 +00009 *
10 * This file is part of PolarSSL (http://www.polarssl.org)
11 * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
12 *
13 * All rights reserved.
14 *
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation; either version 2 of the License, or
18 * (at your option) any later version.
19 *
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License along
26 * with this program; if not, write to the Free Software Foundation, Inc.,
27 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28 */
Paul Bakkercce9d772011-11-18 14:26:47 +000029#ifndef POLARSSL_CIPHER_WRAP_H
30#define POLARSSL_CIPHER_WRAP_H
Paul Bakker8123e9d2011-01-06 15:37:30 +000031
Paul Bakker314052f2011-08-15 09:07:52 +000032#include "config.h"
33#include "cipher.h"
Paul Bakker8123e9d2011-01-06 15:37:30 +000034
Paul Bakker8123e9d2011-01-06 15:37:30 +000035#ifdef __cplusplus
36extern "C" {
37#endif
38
39#if defined(POLARSSL_AES_C)
40
41extern const cipher_info_t aes_128_cbc_info;
42extern const cipher_info_t aes_192_cbc_info;
43extern const cipher_info_t aes_256_cbc_info;
44
Paul Bakker343a8702011-06-09 14:27:58 +000045#if defined(POLARSSL_CIPHER_MODE_CFB)
46extern const cipher_info_t aes_128_cfb128_info;
47extern const cipher_info_t aes_192_cfb128_info;
48extern const cipher_info_t aes_256_cfb128_info;
49#endif /* POLARSSL_CIPHER_MODE_CFB */
50
51#if defined(POLARSSL_CIPHER_MODE_CTR)
52extern const cipher_info_t aes_128_ctr_info;
53extern const cipher_info_t aes_192_ctr_info;
54extern const cipher_info_t aes_256_ctr_info;
55#endif /* POLARSSL_CIPHER_MODE_CTR */
56
Paul Bakker68884e32013-01-07 18:20:04 +010057#if defined(POLARSSL_GCM_C)
58extern const cipher_info_t aes_128_gcm_info;
59extern const cipher_info_t aes_256_gcm_info;
60#endif /* POLARSSL_GCM_C */
61
Paul Bakker8123e9d2011-01-06 15:37:30 +000062#endif /* defined(POLARSSL_AES_C) */
63
64#if defined(POLARSSL_CAMELLIA_C)
65
66extern const cipher_info_t camellia_128_cbc_info;
67extern const cipher_info_t camellia_192_cbc_info;
68extern const cipher_info_t camellia_256_cbc_info;
69
Paul Bakker343a8702011-06-09 14:27:58 +000070#if defined(POLARSSL_CIPHER_MODE_CFB)
71extern const cipher_info_t camellia_128_cfb128_info;
72extern const cipher_info_t camellia_192_cfb128_info;
73extern const cipher_info_t camellia_256_cfb128_info;
74#endif /* POLARSSL_CIPHER_MODE_CFB */
75
76#if defined(POLARSSL_CIPHER_MODE_CTR)
77extern const cipher_info_t camellia_128_ctr_info;
78extern const cipher_info_t camellia_192_ctr_info;
79extern const cipher_info_t camellia_256_ctr_info;
80#endif /* POLARSSL_CIPHER_MODE_CTR */
81
Paul Bakker8123e9d2011-01-06 15:37:30 +000082#endif /* defined(POLARSSL_CAMELLIA_C) */
83
84#if defined(POLARSSL_DES_C)
85
86extern const cipher_info_t des_cbc_info;
87extern const cipher_info_t des_ede_cbc_info;
88extern const cipher_info_t des_ede3_cbc_info;
89
90#endif /* defined(POLARSSL_DES_C) */
91
Paul Bakker6132d0a2012-07-04 17:10:40 +000092#if defined(POLARSSL_BLOWFISH_C)
93extern const cipher_info_t blowfish_cbc_info;
94
95#if defined(POLARSSL_CIPHER_MODE_CFB)
96extern const cipher_info_t blowfish_cfb64_info;
97#endif /* POLARSSL_CIPHER_MODE_CFB */
98
99#if defined(POLARSSL_CIPHER_MODE_CTR)
100extern const cipher_info_t blowfish_ctr_info;
101#endif /* POLARSSL_CIPHER_MODE_CTR */
102#endif /* defined(POLARSSL_BLOWFISH_C) */
103
Paul Bakker68884e32013-01-07 18:20:04 +0100104#if defined(POLARSSL_ARC4_C)
105extern const cipher_info_t arc4_128_info;
106#endif /* defined(POLARSSL_ARC4_C) */
107
Paul Bakkerfab5c822012-02-06 16:45:10 +0000108#if defined(POLARSSL_CIPHER_NULL_CIPHER)
109extern const cipher_info_t null_cipher_info;
110#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
111
Paul Bakker8123e9d2011-01-06 15:37:30 +0000112#ifdef __cplusplus
113}
114#endif
115
116#endif /* POLARSSL_CIPHER_WRAP_H */