From b2713b5e0d24c9c546e77a3fee3ba25f89111293 Mon Sep 17 00:00:00 2001 From: Emman Date: Wed, 15 Dec 2021 08:47:04 +0800 Subject: [PATCH] crypto/ecdsa: draw a fixed amount of entropy while signing --- sm2/sm2.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sm2/sm2.go b/sm2/sm2.go index bbd13ff..ff31793 100644 --- a/sm2/sm2.go +++ b/sm2/sm2.go @@ -569,12 +569,9 @@ func Sign(rand io.Reader, priv *ecdsa.PrivateKey, hash []byte) (r, s *big.Int, e } maybeReadByte(rand) - // Get min(log2(q) / 2, 256) bits of entropy from rand. - entropylen := (priv.Curve.Params().BitSize + 7) / 16 - if entropylen > 32 { - entropylen = 32 - } - entropy := make([]byte, entropylen) + // Get 256 bits of entropy from rand. + entropy := make([]byte, 32) + _, err = io.ReadFull(rand, entropy) if err != nil { return