]> git.saurik.com Git - apple/xnu.git/blob - bsd/crypto/rijndael/rijndael-alg-fst.h
xnu-517.12.7.tar.gz
[apple/xnu.git] / bsd / crypto / rijndael / rijndael-alg-fst.h
1 /* $FreeBSD: src/sys/crypto/rijndael/rijndael-alg-fst.h,v 1.2.2.1 2001/07/03 11:01:35 ume Exp $ */
2 /* $KAME: rijndael-alg-fst.h,v 1.4 2000/10/02 17:14:26 itojun Exp $ */
3
4 /*
5 * rijndael-alg-fst.h v2.3 April '2000
6 *
7 * Optimised ANSI C code
8 *
9 * #define INTERMEDIATE_VALUE_KAT to generate the Intermediate Value Known Answer Test.
10 */
11
12 #ifndef __RIJNDAEL_ALG_FST_H
13 #define __RIJNDAEL_ALG_FST_H
14
15 #define RIJNDAEL_MAXKC (256/32)
16 #define RIJNDAEL_MAXROUNDS 14
17
18 int rijndaelKeySched(u_int8_t k[RIJNDAEL_MAXKC][4], u_int8_t rk[RIJNDAEL_MAXROUNDS+1][4][4], int ROUNDS);
19
20 int rijndaelKeyEncToDec(u_int8_t W[RIJNDAEL_MAXROUNDS+1][4][4], int ROUNDS);
21
22 int rijndaelEncrypt(u_int8_t a[16], u_int8_t b[16], u_int8_t rk[RIJNDAEL_MAXROUNDS+1][4][4], int ROUNDS);
23
24 #ifdef INTERMEDIATE_VALUE_KAT
25 int rijndaelEncryptRound(u_int8_t a[4][4], u_int8_t rk[RIJNDAEL_MAXROUNDS+1][4][4], int ROUNDS, int rounds);
26 #endif /* INTERMEDIATE_VALUE_KAT */
27
28 int rijndaelDecrypt(u_int8_t a[16], u_int8_t b[16], u_int8_t rk[RIJNDAEL_MAXROUNDS+1][4][4], int ROUNDS);
29
30 #ifdef INTERMEDIATE_VALUE_KAT
31 int rijndaelDecryptRound(u_int8_t a[4][4], u_int8_t rk[RIJNDAEL_MAXROUNDS+1][4][4], int ROUNDS, int rounds);
32 #endif /* INTERMEDIATE_VALUE_KAT */
33
34 #endif /* __RIJNDAEL_ALG_FST_H */