oss-sec 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

CVE-2012-2417 https://bugs.launchpad.net/pycrypto/+bug/985164

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

Attachment: signature.asc
Description: Digital signature


Current thread: