91416784e4
a consistent interface to h/w and s/w crypto algorithms for use by the kernel and (for h/w at least) by user-mode apps. Access for user-level code is through a /dev/crypto device that'll eventually be used by openssl to (potentially) accelerate many applications. Coming soon is an IPsec that makes use of this service to accelerate ESP, AH, and IPCOMP protocols. Included here is the "core" crypto support, /dev/crypto driver, various crypto algorithms that are not already present in the KAME crypto area, and support routines used by crypto device drivers. Obtained from: openbsd
24 lines
640 B
C
24 lines
640 B
C
/* $FreeBSD$ */
|
|
/* $OpenBSD: cast.h,v 1.2 2002/03/14 01:26:51 millert Exp $ */
|
|
|
|
/*
|
|
* CAST-128 in C
|
|
* Written by Steve Reid <sreid@sea-to-sky.net>
|
|
* 100% Public Domain - no warranty
|
|
* Released 1997.10.11
|
|
*/
|
|
|
|
#ifndef _CAST_H_
|
|
#define _CAST_H_
|
|
|
|
typedef struct {
|
|
u_int32_t xkey[32]; /* Key, after expansion */
|
|
int rounds; /* Number of rounds to use, 12 or 16 */
|
|
} cast_key;
|
|
|
|
void cast_setkey(cast_key * key, u_int8_t * rawkey, int keybytes);
|
|
void cast_encrypt(cast_key * key, u_int8_t * inblock, u_int8_t * outblock);
|
|
void cast_decrypt(cast_key * key, u_int8_t * inblock, u_int8_t * outblock);
|
|
|
|
#endif /* ifndef _CAST_H_ */
|