1 /* $NetBSD: cast128.h,v 1.7 2005/12/11 12:20:52 christos Exp $ */ 2 /* $OpenBSD: cast.h,v 1.2 2002/03/14 01:26:51 millert Exp $ */ 3 4 /* 5 * CAST-128 in C 6 * Written by Steve Reid <sreid@sea-to-sky.net> 7 * 100% Public Domain - no warranty 8 * Released 1997.10.11 9 */ 10 11 #ifndef _CAST128_H_ 12 #define _CAST128_H_ 13 14 typedef struct { 15 u_int32_t xkey[32]; /* Key, after expansion */ 16 int rounds; /* Number of rounds to use, 12 or 16 */ 17 } cast128_key; 18 19 void cast128_setkey(cast128_key *key, const u_int8_t *rawkey, int keybytes); 20 void cast128_encrypt(const cast128_key *key, const u_int8_t *inblock, 21 u_int8_t *outblock); 22 void cast128_decrypt(const cast128_key *key, const u_int8_t *inblock, 23 u_int8_t *outblock); 24 25 #endif /* _CAST128_H_ */ 26