X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fopenssl%2Fcipher.h;h=c9f89eb5e95612bfd4dd28478d6d66cc1e416771;hb=e70b5b5bd77bb66e8dd324c17d86d9bff151aa82;hp=482f1a6d476f2b481389e87603f73fb9c18896f3;hpb=33f241d97852d7a171f1aaf1bda7f66356ff889e;p=meshlink diff --git a/src/openssl/cipher.h b/src/openssl/cipher.h index 482f1a6d..c9f89eb5 100644 --- a/src/openssl/cipher.h +++ b/src/openssl/cipher.h @@ -1,6 +1,6 @@ /* cipher.h -- header file cipher.c - Copyright (C) 2007 Guus Sliepen + Copyright (C) 2007-2012 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,9 +29,7 @@ typedef struct cipher { EVP_CIPHER_CTX ctx; const EVP_CIPHER *cipher; - char *key; - uint16_t keylen; - uint16_t blklen; + struct cipher_counter *counter; } cipher_t; extern bool cipher_open_by_name(cipher_t *, const char *); @@ -39,12 +37,13 @@ extern bool cipher_open_by_nid(cipher_t *, int); extern bool cipher_open_blowfish_ofb(cipher_t *); extern void cipher_close(cipher_t *); extern size_t cipher_keylength(const cipher_t *); -extern void cipher_get_key(const cipher_t *, void *); extern bool cipher_set_key(cipher_t *, void *, bool); extern bool cipher_set_key_from_rsa(cipher_t *, void *, size_t, bool); -extern bool cipher_regenerate_key(cipher_t *, bool); +extern bool cipher_set_counter(cipher_t *, const void *, size_t); +extern bool cipher_set_counter_key(cipher_t *, void *); extern bool cipher_encrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool); extern bool cipher_decrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool); +extern bool cipher_counter_xor(cipher_t *, const void *indata, size_t inlen, void *outdata); extern int cipher_get_nid(const cipher_t *); extern bool cipher_active(const cipher_t *);