30#define PKRSRV_RSA_PUB_EXPONENT 65537
31#define PKRSRV_RSA_PRIME_BITS 2048
32#define PKRSRV_RSA_PRIME_REPS 50
33#define PKRSRV_RSA_BLOCK_SIZE 128
35#define PKRSRV_MPZ_ENDIAN 1
36#define PKRSRV_MPZ_ORDER 1
39#define PKRSRV_RSA_RANDOM_SEED_ADDS_MASK 20
70 pkrsrv_rsa_key_t*
key;
89pkrsrv_string_t*
pkrsrv_rsa_decrypt(pkrsrv_rsa_encrypted_t* encrypted, pkrsrv_rsa_key_t* privkey);
97pkrsrv_string_t*
pkrsrv_rsa_sign(pkrsrv_string_t* data, pkrsrv_rsa_key_t* privkey);
98bool pkrsrv_rsa_verify(pkrsrv_string_t* data, pkrsrv_string_t* signature, pkrsrv_rsa_key_t* pubkey);
#define PKRSRV_REF_COUNTEDIFY()
Makes a structure reference-counted.
Definition ref.h:70
pkrsrv_rsa_key_t * privkey
Definition rsa.h:61
pkrsrv_rsa_key_t * pubkey
Definition rsa.h:60
mpz_t n
Definition rsa.h:52
pkrsrv_string_t * data
Definition rsa.h:69
mpz_t e
Definition rsa.h:51
pkrsrv_rsa_key_t * key
Definition rsa.h:70
void pkrsrv_rsa_key_free(pkrsrv_rsa_key_t *key)
void pkrsrv_rsa_keypair_free(pkrsrv_rsa_keypair_t *keypair)
pkrsrv_string_t * pkrsrv_rsa_signature_to_hex(pkrsrv_string_t *signature_bin)
void pkrsrv_rsa_random_prime(mpz_t num)
pkrsrv_string_t * pkrsrv_rsa_sign(pkrsrv_string_t *data, pkrsrv_rsa_key_t *privkey)
pkrsrv_rsa_keypair_t * pkrsrv_rsa_keypair_new()
pkrsrv_string_t * pkrsrv_rsa_decrypt(pkrsrv_rsa_encrypted_t *encrypted, pkrsrv_rsa_key_t *privkey)
uint8_t pkrsrv_rsa_random_seed_adds_t
Definition rsa.h:38
pkrsrv_rsa_key_t * pkrsrv_rsa_key_new()
pkrsrv_rsa_key_t * pkrsrv_rsa_key_from_hex(pkrsrv_string_t *hex)
pkrsrv_string_t * pkrsrv_rsa_signature_from_hex(pkrsrv_string_t *signature_hex)
pkrsrv_string_t * pkrsrv_rsa_key_to_hex(pkrsrv_rsa_key_t *key)
void pkrsrv_rsa_encrypted_set_key(pkrsrv_rsa_encrypted_t *encrypted, pkrsrv_rsa_key_t *key)
uint32_t pkrsrv_rsa_hash_h32__n(char *data, ssize_t length)
void pkrsrv_rsa_encrypted_set_data(pkrsrv_rsa_encrypted_t *encrypted, pkrsrv_string_t *data)
void pkrsrv_rsa_encrypted_free(pkrsrv_rsa_encrypted_t *encrypted)
bool pkrsrv_rsa_verify(pkrsrv_string_t *data, pkrsrv_string_t *signature, pkrsrv_rsa_key_t *pubkey)
pkrsrv_rsa_key_t * pkrsrv_rsa_key_from_bin(pkrsrv_string_t *hex)
bool pkrsrv_rsa_random_seed(unsigned char *seed, size_t size)
pkrsrv_string_t * pkrsrv_rsa_key_to_bin(pkrsrv_rsa_key_t *key)
pkrsrv_rsa_encrypted_t * pkrsrv_rsa_encrypted_new()
uint32_t pkrsrv_rsa_hash_h32(char *str)
pkrsrv_rsa_encrypted_t * pkrsrv_rsa_encrypt(pkrsrv_string_t *data, pkrsrv_rsa_key_t *pubkey)