OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / freeswan / libcrypto / libaes / aes_cbc.c
1 #ifdef __KERNEL__
2 #include <linux/types.h>
3 #else
4 #include <sys/types.h>
5 #endif
6 #include "aes_cbc.h"
7 #include "cbc_generic.h"
8 /* returns bool success */
9 int AES_set_key(aes_context *aes_ctx, const u_int8_t *key, int keysize) {
10         aes_set_key(aes_ctx, key, keysize, 0);
11         return 1;       
12 }
13 #if HW_ASSIST
14 #include "hw_assist.h"
15 CBC_IMPL_BLK16(_AES_cbc_encrypt, aes_context, u_int8_t *, aes_encrypt, aes_decrypt);
16 int AES_cbc_encrypt(aes_context *ctx, const u_int8_t * in, u_int8_t * out, int ilen, const u_int8_t * iv, int encrypt) {
17         if (hw_aes_assist()) {
18                 return hw_aes_cbc_encrypt(ctx, in, out, ilen, iv, encrypt);
19         } else {
20                 return _AES_cbc_encrypt(ctx, in, out, ilen, iv, encrypt);
21         }
22 }
23 #else
24 CBC_IMPL_BLK16(AES_cbc_encrypt, aes_context, u_int8_t *, aes_encrypt, aes_decrypt);
25 #endif