From: Dr. Stephen Henson Date: Wed, 9 Sep 2009 12:07:41 +0000 (+0000) Subject: Seed PRNG with DSA and ECDSA digests for additional protection against X-Git-Tag: OpenSSL_0_9_8m-beta1~117 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cf51a0dccb6cf9872f5cf34efd8c6e8c912e1604;p=oweals%2Fopenssl.git Seed PRNG with DSA and ECDSA digests for additional protection against possible PRNG state duplication. --- diff --git a/crypto/dsa/dsa_asn1.c b/crypto/dsa/dsa_asn1.c index 0645facb4b..bc7d7a02a3 100644 --- a/crypto/dsa/dsa_asn1.c +++ b/crypto/dsa/dsa_asn1.c @@ -62,6 +62,7 @@ #include #include #include +#include #ifdef OPENSSL_FIPS #include #endif @@ -155,6 +156,7 @@ int DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig, return 0; } #endif + RAND_seed(dgst, dlen); s=DSA_do_sign(dgst,dlen,dsa); if (s == NULL) { diff --git a/crypto/ecdsa/ecs_sign.c b/crypto/ecdsa/ecs_sign.c index 74b1fe8caf..353d5af514 100644 --- a/crypto/ecdsa/ecs_sign.c +++ b/crypto/ecdsa/ecs_sign.c @@ -57,6 +57,7 @@ #ifndef OPENSSL_NO_ENGINE #include #endif +#include ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey) { @@ -83,6 +84,7 @@ int ECDSA_sign_ex(int type, const unsigned char *dgst, int dlen, unsigned char EC_KEY *eckey) { ECDSA_SIG *s; + RAND_seed(dgst, dlen); s = ECDSA_do_sign_ex(dgst, dlen, kinv, r, eckey); if (s == NULL) {