Members of the Google Security Team have released an open-source library called Paranoid, designed to detect unreliable cryptographic artifacts such as public keys and digital signatures generated in vulnerable hardware (HSM) and software systems. The code is written in Python and is distributed under the Apache 2.0 license.
The project may be useful for indirectly assessing the use of algorithms and libraries that have known flaws and vulnerabilities affecting the reliability of generated keys and digital signatures, particularly if the artifacts being checked are generated by hardware that is inaccessible for verification or closed components that act as a black box. The library can also analyze sets of pseudo-random numbers for the reliability of their generators and identify previously unknown issues arising from errors in programming or the use of unreliable pseudo-random number generators through a large collection of artifacts.
When checking the contents of the public CT log (Certificate Transparency), which includes information about over 7 billion certificates using the proposed library, no problematic public keys based on elliptic curves (EC) or digital signatures using the ECDSA algorithm were found, but problematic public keys based on the RSA algorithm were identified. In particular, 3,586 unreliable keys generated by code with an unpatched CVE-2008-0166 vulnerability in the OpenSSL package for Debian were identified, along with 2,533 keys related to the CVE-2017-15361 vulnerability in the Infineon library, and 1,860 keys with issues related to greatest common divisor (GCD) searches. Information regarding the remaining problematic certificates in circulation has been sent to the certificate authorities for revocation.

Source: opennet.ru
