/* * rijndael-alg-fst.h v2.4 April '2000 * rijndael-api-fst.h v2.4 April '2000 * * Optimised ANSI C code * */ #ifndef RIJNDAEL_H #define RIJNDAEL_H #define RIJNDAEL_MAXKC (256/32) #define RIJNDAEL_MAXROUNDS 14 #define RIJNDAEL_ENCRYPT 0 #define RIJNDAEL_DECRYPT 1 typedef struct { int ROUNDS; /* key-length-dependent number of rounds */ u_int8_t keySched[RIJNDAEL_MAXROUNDS+1][4][4]; } rijndael_key; int rijndael_encrypt(rijndael_key *key, u_int8_t a[16], u_int8_t b[16]); int rijndael_decrypt(rijndael_key *key, u_int8_t a[16], u_int8_t b[16]); int rijndael_makekey(rijndael_key *key, int direction, int keyLen, u_int8_t *keyMaterial); #endif