1
1

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>
Этот коммит содержится в:
Justus Winter 2016-05-02 16:00:22 +02:00 коммит произвёл Andreas Schneider
родитель 67ffe26dea
Коммит 85bcfab719

Просмотреть файл

@ -71,11 +71,14 @@ int ssh_client_curve25519_init(ssh_session session){
static int ssh_curve25519_build_k(ssh_session session) { static int ssh_curve25519_build_k(ssh_session session) {
ssh_curve25519_pubkey k; ssh_curve25519_pubkey k;
#ifdef HAVE_LIBCRYPTO
session->next_crypto->k = bignum_new(); session->next_crypto->k = bignum_new();
if (session->next_crypto->k == NULL) { if (session->next_crypto->k == NULL) {
return SSH_ERROR; return SSH_ERROR;
} }
#endif
if (session->server) if (session->server)
crypto_scalarmult(k, session->next_crypto->curve25519_privkey, 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, crypto_scalarmult(k, session->next_crypto->curve25519_privkey,
session->next_crypto->curve25519_server_pubkey); 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); bignum_bin2bn(k, CURVE25519_PUBKEY_SIZE, session->next_crypto->k);
#endif
#ifdef DEBUG_CRYPTO #ifdef DEBUG_CRYPTO
ssh_print_hexa("Session server cookie", ssh_print_hexa("Session server cookie",