Seed PRNG with DSA and ECDSA digests for additional protection against
possible PRNG state duplication.
This commit is contained in:
parent
b7e3cb31a5
commit
1a3914fe0c
@ -60,6 +60,7 @@
|
|||||||
|
|
||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
|
#include <openssl/rand.h>
|
||||||
|
|
||||||
DSA_SIG * DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
|
DSA_SIG * DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
|
||||||
{
|
{
|
||||||
@ -70,6 +71,7 @@ int DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig,
|
|||||||
unsigned int *siglen, DSA *dsa)
|
unsigned int *siglen, DSA *dsa)
|
||||||
{
|
{
|
||||||
DSA_SIG *s;
|
DSA_SIG *s;
|
||||||
|
RAND_seed(dgst, dlen);
|
||||||
s=DSA_do_sign(dgst,dlen,dsa);
|
s=DSA_do_sign(dgst,dlen,dsa);
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
{
|
{
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#ifndef OPENSSL_NO_ENGINE
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
#include <openssl/engine.h>
|
#include <openssl/engine.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <openssl/rand.h>
|
||||||
|
|
||||||
ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey)
|
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)
|
EC_KEY *eckey)
|
||||||
{
|
{
|
||||||
ECDSA_SIG *s;
|
ECDSA_SIG *s;
|
||||||
|
RAND_seed(dgst, dlen);
|
||||||
s = ECDSA_do_sign_ex(dgst, dlen, kinv, r, eckey);
|
s = ECDSA_do_sign_ex(dgst, dlen, kinv, r, eckey);
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user