=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/cipher.h,v retrieving revision 1.29.2.2 retrieving revision 1.30 diff -u -r1.29.2.2 -r1.30 --- src/usr.bin/ssh/cipher.h 2002/05/17 00:03:23 1.29.2.2 +++ src/usr.bin/ssh/cipher.h 2002/02/14 23:41:01 1.30 @@ -1,5 +1,3 @@ -/* $OpenBSD: cipher.h,v 1.29.2.2 2002/05/17 00:03:23 miod Exp $ */ - /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -34,10 +32,16 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* RCSID("$OpenBSD: cipher.h,v 1.30 2002/02/14 23:41:01 markus Exp $"); */ + #ifndef CIPHER_H #define CIPHER_H -#include +#include +#include +#include +#include +#include "rijndael.h" /* * Cipher types for SSH-1. New types can be added, but old types should not * be removed for compatibility. The maximum allowed value is 31. @@ -63,8 +67,36 @@ struct Cipher; struct CipherContext { + union { + struct { + des_key_schedule key; + des_cblock iv; + } des; + struct { + des_key_schedule key1; + des_key_schedule key2; + des_key_schedule key3; + des_cblock iv1; + des_cblock iv2; + des_cblock iv3; + } des3; + struct { + struct bf_key_st key; + u_char iv[8]; + } bf; + struct { + CAST_KEY key; + u_char iv[8]; + } cast; + struct { + u_char iv[16]; + rijndael_ctx enc; + rijndael_ctx dec; + } rijndael; + RC4_KEY rc4; + } u; int plaintext; - EVP_CIPHER_CTX evp; + int encrypt; Cipher *cipher; }; @@ -81,11 +113,4 @@ void cipher_set_key_string(CipherContext *, Cipher *, const char *, int); u_int cipher_blocksize(Cipher *); u_int cipher_keylen(Cipher *); - -u_int cipher_get_number(Cipher *); -void cipher_get_keyiv(CipherContext *, u_char *, u_int); -void cipher_set_keyiv(CipherContext *, u_char *); -int cipher_get_keyiv_len(CipherContext *); -int cipher_get_keycontext(CipherContext *, u_char *); -void cipher_set_keycontext(CipherContext *, u_char *); #endif /* CIPHER_H */