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