diff options
author | Justus Winter <justus@g10code.com> | 2016-05-02 16:00:22 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2016-11-02 18:53:59 +0100 |
commit | 85bcfab71916979678bd40e233cf84297f08a686 (patch) | |
tree | 5ff091e7565f9f9b6bf05d01b7cf01fad3eb132d /src | |
parent | 67ffe26dea84a620517d6c412dd3c8cc0de32109 (diff) | |
download | libssh-85bcfab71916979678bd40e233cf84297f08a686.tar.gz libssh-85bcfab71916979678bd40e233cf84297f08a686.tar.xz libssh-85bcfab71916979678bd40e233cf84297f08a686.zip |
curve25519: Small libgcrypt bignum fix
* src/curve25519.c (ssh_client_curve25519_init): Make use of the
gcrypt-variant of 'bignum_bin2bn'.
Signed-off-by: Justus Winter <justus@g10code.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/curve25519.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/curve25519.c b/src/curve25519.c index 43783e88..77fab2d2 100644 --- a/src/curve25519.c +++ b/src/curve25519.c @@ -71,11 +71,14 @@ int ssh_client_curve25519_init(ssh_session session){ static int ssh_curve25519_build_k(ssh_session session) { ssh_curve25519_pubkey k; + +#ifdef HAVE_LIBCRYPTO session->next_crypto->k = bignum_new(); if (session->next_crypto->k == NULL) { return SSH_ERROR; } +#endif if (session->server) crypto_scalarmult(k, session->next_crypto->curve25519_privkey, @@ -84,7 +87,11 @@ static int ssh_curve25519_build_k(ssh_session session) { crypto_scalarmult(k, session->next_crypto->curve25519_privkey, session->next_crypto->curve25519_server_pubkey); +#ifdef HAVE_LIBGCRYPT + bignum_bin2bn(k, CURVE25519_PUBKEY_SIZE, &session->next_crypto->k); +#elif defined HAVE_LIBCRYPTO bignum_bin2bn(k, CURVE25519_PUBKEY_SIZE, session->next_crypto->k); +#endif #ifdef DEBUG_CRYPTO ssh_print_hexa("Session server cookie", |