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