2005-12-11 15:16:03 +03:00
|
|
|
/* $NetBSD: cast128.h,v 1.7 2005/12/11 12:20:52 christos Exp $ */
|
2003-08-26 20:37:36 +04:00
|
|
|
/* $OpenBSD: cast.h,v 1.2 2002/03/14 01:26:51 millert Exp $ */
|
2000-06-14 23:45:33 +04:00
|
|
|
|
|
|
|
/*
|
2003-08-26 20:37:36 +04:00
|
|
|
* CAST-128 in C
|
|
|
|
* Written by Steve Reid <sreid@sea-to-sky.net>
|
|
|
|
* 100% Public Domain - no warranty
|
|
|
|
* Released 1997.10.11
|
2000-06-14 23:45:33 +04:00
|
|
|
*/
|
|
|
|
|
2003-08-26 20:37:36 +04:00
|
|
|
#ifndef _CAST128_H_
|
|
|
|
#define _CAST128_H_
|
2000-06-14 23:45:33 +04:00
|
|
|
|
2003-08-26 20:37:36 +04:00
|
|
|
typedef struct {
|
|
|
|
u_int32_t xkey[32]; /* Key, after expansion */
|
|
|
|
int rounds; /* Number of rounds to use, 12 or 16 */
|
|
|
|
} cast128_key;
|
2000-06-14 23:45:33 +04:00
|
|
|
|
2003-08-26 23:58:36 +04:00
|
|
|
void cast128_setkey(cast128_key *key, const u_int8_t *rawkey, int keybytes);
|
|
|
|
void cast128_encrypt(const cast128_key *key, const u_int8_t *inblock,
|
|
|
|
u_int8_t *outblock);
|
|
|
|
void cast128_decrypt(const cast128_key *key, const u_int8_t *inblock,
|
|
|
|
u_int8_t *outblock);
|
2000-06-14 23:45:33 +04:00
|
|
|
|
2003-08-26 20:37:36 +04:00
|
|
|
#endif /* _CAST128_H_ */
|