X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgcrypt%2Fcipher.h;h=5f93a384ab563d30e96f449e7fd20108677cd900;hb=bc4df95a48857aa4ab65fb47eabd48c48d650ca0;hp=4d1e0962463699b0cfffbffa1a8382ad7d9ed656;hpb=5a132550deb58473285e5f91705d286aef47be71;p=tinc diff --git a/src/gcrypt/cipher.h b/src/gcrypt/cipher.h index 4d1e0962..5f93a384 100644 --- a/src/gcrypt/cipher.h +++ b/src/gcrypt/cipher.h @@ -1,6 +1,9 @@ +#ifndef TINC_GCRYPT_CIPHER_H +#define TINC_GCRYPT_CIPHER_H + /* cipher.h -- header file cipher.c - Copyright (C) 2007 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 @@ -12,42 +15,24 @@ 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__ -#define __TINC_CIPHER_H__ +#include "../system.h" #include -#define CIPHER_MAX_BLOCK_SIZE 32 -#define CIPHER_MAX_IV_SIZE 16 -#define CIPHER_MAX_KEY_SIZE 32 +#include "../legacy.h" typedef struct cipher { gcry_cipher_hd_t handle; - char *key; - int nid; + uint8_t *key; + nid_t 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