X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgcrypt%2Fcipher.h;h=8e4a2ebf5aac165e58f6eae62f80bae1f715a957;hb=3fca2cad485ef70360bca085c5c4d052b6deb15b;hp=759a523955d5c487fa5363bfc325dde653dfea5f;hpb=1b8f8918360b40a2749d40355266ed7dedbe41b5;p=tinc diff --git a/src/gcrypt/cipher.h b/src/gcrypt/cipher.h index 759a5239..8e4a2ebf 100644 --- a/src/gcrypt/cipher.h +++ b/src/gcrypt/cipher.h @@ -12,11 +12,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __TINC_CIPHER_H__ @@ -24,12 +22,17 @@ #include +#define CIPHER_MAX_BLOCK_SIZE 32 +#define CIPHER_MAX_IV_SIZE 16 +#define CIPHER_MAX_KEY_SIZE 32 + typedef struct cipher { gcry_cipher_hd_t handle; char *key; int nid; uint16_t keylen; uint16_t blklen; + bool padding; } cipher_t; extern bool cipher_open_by_name(struct cipher *, const char *); @@ -37,12 +40,12 @@ extern bool cipher_open_by_nid(struct cipher *, int); extern bool cipher_open_blowfish_ofb(struct cipher *); extern void cipher_close(struct cipher *); extern size_t cipher_keylength(const struct cipher *); -extern void cipher_get_key(const struct cipher *, void *, bool); +extern void cipher_get_key(const struct cipher *, void *); extern bool cipher_set_key(struct cipher *, void *, bool); extern bool cipher_set_key_from_rsa(struct cipher *, void *, size_t, bool); -extern bool cipher_regenerate_key(struct cipher *); -extern bool cipher_encrypt(struct cipher *, void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot); -extern bool cipher_decrypt(struct cipher *, void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot); +extern bool cipher_regenerate_key(struct cipher *, bool); +extern bool cipher_encrypt(struct cipher *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot); +extern bool cipher_decrypt(struct cipher *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot); extern int cipher_get_nid(const struct cipher *); extern bool cipher_active(const struct cipher *);