X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgcrypt%2Fcipher.h;h=2067db68c87f3f7bfd48c09d5e465e7b91bd1add;hb=28b7a53b693f6b4e70218a926e68a36ece54cda1;hp=8e4a2ebf5aac165e58f6eae62f80bae1f715a957;hpb=79e9a4f743b7b59fed968575f6b36171cf4a0063;p=tinc diff --git a/src/gcrypt/cipher.h b/src/gcrypt/cipher.h index 8e4a2ebf..2067db68 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 @@ -17,36 +20,17 @@ 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 - -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