1 /* $FreeBSD: src/sys/opencrypto/cast.h,v 1.1.2.1 2002/11/21 23:34:23 sam Exp $ */ 2 /* $DragonFly: src/sys/opencrypto/cast.h,v 1.2 2003/06/17 04:28:54 dillon Exp $ */ 3 /* $OpenBSD: cast.h,v 1.2 2002/03/14 01:26:51 millert Exp $ */ 4 5 /* 6 * CAST-128 in C 7 * Written by Steve Reid <sreid@sea-to-sky.net> 8 * 100% Public Domain - no warranty 9 * Released 1997.10.11 10 */ 11 12 #ifndef _CAST_H_ 13 #define _CAST_H_ 14 15 typedef struct { 16 u_int32_t xkey[32]; /* Key, after expansion */ 17 int rounds; /* Number of rounds to use, 12 or 16 */ 18 } cast_key; 19 20 void cast_setkey(cast_key * key, u_int8_t * rawkey, int keybytes); 21 void cast_encrypt(cast_key * key, u_int8_t * inblock, u_int8_t * outblock); 22 void cast_decrypt(cast_key * key, u_int8_t * inblock, u_int8_t * outblock); 23 24 #endif /* ifndef _CAST_H_ */ 25