mailing list archives
CVE-2012-2417 - PyCrypto <= 2.5 insecure ElGamal key generation
From: "Dwayne C. Litzenberger" <dlitz () dlitz net>
Date: Thu, 24 May 2012 19:30:54 -0400
PyCrypto (also known as python-crypto) versions 2.5 and earlier implement
incorrect ElGamal key generation. The bug has been fixed in PyCrypto
2.6, which was released this morning. Details below:
In the ElGamal schemes (for both encryption and signatures), g is
supposed to be the generator of the entire Z^*_p group. However, in
PyCrypto 2.5 and earlier, g is more simply the generator of a random
sub-group of Z^*_p.
The result is that the signature space (when the key is used for
signing) or the public key space (when the key is used for encryption)
may be greatly reduced from its expected size of log(p) bits, possibly
down to 1 bit (the worst case if the order of g is 2).
While it has not been confirmed, it has also been suggested that an
attacker might be able to use this fact to determine the private key.
Anyone using ElGamal keys should generate new keys as soon as practical.
Any additional information about this bug will be tracked at the above URL.
Dwayne C. Litzenberger <dlitz () dlitz net>
OpenPGP: 19E1 1FE8 B3CF F273 ED17 4A24 928C EC13 39C2 5CF7
Description: Digital signature
- CVE-2012-2417 - PyCrypto <= 2.5 insecure ElGamal key generation Dwayne C. Litzenberger (May 25)