This is des.h in view mode; [Download] [Up]
/*
DES implementation; 1995 Tatu Ylonen <ylo@cs.hut.fi>
This implementation is derived from libdes-3.06, which is copyright
(c) 1993 Eric Young, and distributed under the GNU GPL or the ARTISTIC licence
(at the user's option). The original distribution can be found e.g. from
ftp://ftp.dsi.unimi.it/pub/security/crypt/libdes/libdes-3.06.tar.gz.
This implementation is distributed under the same terms. See
libdes-README, libdes-ARTISTIC, and libdes-COPYING for more
information.
*/
/*
* $Id: des.h,v 1.1.1.1 1996/02/18 21:38:11 ylo Exp $
* $Log: des.h,v $
* Revision 1.1.1.1 1996/02/18 21:38:11 ylo
* Imported ssh-1.2.13.
*
* Revision 1.2 1995/07/13 01:22:57 ylo
* Added cvs log.
*
* $Endlog$
*/
#ifndef DES_H
#define DES_H
typedef struct
{
word32 key_schedule[32];
} DESContext;
/* Sets the des key for the context. Initializes the context. The least
significant bit of each byte of the key is ignored as parity. */
void des_set_key(unsigned char *key, DESContext *ks);
/* Encrypts 32 bits in l,r, and stores the result in output[0] and output[1].
Performs encryption if encrypt is non-zero, and decryption if it is zero.
The key context must have been initialized previously with des_set_key. */
void des_encrypt(word32 l, word32 r, word32 *output, DESContext *ks,
int encrypt);
/* Encrypts len bytes from src to dest in CBC modes. Len must be a multiple
of 8. iv will be modified at end to a value suitable for continuing
encryption. */
void des_cbc_encrypt(DESContext *ks, unsigned char *iv, unsigned char *dest,
const unsigned char *src, unsigned int len);
/* Decrypts len bytes from src to dest in CBC modes. Len must be a multiple
of 8. iv will be modified at end to a value suitable for continuing
decryption. */
void des_cbc_decrypt(DESContext *ks, unsigned char *iv, unsigned char *dest,
const unsigned char *src, unsigned int len);
/* Encrypts in CBC mode using triple-DES. */
void des_3cbc_encrypt(DESContext *ks1, unsigned char *iv1,
DESContext *ks2, unsigned char *iv2,
DESContext *ks3, unsigned char *iv3,
unsigned char *dest, const unsigned char *src,
unsigned int len);
/* Decrypts in CBC mode using triple-DES. */
void des_3cbc_decrypt(DESContext *ks1, unsigned char *iv1,
DESContext *ks2, unsigned char *iv2,
DESContext *ks3, unsigned char *iv3,
unsigned char *dest, const unsigned char *src,
unsigned int len);
#endif /* DES_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.