| /* 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 |