diff options
author | Damien Miller <djm@mindrot.org> | 2002-02-19 05:21:23 +0100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2002-02-19 05:21:23 +0100 |
commit | 963f6b25e28ff55290ae45f540b7f7148a3622a9 (patch) | |
tree | 48d1a96683326594903955672277fe008bf622e4 /cipher.h | |
parent | - markus@cvs.openbsd.org 2002/02/14 23:28:00 (diff) | |
download | openssh-963f6b25e28ff55290ae45f540b7f7148a3622a9.tar.xz openssh-963f6b25e28ff55290ae45f540b7f7148a3622a9.zip |
- markus@cvs.openbsd.org 2002/02/14 23:41:01
[authfile.c cipher.c cipher.h kex.c kex.h packet.c]
hide some more implementation details of cipher.[ch] and prepares for move
to EVP, ok deraadt@
Diffstat (limited to 'cipher.h')
-rw-r--r-- | cipher.h | 29 |
1 files changed, 13 insertions, 16 deletions
@@ -32,7 +32,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* RCSID("$OpenBSD: cipher.h,v 1.29 2001/08/23 11:31:59 markus Exp $"); */ +/* RCSID("$OpenBSD: cipher.h,v 1.30 2002/02/14 23:41:01 markus Exp $"); */ #ifndef CIPHER_H #define CIPHER_H @@ -59,9 +59,13 @@ #define SSH_CIPHER_RESERVED 7 #define SSH_CIPHER_MAX 31 +#define CIPHER_ENCRYPT 1 +#define CIPHER_DECRYPT 0 + typedef struct Cipher Cipher; typedef struct CipherContext CipherContext; +struct Cipher; struct CipherContext { union { struct { @@ -91,18 +95,10 @@ struct CipherContext { } rijndael; RC4_KEY rc4; } u; + int plaintext; + int encrypt; Cipher *cipher; }; -struct Cipher { - char *name; - int number; /* for ssh1 only */ - u_int block_size; - u_int key_len; - void (*setkey)(CipherContext *, const u_char *, u_int); - void (*setiv)(CipherContext *, const u_char *, u_int); - void (*encrypt)(CipherContext *, u_char *, const u_char *, u_int); - void (*decrypt)(CipherContext *, u_char *, const u_char *, u_int); -}; u_int cipher_mask_ssh1(int); Cipher *cipher_by_name(const char *); @@ -111,9 +107,10 @@ int cipher_number(const char *); char *cipher_name(int); int ciphers_valid(const char *); void cipher_init(CipherContext *, Cipher *, const u_char *, u_int, - const u_char *, u_int); -void cipher_encrypt(CipherContext *, u_char *, const u_char *, u_int); -void cipher_decrypt(CipherContext *, u_char *, const u_char *, u_int); -void cipher_set_key_string(CipherContext *, Cipher *, const char *); - + const u_char *, u_int, int); +void cipher_crypt(CipherContext *, u_char *, const u_char *, u_int); +void cipher_cleanup(CipherContext *); +void cipher_set_key_string(CipherContext *, Cipher *, const char *, int); +u_int cipher_blocksize(Cipher *); +u_int cipher_keylen(Cipher *); #endif /* CIPHER_H */ |