Merge branch 'ticket28851_035_squashed' into maint-0.3.5

This commit is contained in:
Nick Mathewson 2019-01-03 09:45:53 -05:00
commit abdc6aede2
2 changed files with 10 additions and 0 deletions

4
changes/ticket28851 Normal file
View File

@ -0,0 +1,4 @@
o Minor features (performance):
- Stop re-validating our hardcoded Diffie-Hellman parameters on every
startup. Doing this wasted time and cycles, especially on low-powered
devices. Closes ticket 28851.

View File

@ -45,6 +45,8 @@ static BIGNUM *dh_param_p_tls = NULL;
/** Shared G parameter for our DH key exchanges. */
static BIGNUM *dh_param_g = NULL;
/* This function is disabled unless we change the DH parameters. */
#if 0
/** Validate a given set of Diffie-Hellman parameters. This is moderately
* computationally expensive (milliseconds), so should only be called when
* the DH parameters change. Returns 0 on success, * -1 on failure.
@ -98,6 +100,7 @@ crypto_validate_dh_params(const BIGNUM *p, const BIGNUM *g)
DH_free(dh);
return ret;
}
#endif
/**
* Helper: convert <b>hex<b> to a bignum, and return it. Assert that the
@ -151,8 +154,11 @@ crypto_dh_init_openssl(void)
dh_param_p = bignum_from_hex(OAKLEY_PRIME_2);
dh_param_p_tls = bignum_from_hex(TLS_DH_PRIME);
/* Checks below are disabled unless we change the hardcoded DH parameters. */
#if 0
tor_assert(0 == crypto_validate_dh_params(dh_param_p, dh_param_g));
tor_assert(0 == crypto_validate_dh_params(dh_param_p_tls, dh_param_g));
#endif
}
/** Number of bits to use when choosing the x or y value in a Diffie-Hellman