diff options
Diffstat (limited to 'lib/Crypto/PublicKey/DSA.py')
-rw-r--r-- | lib/Crypto/PublicKey/DSA.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Crypto/PublicKey/DSA.py b/lib/Crypto/PublicKey/DSA.py index 69f7f04..a5d6f11 100644 --- a/lib/Crypto/PublicKey/DSA.py +++ b/lib/Crypto/PublicKey/DSA.py @@ -98,7 +98,7 @@ from Crypto.Util.py3compat import * from Crypto import Random from Crypto.IO import PKCS8, PEM -from Crypto.Util.number import bytes_to_long, long_to_bytes +from Crypto.Util.number import bytes_to_long, long_to_bytes, getRandomRange from Crypto.PublicKey import _DSA, _slowmath, pubkey from Crypto.Util.asn1 import DerObject, DerSequence,\ DerInteger, DerObjectId, DerBitString, newDerSequence, newDerBitString @@ -234,7 +234,8 @@ class _DSAobj(pubkey.pubkey): raise TypeError("DSA cannot unblind") def _sign(self, m, k): - return self.key._sign(m, k) + blind_factor = getRandomRange(1, self.key.q, self._randfunc) + return self.key._sign(m, k, blind_factor) def _verify(self, m, sig): (r, s) = sig |