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
14typedef 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
19void cast128_setkey(cast128_key *key, const u_int8_t *rawkey, int keybytes);
20void cast128_encrypt(const cast128_key *key, const u_int8_t *inblock,
21 u_int8_t *outblock);
22void cast128_decrypt(const cast128_key *key, const u_int8_t *inblock,
23 u_int8_t *outblock);
24
25#endif /* _CAST128_H_ */
26