hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
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
/* SPDX-License-Identifier: BSD-2-Clause */
/*
 * Copyright (c) 2014, STMicroelectronics International N.V.
 * All rights reserved.
 */
 
#ifndef AES_IMPL_H
#define AES_IMPL_H
 
int rijndaelSetupEncrypt(unsigned long *rk, const unsigned char *key,
            int keybits);
 
int rijndaelSetupDecrypt(unsigned long *rk, const unsigned char *key,
            int keybits);
 
void rijndaelEncrypt(const unsigned long *rk, int nrounds,
            const unsigned char plaintext[16],
            unsigned char ciphertext[16]);
 
void rijndaelDecrypt(const unsigned long *rk, int nrounds,
            const unsigned char ciphertext[16],
            unsigned char plaintext[16]);
 
#define AES_BLOCK_SIZE        128
 
#define AES_128            128
#define AES_192            192
#define AES_256            256
 
#define KEYLENGTH(keybits)    ((keybits)/8)
#define RKLENGTH(keybits)    ((keybits)/8+28)
#define NROUNDS(keybits)    ((keybits)/32+6)
 
#endif