blob: 84852561f6870607e00ac6dbbafc9be87b2ca19c [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;
Manuel Pégourié-Gonnard83f3fc02013-09-04 12:07:24 +020059extern const cipher_info_t aes_192_gcm_info;
Paul Bakker68884e32013-01-07 18:20:04 +010060extern const cipher_info_t aes_256_gcm_info;
61#endif /* POLARSSL_GCM_C */
62
Paul Bakker8123e9d2011-01-06 15:37:30 +000063#endif /* defined(POLARSSL_AES_C) */
64
65#if defined(POLARSSL_CAMELLIA_C)
66
67extern const cipher_info_t camellia_128_cbc_info;
68extern const cipher_info_t camellia_192_cbc_info;
69extern const cipher_info_t camellia_256_cbc_info;
70
Paul Bakker343a8702011-06-09 14:27:58 +000071#if defined(POLARSSL_CIPHER_MODE_CFB)
72extern const cipher_info_t camellia_128_cfb128_info;
73extern const cipher_info_t camellia_192_cfb128_info;
74extern const cipher_info_t camellia_256_cfb128_info;
75#endif /* POLARSSL_CIPHER_MODE_CFB */
76
77#if defined(POLARSSL_CIPHER_MODE_CTR)
78extern const cipher_info_t camellia_128_ctr_info;
79extern const cipher_info_t camellia_192_ctr_info;
80extern const cipher_info_t camellia_256_ctr_info;
81#endif /* POLARSSL_CIPHER_MODE_CTR */
82
Paul Bakker8123e9d2011-01-06 15:37:30 +000083#endif /* defined(POLARSSL_CAMELLIA_C) */
84
85#if defined(POLARSSL_DES_C)
86
87extern const cipher_info_t des_cbc_info;
88extern const cipher_info_t des_ede_cbc_info;
89extern const cipher_info_t des_ede3_cbc_info;
90
91#endif /* defined(POLARSSL_DES_C) */
92
Paul Bakker6132d0a2012-07-04 17:10:40 +000093#if defined(POLARSSL_BLOWFISH_C)
94extern const cipher_info_t blowfish_cbc_info;
95
96#if defined(POLARSSL_CIPHER_MODE_CFB)
97extern const cipher_info_t blowfish_cfb64_info;
98#endif /* POLARSSL_CIPHER_MODE_CFB */
99
100#if defined(POLARSSL_CIPHER_MODE_CTR)
101extern const cipher_info_t blowfish_ctr_info;
102#endif /* POLARSSL_CIPHER_MODE_CTR */
103#endif /* defined(POLARSSL_BLOWFISH_C) */
104
Paul Bakker68884e32013-01-07 18:20:04 +0100105#if defined(POLARSSL_ARC4_C)
106extern const cipher_info_t arc4_128_info;
107#endif /* defined(POLARSSL_ARC4_C) */
108
Paul Bakkerfab5c822012-02-06 16:45:10 +0000109#if defined(POLARSSL_CIPHER_NULL_CIPHER)
110extern const cipher_info_t null_cipher_info;
111#endif /* defined(POLARSSL_CIPHER_NULL_CIPHER) */
112
Paul Bakker8123e9d2011-01-06 15:37:30 +0000113#ifdef __cplusplus
114}
115#endif
116
117#endif /* POLARSSL_CIPHER_WRAP_H */