xref: /btstack/3rd-party/rijndael/rijndael.h (revision f13fc290073baa163f06f3cc4c97b90a73935e8a)
1 // =============================== RIJNDAEL.H   ===============================
2 // from http://www.efgh.com/software/rijndael.htm,
3 // License: Public Domain,
4 // Author:  Philip J. Erdelsky
5 
6 #ifndef H__RIJNDAEL
7 #define H__RIJNDAEL
8 
9 #include <stdint.h>
10 
11 int rijndaelSetupEncrypt(uint32_t *rk, const uint8_t *key, int keybits);
12 int rijndaelSetupDecrypt(uint32_t *rk, const uint8_t *key, int keybits);
13 void rijndaelEncrypt(const uint32_t *rk, int nrounds, const uint8_t plaintext[16], uint8_t ciphertext[16]);
14 void rijndaelDecrypt(const uint32_t *rk, int nrounds, const uint8_t ciphertext[16], uint8_t plaintext[16]);
15 
16 #define KEYBITS 128
17 
18 #define KEYLENGTH(keybits) ((keybits)/8)
19 #define RKLENGTH(keybits)  ((keybits)/8+28)
20 #define NROUNDS(keybits)   ((keybits)/32+6)
21 
22 #endif
23 
24