71 lines
4.1 KiB
C
71 lines
4.1 KiB
C
#ifndef AES_H
|
|
#define AES_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define AES_FULL_UNROLL
|
|
#define AES_SMALL_TABLES
|
|
#define AES_BLOCK_SIZE 16
|
|
|
|
#include "aes-common.h"
|
|
#include "aes-internal.h"
|
|
#include "aes-debug.h"
|
|
|
|
void * aes_encrypt_init(const aes_uchar *key, size_t len);
|
|
void aes_encrypt(void *ctx, const aes_uchar *plain, aes_uchar *crypt);
|
|
void aes_encrypt_deinit(void *ctx);
|
|
void * aes_decrypt_init(const aes_uchar *key, size_t len);
|
|
void aes_decrypt(void *ctx, const aes_uchar *crypt, aes_uchar *plain);
|
|
void aes_decrypt_deinit(void *ctx);
|
|
|
|
int AES_WARN_UNUSED_RESULT aes_wrap(const aes_uchar *kek, int n, const aes_uchar *plain, aes_uchar *cipher);
|
|
int AES_WARN_UNUSED_RESULT aes_unwrap(const aes_uchar *kek, int n, const aes_uchar *cipher, aes_uchar *plain);
|
|
int AES_WARN_UNUSED_RESULT omac1_aes_128_vector(const aes_uchar *key, size_t num_elem,
|
|
const aes_uchar *addr[], const size_t *len,
|
|
aes_uchar *mac);
|
|
int AES_WARN_UNUSED_RESULT omac1_aes_128(const aes_uchar *key, const aes_uchar *data, size_t data_len,
|
|
aes_uchar *mac);
|
|
int AES_WARN_UNUSED_RESULT aes_128_encrypt_block(const aes_uchar *key, const aes_uchar *in, aes_uchar *out);
|
|
int AES_WARN_UNUSED_RESULT aes_128_ctr_encrypt(const aes_uchar *key, const aes_uchar *nonce,
|
|
aes_uchar *data, size_t data_len);
|
|
int AES_WARN_UNUSED_RESULT aes_128_eax_encrypt(const aes_uchar *key,
|
|
const aes_uchar *nonce, size_t nonce_len,
|
|
const aes_uchar *hdr, size_t hdr_len,
|
|
aes_uchar *data, size_t data_len, aes_uchar *tag);
|
|
int AES_WARN_UNUSED_RESULT aes_128_eax_decrypt(const aes_uchar *key,
|
|
const aes_uchar *nonce, size_t nonce_len,
|
|
const aes_uchar *hdr, size_t hdr_len,
|
|
aes_uchar *data, size_t data_len, const aes_uchar *tag);
|
|
int AES_WARN_UNUSED_RESULT aes_128_cbc_encrypt(const aes_uchar *key, const aes_uchar *iv, aes_uchar *data,
|
|
size_t data_len);
|
|
int AES_WARN_UNUSED_RESULT aes_128_cbc_decrypt(const aes_uchar *key, const aes_uchar *iv, aes_uchar *data,
|
|
size_t data_len);
|
|
int AES_WARN_UNUSED_RESULT aes_gcm_ae(const aes_uchar *key, size_t key_len,
|
|
const aes_uchar *iv, size_t iv_len,
|
|
const aes_uchar *plain, size_t plain_len,
|
|
const aes_uchar *aad, size_t aad_len,
|
|
aes_uchar *crypt, aes_uchar *tag);
|
|
int AES_WARN_UNUSED_RESULT aes_gcm_ad(const aes_uchar *key, size_t key_len,
|
|
const aes_uchar *iv, size_t iv_len,
|
|
const aes_uchar *crypt, size_t crypt_len,
|
|
const aes_uchar *aad, size_t aad_len, const aes_uchar *tag,
|
|
aes_uchar *plain);
|
|
int AES_WARN_UNUSED_RESULT aes_gmac(const aes_uchar *key, size_t key_len,
|
|
const aes_uchar *iv, size_t iv_len,
|
|
const aes_uchar *aad, size_t aad_len, aes_uchar *tag);
|
|
int AES_WARN_UNUSED_RESULT aes_ccm_ae(const aes_uchar *key, size_t key_len, const aes_uchar *nonce,
|
|
size_t M, const aes_uchar *plain, size_t plain_len,
|
|
const aes_uchar *aad, size_t aad_len, aes_uchar *crypt, aes_uchar *auth);
|
|
int AES_WARN_UNUSED_RESULT aes_ccm_ad(const aes_uchar *key, size_t key_len, const aes_uchar *nonce,
|
|
size_t M, const aes_uchar *crypt, size_t crypt_len,
|
|
const aes_uchar *aad, size_t aad_len, const aes_uchar *auth,
|
|
aes_uchar *plain);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* AES_H */
|