xref: /minix3/minix/drivers/system/random/aes/rijndael-alg.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1*433d6423SLionel Sambuc /*
2*433d6423SLionel Sambuc  * rijndael-alg.h   v2.4   April '2000
3*433d6423SLionel Sambuc  *
4*433d6423SLionel Sambuc  * Optimised ANSI C code
5*433d6423SLionel Sambuc  */
6*433d6423SLionel Sambuc 
7*433d6423SLionel Sambuc #ifndef __RIJNDAEL_ALG_H
8*433d6423SLionel Sambuc #define __RIJNDAEL_ALG_H
9*433d6423SLionel Sambuc 
10*433d6423SLionel Sambuc #define MAXKC			(256/32)
11*433d6423SLionel Sambuc #define MAXROUNDS		14
12*433d6423SLionel Sambuc 
13*433d6423SLionel Sambuc /* Fix me: something generic based on inttypes.h */
14*433d6423SLionel Sambuc #include "word_i386.h"
15*433d6423SLionel Sambuc 
16*433d6423SLionel Sambuc int rijndael_KeySched(word8 k[MAXKC][4], word8 rk[MAXROUNDS+1][4][4], int ROUNDS);
17*433d6423SLionel Sambuc 
18*433d6423SLionel Sambuc int rijndael_KeyEncToDec(word8 W[MAXROUNDS+1][4][4], int ROUNDS);
19*433d6423SLionel Sambuc 
20*433d6423SLionel Sambuc int rijndael_Encrypt(const void *a, void *b, word8 rk[MAXROUNDS+1][4][4], int ROUNDS);
21*433d6423SLionel Sambuc 
22*433d6423SLionel Sambuc #ifdef INTERMEDIATE_VALUE_KAT
23*433d6423SLionel Sambuc int rijndaelEncryptRound(word8 a[4][4], word8 rk[MAXROUNDS+1][4][4], int ROUNDS, int rounds);
24*433d6423SLionel Sambuc #endif /* INTERMEDIATE_VALUE_KAT */
25*433d6423SLionel Sambuc 
26*433d6423SLionel Sambuc int rijndael_Decrypt(const void *a, void *b, word8 rk[MAXROUNDS+1][4][4], int ROUNDS);
27*433d6423SLionel Sambuc 
28*433d6423SLionel Sambuc #ifdef INTERMEDIATE_VALUE_KAT
29*433d6423SLionel Sambuc int rijndaelDecryptRound(word8 a[4][4], word8 rk[MAXROUNDS+1][4][4], int ROUNDS, int rounds);
30*433d6423SLionel Sambuc #endif /* INTERMEDIATE_VALUE_KAT */
31*433d6423SLionel Sambuc 
32*433d6423SLionel Sambuc #endif /* __RIJNDAEL_ALG_H */
33*433d6423SLionel Sambuc 
34*433d6423SLionel Sambuc /*
35*433d6423SLionel Sambuc  * $PchId: rijndael-alg.h,v 1.3 2003/09/29 09:19:17 philip Exp $
36*433d6423SLionel Sambuc  */
37