aboutsummaryrefslogtreecommitdiffstats
path: root/aes.h
blob: 6fb9023a49df03829e73b5f8521df62181b1b36c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef QEMU_AES_H
#define QEMU_AES_H

#define AES_MAXNR 14
#define AES_BLOCK_SIZE 16

typedef struct aes_key_st
{
    uint32_t  rd_key[4 *(AES_MAXNR + 1)];
    int       rounds;

} AES_KEY;

int AES_set_encrypt_key(const unsigned char*  userKey,
                        const int             bits,
                        AES_KEY*              key);

int AES_set_decrypt_key(const unsigned char*  userKey,
                        const int             bits,
                        AES_KEY*              key);

void AES_encrypt(const unsigned char*  in,
                 unsigned char*        out,
                 const AES_KEY*        key);

void AES_decrypt(const unsigned char*  in,
                 unsigned char*        out,
                 const AES_KEY*        key);

void AES_cbc_encrypt(const unsigned char*  in,
                     unsigned char*        out,
                     const unsigned long   length,
                     const AES_KEY*        key,
                     unsigned char*        ivec,
                     const int             enc);

#endif