2
* rijndael-alg-fst.h v2.4 April '2000
4
* Optimised ANSI C code
6
* #define INTERMEDIATE_VALUE_KAT to generate the Intermediate Value Known Answer Test.
9
#ifndef __RIJNDAEL_ALG_FST_H
10
#define __RIJNDAEL_ALG_FST_H
12
#define BINARY_KEY_MATERIAL
13
#define MAXKC (256/32)
18
typedef unsigned char byte;
19
typedef unsigned char word8;
20
typedef unsigned short word16;
21
typedef unsigned int word32;
22
#endif /* USUAL_TYPES */
24
int rijndaelKeySched(word8 k[MAXKC][4], word8 rk[MAXROUNDS+1][4][4], int ROUNDS);
26
int rijndaelKeyEncToDec(word8 W[MAXROUNDS+1][4][4], int ROUNDS);
28
int rijndaelEncrypt(word8 a[16], word8 b[16], word8 rk[MAXROUNDS+1][4][4], int ROUNDS);
30
#ifdef INTERMEDIATE_VALUE_KAT
31
int rijndaelEncryptRound(word8 a[4][4], word8 rk[MAXROUNDS+1][4][4], int ROUNDS, int rounds);
32
#endif /* INTERMEDIATE_VALUE_KAT */
34
int rijndaelDecrypt(word8 a[16], word8 b[16], word8 rk[MAXROUNDS+1][4][4], int ROUNDS);
36
#ifdef INTERMEDIATE_VALUE_KAT
37
int rijndaelDecryptRound(word8 a[4][4], word8 rk[MAXROUNDS+1][4][4], int ROUNDS, int rounds);
38
#endif /* INTERMEDIATE_VALUE_KAT */
40
#endif /* __RIJNDAEL_ALG_FST_H */