]> andersk Git - openssh.git/blobdiff - cipher.h
- markus@cvs.openbsd.org 2002/02/14 23:41:01
[openssh.git] / cipher.h
index 16dd06230f6fe692127615ff4e7d6ca799b1d16a..0c412b47f956733520f2176f3a71861c0a3ff57f 100644 (file)
--- a/cipher.h
+++ b/cipher.h
@@ -32,7 +32,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/* RCSID("$OpenBSD: cipher.h,v 1.27 2001/06/26 06:32:49 itojun Exp $"); */
+/* RCSID("$OpenBSD: cipher.h,v 1.30 2002/02/14 23:41:01 markus Exp $"); */
 
 #ifndef CIPHER_H
 #define CIPHER_H
 #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 {
@@ -85,35 +89,28 @@ struct CipherContext {
                        u_char iv[8];
                } cast;
                struct {
-                       u4byte iv[4];
+                       u_char iv[16];
                        rijndael_ctx enc;
                        rijndael_ctx dec;
                } 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 *);
-Cipher *cipher_by_number(int);
-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 *);
 
+u_int   cipher_mask_ssh1(int);
+Cipher *cipher_by_name(const char *);
+Cipher *cipher_by_number(int);
+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, 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 */
This page took 0.037053 seconds and 4 git commands to generate.