As I understand, the NSA has a kleptographic backdoor in Microsoft's CryptoAPI algorithms, which enable them to use a secret private key to decrypt secure communications which rely on asymmetric key generation. According to Wikipedia, this could be used for example to decrypt ssl communications between two computers on a network.

However, what is the true scope of this? Does this mean that every Microsoft product that implements any form of assymetric encryption could be vulnerable to this specific backdoor?

From Wikipedia:


CNG also adds support for Dual_EC_DRBG,[5] a pseudorandom number generator defined in NIST SP 800-90A that could expose the user to eavesdropping by the National Security Agency since it contains a kleptographic backdoor, unless the developer remembers to generate new base points with a different cryptographically secure pseudorandom number generator or a true random number generator and then publish the generated seed in order to remove the NSA backdoor. It is also very slow.[6] It is only used when called for explicitly.


The Dual_EC_DRBG cryptographic pseudo-random number generator from the NIST SP 800-90A is thought to contain a kleptographic backdoor. Dual_EC_DRBG utilizes elliptic curve cryptography, and NSA is thought to hold a private key which, together with bias flaws in Dual_EC_DRBG, allows NSA to decrypt SSL traffic between computers using Dual_EC_DRBG for example.[15]

  • The thing is it is publicly known standard. So it would be too risky to include it in common operations like web browsing or file transfers because this could expose all Windows systems to eavesdropping. So it doesn't affect Windows Users.
    – Aria
    Aug 9, 2016 at 17:28
  • I don't feel like it's safe to say that it does not affect Windows Users. It may not have a large effect on third-party programs that use alternative libraries for asymmetric encryption, but I would think it would still put their security at risk with operations done by the os Aug 9, 2016 at 18:24
  • 1
    Most of software is using CryptoAPI and not external libraries.However no software is using mentioned method. So for example Google Chrome when browsing SSL websites. It's not relation like one library used by many software. It's more like one library and one software. And now this software is no longer as it's public knowledge it's backdoored and well researched so more people could use it for their purposes so no software is using it today.
    – Aria
    Aug 9, 2016 at 19:05
  • 1
    @VerbalKint I don't know this first hand, but AFAIK it's not actually used by anything in Windows, or any Microsoft product. It's an option for developers writing applications against CNG, but given that Microsoft cryptographers publicly voiced concerns about it back in 2007, I doubt that it would have been approved for use by any code we [Microsoft] have shipped.
    – Xander
    Aug 9, 2016 at 19:13
  • Alright, interesting point. It's nice to get the input of a Microsoft developer as well. I'll answer my own question with the info provided, thanks! Aug 9, 2016 at 19:32

1 Answer 1


With input from Aria and Xander, it appears that the RNG in question is no longer used/widely used in Microsoft production code following concerns from Microsoft developers back in 2007, and although it can still be used for applications written against CNG, the backdoor is widely known enough that it is not used either in production Microsoft code or in well-known third-party applications. Thanks for the input!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .