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>
Этот коммит содержится в:
родитель
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",
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user