version 1.60, 2016/05/02 10:26:04 |
version 1.61, 2016/09/12 01:22:38 |
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
*/ |
|
|
#include <sys/param.h> /* MIN */ |
|
|
|
#include <openssl/bn.h> |
#include <openssl/bn.h> |
#include <openssl/dh.h> |
#include <openssl/dh.h> |
|
|
* Pollard Rho, Big step/Little Step attacks are O(sqrt(n)), |
* Pollard Rho, Big step/Little Step attacks are O(sqrt(n)), |
* so double requested need here. |
* so double requested need here. |
*/ |
*/ |
dh->length = MIN(need * 2, pbits - 1); |
dh->length = MINIMUM(need * 2, pbits - 1); |
if (DH_generate_key(dh) == 0 || |
if (DH_generate_key(dh) == 0 || |
!dh_pub_is_valid(dh, dh->pub_key)) { |
!dh_pub_is_valid(dh, dh->pub_key)) { |
BN_clear_free(dh->priv_key); |
BN_clear_free(dh->priv_key); |