- mpz_class sp, sq;
-
- mpz_powm_sec(sp.get_mpz_t(), m.get_mpz_t(), kPriv.dp.get_mpz_t(), kPriv.p.get_mpz_t());
- mpz_powm_sec(sq.get_mpz_t(), m.get_mpz_t(), kPriv.dq.get_mpz_t(), kPriv.q.get_mpz_t());
-
- return sq + ((kPriv.qInv * (sp - sq)) % kPriv.p) * kPriv.q;