X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=crypt.h;h=898e3446e98364eb2bb879323af34bb8838beb94;hb=d09716570fc81b71d6ad3d5f543b5f8acf1a5e33;hp=8edff4130a1386689108400af496a980b94e2fa7;hpb=aef566e9c8680629bac1ea84893b8b3ccd13da77;p=paraslash.git diff --git a/crypt.h b/crypt.h index 8edff413..898e3446 100644 --- a/crypt.h +++ b/crypt.h @@ -1,19 +1,22 @@ /* - * Copyright (C) 2005-2009 Andre Noll + * Copyright (C) 2005-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ -/** \file crypt.h prototypes for the RSA crypt functions */ +/** \file crypt.h Prototypes for paraslash crypto functions. */ -#include -int para_encrypt_buffer(RSA* rsa, unsigned char *inbuf, unsigned len, - unsigned char *outbuf); -int para_decrypt_buffer(char *key_file, unsigned char *outbuf, unsigned char *inbuf, - unsigned rsa_inlen); -int get_rsa_key(char *key_file, RSA **rsa, int private); +/** Opaque structure for public and private keys. */ +struct asymmetric_key; + +int pub_encrypt(struct asymmetric_key *pub, unsigned char *inbuf, + unsigned len, unsigned char *outbuf); +int priv_decrypt(const char *key_file, unsigned char *outbuf, + unsigned char *inbuf, int inlen); +int get_asymmetric_key(const char *key_file, int private, + struct asymmetric_key **result); +void free_asymmetric_key(struct asymmetric_key *key); -void rsa_free(RSA *rsa); void get_random_bytes_or_die(unsigned char *buf, int num); void init_random_seed_or_die(void);