X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgcrypt%2Fcipher.h;h=2067db68c87f3f7bfd48c09d5e465e7b91bd1add;hb=01dc7836703ba3aa113f3d0102f13ba73319e50b;hp=64cb42dd1d3ad65aa1c7ec8cecf98680170c4650;hpb=5822f817aa802c2c5a83e9d99a8ae78cb822799b;p=tinc diff --git a/src/gcrypt/cipher.h b/src/gcrypt/cipher.h index 64cb42dd..2067db68 100644 --- a/src/gcrypt/cipher.h +++ b/src/gcrypt/cipher.h @@ -3,7 +3,7 @@ /* cipher.h -- header file cipher.c - Copyright (C) 2007-2009 Guus Sliepen + Copyright (C) 2007-2022 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 @@ -20,33 +20,17 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include +#include "../system.h" -#define CIPHER_MAX_BLOCK_SIZE 32 -#define CIPHER_MAX_IV_SIZE 16 -#define CIPHER_MAX_KEY_SIZE 32 +#include -typedef struct cipher { +struct cipher { gcry_cipher_hd_t handle; - char *key; + uint8_t *key; int nid; uint16_t keylen; uint16_t blklen; bool padding; -} cipher_t; - -extern bool cipher_open_by_name(struct cipher *, const char *); -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 *); -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 *, 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 *); +}; #endif