aboutsummaryrefslogtreecommitdiff
path: root/src/curve25519.c
diff options
context:
space:
mode:
authorJustus Winter <justus@g10code.com>2016-05-02 16:00:22 +0200
committerAndreas Schneider <asn@cryptomilk.org>2016-11-02 18:53:59 +0100
commit85bcfab71916979678bd40e233cf84297f08a686 (patch)
tree5ff091e7565f9f9b6bf05d01b7cf01fad3eb132d /src/curve25519.c
parent67ffe26dea84a620517d6c412dd3c8cc0de32109 (diff)
downloadlibssh-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/curve25519.c')
-rw-r--r--src/curve25519.c7
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",