aes.h revision 37dc41a01f33a1e6aca0458b205c2b1609fe82c3
1#ifndef QEMU_AES_H
2#define QEMU_AES_H
3
4#define AES_MAXNR 14
5#define AES_BLOCK_SIZE 16
6
7struct aes_key_st {
8    uint32_t rd_key[4 *(AES_MAXNR + 1)];
9    int rounds;
10};
11typedef struct aes_key_st AES_KEY;
12
13int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
14	AES_KEY *key);
15int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
16	AES_KEY *key);
17
18void AES_encrypt(const unsigned char *in, unsigned char *out,
19	const AES_KEY *key);
20void AES_decrypt(const unsigned char *in, unsigned char *out,
21	const AES_KEY *key);
22void 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