55 # include <openssl/opensslconf.h>
57 # ifdef OPENSSL_NO_AES
58 # error AES is disabled.
63 # define AES_ENCRYPT 1
64 # define AES_DECRYPT 0
71 # define AES_BLOCK_SIZE 16
80 unsigned long rd_key[4 * (AES_MAXNR + 1)];
82 unsigned int rd_key[4 * (AES_MAXNR + 1)];
88 const char *AES_options(
void);
90 int AES_set_encrypt_key(
const unsigned char *userKey,
const int bits,
92 int AES_set_decrypt_key(
const unsigned char *userKey,
const int bits,
95 int private_AES_set_encrypt_key(
const unsigned char *userKey,
const int bits,
97 int private_AES_set_decrypt_key(
const unsigned char *userKey,
const int bits,
100 void AES_encrypt(
const unsigned char *in,
unsigned char *out,
102 void AES_decrypt(
const unsigned char *in,
unsigned char *out,
105 void AES_ecb_encrypt(
const unsigned char *in,
unsigned char *out,
106 const AES_KEY *key,
const int enc);
107 void AES_cbc_encrypt(
const unsigned char *in,
unsigned char *out,
108 size_t length,
const AES_KEY *key,
109 unsigned char *ivec,
const int enc);
110 void AES_cfb128_encrypt(
const unsigned char *in,
unsigned char *out,
111 size_t length,
const AES_KEY *key,
112 unsigned char *ivec,
int *num,
const int enc);
113 void AES_cfb1_encrypt(
const unsigned char *in,
unsigned char *out,
114 size_t length,
const AES_KEY *key,
115 unsigned char *ivec,
int *num,
const int enc);
116 void AES_cfb8_encrypt(
const unsigned char *in,
unsigned char *out,
117 size_t length,
const AES_KEY *key,
118 unsigned char *ivec,
int *num,
const int enc);
119 void AES_ofb128_encrypt(
const unsigned char *in,
unsigned char *out,
120 size_t length,
const AES_KEY *key,
121 unsigned char *ivec,
int *num);
122 void AES_ctr128_encrypt(
const unsigned char *in,
unsigned char *out,
123 size_t length,
const AES_KEY *key,
124 unsigned char ivec[AES_BLOCK_SIZE],
125 unsigned char ecount_buf[AES_BLOCK_SIZE],
128 void AES_ige_encrypt(
const unsigned char *in,
unsigned char *out,
129 size_t length,
const AES_KEY *key,
130 unsigned char *ivec,
const int enc);
132 void AES_bi_ige_encrypt(
const unsigned char *in,
unsigned char *out,
133 size_t length,
const AES_KEY *key,
134 const AES_KEY *key2,
const unsigned char *ivec,
137 int AES_wrap_key(
AES_KEY *key,
const unsigned char *iv,
139 const unsigned char *in,
unsigned int inlen);
140 int AES_unwrap_key(
AES_KEY *key,
const unsigned char *iv,
142 const unsigned char *in,
unsigned int inlen);