| The Android Open Source Project | 8b23a6c | 2009-03-03 19:30:32 -0800 | [diff] [blame] | 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 |