#ifndef _AES_H #define _AES_H #define BPOLY 0x1b //!< Lower 8 bits of (x^8+x^4+x^3+x+1), ie. (x^4+x^3+x+1). #define BLOCKSIZE 16 //!< Block size in number of bytes. #define KEY_COUNT 3 #if KEY_COUNT == 1 #define KEYBITS 128 //!< Use AES128. #elif KEY_COUNT == 2 #define KEYBITS 192 //!< Use AES196. #elif KEY_COUNT == 3 #define KEYBITS 256 //!< Use AES256. #else #error Use 1, 2 or 3 keys! #endif #if KEYBITS == 128 #define ROUNDS 10 //!< Number of rounds. #define KEYLENGTH 16 //!< Key length in number of bytes. #elif KEYBITS == 192 #define ROUNDS 12 //!< Number of rounds. #define KEYLENGTH 24 //!< // Key length in number of bytes. #elif KEYBITS == 256 #define ROUNDS 14 //!< Number of rounds. #define KEYLENGTH 32 //!< Key length in number of bytes. #else #error Key must be 128, 192 or 256 bits! #endif extern unsigned char *expandedKey; extern void aesEncInit(void); extern void aesEncrypt( unsigned char * buffer, unsigned char * chainBlock ); extern void aesDecInit(void); extern void aesDecrypt( unsigned char * buffer, unsigned char * chainBlock ); #endif