diff options
| author | Nils Maier <maierman@web.de> | 2014-04-13 18:01:05 +0200 |
|---|---|---|
| committer | Nils Maier <maierman@web.de> | 2014-04-13 18:51:06 +0200 |
| commit | aa02545fbaa4a2d2a8e341d0776636059a3000ef (patch) | |
| tree | 023efde8c6310e36dd392a399bac71735151a408 /src/LibgmpDHKeyExchange.cc | |
| parent | ead6685b1825938222e39a5f65fcdb0c35497ced (diff) | |
Use mpz_pown_sec where available
Diffstat (limited to 'src/LibgmpDHKeyExchange.cc')
| -rw-r--r-- | src/LibgmpDHKeyExchange.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/LibgmpDHKeyExchange.cc b/src/LibgmpDHKeyExchange.cc index a8f9810d..b4b9d55b 100644 --- a/src/LibgmpDHKeyExchange.cc +++ b/src/LibgmpDHKeyExchange.cc @@ -86,7 +86,11 @@ void DHKeyExchange::init void DHKeyExchange::generatePublicKey() { +#if HAVE_GMP_SEC + mpz_powm_sec(publicKey_, generator_, privateKey_, prime_); +#else // HAVE_GMP_SEC mpz_powm(publicKey_, generator_, privateKey_, prime_); +#endif // HAVE_GMP_SEC } size_t DHKeyExchange::getPublicKey(unsigned char* out, size_t outLength) const @@ -126,7 +130,13 @@ size_t DHKeyExchange::computeSecret mpz_import(peerPublicKey, peerPublicKeyLength, 1, 1, 1, 0, peerPublicKeyData); mpz_t secret; mpz_init(secret); + +#if HAVE_GMP_SEC + mpz_powm_sec(secret, peerPublicKey, privateKey_, prime_); +#else // HAVE_GMP_SEC mpz_powm(secret, peerPublicKey, privateKey_, prime_); +#endif // HAVE_GMP_SEC + mpz_clear(peerPublicKey); memset(out, 0, outLength); |
