xref: /dflybsd-src/sys/opencrypto/cast.h (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino /*	$FreeBSD: src/sys/opencrypto/cast.h,v 1.2 2005/01/07 02:29:16 imp Exp $	*/
286d7f5d3SJohn Marino /*      $OpenBSD: cast.h,v 1.2 2002/03/14 01:26:51 millert Exp $       */
386d7f5d3SJohn Marino 
486d7f5d3SJohn Marino /*-
586d7f5d3SJohn Marino  *	CAST-128 in C
686d7f5d3SJohn Marino  *	Written by Steve Reid <sreid@sea-to-sky.net>
786d7f5d3SJohn Marino  *	100% Public Domain - no warranty
886d7f5d3SJohn Marino  *	Released 1997.10.11
986d7f5d3SJohn Marino  */
1086d7f5d3SJohn Marino 
1186d7f5d3SJohn Marino #ifndef _CAST_H_
1286d7f5d3SJohn Marino #define _CAST_H_
1386d7f5d3SJohn Marino 
1486d7f5d3SJohn Marino typedef struct {
1586d7f5d3SJohn Marino 	u_int32_t	xkey[32];	/* Key, after expansion */
1686d7f5d3SJohn Marino 	int		rounds;		/* Number of rounds to use, 12 or 16 */
1786d7f5d3SJohn Marino } cast_key;
1886d7f5d3SJohn Marino 
1986d7f5d3SJohn Marino void cast_setkey(cast_key * key, u_int8_t * rawkey, int keybytes);
2086d7f5d3SJohn Marino void cast_encrypt(cast_key * key, u_int8_t * inblock, u_int8_t * outblock);
2186d7f5d3SJohn Marino void cast_decrypt(cast_key * key, u_int8_t * inblock, u_int8_t * outblock);
2286d7f5d3SJohn Marino 
2386d7f5d3SJohn Marino #endif /* ifndef _CAST_H_ */
24