blob: bc5bf63fc4e4dbe35ca4560f5fe24140e7c8e7cb [file] [log] [blame]
Etienne Carriere75141172020-05-16 11:58:23 +02001/* SPDX-License-Identifier: BSD-2-Clause */
Pascal Brandc639ac82015-07-02 08:53:34 +02002/*
3 * Copyright (c) 2014, STMicroelectronics International N.V.
4 * All rights reserved.
Pascal Brandc639ac82015-07-02 08:53:34 +02005 */
6
7#ifndef AES_IMPL_H
8#define AES_IMPL_H
9
10int rijndaelSetupEncrypt(unsigned long *rk, const unsigned char *key,
11 int keybits);
12
13int rijndaelSetupDecrypt(unsigned long *rk, const unsigned char *key,
14 int keybits);
15
16void rijndaelEncrypt(const unsigned long *rk, int nrounds,
17 const unsigned char plaintext[16],
18 unsigned char ciphertext[16]);
19
20void rijndaelDecrypt(const unsigned long *rk, int nrounds,
21 const unsigned char ciphertext[16],
22 unsigned char plaintext[16]);
23
24#define AES_BLOCK_SIZE 128
25
26#define AES_128 128
27#define AES_192 192
28#define AES_256 256
29
30#define KEYLENGTH(keybits) ((keybits)/8)
31#define RKLENGTH(keybits) ((keybits)/8+28)
32#define NROUNDS(keybits) ((keybits)/32+6)
33
34#endif