1 #ifndef QEMU_AES_H 2 #define QEMU_AES_H 3 4 #define AES_MAXNR 14 5 #define AES_BLOCK_SIZE 16 6 7 struct aes_key_st { 8 uint32_t rd_key[4 *(AES_MAXNR + 1)]; 9 int rounds; 10 }; 11 typedef struct aes_key_st AES_KEY; 12 13 int AES_set_encrypt_key(const unsigned char *userKey, const int bits, 14 AES_KEY *key); 15 int AES_set_decrypt_key(const unsigned char *userKey, const int bits, 16 AES_KEY *key); 17 18 void AES_encrypt(const unsigned char *in, unsigned char *out, 19 const AES_KEY *key); 20 void AES_decrypt(const unsigned char *in, unsigned char *out, 21 const AES_KEY *key); 22 void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, 23 const unsigned long length, const AES_KEY *key, 24 unsigned char *ivec, const int enc); 25 26 #endif 27