summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/cipher.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssh/cipher.h')
-rw-r--r--crypto/openssh/cipher.h56
1 files changed, 29 insertions, 27 deletions
diff --git a/crypto/openssh/cipher.h b/crypto/openssh/cipher.h
index 133d2e7..06d4be4 100644
--- a/crypto/openssh/cipher.h
+++ b/crypto/openssh/cipher.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cipher.h,v 1.44 2014/01/25 10:12:50 dtucker Exp $ */
+/* $OpenBSD: cipher.h,v 1.48 2015/07/08 19:09:25 markus Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -37,8 +37,10 @@
#ifndef CIPHER_H
#define CIPHER_H
+#include <sys/types.h>
#include <openssl/evp.h>
#include "cipher-chachapoly.h"
+#include "cipher-aesctr.h"
/*
* Cipher types for SSH-1. New types can be added, but old types should not
@@ -60,44 +62,44 @@
#define CIPHER_ENCRYPT 1
#define CIPHER_DECRYPT 0
-typedef struct Cipher Cipher;
-typedef struct CipherContext CipherContext;
-
-struct Cipher;
-struct CipherContext {
+struct sshcipher;
+struct sshcipher_ctx {
int plaintext;
int encrypt;
EVP_CIPHER_CTX evp;
struct chachapoly_ctx cp_ctx; /* XXX union with evp? */
- const Cipher *cipher;
+ struct aesctr_ctx ac_ctx; /* XXX union with evp? */
+ const struct sshcipher *cipher;
};
u_int cipher_mask_ssh1(int);
-const Cipher *cipher_by_name(const char *);
-const Cipher *cipher_by_number(int);
+const struct sshcipher *cipher_by_name(const char *);
+const struct sshcipher *cipher_by_number(int);
int cipher_number(const char *);
char *cipher_name(int);
+const char *cipher_warning_message(const struct sshcipher_ctx *);
int ciphers_valid(const char *);
char *cipher_alg_list(char, int);
-void cipher_init(CipherContext *, const Cipher *, const u_char *, u_int,
- const u_char *, u_int, int);
-int cipher_crypt(CipherContext *, u_int, u_char *, const u_char *,
+int cipher_init(struct sshcipher_ctx *, const struct sshcipher *,
+ const u_char *, u_int, const u_char *, u_int, int);
+int cipher_crypt(struct sshcipher_ctx *, u_int, u_char *, const u_char *,
u_int, u_int, u_int);
-int cipher_get_length(CipherContext *, u_int *, u_int,
+int cipher_get_length(struct sshcipher_ctx *, u_int *, u_int,
const u_char *, u_int);
-void cipher_cleanup(CipherContext *);
-void cipher_set_key_string(CipherContext *, const Cipher *, const char *, int);
-u_int cipher_blocksize(const Cipher *);
-u_int cipher_keylen(const Cipher *);
-u_int cipher_seclen(const Cipher *);
-u_int cipher_authlen(const Cipher *);
-u_int cipher_ivlen(const Cipher *);
-u_int cipher_is_cbc(const Cipher *);
+int cipher_cleanup(struct sshcipher_ctx *);
+int cipher_set_key_string(struct sshcipher_ctx *, const struct sshcipher *,
+ const char *, int);
+u_int cipher_blocksize(const struct sshcipher *);
+u_int cipher_keylen(const struct sshcipher *);
+u_int cipher_seclen(const struct sshcipher *);
+u_int cipher_authlen(const struct sshcipher *);
+u_int cipher_ivlen(const struct sshcipher *);
+u_int cipher_is_cbc(const struct sshcipher *);
-u_int cipher_get_number(const Cipher *);
-void cipher_get_keyiv(CipherContext *, u_char *, u_int);
-void cipher_set_keyiv(CipherContext *, u_char *);
-int cipher_get_keyiv_len(const CipherContext *);
-int cipher_get_keycontext(const CipherContext *, u_char *);
-void cipher_set_keycontext(CipherContext *, u_char *);
+u_int cipher_get_number(const struct sshcipher *);
+int cipher_get_keyiv(struct sshcipher_ctx *, u_char *, u_int);
+int cipher_set_keyiv(struct sshcipher_ctx *, const u_char *);
+int cipher_get_keyiv_len(const struct sshcipher_ctx *);
+int cipher_get_keycontext(const struct sshcipher_ctx *, u_char *);
+void cipher_set_keycontext(struct sshcipher_ctx *, const u_char *);
#endif /* CIPHER_H */
OpenPOWER on IntegriCloud