2015-12-04 14:47:52 +00:00
|
|
|
/**
|
|
|
|
* Author......: Jens Steube <jens.steube@gmail.com>
|
|
|
|
* License.....: MIT
|
|
|
|
*/
|
|
|
|
|
2016-09-06 16:44:05 +00:00
|
|
|
#ifndef _CPU_AES_H
|
|
|
|
#define _CPU_AES_H
|
2016-09-05 19:47:26 +00:00
|
|
|
|
|
|
|
/* AES context. */
|
|
|
|
typedef struct aes_context
|
|
|
|
{
|
|
|
|
u32 bits;
|
|
|
|
|
|
|
|
u32 rek[60];
|
|
|
|
u32 rdk[60];
|
|
|
|
|
|
|
|
} aes_context_t;
|
|
|
|
|
|
|
|
typedef aes_context_t aes_ctx;
|
|
|
|
|
|
|
|
#define AES_KEY aes_ctx
|
|
|
|
void AES_set_encrypt_key (const u8 *key, int keysize, AES_KEY *aes_key);
|
|
|
|
void AES_set_decrypt_key (const u8 *key, int keysize, AES_KEY *aes_key);
|
|
|
|
void AES_encrypt (AES_KEY *aes_key, const u8 *input, u8 *output);
|
|
|
|
void AES_decrypt (AES_KEY *aes_key, const u8 *input, u8 *output);
|
2016-09-06 09:49:26 +00:00
|
|
|
|
|
|
|
void AES128_decrypt_cbc (const u32 key[4], const u32 iv[4], const u32 in[16], u32 out[16]);
|
2016-09-06 16:44:05 +00:00
|
|
|
|
|
|
|
#endif // _CPU_AES_H
|