str paillier_priv::decrypt (const crypt_ctext &msg, size_t msglen, bool recover) const { assert (msg.type == CRYPT_PAILLIER); bigint m; D (m, *msg.paillier); return post_decrypt (m, msglen); }
static char * rw_decrypt (const dckey *key, const char *ctext) { const rw_priv *sk = k2priv (key); mpz_t m; char *ret; mpz_init (m); if (read_mpz (&ctext, m)) { mpz_clear (m); return NULL; } D2 (m, m, sk, 0); D1 (m, m, sk->n); ret = post_decrypt (m, sk->nbits); mpz_clear (m); return ret; }